From 8dbf8e346080a6cbe22f0bfad55005923b901c3a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 28 六月 2024 17:44:34 +0800
Subject: [PATCH] 标准库导入提示+能力范围场所字段+检验任务新增接口+委托编号生成

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java |    4 +
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsBushingServiceImpl.java   |    9 ---
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                           |    3 +
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   44 ++++++++++++--
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java     |   18 ++++--
 inspect-server/src/main/resources/mapper/StandardTreeMapper.xml                        |   31 ++++++----
 framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java                            |    7 ++
 inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java            |    2 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java               |    4 +
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                            |   15 ++++
 framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java                    |    3 +
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java    |    6 ++
 inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java    |    1 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java                |    2 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java          |    2 
 15 files changed, 114 insertions(+), 37 deletions(-)

diff --git a/framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java b/framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java
index c6db317..fb75b18 100644
--- a/framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java
+++ b/framework/src/main/java/com/yuanchu/mom/mapper/SystemLogMapper.java
@@ -22,5 +22,8 @@
 
     @Select("select coalesce(count(id), 0) from ${tableName} where create_time like concat('%', #{date}, '%')")
     int countRowsByNow(String tableName, String date);
+
+    @Select("select coalesce(count(id), 0) from ${tableName} where examine_time like concat('%', #{date}, '%')")
+    int countRowsByNow2(String tableName, String date);
 }
 
diff --git a/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java b/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java
index 4f60117..0b4faff 100644
--- a/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java
+++ b/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java
@@ -16,7 +16,12 @@
     public String giveCode(String code, String tableName, String symbol, String patten){
         String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
         String date2 = LocalDate.now().format(DateTimeFormatter.ofPattern(patten));
-        int num = systemLogMapper.countRowsByNow(tableName, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) + 1;
+        int num;
+        if (tableName.equals("ins_order")){
+            num = systemLogMapper.countRowsByNow2(tableName, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) + 1;
+        }else {
+             num = systemLogMapper.countRowsByNow(tableName, LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))) + 1;
+        }
         String nums = num + "";
         if(nums.length() == 1) nums = "00" + num;
         else if(nums.length() == 2) nums = "0" + num;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index e37e995..b8b56b1 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -69,6 +69,12 @@
         return Result.success(insOrderPlanService.doInsOrder(id, laboratory));
     }
 
+    @ApiOperation(value = "鍒囨崲鍏夌氦/鍏夌氦甯﹁褰曟ā鐗堟煡璇㈡楠屽唴瀹�")
+    @PostMapping("/getReportModel")
+    public Result<?> getReportModel(Integer orderId) {
+        return Result.success(insOrderPlanService.getReportModel(orderId));
+    }
+
     @ValueAuth
     @PostMapping("/getInsProduct")
     @ApiOperation("鑾峰彇妫�楠岄」鐩拰妯℃澘鍐呭")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
index 648812a..82511d8 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java
@@ -37,6 +37,7 @@
         return Result.success(standardTreeService.selectStandardTreeList());
     }
 
+    @ValueAuth
     @ApiOperation(value = "鑾峰彇鏍囧噯鏍�(妫�楠屼笅鍗�)")
     @GetMapping("/selectStandardTreeList2")
     public Result selectStandardTreeList2() {
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
index 23b64f5..04ae100 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
@@ -47,4 +47,6 @@
     int updateStatus( Integer id);
 
     String selLaboratoryCode(String laboratory);
+
+    List<Map<Integer, Object>> selectReportModelByOrderId(@Param("id") Integer id, @Param("laboratory") String laboratory);
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
index cb35452..1c01c2d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -11,8 +11,10 @@
 import com.yuanchu.mom.pojo.InsSample;
 import com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo;
 import com.yuanchu.mom.vo.InsOrderPlanVO;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
 * @author Administrator
@@ -41,6 +43,8 @@
     List<InsProduct> getInsProduct2(Integer id);
 
     List<InsProduct> getInsProduct3(Integer id);
+
+    List<Map<String, Object>> getReportModel(@Param("orderId") Integer orderId, @Param("id") Integer id, @Param("laboratory") String laboratory);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
index 4b81510..496ea7b 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
@@ -44,6 +44,8 @@
     Integer getStructureItemParameterId(String sampleType, String item, String itemChild);
 
     List<ProductDto> selectPList(String name);
+
+    String selSample(String sample);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index 4ec5f67..2681d7a 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -36,4 +36,6 @@
     Map<String,Object> getFileList(Page page, InsOrderFile insOrderFile);
 
     int uploadFile(Integer orderId, MultipartFile file);
+
+    Map<String,Object> getReportModel(Integer orderId);
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsBushingServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsBushingServiceImpl.java
index df770da..bbb7b7f 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsBushingServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsBushingServiceImpl.java
@@ -43,18 +43,9 @@
             if(bushingDto.getFiber().size()==0){
                 bushingDto.setFibers(insBushingMapper.selectFibersByBushingId(insBushing.getId()));
                 for (FibersDto fibers : bushingDto.getFibers()) {
-//                    getTemplateThing(fibers.getProductList());
                     fibers.setFiber(insBushingMapper.selectFiberByFibersId(fibers.getId()));
-//                    for (FiberDto fiberDto : fibers.getFiber()) {
-//                        getTemplateThing(fiberDto.getProductList());
-//                    }
                 }
             }
-//            else{
-//                for (FiberDto fiberDto : bushingDto.getFiber()) {
-//                    getTemplateThing(fiberDto.getProductList());
-//                }
-//            }
             bushingDtos.add(bushingDto);
         }
         return bushingDtos;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index f9a82a1..8db8b06 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -25,6 +25,7 @@
 import com.deepoove.poi.xwpf.WidthScalePattern;
 import com.yuanchu.mom.common.GetLook;
 import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.dto.BushingDto;
 import com.yuanchu.mom.dto.ExcelDto;
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
 import com.yuanchu.mom.dto.SampleProductDto;
@@ -118,7 +119,13 @@
     private InsBushingService insBushingService;
 
     @Resource
+    private InsBushingMapper insBushingMapper;
+
+    @Resource
     private InsFiberMapper insFiberMapper;
+
+    @Resource
+    private InsFibersMapper insFibersMapper;
 
     @Resource
     private InsOrderFileMapper insOrderFileMapper;
@@ -175,11 +182,8 @@
         Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory);
         List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
         for (SampleProductDto samples : list) {
-//            Set<Integer> set = new HashSet<>();
-//            Map<Integer, String> map2 = new HashMap<>();
             if (BeanUtil.isEmpty(samples.getInsProduct())) continue;
             samples.setBushing(insBushingService.selectBushingBySampleId(samples.getId()));
-//            getTemplateThing(set, map2, samples.getInsProduct());
         }
         map.put("sampleProduct", list);
         return map;
@@ -265,6 +269,34 @@
         }
     }
 
+    //鍒囨崲璁板綍妯$増鏌ヨ妫�楠屽唴瀹�
+    @Override
+    public Map<String, Object> getReportModel(Integer orderId) {
+        Map<String, Object> map = new HashMap<>();
+        List<Integer> insSampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
+        //鍏堟煡鍑哄绠�
+        List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().in(InsBushing::getInsSampleId, insSampleIds));
+        List<InsFibers> fibers = new ArrayList<>();
+        List<InsFiber> fiber = new ArrayList<>();
+        for (InsBushing insBushing : insBushings) {
+            //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯�
+            List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId()));
+            if (CollectionUtils.isNotEmpty(insFibers)) {
+                fibers.addAll(insFibers);
+                //鏌ュ嚭鍏夌氦甯︿笅鎵�鏈夌殑鍏夌氦
+                List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().in(InsFiber::getInsFibersId, insFibers.stream().map(InsFibers::getId).collect(Collectors.toList())));
+                fiber.addAll(fiberList);
+            } else {
+                //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡
+                List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId()));
+                fiber.addAll(insFiberList);
+            }
+        }
+        map.put("鍏夌氦甯�",fibers);
+        map.put("鍏夌氦",fiber);
+        return map;
+    }
+
     @Override
     public void saveInsContext(Map<String, Object> insContext) {
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
@@ -276,9 +308,9 @@
                 List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId, insProduct.getId()));
                 InsProductResult result;
                 if (CollectionUtils.isEmpty(results)) {
-                     result = new InsProductResult();
+                    result = new InsProductResult();
                 } else {
-                     result = results.get(0);
+                    result = results.get(0);
                 }
                 result.setInsProductId(Integer.parseInt(k));
                 if (jo.get("insValue") != null) {
@@ -639,7 +671,7 @@
                                         break;
                                 }
                             } else if (value.equals("搴忓彿")) {
-                                if(itemSet.add(p.getInspectionItem())){
+                                if (itemSet.add(p.getInspectionItem())) {
                                     index.getAndIncrement();
                                 }
                                 textRenderData.setText(index + "");
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 6e42544..253a563 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
@@ -263,12 +263,15 @@
     @Override
     public int upInsOrderOfState(InsOrder insOrder) {
         insOrder.setExamineTime(LocalDateTime.now());
-        String code = baseMapper.selLaboratoryCode(insOrder.getLaboratory());
-        if (StringUtils.isEmpty(code)) {
-            code = "";
+        if (insOrder.getState() == 1) {
+            //瀹℃牳閫氳繃鎵嶄細鐢熸垚濮旀墭缂栧彿
+            String code = baseMapper.selLaboratoryCode(insOrder.getLaboratory());
+            if (StringUtils.isEmpty(code)) {
+                code = "";
+            }
+            String code2 = customMapper.selectById(insOrder.getCompanyId()).getCode2();
+            insOrder.setEntrustCode(giveCode.giveCode("JC/ZX" + code + "-" + code2 + "-", "ins_order", "", "yyMM"));
         }
-        String code2 = customMapper.selectById(insOrder.getCompanyId()).getCode2();
-        insOrder.setEntrustCode(giveCode.giveCode("JC/ZX" + code + "-" + code2 + "-", "ins_order", "", "yyMM"));
         return insOrderMapper.updateById(insOrder);
     }
 
@@ -279,6 +282,9 @@
         List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory);
         map.put("insOrder", insOrder);
         map.put("sampleProduct", list);
+        //鏌ヨ鎵�鏈夎褰曟ā鐗堝幓閲�
+        List<Map<Integer, Object>> list2 = insOrderMapper.selectReportModelByOrderId(id, laboratory);
+        map.put("reportModel", list2);
         return map;
     }
 
@@ -320,7 +326,7 @@
 
     //鏍囩鎵撳嵃
     @Override
-    public  List<SampleProductDto3> labelPrinting(String ids) {
+    public List<SampleProductDto3> labelPrinting(String ids) {
         List<Integer> list = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());
         List<SampleProductDto3> sampleProductDtos = insSampleMapper.selectSampleProductListByOrderId3(list);
         Set<String> processedCodes = new HashSet<>();
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
index abb8e7f..353d6ac 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -186,6 +186,10 @@
                 str.setStandardMethodListId(standardMethodId);
                 str.setSampleType(list.get(1) + "");
                 if (list.get(2) != null) {
+                    String sample = baseMapper.selSample(list.get(2) + "");
+                    if (sample == null) {
+                        throw new ErrorException("鏍峰搧涓嶅瓨鍦細" + list.get(2));
+                    }
                     str.setSample(list.get(2) + "");
                 } else {
                     str.setSample(null);
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index ced1149..8d270b4 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -98,8 +98,10 @@
         (select count(*) from ins_sample isa2
         where isa2.ins_order_id = io.id and isa2.sample_code NOT REGEXP '/' ) sample_num,
         concat(ROUND((select count(*) from ins_product ip
-        where state = 1 and ins_result is not null and ip.ins_sample_id in (select id from ins_sample where ins_sample.ins_order_id= io.id )) / (select count(*) from ins_product ip2
-        where state = 1 and ip2.ins_sample_id in (select id from ins_sample where ins_sample.ins_order_id= io.id )) * 100, 2), '%') insProgress,
+        where state = 1 and ins_result is not null and ip.ins_sample_id in (select id from ins_sample where
+        ins_sample.ins_order_id= io.id )) / (select count(*) from ins_product ip2
+        where state = 1 and ip2.ins_sample_id in (select id from ins_sample where ins_sample.ins_order_id= io.id )) *
+        100, 2), '%') insProgress,
         group_concat(distinct isa.sample_code,' ') sample_code,
         group_concat(distinct isa.sample,' ') sample_name,
         group_concat(distinct isa.model,' ') sample_model,
@@ -289,4 +291,13 @@
         from laboratory
         where laboratory_name = #{laboratory}
     </select>
+    <select id="selectReportModelByOrderId" resultType="java.util.Map">
+        select distinct id, name
+        from standard_template
+        where id in (select template_id
+                     from ins_product
+                     where son_laboratory = #{laboratory}
+                       and ins_sample_id in
+                           (select id from ins_sample where ins_order_id = #{id}))
+    </select>
 </mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index ea1827b..af4aea4 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -447,6 +447,9 @@
           and state = 1
           and ins_fibers_id is null
     </select>
+    <select id="getReportModel" resultType="java.util.Map">
+
+    </select>
 
     <resultMap id="sampleDto" type="com.yuanchu.mom.dto.SampleProductDto">
         <id property="id" column="id" jdbcType="INTEGER"/>
diff --git a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
index d7fcdae..47e1cc0 100644
--- a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
+++ b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -167,7 +167,7 @@
                 OR sample LIKE CONCAT('%[', #{tree}, ']%')
             )
           and (laboratory is null
-            or laboratory=''
+            or laboratory = ''
             or laboratory = #{laboratory})
         order by case
                      when man_hour_group is NULL then 1
@@ -213,9 +213,9 @@
                id        structure_item_parameter_id
         from structure_item_parameter
         where sample LIKE CONCAT('%[', #{tree}, ']%')
-            and (laboratory is null
-            or laboratory=''
-           or laboratory = #{laboratory})
+          and (laboratory is null
+            or laboratory = ''
+            or laboratory = #{laboratory})
         order by case
                      when man_hour_group is NULL then 1
                      when man_hour_group = '' then 1
@@ -269,14 +269,14 @@
                id        structure_item_parameter_id
         from structure_item_parameter
         where (
-                      sample is NULL
-                      OR sample = ''
-                      or sample = '[]'
-                      OR sample LIKE CONCAT('%', #{tree}, '%')
-                  )
-            and (laboratory is null
-            or laboratory=''
-           or laboratory = #{laboratory})
+                sample is NULL
+                OR sample = ''
+                or sample = '[]'
+                OR sample LIKE CONCAT('%', #{tree}, '%')
+            )
+          and (laboratory is null
+            or laboratory = ''
+            or laboratory = #{laboratory})
         order by case
                      when man_hour_group is NULL then 1
                      when man_hour_group = '' then 1
@@ -289,7 +289,7 @@
                 , id asc
     </select>
     <select id="getStandardTree3" resultType="com.yuanchu.mom.dto.SampleDto">
-        select  model label,
+        select model label,
                model value
         from standard_tree
         where sample_type = #{sampleType}
@@ -319,4 +319,9 @@
         where sto.specimen_name = #{name}
         order by p.id
     </select>
+    <select id="selSample" resultType="java.lang.String">
+        select name
+        from product
+        where name = #{name}
+    </select>
 </mapper>

--
Gitblit v1.9.3