zss
2024-08-03 e78cc56f04556a1d3d54f0db830ba9f16eb28a58
检验下单待检撤销+删除检验值结论还在
已修改10个文件
187 ■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsProductService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsOrderMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsProductMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsSampleMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -11,6 +11,7 @@
import com.yuanchu.mom.dto.SampleProductDto2;
import com.yuanchu.mom.pojo.InsOrder;
import com.yuanchu.mom.pojo.InsOrderTemplate;
import com.yuanchu.mom.pojo.InsProduct;
import com.yuanchu.mom.service.InsOrderService;
import com.yuanchu.mom.service.InsOrderTemplateService;
import com.yuanchu.mom.service.InsProductService;
@@ -161,11 +162,29 @@
        return Result.success();
    }
    //待检的撤销
    //待检的撤销的查询待检项目
    @ValueAuth
    @PostMapping("/selectNoProducts")
    public Result<?> selectNoProducts(@RequestBody Map<String, Object> data,Integer orderId ,String ids) throws Exception {
        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
        InsProduct insProduct = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsProduct.class);
        return Result.success(insProductService.selectNoProducts(page, insProduct,orderId,ids));
    }
    @ApiOperation(value = "待检的撤销")
    @PutMapping("/updateInspected")
    @ValueAuth
    public Result<?> updateInspected(Integer id){
        insProductService.updateInspected(id);
    public Result<?> updateInspected(Integer orderId,String ids){
        insProductService.updateInspected(orderId,ids);
        return Result.success();
    }
    @ValueClassify("检验下单")
    @ApiOperation(value = "审核待检撤销")
    @PostMapping("/checkUpdate")
    public Result<?> checkUpdate(Integer orderId,Integer state){
        insProductService.checkUpdate(orderId,state);
        return Result.success();
    }
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
@@ -1,5 +1,8 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.ProductResultDto2;
import com.yuanchu.mom.pojo.InsProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -25,6 +28,8 @@
    int updateInspected(@Param("id") Integer id);
    List<InsProduct> selectFiberInsProduct(List<Integer> ids, String laboratory);
    IPage<InsProduct> selectNoProducts(Page page, Integer orderId);
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -215,4 +215,11 @@
    @ValueTableShow(value = 15, name = "委托人")
    private String prepareUser;
    @ApiModelProperty("是否审核撤销")
    private Integer isRevocation;
    @ApiModelProperty("审核撤销的项目id")
    private String revocationInsProductIds;
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuanchu.mom.annotation.ValueTableShow;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -26,9 +27,14 @@
    @TableId(type = IdType.AUTO)
    private Integer id;
    @ValueTableShow(value = 1, name = "样品编号")
    @TableField(exist = false,select = false)
    private String sampleCode;
    /**
     * 检验项
     */
    @ValueTableShow(value = 2, name = "检验项")
    private String inspectionItem;
    private String inspectionItemEn;
@@ -45,6 +51,7 @@
    /**
     * 检验项子类
     */
    @ValueTableShow(value = 2, name = "检验项子类")
    private String inspectionItemSubclass;
    private String inspectionItemSubclassEn;
@@ -62,16 +69,19 @@
    /**
     * 样品分类
     */
    @ValueTableShow(value = 3, name = "样品分类")
    private String sampleType;
    /**
     * 样品
     */
    @ValueTableShow(value = 4, name = "样品")
    private String sample;
    /**
     * 型号
     */
    @ValueTableShow(value = 5, name = "型号")
    private String model;
    private String methodS;
@@ -79,6 +89,7 @@
    /**
     * 子实验室
     */
    @ValueTableShow(value = 6, name = "试验室")
    private String sonLaboratory;
    /**
@@ -137,7 +148,7 @@
    private String method;
    /**
     * 预计时间(天)
     * 预计时间(h)
     */
    private Integer manDay;
@@ -149,11 +160,13 @@
    /**
     * 要求值
     */
    @ValueTableShow(value = 7, name = "要求值")
    private String ask;
    /**
     * 要求描述
     */
    @ValueTableShow(value = 8, name = "要求描述")
    private String tell;
    /**
inspect-server/src/main/java/com/yuanchu/mom/service/InsProductService.java
@@ -1,8 +1,11 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.InsProductDto;
import com.yuanchu.mom.pojo.InsProduct;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* @author Administrator
@@ -13,8 +16,11 @@
    int selectOrderManDay(Integer orderId);
    int updateInspected(Integer id);
    int updateInspected(Integer id,String ids);
    boolean write(InsProductDto insProductDto);
    Map<String,Object> selectNoProducts(Page page, InsProduct insProduct,Integer orderId,String ids);
    void checkUpdate(Integer orderId,Integer state);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -135,6 +135,7 @@
    @Resource
    private InsOrderFileMapper insOrderFileMapper;
    @Override
    public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
        Map<String, Object> map = new HashMap<>();
@@ -275,6 +276,7 @@
        });
        return insProducts;
    }
    @Override
    public List<String> checkSubmitPlan(Integer orderId, String laboratory) {
        List<String> collect = new ArrayList<>();
@@ -444,8 +446,7 @@
                            }
                        }
                    }
                }
                else {
                } else {
                    //如果套管下没有光纤带就只有光纤了
                    List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
                    for (InsFiber fiber : insFiberList) {
@@ -479,8 +480,7 @@
                }
            }
            productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList());
        }
        else {
        } else {
            //电力--热循环和温升试验
            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                    .eq(InsProduct::getInsSampleId, sampleId)
@@ -564,6 +564,7 @@
                        insProduct.setLastValue(o.equals("") ? null : (o.toString()));
                    }
                } catch (Exception e) {
                    insProduct.setLastValue("");//''
                }
                if (jo.get("equipValue") != null) {
                    JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("equipValue")));
@@ -592,6 +593,7 @@
                    String ir = JSON.parseObject(JSON.toJSONString(insResult.get("v"))).get("v") + "";
                    insProduct.setInsResult(Integer.parseInt(ir));
                } catch (Exception e) {
                    insProduct.setInsResult(2);//待定
                }
                if (BeanUtil.isEmpty(result.getId())) {
                    result.setCreateUser(userId);
@@ -1161,8 +1163,7 @@
                                        cellRenderData.setParagraphs(paragraphRenderDataList);
                                        cells.add(cellRenderData);
                                    }
                                }
                                else if (j == 1) {
                                } else if (j == 1) {
                                    //第二行
                                    if (k == 0) {
                                        //第一列
@@ -1205,8 +1206,7 @@
                                        cellRenderData.setParagraphs(paragraphRenderDataList);
                                        cells.add(cellRenderData);
                                    }
                                }
                                else if (j == count1-1) {
                                } else if (j == count1 - 1) {
                                    //最后一行
                                    if (k == 0 || k == 1) {
                                        //前两列
@@ -1224,8 +1224,7 @@
                                        cellRenderData.setParagraphs(paragraphRenderDataList);
                                        cells.add(cellRenderData);
                                    }
                                }
                                else {
                                } else {
                                    if (k == 0) {
                                        //第一列
                                        textRenderData.setText((j - 1) + "");
@@ -1649,8 +1648,7 @@
                                        cellRenderData.setParagraphs(paragraphRenderDataList);
                                        cells.add(cellRenderData);
                                    }
                                }
                                else {
                                } else {
                                    if (k == 0) {
                                        //第一列
                                        textRenderData.setText(sampleList.get(0).getModel() + "∑44");
@@ -3479,8 +3477,7 @@
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
        else {
        } else {
            //复核不通过将把复核的负责人去掉
            Integer id = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).orderByDesc(InsSampleUser::getId).last("limit 1")).getId();
            insSampleUserMapper.deleteById(id);
@@ -3564,8 +3561,7 @@
                        product.setInsResult(1);
                    }
                    insProductMapper.updateById(product);
                }
                else {
                } else {
                    count++;
                    str += "<br/>" + count + ":" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
                }
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsProductServiceImpl.java
@@ -1,14 +1,27 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
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.common.PrintChina;
import com.yuanchu.mom.dto.InsProductDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.InsOrderMapper;
import com.yuanchu.mom.mapper.InsProductMapper;
import com.yuanchu.mom.mapper.InsSampleMapper;
import com.yuanchu.mom.pojo.InsOrder;
import com.yuanchu.mom.pojo.InsProduct;
import com.yuanchu.mom.pojo.InsSample;
import com.yuanchu.mom.service.InsProductService;
import com.yuanchu.mom.utils.QueryWrappers;
import com.yuanchu.mom.vo.InsOrderPlanVO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@Service
@AllArgsConstructor
@@ -17,15 +30,22 @@
    private InsProductMapper insProductMapper;
    private InsOrderMapper insOrderMapper;
    private InsSampleMapper insSampleMapper;
    @Override
    public int selectOrderManDay(Integer orderId) {
        return insProductMapper.selectOrderManDay(orderId);
    }
    @Override
    public int updateInspected(Integer id) {
        insProductMapper.updateInspected(id);
        return 0;
    public int updateInspected(Integer id, String ids) {
        InsOrder insOrder = new InsOrder();
        insOrder.setId(id);
        insOrder.setIsRevocation(1);//需要审核
        insOrder.setRevocationInsProductIds(ids);
        return insOrderMapper.updateById(insOrder);
    }
    @Override
@@ -37,6 +57,59 @@
        }
        return updateBatchById(insProducts);
    }
    //查询待检项目
    @Override
    public Map<String, Object> selectNoProducts(Page page, InsProduct insProduct, Integer orderId, String ids) {
        Map<String, Object> map = new HashMap<>();
        map.put("head", PrintChina.printChina(InsProduct.class));
        IPage<InsProduct> insProductIPage = baseMapper.selectNoProducts(page, orderId);
        if (ObjectUtils.isNotEmpty(ids)) {
            List<Integer> collect = Arrays.asList(ids.split(",")).stream()
                    .map(Integer::parseInt)
                    .collect(Collectors.toList());
            List<InsProduct> products = insProductIPage.getRecords().stream().filter(record -> collect.contains(record.getId())).collect(Collectors.toList());
            insProductIPage.setRecords(products);
        }
        map.put("body", insProductIPage);
        return map;
    }
    //审核待检撤销
    @Override
    public void checkUpdate(Integer orderId, Integer state) {
        InsOrder insOrder = insOrderMapper.selectById(orderId);
        if (state == 1) {
            List<String> list = new ArrayList<>();
            try {
                list = Arrays.asList(insOrder.getRevocationInsProductIds().split(","));
            } catch (Exception e) {
                throw new ErrorException("还没有选择应该要撤销的检验项目");
            }
            List<Integer> ids = list.stream()
                    .map(Integer::parseInt)
                    .collect(Collectors.toList());
            List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
            List<Integer> collect = insSamples.stream().map(InsSample::getId).collect(Collectors.toList());
            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, collect));
            if (insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()).equals(ids)) {
                //如果该检验单下的所有项目全部都撤销,那么这个单子也需要撤销
                insOrder.setState(3);
            } else {
                List<InsProduct> products = insProductMapper.selectBatchIds(ids);
                //首先根据选择的项目id进行撤销项目
                updateBatchById(products.stream().map(insProduct -> {
                    insProduct.setState(0);
                    return insProduct;
                }).collect(Collectors.toList()));
            }
            //insProductMapper.updateInspected(id);
        }
        //不通过
        insOrder.setIsRevocation(0);
        insOrderMapper.updateById(insOrder);
    }
}
inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -19,6 +19,8 @@
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
        <result property="revocationInsProductIds" column="revocation_ins_product_ids" />
        <result property="isRevocation" column="is_revocation" />
    </resultMap>
    <resultMap id="OrderThingDto" type="com.yuanchu.mom.dto.OrderThingDto">
inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -3,7 +3,6 @@
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.InsProductMapper">
    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsProduct">
        <id property="id" column="id" jdbcType="INTEGER"/>
        <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/>
@@ -99,4 +98,13 @@
            #{item}
        </foreach>
    </select>
    <select id="selectNoProducts" resultType="com.yuanchu.mom.pojo.InsProduct">
        select *
        from (select ip.*, sample_code
              from ins_product ip
                       left join ins_sample is2 on ip.ins_sample_id = is2.id
              where ip.ins_result is null
                and state = 1
                and is2.ins_order_id = #{orderId}) A
    </select>
</mapper>
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -27,7 +27,7 @@
    <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
        select * from(select * from(
        SELECT
        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user
        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user
        FROM
        (
        SELECT
@@ -45,7 +45,7 @@
        FROM
        ins_order io
        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
        LEFT JOIN ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id -->
        LEFT JOIN (
        SELECT *
        FROM ins_sample_user u
        WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN (
@@ -60,7 +60,6 @@
        LEFT JOIN user ON isu.user_id = user.id
        WHERE
        io.state = 1
        # AND io.ins_state != 5
        and send_time is not null
        <if test="userId !=null and userId!=''">
            and (isu.user_id = #{userId} OR isu.user_id is NULL )
@@ -81,7 +80,6 @@
        ) isu2 on
        isu2.ins_sample_id = a.id
        ORDER BY
        <!--a.user_id DESC,-->
        a.type DESC,
        a.id
        ) b