From ccf76f68d7cd916cff6af0726228db24a51f0847 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期五, 28 二月 2025 17:26:48 +0800 Subject: [PATCH] 添加标准费用创建 --- cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenancePlanMapper.java | 3 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java | 32 +++ basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java | 2 inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderRatesMapper.java | 15 + cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenancePlanServiceImpl.java | 3 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceCalibrationPlanController.java | 8 inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderRatesController.java | 59 +++++ cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceTraceabilityManagementMapper.java | 2 cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java | 5 cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java | 3 basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java | 6 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceTraceabilityManagementController.java | 3 inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderRatesService.java | 25 ++ inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 276 +++++++++++++++------------ cnas-device/src/main/java/com/ruoyi/device/controller/DeviceDocumentsController.java | 10 cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceDocuments.java | 2 inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java | 7 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenancePlanController.java | 2 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java | 2 inspect-server/src/main/resources/mapper/InsProductMapper.xml | 8 cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceStateMapper.java | 3 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExaminePlanController.java | 4 cnas-device/src/main/java/com/ruoyi/device/service/DeviceTraceabilityManagementService.java | 4 inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderRates.java | 72 +++++++ cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceTraceabilityManagementServiceImpl.java | 3 25 files changed, 407 insertions(+), 152 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java index a18e4a1..3e84287 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java +++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java @@ -61,7 +61,7 @@ @ApiOperation(value = "鑾峰彇椤圭洰妫�楠屽弬鏁板垪琛�") @GetMapping("/selectItemParameterList") - public Result selectItemParameterList(Page page,StructureItemParameter itemParameter) throws Exception { + public Result selectItemParameterList(Page page,StructureItemParameter itemParameter) { return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter)); } @@ -85,7 +85,7 @@ @ApiOperation(value = "鑾峰彇妫�楠屽璞�") @GetMapping("/selectTestObjectList") - public Result selectTestObjectList(Page page,PageTestObjectDto pageTestObjectDto) throws Exception { + public Result selectTestObjectList(Page page,PageTestObjectDto pageTestObjectDto) { return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto)); } @@ -121,7 +121,7 @@ @ApiOperation(value = "缁存姢妫�楠屽璞$殑浜у搧") @GetMapping("/selectProductListByObjectId") - public Result selectProductListByObjectId(Page page,ProductDTO1 productDTO) throws Exception { + public Result selectProductListByObjectId(Page page,ProductDTO1 productDTO) { return Result.success(productService.selectProductListByObjectId(page, productDTO)); } diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java index 47dc8a2..27d106b 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java +++ b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java @@ -22,7 +22,7 @@ @ApiOperation(value = "鑾峰彇鏍囧噯鏂规硶鍒楄〃") @GetMapping("/selectStandardMethodList") - public Result selectStandardMethodList(Page page,StandardMethod standardMethod) throws Exception { + public Result selectStandardMethodList(Page page,StandardMethod standardMethod) { return Result.success(standardMethodService.selectStandardMethodList(page, standardMethod)); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceCalibrationPlanController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceCalibrationPlanController.java index 37aed61..8523011 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceCalibrationPlanController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceCalibrationPlanController.java @@ -81,8 +81,8 @@ * @return */ @ApiOperation(value = "璁惧鏍″噯璁″垝鍒犻櫎") - @DeleteMapping("/delQualitySupervise") - public Result delQualitySupervise(Integer planId){ + @DeleteMapping("/delDeviceCalibrationPlan") + public Result delDeviceCalibrationPlan(Integer planId){ return Result.success(deviceCalibrationPlanService.removeById(planId)); } @@ -122,7 +122,7 @@ * @return */ @ApiOperation(value = "璁惧鏍″噯璁″垝璇︽儏鍒楄〃") - @PostMapping("/pageDeviceCalibrationPlanDetail") + @GetMapping("/pageDeviceCalibrationPlanDetail") public Result<IPage<DeviceCalibrationPlanDetail>> pageDeviceCalibrationPlanDetail(Page page, DeviceCalibrationPlanDetail deviceCalibrationPlanDetails) { return Result.success(deviceCalibrationPlanService.pageDeviceCalibrationPlanDetail(page, deviceCalibrationPlanDetails)); } @@ -155,7 +155,7 @@ * @return */ @ApiOperation(value = "鍒犻櫎璁惧鏍″噯璁″垝璇︽儏") - @GetMapping("/delDeviceCalibrationPlanDetail") + @DeleteMapping("/delDeviceCalibrationPlanDetail") public Result delDeviceCalibrationPlanDetail(Integer planDetailsId){ return Result.success(deviceCalibrationPlanDetailService.removeById(planDetailsId)); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceDocumentsController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceDocumentsController.java index 0725f6f..6cfe1a7 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceDocumentsController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceDocumentsController.java @@ -34,7 +34,7 @@ */ @ApiOperation(value = "鏂板璁惧妗f") @PostMapping("/addDocument") - public Result addDocument(DeviceDocuments document) { + public Result addDocument(@RequestBody DeviceDocuments document) { if (document.getDeviceId() == null) { throw new RuntimeException("璁惧id涓虹┖"); } @@ -48,7 +48,7 @@ * @return */ @ApiOperation(value = "鏌ヨ璁惧妗f淇℃伅") - @GetMapping("/id") + @GetMapping("/getDocumentById") public Result getDocumentById(Integer id) { return Result.success(deviceDocumentsService.getById(id)); } @@ -77,14 +77,14 @@ /** * 鏌ヨ璁惧妗f鍒楄〃 - * @param id + * @param deviceId * @return */ @ApiOperation(value = "鏌ヨ璁惧妗f鍒楄〃") @GetMapping("/getAllDocuments") - public Result getAllDocuments(Integer id) { + public Result getAllDocuments(Integer deviceId) { LambdaQueryWrapper<DeviceDocuments> lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(DeviceDocuments::getDeviceId, id); + lambdaQueryWrapper.eq(DeviceDocuments::getDeviceId, deviceId); return Result.success(deviceDocumentsService.list(lambdaQueryWrapper)); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExaminePlanController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExaminePlanController.java index b139e97..6e76125 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExaminePlanController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExaminePlanController.java @@ -90,8 +90,8 @@ * @return */ @ApiOperation(value = "璁惧鏍告煡璁″垝鍒犻櫎") - @DeleteMapping("/delQualitySupervise") - public Result delQualitySupervise(Integer planId){ + @DeleteMapping("/delDeviceExaminePlan") + public Result delDeviceExaminePlan(Integer planId){ return Result.success(deviceExaminePlanService.removeById(planId)); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java index 88518a7..c52361d 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java @@ -55,7 +55,7 @@ * @return */ @ApiOperation(value = "鍒犻櫎鍒╃敤澶栭儴璁惧鐢宠") - @GetMapping("/delDeviceExternalApply") + @DeleteMapping("/delDeviceExternalApply") public Result delDeviceExternalApply(Integer externalApplyId){ return Result.success(deviceExternalApplyService.removeById(externalApplyId)); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenancePlanController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenancePlanController.java index 4052858..f7b9e83 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenancePlanController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenancePlanController.java @@ -36,7 +36,7 @@ */ @ApiOperation("鍒嗛〉鏌ヨ璁惧淇濆吇璁″垝") @GetMapping("selectDeviceMaintenancePlanByPage") - public Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(IPage page, DeviceMaintenancePlanDto itemParameter){ + public Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(Page page, DeviceMaintenancePlanDto itemParameter){ return deviceMaintenancePlanService.selectDeviceMaintenancePlanByPage(page, itemParameter); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceTraceabilityManagementController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceTraceabilityManagementController.java index b506a92..be5fa5a 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceTraceabilityManagementController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceTraceabilityManagementController.java @@ -1,6 +1,7 @@ package com.ruoyi.device.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.device.dto.DeviceTraceabilityManagementDto; import com.ruoyi.device.pojo.DeviceTraceabilityManagement; @@ -33,7 +34,7 @@ */ @ApiOperation("鍒嗛〉鏌ヨ閲忓�兼函婧愯鍒�") @GetMapping("selectDeviceTraceabilityManagementByPage") - public Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(IPage page, DeviceTraceabilityManagementDto itemParameter){ + public Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(Page page, DeviceTraceabilityManagementDto itemParameter){ return deviceTraceabilityManagementService.selectDeviceTraceabilityManagementByPage(page, itemParameter); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenancePlanMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenancePlanMapper.java index f790162..eb9cd0a 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenancePlanMapper.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenancePlanMapper.java @@ -3,6 +3,7 @@ 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.device.dto.DeviceMaintenancePlanDto; import com.ruoyi.device.pojo.DeviceMaintenancePlan; import org.apache.ibatis.annotations.Param; @@ -23,7 +24,7 @@ * @param queryWrappers 鏌ヨ鏉′欢 * @return */ - IPage<DeviceMaintenancePlan> selectDeviceParameterPage(IPage page, @Param("ew") QueryWrapper<DeviceMaintenancePlanDto> queryWrappers); + IPage<DeviceMaintenancePlan> selectDeviceParameterPage(Page page, @Param("ew") QueryWrapper<DeviceMaintenancePlanDto> queryWrappers); /** * 鏍规嵁淇濆吇璁″垝id鏌ヨ璁惧淇濆吇璁″垝 diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java index f2a4e58..66e47cf 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.device.dto.DeviceRecordDto; import com.ruoyi.device.pojo.DeviceRecord; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -18,7 +19,7 @@ */ public interface DeviceRecordMapper extends BaseMapper<DeviceRecord> { - IPage<DeviceRecordDto> deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber, Integer userId); + IPage<DeviceRecordDto> deviceRecordPage(@Param("deviceId") Integer deviceId, @Param("page") Page page, @Param("sampleCode") String sampleCode, @Param("managementNumber") String managementNumber, @Param("userId") Integer userId); /** @@ -33,5 +34,5 @@ * @param exportDate * @return */ - List<DeviceRecord> selectExportList(Integer deviceId, String exportDate); + List<DeviceRecord> selectExportList(@Param("deviceId") Integer deviceId, @Param("exportDate") String exportDate); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceStateMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceStateMapper.java index db96d63..ea33e6b 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceStateMapper.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceStateMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.device.dto.DeviceStateDto; import com.ruoyi.device.pojo.DeviceState; +import org.apache.ibatis.annotations.Param; /** * <p> @@ -16,5 +17,5 @@ */ public interface DeviceStateMapper extends BaseMapper<DeviceState> { - IPage<DeviceStateDto> getDeviceStatePage(Integer deviceId, Page page, String processNumber); + IPage<DeviceStateDto> getDeviceStatePage(@Param("deviceId") Integer deviceId, @Param("page") Page page, @Param("processNumber") String processNumber); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceTraceabilityManagementMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceTraceabilityManagementMapper.java index 6153899..12b5fbb 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceTraceabilityManagementMapper.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceTraceabilityManagementMapper.java @@ -23,7 +23,7 @@ * @param queryWrappers * @return */ - IPage<DeviceTraceabilityManagement> selectDeviceParameterPage(IPage page, @Param("ew") QueryWrapper<DeviceTraceabilityManagementDto> queryWrappers); + IPage<DeviceTraceabilityManagement> selectDeviceParameterPage(IPage page, @Param("ew") QueryWrapper<DeviceTraceabilityManagementDto> ew); /** * 鏍规嵁id鏌ヨ璁惧閲忓�兼函婧愯鍒� diff --git a/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceDocuments.java b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceDocuments.java index 243852c..ae683e3 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceDocuments.java +++ b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceDocuments.java @@ -67,7 +67,7 @@ /** * 鍒涘缓鏃堕棿 */ - + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime createTime; diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java index 3c7d1f0..46e50cf 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenancePlanService.java @@ -1,6 +1,7 @@ package com.ruoyi.device.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.common.core.domain.Result; import com.ruoyi.device.dto.DeviceMaintenancePlanDto; @@ -24,7 +25,7 @@ * @param deviceMaintenancePlanDto 璁惧淇濆吇璁″垝 * @return */ - Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(IPage page, DeviceMaintenancePlanDto deviceMaintenancePlanDto); + Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(Page page, DeviceMaintenancePlanDto deviceMaintenancePlanDto); /** * 鏂板璁惧淇濆吇璁″垝 diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceTraceabilityManagementService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceTraceabilityManagementService.java index e05bb92..8b85cd0 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceTraceabilityManagementService.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceTraceabilityManagementService.java @@ -1,10 +1,12 @@ package com.ruoyi.device.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.common.core.domain.Result; import com.ruoyi.device.dto.DeviceTraceabilityManagementDto; import com.ruoyi.device.pojo.DeviceTraceabilityManagement; +import org.apache.ibatis.annotations.Param; import javax.servlet.http.HttpServletResponse; @@ -24,7 +26,7 @@ * @param itemParameter 閲忓�兼函婧愯鍒� * @return */ - Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(IPage page, DeviceTraceabilityManagementDto itemParameter); + Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(@Param("page") Page page, @Param("itemParameter") DeviceTraceabilityManagementDto itemParameter); /** * 鏂板閲忓�兼函婧愯鍒� diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenancePlanServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenancePlanServiceImpl.java index 3a590a5..3b66ce8 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenancePlanServiceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenancePlanServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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; @@ -68,7 +69,7 @@ * @return */ @Override - public Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(IPage page, DeviceMaintenancePlanDto deviceMaintenancePlanDto) { + public Result<IPage<DeviceMaintenancePlan>> selectDeviceMaintenancePlanByPage(Page page, DeviceMaintenancePlanDto deviceMaintenancePlanDto) { IPage<DeviceMaintenancePlan> iPage = baseMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceMaintenancePlanDto)); return Result.success(iPage); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceTraceabilityManagementServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceTraceabilityManagementServiceImpl.java index e9cd9d9..843fa3f 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceTraceabilityManagementServiceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceTraceabilityManagementServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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; @@ -70,7 +71,7 @@ * @return */ @Override - public Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(IPage page, DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { + public Result<IPage<DeviceTraceabilityManagement>> selectDeviceTraceabilityManagementByPage(Page page, DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { IPage<DeviceTraceabilityManagement> iPage = baseMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceTraceabilityManagementDto)); return Result.success(iPage); } diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderRatesController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderRatesController.java new file mode 100644 index 0000000..d34c041 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderRatesController.java @@ -0,0 +1,59 @@ +package com.ruoyi.inspect.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.inspect.dto.SampleOrderDto; +import com.ruoyi.inspect.pojo.InsOrderRates; +import com.ruoyi.inspect.service.InsOrderRatesService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + + +/** + * 璁㈠崟璐圭敤琛� + * + * @author zhuo + * @since 2025-02-28 + */ +@Api(tags = "璁㈠崟璐圭敤淇℃伅") +@RestController +@RequestMapping("/insOrderRates") +public class InsOrderRatesController { + + @Resource + private InsOrderRatesService insOrderRatesService; + + + /** + * 鏌ヨ璁㈠崟鍒楄〃 + * @param page + * @param sampleOrderDto + * @return + */ + @ApiOperation(value = "鏌ヨ璁㈠崟鍒楄〃") + @GetMapping("/selectRatesPage") + public Result selectInsOrderRates(Page page, SampleOrderDto sampleOrderDto) { + return Result.success(insOrderRatesService.selectInsOrderRates(page, sampleOrderDto)); + } + + + /** + * 鏌ヨ璁㈠崟鍒楄〃 + * @param insOrderId + * @return + */ + @ApiOperation(value = "鏌ヨ璁㈠崟璐圭敤璇︽儏") + @GetMapping("/selectRatesDetail") + public Result selectRatesDetail(Integer insOrderId) { + return Result.success(insOrderRatesService.list(Wrappers.<InsOrderRates>lambdaQuery() + .eq(InsOrderRates::getInsOrderId, insOrderId))); + } + +} + diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderRatesMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderRatesMapper.java new file mode 100644 index 0000000..9f7fef2 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderRatesMapper.java @@ -0,0 +1,15 @@ +package com.ruoyi.inspect.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.inspect.pojo.InsOrderRates; + +/** + * 璁㈠崟璐圭敤琛� + * + * @author zhuo + * @since 2025-02-28 + */ +public interface InsOrderRatesMapper extends BaseMapper<InsOrderRates> { + +} + diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java index bfb7115..66334f8 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java @@ -60,6 +60,13 @@ * @return */ int selectNoJudge(@Param("orderId") Integer orderId); + + /** + * 鏍规嵁璁㈠崟鏌ヨ浜у搧淇℃伅 + * @param orderId + * @return + */ + List<InsProduct> selectProductByOrderId(Integer orderId); } diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderRates.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderRates.java new file mode 100644 index 0000000..b52ab57 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderRates.java @@ -0,0 +1,72 @@ +package com.ruoyi.inspect.pojo; + +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 璁㈠崟璐圭敤琛� + * + * @author zhuo + * @since 2025-02-28 + */ +@Data +@TableName("ins_order_rates") +public class InsOrderRates { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("璁㈠崟id") + private Integer insOrderId; + + @ApiModelProperty("鏍峰搧id") + private Integer insSampleId; + + @ApiModelProperty("妫�楠岄」id") + private Integer insProductId; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleCode; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String entrustCode; + + @ApiModelProperty("妫�楠岄」鍒嗙被") + private String inspectionItemClass; + + @ApiModelProperty("妫�娴嬮」鐩�") + private String inspectionItem; + + @ApiModelProperty("妫�楠岄」瀛愮被") + private String inspectionItemSubclass; + + @ApiModelProperty("鐢电紗鏍囪瘑") + private String cableTag; + + @ApiModelProperty("鏍囧噯浠锋牸") + private String rates; + + @ApiModelProperty("鍒嗙粍") + private String manHourGroup; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + +} + diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderRatesService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderRatesService.java new file mode 100644 index 0000000..8aa80fa --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderRatesService.java @@ -0,0 +1,25 @@ +package com.ruoyi.inspect.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.inspect.dto.SampleOrderDto; +import com.ruoyi.inspect.pojo.InsOrderRates; + +/** + * 璁㈠崟璐圭敤琛� + * + * @author zhuo + * @since 2025-02-28 + */ +public interface InsOrderRatesService extends IService<InsOrderRates> { + + /** + * + * @param page + * @param sampleOrderDto + * @return + */ + IPage<SampleOrderDto> selectInsOrderRates(Page page, SampleOrderDto sampleOrderDto); +} + diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java index 5b7231d..69d71dc 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java @@ -2,8 +2,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; @@ -44,7 +42,6 @@ import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; import com.ruoyi.inspect.vo.InsOrderPlanTaskSwitchVo; import com.ruoyi.inspect.vo.InsOrderPlanVO; -import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper; import com.ruoyi.performance.mapper.PerformanceShiftMapper; import com.ruoyi.performance.mapper.ShiftTimeMapper; import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours; @@ -57,7 +54,6 @@ import com.ruoyi.system.service.InformationNotificationService; import org.apache.commons.lang3.StringUtils; import org.apache.poi.xwpf.usermodel.*; -import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Value; import org.springframework.mock.web.MockMultipartFile; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; @@ -71,13 +67,10 @@ import java.math.RoundingMode; import java.nio.file.Files; import java.nio.file.Paths; -import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; @@ -160,7 +153,8 @@ private InsOrderDeviceRecordService insOrderDeviceRecordService; @Resource private ISysDictTypeService iSysDictTypeService; - + @Resource + private InsOrderRatesService insOrderRatesService; @Override public IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) { @@ -749,7 +743,7 @@ @Transactional(rollbackFor = Exception.class) public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode) { InsOrder order = insOrderMapper.selectById(orderId); - // 鍒ゆ柇鏄惁鏈夐噸澶嶇紪鍙�, 鏈夐噸澶嶇紪鍙峰仛鎻愰啋 + // 1. 鍒ゆ柇鏄惁鏈夐噸澶嶇紪鍙�, 鏈夐噸澶嶇紪鍙峰仛鎻愰啋 Long codeCount = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery() .ne(InsOrder::getState, -1) .ne(InsOrder::getIfsInventoryId, order.getIfsInventoryId()) @@ -758,7 +752,7 @@ throw new ErrorException("褰撳墠缂栧彿鏈夐噸澶�, 璇峰厛鍘讳慨鏀归噸澶嶇紪鍙�"); } - // 鍒ゆ柇璇ヨ鍗曟槸鍚︽槸绗竴娆$敓浜� + // 2. 鍒ゆ柇璇ヨ鍗曟槸鍚︽槸绗竴娆$敓浜�(鍚庣画鎶ュ憡鐢熸垚鍙彇绗竴娆℃彁浜ゆ椂闂�) if (!(order.getIsFirstSubmit() != null && order.getIsFirstSubmit().equals(1))) { insOrderMapper.update(null, Wrappers.<InsOrder>lambdaUpdate() .eq(InsOrder::getId, orderId) @@ -766,11 +760,12 @@ .set(InsOrder::getFirstSubmitDate, LocalDateTime.now())); } + // 3. 鍒ゆ柇鏄惁鏈夋湭妫�椤� 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<Integer> InsSampleIds = insSamples.stream().map(InsSample::getId).collect(Collectors.toList()); List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .in(InsProduct::getInsSampleId, ids) + .in(InsProduct::getInsSampleId, InsSampleIds) .eq(InsProduct::getSonLaboratory, laboratory) .eq(InsProduct::getState, 1) .and(wrapper -> wrapper @@ -778,10 +773,8 @@ .or() .eq(InsProduct::getInsResult, 2) ) - .isNull(InsProduct::getInsFiberId) - .isNull(InsProduct::getInsFibersId) .ne(InsProduct::getIsBinding, 1)); - insProducts.addAll(insProductMapper.selectFiberInsProduct(ids, laboratory)); + insProducts.addAll(insProductMapper.selectFiberInsProduct(InsSampleIds, laboratory)); if (insProducts.size() > 0) { String str = ""; int count = 0; @@ -794,21 +787,21 @@ throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str); } } + + // 4.淇敼妫�娴嬬粨鏋� insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) .set(InsOrderState::getInsTime, LocalDateTime.now()) .set(InsOrderState::getInsState, 3) .set(InsOrderState::getVerifyUser, verifyUser)); - // 鍙戦�佹秷鎭� + + // 5.鍙戦�佹秷鎭�氱煡缁欏鏍镐汉 // 鏌ヨ褰撳墠浜轰俊鎭� Integer userId = SecurityUtils.getUserId().intValue(); String userName = insProductMapper.selectUserById(userId).get("name"); - // 鏌ヨ鍙戦�佷汉淇℃伅 String sendUserAccount = insProductMapper.selectUserById(verifyUser).get("account"); - - InformationNotification info = new InformationNotification(); info.setCreateUser(userName); info.setMessageType("2"); @@ -820,15 +813,16 @@ info.setJumpPath("b1-inspect-orderPlan-review"); informationNotificationService.addInformationNotification(info); - //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜� + // 6.澶嶆牳浜�--鏂板妫�楠屽崟鐩稿叧璐熻矗浜� InsSampleUser insSampleUser = new InsSampleUser(); insSampleUser.setUserId(verifyUser); insSampleUser.setInsSampleId(orderId); insSampleUser.setState(1); insSampleUser.setSonLaboratory(laboratory); insSampleUserMapper.insert(insSampleUser); - /*鏍¢獙涓�涓媟esult琛�*/ - CompletableFuture.supplyAsync(() -> { + + // 7.鏍¢獙涓�涓媟esult琛�(閬垮厤鍑虹幇澶氫釜妫�楠岄」缁撴灉) + threadPoolTaskExecutor.execute(() -> { List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList()); for (Integer ip : ips) { List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery() @@ -839,26 +833,116 @@ } } } - return null; }); - // 鎻愪氦鐢熸垚鎶ュ憡 + // 8.鎻愪氦鐢熸垚鎶ュ憡 this.generateReport(orderId); - // 娣诲姞涓存椂pdf鐢熸垚鍦板潃 + // 9.娣诲姞涓存椂pdf鐢熸垚鍦板潃 InsReport report = insReportMapper.selectOne(Wrappers.<InsReport>lambdaQuery() .eq(InsReport::getInsOrderId, orderId)); String tempUrlPdf = this.wordToPdfTemp(report.getUrl().replace("/word", wordUrl)); report.setTempUrlPdf("/word/" + tempUrlPdf); insReportMapper.updateById(report); - // 鏌ヨ璁㈠崟 + // 10.鍘熷璁板綍妯℃澘澶嶅埗(娣诲姞澶囦唤, 閬垮厤淇敼鍘熷妯℃澘褰卞搷鍒板凡缁忓畬鎴愮殑鍗曞瓙) + this.templateCopy(orderId, InsSampleIds); + + // 11.鎴愬搧鎶芥牱娣诲姞鍚堟牸鐘舵�� + // 鍒ゆ柇鏄惁鏈夋娊鏍蜂俊鎭� + if (order.getQuarterItemId() != null) { + // 鍒ゆ柇鏄惁鏈変笉鍚堟牸 + this.addProductSpotCheck(insSamples, order); + } + + // 12.娣诲姞宸ユ椂 + // 鍒犻櫎鍘熸湰璁㈠崟宸ユ椂 + auxiliaryOutputWorkingHoursService.remove(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() + .eq(AuxiliaryOutputWorkingHours::getOrderId, orderId)); + // 鏌ヨ宸ユ椂鏆傚瓨 + List<AuxiliaryOutputWorkingHoursTemporary> hoursTemporaries = auxiliaryOutputWorkingHoursTemporaryService.list(Wrappers.<AuxiliaryOutputWorkingHoursTemporary>lambdaQuery() + .eq(AuxiliaryOutputWorkingHoursTemporary::getOrderId, orderId)); + List<AuxiliaryOutputWorkingHours> outputWorkingHours = hoursTemporaries.stream().map(hoursTemporary -> { + AuxiliaryOutputWorkingHours workingHours = new AuxiliaryOutputWorkingHours(); + BeanUtil.copyProperties(hoursTemporary, workingHours); + workingHours.setId(null); + return workingHours; + }).collect(Collectors.toList()); + auxiliaryOutputWorkingHoursService.saveBatch(outputWorkingHours); + + // 13.娣诲姞璁㈠崟璐圭敤缁熻淇℃伅 + List<InsProduct> productList = insProductMapper.selectProductByOrderId(orderId); + // 鍒犻櫎鍘熸湰璐圭敤淇℃伅 + insOrderRatesService.remove(Wrappers.<InsOrderRates>lambdaQuery() + .eq(InsOrderRates::getInsOrderId, orderId)); + List<InsOrderRates> orderRatesList = productList.stream().map(insProduct -> { + InsOrderRates insOrderRates = new InsOrderRates(); + insOrderRates.setInsOrderId(orderId); + insOrderRates.setInsSampleId(insProduct.getInsSampleId()); + insOrderRates.setInsProductId(insProduct.getId()); + insOrderRates.setSampleCode(insProduct.getSampleCode()); + insOrderRates.setEntrustCode(order.getEntrustCode()); + insOrderRates.setInspectionItemClass(insProduct.getInspectionItemClass()); + insOrderRates.setInspectionItem(insProduct.getInspectionItem()); + insOrderRates.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); + insOrderRates.setCableTag(insProduct.getCableTag()); + insOrderRates.setRates(insProduct.getRates()); + insOrderRates.setManHourGroup(insProduct.getManHourGroup()); + return insOrderRates; + }).collect(Collectors.toList()); + insOrderRatesService.saveBatch(orderRatesList); + + + // 14.鍙戦�佷紒涓氬井淇¢�氱煡 + // 鏌ヨ鍘熸潗鏂� + IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId()); + // 鏌ヨ鏍峰搧淇℃伅 InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery() .eq(InsSample::getInsOrderId, orderId) .last("limit 1")); - // 鏌ヨ鍘熸潗鏂� - IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId()); + threadPoolTaskExecutor.execute(() -> { + String message = ""; + message += "妫�楠屼换鍔″鏍搁�氱煡"; + message += "\n鎻愪氦浜�: " + userName; + message += "\n濮旀墭缂栧彿: " + order.getEntrustCode(); + message += "\n鏍峰搧鍚嶇О: " + insSample.getModel(); + message += "\n瑙勬牸鍨嬪彿: " + order.getPartDetail(); + if (ifsInventoryQuantity != null) { + message += "\n鎵规鍙�: " + ifsInventoryQuantity.getUpdateBatchNo(); + } + //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡 鎻愪氦澶嶆牳 + try { + WxCpUtils.inform(sendUserAccount, message, null); + } catch (Exception e) { + throw new RuntimeException(e); + } + }); + // 15.ifs绉诲簱(鍘熸潗鏂欓渶瑕佽繘琛岀Щ搴撴搷浣�) --> 鏈�鍚庢墽琛�,鍥犱负澶辫触鏃犳硶鍥炴粴 + if (ifsInventoryQuantity != null) { + // 鐧昏妫�楠岀粨鏋� + // 鍒ゆ柇鏄惁鏈変笉鍚堟牸, 鏈変笉鍚堟牸涓嶈兘绉诲簱 + // todo: ifs绉诲簱 + insReportService.isRawMaterial(order); + } else { + // 淇敼鎴愬搧鐘舵�� + // 鍒ゆ柇鏄惁鏈変笉鍚堟牸 + Long unqualifiedCount = insReportService.getUnqualifiedCount(order); + if (unqualifiedCount.equals(0L)) { + insOrderMapper.update(null, Wrappers.<InsOrder>lambdaUpdate() + .eq(InsOrder::getId, order.getId()) + .set(InsOrder::getInsResult, 1)); + } else { + insOrderMapper.update(null, Wrappers.<InsOrder>lambdaUpdate() + .eq(InsOrder::getId, order.getId()) + .set(InsOrder::getInsResult, 0)); + } + } + + return 1; + } + + private void templateCopy(Integer orderId, List<Integer> ids) { // 鍒犻櫎鍘熸湰妯℃澘 insOrderStandardTemplateService.remove(Wrappers.<InsOrderStandardTemplate>lambdaQuery() .eq(InsOrderStandardTemplate::getInsOrderId, orderId)); @@ -883,99 +967,6 @@ } } } - - // 娣诲姞宸ユ椂 - // 鍒犻櫎鍘熸湰璁㈠崟宸ユ椂 - auxiliaryOutputWorkingHoursService.remove(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() - .eq(AuxiliaryOutputWorkingHours::getOrderId, orderId)); - // 鏌ヨ宸ユ椂鏆傚瓨 - List<AuxiliaryOutputWorkingHoursTemporary> hoursTemporaries = auxiliaryOutputWorkingHoursTemporaryService.list(Wrappers.<AuxiliaryOutputWorkingHoursTemporary>lambdaQuery() - .eq(AuxiliaryOutputWorkingHoursTemporary::getOrderId, orderId)); - List<AuxiliaryOutputWorkingHours> outputWorkingHours = hoursTemporaries.stream().map(hoursTemporary -> { - AuxiliaryOutputWorkingHours workingHours = new AuxiliaryOutputWorkingHours(); - BeanUtil.copyProperties(hoursTemporary, workingHours); - workingHours.setId(null); - return workingHours; - }).collect(Collectors.toList()); - auxiliaryOutputWorkingHoursService.saveBatch(outputWorkingHours); - - // 鎴愬搧鎶芥牱娣诲姞鍚堟牸鐘舵�� - // 鍒ゆ柇鏄惁鏈夋娊鏍蜂俊鎭� - if (order.getQuarterItemId() != null) { - // 鍒ゆ柇鏄惁鏈変笉鍚堟牸 - Long unqualifiedCount = 0L; - if (CollectionUtils.isNotEmpty(insSamples)) { - unqualifiedCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() - .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).collect(Collectors.toList())) - .eq(InsProduct::getInsResult, 0)); - - // 鍒ゆ柇濡傛灉鏈変笉鍚堟牸鐨勬楠岄」, 鍒ゆ柇鏈夋病鏈夋楠岄」澶嶆祴, 澶嶆牳鍚堟牸涔熺畻鍚堟牸閫氳繃 - if (!unqualifiedCount.equals(0L)) { - List<InsProduct> productList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() - .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).collect(Collectors.toList())) - .eq(InsProduct::getInsResult, 0)); - - boolean flag = true; - for (InsProduct insProduct : productList) { - Long unqualifiedProductCount = insUnqualifiedRetestProductMapper.selectCount(Wrappers.<InsUnqualifiedRetestProduct>lambdaQuery() - .eq(InsUnqualifiedRetestProduct::getInsProductId, insProduct.getId()) - .ne(InsUnqualifiedRetestProduct::getInsResult, 0)); - if (unqualifiedProductCount != 2) { - flag = false; - } - } - if (flag) { - unqualifiedCount = 0L; - } - } - } - spotCheckQuarterItemMapper.update(null, Wrappers.<SpotCheckQuarterItem>lambdaUpdate() - .eq(SpotCheckQuarterItem::getQuarterItemId, order.getQuarterItemId()) - .set(SpotCheckQuarterItem::getResult, unqualifiedCount.equals(0L) ? "鍚堟牸" : "涓嶅悎鏍�")); - - } - - // 鍙戦�佷紒涓氬井淇¢�氱煡 - threadPoolTaskExecutor.execute(() -> { - String message = ""; - message += "妫�楠屼换鍔″鏍搁�氱煡"; - message += "\n鎻愪氦浜�: " + userName; - message += "\n濮旀墭缂栧彿: " + order.getEntrustCode(); - message += "\n鏍峰搧鍚嶇О: " + insSample.getModel(); - message += "\n瑙勬牸鍨嬪彿: " + order.getPartDetail(); - if (ifsInventoryQuantity != null) { - message += "\n鎵规鍙�: " + ifsInventoryQuantity.getUpdateBatchNo(); - } - //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡 鎻愪氦澶嶆牳 - try { - WxCpUtils.inform(sendUserAccount, message, null); - } catch (Exception e) { - throw new RuntimeException(e); - } - }); - - // ifs绉诲簱 - if (ifsInventoryQuantity != null) { - // 鐧昏妫�楠岀粨鏋� - // 鍒ゆ柇鏄惁鏈変笉鍚堟牸, 鏈変笉鍚堟牸涓嶈兘绉诲簱 - // todo: ifs绉诲簱 - insReportService.isRawMaterial(order); - } else { - // 淇敼鎴愬搧鐘舵�� - // 鍒ゆ柇鏄惁鏈変笉鍚堟牸 - Long unqualifiedCount = insReportService.getUnqualifiedCount(order); - if (unqualifiedCount.equals(0L)) { - insOrderMapper.update(null, Wrappers.<InsOrder>lambdaUpdate() - .eq(InsOrder::getId, order.getId()) - .set(InsOrder::getInsResult, 1)); - } else { - insOrderMapper.update(null, Wrappers.<InsOrder>lambdaUpdate() - .eq(InsOrder::getId, order.getId()) - .set(InsOrder::getInsResult, 0)); - } - } - - return 1; } @@ -4040,7 +4031,7 @@ } /** - * 淇濆瓨鍏冩闃块噷杩涜揣楠岃瘉鍘熷璁板綍 + * *****淇濆瓨鍏冩闃块噷杩涜揣楠岃瘉鍘熷璁板綍***** * @param insOrderId 璁㈠崟Id * @param examineUserId 澶嶆牳浜篒d * @param writeUserId 妫�楠屽憳Id @@ -4190,7 +4181,7 @@ /** - * 鏍煎紡鍖栬繘鍘傞獙璇佸唴瀹� + * ***鏍煎紡鍖栬繘鍘傞獙璇佸唴瀹�**** * @param basicType * @return */ @@ -4219,7 +4210,7 @@ } /** - * word杞崲pdf + * ***word杞崲pdf*** * @param path * @return */ @@ -4266,4 +4257,41 @@ return null; } + /** + * *****淇敼鎴愬搧鎶芥牱鐘舵��****** + * @param insSamples + * @param order + */ + private void addProductSpotCheck(List<InsSample> insSamples, InsOrder order) { + Long unqualifiedCount = 0L; + if (CollectionUtils.isNotEmpty(insSamples)) { + unqualifiedCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() + .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).collect(Collectors.toList())) + .eq(InsProduct::getInsResult, 0)); + + // 鍒ゆ柇濡傛灉鏈変笉鍚堟牸鐨勬楠岄」, 鍒ゆ柇鏈夋病鏈夋楠岄」澶嶆祴, 澶嶆牳鍚堟牸涔熺畻鍚堟牸閫氳繃 + if (!unqualifiedCount.equals(0L)) { + List<InsProduct> productList = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).collect(Collectors.toList())) + .eq(InsProduct::getInsResult, 0)); + + boolean flag = true; + for (InsProduct insProduct : productList) { + Long unqualifiedProductCount = insUnqualifiedRetestProductMapper.selectCount(Wrappers.<InsUnqualifiedRetestProduct>lambdaQuery() + .eq(InsUnqualifiedRetestProduct::getInsProductId, insProduct.getId()) + .ne(InsUnqualifiedRetestProduct::getInsResult, 0)); + if (unqualifiedProductCount != 2) { + flag = false; + } + } + if (flag) { + unqualifiedCount = 0L; + } + } + } + spotCheckQuarterItemMapper.update(null, Wrappers.<SpotCheckQuarterItem>lambdaUpdate() + .eq(SpotCheckQuarterItem::getQuarterItemId, order.getQuarterItemId()) + .set(SpotCheckQuarterItem::getResult, unqualifiedCount.equals(0L) ? "鍚堟牸" : "涓嶅悎鏍�")); + } + } diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java new file mode 100644 index 0000000..592f6fb --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java @@ -0,0 +1,32 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.inspect.dto.SampleOrderDto; +import com.ruoyi.inspect.mapper.InsOrderRatesMapper; +import com.ruoyi.inspect.pojo.InsOrderRates; +import com.ruoyi.inspect.service.InsOrderRatesService; +import org.springframework.stereotype.Service; + +/** + * 璁㈠崟璐圭敤琛� + * + * @author zhuo + * @since 2025-02-28 + */ +@Service +public class InsOrderRatesServiceImpl extends ServiceImpl<InsOrderRatesMapper, InsOrderRates> implements InsOrderRatesService { + + /** + * 鏌ヨ璁㈠崟璐圭敤鍒楄〃 + * @param page + * @param sampleOrderDto + * @return + */ + @Override + public IPage<SampleOrderDto> selectInsOrderRates(Page page, SampleOrderDto sampleOrderDto) { + return null; + } +} + diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml index 7d92da9..908cc0e 100644 --- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml @@ -141,4 +141,12 @@ where io2.id = #{orderId} and ip.is_binding != 1 </select> + + <!-- 鏍规嵁璁㈠崟鏌ヨ浜у搧id --> + <select id="selectProductByOrderId" resultType="com.ruoyi.inspect.pojo.InsProduct"> + select ip.*, is2.sample_code + from ins_product ip + left join ins_sample is2 on is2.id = ip.ins_sample_id + where is2.ins_order_id = #{orderId} + </select> </mapper> -- Gitblit v1.9.3