zss
2024-11-26 f1ba10159c6872b859e5ab1255ed17ae644d94d7
前端联调修改
已修改7个文件
180 ■■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsSampleMapper.xml 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java
@@ -6,6 +6,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductResultDto.java
@@ -11,9 +11,6 @@
@Data
public class InsProductResultDto {
    //订单id
    private Integer orderId;
    //样品id
    private Integer sampleId;
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -312,6 +312,9 @@
        if (ObjectUtils.isNotEmpty(sampleId)) {
            insOrderFile.setInsSampleId(sampleId);
        }
        if (ObjectUtils.isNotEmpty(sonLaboratory)) {
            insOrderFile.setSonLaboratory(sonLaboratory);
        }
        insOrderFile.setFileName(filename);
        if (contentType != null && contentType.startsWith("image/")) {
            // 是图片
@@ -401,7 +404,7 @@
        } else {
            InsOrderState insOrderState = new InsOrderState();
            insOrderState.setInsOrderId(insSample.getInsOrderId());
            insOrderState.setInsOrderId(insSample.getId());
            insOrderState.setInsSampleId(insSample.getId());
            insOrderState.setLaboratory(sonLaboratory);
            insOrderState.setInsState(0);
            insOrderState.setNum(1);//初始是第一次
@@ -684,16 +687,15 @@
            throw new ErrorException("频率不能为空");
        }
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        //查询样品信息
        InsSample insSample = insSampleMapper.selectById(insProductResultDtos.getSampleId());
        //查询检验单信息
        InsOrder insOrder = insOrderMapper.selectById(insProductResultDtos.getOrderId());
        InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
                .eq(InsOrderState::getInsOrderId, insProductResultDtos.getOrderId())
                .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
                .eq(InsOrderState::getInsSampleId, insProductResultDtos.getSampleId())
                .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory())
                .orderByDesc(InsOrderState::getId)
                .last("LIMIT 1"));// 确保只取一条记录
        //查询样品信息
        InsSample insSample = insSampleMapper.selectById(insProductResultDtos.getSampleId());
        List<Integer> list = new ArrayList<>();
        /*新增检验项目检验值记录表(采取先删后增)*/
        insProductResult2Mapper.delete(Wrappers.<InsProductResult2>lambdaQuery()
@@ -799,10 +801,10 @@
            insSampleMapper.updateById(insSample);
        }
        /*判断该站点的检验项目是否全部已检*/
        int count = insProductMapper.selectInsProductCountByOrderId(insProductResultDtos.getOrderId());
        int count = insProductMapper.selectInsProductCountByOrderId(insSample.getInsOrderId());
        if (count == 0) {
            insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
                    .eq(InsOrderState::getInsOrderId, insProductResultDtos.getOrderId())
                    .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
                    .eq(InsOrderState::getInsSampleId, insProductResultDtos.getSampleId())
                    .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory())
                    .set(InsOrderState::getInsState, 2));
@@ -958,7 +960,7 @@
                            .set(InsOrderState::getCreateTime, LocalDateTime.now()));
                    break;
                case 1:
                    //继续试验:该站点任务结束(可以再次扫码检验);
                    //继续试验:该样品该站点任务结束(可以再次扫码检验);
                    insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
                            .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
                            .eq(InsOrderState::getInsSampleId, sampleId)
@@ -1039,6 +1041,11 @@
        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                .eq(InsProduct::getInsSampleId, insSample.getId())
                .eq(InsProduct::getSonLaboratory, submitPlanDto.getLaboratory())
                .and(wrapper -> wrapper
                        .isNull(InsProduct::getInsResult)
                        .or()
                        .eq(InsProduct::getInsResult, 2)
                )
                .eq(InsProduct::getState, 1));
        if (insProducts.size() > 0) {
            String str = "";
@@ -1104,7 +1111,7 @@
        map.put("safe", 0);//是否保密消息.0否
        map.put("enable_id_trans", 0);//是否开启id转译.0否
        map.put("enable_duplicate_check", 0);//是否开启重复消息检查.0否
        qywxApi.send(map);
        //qywxApi.send(map);
        //复核人--检验单相关负责人
        InsSampleUser insSampleUser = new InsSampleUser();
        insSampleUser.setUserId(submitPlanDto.getVerifyUser());
@@ -1151,27 +1158,26 @@
                }
                for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours : submitPlanDto.getAuxiliaryOutputWorkingHoursList()) {
                    InsProduct insProduct = insProductMapper.selectById(auxiliaryOutputWorkingHours.getInsProductId());
                    if (isWithinRange) {
                        //在时间内就是正常上班
                        auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//非加班委托单号
                        auxiliaryOutputWorkingHours.setWorkTime(auxiliaryOutputWorkingHours.getOutputWorkTime());//非加班工时
                        auxiliaryOutputWorkingHours.setAmount(1);//非加班数量
                    } else {
                        //加班
                        auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//加班委托单号
                        auxiliaryOutputWorkingHours.setOvertimeWorkTime(auxiliaryOutputWorkingHours.getOutputWorkTime());//加班工时
                        auxiliaryOutputWorkingHours.setOvertimeAmount(1);//加班数量
                    }
                    auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//工时分组
                    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                    DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
                    auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//日期
                    LocalDateTime localDateTime = LocalDateTime.now();
                    DateTime parse = DateUtil.parse(localDateTime.format(formatter));
                    auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//星期
                    auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//周次
                    auxiliaryOutputWorkingHours.setCheck(userId);//todo 检测人(后面要去掉由前端传入)
                    auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
                        if (isWithinRange) {
                            //在时间内就是正常上班
                            auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//非加班委托单号
                            auxiliaryOutputWorkingHours.setWorkTime(auxiliaryOutputWorkingHours.getOutputWorkTime());//非加班工时
                            auxiliaryOutputWorkingHours.setAmount(1);//非加班数量
                        } else {
                            //加班
                            auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode());//加班委托单号
                            auxiliaryOutputWorkingHours.setOvertimeWorkTime(auxiliaryOutputWorkingHours.getOutputWorkTime());//加班工时
                            auxiliaryOutputWorkingHours.setOvertimeAmount(1);//加班数量
                        }
                        auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//工时分组
                        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                        DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
                        auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//日期
                        LocalDateTime localDateTime = LocalDateTime.now();
                        DateTime parse = DateUtil.parse(localDateTime.format(formatter));
                        auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//星期
                        auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//周次
                        auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
                }
            }
        }
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -461,8 +461,10 @@
                        .eq(InsProductResult::getInsProductId, insProduct.getId()).isNull(InsProductResult::getNum));
                insProduct.setInsProductResult(insProductResult);
            }
            BeanUtils.copyProperties(insSample,sampleProductDto);
            sampleProductDto.setInsProduct(insProducts);
            SampleProductDto dto = new SampleProductDto();
            dto.setInsProduct(insProducts);
            BeanUtils.copyProperties(insSample,dto);
            sampleProductDto=dto;
        }
        List<Integer> ids = sampleProductDto.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList());
        List<InsProductUser> insProductUsers = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery()
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -360,7 +360,9 @@
            if (insReportDto.getState() == 1) {
                List<InsReportDto1> insReportDto1s = insReportDto.getInsReportDto1s();
                for (InsReportDto1 insReportDto1 : insReportDto1s) {
                    wordUtils.generateReport(insReportDto.getId(), insReportDto1);
                    if (ObjectUtils.isNotEmpty(insReportDto1.getInsReportDto2s())){
                        wordUtils.generateReport(insReportDto.getId(), insReportDto1);
                    }
                }
            }
        } else {
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -31,6 +31,7 @@
    private String checkName;
    private Integer userId;
    private String userNameId;
    @ValueTableShow(value = 8,name = "检验开始时间")
    private String insTime;
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -30,11 +30,12 @@
        SELECT
        a.*,
        ios.ins_state,
        ios.laboratory son_laboratory,
        ios.verify_tell,
        verify_user,
        ios.id orderStateId,
        ios.create_time,
        (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = a.son_laboratory and
        (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = son_laboratory and
        ins_order_state.ins_sample_id=a.sampleId ORDER BY ins_time DESC LIMIT 1) AS ins_time ,
        iou.submit_time ,
        ios.sort,
@@ -55,14 +56,16 @@
        isa.sample sample,
        isa.sample_code sampleCode,
        userName,
        userNameId,
        checkName,
        ip.son_laboratory,
        io.laboratory
        io.laboratory,
        io.state
        FROM
        ins_order io
        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
        LEFT JOIN (
        SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName
        ,GROUP_CONCAT( DISTINCT uu.id SEPARATOR ',') AS userNameId
        FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id
        WHERE son_laboratory=#{sonLaboratory}
        and u.state=0
@@ -77,18 +80,13 @@
        GROUP BY ins_sample_id
        ORDER BY ins_sample_id
        )isu2 ON isu2.ins_sample_id = isa.id
        LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
        WHERE io.state = 1 and send_time is not null
        <if test="userName !=null and userName!=''">
            and ( (userName like CONCAT ('%', #{userName},'%') )
            or (checkName like CONCAT ('%', #{userName},'%') ) )
        </if>
        and ip.son_laboratory=#{sonLaboratory}
        GROUP BY
        ip.son_laboratory,
        io.id
        ) a
        ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory and ios.ins_sample_id=a.sampleId
        ON ios.ins_order_id = a.id AND ios.laboratory = #{sonLaboratory} and ios.ins_sample_id=a.sampleId
        LEFT JOIN ins_order_user iou ON ios.id = iou.ins_order_state_id and ios.num=iou.num
        ORDER BY
        ios.sort,
@@ -98,6 +96,7 @@
        ) b
        where ins_state is not null
        and son_laboratory=#{sonLaboratory}
        and state =1
        <if test="laboratory!=null and laboratory!=''">
            and laboratory=#{laboratory}
        </if>
@@ -110,7 +109,7 @@
    <select id="inspectionOrderDetailsTaskSwitching" resultType="com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo">
        select * from(
        SELECT
        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user
        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user,ios.laboratory son_laboratory
        FROM
        ins_order_state ios
        LEFT JOIN
@@ -126,9 +125,9 @@
        isa.sample_code sampleCode,
        isu.user_id,
        user.name userName,
        ip.son_laboratory,
        io.ins_time,
        io.laboratory
        io.laboratory,
        io.state
        FROM
        ins_order io
        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
@@ -143,7 +142,6 @@
        )
        ORDER BY ins_sample_id, id
        ) isu ON isu.ins_sample_id = isa.id
        LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
        LEFT JOIN user ON isu.user_id = user.id
        WHERE
        io.state = 1
@@ -152,11 +150,8 @@
            and (isu.user_id = #{userId} OR isu.user_id is NULL )
        </if>
        OR isu.user_id is NULL
        GROUP BY
        ip.son_laboratory,
        io.id
        ) a
          ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory and a.sampleId=ios.ins_sample_id
          ON ios.ins_order_id = a.id AND ios.laboratory = #{sonLaboratory} and a.sampleId=ios.ins_sample_id
        left join
        (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM
        ins_sample_user where son_laboratory=#{sonLaboratory} GROUP BY ins_sample_id) md where td.id = md.id
@@ -167,9 +162,7 @@
        ) isu2 on
        isu2.ins_sample_id = a.sampleId
        where ins_state is not null
        <if test="laboratory != null and laboratory != ''">
            and a.laboratory=#{laboratory}
        </if>
        and state=1
        ORDER BY
        a.type DESC,
        a.id
@@ -229,15 +222,6 @@
                                        left join ins_product ip on is2.id =
                                                                    ip.ins_sample_id
                               where ip.id is not null) s)
        order by case
                     when man_hour_group is NULL then 1
                     when man_hour_group = '' then 1
                     else 0 end,
                 CASE
                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 如果以数字开头,则按照数字大小排序
                     WHEN man_hour_group REGEXP '[0-9]+'
                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 提取字母后面的数字部分
                , id asc
    </select>
    <select id="getInsOrderAndSample" resultMap="sampleDto">
        select isa.*,
@@ -424,39 +408,14 @@
               ip.create_time   ip_create_time,
               ip.update_time   ip_update_time,
               template_id,
               ipr.ins_value,
               ipr.com_value,
               ipr.equip_value,
               ipr.before_check,
               ipr.after_check,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
               ipr2.angle,
               ipr2.value,
               ipr2.result,
               ipr2.equip_value equipValue2,
               ipr2.equip_name  equipName2,
               ip.method_s
        from ins_sample isa
                 left join ins_order_state ios on isa.id = ios.ins_sample_id
                 left join ins_product ip on isa.id = ip.ins_sample_id
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where isa.ins_order_id = #{id}
          and ip.standard_method_list_id is not null
          and state = 1
          and (ipr2.num = ios.num or ipr2.num is null)
          and (ipr.num = ios.num or ipr.num is null)
        order by case
                     when man_hour_group is NULL then 1
                     when man_hour_group = '' then 1
                     else 0 end,
                 CASE
                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 如果以数字开头,则按照数字大小排序
                     WHEN man_hour_group REGEXP '[0-9]+'
                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 提取字母后面的数字部分
                , id asc
    </select>
    <select id="selectSampleProductListByOrder2Id2" resultMap="sampleDto">
        select isa.*,
@@ -498,37 +457,13 @@
               ip.create_time   ip_create_time,
               ip.update_time   ip_update_time,
               template_id,
               ipr.ins_value,
               ipr.com_value,
               ipr.equip_value,
               ipr.before_check,
               ipr.after_check,
               ipr2.frequency,
               ipr2.often,
               ipr2.port,
               ipr2.angle,
               ipr2.value,
               ipr2.result,
               ipr2.equip_value equipValue2,
               ipr2.equip_name  equipName2,
               ip.method_s
        from ins_sample isa
                 left join ins_order_state ios on isa.id = ios.ins_sample_id
                 left join ins_product ip on isa.id = ip.ins_sample_id
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where isa.ins_order_id = #{id}
          and ip.standard_method_list_id is not null
          and state = 1
        order by case
                     when man_hour_group is NULL then 1
                     when man_hour_group = '' then 1
                     else 0 end,
                 CASE
                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 如果以数字开头,则按照数字大小排序
                     WHEN man_hour_group REGEXP '[0-9]+'
                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 提取字母后面的数字部分
                , id asc
    </select>
    <select id="selectSampleProductListByOrderId3" resultMap="sampleDto3">
        select isa.id,
@@ -558,12 +493,6 @@
        <foreach collection="ids" open="(" close=")" item="id" separator=",">
            #{id}
        </foreach>
        order by case when man_hour_group is NULL then 1
        when man_hour_group ='' then 1 else 0 end,
        CASE
        WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 如果以数字开头,则按照数字大小排序
        WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 提取字母后面的数字部分
        ,id asc
    </select>
    <select id="getInsProduct1" resultMap="product">