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