cnas-server/src/main/java/com/yuanchu/mom/service/impl/CapacityScopeServiceImpl.java
@@ -56,22 +56,17 @@ itemParameter.setBsm("0"); } int insert = structureItemParameterMapper.insert(itemParameter); standardTreeService.reTreeBySampleType(itemParameter.getSample()); return insert; } @Override public int delItemParameter(Integer id) { standardTreeService.reTreeBySampleType(structureItemParameterMapper.selectById(id).getSample()); int i = structureItemParameterMapper.deleteById(id); return i; return structureItemParameterMapper.deleteById(id); } @Override public int upItemParameter(StructureItemParameter itemParameter) { int i = structureItemParameterMapper.updateById(itemParameter); standardTreeService.reTreeBySampleType(itemParameter.getSample()); return i; return structureItemParameterMapper.updateById(itemParameter); } @Override cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java
@@ -5,10 +5,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.pojo.StandardMethod; import com.yuanchu.mom.pojo.StructureItemParameter; import com.yuanchu.mom.service.StandardMethodService; import com.yuanchu.mom.mapper.StandardMethodMapper; import com.yuanchu.mom.pojo.StandardMethod; import com.yuanchu.mom.service.StandardMethodService; import com.yuanchu.mom.service.StandardTreeService; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; @@ -52,13 +51,11 @@ @Override public int addStandardMethod(StandardMethod standardMethod) { int insert = standardMethodMapper.insert(standardMethod); standardTreeService.reTreeBySampleType(standardMethod.getSampleType()); return insert; } @Override public int delStandardMethod(Integer id) { standardTreeService.reTreeBySampleType(standardMethodMapper.selectById(id).getSampleType()); int i = standardMethodMapper.deleteById(id); return i; } @@ -66,7 +63,6 @@ @Override public int upStandardMethod(StandardMethod standardMethod) { int i = standardMethodMapper.updateById(standardMethod); standardTreeService.reTreeBySampleType(standardMethodMapper.selectStandMethodById(standardMethod.getId()).getSampleType()); return i; } } inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
@@ -6,7 +6,6 @@ import com.yuanchu.mom.pojo.InsSample; import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.pojo.StandardTree; import com.yuanchu.mom.service.InsOrderService; import com.yuanchu.mom.service.StandardMethodListService; import com.yuanchu.mom.service.StandardProductListService; import com.yuanchu.mom.service.StandardTreeService; @@ -26,8 +25,6 @@ private StandardProductListService standardProductListService; private InsOrderService insOrderService; @ApiOperation(value = "获取标准树") @GetMapping("/selectStandardTreeList") public Result selectStandardTreeList(){ @@ -37,7 +34,6 @@ @ApiOperation(value = "添加标准树") @PostMapping("/addStandardTree") public Result addStandardTree(@RequestBody StandardTree standardTree){ if(standardTree.getModel().equals("")) standardTree.setModel(null); return Result.success(standardTreeService.addStandardTree(standardTree)); } @@ -95,8 +91,8 @@ @ApiOperation(value = "通过检验标准查询检验项目") @PostMapping("/selectStandardProductListByMethodId") @ValueAuth public Result selectStandardProductListByMethodId(Integer id){ return Result.success(standardProductListService.selectStandardProductListByMethodId(id)); public Result selectStandardProductListByMethodId(Integer id, String tree){ return Result.success(standardProductListService.selectStandardProductListByMethodId(id, tree)); } @ApiOperation(value = "获取标准树下标准方法枚举") inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java
@@ -19,7 +19,7 @@ String selectUserById(Integer id); List<StandardMethodList> selectStandardMethodLists(String data1,String data2,String data3,String data4, String data5); List<StandardMethodList> selectStandardMethodLists(String sampleType); List<StandardMethodList> selectStandardMethodLists2(String data1,String data2,String data3,String data4, String data5); inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
@@ -26,6 +26,8 @@ List<StandardMethodList> getStandardMethodListBySample(String sampleType); List<StandardProductList> selectStandardProductListByTree(String tree1, String tree2); } inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardProductList.java
@@ -1,15 +1,13 @@ package com.yuanchu.mom.pojo; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * 标准树下的检验项目 @@ -29,12 +27,6 @@ */ @ApiModelProperty("检验项") private String inspectionItem; /** * 检验项分类 */ @ApiModelProperty("检验项分类") private String inspectionItemClassify; /** * 检验项小类 inspect-server/src/main/java/com/yuanchu/mom/service/StandardProductListService.java
@@ -1,11 +1,10 @@ package com.yuanchu.mom.service; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.extension.service.IService; import com.yuanchu.mom.pojo.InsSample; import com.yuanchu.mom.pojo.StandardProductList; import com.baomidou.mybatisplus.extension.service.IService; import java.util.ArrayList; import java.util.List; /** @@ -21,6 +20,6 @@ List<StandardProductList> selectStandardProductList(InsSample insSample); List<StandardProductList> selectStandardProductListByMethodId(Integer id); List<StandardProductList> selectStandardProductListByMethodId(Integer id, String tree); } inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java
@@ -1,9 +1,8 @@ package com.yuanchu.mom.service; import com.yuanchu.mom.dto.FactoryDto; import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.pojo.StandardTree; import com.baomidou.mybatisplus.extension.service.IService; import com.yuanchu.mom.dto.FactoryDto; import com.yuanchu.mom.pojo.StandardTree; import java.util.List; @@ -21,8 +20,5 @@ int delStandardTree(String tree); int addStandardProduct(String ids, String tree); // 根据样品类型进行标准树更新操作 void reTreeBySampleType(String sampleType); } inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodListServiceImpl.java
@@ -2,16 +2,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.mapper.StandardMethodListMapper; import com.yuanchu.mom.mapper.StandardProductListMapper; import com.yuanchu.mom.pojo.StandardMethodList; import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.service.StandardMethodListService; import com.yuanchu.mom.mapper.StandardMethodListMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -77,25 +76,12 @@ @Override public Map<String, List<?>> selectsStandardMethodByFLSSM(String tree) { String[] trees = tree.split(" - "); List<StandardMethodList> standardMethodLists = null; switch (trees.length){ case 5: standardMethodLists = standardMethodListMapper.selectStandardMethodLists(trees[0],trees[1],trees[2],trees[3],trees[4]); break; case 4: standardMethodLists = standardMethodListMapper.selectStandardMethodLists(trees[0],trees[1],trees[2],trees[3],null); break; case 3: standardMethodLists = standardMethodListMapper.selectStandardMethodLists(trees[0],trees[1],trees[2],null,null); break; case 2: standardMethodLists = standardMethodListMapper.selectStandardMethodLists(trees[0],trees[1],null,null,null); break; case 1: standardMethodLists = standardMethodListMapper.selectStandardMethodLists(trees[0],null,null,null,null); break; } Map<String, List<?>> map = new HashMap<>(); if(trees.length < 3) { map.put("standardMethodList", null); return map; } List<StandardMethodList> standardMethodLists = standardMethodListMapper.selectStandardMethodLists(trees[2]); map.put("standardMethodList", standardMethodLists); return map; } inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -1,13 +1,13 @@ package com.yuanchu.mom.service.impl; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.mapper.StandardProductListMapper; import com.yuanchu.mom.mapper.StandardTreeMapper; import com.yuanchu.mom.pojo.InsSample; import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.service.StandardProductListService; import com.yuanchu.mom.mapper.StandardProductListMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -28,6 +28,8 @@ private StandardProductListMapper standardProductListMapper; private StandardTreeMapper standardTreeMapper; @Override public int upStandardProductList(StandardProductList list) { return standardProductListMapper.updateById(list); @@ -43,15 +45,15 @@ List<StandardProductList> list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()).eq(StandardProductList::getState, 1)); list = list.stream().filter(a -> { try { if(a.getSection()!=null && !Objects.equals(a.getSection(), "")){ if (a.getSection() != null && !Objects.equals(a.getSection(), "")) { if (a.getSection().contains("~")) { String[] split = a.getSection().split("~"); return new BigDecimal(insSample.getModel()).compareTo(new BigDecimal(split[0])) > -1 && new BigDecimal(insSample.getModel()).compareTo(new BigDecimal(split[1])) < 1; } else if (a.getSection().contains("≥") || a.getSection().contains(">=")) { String param = a.getSection().replace("≥", "").replace(">=",""); String param = a.getSection().replace("≥", "").replace(">=", ""); return new BigDecimal(insSample.getModel()).compareTo(new BigDecimal(param)) > -1; } else if (a.getSection().contains("≤") || a.getSection().contains("<=")) { String param = a.getSection().replace("≤", "").replace("<=",""); String param = a.getSection().replace("≤", "").replace("<=", ""); return new BigDecimal(insSample.getModel()).compareTo(new BigDecimal(param)) < 1; } else if (a.getSection().contains(">")) { String param = a.getSection().replace(">", ""); @@ -73,8 +75,16 @@ } @Override public List<StandardProductList> selectStandardProductListByMethodId(Integer id) { return standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, id)); public List<StandardProductList> selectStandardProductListByMethodId(Integer id, String tree) { String[] trees = tree.split(" - "); List<StandardProductList> list; if(tree.length() == 3){ list = standardTreeMapper.selectStandardProductListByTree(trees[2], trees[3]); }else{ list = standardTreeMapper.selectStandardProductListByTree(trees[2], null); } List<StandardProductList> standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, id)); return list; } } inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -3,27 +3,24 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.dto.FactoryDto; import com.yuanchu.mom.mapper.StandardMethodListMapper; import com.yuanchu.mom.mapper.StandardProductListMapper; import com.yuanchu.mom.pojo.StandardMethodList; import com.yuanchu.mom.mapper.StandardTreeMapper; import com.yuanchu.mom.pojo.StandardProductList; import com.yuanchu.mom.pojo.StandardTree; import com.yuanchu.mom.service.StandardMethodListService; import com.yuanchu.mom.service.StandardProductListService; import com.yuanchu.mom.service.StandardTreeService; import com.yuanchu.mom.mapper.StandardTreeMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.List; import java.util.Map; /** * @author Administrator @@ -55,31 +52,6 @@ @Override @Transactional(rollbackFor = Exception.class) public int addStandardTree(StandardTree standardTree) { List<StandardProductList> productList = standardTreeMapper.getStandardProductListBySample(standardTree.getSampleType()); List<StandardMethodList> methodList = standardTreeMapper.getStandardMethodListBySample(standardTree.getSampleType()); for (StandardMethodList standardMethod : methodList) { standardMethod.setFactory(standardTree.getFactory()); standardMethod.setLaboratory(standardTree.getLaboratory()); standardMethod.setSampleType(standardTree.getSampleType()); standardMethod.setSample(standardTree.getSample()); standardMethod.setModel(standardTree.getModel()); standardMethodListMapper.insert(standardMethod); for (StandardProductList standardProductList : productList) { standardProductList.setFactory(standardTree.getFactory()); standardProductList.setLaboratory(standardTree.getLaboratory()); standardProductList.setSampleType(standardTree.getSampleType()); standardProductList.setSample(standardTree.getSample()); standardProductList.setModel(standardTree.getModel()); standardProductList.setStandardMethodListId(standardMethod.getId()); standardProductList.setState(0); standardProductList.setId(null); standardProductList.setCreateUser(null); standardProductList.setCreateTime(null); standardProductList.setUpdateUser(null); standardProductList.setUpdateTime(null); standardProductListMapper.insert(standardProductList); } } return standardTreeMapper.insert(standardTree); } @@ -108,7 +80,7 @@ if (listMap.get("standardMethodList").size() != 0) { for (Object o : listMap.get("standardMethodList")) { JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(o)); List<StandardProductList> list = standardProductListService.selectStandardProductListByMethodId((Integer) jsonObject.get("id")); List<StandardProductList> list = standardProductListService.selectStandardProductListByMethodId((Integer) jsonObject.get("id"), tree); if (list.size() != 0) { standardProductListMapper.deleteBatchIds(list); } @@ -147,130 +119,6 @@ return 1; } @Override @Transactional(rollbackFor = Exception.class) public void reTreeBySampleType(String sampleType) { Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); CompletableFuture.supplyAsync(() -> { System.out.println(sampleType); List<String> sampleTree = new ArrayList<>(); if(sampleType != null){ sampleTree = JSON.parseArray(sampleType, String.class); } List<StandardProductList> productList = standardTreeMapper.getStandardProductListBySample(sampleType); List<StandardProductList> productList1 = JSON.parseArray(JSON.toJSONString(productList), StandardProductList.class); List<StandardMethodList> methodList = standardTreeMapper.getStandardMethodListBySample(sampleTree.get(0)); List<StandardMethodList> methodList1 = JSON.parseArray(JSON.toJSONString(methodList), StandardMethodList.class); List<StandardTree> treeList; if(sampleTree.size()==1){ treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getSampleType, sampleTree.get(0))); treeList.addAll(standardTreeMapper.selectStandardTreeList2(sampleTree.get(0))); }else if(sampleTree.size()==2){ treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getSampleType, sampleTree.get(0)).eq(StandardTree::getSample, sampleTree.get(1))); }else{ treeList = standardTreeMapper.selectList(null); } for (StandardTree tree : treeList) { String treeStr = tree.getFactory() + " - " + tree.getLaboratory() + " - " + tree.getSampleType() + (tree.getSample() == null ? "" : " - " + tree.getSample()) + (tree.getModel() == null ? "" : " - " + tree.getModel()); List<StandardMethodList> standardMethodList = JSON.parseArray(JSON.toJSONString(standardMethodListService.selectsStandardMethodByFLSSM(treeStr).get("standardMethodList")), StandardMethodList.class); for (StandardMethodList sl1 : standardMethodList) { int count1 = 0; for (StandardMethodList sl2 : methodList) { if (sl1.getCode().equals(sl2.getCode())) { sl1.setName(sl2.getName()); sl1.setRemark(sl2.getRemark()); sl2.setId(sl1.getId()); standardMethodListMapper.updateById(sl1); //通过检验标准id查询检验项目(标准库) List<StandardProductList> standardProductList = standardProductListService.selectStandardProductListByMethodId(sl1.getId()); for (StandardProductList pl1 : standardProductList) { int count2 = 0; for (StandardProductList pl2 : productList) { if (Objects.equals(pl1.getInspectionItemSubclass(), pl2.getInspectionItemSubclass()) && Objects.equals(pl1.getInspectionItem(), pl2.getInspectionItem())) { pl2.setUpdateUser(userId); pl2.setUpdateTime(LocalDateTime.now()); pl2.setId(pl1.getId()); pl2.setSample(tree.getSample()); pl2.setDic(pl1.getDic()); //如果标准库里面的要求有值则不更新,要求为null则同步更新 if (ObjectUtils.isNotEmpty(pl1.getAsk())){ pl2.setAsk(null); } if (ObjectUtils.isNotEmpty(pl1.getTell())){ pl2.setTell(null); } standardProductListMapper.updateById(pl2); break; } else { count2++; } } if (count2 == productList.size()) { standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, sl1.getId())); } } for (StandardProductList pl2 : productList) { if (pl2.getId() == null) { pl2.setFactory(tree.getFactory()); pl2.setLaboratory(tree.getLaboratory()); pl2.setSampleType(tree.getSampleType()); pl2.setSample(tree.getSample()); pl2.setModel(tree.getModel()); pl2.setStandardMethodListId(sl1.getId()); pl2.setState(0); pl2.setId(null); pl2.setCreateUser(null); pl2.setCreateTime(null); pl2.setUpdateUser(null); pl2.setUpdateTime(null); standardProductListMapper.insert(pl2); } } break; } else { count1++; } } if (count1 == methodList.size()) { standardMethodListMapper.deleteById(sl1); standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, sl1.getId())); } } for (StandardMethodList sl2 : methodList) { if (sl2.getId() == null) { sl2.setFactory(tree.getFactory()); sl2.setLaboratory(tree.getLaboratory()); sl2.setSampleType(tree.getSampleType()); sl2.setSample(tree.getSample()); sl2.setModel(tree.getModel()); standardMethodListMapper.insert(sl2); for (StandardProductList standardProductList : productList) { standardProductList.setFactory(tree.getFactory()); standardProductList.setLaboratory(tree.getLaboratory()); standardProductList.setSampleType(tree.getSampleType()); standardProductList.setSample(tree.getSample()); standardProductList.setModel(tree.getModel()); standardProductList.setStandardMethodListId(sl2.getId()); standardProductList.setState(0); standardProductList.setId(null); standardProductList.setCreateUser(null); standardProductList.setCreateTime(null); standardProductList.setUpdateUser(null); standardProductList.setUpdateTime(null); standardProductListMapper.insert(standardProductList); } } } methodList = JSON.parseArray(JSON.toJSONString(methodList1), StandardMethodList.class); productList = JSON.parseArray(JSON.toJSONString(productList1), StandardProductList.class); } return 1; }).thenAccept(res -> { }).exceptionally(e -> { e.printStackTrace(); return null; }); } } inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml
@@ -26,34 +26,12 @@ where id = #{id} </select> <select id="selectStandardMethodLists" resultType="com.yuanchu.mom.pojo.StandardMethodList"> select sml.id, sml.code, sml.name,sml.remark, sml.create_time, u.name create_user_name from standard_method_list sml left join user u on u.id = sml.create_user where factory = #{data1} <if test="data2 != null"> and laboratory = #{data2} </if> <if test="data3 != null"> and sample_type = #{data3} </if> <if test="data4 != null"> and sample = #{data4} </if> <if test="data5 != null"> and model = #{data5} </if> <if test="data2 == null"> and laboratory is null </if> <if test="data3 == null"> and sample_type is null </if> <if test="data4 == null"> and sample is null </if> <if test="data5 == null"> and model is null </if> select sm.id, sm.code, sm.name,sm.remark from standard_method sm left join structure_test_object sto on sto.id = sm.structure_test_object_id where sm.is_use = 1 and sm.is_product = 1 and sto.specimen_name = #{sampleType} </select> <select id="selectParameterList" resultType="standardProductList"> select inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -131,4 +131,14 @@ where sto.specimen_name = #{sampleType} group by sto.specimen_name </select> <select id="selectStandardProductListByTree" resultType="com.yuanchu.mom.pojo.StandardProductList"> select * from structure_item_parameter where sample is NULL OR sample = '' or sample = '[]' OR sample LIKE CONCAT('%["', #{tree1}, '"]%') <if test="tree2 != null and tree2 != ''"> OR sample LIKE CONCAT('%["', #{tree2}, '"]%') </if> </select> </mapper>