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