From e19c5c816f8abfbbdb197e698cae285ab434fddb Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期六, 29 三月 2025 18:01:10 +0800 Subject: [PATCH] 质量监督监控添加退回流程 --- cnas-device/src/main/java/com/ruoyi/device/service/DataConfigService.java | 29 +++ cnas-process/src/main/java/com/ruoyi/process/service/QualityMonitorService.java | 6 cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java | 182 +++++++++++++++++---- cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml | 3 cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java | 77 ++++++--- cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java | 4 cnas-process/src/main/java/com/ruoyi/process/dto/QualitySuperviseDetailsDto.java | 6 cnas-device/src/main/java/com/ruoyi/device/mapper/DataConfigMapper.java | 5 cnas-process/src/main/java/com/ruoyi/process/dto/QualityMonitorDetailsDto.java | 2 cnas-process/src/main/java/com/ruoyi/process/controller/QualityMonitorController.java | 10 cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java | 28 ++- cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml | 9 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExamineRecordServiceImpl.java | 39 ++++ cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java | 45 +++-- cnas-device/src/main/resources/mapper/DataConfigMapper.xml | 29 --- 15 files changed, 332 insertions(+), 142 deletions(-) diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java index 574cb60..d7925c9 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java @@ -49,13 +49,14 @@ @Autowired private DataConfigService dataConfigService; + @ApiOperation(value = "鏌ヨ璁惧璇︽儏") + @GetMapping("/getDeviceById") + public Result getDeviceById(Integer deviceId){ + return Result.success(deviceService.getById(deviceId)); + } - @ApiOperation(value = "鏌ョ湅璁惧浜岀淮鐮佹寜閽�") - @GetMapping("/showDeviceQrCodeButton") - public void showDeviceQrCodeButton() { } //璁惧宸ュ叿鏄庣粏 - @ApiOperation(value = "鏌ヨ璁惧璇︽儏鍒楄〃") @GetMapping("/selectDeviceParameter") public Result selectDeviceParameter(Page page, DeviceDto itemParameter, Boolean laboratoryNameIsNull){ @@ -153,10 +154,10 @@ return deviceService.dataAcquisition(request, dto); } - @ApiOperation(value = "缁存姢鏁伴噰閰嶇疆") - @PostMapping("/saveDataAcquisitionConfiguration") - public Result<?> saveDataAcquisitionConfiguration(@RequestBody DataConfigDto dataConfigList) { - dataConfigService.saveDataAcquisitionConfiguration(dataConfigList.getDeviceId(), dataConfigList); + @ApiOperation(value = "缁存姢璁惧鏂囦欢閰嶇疆") + @PostMapping("/saveDeviceFileConfiguration") + public Result<?> saveDeviceFileConfiguration(@RequestBody DataConfigDto dataConfigList) { + dataConfigService.saveDeviceFileConfiguration(dataConfigList); return Result.success(); } @@ -166,21 +167,33 @@ return dataConfigService.queryDataAcquisitionConfiguration(dataConfig); } + @ApiOperation(value = "鏌ヨ妫�楠岄」鏁伴噰閰嶇疆") + @GetMapping("/queryProductConfiguration") + public Result<?> queryProductConfiguration(DataConfig dataConfig) { + return dataConfigService.queryProductConfiguration(dataConfig); + } - @ApiOperation(value = "鍒犻櫎鏁伴噰閰嶇疆") - @DeleteMapping("/deleteDataAcquisitionConfiguration") - public Result<?> deleteDataAcquisitionConfiguration(@RequestParam("ids") String ids) { - List<String> split = Arrays.asList(ids.split(",")); - List<String> collect = split.stream().distinct().collect(Collectors.toList()); - dataConfigService.removeBatchByIds(collect); + @ApiOperation(value = "缁存姢鏁伴噰閰嶇疆") + @PostMapping("/saveDataAcquisitionConfiguration") + public Result<?> saveDataAcquisitionConfiguration(@RequestBody DataConfigDto dataConfigList) { + dataConfigService.saveDataAcquisitionConfiguration(dataConfigList); return Result.success(); } @ApiOperation(value = "鏌ヨ缁戝畾浜嗕絾鏄病鏈夐厤缃殑妫�楠岄」") @GetMapping("/getNoConfigProduct") - public Result<?> getNoConfigProduct(Integer deviceId) { - return Result.success(dataConfigService.getNoConfigProduct(deviceId)); + public Result<?> getNoConfigProduct(Page page, Integer deviceId) { + return Result.success(dataConfigService.getNoConfigProduct(page, deviceId)); + } + + @ApiOperation(value = "鍒犻櫎鏁伴噰閰嶇疆") + @DeleteMapping("/ ") + public Result<?> deleteDataAcquisitionConfiguration(@RequestParam("ids") String ids) { + List<String> split = Arrays.asList(ids.split(",")); + List<String> collect = split.stream().distinct().collect(Collectors.toList()); + dataConfigService.removeBatchByIds(collect); + return Result.success(); } @ApiOperation(value = "宸︿晶璁惧鏍戝舰鏍�") diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DataConfigMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DataConfigMapper.java index a178ada..18f5c99 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DataConfigMapper.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DataConfigMapper.java @@ -1,8 +1,11 @@ package com.ruoyi.device.mapper; 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.DeviceConfigDtoPage; import com.ruoyi.device.pojo.DataConfig; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -25,5 +28,5 @@ * @param deviceId * @return */ - List<DataConfig> getNoConfigProduct(Integer deviceId); + IPage<DataConfig> getNoConfigProduct(@Param("page") Page page, @Param("deviceId") Integer deviceId); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DataConfigService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DataConfigService.java index 607608c..0232400 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/DataConfigService.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/DataConfigService.java @@ -1,5 +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.DataConfigDto; @@ -17,16 +19,37 @@ */ public interface DataConfigService extends IService<DataConfig> { - void deleteDataConfig(); - void saveDataAcquisitionConfiguration(Integer deviceId, DataConfigDto dataConfigList); + /** + * 缁存姢璁惧鏂囦欢閰嶇疆 + * @param dataConfigList + */ + void saveDeviceFileConfiguration(DataConfigDto dataConfigList); + /** + * 鏁伴噰閰嶇疆 + * @param dataConfigList + */ + void saveDataAcquisitionConfiguration(DataConfigDto dataConfigList); + + /** + * 鏌ヨ鏁伴噰閰嶇疆 + * @param dataConfig + * @return + */ Result<?> queryDataAcquisitionConfiguration(DataConfig dataConfig); + + /** + * 鏌ヨ妫�楠岄」鏁伴噰閰嶇疆 + * @param dataConfig + * @return + */ + Result<?> queryProductConfiguration(DataConfig dataConfig); /** * 鏌ヨ浜嗙粦瀹氫絾鏄病鏈夐厤缃殑妫�楠岄」 * @param deviceId * @return */ - List<DataConfig> getNoConfigProduct(Integer deviceId); + IPage<DataConfig> getNoConfigProduct(Page page, Integer deviceId); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java index cde5054..b7a30f7 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DataConfigServiceImpl.java @@ -1,8 +1,10 @@ package com.ruoyi.device.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; 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.ruoyi.common.core.domain.Result; import com.ruoyi.device.dto.DataConfigDto; @@ -33,44 +35,61 @@ private DataConfigMapper dataConfigMapper; + /** + * 缁存姢璁惧鏂囦欢閰嶇疆 + * @param dataConfigList + */ @Override - public void deleteDataConfig() { - List<Integer> integers = dataConfigMapper.deleteDataConfig(); - if (!integers.isEmpty()) { - dataConfigMapper.deleteBatchIds(integers); + public void saveDeviceFileConfiguration(DataConfigDto dataConfigList) { + if (dataConfigList.getDeviceId() == null) { + throw new RuntimeException("缂哄皯璁惧Id"); } + + Device device = new Device(); + BeanUtils.copyProperties(dataConfigList, device); + device.setId(dataConfigList.getDeviceId()); + deviceMapper.updateById(device); } + /** + * 鏁伴噰閰嶇疆 + * @param dataConfigList + */ @Override - public void saveDataAcquisitionConfiguration(Integer deviceId, DataConfigDto dataConfigList) { - if (dataConfigList.getIsDevice()) { - Device device = new Device(); - BeanUtils.copyProperties(dataConfigList, device); - device.setId(deviceId); - deviceMapper.updateById(device); - } else { - this.saveOrUpdateBatch(dataConfigList.getDataConfigList()); + public void saveDataAcquisitionConfiguration(DataConfigDto dataConfigList) { + if (dataConfigList.getDeviceId() == null) { + throw new RuntimeException("缂哄皯璁惧id"); } + + for (DataConfig dataConfig : dataConfigList.getDataConfigList()) { + if (dataConfig.getStructureItemParameterId() == null) { + throw new RuntimeException("缂哄皯妫�楠岄」id"); + } + dataConfig.setDeviceId(dataConfigList.getDeviceId()); + } + + this.saveOrUpdateBatch(dataConfigList.getDataConfigList()); + } @Override public Result<?> queryDataAcquisitionConfiguration(DataConfig dataConfig) { - if (dataConfig.getIsDevice()) { - LambdaQueryWrapper<DataConfig> wrapper = Wrappers.<DataConfig>lambdaQuery() - .eq(DataConfig::getDeviceId, dataConfig.getDeviceId()) - .eq(DataConfig::getInspectionItem, dataConfig.getInspectionItem()) - .eq(DataConfig::getInspectionItemSubclass, dataConfig.getInspectionItemSubclass()); - if (StringUtils.isNotBlank(dataConfig.getInspectionItemClass())) { - wrapper.eq(DataConfig::getInspectionItemClass, dataConfig.getInspectionItemClass()); - } - if (dataConfig.getStructureItemParameterId() != null) { - wrapper.eq(DataConfig::getStructureItemParameterId, dataConfig.getStructureItemParameterId()); - } - List<DataConfig> list = baseMapper.selectList(wrapper); - return Result.success(list); - } else { - return Result.success(dataConfigMapper.selectDataConfigList(dataConfig.getDeviceId())); + return Result.success(dataConfigMapper.selectDataConfigList(dataConfig.getDeviceId())); + + } + + /** + * 鏌ヨ妫�楠岄」鏁伴噰閰嶇疆 + * @param dataConfig + * @return + */ + @Override + public Result<?> queryProductConfiguration(DataConfig dataConfig) { + if (dataConfig.getStructureItemParameterId() == null) { + throw new RuntimeException("缂哄皯妫�娴嬮」id"); } + List<DataConfig> list = baseMapper.selectList(Wrappers.<DataConfig>lambdaQuery().eq(DataConfig::getStructureItemParameterId, dataConfig.getStructureItemParameterId())); + return Result.success(list); } /** @@ -79,7 +98,7 @@ * @return */ @Override - public List<DataConfig> getNoConfigProduct(Integer deviceId) { - return baseMapper.getNoConfigProduct(deviceId); + public IPage<DataConfig> getNoConfigProduct(Page page, Integer deviceId) { + return baseMapper.getNoConfigProduct(page, deviceId); } } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExamineRecordServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExamineRecordServiceImpl.java index afb5242..bf1136c 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExamineRecordServiceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceExamineRecordServiceImpl.java @@ -7,8 +7,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; +import com.ruoyi.common.constant.MenuJumpPathConstants; +import com.ruoyi.common.core.domain.entity.InformationNotification; import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.WxCpUtils; import com.ruoyi.device.dto.DeviceExamineRecordDto; import com.ruoyi.device.mapper.DeviceExaminePlanDetailsMapper; import com.ruoyi.device.mapper.DeviceExamineRecordMapper; @@ -23,6 +26,8 @@ import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; import com.ruoyi.inspect.util.UserUtils; import com.ruoyi.system.mapper.UserMapper; +import com.ruoyi.system.service.InformationNotificationService; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -54,6 +59,11 @@ private DeviceMapper deviceMapper; @Resource private UserMapper userMapper; + @Resource + private ThreadPoolTaskExecutor threadPoolTaskExecutor; + + @Resource + private InformationNotificationService informationNotificationService; /** * 鏌ヨ鏍告煡璁板綍 @@ -105,6 +115,35 @@ if (deviceExamineRecordDto.getReviewUserId() != null) { User reviewUser = userMapper.selectById(deviceExamineRecordDto.getReviewUserId()); deviceExamineRecordDto.setReviewUser(reviewUser.getName()); + + // 娑堟伅鍙戦�� + InformationNotification info = new InformationNotification(); + // 鍙戦�佷汉 + info.setCreateUser(user.getName()); + info.setMessageType("6"); + info.setTheme("CNAS璁惧鏍告煡璁″垝寰呮壒鍑�"); + info.setContent("璁惧缂栧彿涓�: " + deviceExamineRecordDto.getDeviceNumber() + " 璁惧鏍告煡璁″垝寰呭鎵�"); + info.setSenderId(userId); + // 鎺ユ敹浜� + info.setConsigneeId(deviceExamineRecordDto.getReviewUserId()); + info.setJumpPath(MenuJumpPathConstants.DEVICE); + informationNotificationService.addInformationNotification(info); + + // 鍙戦�佷紒涓氬井淇¢�氱煡 + threadPoolTaskExecutor.execute(() -> { + // 鏌ヨ鍙戦�佷汉 + User people = userMapper.selectById(deviceExamineRecordDto.getReviewUserId()); + String message = ""; + message += "CNAS璁惧鏍告煡璁″垝寰呮壒鍑�"; + message += "\n璇峰幓璧勬簮瑕佹眰-璁惧-璁惧鏍告煡璁″垝瀹℃壒"; + message += "\n" + "璁惧缂栧彿涓�: " + deviceExamineRecordDto.getDeviceNumber() + "璁惧鏍告煡璁″垝寰呭鎵�"; + //鍙戦�佷紒涓氬井淇℃秷鎭�氱煡 + try { + WxCpUtils.inform(people.getAccount(), message, null); + } catch (Exception e) { + throw new RuntimeException(e); + } + }); } } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java index 99bbc0b..66e5a2a 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java @@ -93,10 +93,6 @@ @Transactional(rollbackFor = Exception.class) @Override public int upDeviceParameter(Device itemParameter) { - // 鍒犻櫎鏁伴噰闆嗛厤缃暟鎹� - dataConfigService.deleteDataConfig(); - // 闇�瑕佸悓鏃舵洿鏀� device琛� - return deviceMapper.updateById(itemParameter); } diff --git a/cnas-device/src/main/resources/mapper/DataConfigMapper.xml b/cnas-device/src/main/resources/mapper/DataConfigMapper.xml index d5782b9..a24e029 100644 --- a/cnas-device/src/main/resources/mapper/DataConfigMapper.xml +++ b/cnas-device/src/main/resources/mapper/DataConfigMapper.xml @@ -13,31 +13,10 @@ </resultMap> <select id="selectDataConfigList" resultType="com.ruoyi.device.dto.DeviceConfigDtoPage"> - SELECT d.device_name, - d.file_type, - d.collect_url, - d.storage_url, - d.ip, - d.entrust_code, - d.sample_code, - d.db_file_name, - ip.inspection_item, - ip.inspection_item_class, - if(ip.inspection_item_subclass is not null and ip.inspection_item_subclass != '', - ip.inspection_item_subclass, ip.inspection_item) inspection_item_subclass, - ip.sample, - ddc.formula, - ddc.referx, - ddc.refery, - ddc.x, - ddc.y, - ddc.another_name, - ddc.matching_name, - ddc.id, - ip.id structureItemParameterId - FROM device d - left join structure_item_parameter ip on FIND_IN_SET(ip.id, d.ins_product_ids) - left join device_data_config ddc on ddc.device_id = d.id and ddc.structure_item_parameter_id = ip.id + SELECT ddc.*, + d.device_name + FROM device_data_config ddc + left join device d on ddc.device_id = d.id where d.id = #{deviceId} </select> diff --git a/cnas-process/src/main/java/com/ruoyi/process/controller/QualityMonitorController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/QualityMonitorController.java index a76e400..3a4a0a3 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/controller/QualityMonitorController.java +++ b/cnas-process/src/main/java/com/ruoyi/process/controller/QualityMonitorController.java @@ -237,14 +237,14 @@ /** * 鏂板鐩戞帶璇勪环闄勪欢琛� - * @param detailsEvaluateId + * @param qualityMonitorDetailsId * @param file * @return */ @ApiOperation(value = "鏂板鐩戞帶璇勪环闄勪欢琛�") @PostMapping("/uploadEvaluateFile") - public Result<?> uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file) { - return Result.success(qualityMonitorService.uploadEvaluateFile(detailsEvaluateId, file)); + public Result<?> uploadEvaluateFile(Integer qualityMonitorDetailsId, MultipartFile file) { + return Result.success(qualityMonitorService.uploadEvaluateFile(qualityMonitorDetailsId, file)); } @@ -254,8 +254,8 @@ */ @ApiOperation(value = "鏌ヨ鐩戞帶璇勪环闄勪欢鍒楄〃") @GetMapping("/getEvaluateFileList") - public Result<List<QualityMonitorDetailsEvaluateFile>> getEvaluateFileList(Integer detailsEvaluateId) { - return Result.success(qualityMonitorService.getEvaluateFileList(detailsEvaluateId)); + public Result<List<QualityMonitorDetailsEvaluateFile>> getEvaluateFileList(Integer qualityMonitorDetailsId) { + return Result.success(qualityMonitorService.getEvaluateFileList(qualityMonitorDetailsId)); } /** diff --git a/cnas-process/src/main/java/com/ruoyi/process/dto/QualityMonitorDetailsDto.java b/cnas-process/src/main/java/com/ruoyi/process/dto/QualityMonitorDetailsDto.java index d9f2538..04800cb 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/dto/QualityMonitorDetailsDto.java +++ b/cnas-process/src/main/java/com/ruoyi/process/dto/QualityMonitorDetailsDto.java @@ -11,7 +11,7 @@ @Data public class QualityMonitorDetailsDto extends QualityMonitorDetails { - @ApiModelProperty("瀹炴柦鐘舵��, 0: 鏈紑濮�, 1:寰呮壒鍑�, 2:宸叉壒鍑�") + @ApiModelProperty("瀹炴柦鐘舵��, 0: 鏈紑濮�, 1:寰呮壒鍑�, 2:涓嶆壒鍑�, 3:宸叉壒鍑�") private Integer detailsRatifyStatus; @ApiModelProperty("鎶ュ憡鐘舵��, 0: 鏈紑濮�, 1:寰呮彁浜�, 2:琛ユ壒鍑�, 3:宸叉壒鍑�") diff --git a/cnas-process/src/main/java/com/ruoyi/process/dto/QualitySuperviseDetailsDto.java b/cnas-process/src/main/java/com/ruoyi/process/dto/QualitySuperviseDetailsDto.java index 055aa81..642848f 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/dto/QualitySuperviseDetailsDto.java +++ b/cnas-process/src/main/java/com/ruoyi/process/dto/QualitySuperviseDetailsDto.java @@ -23,12 +23,12 @@ @ApiModelProperty("鐩戠潱鍘熷洜绫诲瀷, 1:瀹氭湡鐩戠潱, 2:鍔ㄦ�佺洃鐫�") private Integer causeType; - @ApiModelProperty("璁板綍鐘舵��, 0: 鏈紑濮�, 1:寰呮壒鍑�, 2:宸叉壒鍑�") + @ApiModelProperty("璁板綍鐘舵��, 0: 鏈紑濮�, 1:寰呮壒鍑�, 2:涓嶆壒鍑�, 3:宸叉壒鍑�") private Integer recordStatus; - @ApiModelProperty("鎺у埗鐘舵��, 0: 鏈紑濮�, 1:寰呮壒鍑�, 2:宸叉壒鍑�") + @ApiModelProperty("鎺у埗鐘舵��, 0: 鏈紑濮�, 1:寰呮壒鍑�, 2:涓嶆壒鍑�, 3:宸叉壒鍑�") private Integer accordingStatus; - @ApiModelProperty("绾犳鐘舵��, 0: 鏈紑濮�, 1:寰呮壒鍑�, 2:宸叉壒鍑�") + @ApiModelProperty("绾犳鐘舵��, 0: 鏈紑濮�, 1:寰呮壒鍑�, 2:涓嶆壒鍑�, 3:宸叉壒鍑�") private Integer correctStatus; } diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/QualityMonitorService.java b/cnas-process/src/main/java/com/ruoyi/process/service/QualityMonitorService.java index b3f4a42..2d3e230 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/QualityMonitorService.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/QualityMonitorService.java @@ -124,17 +124,17 @@ /** * 鏂板鐩戞帶璇勪环闄勪欢琛� - * @param detailsEvaluateId + * @param qualityMonitorDetailsId * @param file * @return */ - boolean uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file); + boolean uploadEvaluateFile(Integer qualityMonitorDetailsId, MultipartFile file); /** * 鏌ヨ鐩戞帶璇勪环闄勪欢鍒楄〃 * @return */ - List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer detailsEvaluateId); + List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer qualityMonitorDetailsId); /** diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java index 16d1e15..ce42d05 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java @@ -21,6 +21,7 @@ import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.WxCpUtils; +import com.ruoyi.device.pojo.DeviceExamineRecord; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; import com.ruoyi.inspect.util.UserUtils; @@ -460,7 +461,10 @@ } }); } - + // 娓呯┖鐘舵�� + qualityMonitorDetailsRatifyService.update(Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate() + .eq(QualityMonitorDetailsRatify::getDetailsRatifyId, qualityMonitorDetailsRatify.getDetailsRatifyId()) + .set(QualityMonitorDetailsRatify::getIsFinish, null)); return true; } @@ -471,10 +475,16 @@ */ @Override public boolean addQualityMonitorRatifyOpinion(QualityMonitorDetailsRatify qualityMonitorDetailsRatify) { - qualityMonitorDetailsRatifyService.update(Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate() + LambdaUpdateWrapper<QualityMonitorDetailsRatify> wrapper = Wrappers.<QualityMonitorDetailsRatify>lambdaUpdate() .eq(QualityMonitorDetailsRatify::getDetailsRatifyId, qualityMonitorDetailsRatify.getDetailsRatifyId()) .set(QualityMonitorDetailsRatify::getRatifyOpinion, qualityMonitorDetailsRatify.getRatifyOpinion()) - .set(QualityMonitorDetailsRatify::getIsFinish, 1)); + .set(QualityMonitorDetailsRatify::getIsFinish, qualityMonitorDetailsRatify.getIsFinish()); + // 涓�0娓呴櫎瀹℃牳浜� + if (qualityMonitorDetailsRatify.getIsFinish().equals(0)) { + wrapper.set(QualityMonitorDetailsRatify::getRatifyUserId, null); + } + + qualityMonitorDetailsRatifyService.update(wrapper); return true; } @@ -631,13 +641,13 @@ /** * 鏂板鐩戞帶璇勪环闄勪欢琛� - * @param detailsEvaluateId + * @param qualityMonitorDetailsId * @param file * @return */ @Override - public boolean uploadEvaluateFile(Integer detailsEvaluateId, MultipartFile file) { - if (detailsEvaluateId == null) { + public boolean uploadEvaluateFile(Integer qualityMonitorDetailsId, MultipartFile file) { + if (qualityMonitorDetailsId == null) { throw new ErrorException("缂哄皯鐩戞帶璇︽儏id"); } @@ -647,7 +657,7 @@ String filename = file.getOriginalFilename(); String contentType = file.getContentType(); QualityMonitorDetailsEvaluateFile evaluateFile = new QualityMonitorDetailsEvaluateFile(); - evaluateFile.setDetailsEvaluateId(detailsEvaluateId); + evaluateFile.setDetailsEvaluateId(qualityMonitorDetailsId); evaluateFile.setFileName(filename); if (contentType != null && contentType.startsWith("image/")) { // 鏄浘鐗� @@ -681,9 +691,9 @@ * @return */ @Override - public List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer detailsEvaluateId) { + public List<QualityMonitorDetailsEvaluateFile> getEvaluateFileList(Integer qualityMonitorDetailsId) { return qualityMonitorDetailsEvaluateFileMapper.selectList(Wrappers.<QualityMonitorDetailsEvaluateFile>lambdaQuery() - .eq(QualityMonitorDetailsEvaluateFile::getDetailsEvaluateId, detailsEvaluateId)); + .eq(QualityMonitorDetailsEvaluateFile::getDetailsEvaluateId, qualityMonitorDetailsId)); } diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java index 4f429a8..52044aa 100644 --- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java +++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java @@ -3,6 +3,7 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -21,6 +22,7 @@ import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.WxCpUtils; +import com.ruoyi.device.pojo.DeviceExamineRecord; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; import com.ruoyi.inspect.util.UserUtils; @@ -177,6 +179,7 @@ detailsUploadList.add(superviseDetails); } + @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { @@ -349,8 +352,30 @@ QualitySuperviseDetailsRecord detailsRecord; detailsRecord = qualitySuperviseDetailsRecordMapper.selectOne(Wrappers.<QualitySuperviseDetailsRecord>lambdaQuery() .eq(QualitySuperviseDetailsRecord::getSuperviseDetailsId, superviseDetailsId)); + + // 鏌ヨ涓婁竴涓湀绗竴鏉$殑璁板綍淇℃伅, 鍒ゆ柇琚洃鐫d汉鍘诲彟澶栦竴涓� if (detailsRecord == null) { + + // 鏌ヨ璇︽儏淇℃伅 + QualitySuperviseDetails qualitySuperviseDetails = qualitySuperviseDetailsMapper.selectById(superviseDetailsId); + // 鏌ヨ涓婁竴涓湀绗竴鏉$殑璁板綍淇℃伅, 鍒ゆ柇琚洃鐫d汉鍘诲彟澶栦竴涓� + + QualitySuperviseDetailsRecord laseRecord = qualitySuperviseDetailsRecordMapper.selectOne(Wrappers.<QualitySuperviseDetailsRecord>lambdaQuery() + .last("limit 1")); + + detailsRecord = new QualitySuperviseDetailsRecord(); + detailsRecord.setSuperviseDetailsId(superviseDetailsId); + detailsRecord.setTestMember(qualitySuperviseDetails.getSupervisee()); + detailsRecord.setSupervisor(null); + + detailsRecord.setPersonnel("()鏈夌浉搴旀娴嬪憳鐨勪笂宀楄瘉"); + detailsRecord.setEnvironment("娓╁害锛�()鈩� 婀垮害锛�()%"); + detailsRecord.setInspectionRecord("妫�娴嬩汉鍛�()杩涜妫�娴嬭褰曪紝璁板綍鍐呭鐪熷疄鏈夋晥"); + detailsRecord.setExaminingReport("鐢�()榛勭瀹炲嚭绀虹殑妫�娴嬫姤鍛婄鍚堣鑼冭姹�"); + detailsRecord.setSupervisionEvaluation("妫�娴嬫寜鐓ц姹傝繘琛岋紝鍒ゅ畾涓烘弧鎰�"); + detailsRecord.setHandlingAdvice("/"); + } // 娣诲姞鎵瑰噯浜哄悕绉� if (detailsRecord.getRatifyUserId() != null) { @@ -370,7 +395,11 @@ if (qualitySuperviseDetailsRecord.getSuperviseDetailsId() == null) { throw new ErrorException("缂哄皯鐩戠潱璇︾粏淇℃伅id"); } - qualitySuperviseDetailsRecordMapper.insert(qualitySuperviseDetailsRecord); + if (qualitySuperviseDetailsRecord.getSuperviseDetailsRecordId() == null) { + qualitySuperviseDetailsRecordMapper.insert(qualitySuperviseDetailsRecord); + } else { + qualitySuperviseDetailsRecordMapper.updateById(qualitySuperviseDetailsRecord); + } if (qualitySuperviseDetailsRecord.getRatifyUserId() != null) { @@ -408,6 +437,10 @@ } }); } + // 娓呯┖鐘舵�� + qualitySuperviseDetailsRecordMapper.update(null, Wrappers.<QualitySuperviseDetailsRecord>lambdaUpdate() + .eq(QualitySuperviseDetailsRecord::getSuperviseDetailsRecordId, qualitySuperviseDetailsRecord.getSuperviseDetailsRecordId()) + .set(QualitySuperviseDetailsRecord::getIsFinish, null)); return true; } @@ -419,16 +452,27 @@ */ @Override public boolean addSuperviseRecordOpinion(QualitySuperviseDetailsRecord qualitySuperviseDetailsRecord) { - if (qualitySuperviseDetailsRecord.getIsAccording() == null) { - throw new ErrorException("缂哄皯鏈�缁堢粨鏋�"); + if (qualitySuperviseDetailsRecord.getIsFinish() == null) { + throw new RuntimeException("缂哄皯璁板綍缁撴灉鐘舵��"); } - qualitySuperviseDetailsRecordMapper.update(null, Wrappers.<QualitySuperviseDetailsRecord>lambdaUpdate() + LambdaUpdateWrapper<QualitySuperviseDetailsRecord> wrapper = Wrappers.<QualitySuperviseDetailsRecord>lambdaUpdate() .eq(QualitySuperviseDetailsRecord::getSuperviseDetailsId, qualitySuperviseDetailsRecord.getSuperviseDetailsId()) .set(QualitySuperviseDetailsRecord::getRatifyOpinion, qualitySuperviseDetailsRecord.getRatifyOpinion()) - .set(QualitySuperviseDetailsRecord::getRatifyTime, LocalDateTime.now()) .set(QualitySuperviseDetailsRecord::getIsAccording, qualitySuperviseDetailsRecord.getIsAccording()) - .set(QualitySuperviseDetailsRecord::getIsFinish, 1)); + .set(QualitySuperviseDetailsRecord::getIsFinish, qualitySuperviseDetailsRecord.getIsFinish()); + + // 涓�0娓呴櫎瀹℃牳浜� + if (qualitySuperviseDetailsRecord.getIsFinish().equals(0)) { + wrapper.set(QualitySuperviseDetailsRecord::getRatifyUserId, null) + .set(QualitySuperviseDetailsRecord::getRatifyTime, null); + } else { + wrapper.set(QualitySuperviseDetailsRecord::getRatifyTime, LocalDateTime.now()); + } + + qualitySuperviseDetailsRecordMapper.update(null, wrapper); + + return true; } @@ -439,7 +483,7 @@ */ @Override public void exportSuperviseDetailRecord(Integer superviseDetailsId, HttpServletResponse response) { - QualitySuperviseDetailsRecord recordDto = qualitySuperviseDetailsRecordMapper.selectSuperviseDetailRecord(superviseDetailsId); + QualitySuperviseDetailsRecord recordDto = qualitySuperviseDetailsRecordMapper.selectSuperviseDetailRecord(superviseDetailsId); //鑾峰彇鎶�鏈礋璐d汉鐨勭鍚嶅湴鍧� String ratifyUrl = null; @@ -491,10 +535,10 @@ public boolean addSuperviseDetailAccording(QualitySuperviseDetailsAccording detailsAccording) { QualitySuperviseDetailsAccording according = new QualitySuperviseDetailsAccording(); // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� - User user = userMapper.selectById( SecurityUtils.getUserId().intValue()); + User user = userMapper.selectById(SecurityUtils.getUserId().intValue()); String departmentLimsName = userMapper.selectUserDepartmentLimsName(user.getId()); switch (detailsAccording.getFlowType()) { - // 涓嶇鍚堝伐浣滄儏鍐佃褰� + // 涓嶇鍚堝伐浣滄儏鍐佃褰� case 0: if (detailsAccording.getSuperviseDetailsId() == null) { throw new ErrorException("缂哄皯璐ㄩ噺鐩戠潱璇︽儏Id"); @@ -527,7 +571,7 @@ qualitySuperviseDetailsAccordingMapper.insert(according); break; - // 1澶勭悊鎺柦 + // 1澶勭悊鎺柦 case 1: according.setSuperviseDetailsAccordingId(detailsAccording.getSuperviseDetailsAccordingId()); according.setEliminateMeasure(detailsAccording.getEliminateMeasure());//娓呴櫎涓嶇鍚堟帾鏂� @@ -542,7 +586,7 @@ qualitySuperviseDetailsAccordingMapper.updateById(according); break; - // 绾犳鎺柦 + // 绾犳鎺柦 case 2: according.setSuperviseDetailsAccordingId(detailsAccording.getSuperviseDetailsAccordingId()); according.setCorrectContent(detailsAccording.getCorrectContent());//绾犳鎺柦鍐呭 @@ -557,7 +601,7 @@ qualitySuperviseDetailsAccordingMapper.updateById(according); break; - //鏄惁閫氱煡瀹㈡埛鍙仮澶嶅伐浣� + //鏄惁閫氱煡瀹㈡埛鍙仮澶嶅伐浣� case 3: according.setSuperviseDetailsAccordingId(detailsAccording.getSuperviseDetailsAccordingId()); according.setNotifyCustomer(detailsAccording.getNotifyCustomer());//閫氱煡瀹㈡埛 @@ -592,7 +636,12 @@ // 琚洃鐫d汉 User supervisedUser = userMapper.selectById(detailsAccording.getSupervisedUserId()); detailsAccording.setSupervisedUserName(supervisedUser.getName());//琚洃鐫� - qualitySuperviseDetailsAccordingMapper.insert(detailsAccording); + + if (detailsAccording.getSuperviseDetailsAccordingId() == null) { + qualitySuperviseDetailsAccordingMapper.insert(detailsAccording); + } else { + qualitySuperviseDetailsAccordingMapper.updateById(detailsAccording); + } if (detailsAccording.getApproverUserId() != null) { // 鏌ヨ璇︽儏淇℃伅 @@ -628,6 +677,11 @@ }); } + // 娓呯┖鐘舵�� + qualitySuperviseDetailsAccordingMapper.update(null, Wrappers.<QualitySuperviseDetailsAccording>lambdaUpdate() + .eq(QualitySuperviseDetailsAccording::getSuperviseDetailsAccordingId, detailsAccording.getSuperviseDetailsAccordingId()) + .set(QualitySuperviseDetailsAccording::getIsFinish, null)); + return true; } @@ -639,22 +693,41 @@ */ @Override public boolean approverEquipSuperviseDetailAccording(QualitySuperviseDetailsAccording detailsAccording) { + if (detailsAccording.getIsFinish() == null) { + throw new RuntimeException("缂哄皯鎵瑰噯鐘舵��"); + } + QualitySuperviseDetailsAccording according = new QualitySuperviseDetailsAccording(); according.setSuperviseDetailsAccordingId(detailsAccording.getSuperviseDetailsAccordingId()); - // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� - User user = userMapper.selectById(SecurityUtils.getUserId().intValue()); - String departmentLimsName = userMapper.selectUserDepartmentLimsName(user.getId()); - according.setResponsibleDepartment(departmentLimsName);//璐d换閮ㄩ棬 - according.setActionsUserId(user.getId());//澶勭悊浜篿d - according.setActionsUserName(user.getName());//澶勭悊浜� + if (detailsAccording.getIsFinish().equals(1)) { + // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� + User user = userMapper.selectById(SecurityUtils.getUserId().intValue()); + String departmentLimsName = userMapper.selectUserDepartmentLimsName(user.getId()); - according.setCorrectUserId(user.getId());//绾犳璐熻矗浜篿d - according.setCorrectUserName(user.getName());//绾犳璐熻矗浜� + according.setResponsibleDepartment(departmentLimsName);//璐d换閮ㄩ棬 + according.setActionsUserId(user.getId());//澶勭悊浜篿d + according.setActionsUserName(user.getName());//澶勭悊浜� - according.setQualityManagerUserId(user.getId());//璐ㄩ噺璐熻矗浜篿d - according.setQualityManagerUserName(user.getName());//璐ㄩ噺璐熻矗浜� - according.setIsFinish(1); + according.setCorrectUserId(user.getId());//绾犳璐熻矗浜篿d + according.setCorrectUserName(user.getName());//绾犳璐熻矗浜� + + according.setQualityManagerUserId(user.getId());//璐ㄩ噺璐熻矗浜篿d + according.setQualityManagerUserName(user.getName());//璐ㄩ噺璐熻矗浜� + } else { + qualitySuperviseDetailsAccordingMapper.update(null, Wrappers.<QualitySuperviseDetailsAccording>lambdaUpdate() + .eq(QualitySuperviseDetailsAccording::getSuperviseDetailsAccordingId, detailsAccording.getSuperviseDetailsAccordingId()) + .set(QualitySuperviseDetailsAccording::getResponsibleDepartment, null) + .set(QualitySuperviseDetailsAccording::getActionsUserId, null) + .set(QualitySuperviseDetailsAccording::getActionsUserName, null) + .set(QualitySuperviseDetailsAccording::getCorrectUserId, null) + .set(QualitySuperviseDetailsAccording::getCorrectUserName, null) + .set(QualitySuperviseDetailsAccording::getQualityManagerUserId, null) + .set(QualitySuperviseDetailsAccording::getQualityManagerUserName, null) + .set(QualitySuperviseDetailsAccording::getApproverUserId, null)); + } + + according.setIsFinish(detailsAccording.getIsFinish()); qualitySuperviseDetailsAccordingMapper.updateById(according); return true; } @@ -675,6 +748,7 @@ detailsAccording = new QualitySuperviseDetailsAccording(); // 鏌ヨ鐩戠潱璁″垝璇︽儏 QualitySuperviseDetails superviseDetails = qualitySuperviseDetailsMapper.selectById(superviseDetailsId); + superviseDetails.setSuperviseDetailsId(superviseDetailsId); detailsAccording.setSupervisedUserId(superviseDetails.getSupervisedUserId()); detailsAccording.setSupervisedUserName(superviseDetails.getSupervisee()); } @@ -779,7 +853,7 @@ String departmentLimsName = userMapper.selectUserDepartmentLimsName(user.getId()); switch (detailsCorrect.getFlowType()) { - // 涓嶅悎鏍兼彁鍑� + // 涓嶅悎鏍兼彁鍑� case 0: if (detailsCorrect.getSuperviseDetailsId() == null) { throw new ErrorException("缂哄皯璐ㄩ噺鐩戠潱璇︽儏Id"); @@ -803,7 +877,7 @@ break; - // 鍘熷洜鍒嗘瀽 + // 鍘熷洜鍒嗘瀽 case 1: correct.setSuperviseDetailsCorrectId(detailsCorrect.getSuperviseDetailsCorrectId()); correct.setCauseResult(detailsCorrect.getCauseResult());//鍘熷洜鍒嗘瀽 @@ -819,7 +893,7 @@ qualitySuperviseDetailsCorrectMapper.updateById(correct); break; - // 绾犳鎺柦 + // 绾犳鎺柦 case 2: correct.setSuperviseDetailsCorrectId(detailsCorrect.getSuperviseDetailsCorrectId()); correct.setCorrectResult(detailsCorrect.getCorrectResult());//2绾犳鎺柦 @@ -836,7 +910,7 @@ qualitySuperviseDetailsCorrectMapper.updateById(correct); break; - // 楠岃瘉缁撴灉 + // 楠岃瘉缁撴灉 case 3: correct.setSuperviseDetailsCorrectId(detailsCorrect.getSuperviseDetailsCorrectId()); correct.setValidationResult(detailsCorrect.getValidationResult());//3楠岃瘉缁撴灉 @@ -866,7 +940,11 @@ detailsCorrect.setRaiseDepartment(departmentLimsName);//鎻愬嚭閮ㄩ棬 detailsCorrect.setRaiseUserId(user.getId());//鎻愬嚭浜篿d detailsCorrect.setRaiseUserName(user.getName());// 鎻愬嚭浜� - qualitySuperviseDetailsCorrectMapper.insert(detailsCorrect); + if (detailsCorrect.getSuperviseDetailsCorrectId() == null) { + qualitySuperviseDetailsCorrectMapper.insert(detailsCorrect); + } else { + qualitySuperviseDetailsCorrectMapper.updateById(detailsCorrect); + } if (detailsCorrect.getApproverUserId() != null) { // 鏌ヨ璇︽儏淇℃伅 @@ -902,6 +980,10 @@ }); } + // 娓呯┖鐘舵�� + qualitySuperviseDetailsCorrectMapper.update(null, Wrappers.<QualitySuperviseDetailsCorrect>lambdaUpdate() + .eq(QualitySuperviseDetailsCorrect::getSuperviseDetailsCorrectId, detailsCorrect.getSuperviseDetailsCorrectId()) + .set(QualitySuperviseDetailsCorrect::getIsFinish, null)); return true; } @@ -911,24 +993,45 @@ */ @Override public boolean approveEquipSuperviseDetailCorrect(QualitySuperviseDetailsCorrect detailsCorrect) { + if (detailsCorrect.getIsFinish() == null) { + throw new RuntimeException("缂哄皯鎵瑰噯鐘舵��"); + } + QualitySuperviseDetailsCorrect correct = new QualitySuperviseDetailsCorrect(); // 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅鍜岄儴闂� User user = userMapper.selectById(SecurityUtils.getUserId().intValue()); String departmentLimsName = userMapper.selectUserDepartmentLimsName(user.getId()); correct.setSuperviseDetailsCorrectId(detailsCorrect.getSuperviseDetailsCorrectId()); - correct.setCauseDepartment(departmentLimsName);//鍘熷洜鍒嗘瀽璐d换閮ㄩ棬 - correct.setCauseUserId(user.getId());//1鍘熷洜鍒嗘瀽浜篿d - correct.setCauseUserName(user.getName());// 1鍘熷洜鍒嗘瀽浜� + if (detailsCorrect.getIsFinish().equals(1)) { + correct.setCauseDepartment(departmentLimsName);//鍘熷洜鍒嗘瀽璐d换閮ㄩ棬 + correct.setCauseUserId(user.getId());//1鍘熷洜鍒嗘瀽浜篿d + correct.setCauseUserName(user.getName());// 1鍘熷洜鍒嗘瀽浜� - correct.setCorrectDepartment(departmentLimsName);//2绾犳璐d换閮ㄩ棬 - correct.setCorrectUserId(user.getId());//2绾犳浜篿d - correct.setCorrectUserName(user.getName());// 2绾犳浜� + correct.setCorrectDepartment(departmentLimsName);//2绾犳璐d换閮ㄩ棬 + correct.setCorrectUserId(user.getId());//2绾犳浜篿d + correct.setCorrectUserName(user.getName());// 2绾犳浜� - correct.setValidationDepartment(departmentLimsName);//3楠岃瘉閮ㄩ棬 - correct.setValidationUserId(user.getId());//3楠岃瘉浜篿d - correct.setValidationUserName(user.getName());// 3楠岃瘉浜� - correct.setIsFinish(1); + correct.setValidationDepartment(departmentLimsName);//3楠岃瘉閮ㄩ棬 + correct.setValidationUserId(user.getId());//3楠岃瘉浜篿d + correct.setValidationUserName(user.getName());// 3楠岃瘉浜� + } else { + qualitySuperviseDetailsCorrectMapper.update(null, Wrappers.<QualitySuperviseDetailsCorrect>lambdaUpdate() + .eq(QualitySuperviseDetailsCorrect::getSuperviseDetailsCorrectId, detailsCorrect.getSuperviseDetailsCorrectId()) + .set(QualitySuperviseDetailsCorrect::getCauseDepartment, null) + .set(QualitySuperviseDetailsCorrect::getCauseUserId, null) + .set(QualitySuperviseDetailsCorrect::getCauseUserName, null) + .set(QualitySuperviseDetailsCorrect::getCorrectDepartment, null) + .set(QualitySuperviseDetailsCorrect::getCorrectUserId, null) + .set(QualitySuperviseDetailsCorrect::getCorrectUserName, null) + .set(QualitySuperviseDetailsCorrect::getValidationDepartment, null) + .set(QualitySuperviseDetailsCorrect::getValidationUserId, null) + .set(QualitySuperviseDetailsCorrect::getValidationUserName, null) + .set(QualitySuperviseDetailsCorrect::getApproverUserId, null) + ); + } + + correct.setIsFinish(detailsCorrect.getIsFinish()); qualitySuperviseDetailsCorrectMapper.updateById(correct); return true; @@ -948,6 +1051,7 @@ if (detailsCorrect == null) { detailsCorrect = new QualitySuperviseDetailsCorrect(); + detailsCorrect.setSuperviseDetailsId(superviseDetailsId); } return detailsCorrect; } diff --git a/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml index e47b813..0e80c86 100644 --- a/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml +++ b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml @@ -5,7 +5,8 @@ select * from ( SELECT cqmd.*, CASE - WHEN cqmder.is_finish = 1 THEN 2 + WHEN cqmder.is_finish = 1 THEN 3 + WHEN cqmder.is_finish = 0 THEN 2 WHEN cqmder.quality_monitor_details_id IS NOT NULL THEN 1 ELSE 0 END details_ratify_status, CASE diff --git a/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml index 9877619..0e8b619 100644 --- a/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml +++ b/cnas-process/src/main/resources/mapper/QualitySuperviseDetailsMapper.xml @@ -10,17 +10,20 @@ ca.is_correct, cc.supervise_details_correct_id, case - when cr.is_finish = 1 then 2 + when cr.is_finish = 1 then 3 + when cr.is_finish = 0 then 2 when cr.supervise_details_record_id is not null then 1 else 0 end record_status, case - when ca.is_finish = 1 then 2 + when ca.is_finish = 1 then 3 + when ca.is_finish = 0 then 2 when ca.supervise_details_according_id is not null then 1 else 0 end according_status, case - when cc.is_finish = 1 then 2 + when cc.is_finish = 1 then 3 + when cc.is_finish = 0 then 2 when cc.supervise_details_correct_id is not null then 1 else 0 end correct_status -- Gitblit v1.9.3