认证-参数清单-状态触发点修改

This commit is contained in:
liyawei
2022-07-01 10:53:47 +08:00
parent c7aa206416
commit 07540b83fb
4 changed files with 73 additions and 12 deletions
@@ -54,7 +54,7 @@
<if test="paramsCollectManifestEO.userTypes !=null and paramsCollectManifestEO.userTypes !=''">
<choose>
<when test="paramsCollectManifestEO.userTypes == 'sdt'">
AND sdt = #{paramsCollectManifestEO.sdt} AND state in ('2','4','5','6','7')
AND sdt = #{paramsCollectManifestEO.sdt} AND state in ('2','4','5','6','7','8')
</when>
<when test="paramsCollectManifestEO.userTypes == 'dre'">
AND dre = #{paramsCollectManifestEO.dreForAuth} AND state in ('4','6','7','8')
@@ -102,6 +102,8 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
boolean getManifestConfigFlag(String paramsManifestId);
Map<String, List<ParamsCollectManifestEO>> queryByManifestIdList(List<String> manifestIdList);
// 退回
boolean goBack(ParamsCollectManifestVO paramsCollectManifestVO);
@@ -166,6 +166,18 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
paramsCollectManifestEOList.add(target);
}
// 判断清单状态是否为已完成,若是,更改为收集中
ParamsManifestEO paramsManifestEO = paramsManifestEOService.getById(paramsManifestId);
if (ManifestStateEnum.FINISHED.getValue().equals(paramsManifestEO.getState())) {
// 更新清单状态和完成时间
ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO();
updateParamsManifestEO.setId(paramsManifestId);
updateParamsManifestEO.setState(ManifestStateEnum.COLLECTING.getValue());
updateParamsManifestEO.setFinishTime(null);
paramsManifestEOService.updateById(updateParamsManifestEO);
}
return saveBatch(paramsCollectManifestEOList);
}
@@ -1038,6 +1050,20 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
}
}
@Override
public Map<String, List<ParamsCollectManifestEO>> queryByManifestIdList(List<String> manifestIdList){
Map<String, List<ParamsCollectManifestEO>> map = new HashMap<>();
LambdaQueryWrapper<ParamsCollectManifestEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ParamsCollectManifestEO::getParamsManifestId, manifestIdList);
List<ParamsCollectManifestEO> list = list(queryWrapper);
for (String manifestId : manifestIdList) {
List<ParamsCollectManifestEO> collectManifestEOList = list.stream().filter(e->manifestId.equals(e.getParamsManifestId())).collect(Collectors.toList());
map.put(manifestId, collectManifestEOList);
}
return map;
}
@Override
public boolean goBack(ParamsCollectManifestVO paramsCollectManifestVO) {
if (StringUtils.isEmpty(paramsCollectManifestVO.getIds())) {
@@ -1501,7 +1527,24 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
updateEO.setState(CollectManifestStateEnum.SYNC_REPORT.getValue()); // 设置状态为:待工程接口人处理
updateEOList.add(updateEO);
}
return updateBatchById(updateEOList);
boolean isSuccess = updateBatchById(updateEOList);
// 判断清单是否已完成,修改清单状态
Map<String, Object> map = isCollectFinished(paramsManifestId);
Boolean finish = (Boolean) map.get("finish");
Date time = (Date) map.get("time");
if (finish) {
// 更新清单状态和完成时间
ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO();
updateParamsManifestEO.setId(paramsManifestId);
updateParamsManifestEO.setState(ManifestStateEnum.FINISHED.getValue());
updateParamsManifestEO.setFinishTime(time);
paramsManifestEOService.updateById(updateParamsManifestEO);
}
return isSuccess;
}
/**
@@ -80,6 +80,10 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
@Autowired
private IParamsConfigEOService paramsConfigEOService;
@Autowired
private IParamsConfigDataEOService paramsConfigDataEOService;
/**
@@ -288,8 +292,12 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
IPage rows = paramsManifestEOMapper.pageInfo(page, paramsManifestEO);
// 根据参数项状态更新清单状态
List<ParamsManifestEO> paramsManifestEOList = rows.getRecords();
paramsManifestEOList.forEach(manifestEO -> {
Map<String, Object> map = paramsCollectManifestEOService.isCollectFinished(manifestEO.getId());
if (CollectionUtil.isNotEmpty(paramsManifestEOList)) {
List<String> manifestIdList = paramsManifestEOList.stream().map(ParamsManifestEO::getId).collect(Collectors.toList());
Map<String, List<ParamsCollectManifestEO>> manifestMap = paramsCollectManifestEOService.queryByManifestIdList(manifestIdList);
paramsManifestEOList.forEach(manifestEO -> {
/*Map<String, Object> map = paramsCollectManifestEOService.isCollectFinished(manifestEO.getId());
Boolean finish = (Boolean) map.get("finish");
Date time = (Date) map.get("time");
if (finish) {
@@ -315,19 +323,26 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
manifestEO.setState(ManifestStateEnum.COLLECTING.getValue());
manifestEO.setFinishTime(null);
}
}*/
// 添加配置标识,清单参数项状态为 待发起、变更时,可添加配置
boolean configFlag = paramsCollectManifestEOService.getManifestConfigFlag(manifestEO.getId());
manifestEO.setConfigFlag(configFlag);
});
// 添加配置标识,清单参数项状态为 待发起、变更时,可添加配置
boolean configFlag = getManifestConfigFlag(manifestMap.get(manifestEO.getId()));
manifestEO.setConfigFlag(configFlag);
});
}
return rows;
}
@Autowired
private IParamsConfigDataEOService paramsConfigDataEOService;
private boolean getManifestConfigFlag(List<ParamsCollectManifestEO> list) {
int number = (int) list.stream().filter(e->CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count();
if (number == list.size() && list.size() > 0) {
return true;
} else {
return false;
}
}
/**
* 变更扩展
@@ -469,6 +484,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
updateManifestEO.setId(id);
updateManifestEO.setVersion(paramsManifestEO.getVersion() + 1);
updateManifestEO.setParamsTemplatePublishVersion(newestVersion);
updateManifestEO.setState(ManifestStateEnum.COLLECTING.getValue()); // 变更扩展后,清单状态为收集中
return updateById(updateManifestEO);
}