From c623c05868d94854e31652181570537a6493a7eb Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 25 四月 2024 09:04:25 +0800
Subject: [PATCH] 完善检验流程;检验报告流程

---
 cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java         |    1 -
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                               |    2 +-
 inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java                   |    4 ++--
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java       |   13 +++++++++++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java    |   22 ++++++++++++++--------
 framework/src/main/java/com/yuanchu/mom/controller/InformationNotificationController.java |    7 +++++++
 cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java                         |    8 +++-----
 7 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java
index b9ebb9c..5f27c94 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/CertificationController.java
@@ -28,7 +28,6 @@
 
     @ApiOperation(value = "鏌ヨ璧勮川鏄庣粏鍒楄〃")
     @PostMapping("/getCertificationDetail")
-    @ValueAuth
     public Result getCertificationDetail(@RequestBody Map<String, Object> data) throws Exception {
         Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
         Certification certification = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), Certification.class);
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java
index cad004f..a7074ae 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Certification.java
@@ -39,7 +39,6 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime firstTime;
 
-    @ValueTableShow(7)
     @ApiModelProperty(value = "鏈�杩戦鍙戞椂闂�")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime recentlyTime;
@@ -54,20 +53,19 @@
     private Integer createUser;
 
     @ValueTableShow(9)
-    @ApiModelProperty(value = "鍒涘缓浜�")
+    @ApiModelProperty(value = "鏇存柊浜�")
     private String createUserName;
 
     @ApiModelProperty(value = "淇敼浜篿d")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Integer updateUser;
 
-    @ValueTableShow(10)
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ValueTableShow(7)
+    @ApiModelProperty(value = "鏈�杩戦鍙戞椂闂�")
     @TableField(fill = FieldFill.INSERT)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
-    @ApiModelProperty(value = "鏇存柊鏃堕棿")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateTime;
diff --git a/framework/src/main/java/com/yuanchu/mom/controller/InformationNotificationController.java b/framework/src/main/java/com/yuanchu/mom/controller/InformationNotificationController.java
index 013fda6..ed5f19b 100644
--- a/framework/src/main/java/com/yuanchu/mom/controller/InformationNotificationController.java
+++ b/framework/src/main/java/com/yuanchu/mom/controller/InformationNotificationController.java
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.mapper.InformationNotificationMapper;
 import com.yuanchu.mom.pojo.InformationNotification;
 import com.yuanchu.mom.pojo.InformationNotificationDto;
@@ -33,12 +34,14 @@
 
     @ApiOperation(value = "婊氬姩鍒嗛〉鏌ヨ")
     @GetMapping("page")
+    @ValueAuth
     public Result<?> getPage(Long size, Long current, String messageType) {
         return Result.success(informationNotificationService.getPage(new Page<>(current, size), messageType));
     }
 
     @ApiOperation(value = "鏇存柊娑堟伅鐘舵�侊紙鎷掔粷銆佹帴鏀讹級")
     @PutMapping("updateMessageStatus")
+    @ValueAuth
     public Result<?> updateMessageStatus(@RequestBody InformationNotification informationNotification) {
         informationNotificationService.updateById(informationNotification);
         return Result.success();
@@ -46,6 +49,7 @@
 
     @ApiOperation(value = "鏍囪鎵�鏈変俊鎭负宸茶/鍒犻櫎鎵�鏈夊凡璇绘秷鎭�")
     @PutMapping("informationReadOrDelete/{isMarkAllInformationRead}")
+    @ValueAuth
     public Result<?> markAllInformationReadOrDeleteAllReadMessages(@PathVariable("isMarkAllInformationRead") Boolean isMarkAllInformationRead) {
         informationNotificationService.markAllInformationReadOrDeleteAllReadMessages(isMarkAllInformationRead);
         return Result.success();
@@ -53,6 +57,7 @@
 
     @ApiOperation(value = "鏍规嵁Id鍒犻櫎鏁版嵁")
     @DeleteMapping("deleteDataBasedOnId")
+    @ValueAuth
     public Result<?> deleteDataBasedOnId(Integer id) {
         informationNotificationService.removeById(id);
         return Result.success();
@@ -60,12 +65,14 @@
 
     @ApiOperation(value = "鏌ヨ鏄惁瀛樺湪鏈鏁版嵁")
     @GetMapping("checkForUnreadData")
+    @ValueAuth
     public Result<?> checkForUnreadData() {
         return Result.success(informationNotificationService.checkForUnreadData());
     }
 
     @ApiOperation(value = "鐐瑰嚮璇︽儏瑙﹀彂淇敼鐘舵�佷负宸茶")
     @PutMapping("triggerModificationStatusToRead/{id}")
+    @ValueAuth
     public Result<?> triggerModificationStatusToRead(@PathVariable("id") Integer id) {
         informationNotificationService.triggerModificationStatusToRead(id);
         return Result.success();
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
index fd3015c..615c1a5 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleProductDto2.java
@@ -20,7 +20,7 @@
     @ValueTableShow(value = 4, name = "鏍峰搧鍨嬪彿")
     private String model;
 
-    @ValueTableShow(value = 5, name = "鏍峰搧鐘舵��")
+//    @ValueTableShow(value = 5, name = "鏍峰搧鐘舵��")
     private Integer insState;
 
     @ValueTableShow(value = 15, name = "鍗曚綅")
@@ -37,7 +37,7 @@
 
     private String inspectionItemType;
 
-    @ValueTableShow(value = 11, name = "妫�楠屽�肩被鍨�")
+//    @ValueTableShow(value = 11, name = "妫�楠屽�肩被鍨�")
     private String inspectionValueType;
 
     @ValueTableShow(value = 12, name = "瑕佹眰鍊�")
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 15ca9f6..83c2394 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
@@ -276,16 +276,16 @@
             List<Map<String, Object>> tables = new ArrayList<>();
             Set<String> standardMethod = new HashSet<>();
             Set<String> deviceSet = new HashSet<>();
-            AtomicReference<String> models = new AtomicReference<>("");
+            Set<String> models = new HashSet<>();
             AtomicReference<Integer> productSize = new AtomicReference<>(0);
             String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
             samples.forEach(a -> {
+                models.add(a.getModel());
                 Set<String> templateSet = new HashSet<>();
                 getTemplateThing(set, map2, a);
                 for (InsProduct b : a.getInsProduct()) {
-                    models.set(models.get()+b.getModel());
                     standardMethod.add(b.getMethodS());
-                    productSize.set(productSize.get()+1);
+                    productSize.set(productSize.get() + 1);
                     if (b.getInsProductResult() != null) {
                         List<JSONObject> jsonObjects = JSON.parseArray(b.getInsProductResult().getEquipValue(), JSONObject.class);
                         for (JSONObject jsonObject : jsonObjects) {
@@ -509,7 +509,8 @@
             String url;
             try {
                 InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
-                File file = File.createTempFile("temp", ".tmp");OutputStream outputStream = new FileOutputStream(file);
+                File file = File.createTempFile("temp", ".tmp");
+                OutputStream outputStream = new FileOutputStream(file);
                 IOUtils.copy(inputStream, outputStream);
                 url = file.getAbsolutePath();
             } catch (FileNotFoundException e) {
@@ -539,6 +540,11 @@
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
+            String modelStr = "";
+            for (String model : models) {
+                modelStr += "," + model;
+            }
+            String finalModelStr = modelStr;
             ConfigureBuilder builder = Configure.builder();
             builder.useSpringEL(true);
             XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render(
@@ -553,19 +559,19 @@
                         put("standardMethod", standardMethod2);
                         put("deviceList", deviceList);
                         put("twoCode", Pictures.ofLocal(codePath).create());
-                        put("models", models);
+                        put("models", finalModelStr.replace(",", ""));
                         put("productSize", productSize);
                         put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
-                        put("createTimeEn", monthNames[now.getMonthValue()-1]+" "+now.getDayOfMonth()+", "+now.getYear());
+                        put("createTimeEn", monthNames[now.getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
                         put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
-                        put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue()-1]+" "+now.getDayOfMonth()+", "+now.getYear());
+                        put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
                         put("writeUrl", null);
                         put("insUrl", null);
                         put("examineUrl", null);
                         put("ratifyUrl", null);
                     }});
             try {
-                String name = now.format(DateTimeFormatter.ofPattern("yy_MM_dd&HH_mm_ss")) + ".docx";
+                String name = insReport.getCode().replace("/", "") + ".docx";
                 template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name)));
                 insReport.setUrl("/word/" + name);
                 insReportMapper.insert(insReport);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
index ee1ad15..7e38126 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -15,7 +15,9 @@
 import com.yuanchu.mom.dto.ReportPageDto;
 import com.yuanchu.mom.dto.SampleOrderDto;
 import com.yuanchu.mom.exception.ErrorException;
+import com.yuanchu.mom.mapper.InsOrderMapper;
 import com.yuanchu.mom.mapper.UserMapper;
+import com.yuanchu.mom.pojo.InsOrder;
 import com.yuanchu.mom.pojo.InsReport;
 import com.yuanchu.mom.service.InsReportService;
 import com.yuanchu.mom.mapper.InsReportMapper;
@@ -23,6 +25,7 @@
 import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.io.ByteArrayOutputStream;
@@ -58,6 +61,9 @@
 
     @Value("${file.path}")
     private String imgUrl;
+
+    @Resource
+    private InsOrderMapper insOrderMapper;
 
     @Override
     public Map<String, Object> pageInsReport(Page page, ReportPageDto reportPageDto) {
@@ -127,6 +133,7 @@
         if (isExamine==0){
             //濡傛灉瀹℃牳涓嶉�氳繃
             insReport.setState(0);//鎻愪氦鐘舵�佹敼涓哄緟鎻愪氦
+            return insReportMapper.updateById(insReport);
         }
         //鑾峰彇瀹℃牳浜虹殑绛惧悕鍦板潃
         String signatureUrl = userMapper.selectById(insReport.getExamineUserId()).getSignatureUrl();
@@ -142,6 +149,7 @@
 
     //鎵瑰噯
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int ratifyReport(Integer id, Integer isRatify, String ratifyTell) {
         InsReport insReport = insReportMapper.selectById(id);
         insReport.setIsRatify(isRatify);
@@ -153,6 +161,7 @@
         if (isRatify==0){
             //濡傛灉鎵瑰噯涓嶉�氳繃
             insReport.setState(0);//鎻愪氦鐘舵�佹敼涓哄緟鎻愪氦
+            return insReportMapper.updateById(insReport);
         }
         //鑾峰彇瀹℃牳浜虹殑绛惧悕鍦板潃
         String signatureUrl = userMapper.selectById(insReport.getRatifyUserId()).getSignatureUrl();
@@ -163,6 +172,10 @@
         wordInsertUrl(new HashMap<String, Object>(){{
             put("ratifyUrl", Pictures.ofLocal(imgUrl+"/"+signatureUrl).create());
         }}, (urlS==null?url:urlS).replace("/word", wordUrl));
+        InsOrder insOrder = new InsOrder();
+        insOrder.setId(insReportMapper.selectById(id).getInsOrderId());
+        insOrder.setState(4);
+        insOrderMapper.updateById(insOrder);
         return insReportMapper.updateById(insReport);
     }
 
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 3326b0e..5c209b2 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -116,7 +116,7 @@
     <select id="selectSampleAndProductByOrderId" resultType="com.yuanchu.mom.dto.SampleProductDto2">
         select *
         from (
-        select i.id,isa.sample_code,isa.sample,isa.model,ip.state,ip.unit,ip.inspection_item,ip.inspection_item_subclass,
+        select i.id,isa.sample_code,isa.sample,isa.model,isa.ins_state,ip.state,ip.unit,ip.inspection_item,ip.inspection_item_subclass,
         ip.son_laboratory,ip.inspection_item_type,ip.inspection_value_type,ip.ask,ip.`last_value`,ip.ins_result,ipr.equip_value
         from ins_sample isa
         left join ins_order i on isa.ins_order_id = i.id

--
Gitblit v1.9.3