From 9f19d3a24f8474bf6f9eb9401888c44b34b381e6 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 21 十一月 2024 14:29:50 +0800 Subject: [PATCH] 第一次改动(检验任务与样品关联,附件与样品关联,报告与样品关联) --- inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java | 5 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java | 3 inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java | 1463 +++++++++++++++++++------------------- inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto2.java | 13 inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml | 5 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java | 3 inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java | 107 +- inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml | 6 inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java | 2 inspect-server/src/main/resources/mapper/InsReportMapper.xml | 41 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java | 5 inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java | 10 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java | 2 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java | 2 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java | 2 inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java | 2 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java | 3 inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java | 1 inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 80 +- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java | 51 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 256 ++--- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 118 -- inspect-server/src/main/resources/mapper/InsProductMapper.xml | 3 inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java | 3 inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java | 6 inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java | 2 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java | 2 inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java | 3 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java | 8 inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderStateDto.java | 16 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java | 9 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java | 26 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java | 12 inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java | 5 34 files changed, 1,122 insertions(+), 1,153 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java index 0a605bd..67b80d4 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java @@ -59,15 +59,6 @@ return Result.success(); } - - @ValueClassify("妫�楠屼笅鍗�") - @ApiOperation(value = "妫�楠屽垎閰�") - @PostMapping("/upInsOrder") - //鏆傛椂鍋滅敤 - public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId,String sonLaboratory) { - return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId,sonLaboratory)); - } - @ValueClassify("妫�楠屼笅鍗�") @ApiOperation(value = "娣诲姞妫�楠屼笅鍗曟暟鎹�") @PostMapping("/addInsOrder") 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 88e2c02..1dc996a 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 @@ -75,13 +75,14 @@ @ValueClassify("妫�楠屼换鍔�") @ApiOperation(value = "鎵ц妫�楠屾搷浣�") @PostMapping("/doInsOrder") - public Result<?> doInsOrder(Integer id, String laboratory) { - return Result.success(insOrderPlanService.doInsOrder(id, laboratory)); + public Result<?> doInsOrder(Integer sampleId, String laboratory) { + return Result.success(insOrderPlanService.doInsOrder(sampleId, laboratory)); } @ValueAuth @PostMapping("/getInsProduct") @ApiOperation("鑾峰彇妫�楠岄」鐩拰妯℃澘鍐呭") + //杩欓噷鐨刬d灏辨槸鏍峰搧id public Result<?> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request) { return Result.success(insOrderPlanService.getInsProduct(id, type, laboratory, request)); } @@ -89,29 +90,29 @@ @ValueClassify("妫�楠屼换鍔�") @ApiOperation(value = "浠诲姟浜ゆ帴") @PostMapping("/upPlanUser") - public Result<?> upPlanUser(Integer userId, Integer orderId, String sonLaboratory) { - return Result.success(insOrderPlanService.upPlanUser(userId, orderId, sonLaboratory)); + public Result<?> upPlanUser(Integer userId, Integer sampleId, String sonLaboratory) { + return Result.success(insOrderPlanService.upPlanUser(userId, sampleId, sonLaboratory)); } @ValueAuth @ApiOperation(value = "鍒ゆ柇浜ゆ帴鐨勮瘯楠屽") @PostMapping("/upPlanUser2") - public Result<?> upPlanUser2(Integer orderId) { - return Result.success(insOrderPlanService.upPlanUser2(orderId)); + public Result<?> upPlanUser2(Integer sampleId) { + return Result.success(insOrderPlanService.upPlanUser2(sampleId)); } @ValueClassify("妫�楠屼换鍔�") @ApiOperation(value = "澶嶆牳妫�楠屼换鍔�") @PostMapping("/verifyPlan") - public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException { - return Result.success(insOrderPlanService.verifyPlan(orderId, laboratory, type, tell)); + public Result<?> verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) throws IOException { + return Result.success(insOrderPlanService.verifyPlan(sampleId, laboratory, type, tell)); } @ValueAuth @ApiOperation(value = "鏍¢獙妫�楠屼换鍔℃彁浜�") @PostMapping("/checkSubmitPlan") - public Result<?> checkSubmitPlan(Integer orderId, String laboratory) { - return Result.success(insOrderPlanService.checkSubmitPlan(orderId, laboratory)); + public Result<?> checkSubmitPlan(Integer sampleId, String laboratory) { + return Result.success(insOrderPlanService.checkSubmitPlan(sampleId, laboratory)); } @ValueClassify("妫�楠屼换鍔�") @@ -165,8 +166,8 @@ @ValueClassify("妫�楠屼换鍔�") @ApiOperation(value = "涓婁紶闄勪欢") @PostMapping("/uploadFile") - public Result<?> uploadFile(Integer orderId, MultipartFile file, String sonLaboratory) { - return Result.success(insOrderPlanService.uploadFile(orderId, file, sonLaboratory)); + public Result<?> uploadFile(Integer orderId, MultipartFile file, String sonLaboratory,Integer sampleId) { + return Result.success(insOrderPlanService.uploadFile(orderId, file, sonLaboratory,sampleId)); } @ValueClassify("妫�楠屼换鍔�") @@ -229,6 +230,7 @@ @ValueAuth @PostMapping("/getInsProduct2") @ApiOperation("鏌ョ湅妫�楠屽巻鍙�") + //杩欓噷鐨刬d鏄牱鍝乮d public Result<?> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request, Integer num) { return Result.success(insOrderPlanService.getInsProduct2(id, type, laboratory, request, num)); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java index 7029913..5ea7804 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java @@ -78,12 +78,12 @@ return Result.success(insReportService.upReportUrl(id)); } - @ValueClassify("鎶ュ憡缂栧埗") + /*@ValueClassify("鎶ュ憡缂栧埗") @ApiOperation(value = "鎶ュ憡鍦ㄧ嚎缂栧埗") @GetMapping("/upReportFile") public Result upReportFile() { return Result.success(); - } + }*/ @ValueClassify("鎶ュ憡缂栧埗") @ApiOperation(value = "鎻愪氦") @@ -151,7 +151,7 @@ } @ValueAuth - @ApiOperation(value = "鏌ュ嚭璇ヨ鍗曚笅姣忎釜绔欑偣涓嬬殑妫�楠屾鏁�") + @ApiOperation(value = "鏌ュ嚭璇ヨ鍗曚笅姣忎釜鏍峰搧涓嬫瘡涓珯鐐圭殑妫�楠屾鏁�") @GetMapping("/getInsOrderStateCount") public Result getInsOrderStateCount(Integer id){ return Result.success(insReportService.getInsOrderStateCount(id)); diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java index d6aaae8..a66a416 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java @@ -11,7 +11,7 @@ @Data public class InsOrderPlanDTO extends OrderBy implements Serializable { - @ApiModelProperty("妫�楠屼换鍔′富閿甶d") + @ApiModelProperty("鏍峰搧id") private Long insSampleId; @ApiModelProperty("鐢ㄦ埛id") diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderStateDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderStateDto.java new file mode 100644 index 0000000..77d07a5 --- /dev/null +++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderStateDto.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.InsOrderState; +import com.yuanchu.mom.pojo.InsSample; +import lombok.Data; + +import java.util.List; + +@Data +//鏌ヨ涓�涓鍗曚笅鎵�鏈夋牱鍝佺殑鎵�鏈夋楠屼换鍔� +public class InsOrderStateDto { + + private InsSample insSample; + + private List<InsOrderState> insOrderStates; +} diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java index 521594f..aed4e30 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java @@ -15,6 +15,5 @@ private Integer state; //閫夋嫨鐨勬瘡涓珯鐐圭殑绗嚑娆℃暟鎹� - @NotNull private List<InsReportDto1> insReportDto1s; } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java index dca5bd8..e0ad6d7 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java @@ -2,12 +2,16 @@ import lombok.Data; +import java.util.List; + @Data public class InsReportDto1 { - private String laboratory; - private Integer num; - private Integer insOrderUsersId; + private Integer sampleId; + + private List<InsReportDto2> insReportDto2s; + + } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto2.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto2.java new file mode 100644 index 0000000..46fdc3a --- /dev/null +++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto2.java @@ -0,0 +1,13 @@ +package com.yuanchu.mom.dto; + +import lombok.Data; + +@Data +public class InsReportDto2 { + + private String laboratory; + + private Integer num; + + private Integer insOrderUsersId; +} diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java index 5624ac8..71ebeb1 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java @@ -13,6 +13,9 @@ @ApiModelProperty(value = "濮旀墭缂栧彿") private String entrustCode; + @ApiModelProperty(value = "鏍峰搧缂栧彿") + private String sampleCode; + @ValueTableShow(value = 3,name = "鎻愪氦浜�") private String writeUserName; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java index 52e591c..3791f79 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java @@ -10,7 +10,7 @@ @Data public class SubmitPlanDto { - private Integer orderId; + private Integer sampleId; private String laboratory; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java index 6dfe1c7..9fbcabd 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java @@ -17,5 +17,5 @@ */ public interface InsOrderFileMapper extends BaseMapper<InsOrderFile> { - IPage<InsOrderFile> getFileList(@Param("page") Page page, @Param("ew") QueryWrapper<InsOrderFile> ew , @Param("insOrderId") Integer insOrderId, @Param("sonLaboratory") String sonLaboratory); + IPage<InsOrderFile> getFileList(@Param("page") Page page, @Param("ew") QueryWrapper<InsOrderFile> ew , @Param("insOrderId") Integer insOrderId, @Param("sonLaboratory") String sonLaboratory, @Param("sampleId") Integer sampleId); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java index de88699..b298074 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java @@ -2,6 +2,7 @@ import com.yuanchu.mom.pojo.InsOrderState; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -14,7 +15,7 @@ public interface InsOrderStateMapper extends BaseMapper<InsOrderState> { - List<InsOrderState> getInsOrderStateCount(Integer id); + List<InsOrderState> getInsOrderStateCount(@Param("id") Integer id, @Param("sampleId") Integer sampleId); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java index 837544d..35cc98d 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java @@ -29,7 +29,7 @@ IPage<InsProduct> selectNoProducts(Page page, Integer orderId); - int selectInsProductCountByOrderId(int orderId); + int selectInsProductCountByOrderId(int sampleId); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java index cfd8c06..91af250 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java @@ -15,7 +15,7 @@ */ public interface InsReportMapper extends BaseMapper<InsReport> { - IPage<ReportPageDto> pageInsReport(IPage<ReportPageDto> page, @Param("ew") QueryWrapper<ReportPageDto> ew, @Param("laboratory") String laboratory); + IPage<ReportPageDto> pageInsReport(IPage<ReportPageDto> page, @Param("ew") QueryWrapper<ReportPageDto> ew); String getLaboratoryByName(String name); 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 ab0a329..972f6b6 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 @@ -29,15 +29,15 @@ IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, @Param("ew") QueryWrapper<InsOrderPlanDTO> ew, @Param("userId") Integer userId, @Param("sonLaboratory") String sonLaboratory, @Param("laboratory") String laboratory); - List<SampleProductDto> selectSampleProductListByOrderId(Integer id); + SampleProductDto selectSampleProductListByOrderId(Integer id); List<SampleProductDto> selectSampleProductListByOrderId2(Integer id); List<SampleProductDto> selectSampleProductListByOrder2Id2(Integer id); List<SampleProductDto3> selectSampleProductListByOrderId3(List<Integer> ids); - List<SampleProductDto> getInsOrderAndSample(Integer id, String laboratory); - List<SampleProductDto> getInsOrderAndSample2(Integer id, String laboratory); + SampleProductDto getInsOrderAndSample(Integer sampleId, String laboratory); + SampleProductDto getInsOrderAndSample2(Integer sampleId, String laboratory); String getSampleEn(String sample); @@ -60,8 +60,6 @@ //鏌ヨ涓旇繃婊ゅ嚭鏈夌數璺瘯楠岀殑鏍峰搧 List<InsSample> selectSample(Integer insOrderId); - - List<SampleProductDto> selectList1(Integer id); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java index cfee659..fcc1806 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java @@ -69,4 +69,7 @@ @ApiModelProperty("鎵�灞炵珯鐐�") @ValueTableShow(6) private String sonLaboratory; + + @ApiModelProperty("鍏宠仈 鏍峰搧澶栭敭id") + private Integer insSampleId; } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java index d69851a..e940323 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java @@ -101,4 +101,7 @@ @TableField(select = false,exist = false) private List<InsOrderUser> insOrderUserList; + @ApiModelProperty("鍏宠仈 鏍峰搧澶栭敭id") + private Integer insSampleId; + } \ No newline at end of file diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java index a845fd2..c47335a 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java @@ -35,6 +35,11 @@ private Integer insOrderId; /** + * 澶栭敭锛氭牱鍝乮did + */ + private Integer insSampleId; + + /** * 绯荤粺鐢熸垚鎶ュ憡鍦板潃 */ private String url; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java index ccd4e21..7dab043 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java @@ -27,7 +27,7 @@ private Integer id; /** - * 澶栭敭锛氭楠屾牱鍝乮ns_sample琛╥d(瀹為檯鍏宠仈ins_order琛╥d) + * 澶栭敭锛氭楠屾牱鍝乮ns_sample琛╥d */ private Integer insSampleId; 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 640c48b..9eecab7 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 @@ -32,24 +32,24 @@ //鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹� List<Integer> saveInsContext2(InsProductResultDto insProductResultDtos); - Map<String, Object> doInsOrder(Integer id, String laboratory); + Map<String, Object> doInsOrder(Integer sampleId, String laboratory); - int upPlanUser(Integer userId, Integer orderId,String sonLaboratory); + int upPlanUser(Integer userId, Integer sampleId,String sonLaboratory); - int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException; + int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) throws IOException; int submitPlan(SubmitPlanDto submitPlanDto); List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request); List<InsProduct> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request,Integer num); - List<String> checkSubmitPlan(Integer orderId, String laboratory); + List<String> checkSubmitPlan(Integer sampleId, String laboratory); Map<String,Object> getFileList(Page page, InsOrderFile insOrderFile); - int uploadFile(Integer orderId, MultipartFile file,String sonLaboratory); + int uploadFile(Integer orderId, MultipartFile file,String sonLaboratory,Integer sampleId); - List<String> upPlanUser2(Integer orderId); + List<String> upPlanUser2(Integer sampleId); int deleteInsContext(InsProductResultVo insProductResultVo); diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java index a15d44f..174116f 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java @@ -24,9 +24,6 @@ //鑾峰彇鍗曚綅妫�楠屼笅鍗曟暟鎹� Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto); - //鍒嗛厤绔欑偣 - int upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId,String sonLaboratory); - int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing, List<MultipartFile> files); Map<String, Object> getInsOrder(Integer id); @@ -35,7 +32,7 @@ int upInsOrderOfState2(InsOrder insOrder); - Map<String, Object> getInsOrderAndSample(Integer id, String laboratory); + Map<String, Object> getInsOrderAndSample(Integer sampleId, String laboratory); Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto); diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java index 5b3532b..a26f141 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.InsOrderStateDto; import com.yuanchu.mom.dto.InsReportDto; import com.yuanchu.mom.dto.ReportPageDto; import com.yuanchu.mom.pojo.InsOrderState; @@ -45,6 +46,6 @@ //鏄惁鐢熸垚鎬绘姤鍛� int isReport(InsReportDto insReportDto); - //鏌ュ嚭璇ヨ鍗曚笅姣忎釜绔欑偣涓嬬殑妫�楠屾鏁� - List<InsOrderState> getInsOrderStateCount(Integer id); + //鏌ュ嚭璇ヨ鍗曚笅姣忎釜鏍峰搧涓嬫瘡涓珯鐐逛笅鐨勬楠屾鏁� + List<InsOrderStateDto> getInsOrderStateCount(Integer id); } 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 eef9505..69a5707 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 @@ -78,8 +78,6 @@ private ShiftTimeMapper shiftTimeMapper; @Resource private PerformanceShiftMapper performanceShiftMapper; - @Resource - private WarehouseHistoryMapper warehouseHistoryMapper; @Resource private WarehouseService warehouseService; @@ -87,14 +85,8 @@ @Value("${wordUrl}") private String wordUrl; - @Value("${twoCode}") - private String twoCode; - @Resource WordUtils wordUtils; - - @Resource - private InsReportMapper insReportMapper; @Resource private InsProductResultMapper insProductResultMapper; @@ -119,9 +111,6 @@ @Resource private UserMapper userMapper; - - @Resource - private CustomMapper customMapper; @Value("${file.path}") private String imgUrl; @@ -180,20 +169,23 @@ } @Override - public Map<String, Object> doInsOrder(Integer id, String laboratory) { + public Map<String, Object> doInsOrder(Integer sampleId, String laboratory) { + InsSample insSample = insSampleMapper.selectById(sampleId); InsOrder insOrder = new InsOrder(); - insOrder.setId(id); - InsOrder order = insOrderMapper.selectById(id); + insOrder.setId(insSample.getInsOrderId()); + InsOrder order = insOrderMapper.selectById(insSample.getInsOrderId()); if (BeanUtil.isEmpty(order.getInsTime())) { - insOrder.setInsTime(LocalDateTime.now()); + insOrder.setInsTime(LocalDateTime.now());//璁㈠崟鐨勬楠屾椂闂� insOrderMapper.updateById(insOrder); + //鏇存柊妫�楠屼换鍔¤〃鐨勬楠屾椂闂� insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() - .eq(InsOrderState::getInsOrderId, id) + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) .eq(InsOrderState::getLaboratory, laboratory) .set(InsOrderState::getInsTime, LocalDateTime.now()) .set(InsOrderState::getInsState, 1)); } - Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory); + Map<String, Object> map = insOrderService.getInsOrderAndSample(sampleId, laboratory); List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class); map.put("sampleProduct", list); return map; @@ -220,9 +212,6 @@ insProduct.setInsProductResult(insProductResult); } } - /*if (insProducts.size() == 0) { - insProducts = insSampleMapper.getIns2Product1(id, laboratory); - }*/ break; case 1: //鍏夌氦甯� @@ -270,12 +259,10 @@ } @Override - public List<String> checkSubmitPlan(Integer orderId, String laboratory) { + public List<String> checkSubmitPlan(Integer sampleId, String laboratory) { List<String> collect = new ArrayList<>(); - 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::getInsSampleId, sampleId) .eq(InsProduct::getSonLaboratory, laboratory) .eq(InsProduct::getState, 1) .eq(InsProduct::getInsResult, 0)); @@ -294,17 +281,22 @@ Integer insOrderId = insOrderFile.getInsOrderId(); insOrderFile.setInsOrderId(null); String sonLaboratory = null; + Integer sampleId = null; if (ObjectUtils.isNotEmpty(insOrderFile.getSonLaboratory())) { sonLaboratory = insOrderFile.getSonLaboratory(); insOrderFile.setSonLaboratory(null); } - IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile), insOrderId, sonLaboratory); + if (ObjectUtils.isNotEmpty(insOrderFile.getInsSampleId())) { + sampleId = insOrderFile.getInsSampleId(); + insOrderFile.setInsSampleId(null); + } + IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile), insOrderId, sonLaboratory,sampleId); map.put("body", insOrderFileIPage); return map; } @Override - public int uploadFile(Integer orderId, MultipartFile file, String sonLaboratory) { + public int uploadFile(Integer orderId, MultipartFile file, String sonLaboratory, Integer sampleId) { String urlString; String pathName; String path; @@ -312,6 +304,9 @@ String contentType = file.getContentType(); InsOrderFile insOrderFile = new InsOrderFile(); insOrderFile.setInsOrderId(orderId); + if (ObjectUtils.isNotEmpty(sampleId)) { + insOrderFile.setInsSampleId(sampleId); + } insOrderFile.setFileName(filename); if (contentType != null && contentType.startsWith("image/")) { // 鏄浘鐗� @@ -327,28 +322,10 @@ if (!realpath.exists()) { realpath.mkdirs(); } - pathName = file.getOriginalFilename().replace("#", "&"); + pathName = UUID.randomUUID() + "_"+file.getOriginalFilename().replace("#", "&"); urlString = realpath + "/" + pathName; file.transferTo(new File(urlString)); insOrderFile.setFileUrl(pathName); - if (ObjectUtils.isNotEmpty(sonLaboratory)) { - insOrderFile.setSonLaboratory(sonLaboratory); - //鍒犻櫎閲嶅鐨勬暟鎹� - insOrderFileMapper.delete(Wrappers.<InsOrderFile>lambdaQuery() - .eq(InsOrderFile::getInsOrderId, orderId) - .eq(InsOrderFile::getType, insOrderFile.getType()) - .eq(InsOrderFile::getFileName, insOrderFile.getFileName()) - .eq(InsOrderFile::getSonLaboratory, insOrderFile.getSonLaboratory()) - .eq(InsOrderFile::getFileUrl, insOrderFile.getFileUrl())); - } else { - //鍒犻櫎閲嶅鐨勬暟鎹� - insOrderFileMapper.delete(Wrappers.<InsOrderFile>lambdaQuery() - .eq(InsOrderFile::getInsOrderId, orderId) - .eq(InsOrderFile::getType, insOrderFile.getType()) - .eq(InsOrderFile::getFileName, insOrderFile.getFileName()) - .isNull(InsOrderFile::getSonLaboratory) - .eq(InsOrderFile::getFileUrl, insOrderFile.getFileUrl())); - } insOrderFileMapper.insert(insOrderFile); //濡傛灉鏄緪灏勮瘯楠�(杩戝満/杩滅▼涓婁紶鐨刢sv鏂囦欢) String[] split = filename.split("\\."); @@ -368,9 +345,11 @@ } @Override - public List<String> upPlanUser2(Integer orderId) { - List<Integer> sampleId = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList()); - List<String> sonLaboratory = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, sampleId)).stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList()); + public List<String> upPlanUser2(Integer sampleId) { + List<String> sonLaboratory = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getState, 1) + .eq(InsProduct::getInsSampleId, sampleId)) + .stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList()); return sonLaboratory; } @@ -388,17 +367,15 @@ /*鏍峰搧鍏ュ簱*/ warehouseService.inWarehouse(trees, sampleCode); /*鏂板妫�楠屼换鍔�*/ - //鍏堝垽鏂璁㈠崟鏄惁鏈夎繖涓珯鐐圭殑椤圭洰 + //鍏堝垽鏂鏍峰搧鏄惁鏈夎繖涓珯鐐圭殑椤圭洰 InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode)); - List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() - .eq(InsSample::getInsOrderId, insSample.getInsOrderId())).stream().map(InsSample::getId).collect(Collectors.toList()); List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getState, 1) - .in(InsProduct::getInsSampleId, sampleIds)).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList()); + .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList()); if (!collect.contains(sonLaboratory)) { - throw new ErrorException("璇ヨ鍗曟病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!"); + throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!"); } - //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁缁撴潫璇曢獙 + //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁缁撴潫璇曢獙(鍙浠讳竴浠诲姟缁撴潫璇曢獙閮戒笉鑳藉啀娆¤瘯楠�) List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) .eq(InsOrderState::getInsState, 5)); @@ -407,6 +384,7 @@ } InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, insSample.getId()) .eq(InsOrderState::getLaboratory, sonLaboratory)); if (ObjectUtils.isNotEmpty(orderState)) { //缁х画璇曢獙 @@ -418,6 +396,7 @@ } else { InsOrderState insOrderState = new InsOrderState(); insOrderState.setInsOrderId(insSample.getInsOrderId()); + insOrderState.setInsOrderId(insSample.getId()); insOrderState.setLaboratory(sonLaboratory); insOrderState.setInsState(0); insOrderState.setNum(1);//鍒濆鏄涓�娆� @@ -430,25 +409,24 @@ @Override public int outInsOrderState(String sonLaboratory, String sampleCode) { //鍒ゆ柇璇ユ牱鍝佺殑妫�楠屼换鍔℃槸鍚﹀凡缁忕粨鏉�(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙) - //鍏堝垽鏂璁㈠崟鏄惁鏈夎繖涓珯鐐圭殑椤圭洰 + //鍏堝垽鏂鏍峰搧鏄惁鏈夎繖涓珯鐐圭殑椤圭洰 InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode)); - List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() - .eq(InsSample::getInsOrderId, insSample.getInsOrderId())).stream().map(InsSample::getId).collect(Collectors.toList()); List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getState, 1) - .in(InsProduct::getInsSampleId, sampleIds)).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList()); + .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList()); if (!collect.contains(sonLaboratory)) { - throw new ErrorException("璇ヨ鍗曟病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!"); + throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!"); } //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙) List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) - .eq(InsOrderState::getInsState, 5)); + .eq(InsOrderState::getInsState, 5));//缁撴潫璇曢獙 if (CollectionUtils.isEmpty(orderStates)) { List<InsOrderState> orderStates1 = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, insSample.getId()) .eq(InsOrderState::getLaboratory, sonLaboratory) - .eq(InsOrderState::getInsState, 6)); + .eq(InsOrderState::getInsState, 6));//缁х画璇曢獙 if (CollectionUtils.isEmpty(orderStates1)) { throw new ErrorException("璇ユ牱鍝佺殑妫�楠屼换鍔¤繕娌℃湁缁撴潫璇曢獙鎴栫户缁瘯楠�,鏆傛椂鏃犳硶鍑哄簱!"); } @@ -677,11 +655,13 @@ int pId = Integer.parseInt(res.replaceAll("\\D+", "")); InsProduct insProduct = insProductMapper.selectById(pId); // 閫氳繃鏍锋湰id鑾峰彇璁㈠崟id - int orderId = insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId(); - int count = insProductMapper.selectInsProductCountByOrderId(orderId); + InsSample insSample = insSampleMapper.selectById(insProduct.getInsSampleId()); + int orderId = insSample.getInsOrderId(); + int count = insProductMapper.selectInsProductCountByOrderId(insSample.getId()); if (count == 0) { insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, orderId) + .eq(InsOrderState::getInsSampleId, insSample.getId()) .eq(InsOrderState::getLaboratory, insProduct.getSonLaboratory()) .set(InsOrderState::getInsState, 2)); } @@ -703,6 +683,7 @@ InsOrder insOrder = insOrderMapper.selectById(insProductResultDtos.getOrderId()); InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insProductResultDtos.getOrderId()) + .eq(InsOrderState::getInsSampleId, insProductResultDtos.getSampleId()) .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory()) .orderByDesc(InsOrderState::getId) .last("LIMIT 1"));// 纭繚鍙彇涓�鏉¤褰� @@ -816,6 +797,7 @@ if (count == 0) { insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, insProductResultDtos.getOrderId()) + .eq(InsOrderState::getInsSampleId, insProductResultDtos.getSampleId()) .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory()) .set(InsOrderState::getInsState, 2)); } @@ -896,10 +878,10 @@ //浜ゆ帴 @Override - public int upPlanUser(Integer userId, Integer orderId, String sonLaboratory) { + public int upPlanUser(Integer userId, Integer sampleId, String sonLaboratory) { InsSampleUser insSampleUser = new InsSampleUser(); insSampleUser.setUserId(userId); - insSampleUser.setInsSampleId(orderId); + insSampleUser.setInsSampleId(sampleId); insSampleUser.setState(0); insSampleUser.setSonLaboratory(sonLaboratory); return insSampleUserMapper.insert(insSampleUser); @@ -907,47 +889,47 @@ @Override @Transactional(rollbackFor = Exception.class) - public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException { + public int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) throws IOException { LocalDateTime now = LocalDateTime.now(); Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); List<InsUnPass> insUnPasses = new ArrayList<>(); /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/ - List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); - for (InsSample insSample : samples) { - List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, insSample.getId()) - .eq(InsProduct::getSonLaboratory, laboratory) - .eq(InsProduct::getState, 1)); - List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList()); - if (results.contains(0)) { - insSample.setInsResult(0); - } else { - insSample.setInsResult(1); - } - insSampleMapper.updateById(insSample); - /*澶嶆牳鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/ - for (InsProduct insProduct : insProducts) { - if (insProduct.getInsResult() == 0) { - InsUnPass insUnPass = new InsUnPass(); - insUnPass.setId(null); - insUnPass.setModel(insSample.getModel()); - insUnPass.setSample(insSample.getSample()); - insUnPass.setInspectionItem(insProduct.getInspectionItem()); - insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); - insUnPass.setLastValue(insProduct.getLastValue()); - insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode()); - List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); - String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); - insUnPass.setName(name); - insUnPasses.add(insUnPass); - } + InsSample insSample = insSampleMapper.selectById(sampleId); + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, insSample.getId()) + .eq(InsProduct::getSonLaboratory, laboratory) + .eq(InsProduct::getState, 1)); + List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList()); + if (results.contains(0)) { + insSample.setInsResult(0); + } else { + insSample.setInsResult(1); + } + insSampleMapper.updateById(insSample); + /*澶嶆牳鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/ + InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId()); + for (InsProduct insProduct : insProducts) { + if (insProduct.getInsResult() == 0) { + InsUnPass insUnPass = new InsUnPass(); + insUnPass.setId(null); + insUnPass.setModel(insSample.getModel()); + insUnPass.setSample(insSample.getSample()); + insUnPass.setInspectionItem(insProduct.getInspectionItem()); + insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); + insUnPass.setLastValue(insProduct.getLastValue()); + insUnPass.setEntrustCode(insOrder.getEntrustCode()); + List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); + String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); + insUnPass.setName(name); + insUnPasses.add(insUnPass); } } insUnPassService.saveBatch(insUnPasses); /*type=0 鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/ // 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰� InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() - .eq(InsOrderState::getInsOrderId, orderId) + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) .eq(InsOrderState::getLaboratory, laboratory) .orderByDesc(InsOrderState::getId) .last("LIMIT 1")); // 纭繚鍙彇涓�鏉¤褰� @@ -972,7 +954,8 @@ case 1: //缁х画璇曢獙:璇ョ珯鐐逛换鍔$粨鏉�(鍙互鍐嶆鎵爜妫�楠�)锛� insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() - .eq(InsOrderState::getInsOrderId, orderId) + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) .eq(InsOrderState::getLaboratory, laboratory) .set(InsOrderState::getInsState, 6) .set(InsOrderState::getVerifyTell, tell) @@ -981,25 +964,23 @@ case 2: //缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆� insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() - .eq(InsOrderState::getInsOrderId, orderId) + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, sampleId) .eq(InsOrderState::getLaboratory, laboratory) .set(InsOrderState::getInsState, 5) .set(InsOrderState::getVerifyTell, tell) .set(InsOrderState::getVerifyUser, userId)); //濡傛灉璁㈠崟绫诲瀷鏄師鐞嗘牱鏈�,鍒欒璁㈠崟鐩存帴闂幆 - InsOrder insOrder = insOrderMapper.selectById(orderId); if (insOrder.getFormType().equals("鍘熺悊鏍锋満")) { - for (InsSample sample : samples) { - //鍑哄簱 - try { - outInsOrderState(laboratory, sample.getSampleCode()); - } catch (Exception e) { + //鍑哄簱 + try { + outInsOrderState(laboratory, insSample.getSampleCode()); + } catch (Exception e) { - } } - insOrder.setState(4); - insOrderMapper.updateById(insOrder); } + insOrder.setState(4); + insOrderMapper.updateById(insOrder); break; } } @@ -1033,10 +1014,10 @@ @Override public int submitPlan(SubmitPlanDto submitPlanDto) { - List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() - .eq(InsSample::getInsOrderId, submitPlanDto.getOrderId()).select(InsSample::getId)); + InsSample insSample = insSampleMapper.selectById(submitPlanDto.getSampleId()); InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() - .eq(InsOrderState::getInsOrderId, submitPlanDto.getOrderId()) + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, submitPlanDto.getSampleId()) .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory()) .orderByDesc(InsOrderState::getId) .last("LIMIT 1"));// 纭繚鍙彇涓�鏉¤褰� @@ -1049,16 +1030,10 @@ insOrderUser.setNote(ObjectUtils.isNotEmpty(submitPlanDto.getNote()) ? submitPlanDto.getNote() : null); insOrderUser.setTerm(ObjectUtils.isNotEmpty(submitPlanDto.getTerm()) ? submitPlanDto.getTerm() : null); insOrderUserMapper.insert(insOrderUser); - 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::getInsSampleId, insSample.getId()) .eq(InsProduct::getSonLaboratory, submitPlanDto.getLaboratory()) - .eq(InsProduct::getState, 1) - .and(wrapper -> wrapper - .isNull(InsProduct::getInsResult) - .or() - .eq(InsProduct::getInsResult, 2) - )); + .eq(InsProduct::getState, 1)); if (insProducts.size() > 0) { String str = ""; int count = 0; @@ -1090,19 +1065,13 @@ } } insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() - .eq(InsOrderState::getInsOrderId, submitPlanDto.getOrderId()) + .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) + .eq(InsOrderState::getInsSampleId, submitPlanDto.getSampleId()) .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory()) .set(InsOrderState::getInsState, 3) .set(InsOrderState::getVerifyUser, submitPlanDto.getVerifyUser())); - InsOrder insOrder = insOrderMapper.selectById(submitPlanDto.getOrderId()); - /*杩欎釜鎯呭喌鍏堝叧闂�----濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃(缁撴潫璇曢獙)*/ -// if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("璐ㄩ噺閮�")) { -// try { -// verifyPlan(orderId, laboratory, 2, null); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } else { + InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId()); + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); //LIMS绯荤粺娑堟伅鎺ㄩ�� InformationNotification info = new InformationNotification(); @@ -1116,25 +1085,24 @@ info.setJumpPath("b1-inspect-order-plan"); informationNotificationService.addInformationNotification(info); // todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss - HashMap<String, Object> map = new HashMap<>(); - String account = userMapper.selectById(submitPlanDto.getVerifyUser()).getAccount(); - map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧) - map.put("toparty", "");//鎺ユ敹閮ㄩ棬id - map.put("totag", "");//娑堟伅鏍囩id - map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰 - map.put("agentid", 1000517);//搴旂敤id - HashMap<String, Object> hashMap = new HashMap<>(); - hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�"+insOrder.getEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); - map.put("text", hashMap);//娑堟伅鍐呭 - map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� - map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� - map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚� - qywxApi.send(map); -// } + HashMap<String, Object> map = new HashMap<>(); + String account = userMapper.selectById(submitPlanDto.getVerifyUser()).getAccount(); + map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧) + map.put("toparty", "");//鎺ユ敹閮ㄩ棬id + map.put("totag", "");//娑堟伅鏍囩id + map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰 + map.put("agentid", 1000517);//搴旂敤id + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); + map.put("text", hashMap);//娑堟伅鍐呭 + map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� + map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� + map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚� + qywxApi.send(map); //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜� InsSampleUser insSampleUser = new InsSampleUser(); insSampleUser.setUserId(submitPlanDto.getVerifyUser()); - insSampleUser.setInsSampleId(submitPlanDto.getOrderId()); + insSampleUser.setInsSampleId(submitPlanDto.getSampleId()); insSampleUser.setState(1); insSampleUser.setSonLaboratory(submitPlanDto.getLaboratory()); insSampleUserMapper.insert(insSampleUser); 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 8701757..249dd00 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 @@ -81,22 +81,13 @@ @Resource InsProductResultMapper insProductResultMapper; @Resource - private WarehouseHistoryMapper warehouseHistoryMapper; - @Resource private InsProductMapper insProductMapper; - @Resource - private InsProductService insProductService; @Resource private InsProductUserMapper insProductUserMapper; @Resource private GiveCode giveCode; @Resource - private InsSampleUserMapper insSampleUserMapper; - @Resource - private InsOrderStateMapper insOrderStateMapper; - @Resource UserMapper userMapper; - @Resource InformationNotificationService informationNotificationService; @Resource @@ -141,34 +132,6 @@ }); map.put("body", sampleOrderDtoIPage); return map; - } - - //鍒嗛厤绔欑偣 - @Override - @Transactional(rollbackFor = Exception.class) - public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory) { - InsOrder insOrder = new InsOrder(); - insOrder.setId(orderId); - //insOrder.setAppointed(LocalDate.parse(appointed)); - insOrder.setSendTime(LocalDateTime.now()); - insOrderMapper.updateById(insOrder); - //淇敼鎴愬彧缁欏綋鍓嶉�夋嫨鐨勮瘯楠屽涓嬪彂鍗曞瓙 - InsOrderState insOrderState = new InsOrderState(); - insOrderState.setInsOrderId(orderId); - insOrderState.setLaboratory(sonLaboratory); - insOrderState.setInsState(0); - insOrderState.setNum(1);//鍒濆鏄涓�娆� - insOrderStateMapper.insert(insOrderState); - //杩欓噷鏄湪缁欏垎閰嶇殑鎸囧畾鐨勪汉鍜岃瘯楠屽涓嬪彂妫�楠屼汉 - if (userId != null) { - InsSampleUser insSampleUser = new InsSampleUser(); - insSampleUser.setState(0); - insSampleUser.setUserId(userId); - insSampleUser.setInsSampleId(orderId); - insSampleUser.setSonLaboratory(sonLaboratory); - insSampleUserMapper.insert(insSampleUser); - } - return 1; } @Override @@ -257,7 +220,7 @@ if (insOrder.getOrderType().equals("C")) { insOrder.setState(1); upInsOrderOfState(insOrder); - }else if (insOrder.getOrderType().equals("A")){ + } else if (insOrder.getOrderType().equals("A")) { //甯歌澶栭儴鍗曢渶娑堟伅鎻愰啋妫�楠屼腑蹇冧富浠诲拰鐮斿彂閮ㄧ粡鐞� //todo 浼佷笟寰俊鎺ㄩ�� users1.addAll(users2); @@ -267,7 +230,7 @@ map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰 map.put("agentid", 1000517);//搴旂敤id HashMap<String, Object> hashMap = new HashMap<>(); - hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); + hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細" + insOrder.getOutEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); map.put("text", hashMap);//娑堟伅鍐呭 map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� @@ -280,7 +243,7 @@ info.setCreateUser(userMapper.selectById(userId).getName()); info.setMessageType("2"); info.setTheme("瀹℃牳閫氱煡"); - info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:"+insOrder.getOutEntrustCode()); + info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:" + insOrder.getOutEntrustCode()); info.setSenderId(userId); info.setViewStatus(false); info.setJumpPath("b1-inspect-order"); @@ -288,7 +251,7 @@ notificationArrayList.add(info); } informationNotificationService.saveBatch(notificationArrayList); - }else if (insOrder.getOrderType().equals("B")){ + } else if (insOrder.getOrderType().equals("B")) { //闈炲父瑙勫閮ㄥ崟闇�娑堟伅鎻愰啋妫�楠屼腑蹇冧富浠�,鐮斿彂閮ㄧ粡鐞嗗拰鎶�鏈礋璐d汉 //todo 浼佷笟寰俊鎺ㄩ�� users1.addAll(users2); @@ -299,7 +262,7 @@ map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰 map.put("agentid", 1000517);//搴旂敤id HashMap<String, Object> hashMap = new HashMap<>(); - hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); + hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細" + insOrder.getOutEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); map.put("text", hashMap);//娑堟伅鍐呭 map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� @@ -312,7 +275,7 @@ info.setCreateUser(userMapper.selectById(userId).getName()); info.setMessageType("2"); info.setTheme("瀹℃牳閫氱煡"); - info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:"+insOrder.getOutEntrustCode()); + info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:" + insOrder.getOutEntrustCode()); info.setSenderId(userId); info.setViewStatus(false); info.setJumpPath("b1-inspect-order"); @@ -346,7 +309,7 @@ if (!realpath.exists()) { realpath.mkdirs(); } - pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); + pathName = UUID.randomUUID() + "_" + file.getOriginalFilename().replace("#", "&"); urlString = realpath + "/" + pathName; file.transferTo(new File(urlString)); insOrderFile.setFileUrl(pathName); @@ -365,7 +328,7 @@ map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰 map.put("agentid", 1000517);//搴旂敤id HashMap<String, Object> hashMap = new HashMap<>(); - hashMap.put("content", "鎮ㄦ湁涓�鏉¤鍗曢渶瑕佸畬鎴�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); + hashMap.put("content", "鎮ㄦ湁涓�鏉¤鍗曢渶瑕佸畬鎴�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細" + insOrder.getOutEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>"); map.put("text", hashMap);//娑堟伅鍐呭 map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚� map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚� @@ -377,7 +340,7 @@ info.setCreateUser(insProductMapper.selectUserById(userId).get("name")); info.setMessageType("1"); info.setTheme("鏍锋満鍛橀�氱煡"); - info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曠殑鏍锋満寰呭畬鎴愭秷鎭�,澶栭儴璁㈠崟鍙锋槸锛�"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�"); + info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曠殑鏍锋満寰呭畬鎴愭秷鎭�,澶栭儴璁㈠崟鍙锋槸锛�" + insOrder.getOutEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�"); info.setSenderId(userId); info.setConsigneeId(insOrder.getIssueUser()); info.setViewStatus(false); @@ -479,49 +442,40 @@ } @Override - public Map<String, Object> getInsOrderAndSample(Integer id, String laboratory) { + public Map<String, Object> getInsOrderAndSample(Integer sampleId, String laboratory) { + InsSample insSample = insSampleMapper.selectById(sampleId); Map<String, Object> map = new HashMap<>(); - InsOrder insOrder = insOrderMapper.selectById2(id); - List<SampleProductDto> insSamples = insSampleMapper.selectList1(insOrder.getId()); - List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory); + InsOrder insOrder = insOrderMapper.selectById2(insSample.getInsOrderId()); + SampleProductDto sampleProductDto = insSampleMapper.getInsOrderAndSample(sampleId, laboratory); //鍐嶆璇曢獙浼氬嚭鐜颁负绌虹殑鎯呭喌 - if (list.size() != insSamples.size()) { - List<Integer> ids = list.stream().map(sampleProductDto -> sampleProductDto.getId()).distinct().collect(Collectors.toList()); - List<SampleProductDto> samples = insSamples.stream().filter(insSample -> - !ids.contains(insSample.getId()) - ).collect(Collectors.toList()); - for (SampleProductDto insSample : samples) { - List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, insSample.getId()) - .eq(InsProduct::getState, 1) - .eq(InsProduct::getSonLaboratory, laboratory)); - for (InsProduct insProduct : insProducts) { - List<InsProductResult2> insProductResult2List = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() - .eq(InsProductResult2::getInsProductId, insProduct.getId()).isNull(InsProductResult2::getNum)); - insProduct.setInsProductResult2(insProductResult2List); - InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery() - .eq(InsProductResult::getInsProductId, insProduct.getId()).isNull(InsProductResult::getNum)); - insProduct.setInsProductResult(insProductResult); - } - insSample.setInsProduct(insProducts); - list.add(insSample); + if (ObjectUtils.isEmpty(sampleProductDto)) { + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, insSample.getId()) + .eq(InsProduct::getState, 1) + .eq(InsProduct::getSonLaboratory, laboratory)); + for (InsProduct insProduct : insProducts) { + List<InsProductResult2> insProductResult2List = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() + .eq(InsProductResult2::getInsProductId, insProduct.getId()).isNull(InsProductResult2::getNum)); + insProduct.setInsProductResult2(insProductResult2List); + InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery() + .eq(InsProductResult::getInsProductId, insProduct.getId()).isNull(InsProductResult::getNum)); + insProduct.setInsProductResult(insProductResult); } - + BeanUtils.copyProperties(insSample,sampleProductDto); + sampleProductDto.setInsProduct(insProducts); } - 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); - } + 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); + map.put("sampleProduct", sampleProductDto); //鏌ヨ鎵�鏈夎褰曟ā鐗堝幓閲� - List<Map<Integer, Object>> list2 = insOrderMapper.selectReportModelByOrderId(id, laboratory); + List<Map<Integer, Object>> list2 = insOrderMapper.selectReportModelByOrderId(insSample.getInsOrderId(), laboratory); map.put("reportModel", list2); return map; } 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 6bb76f0..833dce9 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 @@ -26,10 +26,7 @@ import com.itextpdf.text.pdf.PdfStamper; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; -import com.yuanchu.mom.dto.InsReportDto; -import com.yuanchu.mom.dto.InsReportDto1; -import com.yuanchu.mom.dto.ReportPageDto; -import com.yuanchu.mom.dto.SampleProductDto; +import com.yuanchu.mom.dto.*; import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.*; import com.yuanchu.mom.pojo.*; @@ -139,19 +136,7 @@ map.put("head", PrintChina.printChina(ReportPageDto.class)); Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageInsReport"); if (map1.get("look") == 1) reportPageDto.setCreateUser(map1.get("userId")); - User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉 - //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id - String departLimsId = user.getDepartLimsId(); - String laboratory = null; - if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) { - String[] split = departLimsId.split(","); - //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙) - String departLims = insOrderMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); - if (departLims.contains("瀹為獙瀹�")) { - laboratory = departLims; - } - } - map.put("body", insReportMapper.pageInsReport(page, QueryWrappers.queryWrappers(reportPageDto), laboratory)); + map.put("body", insReportMapper.pageInsReport(page, QueryWrappers.queryWrappers(reportPageDto))); return map; } @@ -333,7 +318,6 @@ if (files != null) { for (File f : files) { // 鏍规嵁鏂囦欢鍚嶆煡璇d - String name = f.getName(); InsReport insReport = insReportMapper.selectOne(Wrappers.<InsReport>lambdaQuery().like(InsReport::getCode, f.getName().replace(".docx", ""))); if (ObjectUtils.isEmpty(insReport)) { throw new ErrorException("娌℃湁鎵惧埌 " + f.getName() + " 杩欎釜鏂囦欢瀵瑰簲鐨勬姤鍛婃暟鎹�"); @@ -374,30 +358,37 @@ @Override @Transactional(rollbackFor = Exception.class) public int isReport(InsReportDto insReportDto) { - //鍏堝垽鏂璁㈠崟鏄惁鍙互鍘荤敓浜ф姤鍛� - Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, insReportDto.getId()).eq(InsOrderState::getInsState, 5)); + //鍏堝垽鏂璁㈠崟鏄惁鍙互鍘荤敓浜ф姤鍛�(鏄惁缁撴潫璇曢獙) + Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery() + .eq(InsOrderState::getInsOrderId, insReportDto.getId()).eq(InsOrderState::getInsState, 5)); if (count > 0) { if (insReportDto.getState() == 1) { List<InsReportDto1> insReportDto1s = insReportDto.getInsReportDto1s(); - wordUtils.generateReport(insReportDto.getId(), insReportDto1s); + for (InsReportDto1 insReportDto1 : insReportDto1s) { + wordUtils.generateReport(insReportDto.getId(), insReportDto1); + } } else { - //缁撴潫璁㈠崟 - InsOrder insOrder = new InsOrder(); - insOrder.setId(insReportDto.getId()); - insOrder.setState(4); - insOrderMapper.updateById(insOrder); + //濡傛灉涓嶇敓鎴愬氨涓�鐩存寕鐫� } } else { - throw new ErrorException("璇ヨ鍗曡繕鏈粨鏉熻瘯楠�,鏃犳硶鐢熶骇鎶ュ憡!"); + throw new ErrorException("璇ヨ鍗曡繕鏈粨鏉熻瘯楠�,鏃犳硶鐢熸垚鎶ュ憡!"); } return 0; } //鏌ュ嚭璇ヨ鍗曚笅姣忎釜绔欑偣涓嬬殑妫�楠屾鏁� @Override - public List<InsOrderState> getInsOrderStateCount(Integer id) { - List<InsOrderState> insOrderStates = insOrderStateMapper.getInsOrderStateCount(id); - return insOrderStates; + public List<InsOrderStateDto> getInsOrderStateCount(Integer id) { + List<InsOrderStateDto> insOrderStateDtos = new ArrayList<>(); + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, id)); + for (InsSample insSample : insSamples) { + InsOrderStateDto insOrderStateDto = new InsOrderStateDto(); + insOrderStateDto.setInsSample(insSample); + List<InsOrderState> insOrderStates = insOrderStateMapper.getInsOrderStateCount(id, insSample.getId()); + insOrderStateDto.setInsOrderStates(insOrderStates); + insOrderStateDtos.add(insOrderStateDto); + } + return insOrderStateDtos; } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java b/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java index 46de379..1a9ac2d 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java @@ -1,5 +1,6 @@ package com.yuanchu.mom.utils; +import cn.hutool.core.lang.UUID; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.deepoove.poi.config.ConfigureBuilder; @@ -11,8 +12,10 @@ import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.InsOrderFileMapper; import com.yuanchu.mom.mapper.InsOrderMapper; +import com.yuanchu.mom.mapper.InsSampleMapper; import com.yuanchu.mom.pojo.InsOrder; import com.yuanchu.mom.pojo.InsOrderFile; +import com.yuanchu.mom.pojo.InsSample; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.openxml4j.util.ZipSecureFile; @@ -43,6 +46,9 @@ @Resource InsOrderMapper insOrderMapper; + + @Resource + InsSampleMapper insSampleMapper; public void getFuSheWord1(String sonLaboratory, InsOrderFile insOrderFile) { //璇诲彇excel鏂囦欢鍐呭 @@ -85,8 +91,7 @@ default: System.out.print("NULL\t"); } - } - else { + } else { switch (cell.getCellType()) { case STRING: if (StringUtils.isNotEmpty(s)) { @@ -199,8 +204,8 @@ HashMap<String, Object> map2 = new HashMap<>(); List<Map<String, Object>> list = new ArrayList<>(); XWPFDocument document = new XWPFDocument(); - String jiaodu=""; - String port=""; + String jiaodu = ""; + String port = ""; try (CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(excelFilePath), fileEncoding))) { List<String[]> records = reader.readAll(); for (int i = 0; i < records.size(); i++) { @@ -211,13 +216,13 @@ for (int i1 = 0; i1 < record.length; i1++) { String value = record[i1]; if (i == 0) { - project.put(i1,value); + project.put(i1, value); } if (i == 1) { - biaozhun.put(project.get(i1).toString(),value); + biaozhun.put(project.get(i1).toString(), value); } - if (i>2) { - if (i1==0&&StringUtils.isNotEmpty(value)) { + if (i > 2) { + if (i1 == 0 && StringUtils.isNotEmpty(value)) { if (map2.size() != 0) { map2.put(port, list); @@ -225,16 +230,16 @@ map2 = new HashMap<>(); } datas1.put(value, ""); - jiaodu=value; + jiaodu = value; } else if (i1 == 1 && StringUtils.isNotEmpty(value)) { if (list.size() != 0) { map2.put(port, list); list = new ArrayList<>(); } map2.put(value, ""); - port=value; + port = value; } else if (StringUtils.isNotEmpty(value)) { - if (value.equals("鏈�澶у��")||value.equals("鏈�灏忓��")||value.equals("鎸囨爣")||value.equals("绫诲埆")) { + if (value.equals("鏈�澶у��") || value.equals("鏈�灏忓��") || value.equals("鎸囨爣") || value.equals("绫诲埆")) { break; } else if (value.equals("骞冲潎鍊�")) { for (int i2 = 0; i2 < record.length; i2++) { @@ -242,24 +247,24 @@ if (value1.equals("骞冲潎鍊�")) { continue; } - pingjun.put(project.get(i2).toString(),value1); + pingjun.put(project.get(i2).toString(), value1); } break; } - map1.put(project.get(i1).toString(),value); + map1.put(project.get(i1).toString(), value); } } System.out.print(value + " "); } - if (map1.size()!=0) { + if (map1.size() != 0) { list.add(map1); } - if (pingjun.size()!=0) { - pingjunzhi.put(jiaodu,pingjun); + if (pingjun.size() != 0) { + pingjunzhi.put(jiaodu, pingjun); } - if (i==records.size()-1) { - map2.put(port,list); - datas1.put(jiaodu,map2); + if (i == records.size() - 1) { + map2.put(port, list); + datas1.put(jiaodu, map2); } System.out.println(); } @@ -274,23 +279,23 @@ HashMap<String, Object> map = new HashMap<>(); for (String s : datas1.keySet()) { - Map<String, List<HashMap<String,Object>>> numbers = (Map<String, List<HashMap<String,Object>>>) datas1.get(s); + Map<String, List<HashMap<String, Object>>> numbers = (Map<String, List<HashMap<String, Object>>>) datas1.get(s); for (String s1 : numbers.keySet()) { List<HashMap<String, Object>> hashMaps = numbers.get(s1); List<Integer> floatList = new ArrayList<>(); for (Map<String, Object> number : hashMaps) { number.put("绔彛", s1); - floatList.add( Integer.parseInt((String) number.get("娴嬭瘯棰戠巼(MHZ)"))); + floatList.add(Integer.parseInt((String) number.get("娴嬭瘯棰戠巼(MHZ)"))); } Integer maxValue = Collections.max(floatList); Integer minValue = Collections.min(floatList); - if (map.get(minValue + "-" + maxValue+"-"+s) == null) { - map.put(minValue + "-" + maxValue+"-"+s, s1); + if (map.get(minValue + "-" + maxValue + "-" + s) == null) { + map.put(minValue + "-" + maxValue + "-" + s, s1); } else { - Object o = map.get(minValue + "-" + maxValue+"-"+s); - map.put(minValue + "-" + maxValue+"-"+s, s1 + "," + o); + Object o = map.get(minValue + "-" + maxValue + "-" + s); + map.put(minValue + "-" + maxValue + "-" + s, s1 + "," + o); } } @@ -305,9 +310,9 @@ int size1 = -1; for (String s : datas1.keySet()) { - Map<String, List<HashMap<String,Object>>> o1 = (Map<String, List<HashMap<String,Object>>>)datas1.get(s); + Map<String, List<HashMap<String, Object>>> o1 = (Map<String, List<HashMap<String, Object>>>) datas1.get(s); for (String s3 : o1.keySet()) { - List<HashMap<String, Object>> numbers = o1.get(s3); + List<HashMap<String, Object>> numbers = o1.get(s3); for (String s2 : collect) { if (s3.equals(s2)) { if (numbers.size() > size1) { @@ -323,7 +328,7 @@ System.out.println(map); try { - createWord2(sonLaboratory,document,exceldata, map,pingjunzhi,biaozhun,insOrderFile); + createWord2(sonLaboratory, document, exceldata, map, pingjunzhi, biaozhun, insOrderFile); } catch (IOException e) { e.printStackTrace(); } @@ -518,24 +523,25 @@ paragraph11.setAlignment(ParagraphAlignment.CENTER); XWPFRun run11 = paragraph11.createRun(); double v = count / (Double.parseDouble(s1.toString()) * Double.parseDouble(i1.toString())); - run11.setText(String.format("%.2f",v)); + run11.setText(String.format("%.2f", v)); size++; } } // 杈撳嚭鍒版枃浠� try { - InsOrder insOrder = insOrderMapper.selectById(insOrderFile.getInsOrderId()); + InsSample insSample = insSampleMapper.selectById(insOrderFile.getInsSampleId()); String[] split = insOrderFile.getFileName().split("\\."); String name = insOrderFile.getFileName().substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length())); - FileOutputStream out = new FileOutputStream(wordUrl + "/" + insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + FileOutputStream out = new FileOutputStream(wordUrl + "/" + UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); document.write(out); out.close(); document.close(); InsOrderFile orderFile = new InsOrderFile(); orderFile.setInsOrderId(insOrderFile.getInsOrderId()); - orderFile.setFileUrl(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + orderFile.setInsSampleId(insOrderFile.getInsSampleId()); + orderFile.setFileUrl(UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); orderFile.setType(2); - orderFile.setFileName(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + orderFile.setFileName(insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); orderFile.setSonLaboratory(sonLaboratory); insOrderFileMapper.insert(orderFile); } catch (IOException e) { @@ -543,19 +549,19 @@ } } - public void createWord2(String sonLaboratory,XWPFDocument document,Exceldata exceldata, HashMap<String, Object> map,HashMap<String,Object> pj,HashMap<String,Object> bz,InsOrderFile insOrderFile) throws IOException { + public void createWord2(String sonLaboratory, XWPFDocument document, Exceldata exceldata, HashMap<String, Object> map, HashMap<String, Object> pj, HashMap<String, Object> bz, InsOrderFile insOrderFile) throws IOException { int size = 1; for (String s : map.keySet()) { Map<String, Object> dataRow = exceldata.getDataRow(); String result = s.substring(s.lastIndexOf("-") + 1); - String result1 = s.substring(0,s.lastIndexOf("-")); + String result1 = s.substring(0, s.lastIndexOf("-")); String o = map.get(s).toString(); String[] split = o.split(","); Integer s1 = Integer.parseInt(split[split.length - 1]); Integer i1 = split.length - 1; int row = 3 + s1; int cell = 6 + i1; - HashMap<String,Object> o2 =(HashMap<String,Object>) pj.get(result); + HashMap<String, Object> o2 = (HashMap<String, Object>) pj.get(result); XWPFTable table1 = document.createTable(2, cell); @@ -578,7 +584,7 @@ XWPFRun run15 = paragraph15.createRun(); run15.setText("鏍囧噯瑕佹眰"); - XWPFParagraph paragraph16 = table1.getRow(0).getCell(cell-1).getParagraphArray(0); + XWPFParagraph paragraph16 = table1.getRow(0).getCell(cell - 1).getParagraphArray(0); XWPFRun run16 = paragraph16.createRun(); run16.setText("妫�楠岀粨璁�"); @@ -588,8 +594,7 @@ XWPFParagraph paragraph18 = table1.getRow(1).getCell(0).getParagraphArray(0); XWPFRun run18 = paragraph18.createRun(); - run18.setText("棰戞锛� "+result1+"MHz "+"涓嬪�捐"+result); - + run18.setText("棰戞锛� " + result1 + "MHz " + "涓嬪�捐" + result); List<String> collect = Arrays.stream(split).collect(Collectors.toList()); @@ -604,7 +609,7 @@ Map<String, List<Map<String, Object>>> o1 = (Map<String, List<Map<String, Object>>>) dataRow.get(result); for (String s2 : collect) { - if (s2.contains("绔彛")||s2.contains("P")) { + if (s2.contains("绔彛") || s2.contains("P")) { List<Map<String, Object>> mapList = o1.get(s2); list.addAll(mapList); } @@ -622,7 +627,7 @@ for (String s2 : aggregatedMap.keySet()) { - if (s2.equals("绔彛")||s2.equals("娴嬭瘯棰戠巼(MHZ)")) { + if (s2.equals("绔彛") || s2.equals("娴嬭瘯棰戠巼(MHZ)")) { continue; } List<Map<String, Object>> mapList = aggregatedMap.get(s2); @@ -672,7 +677,6 @@ } - XWPFParagraph paragraph3 = table.getRow(0).getCell(3).getParagraphArray(0); XWPFRun run3 = paragraph3.createRun(); run3.setText(bz.get(s2).toString()); @@ -704,7 +708,7 @@ for (int i = 0; i < collect.size(); i++) { String s3 = collect.get(i); - if (s3.contains("绔彛")||s3.contains("P")) { + if (s3.contains("绔彛") || s3.contains("P")) { XWPFParagraph paragraph10 = table.getRow(1).getCell(5 + i).getParagraphArray(0); XWPFRun run10 = paragraph10.createRun(); run10.setText(s3); @@ -712,7 +716,7 @@ } Map<Integer, List<Map<String, Object>>> group = mapList.stream() - .collect(Collectors.groupingBy(item -> Integer.parseInt(item.get("娴嬭瘯棰戠巼(MHZ)").toString()) )); + .collect(Collectors.groupingBy(item -> Integer.parseInt(item.get("娴嬭瘯棰戠巼(MHZ)").toString()))); int hang = 2; @@ -726,7 +730,7 @@ if (text.equals(port)) { XWPFParagraph paragraph10 = table.getRow(hang).getCell(i).getParagraphArray(0); XWPFRun run10 = paragraph10.createRun(); - count=Double.parseDouble(stringObjectMap.get(s2).toString())+count; + count = Double.parseDouble(stringObjectMap.get(s2).toString()) + count; String project = stringObjectMap.get(s2).toString(); run10.setText(project); } @@ -740,7 +744,7 @@ hang++; } - XWPFParagraph paragraph11 = table.getRow(row-1).getCell(5).getParagraphArray(0); + XWPFParagraph paragraph11 = table.getRow(row - 1).getCell(5).getParagraphArray(0); XWPFRun run11 = paragraph11.createRun(); double v = count / (Double.parseDouble(s1.toString()) * Double.parseDouble(i1.toString())); run11.setText(o2.get(s2).toString()); @@ -752,18 +756,19 @@ // 杈撳嚭鍒版枃浠� try { - InsOrder insOrder = insOrderMapper.selectById(insOrderFile.getInsOrderId()); + InsSample insSample = insSampleMapper.selectById(insOrderFile.getInsSampleId()); String[] split = insOrderFile.getFileName().split("\\."); - String name = insOrderFile.getFileName().replace("#","&").substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length())); - FileOutputStream out = new FileOutputStream(wordUrl + "/" + insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + String name = insOrderFile.getFileName().replace("#", "&").substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length())); + FileOutputStream out = new FileOutputStream(wordUrl + "/" + UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); document.write(out); out.close(); document.close(); InsOrderFile orderFile = new InsOrderFile(); orderFile.setInsOrderId(insOrderFile.getInsOrderId()); - orderFile.setFileUrl(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + orderFile.setInsSampleId(insOrderFile.getInsSampleId()); + orderFile.setFileUrl(UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); orderFile.setType(2); - orderFile.setFileName(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); + orderFile.setFileName(insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx"); orderFile.setSonLaboratory(sonLaboratory); insOrderFileMapper.insert(orderFile); } catch (IOException e) { diff --git a/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java b/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java index 1832479..e3fa1e2 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java @@ -1,5 +1,6 @@ package com.yuanchu.mom.utils; +import cn.hutool.core.lang.UUID; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; @@ -12,6 +13,7 @@ import com.deepoove.poi.data.style.*; import com.deepoove.poi.util.TableTools; import com.yuanchu.mom.dto.InsReportDto1; +import com.yuanchu.mom.dto.InsReportDto2; import com.yuanchu.mom.dto.SampleProductDto; import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.*; @@ -88,6 +90,9 @@ @Resource InsSampleUserMapper insSampleUserMapper; + @Resource + GiveCode giveCode; + //鐢熸垚绔欑偣鐢佃矾璇曢獙鎶ュ憡 public void generateWord(String term, InsOrderState insOrderState) { @@ -97,255 +102,635 @@ List<Map<String, Object>> tables = new ArrayList<>(); //鏌ヨ璁㈠崟 InsOrder insOrder = insOrderMapper.selectById(insOrderState.getInsOrderId()); - //鏌ヨ涓旇繃婊ゅ嚭鏈夌數璺瘯楠岀殑鏍峰搧 - List<InsSample> insSamples = insSampleMapper.selectSample(insOrderState.getInsOrderId()); - insSamples.forEach(insSample -> { - //鏌ヨ椤圭洰 - List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .eq(InsProduct::getInsSampleId, insSample.getId()) - .eq(InsProduct::getSonLaboratory, "鐢佃矾璇曢獙")); - //鑾峰彇鏈�澶х鍙f暟閲�,瑙掑害鏁伴噺,棰戞鏁伴噺 - List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() - .eq(InsProductResult2::getNum, insOrderState.getNum()) - .in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()))); - //鎸夌収棰戞鍒嗚〃(鏌ヨ鎵�鏈夐娈�) - List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList()); - frequencys.forEach(s -> { - int ports = 0;//绔彛鏁� - int angles = 0;//瑙掑害鏁� - for (InsProductResult2 insProductResult2 : insProductResult2s) { - if (insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�") && insProductResult2.getPort().split(",").length > ports) { - ports = insProductResult2.getPort().split(",").length; - } - if (insProductResult2.getAngle().split(",").length > angles) { - angles = insProductResult2.getAngle().split(",").length; - } + //鏌ヨ鏍峰搧 + InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId()); + //鏌ヨ椤圭洰 + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, insSample.getId()) + .eq(InsProduct::getSonLaboratory, "鐢佃矾璇曢獙")); + //鑾峰彇鏈�澶х鍙f暟閲�,瑙掑害鏁伴噺,棰戞鏁伴噺 + List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() + .eq(InsProductResult2::getNum, insOrderState.getNum()) + .in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()))); + //鎸夌収棰戞鍒嗚〃(鏌ヨ鎵�鏈夐娈�) + List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList()); + frequencys.forEach(s -> { + int ports = 0;//绔彛鏁� + int angles = 0;//瑙掑害鏁� + for (InsProductResult2 insProductResult2 : insProductResult2s) { + if (insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�") && insProductResult2.getPort().split(",").length > ports) { + ports = insProductResult2.getPort().split(",").length; } - //棰戠偣鏁� - long often = insProductResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s)) - .filter(insProductResult2 -> - insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("浜掕皟") - ).filter(insProductResult2 -> ObjectUtils.isNotEmpty(insProductResult2.getOften())).distinct().count(); - List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList()); - //琛屾暟 - int aa = 0; - int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1; - //鍏堝垽鏂槸1绠�鍗曠増杩樻槸0澶嶆潅鐗� - if (insOrderState.getVersion() == 1) { - if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) { - aa += 2 * portRow; - } - if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { - aa += 1 * portRow; - } - if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) { - aa += 1 * portRow; - } - if (inspectionItemSubclass.contains("浜掕皟")) { - aa += (angles + 1) * portRow * often; - } - } else { - if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) { - aa += (angles + 1) * portRow; - } - if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { - List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> - insProductMapper.selectById(insProductResult2.getInsProductId()) - .getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害") - ).collect(Collectors.toList()); - int length = result2s.get(0).getPort().split(",").length; - aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); - } - if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) { - List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> - insProductMapper.selectById(insProductResult2.getInsProductId()) - .getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害") - ).collect(Collectors.toList()); - int length = result2s.get(0).getPort().split(",").length; - aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); - } - if (inspectionItemSubclass.contains("浜掕皟")) { - aa += (angles + 1) * portRow * often; - } - if (inspectionItemSubclass.contains("鏈�澶ц�﹀悎搴�")) { - aa += (angles + 1); - } - if (inspectionItemSubclass.contains("鏈�灏忚�﹀悎搴�")) { - aa += (angles + 1); - } - if (inspectionItemSubclass.contains("骞呭害鍋忓樊")) { - List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> - insProductMapper.selectById(insProductResult2.getInsProductId()) - .getInspectionItemSubclass().equals("骞呭害鍋忓樊") - ).collect(Collectors.toList()); - int length = result2s.get(0).getPort().split(",").length; - aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1); - } - if (inspectionItemSubclass.contains("鏈�澶х浉浣嶅亸宸�")) { - List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> - insProductMapper.selectById(insProductResult2.getInsProductId()) - .getInspectionItemSubclass().equals("鏈�澶х浉浣嶅亸宸�") - ).collect(Collectors.toList()); - int length = result2s.get(0).getPort().split(",").length; - aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1); - } + if (insProductResult2.getAngle().split(",").length > angles) { + angles = insProductResult2.getAngle().split(",").length; } - List<RowRenderData> rows = new ArrayList<>(); - Set<String> itemSet = new HashSet<>(); - int cc = 0; - int dd = 0; - int ee = 0; - int ff = 0; - int gg = 0; - int hh = 0; - int mm = 0; - //琛ㄦ牸鐨勮鏁� - for (int i = 0; i <= aa; i++) { - RowRenderData rowRenderData = new RowRenderData(); - RowStyle rowStyle = new RowStyle(); - rowStyle.setHeight(40); - rowRenderData.setRowStyle(rowStyle); - List<CellRenderData> cells = new ArrayList<>(); - //琛ㄦ牸鐨勫垪鏁� - int bb = ports > 8 ? 14 : ports + 6; - for (int j = 0; j < bb; j++) { - CellRenderData cellRenderData = new CellRenderData(); - CellStyle cellStyle = new CellStyle(); - cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); - cellRenderData.setCellStyle(cellStyle); - List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); - ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); - ParagraphStyle paragraphStyle = new ParagraphStyle(); - paragraphStyle.setAlign(ParagraphAlignment.CENTER); - paragraphRenderData.setParagraphStyle(paragraphStyle); - List<RenderData> renderData = new ArrayList<>(); - TextRenderData textRenderData = new TextRenderData(); - Style style = new Style(); - style.setFontFamily("瀹嬩綋"); - style.setColor("000000"); - textRenderData.setStyle(style); - if (i == 0) { - //绗竴琛� - textRenderData.setText("棰戞锛�" + s + "鈭�0" + lable); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - if (insOrderState.getVersion() == 1) { - //闈炵數璋冪増鏈�(绠�鍗曠増) - if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= 2 * portRow) { - cc = 2 * portRow; - if (itemSet.add("鐢靛帇椹绘尝姣�")) { - index.getAndIncrement(); - } - List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�")).collect(Collectors.toList()); - List<InsProductResult2> result2s = insProductResult2s.stream() - .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) - .collect(Collectors.toList()); - //鐢靛帇椹绘尝姣旀墍鍦ㄨ - if (j == 0) { - //绗竴鍒� - textRenderData.setText(index + "鈭�1" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("鐢靛帇椹绘尝姣斺垜2" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒� - textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒� - textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒� - if (i % 2 == 0) { - //鏈�宸�� - textRenderData.setText("鏈�宸��"); - } else { - //绔彛 - textRenderData.setText("绔彛"); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == bb - 1) { - //鏈�鍚庝竴鍒� - if (i % 2 == 0) { - //缁撹 - if (products.get(0).getInsResult() == 1) { - textRenderData.setText("鍚堟牸"); - } else if (products.get(0).getInsResult() == 0) { - textRenderData.setText("涓嶅悎鏍�"); - } else { - textRenderData.setText("涓嶅垽瀹�"); - } - } else { - textRenderData.setText("/"); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鍏朵綑鍒� - if (i % 2 == 0) { - //鏈�宸�� - String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); - try { - textRenderData.setText(value.split(",")[(j - 5) + (i - 1) / 2 * (Math.min(ports, 8))]); - } catch (Exception e) { - textRenderData.setText(""); - } - } else { - //绔彛 - try { - textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / 2) * (Math.min(ports, 8))]); - } catch (Exception e) { - textRenderData.setText(""); - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } + } + //棰戠偣鏁� + long often = insProductResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s)) + .filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("浜掕皟") + ).filter(insProductResult2 -> ObjectUtils.isNotEmpty(insProductResult2.getOften())).distinct().count(); + List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList()); + //琛屾暟 + int aa = 0; + int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1; + //鍏堝垽鏂槸1绠�鍗曠増杩樻槸0澶嶆潅鐗� + if (insOrderState.getVersion() == 1) { + if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) { + aa += 2 * portRow; + } + if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { + aa += 1 * portRow; + } + if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) { + aa += 1 * portRow; + } + if (inspectionItemSubclass.contains("浜掕皟")) { + aa += (angles + 1) * portRow * often; + } + } else { + if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) { + aa += (angles + 1) * portRow; + } + if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { + List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害") + ).collect(Collectors.toList()); + int length = result2s.get(0).getPort().split(",").length; + aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); + } + if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) { + List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害") + ).collect(Collectors.toList()); + int length = result2s.get(0).getPort().split(",").length; + aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); + } + if (inspectionItemSubclass.contains("浜掕皟")) { + aa += (angles + 1) * portRow * often; + } + if (inspectionItemSubclass.contains("鏈�澶ц�﹀悎搴�")) { + aa += (angles + 1); + } + if (inspectionItemSubclass.contains("鏈�灏忚�﹀悎搴�")) { + aa += (angles + 1); + } + if (inspectionItemSubclass.contains("骞呭害鍋忓樊")) { + List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("骞呭害鍋忓樊") + ).collect(Collectors.toList()); + int length = result2s.get(0).getPort().split(",").length; + aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1); + } + if (inspectionItemSubclass.contains("鏈�澶х浉浣嶅亸宸�")) { + List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 -> + insProductMapper.selectById(insProductResult2.getInsProductId()) + .getInspectionItemSubclass().equals("鏈�澶х浉浣嶅亸宸�") + ).collect(Collectors.toList()); + int length = result2s.get(0).getPort().split(",").length; + aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1); + } + } + List<RowRenderData> rows = new ArrayList<>(); + Set<String> itemSet = new HashSet<>(); + int cc = 0; + int dd = 0; + int ee = 0; + int ff = 0; + int gg = 0; + int hh = 0; + int mm = 0; + //琛ㄦ牸鐨勮鏁� + for (int i = 0; i <= aa; i++) { + RowRenderData rowRenderData = new RowRenderData(); + RowStyle rowStyle = new RowStyle(); + rowStyle.setHeight(40); + rowRenderData.setRowStyle(rowStyle); + List<CellRenderData> cells = new ArrayList<>(); + //琛ㄦ牸鐨勫垪鏁� + int bb = ports > 8 ? 14 : ports + 6; + for (int j = 0; j < bb; j++) { + CellRenderData cellRenderData = new CellRenderData(); + CellStyle cellStyle = new CellStyle(); + cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER); + cellRenderData.setCellStyle(cellStyle); + List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>(); + ParagraphRenderData paragraphRenderData = new ParagraphRenderData(); + ParagraphStyle paragraphStyle = new ParagraphStyle(); + paragraphStyle.setAlign(ParagraphAlignment.CENTER); + paragraphRenderData.setParagraphStyle(paragraphStyle); + List<RenderData> renderData = new ArrayList<>(); + TextRenderData textRenderData = new TextRenderData(); + Style style = new Style(); + style.setFontFamily("瀹嬩綋"); + style.setColor("000000"); + textRenderData.setStyle(style); + if (i == 0) { + //绗竴琛� + textRenderData.setText("棰戞锛�" + s + "鈭�0" + lable); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + if (insOrderState.getVersion() == 1) { + //闈炵數璋冪増鏈�(绠�鍗曠増) + if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= 2 * portRow) { + cc = 2 * portRow; + if (itemSet.add("鐢靛帇椹绘尝姣�")) { + index.getAndIncrement(); } - if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害") && i > cc && i <= cc + portRow) { - dd = cc + portRow; + List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�")).collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.stream() + .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) + .collect(Collectors.toList()); + //鐢靛帇椹绘尝姣旀墍鍦ㄨ + if (j == 0) { + //绗竴鍒� + textRenderData.setText(index + "鈭�1" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鐢靛帇椹绘尝姣斺垜2" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + if (i % 2 == 0) { + //鏈�宸�� + textRenderData.setText("鏈�宸��"); + } else { + //绔彛 + textRenderData.setText("绔彛"); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == bb - 1) { + //鏈�鍚庝竴鍒� + if (i % 2 == 0) { + //缁撹 + if (products.get(0).getInsResult() == 1) { + textRenderData.setText("鍚堟牸"); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍�"); + } else { + textRenderData.setText("涓嶅垽瀹�"); + } + } else { + textRenderData.setText("/"); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //鍏朵綑鍒� + if (i % 2 == 0) { + //鏈�宸�� + String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); + try { + textRenderData.setText(value.split(",")[(j - 5) + (i - 1) / 2 * (Math.min(ports, 8))]); + } catch (Exception e) { + textRenderData.setText(""); + } + } else { + //绔彛 + try { + textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / 2) * (Math.min(ports, 8))]); + } catch (Exception e) { + textRenderData.setText(""); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害") && i > cc && i <= cc + portRow) { + dd = cc + portRow; + if (itemSet.add("鍚屾瀬鍖栭殧绂诲害")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream() + .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害")) + .collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.stream() + .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) + .collect(Collectors.toList()); + //鍚屾瀬鍖栭殧绂诲害鎵�鍦ㄨ + if (j == 0) { + //绗竴鍒� + textRenderData.setText(index + "鈭�1" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鍚屾瀬鍖栭殧绂诲害鈭�2" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("鏈�宸��"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == bb - 1) { + //鏈�鍚庝竴鍒� + if (products.get(0).getInsResult() == 1) { + textRenderData.setText("鍚堟牸"); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍�"); + } else { + textRenderData.setText("涓嶅垽瀹�"); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j % 2 == 0) { + String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); + try { + textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - cc - 1) * 4] + "鈭�5" + i + (j - 6)); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); + try { + textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - cc - 1) * 4] + "鈭�5" + i + (j - 5)); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害") && i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + portRow) { + ee = (dd == 0 ? cc : dd) + portRow; + if (itemSet.add("寮傛瀬鍖栭殧绂诲害")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream() + .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害")) + .collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.stream() + .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) + .collect(Collectors.toList()); + //寮傛瀬鍖栭殧绂诲害鎵�鍦ㄨ + if (j == 0) { + //绗竴鍒� + textRenderData.setText(index + "鈭�1" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("寮傛瀬鍖栭殧绂诲害鈭�2" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + textRenderData.setText("鏈�宸��"); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == bb - 1) { + //鏈�鍚庝竴鍒� + if (products.get(0).getInsResult() == 1) { + textRenderData.setText("鍚堟牸"); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍�"); + } else { + textRenderData.setText("涓嶅垽瀹�"); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j % 2 == 0) { + String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); + try { + textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "鈭�5" + i + (j - 6)); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); + try { + textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "鈭�5" + i + (j - 5)); + } catch (Exception e) { + textRenderData.setText(""); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + if (inspectionItemSubclass.contains("浜掕皟") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) { + if (itemSet.add("浜掕皟")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream() + .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("浜掕皟")) + .collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.stream() + .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) + .collect(Collectors.toList()); + //浜掕皟鎵�鍦ㄨ + if (j == 0) { + //绗竴鍒� + textRenderData.setText(index + "鈭�1" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("浜掕皟鈭�2" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { + textRenderData.setText("瑙掑害"); + } else { + textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)]); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == bb - 1) { + //鏈�鍚庝竴鍒� + if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { + textRenderData.setText("/"); + } else { + if (products.get(0).getInsResult() == 1) { + textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { + textRenderData.setText(result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 1)).getOften() + "鈭�6" + i + index); + } else { + String[] value = result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 2)).getValue().split("\\],\\["); + String[] split = value[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); + try { + textRenderData.setText(split[((j - 5) + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]); + } catch (Exception e) { + textRenderData.setText(""); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + } else { + //鐢佃皟鐗堟湰(澶嶆潅鐗�) + if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= (angles + 1) * portRow) { + cc = (angles + 1) * portRow; + if (itemSet.add("鐢靛帇椹绘尝姣�")) { + index.getAndIncrement(); + } + List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�")).collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.stream() + .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) + .collect(Collectors.toList()); + //鐢靛帇椹绘尝姣旀墍鍦ㄨ + if (j == 0) { + //绗竴鍒� + textRenderData.setText(index + "鈭�1" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 1) { + //绗簩鍒� + textRenderData.setText("鐢靛帇椹绘尝姣斺垜2" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 2) { + //绗笁鍒� + textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 3) { + //绗洓鍒� + textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == 4) { + //绗簲鍒� + if (i % (angles + 1) == 1) { + //绔彛 + textRenderData.setText("绔彛"); + } else { + //瑙掑害 + textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else if (j == bb - 1) { + //鏈�鍚庝竴鍒� + if (i % (angles + 1) == 1) { + textRenderData.setText("/"); + } else { + //缁撹 + if (products.get(0).getInsResult() == 1) { + textRenderData.setText("鍚堟牸鈭�8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } else { + //鍏朵綑鍒� + if (i % (angles + 1) == 1) { + //绔彛 + try { + textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / (angles + 1)) * (Math.min(ports, 8))]); + } catch (Exception e) { + textRenderData.setText(""); + } + } else { + //鏈�宸�� + String[] value = result2s.get(0).getValue().split("\\],\\["); + String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); + try { + textRenderData.setText(split[(j - 5) + ((i + (angles - 1)) / (angles + 1) - 1) * (Math.min(ports, 8))]); + } catch (Exception e) { + textRenderData.setText(""); + } + } + renderData.add(textRenderData); + paragraphRenderData.setContents(renderData); + paragraphRenderDataList.add(paragraphRenderData); + cellRenderData.setParagraphs(paragraphRenderDataList); + cells.add(cellRenderData); + } + } + if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { + List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害")).collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.stream() + .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) + .collect(Collectors.toList()); + int length = result2s.get(0).getPort().split(",").length; + int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); + int k = (angles + 1) * portRow2; + if (i > cc && i <= cc + k) { + dd = cc + k; if (itemSet.add("鍚屾瀬鍖栭殧绂诲害")) { index.getAndIncrement(); } - List<InsProduct> products = insProducts.stream() - .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害")) - .collect(Collectors.toList()); - List<InsProductResult2> result2s = insProductResult2s.stream() - .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) - .collect(Collectors.toList()); //鍚屾瀬鍖栭殧绂诲害鎵�鍦ㄨ if (j == 0) { //绗竴鍒� @@ -381,7 +766,13 @@ cells.add(cellRenderData); } else if (j == 4) { //绗簲鍒� - textRenderData.setText("鏈�宸��"); + if ((i - cc) % (angles + 1) == 1) { + //绔彛 + textRenderData.setText("绔彛"); + } else { + //瑙掑害 + textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); + } renderData.add(textRenderData); paragraphRenderData.setContents(renderData); paragraphRenderDataList.add(paragraphRenderData); @@ -389,24 +780,17 @@ cells.add(cellRenderData); } else if (j == bb - 1) { //鏈�鍚庝竴鍒� - if (products.get(0).getInsResult() == 1) { - textRenderData.setText("鍚堟牸"); - } else if (products.get(0).getInsResult() == 0) { - textRenderData.setText("涓嶅悎鏍�"); + if ((i - cc) % (angles + 1) == 1) { + textRenderData.setText("/"); } else { - textRenderData.setText("涓嶅垽瀹�"); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j % 2 == 0) { - String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); - try { - textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - cc - 1) * 4] + "鈭�5" + i + (j - 6)); - } catch (Exception e) { - textRenderData.setText(""); + //缁撹 + if (products.get(0).getInsResult() == 1) { + textRenderData.setText("鍚堟牸鈭�8" + index + ((i - cc) / (angles + 2))); + } else if (products.get(0).getInsResult() == 0) { + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - cc) / (angles + 2))); + } else { + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - cc) / (angles + 2))); + } } renderData.add(textRenderData); paragraphRenderData.setContents(renderData); @@ -414,11 +798,40 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } else { - String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); - try { - textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - cc - 1) * 4] + "鈭�5" + i + (j - 5)); - } catch (Exception e) { - textRenderData.setText(""); + //鍏朵綑鍒� + if ((i - cc) % (angles + 1) == 1) { + //绔彛 + if (j % 2 == 0) { + try { + textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 6)); + } catch (Exception e) { + textRenderData.setText(""); + } + } else { + try { + textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 5)); + } catch (Exception e) { + textRenderData.setText(""); + } + } + + } else { + //鏈�宸�� + String[] value = result2s.get(0).getValue().split("\\],\\["); + String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); + if (j % 2 == 0) { + try { + textRenderData.setText(split[(j - 6) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 6)); + } catch (Exception e) { + textRenderData.setText(""); + } + } else { + try { + textRenderData.setText(split[(j - 5) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 5)); + } catch (Exception e) { + textRenderData.setText(""); + } + } } renderData.add(textRenderData); paragraphRenderData.setContents(renderData); @@ -427,17 +840,20 @@ cells.add(cellRenderData); } } - if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害") && i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + portRow) { - ee = (dd == 0 ? cc : dd) + portRow; + } + if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) { + List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害")).collect(Collectors.toList()); + List<InsProductResult2> result2s = insProductResult2s.stream() + .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) + .collect(Collectors.toList()); + int length = result2s.get(0).getPort().split(",").length; + int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); + int k = (angles + 1) * portRow2; + if (i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + k) { + ee = (dd == 0 ? cc : dd) + k; if (itemSet.add("寮傛瀬鍖栭殧绂诲害")) { index.getAndIncrement(); } - List<InsProduct> products = insProducts.stream() - .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害")) - .collect(Collectors.toList()); - List<InsProductResult2> result2s = insProductResult2s.stream() - .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) - .collect(Collectors.toList()); //寮傛瀬鍖栭殧绂诲害鎵�鍦ㄨ if (j == 0) { //绗竴鍒� @@ -473,191 +889,7 @@ cells.add(cellRenderData); } else if (j == 4) { //绗簲鍒� - textRenderData.setText("鏈�宸��"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == bb - 1) { - //鏈�鍚庝竴鍒� - if (products.get(0).getInsResult() == 1) { - textRenderData.setText("鍚堟牸"); - } else if (products.get(0).getInsResult() == 0) { - textRenderData.setText("涓嶅悎鏍�"); - } else { - textRenderData.setText("涓嶅垽瀹�"); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j % 2 == 0) { - String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); - try { - textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "鈭�5" + i + (j - 6)); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", ""); - try { - textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "鈭�5" + i + (j - 5)); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - if (inspectionItemSubclass.contains("浜掕皟") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) { - if (itemSet.add("浜掕皟")) { - index.getAndIncrement(); - } - List<InsProduct> products = insProducts.stream() - .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("浜掕皟")) - .collect(Collectors.toList()); - List<InsProductResult2> result2s = insProductResult2s.stream() - .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) - .collect(Collectors.toList()); - //浜掕皟鎵�鍦ㄨ - if (j == 0) { - //绗竴鍒� - textRenderData.setText(index + "鈭�1" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("浜掕皟鈭�2" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒� - textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒� - textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒� - if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { - textRenderData.setText("瑙掑害"); - } else { - textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)]); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == bb - 1) { - //鏈�鍚庝竴鍒� - if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { - textRenderData.setText("/"); - } else { - if (products.get(0).getInsResult() == 1) { - textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); - } else if (products.get(0).getInsResult() == 0) { - textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); - } else { - textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1)); - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) { - textRenderData.setText(result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 1)).getOften() + "鈭�6" + i + index); - } else { - String[] value = result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 2)).getValue().split("\\],\\["); - String[] split = value[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); - try { - textRenderData.setText(split[((j - 5) + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]); - } catch (Exception e) { - textRenderData.setText(""); - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } else { - //鐢佃皟鐗堟湰(澶嶆潅鐗�) - if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= (angles + 1) * portRow) { - cc = (angles + 1) * portRow; - if (itemSet.add("鐢靛帇椹绘尝姣�")) { - index.getAndIncrement(); - } - List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�")).collect(Collectors.toList()); - List<InsProductResult2> result2s = insProductResult2s.stream() - .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) - .collect(Collectors.toList()); - //鐢靛帇椹绘尝姣旀墍鍦ㄨ - if (j == 0) { - //绗竴鍒� - textRenderData.setText(index + "鈭�1" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("鐢靛帇椹绘尝姣斺垜2" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒� - textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒� - textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒� - if (i % (angles + 1) == 1) { + if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) { //绔彛 textRenderData.setText("绔彛"); } else { @@ -671,16 +903,16 @@ cells.add(cellRenderData); } else if (j == bb - 1) { //鏈�鍚庝竴鍒� - if (i % (angles + 1) == 1) { + if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) { textRenderData.setText("/"); } else { //缁撹 if (products.get(0).getInsResult() == 1) { - textRenderData.setText("鍚堟牸鈭�8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); + textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); } else if (products.get(0).getInsResult() == 0) { - textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); + textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); } else { - textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i + (angles - 1)) / (angles + 1) - 1)); + textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); } } renderData.add(textRenderData); @@ -689,234 +921,6 @@ cellRenderData.setParagraphs(paragraphRenderDataList); cells.add(cellRenderData); } else { - //鍏朵綑鍒� - if (i % (angles + 1) == 1) { - //绔彛 - try { - textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / (angles + 1)) * (Math.min(ports, 8))]); - } catch (Exception e) { - textRenderData.setText(""); - } - } else { - //鏈�宸�� - String[] value = result2s.get(0).getValue().split("\\],\\["); - String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); - try { - textRenderData.setText(split[(j - 5) + ((i + (angles - 1)) / (angles + 1) - 1) * (Math.min(ports, 8))]); - } catch (Exception e) { - textRenderData.setText(""); - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) { - List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害")).collect(Collectors.toList()); - List<InsProductResult2> result2s = insProductResult2s.stream() - .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) - .collect(Collectors.toList()); - int length = result2s.get(0).getPort().split(",").length; - int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); - int k = (angles + 1) * portRow2; - if (i > cc && i <= cc + k) { - dd = cc + k; - if (itemSet.add("鍚屾瀬鍖栭殧绂诲害")) { - index.getAndIncrement(); - } - //鍚屾瀬鍖栭殧绂诲害鎵�鍦ㄨ - if (j == 0) { - //绗竴鍒� - textRenderData.setText(index + "鈭�1" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("鍚屾瀬鍖栭殧绂诲害鈭�2" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒� - textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒� - textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒� - if ((i - cc) % (angles + 1) == 1) { - //绔彛 - textRenderData.setText("绔彛"); - } else { - //瑙掑害 - textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == bb - 1) { - //鏈�鍚庝竴鍒� - if ((i - cc) % (angles + 1) == 1) { - textRenderData.setText("/"); - } else { - //缁撹 - if (products.get(0).getInsResult() == 1) { - textRenderData.setText("鍚堟牸鈭�8" + index + ((i - cc) / (angles + 2))); - } else if (products.get(0).getInsResult() == 0) { - textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - cc) / (angles + 2))); - } else { - textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - cc) / (angles + 2))); - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //鍏朵綑鍒� - if ((i - cc) % (angles + 1) == 1) { - //绔彛 - if (j % 2 == 0) { - try { - textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 6)); - } catch (Exception e) { - textRenderData.setText(""); - } - } else { - try { - textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 5)); - } catch (Exception e) { - textRenderData.setText(""); - } - } - - } else { - //鏈�宸�� - String[] value = result2s.get(0).getValue().split("\\],\\["); - String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(","); - if (j % 2 == 0) { - try { - textRenderData.setText(split[(j - 6) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 6)); - } catch (Exception e) { - textRenderData.setText(""); - } - } else { - try { - textRenderData.setText(split[(j - 5) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 5)); - } catch (Exception e) { - textRenderData.setText(""); - } - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) { - List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害")).collect(Collectors.toList()); - List<InsProductResult2> result2s = insProductResult2s.stream() - .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId())) - .collect(Collectors.toList()); - int length = result2s.get(0).getPort().split(",").length; - int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1); - int k = (angles + 1) * portRow2; - if (i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + k) { - ee = (dd == 0 ? cc : dd) + k; - if (itemSet.add("寮傛瀬鍖栭殧绂诲害")) { - index.getAndIncrement(); - } - //寮傛瀬鍖栭殧绂诲害鎵�鍦ㄨ - if (j == 0) { - //绗竴鍒� - textRenderData.setText(index + "鈭�1" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒� - textRenderData.setText("寮傛瀬鍖栭殧绂诲害鈭�2" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒� - textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒� - textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒� - if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) { - //绔彛 - textRenderData.setText("绔彛"); - } else { - //瑙掑害 - textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == bb - 1) { - //鏈�鍚庝竴鍒� - if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) { - textRenderData.setText("/"); - } else { - //缁撹 - if (products.get(0).getInsResult() == 1) { - textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); - } else if (products.get(0).getInsResult() == 0) { - textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); - } else { - textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2))); - } - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { //鍏朵綑鍒� if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) { //绔彛 @@ -1486,8 +1490,6 @@ tables.add(table); lable.getAndIncrement(); }); - }); - ZipSecureFile.setMinInflateRatio(0.0001); InputStream inputStream = this.getClass().getResourceAsStream("/static/word1.docx"); @@ -1498,14 +1500,15 @@ put("title", title); put("tables", tables); }}); - String name = insOrder.getEntrustCode().replace("/", "") + "-" + title + ".docx"; + String name = insOrder.getEntrustCode().replace("/", "") + "-" +insSample.getSampleCode()+"-"+ title + ".docx"; + String url = UUID.randomUUID() + "_" + name; try { - template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name))); + template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + url))); } catch (IOException e) { throw new RuntimeException(e); } // 澶勭悊鍚堝苟鍗曞厓鏍肩殑闂 - String path = wordUrl + "/" + name; + String path = wordUrl + "/" + url; try { ZipSecureFile.setMinInflateRatio(0.0001); FileInputStream stream = new FileInputStream(path); @@ -1581,27 +1584,27 @@ } catch (IOException e) { throw new RuntimeException(e); } - InsOrderFile insOrderFile = new InsOrderFile(); insOrderFile.setInsOrderId(insOrderState.getInsOrderId()); + insOrderFile.setInsSampleId(insOrderState.getInsSampleId()); insOrderFile.setFileName(name); insOrderFile.setType(2); - insOrderFile.setFileUrl(name); + insOrderFile.setFileUrl(url); insOrderFile.setSonLaboratory("鐢佃矾璇曢獙"); insOrderFileMapper.insert(insOrderFile); } //鐢熸垚鎬绘姤鍛� - public void generateReport(Integer orderId, List<InsReportDto1> insReportDto1s) { + public void generateReport(Integer orderId, InsReportDto1 insReportDto1) { LocalDateTime now = LocalDateTime.now(); InsOrder insOrder = insOrderMapper.selectById(orderId); //濮旀墭閮ㄩ棬 departLims String departLims = userMapper.selectDepartLims(insOrder.getPrepareUser()); - //samples鏄繃婊ゆ帀娌℃湁妫�楠岄」鐩殑鏍峰搧 - List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId); - String sampleCode = samples.get(0).getSampleCode(); + SampleProductDto insSample = insSampleMapper.selectSampleProductListByOrderId(insReportDto1.getSampleId()); + String sampleCode = insSample.getSampleCode(); InsReport insReport = new InsReport(); - insReport.setCode(insOrder.getEntrustCode().replace("WT", "TXJC")); + insReport.setCode(giveCode.giveCode("TXJC-", "ins_report", "-", "yyMMdd")); + insReport.setInsSampleId(insSample.getId()); insReport.setInsOrderId(orderId); Set<String> standardMethod = new HashSet<>(); Set<String> deviceSet = new HashSet<>(); @@ -1612,7 +1615,7 @@ AtomicReference<Integer> productSize2 = new AtomicReference<>(0); AtomicReference<Integer> productSize3 = new AtomicReference<>(0); String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; - samples.forEach(s -> { + SampleProductDto s=insSample; models.add(s.getModel()); standardMethod.addAll(standardMethodListMapper.selectList(Wrappers.<StandardMethodList>lambdaQuery() .in(StandardMethodList::getId, Arrays.stream(s.getStandardMethodListId().replaceAll("[\\[\\]]", "").split(",")) @@ -1649,13 +1652,13 @@ .collect(Collectors.toSet()); labToDeviceMap.put(entry.getKey(), productIds); } - for (InsReportDto1 insReportDto1 : insReportDto1s) { - String laboratory = insReportDto1.getLaboratory(); + for (InsReportDto2 insReportDto2 : insReportDto1.getInsReportDto2s()) { + String laboratory = insReportDto2.getLaboratory(); if (!labToDeviceMap.containsKey(laboratory)) { continue; } Set<Integer> productIds = labToDeviceMap.get(laboratory); - Integer num = insReportDto1.getNum(); + Integer num = insReportDto2.getNum(); //鏅�氳瘯楠岀粨鏋滆〃 List<InsProductResult> insProductResults = insProductResultMapper.selectList( Wrappers.<InsProductResult>lambdaQuery() @@ -1684,7 +1687,7 @@ } } } - }); + /*妫�楠屾儏鍐典竴瑙堣〃*/ List<Map<String, String>> tables = new ArrayList<>(); @@ -1693,7 +1696,7 @@ List<Map<String, Object>> tables4 = new ArrayList<>(); Integer indexs = 1; //鍒ゆ柇鏄惁鏈夌數璺瘯楠�,鐜璇曢獙 - List<String> strings = insReportDto1s.stream().map(InsReportDto1::getLaboratory).distinct().collect(Collectors.toList()); + List<String> strings = insReportDto1.getInsReportDto2s().stream().map(InsReportDto2::getLaboratory).distinct().collect(Collectors.toList()); if (strings.contains("杩戝満") || strings.contains("杩滃満")) { Map<String, String> table = new HashMap<>(); table.put("indexs", indexs + ""); @@ -1704,6 +1707,7 @@ /*杈愬皠鐨勮瘯楠岃〃*/ List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery() .eq(InsOrderFile::getInsOrderId, orderId) + .eq(InsOrderFile::getInsSampleId, insReportDto1.getSampleId()) .like(InsOrderFile::getFileName, "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�") .and(wrapper -> wrapper .eq(InsOrderFile::getSonLaboratory, "杩滃満") @@ -1807,8 +1811,7 @@ strings.remove("鐢佃矾璇曢獙"); strings.remove("杩戝満"); strings.remove("杩滃満"); - List<Integer> productIdes = samples.stream().flatMap(sampleProductDto -> - sampleProductDto.getInsProduct().stream().map(InsProduct::getId)).collect(Collectors.toList()); + List<Integer> productIdes = insSample.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList()); List<Integer> collect = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery() .in(InsProductResult2::getInsProductId, productIdes)) .stream().map(InsProductResult2::getResult).distinct().collect(Collectors.toList()); @@ -1843,9 +1846,9 @@ indexs += 1; /*鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)*/ - List<InsProduct> products = samples.stream().flatMap(sampleProductDto -> sampleProductDto.getInsProduct().stream() + List<InsProduct> products = insSample.getInsProduct().stream() .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙")) - .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))) + .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙")) .map(insProduct -> { InsProduct product = new InsProduct(); product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); @@ -1957,13 +1960,12 @@ indexs += 1; } /*鍕鹃�夌殑鐢佃矾璇曢獙琛�*/ - List<InsSample> insSamples = insSampleMapper.selectSample(orderId); - for (InsReportDto1 insReportDto1 : insReportDto1s) { - InsOrderUser insOrderUser = insOrderUserMapper.selectById(insReportDto1.getInsOrderUsersId()); + for (InsReportDto2 insReportDto2 : insReportDto1.getInsReportDto2s()) { + InsOrderUser insOrderUser = insOrderUserMapper.selectById(insReportDto2.getInsOrderUsersId()); InsOrderState orderState = insOrderStateMapper.selectById(insOrderUser.getInsOrderStateId()); if (orderState.getLaboratory().equals("鐢佃矾璇曢獙")) { orderState.setNum(insOrderUser.getNum()); - getWord1(insOrderUser.getTerm(), orderState, insSamples, tables2); + getWord1(insOrderUser.getTerm(), orderState, tables2); } } } @@ -1979,9 +1981,9 @@ tables.add(table2); /*鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)*/ - List<InsProduct> products = samples.stream().flatMap(sampleProductDto -> sampleProductDto.getInsProduct().stream() + List<InsProduct> products = insSample.getInsProduct().stream() .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙")) - .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))) + .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙")) .map(insProduct -> { InsProduct product = new InsProduct(); product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); @@ -2085,8 +2087,8 @@ ZipSecureFile.setMinInflateRatio(0.0001); InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx"); StringBuilder standardMethod2 = new StringBuilder(); - for (String s : standardMethod) { - standardMethod2.append("锛沑n").append(s); + for (String s1 : standardMethod) { + standardMethod2.append("锛沑n").append(s1); } standardMethod2.append("锛沑n").append("GB/T 9410-2008 銆婄Щ鍔ㄩ�氫俊澶╃嚎閫氱敤鎶�鏈鑼冦��"); standardMethod2.replace(0, 1, ""); @@ -2096,8 +2098,8 @@ } Map<String, String> codeStr = new HashMap<>(); codeStr.put("鎶ュ憡缂栧彿", insReport.getCode()); - codeStr.put("鏍峰搧鍚嶇О", insOrder.getSample()); - codeStr.put("瑙勬牸鍨嬪彿", samples.get(0).getModel()); + codeStr.put("鏍峰搧鍚嶇О", insSample.getSample()); + codeStr.put("瑙勬牸鍨嬪彿", insSample.getModel()); codeStr.put("鍙戞斁鏃ユ湡", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); String codePath; try { @@ -2119,7 +2121,7 @@ List<Map<String, String>> finalDeviceList = deviceList; List<Map<String, String>> sampleList = insSampleMapper.selectSampleList(orderId); Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery() - .eq(InsSampleUser::getInsSampleId, orderId).last("limit 1")).getUserId(); + .eq(InsSampleUser::getInsSampleId, insReportDto1.getSampleId()).last("limit 1")).getUserId(); String signatureUrl; try { signatureUrl = userMapper.selectById(userId).getSignatureUrl(); @@ -2151,11 +2153,12 @@ insOrder.setPhone("/"); } //妫�楠岄」鐩殑鐜 - InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).eq(InsProduct::getInsSampleId, samples.get(0).getId())).get(0); + InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getState, 1) + .eq(InsProduct::getInsSampleId, insReportDto1.getSampleId())).get(0); String environment = ""; environment = (ObjectUtils.isNotEmpty(insProduct.getTemperature()) ? insProduct.getTemperature() + "鈩� " : "") + (ObjectUtils.isNotEmpty(insProduct.getHumidity()) ? insProduct.getHumidity() + "%" : ""); String finalEnvironment = environment; - List<SampleProductDto> finalSamples = samples; String title3 = ""; if (tables3.size() > 0) { title3 = "杈愬皠鏂瑰悜鍥惧弬鏁�"; @@ -2169,7 +2172,7 @@ put("sampleCode", sampleCode); put("environment", finalEnvironment); put("custom", custom); - put("sampleSize", finalSamples.size()); + put("sampleSize", "1"); put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2)); put("deviceList", finalDeviceList); put("tables", tables); @@ -2323,11 +2326,12 @@ //鐢佃矾鎶ュ憡鐢ㄤ簬鎬绘姤鍛婄殑鏂规硶 - private void getWord1(String term, InsOrderState insOrderState, List<InsSample> insSamples, List<Map<String, Object>> tables2) { + private void getWord1(String term, InsOrderState insOrderState,List<Map<String, Object>> tables2) { AtomicInteger lable = new AtomicInteger(1); AtomicInteger index = new AtomicInteger(); String title = term + "鐢佃矾鍙傛暟"; - insSamples.forEach(insSample -> { + InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId()); + //鏌ヨ椤圭洰 List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getInsSampleId, insSample.getId()) @@ -3715,7 +3719,6 @@ tables2.add(table2); lable.getAndIncrement(); }); - }); } // 姘村钩鍚堝苟鍗曞厓鏍� diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java index e7f5a61..97748fe 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java @@ -11,6 +11,7 @@ @ValueTableShow(value = 1,name = "濮旀墭缂栧彿") private String entrustCode; + @ValueTableShow(value = 2,name = "妫�楠屽璞�") private String sampleType; @@ -36,5 +37,7 @@ private Integer orderUserId; + private Integer sampleId; + private Integer verifyUser; } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java index fbb62e6..3281af3 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java @@ -52,6 +52,8 @@ private Integer orderUserId; + private Integer sampleId; + private Integer verifyUser; private Integer orderStateId; diff --git a/inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml index 2699fcf..b9648dc 100644 --- a/inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml @@ -5,6 +5,7 @@ <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderFile"> <id column="id" property="id"/> <result column="ins_order_id" property="insOrderId"/> + <result property="insSampleId" column="ins_sample_id" /> <result column="type" property="type"/> <result column="file_url" property="fileUrl"/> <result column="file_name" property="fileName"/> @@ -24,6 +25,10 @@ and (son_laboratory=#{sonLaboratory} or son_laboratory is null) </if> + <if test="sampleId!=null and sampleId!=''"> + and (ins_sample_id=#{sampleId} + or ins_sample_id is null) + </if> ) A <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} diff --git a/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml index bd6daf3..42a523e 100644 --- a/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml @@ -6,6 +6,7 @@ <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderState"> <id property="id" column="idd" jdbcType="INTEGER"/> <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/> + <result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/> <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/> <result property="insState" column="ins_state" jdbcType="INTEGER"/> <result property="sort" column="sort" jdbcType="INTEGER"/> @@ -28,10 +29,11 @@ <result column="tell" property="tell"/> </resultMap> <select id="getInsOrderStateCount" resultMap="BaseResultMap"> - select ios.id idd,laboratory,version, iou.*,name submitUserName + select ios.id idd, laboratory, version, iou.*, name submitUserName from ins_order_state ios left join ins_order_user iou on ios.id = iou.ins_order_state_id - left join user on submit_user=user.id + left join user on submit_user = user.id where ios.ins_order_id = #{id} + and ios.ins_sample_id = #{sampleId} </select> </mapper> diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml index 4a192ed..ec40d61 100644 --- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml @@ -102,8 +102,7 @@ select COUNT(1) from ins_product ip left join ins_sample isa on ip.ins_sample_id = isa.id - left join ins_order io on isa.ins_order_id = io.id - where io.id = #{orderId} + where isa.id = #{sampleId} and (ip.ins_result is null or ip.ins_result = 2) and ip.state = 1 </select> diff --git a/inspect-server/src/main/resources/mapper/InsReportMapper.xml b/inspect-server/src/main/resources/mapper/InsReportMapper.xml index 3b0ce06..26244f4 100644 --- a/inspect-server/src/main/resources/mapper/InsReportMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsReportMapper.xml @@ -3,47 +3,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.mom.mapper.InsReportMapper"> - <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsReport"> - <id property="id" column="id" jdbcType="INTEGER"/> - <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/> - <result property="url" column="url" jdbcType="VARCHAR"/> - <result property="urlS" column="url_s" jdbcType="VARCHAR"/> - <result property="isRatify" column="is_ratify" jdbcType="INTEGER"/> - <result property="isExamine" column="is_examine" jdbcType="INTEGER"/> - <result property="ratifyUserId" column="ratify_user_id" jdbcType="INTEGER"/> - <result property="examineUserId" column="examine_user_id" jdbcType="INTEGER"/> - <result property="createUser" column="create_user" jdbcType="INTEGER"/> - <result property="updateUser" column="update_user" jdbcType="INTEGER"/> - <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> - <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> + <id property="id" column="id" jdbcType="INTEGER"/> + <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/> + <result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/> + <result property="url" column="url" jdbcType="VARCHAR"/> + <result property="urlS" column="url_s" jdbcType="VARCHAR"/> + <result property="isRatify" column="is_ratify" jdbcType="INTEGER"/> + <result property="isExamine" column="is_examine" jdbcType="INTEGER"/> + <result property="ratifyUserId" column="ratify_user_id" jdbcType="INTEGER"/> + <result property="examineUserId" column="examine_user_id" jdbcType="INTEGER"/> + <result property="createUser" column="create_user" jdbcType="INTEGER"/> + <result property="updateUser" column="update_user" jdbcType="INTEGER"/> + <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> + <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> </resultMap> <select id="pageInsReport" resultType="com.yuanchu.mom.dto.ReportPageDto"> select * from ( select - ir.*,io.entrust_code,u.name write_user_name,u1.name ratify_user,u2.name examine_user,io.laboratory,l.id labId + ir.*,io.entrust_code,sample_code,u.name write_user_name,u1.name ratify_user,u2.name + examine_user,io.laboratory,l.id labId from ins_report ir left join ins_order io on io.id = ir.ins_order_id + left join ins_sample isa on isa.id = ir.ins_sample_id left join user u on u.id = ir.write_user_id left join user u1 on u1.id = ir.ratify_user_id left join user u2 on u2.id = ir.examine_user_id left join laboratory l on io.laboratory=laboratory_name - where 1=1 - <if test="laboratory!=null and laboratory!=''"> - and laboratory=#{laboratory} - </if> ) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> <select id="getLaboratoryByName" resultType="java.lang.String"> - select s.address from seal s - left join laboratory l on s.lab_id = l.id + select s.address + from seal s + left join laboratory l on s.lab_id = l.id where l.laboratory_name = #{name} - and s.type = '鎶ュ憡绫诲瀷' + and s.type = '鎶ュ憡绫诲瀷' order by s.create_time desc limit 1 </select> diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml index 046862e..a69516e 100644 --- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml @@ -34,13 +34,16 @@ verify_user, ios.id orderStateId, ios.create_time, - (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = a.son_laboratory ORDER BY ins_time DESC LIMIT 1) AS ins_time , + (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = a.son_laboratory and + ins_order_state.ins_sample_id=a.sampleId ORDER BY ins_time DESC LIMIT 1) AS ins_time , iou.submit_time , ios.sort, sort_time, version, ios.num-1 num1 FROM + ins_order_state ios + LEFT JOIN ( SELECT io.id, @@ -48,8 +51,9 @@ io.type, io.appointed, io.send_time, - group_concat(distinct isa.sample,' ') sample, - group_concat(distinct isa.sample_code,' ') sampleCode, + isa.id sampleId, + isa.sample sample, + isa.sample_code sampleCode, userName, checkName, ip.son_laboratory, @@ -64,7 +68,7 @@ and u.state=0 GROUP BY ins_sample_id ORDER BY ins_sample_id - ) isu ON isu.ins_sample_id = io.id + ) isu ON isu.ins_sample_id = isa.id LEFT JOIN ( SELECT ins_sample_id,uu.name checkName FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id @@ -72,7 +76,7 @@ and u.state=1 GROUP BY ins_sample_id ORDER BY ins_sample_id - )isu2 ON isu2.ins_sample_id = io.id + )isu2 ON isu2.ins_sample_id = isa.id LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id WHERE io.state = 1 and send_time is not null <if test="userName !=null and userName!=''"> @@ -84,7 +88,7 @@ ip.son_laboratory, io.id ) a - LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory + ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory and ios.ins_sample_id=a.sampleId LEFT JOIN ins_order_user iou ON ios.id = iou.ins_order_state_id and ios.num=iou.num ORDER BY ios.sort, @@ -106,8 +110,10 @@ <select id="inspectionOrderDetailsTaskSwitching" resultType="com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo"> select * from( SELECT - a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user + a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user FROM + ins_order_state ios + LEFT JOIN ( SELECT io.id, @@ -115,8 +121,9 @@ io.type, io.appointed, io.send_time, - group_concat(distinct isa.sample,' ') sampleType, - group_concat(distinct isa.sample_code,' ') sampleCode, + isa.id sampleId, + isa.sample sampleType, + isa.sample_code sampleCode, isu.user_id, user.name userName, ip.son_laboratory, @@ -125,7 +132,7 @@ FROM ins_order io LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id - LEFT JOIN ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id --> + LEFT JOIN ( SELECT * FROM ins_sample_user u WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN ( @@ -135,12 +142,11 @@ GROUP BY ins_sample_id ) ORDER BY ins_sample_id, id - ) isu ON isu.ins_sample_id = io.id + ) isu ON isu.ins_sample_id = isa.id LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id LEFT JOIN user ON isu.user_id = user.id WHERE io.state = 1 - -- # AND io.ins_state != 5 and send_time is not null <if test="userId !=null and userId!=''"> and (isu.user_id = #{userId} OR isu.user_id is NULL ) @@ -150,21 +156,21 @@ ip.son_laboratory, io.id ) a - LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory - left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM + ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory and a.sampleId=ios.ins_sample_id + left join + (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM ins_sample_user where son_laboratory=#{sonLaboratory} GROUP BY ins_sample_id) md where td.id = md.id <if test="userId !=null and userId!=''"> and user_id = #{userId} OR user_id is NULL </if> OR user_id is NULL ) isu2 on - isu2.ins_sample_id = a.id + isu2.ins_sample_id = a.sampleId where ins_state is not null <if test="laboratory != null and laboratory != ''"> and a.laboratory=#{laboratory} </if> ORDER BY - <!--a.user_id DESC,--> a.type DESC, a.id ) b @@ -215,7 +221,7 @@ ip.method_s from ins_sample isa left join ins_product ip on isa.id = ip.ins_sample_id - where isa.ins_order_id = #{id} + where isa.id = #{id} and state = 1 and isa.id in (select id1 from (select is2.id id1, ip.id @@ -266,7 +272,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -292,11 +298,11 @@ ip.temperature, ip.humidity from ins_sample isa - left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id + left join ins_order_state ios on isa.id = ios.ins_sample_id left join ins_product ip on isa.id = ip.ins_sample_id left join ins_product_result ipr on ip.id = ipr.ins_product_id left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where isa.ins_order_id = #{id} + where isa.id = #{sampleId} and state = 1 and ip.son_laboratory = #{laboratory} and ios.laboratory = #{laboratory} @@ -336,7 +342,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -362,11 +368,11 @@ ip.temperature, ip.humidity from ins_sample isa - left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id + left join ins_order_state ios on isa.id = ios.ins_sample_id left join ins_product ip on isa.id = ip.ins_sample_id left join ins_product_result ipr on ip.id = ipr.ins_product_id left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where isa.ins_order_id = #{id} + where isa.id = #{sampleId} and state = 1 and ip.son_laboratory = #{laboratory} and ios.laboratory = #{laboratory} @@ -591,7 +597,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -616,10 +622,10 @@ ip.dic from ins_product ip left join ins_sample isa on ip.ins_sample_id = isa.id - left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id + left join ins_order_state ios on ios.ins_sample_id = isa.id left join ins_product_result ipr on ip.id = ipr.ins_product_id left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where ins_sample_id = #{id} + where ios.ins_sample_id = #{id} and state = 1 and ip.son_laboratory = #{laboratory} and ip.standard_method_list_id is not null @@ -659,7 +665,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -684,10 +690,10 @@ ip.dic from ins_product ip left join ins_sample isa on ip.ins_sample_id = isa.id - left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id + left join ins_order_state ios on ios.ins_sample_id = isa.id left join ins_product_result ipr on ip.id = ipr.ins_product_id left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where ins_sample_id = #{id} + where ios.ins_sample_id = #{id} and state = 1 and ip.son_laboratory = #{laboratory} and ip.standard_method_list_id is not null @@ -725,7 +731,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -750,10 +756,10 @@ ip.dic from ins_product ip left join ins_sample isa on ip.ins_sample_id = isa.id - left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id + left join ins_order_state ios on ios.ins_sample_id = isa.id left join ins_product_result ipr on ip.id = ipr.ins_product_id left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where ins_sample_id = #{id} + where ios.ins_sample_id = #{id} and state = 1 and ip.son_laboratory = #{laboratory} and ip.standard_method_list_id is not null @@ -858,8 +864,8 @@ <result property="insState" column="ins_state" jdbcType="INTEGER"/> <result property="joinNum" column="join_num" jdbcType="INTEGER"/> <result property="remark" column="remark" jdbcType="VARCHAR"/> - <result property="issueTime" column="issue_time" /> - <result property="issueName" column="issueName" /> + <result property="issueTime" column="issue_time"/> + <result property="issueName" column="issueName"/> <result property="createUser" column="create_user" jdbcType="INTEGER"/> <result property="updateUser" column="update_user" jdbcType="INTEGER"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> @@ -941,7 +947,7 @@ </select> <select id="selectInsSample" resultType="com.yuanchu.mom.pojo.InsSample"> select isa.*, - case when entrust_code is null then out_entrust_code else entrust_code end as entrust_code + case when entrust_code is null then out_entrust_code else entrust_code end as entrust_code from ins_sample isa left join ins_order io on isa.ins_order_id = io.id where ins_order_id in @@ -956,9 +962,5 @@ where son_laboratory = '鐢佃矾璇曢獙' and state = 1 and ins_order_id = #{insOrderId} - </select> - <select id="selectList1" resultType="com.yuanchu.mom.dto.SampleProductDto"> - select * from ins_sample where ins_order_id=#{id -} </select> </mapper> -- Gitblit v1.9.3