From bc3313efa51f00e128b6d9483becfd71df4e659d Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 09 八月 2024 18:14:51 +0800 Subject: [PATCH] 检验单审核添加对应试验室bug解决 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 68 insertions(+), 21 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java index 395f32c..cc2ffe8 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java @@ -8,6 +8,7 @@ import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -34,6 +35,7 @@ import java.net.URLEncoder; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -56,6 +58,8 @@ private InsProductMapper insProductMapper; private InsProductService insProductService; + + private InsProductUserMapper insProductUserMapper; private GiveCode giveCode; @@ -97,7 +101,7 @@ } } //鍒ゆ柇鏄惁鏄叏閮ㄦ潈闄� - Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectInsOrderParameter")); + Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectAllInsOrderParameter")); if (ObjectUtils.isEmpty(power)) { if (map1.get("look") == 1) { //涓汉 @@ -130,11 +134,14 @@ insOrder.setAppointed(LocalDate.parse(appointed)); insOrder.setSendTime(LocalDateTime.now()); insOrderMapper.updateById(insOrder); - List<InsSample> insSamples = - insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); - List<InsProduct> insProducts = - insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getState, 1).isNull(InsProduct::getInsFibersId).isNull(InsProduct::getInsFiberId).select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory)); + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .in(InsProduct::getInsSampleId, ids) + .eq(InsProduct::getState, 1) +// .isNull(InsProduct::getInsFibersId) +// .isNull(InsProduct::getInsFiberId) + .select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory)); for (InsProduct insProduct : insProducts) { InsOrderState insOrderState = new InsOrderState(); insOrderState.setInsOrderId(orderId); @@ -231,16 +238,28 @@ } } //閮戒负绌� 鍙厤缃簡濂楃 杩欑鎯呭喌鍙檺浜庨」鐩槸鍚湁鏉惧绠$殑 -// else { -// String collect = a.getInsProduct().stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.joining(",")); -// if (collect.contains("鏉惧绠�")){ -// //鑾峰彇妫�楠岄」鐩腑鍖呭惈鏉惧绠$殑妫�楠岄」鐩� -// List<InsProduct> products = a.getInsProduct().stream().filter(insProduct -> insProduct.getInspectionItem().contains("鏉惧绠�")).collect(Collectors.toList()); -// -// }else { -// throw new ErrorException("鏍峰搧鐨勫厜绾ら厤缃俊鎭噷闈㈡病鏈夐厤缃厜绾ゅ甫淇℃伅涔熸病鏈夊厜绾や俊鎭�,璇烽噸鏂伴厤缃繚瀛樺啀鎻愪氦涓嬪崟!!!"); -// } -// } + else { + String collect = a.getInsProduct().stream().map(InsProduct::getInspectionItem).distinct().collect(Collectors.joining(",")); + if (collect.contains("鏉惧绠�")){ + //鑾峰彇妫�楠岄」鐩腑鍖呭惈鏉惧绠$殑妫�楠岄」鐩� + List<InsProduct> products = a.getInsProduct().stream().filter(insProduct -> insProduct.getInspectionItem().contains("鏉惧绠�")).collect(Collectors.toList()); + for (InsProduct product : products) { + product.setInsBushId(bushingDto.getId()); + product.setId(null); + product.setCreateTime(null); + product.setCreateUser(null); + product.setUpdateTime(null); + product.setUpdateUser(null); + product.setInsSampleId(a.getId()); + if (product.getInspectionItemSubclass() == null) { + product.setInspectionItemSubclass(""); + } + insProductMapper.insert(product); + } + }else { + throw new ErrorException("鏍峰搧鐨勫厜绾ら厤缃俊鎭噷闈㈡病鏈夐厤缃厜绾ゅ甫淇℃伅涔熸病鏈夊厜绾や俊鎭�,璇烽噸鏂伴厤缃繚瀛樺啀鎻愪氦涓嬪崟!!!"); + } + } } } } @@ -324,6 +343,9 @@ InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(sampleId).getInsOrderId()); String name = insSampleMapper.selMethodById(sampleId); for (InsProduct product : productList) { + if (product.getInspectionItem().contains("鏉惧绠�")){ + continue; + } if (product.getState() == 1 && !product.getInspectionItem().equals("鍏夌氦鎺ュご鎹熻��")) { //鍒ゆ柇鍏夌紗鐨勬俯搴﹀惊鐜」鐩坊鍔� if (insOrder.getSampleType().equals("鍏夌紗") && product.getInspectionItem().equals("娓╁害寰幆") && type != 0) { @@ -449,7 +471,7 @@ } product.setId(null); product.setCreateTime(null); - product.setUpdateTime(null); + product.setCreateUser(null); product.setUpdateTime(null); product.setUpdateUser(null); product.setInsSampleId(sampleId); @@ -536,6 +558,8 @@ @Override public int upInsOrderOfState(InsOrder insOrder) { + InsOrder order = insOrderMapper.selectById(insOrder.getId()); + insOrder.setCompany(order.getCompany()); insOrder.setExamineTime(LocalDateTime.now()); if (insOrder.getState() == 1) { //瀹℃牳閫氳繃鎵嶄細鐢熸垚濮旀墭缂栧彿 @@ -543,14 +567,15 @@ if (StringUtils.isEmpty(code)) { code = ""; } - Custom custom = customMapper.selectById(insOrder.getCompanyId()); + Custom custom = customMapper.selectById(order.getCompanyId()); + System.out.println("============="+custom.getCompany()); + System.out.println("-------------"+order.getCompany()); String code2 = custom.getCode2(); - if (!custom.getCompany().equals(insOrder.getCompany())){ - Custom one = customMapper.selectOne(Wrappers.<Custom>lambdaQuery().eq(Custom::getCompany, insOrder.getCompany())); + if (!custom.getCompany().equals(order.getCompany())){ + Custom one = customMapper.selectOne(Wrappers.<Custom>lambdaQuery().eq(Custom::getCompany, order.getCompany())); insOrder.setCompanyId(one.getId()); code2=one.getCode2(); } - //String code2 = customMapper.selectById(insOrder.getCompanyId()).getCode2(); insOrder.setEntrustCode(giveCode.giveCode2("JCZX/" + code + "-" + code2 + "-", insOrder.getCompanyId(), insOrder.getLaboratory(), "ins_order", "", "yyMM")); } return insOrderMapper.updateById(insOrder); @@ -561,6 +586,16 @@ Map<String, Object> map = new HashMap<>(); InsOrder insOrder = insOrderMapper.selectById(id); List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory); + for (SampleProductDto sampleProductDto : list) { + List<Integer> ids = sampleProductDto.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList()); + List<InsProductUser> insProductUsers = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery() + .in(InsProductUser::getInsProductId, ids)); + if (CollectionUtils.isNotEmpty(insProductUsers)) { + List<Integer> userIds = insProductUsers.stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); + String collect = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); + sampleProductDto.setCheckName(collect); + } + } map.put("insOrder", insOrder); map.put("sampleProduct", list); //鏌ヨ鎵�鏈夎褰曟ā鐗堝幓閲� @@ -573,7 +608,19 @@ public Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(SampleProductDto2.class)); - map.put("body", insOrderMapper.selectSampleAndProductByOrderId(page, QueryWrappers.queryWrappers(sampleProductDto))); + IPage<SampleProductDto2> productDto2IPage = insOrderMapper.selectSampleAndProductByOrderId(page, QueryWrappers.queryWrappers(sampleProductDto)); + for (SampleProductDto2 record : productDto2IPage.getRecords()) { + InsProductUser insProductUser = insProductUserMapper.selectOne(Wrappers.<InsProductUser>lambdaQuery() + .eq(InsProductUser::getInsProductId, record.getInsProductId()) + .orderByDesc(InsProductUser::getCreateTime) + .last("limit 1")); + if (ObjectUtils.isNotEmpty(insProductUser)){ + record.setCheckName(userMapper.selectById(insProductUser.getCreateUser()).getName()); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + record.setCheckTime(insProductUser.getCreateTime().format(formatter)); + } + } + map.put("body",productDto2IPage); return map; } -- Gitblit v1.9.3