| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | 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 org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.concurrent.CompletableFuture; |
| | | |
| | | /** |
| | | * @author Administrator |
| | |
| | | private StandardProductListMapper standardProductListMapper; |
| | | |
| | | private StandardProductListService standardProductListService; |
| | | |
| | | private GetLook getLook; |
| | | |
| | | @Override |
| | | public List<FactoryDto> selectStandardTreeList() { |
| | |
| | | for (Object o : listMap.get("standardMethodList")) { |
| | | JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(o)); |
| | | List<StandardProductList> list = standardProductListService.selectStandardProductListByMethodId((Integer) jsonObject.get("id")); |
| | | if(list.size()!=0){ |
| | | if (list.size() != 0) { |
| | | standardProductListMapper.deleteBatchIds(list); |
| | | } |
| | | } |
| | |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void reTreeBySampleType(String sampleType) { |
| | | // Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); |
| | | CompletableFuture.supplyAsync(() -> { |
| | | List<StandardProductList> productList = standardTreeMapper.getStandardProductListBySample(sampleType); |
| | | List<StandardProductList> productList1 = JSON.parseArray(JSON.toJSONString(productList), StandardProductList.class); |
| | | List<StandardMethodList> methodList = standardTreeMapper.getStandardMethodListBySample(sampleType); |
| | | List<StandardMethodList> methodList1 = JSON.parseArray(JSON.toJSONString(methodList), StandardMethodList.class); |
| | | List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getSampleType, sampleType)); |
| | | 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); |
| | | 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(null); |
| | | pl2.setUpdateTime(null); |
| | | pl2.setId(pl1.getId()); |
| | | 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(1); |
| | | 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(1); |
| | | 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; |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |