From 4db2530d1bd178289b4f017967432caefb9435e6 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 18 四月 2024 14:46:44 +0800 Subject: [PATCH] 首页的日历任务+我的日程,资质明细 --- cnas-server/src/main/java/com/yuanchu/mom/service/CertificationService.java | 22 ++ inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java | 14 + cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java | 53 ++++++ cnas-server/src/main/resources/mapper/CertificationMapper.xml | 27 +++ user-server/src/main/java/com/yuanchu/mom/mapper/ScheduleMapper.java | 12 + cnas-server/src/main/java/com/yuanchu/mom/service/impl/CertificationServiceImpl.java | 56 +++++++ inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java | 20 ++ cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java | 81 ++++++++++ inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java | 65 +++++++ cnas-server/src/main/java/com/yuanchu/mom/mapper/CertificationMapper.java | 13 + user-server/src/main/java/com/yuanchu/mom/pojo/Schedule.java | 58 +++++++ 11 files changed, 415 insertions(+), 6 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java new file mode 100644 index 0000000..e994f2c --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java @@ -0,0 +1,53 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.Certification; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.service.CertificationService; +import com.yuanchu.mom.utils.JackSonUtil; +import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@Api(tags = "璧勮川璇存槑") +@AllArgsConstructor +@RestController +@RequestMapping("/certification") +public class CertificationController { + + private CertificationService certificationService; + + @ApiOperation(value = "鏌ヨ璧勮川鏄庣粏鍒楄〃") + @PostMapping("/getCertificationDetail") + public Result getCertificationDetail(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + Certification certification = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Certification.class); + return Result.success(certificationService.getCertificationDetail(page, certification)); + } + + @ApiOperation(value = "娣诲姞璧勮川鏄庣粏鍒楄〃") + @PostMapping("/addCertificationDetail") + public Result addCertificationDetail(@RequestBody Certification certification) { + return Result.success(certificationService.addCertificationDetail(certification)); + } + + @ApiOperation(value = "鍒犻櫎璧勮川鏄庣粏鍒楄〃") + @PostMapping("/delCertificationDetail") + public Result<?> delCertificationDetail(List<Integer> ids) { + return Result.success(certificationService.delCertificationDetail(ids)); + } + + @ApiOperation(value = "闄勪欢涓嬭浇") + @PostMapping("/downFile") + public Result<?> downFile(Integer id) { + return Result.success(certificationService.downFile(id)); + } +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/CertificationMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/CertificationMapper.java new file mode 100644 index 0000000..f874481 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/CertificationMapper.java @@ -0,0 +1,13 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.pojo.Certification; + +public interface CertificationMapper extends BaseMapper<Certification> { + + //鏌ヨ璧勮川鏄庣粏鍒楄〃 + IPage<Certification> getCertificationDetail(Page page, QueryWrapper<Certification> ew); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java new file mode 100644 index 0000000..cf9bedd --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java @@ -0,0 +1,81 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@TableName(value = "certification") +@Data +public class Certification extends OrderBy implements Serializable { + + @ApiModelProperty(value = "涓婚敭") + @TableId(type = IdType.AUTO) + private Integer id; + + @ValueTableShow(2) + @ApiModelProperty(value = "璧勮川鍚嶇О") + private String name; + + @ValueTableShow(3) + @ApiModelProperty(value = "璧勮川缂栫爜") + private String code; + + @ValueTableShow(4) + @ApiModelProperty(value = "棰佸彂鏈烘瀯") + private String organization; + + @ValueTableShow(5) + @ApiModelProperty(value = "璧勮川璇存槑") + private String explain; + + @ValueTableShow(6) + @ApiModelProperty(value = "棣栨棰佸彂鏃堕棿") + private LocalDateTime firstTime; + + @ValueTableShow(7) + @ApiModelProperty(value = "鏈�杩戦鍙戞椂闂�") + private LocalDateTime recentlyTime; + + @ValueTableShow(8) + @ApiModelProperty(value = "鍒版湡棰佸彂鏃堕棿") + private LocalDateTime expireTime; + + @ApiModelProperty(value = "鍒涘缓浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ValueTableShow(9) + @ApiModelProperty(value = "鍒涘缓浜�") + private String createUserName; + + @ApiModelProperty(value = "淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ValueTableShow(10) + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ValueTableShow(11) + @ApiModelProperty(value = "鐘舵��") + private Integer state; + + @ApiModelProperty(value = "璧勮川鍥剧墖鍦板潃") + private String imageUrl; + + @ApiModelProperty(value = "璧勮川闄勪欢鍦板潃") + private String fileUrl; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/CertificationService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/CertificationService.java new file mode 100644 index 0000000..c908326 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/CertificationService.java @@ -0,0 +1,22 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.pojo.Certification; + +import java.util.List; +import java.util.Map; + +public interface CertificationService extends IService<Certification> { + //鏌ヨ璧勮川鏄庣粏鍒楄〃 + Map<String,Object> getCertificationDetail(Page page, Certification certification); + + //娣诲姞璧勮川鏄庣粏鍒楄〃 + int addCertificationDetail(Certification certification); + + //鍒犻櫎璧勮川鏄庣粏鍒楄〃 + int delCertificationDetail(List<Integer> ids); + + //闄勪欢涓嬭浇 + String downFile(Integer id); +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CertificationServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CertificationServiceImpl.java new file mode 100644 index 0000000..7c74ac1 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/CertificationServiceImpl.java @@ -0,0 +1,56 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.common.GetLook; +import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.mapper.CertificationMapper; +import com.yuanchu.mom.pojo.Certification; +import com.yuanchu.mom.pojo.Device; +import com.yuanchu.mom.service.CertificationService; +import com.yuanchu.mom.utils.QueryWrappers; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@AllArgsConstructor +@Transactional(rollbackFor = Exception.class) +public class CertificationServiceImpl extends ServiceImpl<CertificationMapper, Certification> implements CertificationService { + + private CertificationMapper certificationMapper; + private GetLook getLook; + + //鏌ヨ璧勮川鏄庣粏鍒楄〃 + @Override + public Map<String, Object> getCertificationDetail(Page page, Certification certification) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(Certification.class)); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("getCertificationDetail"); + if (map1.get("look") == 1) certification.setCreateUser(map1.get("userId")); + map.put("body", certificationMapper.getCertificationDetail(page, QueryWrappers.queryWrappers(certification))); + return map; + } + + //娣诲姞璧勮川鏄庣粏鍒楄〃 + @Override + public int addCertificationDetail(Certification certification) { + return certificationMapper.insert(certification); + } + + //鍒犻櫎璧勮川鏄庣粏鍒楄〃 + @Override + public int delCertificationDetail(List<Integer> ids) { + return certificationMapper.deleteBatchIds(ids); + } + + //闄勪欢涓嬭浇 + @Override + public String downFile(Integer id) { + return certificationMapper.selectById(id).getFileUrl(); + } +} diff --git a/cnas-server/src/main/resources/mapper/CertificationMapper.xml b/cnas-server/src/main/resources/mapper/CertificationMapper.xml new file mode 100644 index 0000000..55ae44b --- /dev/null +++ b/cnas-server/src/main/resources/mapper/CertificationMapper.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.yuanchu.mom.mapper.CertificationMapper"> + <select id="getCertificationDetail" resultType="com.yuanchu.mom.pojo.Certification"> + select * from + (select c.id, + c.name, + c.code, + organization, + `explain`, + first_time, + recently_time, + expire_time, + u1.name create_user_name, + c.create_time, + now()>expire_time?0:1 as state, + image_url, + file_url + from certification c + left join user u1 on c.create_user = u1.id + order by c.id desc) a + group by a.name + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> \ No newline at end of file diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java index 14a1e42..b4a356a 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java @@ -11,6 +11,8 @@ import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Map; @RestController @@ -32,4 +34,22 @@ public Result testProductByDay(){ return Result.success(reportService.testProductByDay()); } + + @ApiOperation(value = "棣栭〉-->鏃ュ巻浠诲姟鍥�") + @GetMapping("/calendarWorkByWeek") + public Result calendarWorkByWeek(){ + return Result.success(reportService.calendarWorkByWeek()); + } + + @ApiOperation(value = "棣栭〉-->娣诲姞鏃ョ▼") + @PostMapping("/addSchedule") + public Result addSchedule(String time, String text){ + return Result.success(reportService.addSchedule(time,text)); + } + + @ApiOperation(value = "棣栭〉-->鎴戠殑鏃ョ▼") + @PostMapping("/ScheduleByMe") + public Result ScheduleByMe(String date){ + return Result.success(reportService.ScheduleByMe(date)); + } } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java index ba79743..ff1bf71 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java @@ -1,6 +1,11 @@ package com.yuanchu.mom.service; +import com.yuanchu.mom.pojo.Schedule; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; import java.util.Map; public interface ReportService { @@ -10,4 +15,13 @@ //妫�娴嬮」鐩粺璁� Map<String,Object> testProductByDay(); + + //棣栭〉-->鏃ュ巻浠诲姟鍥� + Map<String,Object> calendarWorkByWeek(); + + //棣栭〉-->娣诲姞鏃ョ▼ + int addSchedule(String time, String text); + + //棣栭〉-->鎴戠殑鏃ョ▼ + List<Schedule> ScheduleByMe(String date); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java index 820ae14..c044f08 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java @@ -4,13 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.dto.CostStatisticsDto; -import com.yuanchu.mom.mapper.InsOrderMapper; -import com.yuanchu.mom.mapper.InsProductMapper; -import com.yuanchu.mom.mapper.InsProductUserMapper; -import com.yuanchu.mom.pojo.InsOrder; -import com.yuanchu.mom.pojo.InsProduct; -import com.yuanchu.mom.pojo.InsProductUser; +import com.yuanchu.mom.mapper.*; +import com.yuanchu.mom.pojo.*; import com.yuanchu.mom.service.ReportService; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; @@ -20,10 +17,12 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service @AllArgsConstructor @@ -32,6 +31,9 @@ private InsOrderMapper insOrderMapper; private InsProductUserMapper insProductUserMapper; private InsProductMapper insProductMapper; + private GetLook getLook; + private ScheduleMapper scheduleMapper; + private UserMapper userMapper; //姣忔棩涓氬姟缁熻 @Override @@ -157,4 +159,55 @@ /*杩戝崄鏃ョ殑椤圭洰鎺ユ敹閲忎笌瀹屾垚閲�*/ return map; } + + //棣栭〉-->鏃ュ巻浠诲姟鍥� + @Override + public Map<String, Object> calendarWorkByWeek() { + Map<String, Object> map = new HashMap<>(); + List<Integer> insState=new ArrayList<>(); + insState.add(0); + insState.add(1); + /*鑾峰彇鍚庝竴鍛ㄦ棩鏈�*/ + LocalDate currentDate = LocalDate.now(); + List<LocalDate> weekDays = new ArrayList<>(); + for (int i = 0; i <7; i++) { + weekDays.add(currentDate.plusDays(i)); + //鏌ヨ褰撳ぉ闇�瑕佹娴嬬殑濮旀墭璁㈠崟 + List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery().eq(InsOrder::getState, 1).in(InsOrder::getInsState, insState).apply("DATE(create_time) = CURDATE() - INTERVAL " + i + " DAY")); + List<Map<String,Object>> works = insOrders.stream().map(insOrder -> { + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("text","濮旀墭璁㈠崟" + insOrder.getEntrustCode() + "妫�娴�"); + hashMap.put("type",insOrder.getType()); + User user = userMapper.selectById(insOrder.getCreateUser()); + hashMap.put("name", user.getName()); + return hashMap; + }).collect(Collectors.toList()); + map.put("work"+i, works); + } + map.put("weekDays", weekDays); + return map; + } + + //棣栭〉-->娣诲姞鏃ョ▼ + @Override + public int addSchedule(String time, String text) { + //鑾峰彇褰撳墠鐢ㄦ埛id + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + Schedule schedule = new Schedule(); + schedule.setUserId(userId); + schedule.setScheduleTime(LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + schedule.setText(text); + return scheduleMapper.insert(schedule); + } + + //棣栭〉-->鎴戠殑鏃ョ▼ + @Override + public List<Schedule> ScheduleByMe(String date) { + //鑾峰彇褰撳墠鐢ㄦ埛id + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + LocalDate localDate = LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd")); + LocalDateTime startTime = localDate.atStartOfDay(); + LocalDateTime endTime = localDate.plusDays(1).atStartOfDay().minusSeconds(1); + return scheduleMapper.selectList(Wrappers.<Schedule>lambdaQuery().eq(Schedule::getUserId,userId).between(Schedule::getScheduleTime,startTime,endTime)); + } } diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/ScheduleMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/ScheduleMapper.java new file mode 100644 index 0000000..5acc7b4 --- /dev/null +++ b/user-server/src/main/java/com/yuanchu/mom/mapper/ScheduleMapper.java @@ -0,0 +1,12 @@ +package com.yuanchu.mom.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.Schedule; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface ScheduleMapper extends BaseMapper<Schedule> { +} diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Schedule.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Schedule.java new file mode 100644 index 0000000..2549265 --- /dev/null +++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Schedule.java @@ -0,0 +1,58 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName("schedule") +public class Schedule extends OrderBy implements Serializable { + + @ApiModelProperty(value = "涓婚敭") + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "鍏宠仈鐢ㄦ埛id") + private Integer userId; + + @ValueTableShow(1) + @ApiModelProperty(value = "鏃ョ▼鍐呭") + private String text; + + @ValueTableShow(2) + @ApiModelProperty(value = "鏃ョ▼鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime scheduleTime; + + + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "鏇存柊鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; +} -- Gitblit v1.9.3