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
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,92 @@ package com.ruoyi.device.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.domain.Result; import com.ruoyi.device.pojo.DeviceDocuments; import com.ruoyi.device.service.DeviceDocumentsService; 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 */ @RestController @Api(tags = "è®¾å¤æ¡£æ¡ææ¡£") @RequestMapping("/deviceDocuments") public class DeviceDocumentsController { @Resource private DeviceDocumentsService deviceDocumentsService; /** * æ°å¢è®¾å¤æ¡£æ¡ * @param document * @return */ @ApiOperation(value = "æ°å¢è®¾å¤æ¡£æ¡") @PostMapping("/addDocument") public Result addDocument(@RequestBody DeviceDocuments document) { if (document.getDeviceId() == null) { throw new RuntimeException("设å¤id为空"); } deviceDocumentsService.save(document); return Result.success(); } /** * æ¥è¯¢è®¾å¤æ¡£æ¡ä¿¡æ¯ * @param id * @return */ @ApiOperation(value = "æ¥è¯¢è®¾å¤æ¡£æ¡ä¿¡æ¯") @GetMapping("/getDocumentById") public Result getDocumentById(Integer id) { return Result.success(deviceDocumentsService.getById(id)); } /** * ä¿®æ¹è®¾å¤æ¡£æ¡ * @param document * @return */ @ApiOperation(value = "ä¿®æ¹è®¾å¤æ¡£æ¡") @PostMapping("/updateDocument") public Result updateDocument(@RequestBody DeviceDocuments document) { return Result.success(deviceDocumentsService.updateById(document)); } /** * å é¤è®¾å¤æ¡£æ¡ * @param id * @return */ @ApiOperation(value = "å é¤è®¾å¤æ¡£æ¡") @DeleteMapping("/deleteDocumentById") public Result deleteDocumentById(Integer id) { return Result.success(deviceDocumentsService.removeById(id)); } /** * æ¥è¯¢è®¾å¤æ¡£æ¡å表 * @param deviceId * @return */ @ApiOperation(value = "æ¥è¯¢è®¾å¤æ¡£æ¡å表") @GetMapping("/getAllDocuments") public Result getAllDocuments(Integer deviceId) { LambdaQueryWrapper<DeviceDocuments> lambdaQueryWrapper = new LambdaQueryWrapper<>(); 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/DeviceMaintenanceController.java
@@ -9,6 +9,7 @@ import com.ruoyi.device.excel.DeviceMaintenanceExport; import com.ruoyi.device.pojo.DeviceMaintenance; import com.ruoyi.device.service.DeviceMaintenanceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.VerticalAlignment; @@ -26,7 +27,8 @@ * todo: åæ²³æ»¨ */ @RestController @RequestMapping("/device-maintain") @Api(tags = "设å¤ç»´æ¤ä¿å »") @RequestMapping("/deviceMaintain") public class DeviceMaintenanceController { @Autowired @@ -34,9 +36,15 @@ @Autowired private NumberGenerator<DeviceMaintenance> numberGenerator; //å¢ @PostMapping() public Result create(@RequestBody DeviceMaintenance deviceMaintenance){ /** * æ°å¢è®¾å¤ç»´æ¤ä¿å » * @param deviceMaintenance * @return */ @ApiOperation(value = "æ°å¢è®¾å¤ç»´æ¤ä¿å »") @PostMapping("/addDeviceMaintenance") public Result addDeviceMaintenance(@RequestBody DeviceMaintenance deviceMaintenance){ String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceMaintenance::getDeviceNumber); @@ -44,32 +52,29 @@ return Result.success(deviceMaintenanceService.save(deviceMaintenance)); } //éè¿deviceIdæ¥è¯¢ç»´æ¤æ°æ® /** * éè¿è®¾å¤idæ¥è¯¢è®¾å¤ç»´æ¤ä¿å »ä¿¡æ¯ * @param deviceId * @param page * @param deviceNumber * @return */ @ApiOperation(value = "éè¿è®¾å¤idæ¥è¯¢è®¾å¤ç»´æ¤ä¿å »ä¿¡æ¯") @GetMapping("/getDeviceMaintenancePage") public Result getDeviceMaintenancePage(@RequestParam("deviceId") Integer deviceId, Page page, String deviceNumber){ return Result.success(deviceMaintenanceService.getDeviceMaintenancePage(page, deviceId, deviceNumber)); } //å @DeleteMapping("/delete/{id}") public void deleteDeviceFault(@PathVariable Integer id) { /** * å é¤è®¾å¤ç»´æ¤ä¿å » * @param id */ @ApiOperation(value = "æ°å¢è®¾å¤ç»´æ¤ä¿å »") @DeleteMapping("/deleteDeviceMaintenance") public void deleteDeviceMaintenance(@PathVariable Integer id) { deviceMaintenanceService.removeById(id); } @GetMapping("/deviceMaintenanceExport") public Result deviceMaintenanceExport(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws IOException { List<DeviceMaintenanceExport> list = deviceMaintenanceService.deviceMaintenanceExport(deviceId); response.setHeader("requestType","excel"); response.setHeader("Access-Control-Expose-Headers", "requestType"); // 设置åå æ ¼æ ·å¼ // ä¿åå°ç¬¬ä¸ä¸ªsheetä¸ EasyExcel.write(response.getOutputStream()) .head(DeviceMaintenanceExport.class) .registerWriteHandler(getHorizontalCellStyleStrategy((short) 12)) .sheet() .doWrite(list); return Result.success(); } @ApiOperation(value = "设å¤ç»´æ¤è®°å½å¯¼åº") @GetMapping("/exportMaintenanceRecord") @@ -77,22 +82,4 @@ deviceMaintenanceService.exportMaintenanceRecord(deviceId, response); } /** * åå æ ¼æ ·å¼çç¥ */ public static HorizontalCellStyleStrategy getHorizontalCellStyleStrategy(Short fontHeightInPoints) { // å 容ççç¥ WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); // ãæ°´å¹³å± ä¸éè¦ä½¿ç¨ä»¥ä¸ä¸¤è¡ã // 设置æåå·¦å³å± ä¸ contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); // 设置æåä¸ä¸å± ä¸ contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 设置 èªå¨æ¢è¡ contentWriteCellStyle.setWrapped(true); // æ ·å¼çç¥ return new HorizontalCellStyleStrategy(null, contentWriteCellStyle); } } 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/DeviceDocumentsMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ package com.ruoyi.device.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.device.pojo.DeviceDocuments; import org.apache.ibatis.annotations.Mapper; /** * è®¾å¤æ¡£æ¡ */ @Mapper public interface DeviceDocumentsMapper extends BaseMapper<DeviceDocuments> { } cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java
@@ -13,8 +13,5 @@ */ @Mapper public interface DeviceMaintenanceMapper extends BaseMapper<DeviceMaintenance> { List<DeviceMaintenance> getDeviceMaintenanceParam(); List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId); } 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/mapper/DocumentMapper.java
ÎļþÒÑɾ³ý cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceDocuments.java
ÎļþÃû´Ó cnas-device/src/main/java/com/ruoyi/device/pojo/Document.java ÐÞ¸Ä @@ -14,7 +14,7 @@ */ @Data @TableName(value = "device_documents") public class Document implements Serializable { public class DeviceDocuments implements Serializable { private static final long serialVersionUID = 1L; @@ -57,7 +57,6 @@ /** * æä¾æ¥æ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime provideDate; /** @@ -68,18 +67,19 @@ /** * å建æ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime createdAt; private LocalDateTime createTime; /** * æ´æ°æ¶é´ */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updatedAt; private LocalDateTime updateTime; private int deviceId; @ApiModelProperty("设å¤id") private Integer deviceId; @ApiModelProperty("èµäº§ç¼å·") private String number; cnas-device/src/main/java/com/ruoyi/device/service/DeviceDocumentsService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.ruoyi.device.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.device.pojo.DeviceDocuments; /** * è®¾å¤æ¡£æ¡ */ public interface DeviceDocumentsService extends IService<DeviceDocuments> { } 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/DeviceMaintenanceService.java
@@ -12,7 +12,6 @@ public interface DeviceMaintenanceService extends IService<DeviceMaintenance> { IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber); List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId); /** * 导åºWord设å¤ç»´æ¤è®°å½ 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/DocumentService.java
ÎļþÒÑɾ³ý cnas-device/src/main/java/com/ruoyi/device/service/QrShowService.java
ÎļþÒÑɾ³ý cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceDocumentsServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package com.ruoyi.device.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.device.mapper.DeviceDocumentsMapper; import com.ruoyi.device.pojo.DeviceDocuments; import com.ruoyi.device.service.DeviceDocumentsService; import org.springframework.stereotype.Service; /** * è®¾å¤æ¡£æ¡ */ @Service public class DeviceDocumentsServiceImpl extends ServiceImpl<DeviceDocumentsMapper, DeviceDocuments> implements DeviceDocumentsService { } cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java
@@ -33,11 +33,6 @@ } @Override public List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId) { return baseMapper.deviceMaintenanceExport(deviceId); } @Override public void exportMaintenanceRecord(Integer deviceId, HttpServletResponse response) { // æ¥è¯¢cnas设å¤ç»´ä¿®è®°å½ List<DeviceMaintenance> deviceMaintenanceList = baseMapper.selectList(Wrappers.<DeviceMaintenance>lambdaQuery() 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/DeviceServiceImpl.java
@@ -25,7 +25,7 @@ import com.ruoyi.device.pojo.*; import com.ruoyi.device.service.DataConfigService; import com.ruoyi.device.service.DeviceService; import com.ruoyi.device.service.DocumentService; import com.ruoyi.device.service.DeviceDocumentsService; import com.ruoyi.device.utils.DataAcquisition; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.mapper.InsSampleMapper; @@ -35,7 +35,6 @@ import lombok.AllArgsConstructor; import org.apache.logging.log4j.util.Strings; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -65,11 +64,9 @@ private DataConfigService dataConfigService; private QrShowServiceImpl qrShowService; private InsSampleMapper insSampleMapper; private DocumentService documentService; private DeviceDocumentsService documentService; private DeviceMetricRecordMapper deviceMetricRecordMapper; @@ -171,7 +168,7 @@ } deviceDto.setAuthorizedPersonName(name); //æ¥è¯¢è®¾å¤æ ¡åä¿¡æ¯ DeviceMetricRecord calibrate = qrShowService.getDeviceMetricRecord(id, "calibrate"); DeviceMetricRecord calibrate = getDeviceMetricRecord(id, "calibrate"); deviceDto.setCalibrateNo(calibrate.getCertificateSerialNumber()); // å°äºåç¨æ¥æï¼èªå¨å°ç¶ææ¹ä¸ºåç¨ @@ -185,6 +182,21 @@ } } return deviceDto; } /** * æ¥è¯¢è®¾å¤æ ¡å/æ ¸æ¥è®°å½ * @param deviceId * @param type * @return */ public DeviceMetricRecord getDeviceMetricRecord(int deviceId, String type){ return Optional.ofNullable( deviceMetricRecordMapper.selectOne(Wrappers.<DeviceMetricRecord>lambdaQuery() .eq(DeviceMetricRecord::getDeviceId, deviceId) .eq(DeviceMetricRecord::getType, type) .orderByDesc(DeviceMetricRecord::getCreateTime) .last("limit 1"))).orElse(new DeviceMetricRecord()); } @Override @@ -309,7 +321,7 @@ // 设å¤ä¿¡æ¯ Device device = baseMapper.selectById(deviceId); // è®¾å¤æ¡£æ¡ List<Document> documentList = documentService.list(Wrappers.<Document>lambdaQuery().eq(Document::getDeviceId, deviceId)); List<DeviceDocuments> documentList = documentService.list(Wrappers.<DeviceDocuments>lambdaQuery().eq(DeviceDocuments::getDeviceId, deviceId)); // è®¾å¤æ ¡å表 List<DeviceMetricRecord> deviceMetricRecordList = deviceMetricRecordMapper.selectList(Wrappers.<DeviceMetricRecord>lambdaQuery().eq(DeviceMetricRecord::getDeviceId, deviceId)); // 设å¤ç»´ä¿®è¡¨ @@ -411,13 +423,13 @@ * @param documentList æ¡£æ¡å表 * @param documentExportWordDtoList è¿åç»wordçæ°æ®å表 */ private static void extracted(List<Document> documentList, List<DocumentExportWordDto> documentExportWordDtoList) { private static void extracted(List<DeviceDocuments> documentList, List<DocumentExportWordDto> documentExportWordDtoList) { // ç»æ¡£æ¡å åºå· å¹¶ä¸å为左å³ä¸¤ä¸ªå表å¨word䏿¾ç¤º for (int i = 0; i < documentList.size(); i++) { // å建wordè¡¨æ ¼ä¸ä¸è¡çæ°æ®å¯¹è±¡ DocumentExportWordDto documentExportWordDto = new DocumentExportWordDto(); // è·åæ¡£æ¡ä¿¡æ¯ Document document = documentList.get(i); DeviceDocuments document = documentList.get(i); // æ ¼å¼åæ¥æ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // æ ¹æ®åºå· åå«å å ¥ä¸¤ä¸ªå表 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); } cnas-device/src/main/java/com/ruoyi/device/service/impl/DocumentServiceImpl.java
ÎļþÒÑɾ³ý cnas-device/src/main/java/com/ruoyi/device/service/impl/QrShowServiceImpl.java
ÎļþÒÑɾ³ý cnas-device/src/main/resources/mapper/DeviceMaintenanceMapper.xml
@@ -3,15 +3,4 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.device.mapper.DeviceMaintenanceMapper"> <select id="getDeviceMaintenanceParam" resultType="com.ruoyi.device.pojo.DeviceMaintenance"> select id,device_id,device_name, device_number,management_number,content,name ,date from device_maintenance </select> <select id="deviceMaintenanceExport" resultType="com.ruoyi.device.excel.DeviceMaintenanceExport"> select id, device_id, device_name, device_number, management_number, content, date, if(maintenance_type = 1, '计åä¸ç»´æ¤', '使ç¨ååç»´æ¤'), next_date, name, comments from device_maintenance dm where dm.device_id = #{deviceId} </select> </mapper> cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageDocumentListServiceImpl.java
@@ -95,33 +95,4 @@ saveBatch(list); } public String wordToPdf(String wordPath, String pdfPath) { FileOutputStream os = null; try { InputStream is = new ClassPathResource("/lib/license.xml").getInputStream(); License license = new License(); license.setLicense(is); if (!license.getIsLicensed()) { System.out.println("Licenseéªè¯ä¸éè¿..."); return null; } //çæä¸ä¸ªç©ºçPDFæä»¶ File file = new File(pdfPath.replace(".pdf", ".pdf")); os = new FileOutputStream(file); //è¦è½¬æ¢çwordæä»¶ com.aspose.words.Document doc = new com.aspose.words.Document(wordPath); doc.save(os, SaveFormat.PDF); } catch (Exception e) { e.printStackTrace(); } finally { if (os != null) { try { os.close(); } catch (IOException e) { e.printStackTrace(); } } } return null; } } cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCancelServiceImpl.java
@@ -430,7 +430,6 @@ for (int i = 1; i < rows.size(); i++) { // ä»ç¬¬äºè¡å¼å§ï¼è·³è¿è¡¨å¤´ XWPFTableRow row = rows.get(i); if (row.getTableCells().size() != 10) { System.out.println("è¡ " + (i + 1) + " çåæ°ä¸å¹é ï¼è·³è¿è¯¥è¡"); continue; } if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordCheckServiceImpl.java
@@ -421,7 +421,6 @@ for (int i = 1; i < rows.size(); i++) { // ä»ç¬¬äºè¡å¼å§ï¼è·³è¿è¡¨å¤´ XWPFTableRow row = rows.get(i); if (row.getTableCells().size() != 9) { System.out.println("è¡ " + (i + 1) + " çåæ°ä¸å¹é ï¼è·³è¿è¯¥è¡"); continue; } if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIntervalsServiceImpl.java
@@ -448,7 +448,6 @@ for (int i = 1; i < rows.size(); i++) { // ä»ç¬¬äºè¡å¼å§ï¼è·³è¿è¡¨å¤´ XWPFTableRow row = rows.get(i); if (row.getTableCells().size() != 7) { System.out.println("è¡ " + (i + 1) + " çåæ°ä¸å¹é ï¼è·³è¿è¯¥è¡"); continue; } if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordIssueRecycleServiceImpl.java
@@ -613,7 +613,6 @@ for (int i = 2; i < rows.size(); i++) { // ä»ç¬¬ä¸è¡å¼å§ï¼è·³è¿è¡¨å¤´ XWPFTableRow row = rows.get(i); if (row.getTableCells().size() != 12) { System.out.println("è¡ " + (i + 1) + " çåæ°ä¸å¹é ï¼è·³è¿è¯¥è¡"); continue; } if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { cnas-manage/src/main/java/com/ruoyi/manage/service/impl/ManageRecordVerifyServiceImpl.java
@@ -117,7 +117,6 @@ for (int i = 1; i < rows.size(); i++) { // ä»ç¬¬äºè¡å¼å§ï¼è·³è¿è¡¨å¤´ XWPFTableRow row = rows.get(i); if (row.getTableCells().size() != 8) { System.out.println("è¡ " + (i + 1) + " çåæ°ä¸å¹é ï¼è·³è¿è¯¥è¡"); continue; } if (ObjectUtils.isNotEmpty(row.getCell(1).getText())) { cnas-require/src/main/java/com/ruoyi/require/service/impl/FeStandardSubstanceRecordServiceImpl.java
@@ -58,7 +58,6 @@ } standardSubstance.setState(0); feStandardSubstanceMapper.updateById(standardSubstance); System.out.println(feStandardSubstanceRecord); baseMapper.update(feStandardSubstanceRecord, Wrappers.<FeStandardSubstanceRecord>lambdaUpdate() .eq(FeStandardSubstanceRecord::getSubstanceId, feStandardSubstanceRecord.getSubstanceId()) .eq(FeStandardSubstanceRecord::getStatus, 0)); inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -134,25 +134,6 @@ return Result.success(insOrderService.selectSampleAndProductByOrderId(page, sampleProductDto)); } @ApiOperation(value = "è´¹ç¨ç»è®¡") @GetMapping("/costStatistics") public Result<?> costStatistics(Page page, CostStatisticsDto costStatisticsDto){ return Result.success(insOrderService.costStatistics(page, costStatisticsDto)); } @ApiOperation(value = "è´¹ç¨ç»è®¡è·åæ»ä»·") @GetMapping("/costStatistics2") public Result<?> costStatistics2(CostStatisticsDto costStatisticsDto){ return Result.success(insOrderService.costStatistics2(costStatisticsDto)); } @ApiOperation(value = "æ ·åç¼ºé·ææ°") @GetMapping("/selectSampleDefects") public Result selectSampleDefects(Integer size, Integer current, String inspectionItems, String orderNumber) { return Result.success(insOrderService.selectSampleDefects(new Page<>(current, size),inspectionItems, orderNumber)); } @ApiOperation(value = "æ¤é") @PostMapping("/updateStatus") @@ -193,13 +174,6 @@ Integer state = (Integer) param.get("state"); insProductService.checkUpdate(orderId,state); return Result.success(); } @ApiOperation(value = "è´¹ç¨ç»è®¡å¯¼åº") @GetMapping("/export") public void export(CostStatisticsDto costStatisticsDto,HttpServletResponse response) throws ServletException, IOException { insOrderService.export(costStatisticsDto,response); } 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/controller/InsUnqualifiedHandlerController.java
@@ -66,7 +66,7 @@ public String unqualifiedHandlerOACallback(String data){ String msg = OAProcess.oaReturnMsg(0, "success"); JSONObject json = JSONObject.parseObject(data); System.out.println("========>" + json); log.info("oaåè°åæ°========>" + json); try { Long oaWorkId = json.getLong(REQUESTID); String checkResult = json.getString(CHECKRESULT); @@ -77,7 +77,7 @@ log.error("oaåè°å¤±è´¥: " + e.getMessage()); msg = OAProcess.oaReturnMsg(1, "oaåè°å¤±è´¥: " + e.getMessage()); } System.out.println("oaåè°è¿åç»æ========>" + msg); log.info("oaåè°è¿åç»æ========>" + msg); return msg; } inspect-server/src/main/java/com/ruoyi/inspect/dto/UnPassPageDto.java
ÎļþÒÑɾ³ý inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -34,14 +34,8 @@ IPage<SampleProductDto2> selectSampleAndProductByOrderId(@Param("page") IPage<SampleProductDto2> page, @Param("ew") QueryWrapper<SampleProductDto2> ew, @Param("id") Integer id); IPage<CostStatisticsDto> selectCostStatistics(@Param("page") IPage<CostStatisticsDto> page, @Param("ew") QueryWrapper<CostStatisticsDto> ew); List<CostStatisticsDto> selectCostStatistics2(@Param("ew") QueryWrapper<CostStatisticsDto> ew); List<Map<String, String>> selectDeviceList(@Param("managementNumbers") Set<String> managementNumbers); List<SampleDefectsFatherVo> selectSampleDefects(Page page, @Param("inspectionItems") String inspectionItems, @Param("orderNumber") String orderNumber); Long getCount(@Param("inspectionItems") String inspectionItems, @Param("orderNumber") String orderNumber); String getStandardMethodCode(@Param("id") Integer id); 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/mapper/InsUnPassMapper.java
ÎļþÒÑɾ³ý 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/pojo/InsUnPass.java
ÎļþÒÑɾ³ý 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/InsOrderService.java
@@ -39,16 +39,9 @@ IPage<SampleProductDto2> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto); IPage<CostStatisticsDto> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto); Map<String, Object> costStatistics2(CostStatisticsDto costStatisticsDto); Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber); int updateStatus(Integer id); void export(CostStatisticsDto costStatisticsDto,HttpServletResponse response)throws IOException, ServletException; // è·åifsåºåä¿¡æ¯ void getIfsOrder(); inspect-server/src/main/java/com/ruoyi/inspect/service/InsUnPassService.java
ÎļþÒÑɾ³ý 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; @@ -119,8 +112,6 @@ @Resource private InsProductUserMapper insProductUserMapper; @Resource private InsUnPassService insUnPassService; @Resource private AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService; @Resource private AuxiliaryOutputWorkingHoursTemporaryService auxiliaryOutputWorkingHoursTemporaryService; @@ -132,7 +123,6 @@ private CustomMapper customMapper; @Value("${file.path}") private String imgUrl; @Resource private InsOrderFileMapper insOrderFileMapper; @Resource @@ -163,7 +153,8 @@ private InsOrderDeviceRecordService insOrderDeviceRecordService; @Resource private ISysDictTypeService iSysDictTypeService; @Resource private InsOrderRatesService insOrderRatesService; @Override public IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) { @@ -752,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()) @@ -761,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) @@ -769,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 @@ -781,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; @@ -797,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"); @@ -823,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() @@ -842,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)); @@ -886,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; } @@ -1116,7 +1104,6 @@ * @param orderId */ private void generateReport(Integer orderId) { List<InsUnPass> insUnPasses = new ArrayList<>(); /*æ ·åä¸ç项ç®åªè¦æä¸ä¸ªé¡¹ç®ä¸åæ ¼åæ£éªç»æä¸º0,å¦å为1*/ //è¿éçinsSamplesæ¯è®¢åä¸çæææ ·åå æ¬("/") List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); @@ -1132,25 +1119,7 @@ insSample.setInsResult(1); } insSampleMapper.updateById(insSample); /*夿 ¸éè¿åï¼å°ä¸åæ ¼ç项ç®ä¿¡æ¯æ·»å å°ins_un_pass表ä¸*/ for (InsProduct insProduct : insProducts) { if (insProduct.getInsResult() == 0) { InsUnPass insUnPass = new InsUnPass(); insUnPass.setId(null); insUnPass.setModel(insSample.getModel()); insUnPass.setSample(insSample.getSample()); insUnPass.setInspectionItem(insProduct.getInspectionItem()); insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); insUnPass.setLastValue(insProduct.getLastValue()); insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode()); List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); insUnPass.setName(name); insUnPasses.add(insUnPass); } } } insUnPassService.saveBatch(insUnPasses); InsOrder insOrder = insOrderMapper.selectById(orderId); // æ½æ£åæå§ææ£éª if (insOrder.getOrderType().equals(InsOrderTypeConstants.SPOT_CHECK)) { @@ -4062,7 +4031,7 @@ } /** * ä¿åå æ¤é¿éè¿è´§éªè¯åå§è®°å½ * *****ä¿åå æ¤é¿éè¿è´§éªè¯åå§è®°å½***** * @param insOrderId 订åId * @param examineUserId 夿 ¸äººId * @param writeUserId æ£éªåId @@ -4212,7 +4181,7 @@ /** * æ ¼å¼åè¿åéªè¯å 容 * ***æ ¼å¼åè¿åéªè¯å 容**** * @param basicType * @return */ @@ -4241,7 +4210,7 @@ } /** * word转æ¢pdf * ***word转æ¢pdf*** * @param path * @return */ @@ -4262,7 +4231,6 @@ License license = new License(); license.setLicense(is); if (!license.getIsLicensed()) { System.out.println("Licenseéªè¯ä¸éè¿..."); return null; } //çæä¸ä¸ªç©ºçPDFæä»¶ @@ -4289,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/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -557,112 +557,12 @@ return productDto2IPage; } @Override public IPage<CostStatisticsDto> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto) { String dates = costStatisticsDto.getDates(); String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); costStatisticsDto.setDates(null); //todo:ä» çèªå·± IPage<CostStatisticsDto> dtoIPage = insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59")); List<CostStatisticsDto> collect = dtoIPage.getRecords().stream().map(dto -> { Set<String> uniqueTags = new HashSet<>(); if (dto.getInspectionItem().contains(",")) { for (String s : dto.getInspectionItem().split(",")) { uniqueTags.add(s.split("@")[0]); } } else { uniqueTags.add(dto.getInspectionItem().split("@")[0]); } dto.setInspectionItem(uniqueTags.toString()); return dto; }).collect(Collectors.toList()); dtoIPage.setRecords(collect); return dtoIPage; } @Override public Map<String, Object> costStatistics2(CostStatisticsDto costStatisticsDto) { Map<String, Object> map = new HashMap<>(); String dates = costStatisticsDto.getDates(); String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); costStatisticsDto.setDates(null); List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59")); double totalPrice = costStatisticsDtos.stream() .filter(dto -> dto.getPrice() != null) // è¿æ»¤æä»·æ ¼ä¸º null ç对象 .mapToDouble(value -> value.getPrice().doubleValue() * value.getNum()) .sum(); map.put("total", totalPrice); return map; } @Override public Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber) { List<SampleDefectsFatherVo> sampleDefectsFatherVos = insOrderMapper.selectSampleDefects(page, inspectionItems, orderNumber); Map<String, Object> map = new HashMap<>(); map.put("records", sampleDefectsFatherVos); Long aLong = insOrderMapper.getCount(inspectionItems, orderNumber); map.put("total", aLong); return map; } @Override public int updateStatus(Integer id) { return insOrderMapper.updateStatus(id); } @Override public void export(CostStatisticsDto costStatisticsDto, HttpServletResponse response) throws IOException { //æ¥è¯¢å¯¼åºçè´¹ç¨ç»è®¡æ°æ® String dates = costStatisticsDto.getDates(); String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); costStatisticsDto.setDates(null); List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59")); costStatisticsDtos = costStatisticsDtos.stream().map(dto -> { Set<String> uniqueTags = new HashSet<>(); if (dto.getInspectionItem().contains(",")) { for (String s : dto.getInspectionItem().split(",")) { uniqueTags.add(s.split("@")[0]); } } else { uniqueTags.add(dto.getInspectionItem().split("@")[0]); } dto.setInspectionItem(uniqueTags.toString()); return dto; }).collect(Collectors.toList()); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("UTF-8"); // è¿éURLEncoder.encodeå¯ä»¥é²æ¢ä¸æä¹±ç å½ç¶åeasyexcel没æå ³ç³» String fileName = URLEncoder.encode("æ ·åè´¹ç¨ç»è®¡å¯¼åº", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); Map<String, List<CostStatisticsDto>> groupByCompany = costStatisticsDtos.stream().filter(e -> StrUtil.isNotEmpty(e.getCompany())) .collect(Collectors.groupingBy(CostStatisticsDto::getCompany)); try { // æ°å»ºExcelWriter // æ°å»ºExcelWriter ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()) .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25)) .build(); for (Map.Entry<String, List<CostStatisticsDto>> companyDataEntry : groupByCompany.entrySet()) { String sheetName = companyDataEntry.getKey(); List<CostStatisticsDto> dataList = companyDataEntry.getValue(); WriteSheet mainSheet = EasyExcel.writerSheet(sheetName) .head(CostStatisticsDto.class) .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25)) .build(); excelWriter.write(dataList, mainSheet); } // å ³éæµ excelWriter.finish(); } catch (IOException e) { throw new RuntimeException("导åºå¤±è´¥"); } } /** * è·åifsåºåä¿¡æ¯ inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -36,6 +36,7 @@ import com.ruoyi.inspect.mapper.InsUnqualifiedHandlerMapper; import com.ruoyi.system.mapper.UserMapper; import com.ruoyi.system.service.InformationNotificationService; import lombok.extern.slf4j.Slf4j; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; @@ -65,6 +66,7 @@ * @createDate 2024-03-17 22:10:02 */ @Service @Slf4j public class InsReportServiceImpl extends ServiceImpl<InsReportMapper, InsReport> implements InsReportService { @Resource @@ -540,7 +542,6 @@ // æ¸ çä¸´æ¶æä»¶å¤¹ deleteDirectory(tempFolder); System.out.println("ZIPæä»¶åå»ºå®æï¼"); } catch (IOException e) { e.printStackTrace(); } @@ -675,13 +676,11 @@ FileOutputStream os = null; try { //åè¯ ä¸ç¶åæ¢åææ°´å° // InputStream is = this.getClass().getResourceAsStream("/lib/license.xml"); // InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("license.xml"); InputStream is = Files.newInputStream(new File(licenseUrl).toPath()); License license = new License(); license.setLicense(is); if (!license.getIsLicensed()) { System.out.println("Licenseéªè¯ä¸éè¿..."); log.info("Licenseéªè¯ä¸éè¿..."); return null; } //çæä¸ä¸ªç©ºçPDFæä»¶ @@ -1120,7 +1119,7 @@ License license = new License(); license.setLicense(is); if (!license.getIsLicensed()) { System.out.println("Licenseéªè¯ä¸éè¿..."); log.info("Licenseéªè¯ä¸éè¿..."); return null; } //çæä¸ä¸ªç©ºçPDFæä»¶ @@ -1131,7 +1130,6 @@ //è¦è½¬æ¢çwordæä»¶ com.aspose.words.Document doc = new com.aspose.words.Document(wordPath); doc.save(os, SaveFormat.PDF); String name = file.getName(); return file.getName(); } catch (Exception e) { e.printStackTrace(); inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnPassServiceImpl.java
ÎļþÒÑɾ³ý inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -178,60 +178,7 @@ ${ew.customSqlSegment} </if> </select> <select id="selectCostStatistics" resultType="com.ruoyi.inspect.dto.CostStatisticsDto"> select * from ( SELECT A.id, A.entrust_code, A.create_time, A.sample, A.model, A.inspection_item, A.company, A.`name`, COUNT(1) num, SUM(A.price) price, SUM(A.cost) cost FROM (SELECT i.id, i.entrust_code, i.create_time, isa.sample, isa.sample_code, isa.model, c.price, c.cost, c.inspection_item, i.company, u.`name`, i.create_user, c.ins_sample_id FROM ins_order i LEFT JOIN ins_sample isa ON isa.ins_order_id = i.id LEFT JOIN `user` u ON u.id = i.user_id left join custom cus on cus.id = u.company LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id, GROUP_CONCAT(b.inspection_item2 SEPARATOR ',') inspection_item from (select * , GROUP_CONCAT(CONCAT(inspection_item,'@',inspection_item_subclass) SEPARATOR ',')inspection_item2 from ins_product where state = 1 and template_id IS NOT NULL GROUP BY ins_sample_id,man_hour_group) b GROUP BY b.ins_sample_id) c ON c.ins_sample_id = isa.id where (i.state = 1 or i.state = 3 or i.state = 4) and c.ins_sample_id IS not NULL)A GROUP BY A.id, A.entrust_code, A.create_time, A.sample, A.model, A.inspection_item, A.company, A.`name` ) B <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> <select id="selectDeviceList" resultType="java.util.Map"> select device_name, en_device_name, @@ -272,28 +219,6 @@ </if> </select> <select id="getCount" resultType="long"> select count(1) from ( SELECT io.entrust_code,sam.sample,ip.inspection_item,u.name,b.create_time, sam.id from ins_order io left JOIN ins_sample sam on io.id=sam.ins_order_id LEFT JOIN ins_product ip on ip.ins_sample_id=sam.id LEFT JOIN (SELECT create_time,create_user,ins_product_id FROM (select * FROM ins_product_user ORDER BY ins_product_user.create_time DESC) a GROUP BY a.ins_product_id) b on b.ins_product_id=ip.id left JOIN `user` u on u.id=b.create_user where (ip.ins_result=0 OR ip.state=0) <if test="inspectionItems != null and inspectionItems != ''"> and inspection_item like concat('%', #{inspectionItems}, '%') </if> <if test="orderNumber != null and orderNumber != ''"> and io.entrust_code like concat('%', #{orderNumber}, '%') </if> ) temp </select> <select id="getStandardMethodCode" resultType="java.lang.String"> select code from standard_method @@ -312,77 +237,6 @@ where son_laboratory = #{laboratory} and ins_sample_id in (select id from ins_sample where ins_order_id = #{id})) </select> <select id="selectCostStatistics2" resultType="com.ruoyi.inspect.dto.CostStatisticsDto"> select * from ( SELECT A.id, A.entrust_code, A.create_time, A.sample, A.model, A.inspection_item, A.company, A.`name`, production, engineering, COUNT(1) num, SUM(A.price) price, SUM(A.cost) cost FROM (SELECT i.id, i.entrust_code, i.create_time, isa.sample, isa.sample_code, isa.model, c.price, c.cost, c.inspection_item, i.company, u.`name`, i.create_user, c.ins_sample_id, production, engineering FROM ins_order i LEFT JOIN ins_sample isa ON isa.ins_order_id = i.id LEFT JOIN `user` u ON u.id = i.user_id left join custom cus on cus.id = u.company LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id, GROUP_CONCAT(b.inspection_item2 SEPARATOR ',') inspection_item from (select * , GROUP_CONCAT(CONCAT(inspection_item,'@',inspection_item_subclass) SEPARATOR ',')inspection_item2 from ins_product where state = 1 and template_id IS NOT NULL GROUP BY ins_sample_id,man_hour_group) b GROUP BY b.ins_sample_id) c ON c.ins_sample_id = isa.id where (i.state = 1 or i.state = 3 or i.state = 4) and c.ins_sample_id IS not NULL)A GROUP BY A.id, A.entrust_code, A.create_time, A.sample, A.model, A.inspection_item, A.company, A.`name`, production, engineering ORDER BY A.id, A.entrust_code, A.create_time, A.sample, A.model, A.inspection_item, A.company, A.`name`, production, engineering) B <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> <select id="seldepLimsId" resultType="java.lang.String"> 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> inspect-server/src/main/resources/mapper/InsUnPassMapper.xml
ÎļþÒÑɾ³ý performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -114,7 +114,6 @@ @ApiOperation(value = "ä¸´æ¶æ¥å£-æ·»å 7æä»½8æä»½çæ°æ®") @GetMapping("temporaryInterface") public void temporaryInterface() { System.out.println("å¼å§ç»æ¯ä¸ªäººè¿è¡æç,é»è®¤æ©ç======start"); // TODO ç»æ¯ä¸ªäººé½è¿è¡æç(é»è®¤æ©ç) PerformanceShiftAddDto performanceShiftAddDto = new PerformanceShiftAddDto(); //çæ¬¡--æ©(æ¥è¯¢åå ¸) @@ -140,13 +139,11 @@ endOfWeek = startOfWeek.plusDays(6); LocalDateTime startDateTime = LocalDateTime.of(startOfWeek, LocalTime.MIDNIGHT); LocalDateTime endDateTime = LocalDateTime.of(endOfWeek, LocalTime.MIDNIGHT); System.out.println("Week starts on " + startDateTime + " and ends on " + endDateTime); performanceShiftAddDto.setStartWeek(startDateTime); performanceShiftAddDto.setEndWeek(endDateTime); performanceShiftService.performanceShiftAdd(performanceShiftAddDto); startOfWeek = startOfWeek.plusWeeks(1); } System.out.println("æçç»æ======end"); } } ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProcess.java
@@ -37,8 +37,6 @@ // åèµ·OAæµç¨ OAResult oaResult = oaService.sendWorkFlow(wri); // è¾åºOAæµç¨æ§è¡ç»æ System.out.println(oaResult); return oaResult; } @@ -51,17 +49,15 @@ wri.setCreaterId(createrId); wri.setRequestLevel("0"); wri.setRequestName(requestName); //todo: oaæäº¤ 1: ç´æ¥åéæµç¨, 0:åå ¥è稿箱 // wri.setIsnextflow("1"); wri.setIsnextflow("0"); //å建主表 OAWorkflowTable wmi = oaService.createOAMainWorkflowTable(mainFields); // å°ä¸»è¡¨ä¿¡æ¯å¡«å å°æµç¨ä¿¡æ¯é wri.setWorkflowMainTable(wmi); // åèµ·OAæµç¨ OAResult oaResult = oaService.sendWorkFlow(wri); // è¾åºOAæµç¨æ§è¡ç»æ System.out.println(oaResult); return oaResult; } } ruoyi-common/src/main/java/com/ruoyi/common/oa/OAService.java
@@ -23,11 +23,10 @@ oaWorkflowRequestTableField.add(createOAWorkflowRequestTableField(field.getKey(), field.getValue().toString())); } System.out.println("@#######################"); for (OAWorkflowRequestTableField workflowRequestTableField : oaWorkflowRequestTableField) { System.out.println(workflowRequestTableField.fieldName +","+ workflowRequestTableField.fieldValue +"--"+ workflowRequestTableField.fieldType); } // for (OAWorkflowRequestTableField workflowRequestTableField : oaWorkflowRequestTableField) { // // System.out.println(workflowRequestTableField.fieldName +","+ workflowRequestTableField.fieldValue +"--"+ workflowRequestTableField.fieldType); // } //å建主表å ArrayOfOAWorkflowRequestTableField wrti = new ArrayOfOAWorkflowRequestTableField(); wrti.oaWorkflowRequestTableField = oaWorkflowRequestTableField; ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java
@@ -4,7 +4,7 @@ /** * 转ä¹åå转ä¹å·¥å ·ç±» * * * @author ruoyi */ public class EscapeUtil @@ -30,7 +30,7 @@ /** * è½¬ä¹ææ¬ä¸çHTMLå符为å®å ¨çå符 * * * @param text 被转ä¹çææ¬ * @return 转ä¹åçææ¬ */ @@ -41,7 +41,7 @@ /** * è¿å被转ä¹çHTMLç¹æ®å符 * * * @param content å å«è½¬ä¹ç¬¦çHTMLå 容 * @return 转æ¢åçå符串 */ @@ -52,7 +52,7 @@ /** * æ¸ é¤ææHTMLæ ç¾ï¼ä½æ¯ä¸å 餿 ç¾å çå 容 * * * @param content ææ¬ * @return æ¸ é¤æ ç¾åçææ¬ */ @@ -63,7 +63,7 @@ /** * Escapeç¼ç * * * @param text 被ç¼ç çææ¬ * @return ç¼ç åçå符 */ @@ -104,7 +104,7 @@ /** * Escapeè§£ç * * * @param content 被转ä¹çå 容 * @return è§£ç åçå符串 */ @@ -153,15 +153,4 @@ return tmp.toString(); } public static void main(String[] args) { String html = "<script>alert(1);</script>"; String escape = EscapeUtil.escape(html); // String html = "<scr<script>ipt>alert(\"XSS\")</scr<script>ipt>"; // String html = "<123"; // String html = "123>"; System.out.println("clean: " + EscapeUtil.clean(html)); System.out.println("escape: " + escape); System.out.println("unescape: " + EscapeUtil.unescape(escape)); } }