zss
2024-04-18 4db2530d1bd178289b4f017967432caefb9435e6
首页的日历任务+我的日程,资质明细
已修改3个文件
已添加8个文件
421 ■■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/mapper/CertificationMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/CertificationService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/CertificationServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/CertificationMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/ReportService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/ReportServiceImpl.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/mapper/ScheduleMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/pojo/Schedule.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));
    }
}
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);
}
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 = "修改人id")
    @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;
}
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);
}
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();
    }
}
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>
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));
    }
}
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);
}
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));
    }
}
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> {
}
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;
}