Merge remote-tracking branch 'origin/feature_dev_20221125_YW' into feature_dev_20221125_YW

This commit is contained in:
zyx.net
2022-12-08 15:02:42 +08:00
3 changed files with 86 additions and 0 deletions
@@ -652,4 +652,16 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
return super.importExcel(request, response, ParamsCollectManifestEO.class);
}
/**
* 撤回
*
* @param paramsCollectManifestVO
* @return
*/
@AutoLog(value = "参数项收集清单-强制撤回")
@ApiOperation(value="参数项收集清单-强制撤回", notes="参数项收集清单-强制撤回")
@PostMapping(value = "/mandatoryWithdraw")
public Result<?> mandatoryWithdraw(ParamsCollectManifestVO paramsCollectManifestVO) {
return this.paramsCollectManifestEOService.mandatoryWithdraw(paramsCollectManifestVO);
}
}
@@ -187,4 +187,7 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
// 认证工程师-更新参考列
boolean updateReferencesCol(List<Map<String, Object>> configDataList, String paramsManifestId);
// 认证工程师-强制撤回
Result<?> mandatoryWithdraw(ParamsCollectManifestVO paramsCollectManifestVO);
}
@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ZipUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
@@ -57,6 +58,7 @@ import com.jero.modules.system.service.ISysAnnouncementService;
import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.ISysUserRoleService;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
@@ -5139,6 +5141,75 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
return updateBatchById(updateEOList);
}
@Override
public Result<?> mandatoryWithdraw(ParamsCollectManifestVO paramsCollectManifestVO) {
if (StringUtils.isEmpty(paramsCollectManifestVO.getIds())) {
throw new JeroBootException("参数不能为空!");
}
String paramsCollectManifestIds = paramsCollectManifestVO.getIds();
String[] paramsCollectManifestIdArr = paramsCollectManifestIds.split(",");
// 根据参数收集清单id数组,查询参数配置数据
QueryWrapper<ParamsConfigDataEO> configDataQueryWrap = new QueryWrapper<>();
configDataQueryWrap.lambda().in(ParamsConfigDataEO::getParamsCollectManifestId,paramsCollectManifestIdArr);
List<ParamsConfigDataEO> paramsConfigDataList = this.paramsConfigDataEOService.list(configDataQueryWrap);
for (int i=0; i<paramsCollectManifestIdArr.length; i++) {
String paramsCollectManifestId = paramsCollectManifestIdArr[i];
ParamsCollectManifestEO collectManifestEO = this.getById(paramsCollectManifestId);
// 如果数据状态为 "已同步上报库",不予处理
if(StringUtils.equals(collectManifestEO.getState(),CollectManifestStateEnum.SYNC_REPORT.getValue())){
continue;
}
if(CollectionUtils.isNotEmpty(paramsConfigDataList)){
List<ParamsConfigDataEO> paramsConfigDataListTemp = paramsConfigDataList.stream().filter(paramsConfig -> {
boolean flag = false;
if (StringUtils.equals(paramsConfig.getParamsCollectManifestId(), paramsCollectManifestId)) {
// 如果三种数据其中一种不为空,需要更新,都为空的话无需更新。
if(StringUtils.isNotEmpty(paramsConfig.getTextData()) || StringUtils.isNotEmpty(paramsConfig.getPullData()) || StringUtils.isNotEmpty(paramsConfig.getFileConnectId())){
flag = true;
}
}
return flag;
}).collect(Collectors.toList());
// 如果该参数收集清单数据对应的参数配置数据不为空,则设置将填写人填写的数据设置为空
if(CollectionUtils.isNotEmpty(paramsConfigDataListTemp)){
for (ParamsConfigDataEO paramsConfigDataEO : paramsConfigDataListTemp) {
LambdaUpdateWrapper<ParamsConfigDataEO> configDataUpdateWrap = new LambdaUpdateWrapper<>();
configDataUpdateWrap.set(ParamsConfigDataEO::getTextData,null);
configDataUpdateWrap.set(ParamsConfigDataEO::getPullData,null);
configDataUpdateWrap.set(ParamsConfigDataEO::getFileConnectId,null);
configDataUpdateWrap.eq(ParamsConfigDataEO::getId,paramsConfigDataEO.getId());
try {
this.paramsConfigDataEOService.update(configDataUpdateWrap);
}catch (Exception ex){
ex.printStackTrace();
log.error("强制撤回,更新参数配置数据失败:" + ex.getMessage());
throw new JeroBootException("强制撤回,更新参数配置数据失败!");
}
}
}
}
LambdaUpdateWrapper<ParamsCollectManifestEO> updateWrap = new LambdaUpdateWrapper<>();
updateWrap.set(ParamsCollectManifestEO::getSdt,null);
updateWrap.set(ParamsCollectManifestEO::getDre,null);
updateWrap.set(ParamsCollectManifestEO::getDeadline,null);
updateWrap.set(ParamsCollectManifestEO::getState,CollectManifestStateEnum.WAIT_COLLECT.getValue());
updateWrap.eq(ParamsCollectManifestEO::getId,paramsCollectManifestId);
try {
this.update(updateWrap);
}catch (Exception ex){
ex.printStackTrace();
log.error("强制撤回,更新参数收集清单失败:" + ex.getMessage());
throw new JeroBootException("强制撤回,更新参数收集清单失败!");
}
}
return Result.OK("强制撤回成功!");
}
private void deadlineDateMap(Map<String, List<String>> today, ParamsCollectManifestEO collectManifestEO, String thirdId) {
List<String> stringList = today.get(thirdId);
if (ObjectUtils.isEmpty(stringList)) {