From f206c80520a83a28b3caa91a3fbbd9d039dd8456 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期二, 22 四月 2025 16:10:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev_ztzb' into dev_ztzb --- cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotaldealServiceImpl.java | 412 ++++++++--------------------- cnas-process/src/main/java/com/ruoyi/process/controller/ProcessSampleController.java | 20 cnas-process/src/main/resources/static/sample-receive.docx | 0 cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml | 5 cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessDealMapper.java | 5 cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessTotaldeal.java | 15 - cnas-process/src/main/resources/mapper/ProcessDealMapper.xml | 13 cnas-process/src/main/java/com/ruoyi/process/service/ProcessTotaldealService.java | 7 cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java | 91 ++---- cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessSample.java | 4 /dev/null | 35 -- cnas-process/src/main/java/com/ruoyi/process/service/ProcessSampleService.java | 9 cnas-process/src/main/java/com/ruoyi/process/service/impl/InspectionOrderServiceImpl.java | 52 +++ cnas-process/src/main/java/com/ruoyi/process/controller/ProcessDealController.java | 18 - cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessDeal.java | 7 cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java | 77 ----- cnas-process/src/main/resources/static/sample-deal.docx | 0 cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml | 1 cnas-process/src/main/java/com/ruoyi/process/service/ProcessDealService.java | 10 cnas-process/src/main/java/com/ruoyi/process/controller/ProcessTotaldealController.java | 14 + 20 files changed, 259 insertions(+), 536 deletions(-) diff --git a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessDealController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessDealController.java index b6e96d2..e04b93b 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessDealController.java +++ b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessDealController.java @@ -1,5 +1,6 @@ package com.ruoyi.process.controller; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.utils.JackSonUtil; @@ -28,34 +29,23 @@ @Resource private ProcessDealService processDealService; - @ApiOperation(value = "鏌ヨ妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃鎯�") - @GetMapping("/pageProcessDeal") - public Result pageProcessDeal(ProcessDeal processDeal, Page page) throws Exception { - return Result.success(processDealService.pageProcessDeal(page, processDeal)); - } - @ApiOperation(value = "鏂板妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") @PostMapping("/addProcessDeal") public Result addProcessDeal(@RequestBody ProcessDeal processDeal) { - return Result.success(processDealService.addProcessDeal(processDeal)); + return Result.success(processDealService.saveOrUpdate(processDeal)); } @ApiOperation(value = "鍒犻櫎妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") @DeleteMapping("/delProcessDeal") public Result delProcessDeal(Integer id) { - return Result.success(processDealService.delProcessDeal(id)); + return Result.success(processDealService.removeById(id)); } - @ApiOperation(value = "淇敼妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") - @PostMapping("/doProcessDeal") - public Result doProcessDeal(@RequestBody ProcessDeal processDeal) { - return Result.success(processDealService.doProcessDeal(processDeal)); - } @ApiOperation(value = "鏌ョ湅妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") @GetMapping("/getProcessDeal") public Result getProcessDeal(Integer id) { - return Result.success(processDealService.getById(id)); + return Result.success(processDealService.list(Wrappers.<ProcessDeal>lambdaQuery().eq(ProcessDeal::getTotaldealId,id))); } } diff --git a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessSampleController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessSampleController.java index 0349c89..53f54a3 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessSampleController.java +++ b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessSampleController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -29,32 +30,27 @@ @ApiOperation(value = "鏌ヨ鏍峰搧鎺ユ敹璇︽儏") @GetMapping("/pageProcessSample") - public Result pageProcessSample(ProcessSample processSample, Page page) throws Exception { + public Result pageProcessSample(ProcessSample processSample, Page page){ return Result.success(processSampleService.pageProcessSample(page, processSample)); } @ApiOperation(value = "鏂板鏍峰搧鎺ユ敹璇︽儏") @PostMapping("/addProcessSample") public Result addProcessSample(@RequestBody ProcessSample processSample) { - return Result.success(processSampleService.addProcessSample(processSample)); + return Result.success(processSampleService.saveOrUpdate(processSample)); } @ApiOperation(value = "鍒犻櫎鏍峰搧鎺ユ敹") @DeleteMapping("/delProcessSample") public Result delProcessSample(Integer id) { - return Result.success(processSampleService.delProcessSample(id)); + return Result.success(processSampleService.removeById(id)); } - @ApiOperation(value = "淇敼鏍峰搧鎺ユ敹") - @PostMapping("/doProcessSample") - public Result doProcessSample(@RequestBody ProcessSample processSample) { - return Result.success(processSampleService.doProcessSample(processSample)); - } - @ApiOperation(value = "鏌ョ湅鏍峰搧鎺ユ敹") - @GetMapping("/getProcessSample") - public Result getProcessSample(Integer id) { - return Result.success(processSampleService.getById(id)); + @ApiOperation(value = "瀵煎嚭鏍峰搧鎺ユ敹") + @GetMapping("/exportProcessSample") + public void exportProcessSample(ProcessSample processSample, HttpServletResponse response) { + processSampleService.exportProcessSample(processSample,response); } diff --git a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessTotalSampleController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessTotalSampleController.java deleted file mode 100644 index e9aab45..0000000 --- a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessTotalSampleController.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.ruoyi.process.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.common.core.domain.Result; -import com.ruoyi.process.pojo.ProcessTotalSample; -import com.ruoyi.process.service.ProcessTotalSampleService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.util.Map; - -/** - * <p> - * 鏍峰搧鎺ユ敹鎬昏〃 鍓嶇鎺у埗鍣� - * </p> - * - * @author - * @since 2024-12-12 05:02:58 - */ -@RestController -@RequestMapping("/processTotalSample") -@Api(tags = "鏍峰搧鎺ユ敹鎬昏〃") -public class ProcessTotalSampleController { - - @Resource - private ProcessTotalSampleService processTotalSampleService; - - @ApiOperation(value = "鏌ヨ鏍峰搧鎺ユ敹鍒楄〃") - @GetMapping("/pageProcessTotalSample") - public Result pageProcessTotalSample(ProcessTotalSample processTotalSample,Page page) throws Exception { - return Result.success(processTotalSampleService.pageProcessTotalSample(page, processTotalSample)); - } - - @ApiOperation(value = "鎻愪氦鏍峰搧鎺ユ敹") - @PostMapping("/submitProcessTotalSample") - public Result submitProcessTotalSample(@RequestBody Map<String, Object> param) { - Integer id = (Integer) param.get("id"); - return Result.success(processTotalSampleService.submitProcessTotalSample(id)); - } - - @ApiOperation(value = "瀹℃牳鏍峰搧鎺ユ敹") - @PostMapping("/checkProcessTotalSample") - public Result checkProcessTotalSample(@RequestBody Map<String, Object> param) { - Integer id = (Integer) param.get("id"); - String state = (String) param.get("state"); - return Result.success(processTotalSampleService.checkProcessTotalSample(id, state)); - } - - @ApiOperation(value = "鎵瑰噯鏍峰搧鎺ユ敹") - @PostMapping("/ratifyProcessTotalSample") - public Result ratifyProcessTotalSample(@RequestBody Map<String, Object> param) { - Integer id = (Integer) param.get("id"); - String state = (String) param.get("state"); - return Result.success(processTotalSampleService.ratifyProcessTotalSample(id,state)); - } - -} diff --git a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessTotaldealController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessTotaldealController.java index 94bd4d2..44f3005 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessTotaldealController.java +++ b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessTotaldealController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -33,6 +34,13 @@ return Result.success(processTotaldealService.pageProcessTotaldeal(page, processTotaldeal)); } + @ApiOperation(value = "鏂板妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @PostMapping("/addProcessTotaldeal") + public Result addProcessTotaldeal(@RequestBody Map<String, String> param) { + String month = param.get("month"); + return Result.success(processTotaldealService.addProcessTotaldeal(month)); + } + @ApiOperation(value = "鎻愪氦妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") @PostMapping("/submitProcessTotaldeal") public Result submitProcessTotaldeal(@RequestBody Map<String, Integer> param) { @@ -56,5 +64,11 @@ return Result.success(processTotaldealService.ratifyProcessTotaldeal(id,state)); } + @ApiOperation(value = "瀵煎嚭妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�") + @GetMapping("/exportProcessTotaldeal") + public void exportProcessTotaldeal(Integer id, HttpServletResponse response) { + processTotaldealService.exportProcessTotaldeal(id,response); + } + } diff --git a/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessDealMapper.java b/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessDealMapper.java index cbf3782..9af6989 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessDealMapper.java +++ b/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessDealMapper.java @@ -7,6 +7,8 @@ import com.ruoyi.process.pojo.ProcessDeal; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * <p> * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� Mapper 鎺ュ彛 @@ -18,4 +20,7 @@ public interface ProcessDealMapper extends BaseMapper<ProcessDeal> { IPage<ProcessDeal> pageProcessDeal(Page page, @Param("ew") QueryWrapper<ProcessDeal> queryWrappers); + + List<ProcessDeal> selectDeal(@Param("id") Integer id); + } diff --git a/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessTotalSampleMapper.java b/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessTotalSampleMapper.java deleted file mode 100644 index 26bd73f..0000000 --- a/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessTotalSampleMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.ruoyi.process.mapper; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.process.pojo.ProcessTotalSample; -import org.apache.ibatis.annotations.Param; - -/** - * <p> - * 鏍峰搧鎺ユ敹鎬昏〃 Mapper 鎺ュ彛 - * </p> - * - * @author - * @since 2024-12-12 05:02:58 - */ -public interface ProcessTotalSampleMapper extends BaseMapper<ProcessTotalSample> { - - IPage<ProcessTotalSample> pageProcessTotalSample(Page page, @Param("ew") QueryWrapper<ProcessTotalSample> ew); -} diff --git a/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessDeal.java b/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessDeal.java index e9a7411..078e04e 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessDeal.java +++ b/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessDeal.java @@ -62,4 +62,11 @@ @ApiModelProperty("鍏宠仈鐨勫巻鍙叉�昏〃id") private Integer totaldealId; + + @ApiModelProperty("鍏宠仈鐨勬牱鍝佹帴鏀秈d") + private Integer processSampleId; + + @ApiModelProperty("搴忓彿") + @TableField(select = false,exist = false) + private String indexs; } diff --git a/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessSample.java b/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessSample.java index 404125e..1865cbb 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessSample.java +++ b/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessSample.java @@ -59,8 +59,8 @@ @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; - @ApiModelProperty("鍏宠仈鎬昏〃鍘嗗彶id") - private Integer totalSampleId; + @ApiModelProperty("濮旀墭鍗昳d") + private Integer inspectionOrderId; @ApiModelProperty("鏀舵牱鏃ユ湡") @JsonFormat(pattern = "yyyy-MM-dd") diff --git a/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessTotalSample.java b/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessTotalSample.java deleted file mode 100644 index 0003718..0000000 --- a/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessTotalSample.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.ruoyi.process.pojo; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; - -import java.io.Serializable; - -/** - * <p> - * 鏍峰搧鎺ユ敹鎬昏〃 - * </p> - * - * @author - * @since 2024-12-12 05:02:58 - */ -@Getter -@Setter -@TableName("cnas_process_total_sample") -@ApiModel(value = "ProcessTotalSample瀵硅薄", description = "鏍峰搧鎺ユ敹鎬昏〃") -public class ProcessTotalSample implements Serializable { - - - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - - @ApiModelProperty("瀹℃牳浜�") - private Integer examineUser; - - @ApiModelProperty("瀹℃牳缁撴灉") - private String examineState; - - @ApiModelProperty("瀹℃牳浜虹數瀛愮鍚島rl") - private String examineUrl; - - - @TableField(select = false, exist = false) - private String examineUserName; - - @ApiModelProperty("鎵瑰噯浜�") - private Integer ratifyUser; - - @ApiModelProperty("鎵瑰噯缁撴灉") - private String ratifyState; - - @ApiModelProperty("鎵瑰噯浜虹數瀛愮鍚島rl") - private String ratifyUrl; - - @TableField(select = false, exist = false) - private String ratifyUserName; - - @ApiModelProperty("鎻愪氦浜�") - private Integer submitUser; - @TableField(select = false, exist = false) - private String submitUserName; - - @ApiModelProperty("鎻愪氦缁撴灉") - private String submitState; - - @ApiModelProperty("鎻愪氦浜虹數瀛愮鍚島rl") - private String submitUrl; - - @ApiModelProperty("鎬绘暟閲�") - private Integer totalNum; - - @ApiModelProperty("鏈堜唤") - private String month; - - @ApiModelProperty("鐢熸垚鐢宠琛ㄧ殑璺緞") - private String url; -} diff --git a/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessTotaldeal.java b/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessTotaldeal.java index e46c091..652df41 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessTotaldeal.java +++ b/cnas-process/src/main/java/com/ruoyi/process/pojo/ProcessTotaldeal.java @@ -37,10 +37,6 @@ @ApiModelProperty("瀹℃牳缁撴灉") private String examineState; - @ApiModelProperty("瀹℃牳浜虹數瀛愮鍚島rl") - private String examineUrl; - - @TableField(select = false, exist = false) private String examineUserName; @@ -49,9 +45,6 @@ @ApiModelProperty("鎵瑰噯缁撴灉") private String ratifyState; - - @ApiModelProperty("鎵瑰噯浜虹數瀛愮鍚島rl") - private String ratifyUrl; @TableField(select = false, exist = false) private String ratifyUserName; @@ -64,15 +57,7 @@ @ApiModelProperty("鎻愪氦缁撴灉") private String submitState; - @ApiModelProperty("鎻愪氦浜虹數瀛愮鍚島rl") - private String submitUrl; - - @ApiModelProperty("鎬绘暟閲�") - private Integer totalNum; - @ApiModelProperty("鏈堜唤") private String month; - @ApiModelProperty("鐢熸垚鐢宠琛ㄧ殑璺緞") - private String url; } diff --git a/cnas-process/src/main/java/com/ruoyi/process/schedule/ProcessTotaldealSchedule.java b/cnas-process/src/main/java/com/ruoyi/process/schedule/ProcessTotaldealSchedule.java deleted file mode 100644 index a99b6df..0000000 --- a/cnas-process/src/main/java/com/ruoyi/process/schedule/ProcessTotaldealSchedule.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.ruoyi.process.schedule; - -import com.ruoyi.process.pojo.ProcessTotalSample; -import com.ruoyi.process.pojo.ProcessTotaldeal; -import com.ruoyi.process.service.ProcessTotalSampleService; -import com.ruoyi.process.service.ProcessTotaldealService; -import org.springframework.beans.BeanUtils; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.text.SimpleDateFormat; -import java.util.Calendar; - -@Component -public class ProcessTotaldealSchedule { - - @Resource - private ProcessTotaldealService processTotaldealService; - - @Resource - private ProcessTotalSampleService processTotalSampleService; - - @Scheduled(cron = "0 0 2 1 * ?") //姣忔湀1鍙�2鐐� - public void processTotaldeal() { - ProcessTotaldeal processTotaldeal = new ProcessTotaldeal(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); - Calendar calendar = Calendar.getInstance(); - String formattedDate = sdf.format(calendar.getTime()); - processTotaldeal.setMonth(formattedDate); - processTotaldeal.setSubmitState("寰呮彁浜�"); - processTotaldealService.save(processTotaldeal); - ProcessTotalSample processTotalSample = new ProcessTotalSample(); - BeanUtils.copyProperties(processTotaldeal,processTotalSample); - processTotalSampleService.save(processTotalSample); - } -} diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/ProcessDealService.java b/cnas-process/src/main/java/com/ruoyi/process/service/ProcessDealService.java index 6b3e898..18f18c9 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/ProcessDealService.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/ProcessDealService.java @@ -12,16 +12,8 @@ * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� 鏈嶅姟绫� * </p> * - * @author + * @author * @since 2024-11-02 02:50:19 */ public interface ProcessDealService extends IService<ProcessDeal> { - - IPage<ProcessDeal> pageProcessDeal(Page page, ProcessDeal processDeal); - - int addProcessDeal(ProcessDeal processDeal); - - int delProcessDeal(Integer id); - - int doProcessDeal(ProcessDeal processDeal); } diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/ProcessSampleService.java b/cnas-process/src/main/java/com/ruoyi/process/service/ProcessSampleService.java index 935b87b..ca3f977 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/ProcessSampleService.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/ProcessSampleService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.process.pojo.ProcessSample; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -12,16 +13,12 @@ * 鏍峰搧鎺ユ敹 鏈嶅姟绫� * </p> * - * @author + * @author * @since 2024-12-12 05:02:49 */ public interface ProcessSampleService extends IService<ProcessSample> { IPage<ProcessSample> pageProcessSample(Page page, ProcessSample processSample); - int addProcessSample(ProcessSample processSample); - - int delProcessSample(Integer id); - - int doProcessSample(ProcessSample processSample); + void exportProcessSample(ProcessSample processSample, HttpServletResponse response); } diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/ProcessTotalSampleService.java b/cnas-process/src/main/java/com/ruoyi/process/service/ProcessTotalSampleService.java deleted file mode 100644 index dac0660..0000000 --- a/cnas-process/src/main/java/com/ruoyi/process/service/ProcessTotalSampleService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.ruoyi.process.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.process.pojo.ProcessTotalSample; - -import java.util.Map; - -/** - * <p> - * 鏍峰搧鎺ユ敹鎬昏〃 鏈嶅姟绫� - * </p> - * - * @author - * @since 2024-12-12 05:02:58 - */ -public interface ProcessTotalSampleService extends IService<ProcessTotalSample> { - - IPage<ProcessTotalSample> pageProcessTotalSample(Page page, ProcessTotalSample processTotalSample); - - int submitProcessTotalSample(Integer id); - - int checkProcessTotalSample(Integer id, String state); - - int ratifyProcessTotalSample(Integer id, String state); -} diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/ProcessTotaldealService.java b/cnas-process/src/main/java/com/ruoyi/process/service/ProcessTotaldealService.java index aefda6f..944b577 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/ProcessTotaldealService.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/ProcessTotaldealService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.process.pojo.ProcessTotaldeal; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -12,7 +13,7 @@ * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�昏〃(鍘嗗彶) 鏈嶅姟绫� * </p> * - * @author + * @author * @since 2024-11-02 03:59:09 */ public interface ProcessTotaldealService extends IService<ProcessTotaldeal> { @@ -24,4 +25,8 @@ int submitProcessTotaldeal(Integer id); int ratifyProcessTotaldeal(Integer id, String state); + + int addProcessTotaldeal(String month); + + void exportProcessTotaldeal(Integer id, HttpServletResponse response); } diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/InspectionOrderServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/InspectionOrderServiceImpl.java index 9cab43d..dc0003e 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/InspectionOrderServiceImpl.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/InspectionOrderServiceImpl.java @@ -15,6 +15,7 @@ import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.dto.InsOrderDeviceRecordDto; import com.ruoyi.inspect.mapper.InsProductResultMapper; +import com.ruoyi.inspect.mapper.InsSampleMapper; import com.ruoyi.inspect.pojo.*; import com.ruoyi.inspect.service.InsOrderService; import com.ruoyi.inspect.service.InsReportService; @@ -23,14 +24,9 @@ import com.ruoyi.process.dto.InspectionOrderExportDto; import com.ruoyi.process.mapper.InspectionOrderMapper; import com.ruoyi.process.mapper.ProcessOrderDeviceMapper; -import com.ruoyi.process.pojo.InspectionOrder; -import com.ruoyi.process.pojo.InspectionOrderDetail; -import com.ruoyi.process.pojo.ProcessOrderDevice; -import com.ruoyi.process.pojo.ProcessReport; -import com.ruoyi.process.service.InspectionOrderDetailService; -import com.ruoyi.process.service.InspectionOrderService; -import com.ruoyi.process.service.ProcessOrderDeviceService; -import com.ruoyi.process.service.ProcessReportService; +import com.ruoyi.process.mapper.ProcessSampleMapper; +import com.ruoyi.process.pojo.*; +import com.ruoyi.process.service.*; import com.ruoyi.system.mapper.UserMapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; @@ -70,6 +66,8 @@ @Resource private InsOrderService insOrderService; @Resource + private InsSampleMapper insSampleMapper; + @Resource private InsReportService insReportService; @Value("${wordUrl}") private String wordUrl; @@ -83,6 +81,12 @@ private ProcessOrderDeviceService processOrderDeviceService; @Resource private UserMapper userMapper; + @Resource + private ProcessSampleService processSampleService; + @Resource + private ProcessSampleMapper processSampleMapper; + @Resource + private ProcessDealService processDealService; /** @@ -158,6 +162,27 @@ processReportService.save(processReport); /*鏂板7.1濮旀墭鍗曞搴旂殑璁惧浣跨敤璁板綍*/ addDeviceRecord(inspectionOrder,insReport.getWriteUserId()); + /*鏂板7.4鏍峰搧鎺ユ敹*/ + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() + .eq(InsSample::getInsOrderId, inspectionOrder.getInsOrderId())); + if (insSamples.size()>0){ + List<ProcessSample> processSamples = new ArrayList<>(); + for (InsSample insSample : insSamples) { + ProcessSample processSample = new ProcessSample(); + processSample.setReceiveDate(inspectionOrder.getSampleData());//鏀舵牱鏃ユ湡=棰嗘牱鏃ユ湡 + processSample.setSampleCode(insSample.getSampleCode());//鏍峰搧缂栧彿 + processSample.setSampleName(insSample.getSample());//鏍峰搧鍚嶇О + processSample.setNum(1);//鏍峰搧鏁伴噺=1 + processSample.setSampleSupplier(inspectionOrder.getCommissionUnit());//鏉ユ牱鍗曚綅 + LocalDate plusMonths = inspectionOrder.getSampleData().plusMonths(1); + processSample.setLeaveDate(plusMonths);//鐣欐牱鏃ユ湡=鏀舵牱鏃ユ湡寰�鍚庡欢涓�涓湀 + processSample.setSampleState(inspectionOrder.getSampleStatus());//鏍峰搧鐘舵�� + processSample.setDealTime(plusMonths);//閫�鏍锋棩鏈�=鐣欐牱鏃ユ湡 + processSample.setInspectionOrderId(inspectionOrder.getInspectionOrderId());//濮旀墭鍗昳d + processSamples.add(processSample); + } + processSampleService.saveBatch(processSamples); + } return true; } @@ -245,6 +270,17 @@ //鍒犻櫎瀵瑰簲鐨勮澶囦娇鐢ㄨ褰� processOrderDeviceService.remove(Wrappers.<ProcessOrderDevice>lambdaQuery() .eq(ProcessOrderDevice::getInspectionOrderId, inspectionOrderId)); + //鍒犻櫎瀵瑰簲鐨�7.4鐨勬牱鍝佺敵璇� + List<ProcessSample> processSamples = processSampleMapper.selectList(Wrappers.<ProcessSample>lambdaQuery() + .eq(ProcessSample::getInspectionOrderId, inspectionOrderId)); + if (processSamples.size()>0){ + List<Integer> list = processSamples.stream().map(ProcessSample::getId).collect(Collectors.toList()); + processDealService.remove(Wrappers.<ProcessDeal>lambdaQuery() + .in(ProcessDeal::getProcessSampleId,list)); + } + //鍒犻櫎瀵瑰簲7.4鐨勬牱鍝佹帴鏀� + processSampleService.remove(Wrappers.<ProcessSample>lambdaQuery() + .eq(ProcessSample::getInspectionOrderId,inspectionOrderId)); return true; } diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java index 741b4fb..89dc84b 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java @@ -26,86 +26,11 @@ * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃� 鏈嶅姟瀹炵幇绫� * </p> * - * @author + * @author * @since 2024-11-02 02:50:19 */ @Service @Transactional(rollbackFor = Exception.class) public class ProcessDealServiceImpl extends ServiceImpl<ProcessDealMapper, ProcessDeal> implements ProcessDealService { - @Resource - private ProcessDealMapper processDealMapper; - - - @Autowired - private UserMapper userMapper; - - @Resource - private ProcessTotaldealMapper processTotaldealMapper; - - @Override - public IPage<ProcessDeal> pageProcessDeal(Page page, ProcessDeal processDeal) { - Integer userId = SecurityUtils.getUserId().intValue(); - processDeal.setCreateUser(userId); - - if (ObjectUtils.isEmpty(processDeal.getTotaldealId())) { - //鑾峰彇褰撳墠鏈堜唤 - LocalDate currentDate = LocalDate.now(); - // 瀹氫箟鏃ユ湡鏍煎紡 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); - // 鏍煎紡鍖栧綋鍓嶆棩鏈� - String currentMonth = currentDate.format(formatter); - //鏌ヨ鍘嗗彶 - ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectOne(Wrappers.<ProcessTotaldeal>lambdaQuery().eq(ProcessTotaldeal::getMonth, currentMonth)); - if(ObjectUtils.isNotEmpty(processTotaldeal)){ - processDeal.setTotaldealId(processTotaldeal.getId()); - } - } - - return processDealMapper.pageProcessDeal(page, QueryWrappers.queryWrappers(processDeal)); - } - - @Override - public int addProcessDeal(ProcessDeal processDeal) { - ProcessTotaldeal processTotaldeal; - if (ObjectUtils.isEmpty(processDeal.getTotaldealId())){ - LocalDate dealTime = LocalDate.now(); - // 瀹氫箟鏃ユ湡鏍煎紡 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); - // 鏍煎紡鍖栧綋鍓嶆棩鏈� - String currentMonth = dealTime.format(formatter); - processTotaldeal= processTotaldealMapper.selectOne(Wrappers.<ProcessTotaldeal>lambdaQuery().eq(ProcessTotaldeal::getMonth,currentMonth)); - if(ObjectUtils.isNotEmpty(processTotaldeal)){ - processDeal.setTotaldealId(processTotaldeal.getId()); - } - }else { - processTotaldeal= processTotaldealMapper.selectById(processDeal.getTotaldealId()); - } - processDealMapper.insert(processDeal); - processTotaldeal.setTotalNum(processDeal.getNum()+processTotaldeal.getTotalNum()); - return processTotaldealMapper.updateById(processTotaldeal); - } - - @Override - public int delProcessDeal(Integer id) { - ProcessDeal processDeal = processDealMapper.selectById(id); - processDealMapper.deleteById(id); - ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(processDeal.getTotaldealId()); - processTotaldeal.setTotalNum(processTotaldeal.getTotalNum()-processDeal.getNum()); - return processTotaldealMapper.updateById(processTotaldeal); - } - - @Override - public int doProcessDeal(ProcessDeal processDeal) { - if (ObjectUtils.isNotEmpty(processDeal.getNum())) { - ProcessDeal oldProcessDeal = processDealMapper.selectById(processDeal.getId()); - if(null != processDeal.getTotaldealId()){ - ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(processDeal.getTotaldealId()); - int totalNum = ObjectUtils.isEmpty(processTotaldeal) ? 0 : processTotaldeal.getTotalNum(); - processTotaldeal.setTotalNum(totalNum - oldProcessDeal.getNum() + processDeal.getNum()); - processTotaldealMapper.updateById(processTotaldeal); - } - } - return processDealMapper.updateById(processDeal); - } } diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java index 6d1f901..f4dd8a7 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessSampleServiceImpl.java @@ -1,21 +1,25 @@ package com.ruoyi.process.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.data.FilePictureRenderData; import com.ruoyi.common.utils.QueryWrappers; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; import com.ruoyi.process.mapper.ProcessSampleMapper; -import com.ruoyi.process.mapper.ProcessTotalSampleMapper; import com.ruoyi.process.pojo.ProcessSample; -import com.ruoyi.process.pojo.ProcessTotalSample; import com.ruoyi.process.service.ProcessSampleService; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; /** * <p> @@ -31,64 +35,35 @@ @Resource private ProcessSampleMapper processSampleMapper; - @Resource - private ProcessTotalSampleMapper processTotalSampleMapper; - - - @Override public IPage<ProcessSample> pageProcessSample(Page page, ProcessSample processSample) { - //todo锛氫粎鐪嬫垜 - if (ObjectUtils.isEmpty(processSample.getTotalSampleId())) { - //鑾峰彇褰撳墠鏈堜唤 - LocalDate currentDate = LocalDate.now(); - // 瀹氫箟鏃ユ湡鏍煎紡 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); - // 鏍煎紡鍖栧綋鍓嶆棩鏈� - String currentMonth = currentDate.format(formatter); - //鏌ヨ鍘嗗彶 - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectOne(Wrappers.<ProcessTotalSample>lambdaQuery().eq(ProcessTotalSample::getMonth, currentMonth)); - processSample.setTotalSampleId(processTotalSample.getId()); - } return processSampleMapper.pageProcessSample(page, QueryWrappers.queryWrappers(processSample)); } @Override - public int addProcessSample(ProcessSample processSample) { - ProcessTotalSample processTotalSample; - if (ObjectUtils.isEmpty(processSample.getTotalSampleId())){ - LocalDate dealTime = LocalDate.now(); - // 瀹氫箟鏃ユ湡鏍煎紡 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); - // 鏍煎紡鍖栧綋鍓嶆棩鏈� - String currentMonth = dealTime.format(formatter); - processTotalSample= processTotalSampleMapper.selectOne(Wrappers.<ProcessTotalSample>lambdaQuery().eq(ProcessTotalSample::getMonth,currentMonth)); - processSample.setTotalSampleId(processTotalSample.getId()); - }else { - processTotalSample= processTotalSampleMapper.selectById(processSample.getTotalSampleId()); + public void exportProcessSample(ProcessSample processSample, HttpServletResponse response) { + List<ProcessSample> processSampleList = pageProcessSample(new Page(-1, -1), processSample).getRecords(); + InputStream inputStream = this.getClass().getResourceAsStream("/static/sample-receive.docx"); + Configure configure = Configure.builder() + .bind("sampleList", new HackLoopTableRenderPolicy()) + .build(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("sampleList", processSampleList); + }}); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "妫�楠屾牱鍝佺櫥璁拌〃", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); } - processSampleMapper.insert(processSample); - processTotalSample.setTotalNum(processSample.getNum()+processTotalSample.getTotalNum()); - return processTotalSampleMapper.updateById(processTotalSample); - } - - @Override - public int delProcessSample(Integer id) { - ProcessSample processSample = processSampleMapper.selectById(id); - processSampleMapper.deleteById(id); - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(processSample.getTotalSampleId()); - processTotalSample.setTotalNum(processTotalSample.getTotalNum()-processSample.getNum()); - return processTotalSampleMapper.updateById(processTotalSample); - } - - @Override - public int doProcessSample(ProcessSample processSample) { - if (ObjectUtils.isNotEmpty(processSample.getNum())) { - ProcessSample oldProcessSample = processSampleMapper.selectById(processSample.getId()); - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(processSample.getTotalSampleId()); - processTotalSample.setTotalNum(processTotalSample.getTotalNum() - oldProcessSample.getNum() + processSample.getNum()); - processTotalSampleMapper.updateById(processTotalSample); - } - return processSampleMapper.updateById(processSample); } } diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotalSampleServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotalSampleServiceImpl.java deleted file mode 100644 index f5b1344..0000000 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotalSampleServiceImpl.java +++ /dev/null @@ -1,437 +0,0 @@ -package com.ruoyi.process.service.impl; - -import cn.hutool.core.lang.UUID; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.deepoove.poi.XWPFTemplate; -import com.deepoove.poi.config.Configure; -import com.deepoove.poi.config.ConfigureBuilder; -import com.deepoove.poi.data.*; -import com.deepoove.poi.data.style.*; -import com.ruoyi.common.core.domain.entity.User; -import com.ruoyi.common.utils.QueryWrappers; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.framework.exception.ErrorException; -import com.ruoyi.process.mapper.ProcessSampleMapper; -import com.ruoyi.process.mapper.ProcessTotalSampleMapper; -import com.ruoyi.process.pojo.ProcessSample; -import com.ruoyi.process.pojo.ProcessTotalSample; -import com.ruoyi.process.service.ProcessTotalSampleService; -import com.ruoyi.system.mapper.UserMapper; -import org.apache.commons.io.IOUtils; -import org.apache.poi.xwpf.usermodel.*; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * <p> - * 鏍峰搧鎺ユ敹鎬昏〃 鏈嶅姟瀹炵幇绫� - * </p> - * - * @author - * @since 2024-12-12 05:02:58 - */ -@Service -public class ProcessTotalSampleServiceImpl extends ServiceImpl<ProcessTotalSampleMapper, ProcessTotalSample> implements ProcessTotalSampleService { - - @Value("${wordUrl}") - private String wordUrl; - - @Value("${file.path}") - private String imgUrl; - - - @Resource - private UserMapper userMapper; - - @Resource - private ProcessTotalSampleMapper processTotalSampleMapper; - - @Resource - private ProcessSampleMapper processSampleMapper; - - @Override - public IPage<ProcessTotalSample> pageProcessTotalSample(Page page, ProcessTotalSample processTotalSample) { - - return processTotalSampleMapper.pageProcessTotalSample(page, QueryWrappers.queryWrappers(processTotalSample)); - } - - @Override - public int submitProcessTotalSample(Integer id) { - Integer userId = SecurityUtils.getUserId().intValue(); - User user = userMapper.selectById(userId); - if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒板~琛ㄤ汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(id); - processTotalSample.setSubmitUser(userId); - processTotalSample.setSubmitState("宸叉彁浜�"); - processTotalSample.setSubmitUrl(user.getSignatureUrl()); - //鐢熸垚鏍峰搧澶勭悊鐢宠琛ㄥ苟灏嗗~琛ㄤ汉鐨勭數瀛愮鍚嶅嵃涓� - processTotalSample.setUrl(processTotalSample(id,user.getSignatureUrl())); - return processTotalSampleMapper.updateById(processTotalSample); - } - - @Override - public int checkProcessTotalSample(Integer id, String state) { - Integer userId = SecurityUtils.getUserId().intValue(); - User user = userMapper.selectById(userId); - if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒板鏍镐汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(id); - processTotalSample.setExamineUser(userId); - processTotalSample.setExamineState(state); - processTotalSample.setExamineUrl(user.getSignatureUrl()); - if (state.equals("涓嶉�氳繃")) { - processTotalSample.setSubmitState("寰呮彁浜�"); - } - //灏嗗鏍镐汉鐨勭數瀛愮鍚嶅嵃涓� - wordInsertUrl(new HashMap<String, Object>() {{ - put("examineUrl", new FilePictureRenderData(100,50,imgUrl + "/" + user.getSignatureUrl())); - }}, wordUrl+"/"+processTotalSample.getUrl()); - return processTotalSampleMapper.updateById(processTotalSample); - } - - @Override - public int ratifyProcessTotalSample(Integer id, String state) { - Integer userId = SecurityUtils.getUserId().intValue(); - User user = userMapper.selectById(userId); - if (ObjectUtils.isEmpty(user.getSignatureUrl())) throw new ErrorException("鏈壘鍒版壒鍑嗕汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); - ProcessTotalSample processTotalSample = processTotalSampleMapper.selectById(id); - processTotalSample.setRatifyUser(userId); - processTotalSample.setRatifyState(state); - processTotalSample.setRatifyUrl(user.getSignatureUrl()); - if (state.equals("涓嶉�氳繃")) { - processTotalSample.setSubmitState("寰呮彁浜�"); - } - //灏嗘壒鍑嗕汉鐨勭鍚嶅嵃涓� - wordInsertUrl(new HashMap<String, Object>() {{ - put("ratifyUrl", new FilePictureRenderData(100,50,imgUrl + "/" + user.getSignatureUrl())); - }}, wordUrl+"/"+processTotalSample.getUrl()); - return processTotalSampleMapper.updateById(processTotalSample); - } - - //鐢熸垚鏍峰搧澶勭悊琛╳ord - private String processTotalSample(Integer id,String signatureUrl){ - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); - List<ProcessSample> processSamples = processSampleMapper.selectList(Wrappers.<ProcessSample>lambdaQuery().eq(ProcessSample::getTotalSampleId,id)); - String url; - try { - InputStream inputStream = this.getClass().getResourceAsStream("/static/sample-receive.docx"); - File file = File.createTempFile("temp", ".tmp"); - OutputStream outputStream = new FileOutputStream(file); - IOUtils.copy(inputStream, outputStream); - url = file.getAbsolutePath(); - } catch (FileNotFoundException e) { - throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�"); - } catch (IOException e) { - throw new RuntimeException(e); - } - ConfigureBuilder builder = Configure.builder(); - builder.useSpringEL(true); - - List<Map<String, Object>> sampleList = new ArrayList<>(); - Integer index = 1; - Integer index1 = 1; - for (int c = 0; c < processSamples.size(); c++) { - //瓒呰繃20琛屾崲椤� - if (c % 20 == 0) { - List<RowRenderData> rows = new ArrayList<>(); - //琛ㄦ牸鐨勮鏁� - for (int i = 0; i < 21; i++) { - RowRenderData rowRenderData = new RowRenderData(); - RowStyle rowStyle = new RowStyle(); - rowStyle.setHeight(40); - rowRenderData.setRowStyle(rowStyle); - List<CellRenderData> cells = new ArrayList<>(); - //琛ㄦ牸鐨勫垪鏁� - for (int j = 0; j < 8; 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) { - //绗竴琛� - if (j == 0) { - //绗竴鍒楀簭鍙� - textRenderData.setText("鏀舵牱鏃ユ湡@Date of receipt"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒楁牱鍝佸悕绉� - textRenderData.setText("鏍峰搧缂栧彿@Sample number"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒楁牱鍝佺紪鍙� - textRenderData.setText("鏍峰搧鍚嶇О@Sample name"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒椾緵鏍峰崟浣� - textRenderData.setText("鏍峰搧鏁伴噺@Number of samples"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒楁暟閲� - textRenderData.setText("鏉ユ牱鍗曚綅@Sample unit"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 5) { - //绗叚鍒楀鐞嗘柟寮� - textRenderData.setText("鐣欐牱鏃ユ湡@Sample retention date"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 6) { - //绗叚鍒楀鐞嗘柟寮� - textRenderData.setText("鏍峰搧鐘舵�丂Sample status"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else { - //绗竷鍒楁椂闂� - textRenderData.setText("閫�鏍风鏀跺拰/鎴栧鐞嗘棩鏈烜Return signature and/or processing date"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - else { - //鍏朵粬琛� - if (j == 0) { - //绗竴鍒� - try{ - String receiveDate = processSamples.get((i-1) + (index1 - 1) * 20).getReceiveDate().format(formatter); - textRenderData.setText(receiveDate); - } catch (Exception e) { - textRenderData.setText(""); - } - index++; - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - try{ - textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getSampleCode()); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 2) { - try{ - textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getSampleName()); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 3) { - try{ - textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getNum()+""); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 4) { - try{ - textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getSampleSupplier()); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 5) { - try{ - textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getLeaveDate().format(formatter)); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else if (j == 5) { - try{ - textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getSampleState()); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - else { - try{ - textRenderData.setText(processSamples.get((i-1) + (index1 - 1) * 20).getDealTime().format(formatter)); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - rowRenderData.setCells(cells); - if (rowRenderData.getCells().size() != 0) { - rows.add(rowRenderData); - } - } - TableRenderData tableRenderData = new TableRenderData(); - tableRenderData.setRows(rows); - int countSize = tableRenderData.getRows().get(0).getCells().size(); - for (RowRenderData row : tableRenderData.getRows()) { - if (row.getCells().size() != countSize) { - throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); - } - } - TableStyle tableStyle = new TableStyle(); - tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); - tableStyle.setAlign(TableRowAlign.CENTER); - BorderStyle borderStyle = new BorderStyle(); - borderStyle.setColor("000000"); - borderStyle.setType(XWPFTable.XWPFBorderType.THICK); - borderStyle.setSize(14); - tableStyle.setLeftBorder(borderStyle); - tableStyle.setTopBorder(borderStyle); - tableStyle.setRightBorder(borderStyle); - tableStyle.setBottomBorder(borderStyle); - tableRenderData.setTableStyle(tableStyle); - Map<String, Object> table = new HashMap<>(); - table.put("sample", tableRenderData); - table.put("index1", index1); - sampleList.add(table); - index1++; - } - } - Integer finalIndex = index1; - XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( - new HashMap<String, Object>() {{ - put("sampleList", sampleList); - put("size", finalIndex); - put("examineUrl", null); - put("ratifyUrl", null); - put("writeUrl", new FilePictureRenderData(100,50,imgUrl + "/" + signatureUrl)); - }}); - String name = UUID.randomUUID() + "_妫�楠屾牱鍝佺櫥璁拌〃" + ".docx"; - try { - template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name))); - } catch (IOException e) { - throw new RuntimeException(e); - } - //澶勭悊涓嫳鏂囨崲琛岀殑闂 - String path = wordUrl + "/" + name; - try { - FileInputStream stream1 = new FileInputStream(path); - XWPFDocument document1 = new XWPFDocument(stream1); - List<XWPFTable> xwpfTables1 = document1.getTables(); - for (int i = 0; i < xwpfTables1.size(); i++) { - for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) { - for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) { - if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) { - String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText(); - String[] split = text.split("@"); - xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); - XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph(); - XWPFRun run = xwpfParagraph.createRun(); - run.setText(split[0]); - if (ObjectUtils.isNotNull(split[1])) { - run.addBreak(); - run.setText(split[1]); - } - xwpfParagraph.setAlignment(ParagraphAlignment.CENTER); - } - } - } - } - FileOutputStream fileOutputStream1 = new FileOutputStream(path); - document1.write(fileOutputStream1); - fileOutputStream1.close(); - } catch (FileNotFoundException e) { - throw new RuntimeException(e); - } catch (IOException e) { - throw new RuntimeException(e); - } - return name; - } - - public int wordInsertUrl(Map<String, Object> map, String url) { - XWPFTemplate template = XWPFTemplate.compile(url).render(map); - try { - template.writeAndClose(Files.newOutputStream(Paths.get(url))); - } catch (IOException e) { - throw new RuntimeException(e); - } - return 1; - } -} diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotaldealServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotaldealServiceImpl.java index 1493c4b..02126e0 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotaldealServiceImpl.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessTotaldealServiceImpl.java @@ -15,22 +15,35 @@ import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +import com.ruoyi.process.mapper.InspectionOrderMapper; import com.ruoyi.process.mapper.ProcessDealMapper; +import com.ruoyi.process.mapper.ProcessSampleMapper; import com.ruoyi.process.mapper.ProcessTotaldealMapper; +import com.ruoyi.process.pojo.InspectionOrder; import com.ruoyi.process.pojo.ProcessDeal; +import com.ruoyi.process.pojo.ProcessSample; import com.ruoyi.process.pojo.ProcessTotaldeal; +import com.ruoyi.process.service.ProcessDealService; import com.ruoyi.process.service.ProcessTotaldealService; import com.ruoyi.system.mapper.UserMapper; import org.apache.commons.io.IOUtils; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.xml.soap.SAAJMetaFactory; import java.io.*; +import java.net.URLEncoder; import java.nio.file.Files; import java.nio.file.Paths; +import java.time.LocalDate; +import java.time.YearMonth; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -41,7 +54,7 @@ * 妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�昏〃(鍘嗗彶) 鏈嶅姟瀹炵幇绫� * </p> * - * @author + * @author * @since 2024-11-02 03:59:09 */ @Service @@ -52,10 +65,16 @@ private ProcessTotaldealMapper processTotaldealMapper; @Resource - private ProcessDealMapper processDealMapper; + private ProcessSampleMapper processSampleMapper; - @Value("${wordUrl}") - private String wordUrl; + @Resource + private ProcessDealService processDealService; + + @Resource + private InspectionOrderMapper inspectionOrderMapper; + + @Resource + private ProcessDealMapper processDealMapper; @Value("${file.path}") private String imgUrl; @@ -80,9 +99,6 @@ ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(id); processTotaldeal.setSubmitUser(userId); processTotaldeal.setSubmitState("宸叉彁浜�"); - processTotaldeal.setSubmitUrl(user.getSignatureUrl()); - //鐢熸垚鏍峰搧澶勭悊鐢宠琛ㄥ苟灏嗗~琛ㄤ汉鐨勭數瀛愮鍚嶅嵃涓� - processTotaldeal.setUrl(processTotaldeal(id, user.getSignatureUrl())); return processTotaldealMapper.updateById(processTotaldeal); } @@ -96,14 +112,9 @@ ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(id); processTotaldeal.setExamineUser(userId); processTotaldeal.setExamineState(state); - processTotaldeal.setExamineUrl(user.getSignatureUrl()); if (state.equals("涓嶉�氳繃")) { processTotaldeal.setSubmitState("寰呮彁浜�"); } - //灏嗗鏍镐汉鐨勭數瀛愮鍚嶅嵃涓� - wordInsertUrl(new HashMap<String, Object>() {{ - put("examineUrl", new FilePictureRenderData(100, 50, imgUrl + "/" + user.getSignatureUrl())); - }}, wordUrl + "/" + processTotaldeal.getUrl()); return processTotaldealMapper.updateById(processTotaldeal); } @@ -117,300 +128,113 @@ ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(id); processTotaldeal.setRatifyUser(userId); processTotaldeal.setRatifyState(state); - processTotaldeal.setRatifyUrl(user.getSignatureUrl()); if (state.equals("涓嶉�氳繃")) { + processTotaldeal.setExamineState(state); processTotaldeal.setSubmitState("寰呮彁浜�"); } - //灏嗘壒鍑嗕汉鐨勭鍚嶅嵃涓� - wordInsertUrl(new HashMap<String, Object>() {{ - put("ratifyUrl", new FilePictureRenderData(100, 50, imgUrl + "/" + user.getSignatureUrl())); - }}, wordUrl + "/" + processTotaldeal.getUrl()); return processTotaldealMapper.updateById(processTotaldeal); } - //鐢熸垚鏍峰搧澶勭悊琛╳ord - private String processTotaldeal(Integer id, String signatureUrl) { - List<ProcessDeal> processDeals = processDealMapper.selectList(Wrappers.<ProcessDeal>lambdaQuery().eq(ProcessDeal::getTotaldealId, id)); - String url; - try { - InputStream inputStream = this.getClass().getResourceAsStream("/static/sample-deal.docx"); - File file = File.createTempFile("temp", ".tmp"); - OutputStream outputStream = new FileOutputStream(file); - IOUtils.copy(inputStream, outputStream); - url = file.getAbsolutePath(); - } catch (FileNotFoundException e) { - throw new ErrorException("鎵句笉鍒版ā鏉挎枃浠�"); - } catch (IOException e) { - throw new RuntimeException(e); + @Override + public int addProcessTotaldeal(String month) { + //鏂板鎬昏〃 + ProcessTotaldeal processTotaldeal = new ProcessTotaldeal(); + List<ProcessTotaldeal> processTotaldeals = processTotaldealMapper.selectList(Wrappers.<ProcessTotaldeal>lambdaQuery() + .eq(ProcessTotaldeal::getMonth, month)); + if (processTotaldeals.size()<=0) { + processTotaldeal.setMonth(month);//鏈堜唤 + processTotaldeal.setSubmitState("寰呮彁浜�"); + processTotaldealMapper.insert(processTotaldeal); + }else { + processTotaldeal=processTotaldeals.get(0); } - ConfigureBuilder builder = Configure.builder(); - builder.useSpringEL(true); - - List<Map<String, Object>> sampleList = new ArrayList<>(); - Integer index = 1; - Integer index1 = 1; - for (int c = 0; c < processDeals.size(); c++) { - //瓒呰繃20琛屾崲椤� - if (c % 20 == 0) { - List<RowRenderData> rows = new ArrayList<>(); - //琛ㄦ牸鐨勮鏁� - for (int i = 0; i < 21; i++) { - RowRenderData rowRenderData = new RowRenderData(); - RowStyle rowStyle = new RowStyle(); - rowStyle.setHeight(40); - rowRenderData.setRowStyle(rowStyle); - List<CellRenderData> cells = new ArrayList<>(); - //琛ㄦ牸鐨勫垪鏁� - for (int j = 0; j < 7; 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) { - //绗竴琛� - if (j == 0) { - //绗竴鍒楀簭鍙� - textRenderData.setText("搴忓彿@No."); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - //绗簩鍒楁牱鍝佸悕绉� - textRenderData.setText("鏍峰搧鍚嶇О@Sample name"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - //绗笁鍒楁牱鍝佺紪鍙� - textRenderData.setText("鏍峰搧缂栧彿@Sample number"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - //绗洓鍒椾緵鏍峰崟浣� - textRenderData.setText("渚涙牱鍗曚綅@Sample unit"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - //绗簲鍒楁暟閲� - textRenderData.setText("鏁伴噺@Quantity"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 5) { - //绗叚鍒楀鐞嗘柟寮� - textRenderData.setText("澶勭悊鏂瑰紡@Processing"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - //绗竷鍒楁椂闂� - textRenderData.setText("鏃堕棿@Date"); - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } else { - //鍏朵粬琛� - if (j == 0) { - //绗竴鍒� - try { - String sampleName = processDeals.get((i - 1) + (index1 - 1) * 20).getSampleName(); - textRenderData.setText(index + ""); - } catch (Exception e) { - textRenderData.setText(""); - } - index++; - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 1) { - try { - textRenderData.setText(processDeals.get((i - 1) + (index1 - 1) * 20).getSampleName()); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 2) { - try { - textRenderData.setText(processDeals.get((i - 1) + (index1 - 1) * 20).getSampleCode()); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 3) { - try { - textRenderData.setText(processDeals.get((i - 1) + (index1 - 1) * 20).getSampleSupplier()); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 4) { - try { - textRenderData.setText(processDeals.get((i - 1) + (index1 - 1) * 20).getNum() + ""); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else if (j == 5) { - try { - textRenderData.setText(processDeals.get((i - 1) + (index1 - 1) * 20).getDealMethod()); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } else { - try { - textRenderData.setText(processDeals.get((i - 1) + (index1 - 1) * 20).getDealTime() + ""); - } catch (Exception e) { - textRenderData.setText(""); - } - renderData.add(textRenderData); - paragraphRenderData.setContents(renderData); - paragraphRenderDataList.add(paragraphRenderData); - cellRenderData.setParagraphs(paragraphRenderDataList); - cells.add(cellRenderData); - } - } - } - rowRenderData.setCells(cells); - if (rowRenderData.getCells().size() != 0) { - rows.add(rowRenderData); - } + //鏂板璇︽儏琛� + //1.鑾峰彇璇ユ湀浠界殑绗竴澶╁拰鏈�鍚庝竴澶� + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); + YearMonth yearMonth = YearMonth.parse(month, formatter); + LocalDate firstDay = yearMonth.atDay(1); + LocalDate lastDay = yearMonth.atEndOfMonth(); + //2.鏌ヨ鍦ㄨ繖涓椂闂磋寖鍥村唴鐨勬墍鏈夋牱鍝佺櫥璁扮殑鏁版嵁 + List<ProcessSample> processSamples = processSampleMapper.selectList(Wrappers.<ProcessSample>lambdaQuery() + .between(ProcessSample::getLeaveDate, firstDay, lastDay)); + if (processSamples.size()>0){ + //鑾峰彇澶勭悊鏂瑰紡 + InspectionOrder inspectionOrder = inspectionOrderMapper.selectById(processSamples.get(0).getInspectionOrderId()); + List<ProcessDeal> processDeals = new ArrayList<>(); + for (ProcessSample processSample : processSamples) { + long count = processDealService.count(Wrappers.<ProcessDeal>lambdaQuery().eq(ProcessDeal::getProcessSampleId, processSample.getId())); + if (count>0){ + continue; } - TableRenderData tableRenderData = new TableRenderData(); - tableRenderData.setRows(rows); - int countSize = tableRenderData.getRows().get(0).getCells().size(); - for (RowRenderData row : tableRenderData.getRows()) { - if (row.getCells().size() != countSize) { - throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑"); - } - } - TableStyle tableStyle = new TableStyle(); - tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH); - tableStyle.setAlign(TableRowAlign.CENTER); - BorderStyle borderStyle = new BorderStyle(); - borderStyle.setColor("000000"); - borderStyle.setType(XWPFTable.XWPFBorderType.THICK); - borderStyle.setSize(14); - tableStyle.setLeftBorder(borderStyle); - tableStyle.setTopBorder(borderStyle); - tableStyle.setRightBorder(borderStyle); - tableStyle.setBottomBorder(borderStyle); - tableRenderData.setTableStyle(tableStyle); - Map<String, Object> table = new HashMap<>(); - table.put("sample", tableRenderData); - table.put("index1", index1); - sampleList.add(table); - index1++; + ProcessDeal processDeal = new ProcessDeal(); + processDeal.setSampleName(processSample.getSampleName());//鏍峰搧鍚嶇О + processDeal.setSampleCode(processSample.getSampleCode());//鏍峰搧缂栧彿 + processDeal.setSampleSupplier(processSample.getSampleSupplier());//渚涙牱鍗曚綅 + processDeal.setNum(processSample.getNum());//鏍峰搧鏁伴噺 + processDeal.setDealMethod(inspectionOrder.getProcessing()==1?"瀹為獙瀹ゅ鐞�":"濮旀墭鍗曚綅鍙栧洖");//澶勭悊鏂瑰紡 + processDeal.setDealTime(LocalDate.now());//鏃堕棿=褰撳墠鏃堕棿 + processDeal.setTotaldealId(processTotaldeal.getId());//鎬昏〃id + processDeal.setProcessSampleId(processSample.getId());//鏍峰搧鎺ユ敹id + processDeals.add(processDeal); } + processDealService.saveBatch(processDeals); } - Integer finalIndex = index1; - XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( - new HashMap<String, Object>() {{ - put("sampleList", sampleList); - put("size", finalIndex); - put("examineUrl", null); - put("ratifyUrl", null); - put("writeUrl", new FilePictureRenderData(100, 50, imgUrl + "/" + signatureUrl)); - }}); - String name = UUID.randomUUID() + "_鏍峰搧澶勭悊鐢宠琛�" + ".docx"; - try { - template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name))); - } catch (IOException e) { - throw new RuntimeException(e); - } - //澶勭悊涓嫳鏂囨崲琛岀殑闂 - String path = wordUrl + "/" + name; - try { - FileInputStream stream1 = new FileInputStream(path); - XWPFDocument document1 = new XWPFDocument(stream1); - List<XWPFTable> xwpfTables1 = document1.getTables(); - for (int i = 0; i < xwpfTables1.size(); i++) { - for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) { - for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) { - if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) { - String text = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText(); - String[] split = text.split("@"); - xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).removeParagraph(0); - XWPFParagraph xwpfParagraph = xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).addParagraph(); - XWPFRun run = xwpfParagraph.createRun(); - run.setText(split[0]); - if (ObjectUtils.isNotNull(split[1])) { - run.addBreak(); - run.setText(split[1]); - } - xwpfParagraph.setAlignment(ParagraphAlignment.CENTER); - } - } - } - } - FileOutputStream fileOutputStream1 = new FileOutputStream(path); - document1.write(fileOutputStream1); - fileOutputStream1.close(); - } catch (FileNotFoundException e) { - throw new RuntimeException(e); - } catch (IOException e) { - throw new RuntimeException(e); - } - return name; + return 0; } - public int wordInsertUrl(Map<String, Object> map, String url) { - XWPFTemplate template = XWPFTemplate.compile(url).render(map); - try { - template.writeAndClose(Files.newOutputStream(Paths.get(url))); - } catch (IOException e) { - throw new RuntimeException(e); + @Override + public void exportProcessTotaldeal(Integer id, HttpServletResponse response) { + List<ProcessDeal> sampleDealDtos = processDealMapper.selectDeal(id); + ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(id); + String submitUserUrl="1"; + String examineUserUrl="1"; + String ratifyUserUrl="1"; + //鑾峰彇鎻愪氦浜虹鍚� + if (ObjectUtils.isNotNull(processTotaldeal.getSubmitUser())) { + User user1 = userMapper.selectById(processTotaldeal.getSubmitUser()); + if (ObjectUtils.isEmpty(user1.getSignatureUrl())) throw new ErrorException("鏈壘鍒版彁浜や汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + submitUserUrl = user1.getSignatureUrl(); } - return 1; + //鑾峰彇瀹℃牳浜虹鍚� + if (ObjectUtils.isNotNull(processTotaldeal.getExamineUser())) { + User user2 = userMapper.selectById(processTotaldeal.getExamineUser()); + if (ObjectUtils.isEmpty(user2.getSignatureUrl())) throw new ErrorException("鏈壘鍒板鏍镐汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + examineUserUrl = user2.getSignatureUrl(); + } + //鑾峰彇鎵瑰噯浜虹鍚� + if (ObjectUtils.isNotNull(processTotaldeal.getRatifyUser())) { + User user3 = userMapper.selectById(processTotaldeal.getRatifyUser()); + if (ObjectUtils.isEmpty(user3.getSignatureUrl())) throw new ErrorException("鏈壘鍒版壒鍑嗕汉鐨勭數瀛愮鍚�,璇蜂笂浼犺嚜宸辩殑鐢靛瓙绛惧悕!"); + ratifyUserUrl = user3.getSignatureUrl(); + } + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/sample-deal.docx"); + Configure configure = Configure.builder() + .bind("sampleList", new HackLoopTableRenderPolicy()) + .build(); + FilePictureRenderData finalSubmitUserUrl = submitUserUrl!="1" ? new FilePictureRenderData(100, 50, imgUrl + "/" + submitUserUrl) : null; + FilePictureRenderData finalExamineUserUrl = examineUserUrl!="1" ? new FilePictureRenderData(100, 50, imgUrl + "/" + examineUserUrl) : null; + FilePictureRenderData finalRatifyUserUrl = ratifyUserUrl!="1" ? new FilePictureRenderData(100, 50, imgUrl + "/" + ratifyUserUrl) : null; + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("sampleList", sampleDealDtos); + put("examineUrl", finalExamineUserUrl);//瀹℃牳浜� + put("ratifyUrl", finalRatifyUserUrl);//鎵瑰噯浜� + put("writeUrl",finalSubmitUserUrl);//鎻愪氦浜� + }}); + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + "鏍峰搧澶勭悊鐢宠琛�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } } } diff --git a/cnas-process/src/main/resources/mapper/ProcessDealMapper.xml b/cnas-process/src/main/resources/mapper/ProcessDealMapper.xml index b7e00d7..282eaa7 100644 --- a/cnas-process/src/main/resources/mapper/ProcessDealMapper.xml +++ b/cnas-process/src/main/resources/mapper/ProcessDealMapper.xml @@ -23,4 +23,17 @@ ${ew.customSqlSegment} </if> </select> + + <select id="selectDeal" resultType="com.ruoyi.process.pojo.ProcessDeal"> + select ROW_NUMBER() OVER (ORDER BY id) AS indexs, + id, + sample_name, + sample_code, + sample_supplier, + num, + deal_method, + deal_time + from cnas_process_deal + where totaldeal_id = #{id} + </select> </mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml b/cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml index 3e27bb6..6ca612d 100644 --- a/cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml +++ b/cnas-process/src/main/resources/mapper/ProcessSampleMapper.xml @@ -14,7 +14,6 @@ <result column="update_user" property="updateUser" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> - <result column="total_sample_id" property="totalSampleId" /> <result column="receive_date" property="receiveDate" /> <result column="leave_date" property="leaveDate" /> <result column="deal_time" property="dealTime" /> diff --git a/cnas-process/src/main/resources/mapper/ProcessTotalSampleMapper.xml b/cnas-process/src/main/resources/mapper/ProcessTotalSampleMapper.xml deleted file mode 100644 index 5d8ac9c..0000000 --- a/cnas-process/src/main/resources/mapper/ProcessTotalSampleMapper.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.ruoyi.process.mapper.ProcessTotalSampleMapper"> - - <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> - <resultMap id="BaseResultMap" type="com.ruoyi.process.pojo.ProcessTotalSample"> - <id column="id" property="id" /> - <result column="examine_user" property="examineUser"/> - <result column="examine_state" property="examineState"/> - <result column="examine_url" property="examineUrl"/> - <result column="examineUserName" property="examineUserName"/> - <result column="ratify_user" property="ratifyUser"/> - <result column="ratify_state" property="ratifyState"/> - <result column="ratify_url" property="ratifyUrl"/> - <result column="ratifyUserName" property="ratifyUserName"/> - <result column="submit_user" property="submitUser"/> - <result column="submit_state" property="submitState"/> - <result column="submit_url" property="submitUrl"/> - <result column="submitUserName" property="submitUserName"/> - <result column="total_num" property="totalNum"/> - <result column="month" property="month"/> - <result column="url" property="url"/> - </resultMap> - <select id="pageProcessTotalSample" resultType="com.ruoyi.process.pojo.ProcessTotalSample"> - select * - from (select cpt.*, u1.name examineUserName , u2.name ratifyUserName,u3.name submitUserName - from cnas_process_total_sample cpt - left join user u1 on u1.id = examine_user - left join user u2 on u2.id = ratify_user - left join user u3 on u3.id = submit_user) A - <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> - ${ew.customSqlSegment} - </if> - </select> -</mapper> diff --git a/cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml b/cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml index 64f16ae..c6a1bda 100644 --- a/cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml +++ b/cnas-process/src/main/resources/mapper/ProcessTotaldealMapper.xml @@ -6,19 +6,14 @@ <id column="id" property="id"/> <result column="examine_user" property="examineUser"/> <result column="examine_state" property="examineState"/> - <result column="examine_url" property="examineUrl"/> <result column="examineUserName" property="examineUserName"/> <result column="ratify_user" property="ratifyUser"/> <result column="ratify_state" property="ratifyState"/> - <result column="ratify_url" property="ratifyUrl"/> <result column="ratifyUserName" property="ratifyUserName"/> <result column="submit_user" property="submitUser"/> <result column="submit_state" property="submitState"/> - <result column="submit_url" property="submitUrl"/> <result column="submitUserName" property="submitUserName"/> - <result column="total_num" property="totalNum"/> <result column="month" property="month"/> - <result column="url" property="url"/> </resultMap> <select id="pageProcessTotaldeal" resultType="com.ruoyi.process.pojo.ProcessTotaldeal"> select * diff --git a/cnas-process/src/main/resources/static/sample-deal.docx b/cnas-process/src/main/resources/static/sample-deal.docx index 9021b0a..79cf25b 100644 --- a/cnas-process/src/main/resources/static/sample-deal.docx +++ b/cnas-process/src/main/resources/static/sample-deal.docx Binary files differ diff --git a/cnas-process/src/main/resources/static/sample-receive.docx b/cnas-process/src/main/resources/static/sample-receive.docx index 1035f1c..7030cf9 100644 --- a/cnas-process/src/main/resources/static/sample-receive.docx +++ b/cnas-process/src/main/resources/static/sample-receive.docx Binary files differ -- Gitblit v1.9.3