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)); } 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)); } 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)); } cnas-device/src/main/java/com/ruoyi/device/controller/DeviceDocumentsController.java
@@ -34,7 +34,7 @@ */ @ApiOperation(value = "æ°å¢è®¾å¤æ¡£æ¡") @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 = "æ¥è¯¢è®¾å¤æ¡£æ¡ä¿¡æ¯") @GetMapping("/id") @GetMapping("/getDocumentById") public Result getDocumentById(Integer id) { return Result.success(deviceDocumentsService.getById(id)); } @@ -77,14 +77,14 @@ /** * æ¥è¯¢è®¾å¤æ¡£æ¡å表 * @param id * @param deviceId * @return */ @ApiOperation(value = "æ¥è¯¢è®¾å¤æ¡£æ¡å表") @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)); } 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)); } 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)); } 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); } 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); } 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æ¥è¯¢è®¾å¤ä¿å »è®¡å 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); } 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); } 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æ¥è¯¢è®¾å¤é弿º¯æºè®¡å 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; 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); /** * æ°å¢è®¾å¤ä¿å »è®¡å 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); /** * æ°å¢é弿º¯æºè®¡å 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); } 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); } 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))); } } 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> { } 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); } 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("å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; } 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); } 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); /*æ ¡éªä¸ä¸result表*/ CompletableFuture.supplyAsync(() -> { // 7.æ ¡éªä¸ä¸result表(é¿å åºç°å¤ä¸ªæ£éªé¡¹ç»æ) 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 夿 ¸äººId * @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) ? "åæ ¼" : "ä¸åæ ¼")); } } 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; } } 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>