zss
2023-09-25 a3f47b5e065878e5f41699ac1c597fd9ac9c4a21
修改3.0   9.25
已修改10个文件
154 ■■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/RawInspect.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/vo/RawInspectVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/RawInsProductService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InspectUnacceptedServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/ProcessInspectServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java
@@ -20,8 +20,5 @@
    //分页查询不合格品处置
    IPage<Map<String, Object>> selectDisposal(Page<Object> page, String specificationModel, String productName, Integer productCategories, Integer state);
    //根据Id查询原材料检验信息
    RawInspectVo editDisposalOpinionConfirmation(Integer rawUnacceptedId);
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/RawInspect.java
@@ -82,6 +82,11 @@
     */
    private String userName;
    /**
     * IFS中该物料的其他信息
     */
    private String message;
    @ApiModelProperty(value = "逻辑删除 正常>=1,删除<=0", hidden = true)
    private Integer state;
inspect-server/src/main/java/com/yuanchu/mom/pojo/vo/RawInspectVo.java
@@ -76,6 +76,11 @@
    @JsonSerialize
    private String userName;
    /**
     * IFS中该物料的其他信息
     */
    private String message;
    /* 检验项目 */
    @JsonSerialize
    private List<RawInsProductVo> rawInsProducts;
inspect-server/src/main/java/com/yuanchu/mom/service/RawInsProductService.java
@@ -30,6 +30,5 @@
     */
    void updateDevByRpId(Integer rpId, Integer devId);
    void batchAddInsProduct(Integer id, List<RawInsProductVo> rawInsProducts);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/FinishedInspectServiceImpl.java
@@ -124,8 +124,17 @@
        } else return "项目未检验完!";
        /*如果检验结论为不合格,则需要新增不合格检验单*/
        if (finishedInspect.getResult() == 0) {
            //查询该检验单哪些检验项目不合格
            List<InspectionItem> inspectionItemList = inspectionItemMapper.selectList(Wrappers.<InspectionItem>query()
                    .eq("inspect_id", id)
                    .eq("result", 0)
                    .eq("type", 2));
            String msg = null;
            for (InspectionItem inspectionItem : inspectionItemList) {
                msg += inspectionItem.getName();
            }
            InspectUnaccepted finishUnaccepted = InspectUnaccepted.builder()
                    .reason(finishedInspect.getMaterial() + "不合格")  //暂且定义为产品名称不合格
                    .reason(msg + "不合格")  //暂且定义为项目+不合格
                    .number(number)
                    .rawInspectId(id)
                    .type(1)        //类型为成品检验
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InspectUnacceptedServiceImpl.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.InspectUnacceptedMapper;
import com.yuanchu.mom.mapper.InspectionItemMapper;
import com.yuanchu.mom.mapper.RawInsProductMapper;
import com.yuanchu.mom.pojo.*;
import com.yuanchu.mom.pojo.dto.InspectionItemDto;
import com.yuanchu.mom.pojo.vo.RawInspectVo;
@@ -42,6 +43,9 @@
    //原材料检验子数据
    @Autowired
    private RawInsProductService rawInsProductService;
    @Resource
    RawInsProductMapper rawInsProductMapper;
    //产品检验
    @Autowired
@@ -87,13 +91,26 @@
            // 等于0:原材料
            if (type == 0) {
                // 根据Id查询原材料检验信息
                RawInspectVo map = inspectUnacceptedMapper.editDisposalOpinionConfirmation(rawUnacceptedId);
                RawInspect rawInspect = new RawInspect();
                BeanUtils.copyProperties(map, rawInspect);
                RawInspect rawInspect = rawInspectService.getById(inspectUnaccepted.getRawInspectId());
                List<RawInsProduct> rawInsProductList = rawInsProductMapper.selectList(Wrappers.<RawInsProduct>query()
                        .eq("raw_inspect_id", rawInspect.getId()));
                // 保存父级
                rawInspect.setId(null);
                rawInspect.setInsState(0);
                rawInspect.setJudgeState(null);
                rawInspect.setInsTime(null);
                rawInspectService.save(rawInspect);
                // 批量保存子级
                rawInsProductService.batchAddInsProduct(rawInspect.getId(), map.getRawInsProducts());
                List<RawInsProduct> rawInsProducts = rawInsProductList.stream().map(rawInsProduct -> {
                    rawInsProduct.setId(null);
                    rawInsProduct.setTestValue(null);
                    rawInsProduct.setTestState(null);
                    rawInsProduct.setDeviceId(null);
                    rawInsProduct.setRawInspectId(rawInspect.getId());
                    rawInsProduct.setUserId(null);
                    return rawInsProduct;
                }).collect(Collectors.toList());
                rawInsProductService.saveBatch(rawInsProducts);
            }
            // 等于1:产品检验(半成品)
            else if (type == 1) {
inspect-server/src/main/java/com/yuanchu/mom/service/impl/ProcessInspectServiceImpl.java
@@ -76,7 +76,7 @@
    //上报(更新检验状态)
    @Override
    @Transactional(rollbackFor = Exception.class)
    public String updateProcessInspectsById(Integer id,Integer number) {
    public String updateProcessInspectsById(Integer id, Integer number) {
        /*更新检验单里面的检验结论*/
        //先判断检验结果
        List<Integer> results = inspectionItemMapper.getResult(id, 1);
@@ -98,8 +98,17 @@
        } else return "项目未检验完!";
        /*如果检验结论为不合格,则需要新增不合格检验单*/
        if (processInspect.getResult() == 0) {
            //查询该检验单哪些检验项目不合格
            List<InspectionItem> inspectionItemList = inspectionItemMapper.selectList(Wrappers.<InspectionItem>query()
                    .eq("inspect_id", id)
                    .eq("result", 0)
                    .eq("type", 1));
            String msg = null;
            for (InspectionItem inspectionItem : inspectionItemList) {
                msg += inspectionItem.getName();
            }
            InspectUnaccepted processUnaccepted = InspectUnaccepted.builder()
                    .reason(processInspect.getMaterial() + processInspect.getTechname() + "不合格")  //暂且定义为产品名称+工艺不合格
                    .reason(processInspect.getTechname() + msg + "不合格")  //定义为工艺+项目不合格
                    .number(number)
                    .rawInspectId(id)
                    .type(2)        //类型为过程检验
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java
@@ -88,19 +88,6 @@
        rawInsProductMapper.update(new RawInsProduct(), updateWrapper);
    }
    @Override
    public void batchAddInsProduct(Integer id, List<RawInsProductVo> rawInsProducts) {
        List<RawInsProduct> rawInsProductList = new ArrayList<>();
        rawInsProducts.forEach(i -> {
            RawInsProduct rawInsProduct1 = new RawInsProduct();
            BeanUtils.copyProperties(i, rawInsProduct1);
            rawInsProduct1.setRawInspectId(id);
            rawInsProduct1.setState(1);
            rawInsProductList.add(rawInsProduct1);
        });
        rawInsProductMapper.insertBatchSomeColumn(rawInsProductList);
    }
    /*判断检测值是否满足标准值和内控值的要求,如果不满足则检验结论为不合格*/
    //如果是±的操作
    private int conValues(String standardValueStr, String controlValueStr, String detectionValueStr) {
inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInspectServiceImpl.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.Task.BatchInfo;
import com.yuanchu.mom.Task.SyncOrder;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
@@ -49,7 +50,7 @@
        RawInspectVo rawInspectVo = new RawInspectVo();
        List<Map<String, Object>> mapList = SyncOrder.ifsInterfaces();
        for (Map<String, Object> map : mapList) {
            //todo: 后续需要将状态改成待检验
            // todo: 后续需要将状态改成待检验
            if (map.get("STATE").equals("已接收")) {
                if (map.get("PART_NO").toString().equals(code)) {
                    rawInspectVo.setCode(map.get("PART_NO").toString());   //原材料编码
@@ -60,12 +61,18 @@
                    rawInspectVo.setNumber(Integer.parseInt(String.valueOf(map.get("QTY_TO_INSPECT"))));  //数量
                    rawInspectVo.setFormTime(DateUtil.parse(map.get("APPROVED_DATE").toString())); //来料日期
                    rawInspectVo.setSupplier(map.get("SUPPLIER_NAME").toString()); //供应商
                    String orderNo = map.get("ORDER_NO").toString();//订单号
                    String releaseNo = map.get("RELEASE_NO").toString();//下达号
                    String lineNo = map.get("LINE_NO").toString();//行号
                    String lotBatchNo = map.get("LOT_BATCH_NO").toString();//批号
                    String locationNo = map.get("LOCATION_NO").toString();//库位号
                    rawInspectVo.setMessage(orderNo+","+releaseNo+","+lineNo+","+lotBatchNo+","+locationNo);
                }
            }
        }
        //查询该原材料是否有检验项目记录
        RawInspect rawInspect = rawInspectMapper.selOneByCode(code);
        if (ObjectUtils.isNotEmpty(rawInspect)){
        if (ObjectUtils.isNotEmpty(rawInspect)) {
            List<RawInsProduct> rawInsProductList = rawInsProductMapper.selectList(Wrappers.<RawInsProduct>query().eq("raw_inspect_id", rawInspect.getId()));
            List<RawInsProductVo> rawInsProductVos = rawInsProductList.stream().map(rawInsProduct -> {
                RawInsProductVo rawInsProductVo = new RawInsProductVo();
@@ -149,7 +156,7 @@
    //更新检验状态(上报)
    @Override
    @Transactional(rollbackFor = Exception.class)
    public String updateRawInspectsById(Integer id,Integer number) {
    public String updateRawInspectsById(Integer id, Integer number) {
        /*更新检验单里面的检验结论*/
        //先判断检验结果
        List<Integer> results = rawInsProductMapper.getresult(id);
@@ -174,8 +181,16 @@
        } else return "项目未检验完!";
        /*如果检验结论为不合格,则需要新增不合格检验单*/
        if (rawInspect.getJudgeState() == 0) {
            //查询该检验单哪些检验项目不合格
            List<RawInsProduct> rawInsProductList = rawInsProductMapper.selectList(Wrappers.<RawInsProduct>query()
                    .eq("raw_inspect_id", id)
                    .eq("test_state", 0));
            String msg = null;
            for (RawInsProduct rawInsProduct : rawInsProductList) {
                msg+=rawInsProduct.getName();
            }
            InspectUnaccepted rawUnaccepted = InspectUnaccepted.builder()
                    .reason(rawInspectMapper.selectById(id).getName() + "不合格")  //暂且定义为原材料不合格
                    .reason(msg + "不合格")  //定义为不合格的项目+不合格
                    .number(number)
                    .rawInspectId(id)
                    .type(0)        //类型为原材料
@@ -183,7 +198,28 @@
            inspectUnacceptedMapper.insert(rawUnaccepted);
        }
        /*检验完成后,无论合格与否,将IFS报检状态更改为已接收*/
        //根据检验单id查询原材料检验单
        RawInspect rawIns = rawInspectMapper.selectById(id);
        String[] split = rawIns.getMessage().split(",");
        BatchInfo batchInfo = new BatchInfo();
        batchInfo.setOrderNo(split[0]);
        batchInfo.setReleaseNo(split[1]);
        batchInfo.setLineNo(split[2]);
        batchInfo.setPartNo(rawIns.getCode());
        batchInfo.setLotBatchNo(split[3]);
        batchInfo.setLocationNo(split[4]);
        if (ObjectUtils.isEmpty(number)) {
            //如果不合格的数量为空null
            number=0;
        }
        batchInfo.setQtyToReceive(rawIns.getNumber()-number); //要接收的数量
        batchInfo.setQtyToInspect(rawIns.getNumber()); //要检验的数量
        batchInfo.setReceiveCase("接收到来料区");
        List<BatchInfo> batchInfos = Arrays.asList(batchInfo);
        //发送IFS请求
        String s = SyncOrder.importPolReceive(batchInfos);
        System.out.println(s);
        System.out.println("'''''''''''''''''''''''");
        return rawInspect.getJudgeState().toString();
    }
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml
@@ -1,11 +1,11 @@
<?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.InspectUnacceptedMapper">
    <!--不合格处置-->
    <select id="selectDisposal" resultType="map">
        SELECT i.`id`, s.`type`, s.name productName, s.`specifications`, i.number, i.`tell` description,
        i.`tell` opinions, s.user_name, DATE_FORMAT(i.`create_time`, '%Y-%m-%d') `date`, i.`deal_state`, i.way, i.faulty_materials, i.opinion_tell
        i.`tell` opinions, s.user_name, DATE_FORMAT(i.`create_time`, '%Y-%m-%d') `date`, i.`deal_state`, i.way,
        i.faulty_materials, i.opinion_tell,faulty_materials,reason
        FROM mom_ocean.inspect_unaccepted i
        LEFT JOIN
        (
@@ -56,33 +56,5 @@
            AND s.`type` = #{productCategories}
        </if>
        ORDER BY i.`update_time` DESC
    </select>
    <resultMap id="editDisposalOpinionConfirmationMap" type="com.yuanchu.mom.pojo.vo.RawInspectVo">
        <id property="code" column="code"/>
        <result property="unit" column="unit"/>
        <result property="name" column="name"/>
        <result property="specifications" column="specifications"/>
        <result property="formTime" column="form_time"/>
        <result property="number" column="number"/>
        <result property="supplier" column="supplier"/>
        <result property="userName" column="user_name"/>
        <collection property="rawInsProducts" ofType="com.yuanchu.mom.pojo.vo.RawInsProductVo">
            <result property="name" column="pNmae"/>
            <result property="unit" column="pUnit"/>
            <result property="required" column="required"/>
            <result property="deviceId" column="device_id"/>
            <result property="internal" column="internal"/>
            <result property="testValue" column="test_value"/>
        </collection>
    </resultMap>
    <select id="editDisposalOpinionConfirmation" resultMap="editDisposalOpinionConfirmationMap">
        select r.`form_time`, r.`specifications`, r.`code`, r.`name`, r.`unit`, r.`number`, r.`supplier`, r.`user_name`, p.`name` pNmae, p.`unit` pUnit,
               p.`required`,p.`internal`, p.`test_value`, p.`device_id`
        from (mom_ocean.inspect_unaccepted i, mom_ocean.raw_inspect r)
                 left join mom_ocean.raw_ins_product p on r.`id` = p.`raw_inspect_id`
        where i.`id` = #{rawUnacceptedId}
          and i.`raw_inspect_id` = r.`id`
    </select>
</mapper>