|
@@ -371,31 +371,40 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
* 更新项目预决算统计
|
|
|
*/
|
|
|
private void saveBudgetStatistics() {
|
|
|
- List<ChuanyunBudgetStatisticsDO> list = chuanyunBudgetStatisticsDao.getTotalByProject();
|
|
|
+ List<ChuanyunBudgetStatisticsDO> list = chuanyunBudgetStatisticsDao.findAll();
|
|
|
list.forEach(chuanyunBudgetStatisticsDO -> {
|
|
|
if (!StringUtils.isEmpty(chuanyunBudgetStatisticsDO.getProject())){
|
|
|
var objectMapper = new ObjectMapper();
|
|
|
- BudgetDTO budgetDTO = new BudgetDTO(chuanyunBudgetStatisticsDO);
|
|
|
- budgetDTO.setDate(LocalDateTime.of(2020,4,1,0,0));
|
|
|
try {
|
|
|
- List<String> matchers = new ArrayList<>();
|
|
|
- ChuanyunSaveDTO chuanyunSaveDTO;
|
|
|
- matchers.add("F0000001_2,"+chuanyunBudgetStatisticsDO.getProject());
|
|
|
- matchers.add("F0000002_2,"+chuanyunBudgetStatisticsDO.getFeeType());
|
|
|
- var filter= Filter.instance(0,1,true,"And",matchers);
|
|
|
- var chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunBudgetAmountDO.SCHEMA_CODE,filter);
|
|
|
- var budgetString = objectMapper.writeValueAsString(budgetDTO);
|
|
|
- if (chuanyunFindAllResponse.getReturnData() != null) {
|
|
|
- List<ChuanyunBudgetAmountDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
- ChuanyunBudgetAmountDO chuanyunBudgetAmountDO = result.get(0);
|
|
|
- chuanyunSaveDTO = chuanYunManager.update(ChuanyunBudgetAmountDO.SCHEMA_CODE,chuanyunBudgetAmountDO.getObjectId(),budgetString);
|
|
|
- }else {
|
|
|
- chuanyunSaveDTO = chuanYunManager.save(ChuanyunBudgetAmountDO.SCHEMA_CODE,budgetString,true);
|
|
|
- }
|
|
|
- if(chuanyunSaveDTO.getSuccessful()){
|
|
|
+ //集团总表中查找项目
|
|
|
+ List<String> projectmatchers = new ArrayList<>();
|
|
|
+ projectmatchers.add("Name_2,"+chuanyunBudgetStatisticsDO.getProject());
|
|
|
+ var projectfilter= Filter.instance(0,1,true,"And",projectmatchers);
|
|
|
+ var chuanyunFindResponse = chuanYunManager.findAll(ChuanyunGroupProjectDO.SCHEMA_CODE,projectfilter);
|
|
|
+ if (chuanyunFindResponse.getReturnData()!=null){
|
|
|
+ List<ChuanyunGroupProjectDO> projectresult=objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
+ chuanyunBudgetStatisticsDO.setProject(projectresult.get(0).getObjectId());
|
|
|
+ List<String> matchers = new ArrayList<>();
|
|
|
+ ChuanyunSaveDTO chuanyunSaveDTO;
|
|
|
+ matchers.add("F0000001_2,"+chuanyunBudgetStatisticsDO.getProject());
|
|
|
+ matchers.add("F0000002_2,"+chuanyunBudgetStatisticsDO.getFeeType());
|
|
|
+ var filter= Filter.instance(0,1,true,"And",matchers);
|
|
|
+ var chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunBudgetAmountDO.SCHEMA_CODE,filter);
|
|
|
+ BudgetDTO budgetDTO = new BudgetDTO(chuanyunBudgetStatisticsDO);
|
|
|
+ budgetDTO.setDate(LocalDateTime.of(2020,4,1,0,0));
|
|
|
+ var budgetString = objectMapper.writeValueAsString(budgetDTO);
|
|
|
+ if (chuanyunFindAllResponse.getReturnData() != null) {
|
|
|
+ List<ChuanyunBudgetAmountDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
+ ChuanyunBudgetAmountDO chuanyunBudgetAmountDO = result.get(0);
|
|
|
+ chuanyunSaveDTO = chuanYunManager.update(ChuanyunBudgetAmountDO.SCHEMA_CODE,chuanyunBudgetAmountDO.getObjectId(),budgetString);
|
|
|
+ }else {
|
|
|
+ chuanyunSaveDTO = chuanYunManager.save(ChuanyunBudgetAmountDO.SCHEMA_CODE,budgetString,true);
|
|
|
+ }
|
|
|
+ if(chuanyunSaveDTO.getSuccessful()){
|
|
|
log.info("新增项目预决算统计成功");
|
|
|
- }else{
|
|
|
- log.warn("新增项目预决算统计失败");
|
|
|
+ }else{
|
|
|
+ log.warn("新增项目预决算统计失败");
|
|
|
+ }
|
|
|
}
|
|
|
} catch (JsonProcessingException | BigSizeException e) {
|
|
|
e.printStackTrace();
|