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