|
@@ -37,19 +37,15 @@ public class ChuanyunProjectScheduledTask {
|
|
|
private final ChuanyunPurCostDao chuanyunPurCostDao;
|
|
|
private final ChuanyunProjectCashFlowDao chuanyunProjectCashFlowDao;
|
|
|
private final ChuanyunMemberCostDao chuanyunMemberCostDao;
|
|
|
- private final ChuanyunProjectCostDao chuanyunProjectCostDao;
|
|
|
- private final ChuanyunReimbursementAmountDao chuanyunReimbursementAmountDao;
|
|
|
private final ChuanyunMonthLaborCostDao chuanyunMonthLaborCostDao;
|
|
|
|
|
|
- public ChuanyunProjectScheduledTask(ChuanYunManager chuanYunManager, ChuanyunSaleContractDao chuanyunSaleContractDao, ChuanyunPaymentReceiveDao chuanyunPaymentReceiveDao, ChuanyunPurCostDao chuanyunPurCostDao, ChuanyunProjectCashFlowDao chuanyunProjectCashFlowDao, ChuanyunMemberCostDao chuanyunMemberCostDao, ChuanyunProjectCostDao chuanyunProjectCostDao, ChuanyunReimbursementAmountDao chuanyunReimbursementAmountDao, ChuanyunMonthLaborCostDao chuanyunMonthLaborCostDao) {
|
|
|
+ public ChuanyunProjectScheduledTask(ChuanYunManager chuanYunManager, ChuanyunSaleContractDao chuanyunSaleContractDao, ChuanyunPaymentReceiveDao chuanyunPaymentReceiveDao, ChuanyunPurCostDao chuanyunPurCostDao, ChuanyunProjectCashFlowDao chuanyunProjectCashFlowDao, ChuanyunMemberCostDao chuanyunMemberCostDao, ChuanyunMonthLaborCostDao chuanyunMonthLaborCostDao) {
|
|
|
this.chuanYunManager = chuanYunManager;
|
|
|
this.chuanyunSaleContractDao = chuanyunSaleContractDao;
|
|
|
this.chuanyunPaymentReceiveDao = chuanyunPaymentReceiveDao;
|
|
|
this.chuanyunPurCostDao = chuanyunPurCostDao;
|
|
|
this.chuanyunProjectCashFlowDao = chuanyunProjectCashFlowDao;
|
|
|
this.chuanyunMemberCostDao = chuanyunMemberCostDao;
|
|
|
- this.chuanyunProjectCostDao = chuanyunProjectCostDao;
|
|
|
- this.chuanyunReimbursementAmountDao = chuanyunReimbursementAmountDao;
|
|
|
this.chuanyunMonthLaborCostDao = chuanyunMonthLaborCostDao;
|
|
|
}
|
|
|
|
|
@@ -208,67 +204,6 @@ public class ChuanyunProjectScheduledTask {
|
|
|
}
|
|
|
log.info("项目物料成本保存"+totalCount);
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * 项目工时汇总
|
|
|
- */
|
|
|
- @Scheduled(fixedDelay = 3600000L)
|
|
|
- private void projectHour() {
|
|
|
- List<ChuanyunProjectCostDO> list1 = chuanyunProjectCostDao.getProjectCost();
|
|
|
-
|
|
|
- list1.forEach(chuanyunProjectCostDO -> {
|
|
|
- //更新数据库
|
|
|
- BigDecimal standard = new BigDecimal(8);
|
|
|
- chuanyunProjectCostDO.setPersonDays(chuanyunProjectCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
|
|
|
- ChuanyunProjectCostDO oldProjectDO = chuanyunProjectCostDao.findByProjectIdAndProjectTypeAndStatus(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType(),chuanyunProjectCostDO.getStatus());
|
|
|
- if (oldProjectDO !=null) {
|
|
|
- chuanyunProjectCostDao.delete(oldProjectDO);
|
|
|
- }
|
|
|
- chuanyunProjectCostDao.save(chuanyunProjectCostDO);
|
|
|
- //搜索是否有审批中的数据
|
|
|
- ChuanyunProjectCostDO processDO = chuanyunProjectCostDao.getProcessProjectCost(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType());
|
|
|
- if (processDO==null){
|
|
|
- chuanyunProjectCostDao.deleteByProjectIdAndProjectTypeAndStatus(chuanyunProjectCostDO.getProjectId(),chuanyunProjectCostDO.getProjectType(),"2");
|
|
|
- deleteExamineStatus(ChuanyunProjectTotalCostDO.SCHEMA_CODE,"F0000006","F0000001",chuanyunProjectCostDO.getProjectId(),"","","","","","","","","F0000004",chuanyunProjectCostDO.getProjectType());
|
|
|
- }
|
|
|
-
|
|
|
- try {
|
|
|
- ProjectTotalCostDTO chuanyunProjectTotalCostDTO = new ProjectTotalCostDTO();
|
|
|
- chuanyunProjectTotalCostDTO.setProjectType(chuanyunProjectCostDO.getProjectType());
|
|
|
- chuanyunProjectTotalCostDTO.setProjectId(chuanyunProjectCostDO.getProjectId());
|
|
|
- chuanyunProjectTotalCostDTO.setStatus(chuanyunProjectCostDO.getStatus());
|
|
|
- chuanyunProjectTotalCostDTO.setWorkHour(chuanyunProjectCostDO.getTotalHour());
|
|
|
- chuanyunProjectTotalCostDTO.setPersonDays(chuanyunProjectCostDO.getPersonDays());
|
|
|
- if (!StringUtils.isEmpty(chuanyunProjectCostDO.getProjectId()) && !StringUtils.isEmpty(chuanyunProjectCostDO.getProjectType())){
|
|
|
- List<String> matchers = new ArrayList<>();
|
|
|
- matchers.add("F0000001_2,"+chuanyunProjectCostDO.getProjectId());
|
|
|
- matchers.add("F0000004_2,"+chuanyunProjectCostDO.getProjectType());
|
|
|
- matchers.add("F0000006_2,"+chuanyunProjectCostDO.getStatus());
|
|
|
- var filter= Filter.instance(0,1,true,"And",matchers);
|
|
|
- var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectTotalCostDO.SCHEMA_CODE,filter);
|
|
|
- var projectTotalString=objectMapper.writeValueAsString(chuanyunProjectTotalCostDTO);
|
|
|
- ChuanyunSaveDTO chuanyunSaveDTO;
|
|
|
- if (chuanyunFindAllResponse.getReturnData()!=null) {
|
|
|
- List<ChuanyunProjectTotalCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
- ChuanyunProjectTotalCostDO firstResult = result.get(0);
|
|
|
- chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectTotalCostDO.SCHEMA_CODE,firstResult.getObjectId(),projectTotalString);
|
|
|
- }else {
|
|
|
- chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectTotalCostDO.SCHEMA_CODE,projectTotalString,true);
|
|
|
-
|
|
|
- }
|
|
|
- if(!chuanyunSaveDTO.getSuccessful()){
|
|
|
- log.warn("新增项目成本汇总失败");
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (JsonProcessingException | BigSizeException e) {
|
|
|
- log.error(e.getMessage());
|
|
|
- log.error(""+chuanyunProjectCostDO);
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- });
|
|
|
- log.info("项目工时汇总更新完成"+list1.size());
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 更新销售合同回款数据
|
|
|
*/
|
|
@@ -309,113 +244,69 @@ public class ChuanyunProjectScheduledTask {
|
|
|
log.info("项目销售合同回款信息保存保存"+totalCount);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * 人员项目工时汇总
|
|
|
- */
|
|
|
- @Scheduled(fixedDelay = 3600000L)
|
|
|
- private void projectTotalHour() {
|
|
|
- List<ChuanyunMemberCostDO> list = chuanyunMemberCostDao.getMemberCost();
|
|
|
-// deleteExamineStatus(ChuanyunProjectMemberCostDO.SCHEMA_CODE,"F0000007");
|
|
|
- chuanyunMemberCostDao.deleteAllByStatus("2");
|
|
|
- list.forEach(chuanyunMemberCostDO -> {
|
|
|
- if(StringUtils.isEmpty(chuanyunMemberCostDO.getProjectId())||StringUtils.isEmpty(chuanyunMemberCostDO.getUserId())){
|
|
|
- log.info("########"+chuanyunMemberCostDO+"");
|
|
|
- }else{
|
|
|
- BigDecimal standard = new BigDecimal(8);
|
|
|
- ChuanyunMemberCostDO memberCostDO = new ChuanyunMemberCostDO();
|
|
|
- memberCostDO.setCost(chuanyunMemberCostDO.getCost());
|
|
|
- memberCostDO.setProjectType(chuanyunMemberCostDO.getProjectType());
|
|
|
- memberCostDO.setProjectId(chuanyunMemberCostDO.getProjectId());
|
|
|
- memberCostDO.setUserId(chuanyunMemberCostDO.getUserId());
|
|
|
- memberCostDO.setTotalHour(chuanyunMemberCostDO.getTotalHour());
|
|
|
- memberCostDO.setStatus(chuanyunMemberCostDO.getStatus());
|
|
|
- memberCostDO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
|
|
|
- ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndStatus(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getStatus());
|
|
|
- if (oldCostDO !=null) {
|
|
|
- chuanyunMemberCostDao.delete(oldCostDO);
|
|
|
- }
|
|
|
- chuanyunMemberCostDao.save(memberCostDO);
|
|
|
-
|
|
|
- //更新氚云数据
|
|
|
- try {
|
|
|
- ChuanyunProjectMemberCostDTO chuanyunProjectMemberCostDTO = new ChuanyunProjectMemberCostDTO();
|
|
|
- chuanyunProjectMemberCostDTO.setProjectId(chuanyunMemberCostDO.getProjectId());
|
|
|
- chuanyunProjectMemberCostDTO.setUserId(chuanyunMemberCostDO.getUserId());
|
|
|
- chuanyunProjectMemberCostDTO.setCost(chuanyunMemberCostDO.getCost());
|
|
|
- chuanyunProjectMemberCostDTO.setWorkHour(chuanyunMemberCostDO.getTotalHour());
|
|
|
- chuanyunProjectMemberCostDTO.setProjectType(chuanyunMemberCostDO.getProjectType());
|
|
|
- chuanyunProjectMemberCostDTO.setStatus(chuanyunMemberCostDO.getStatus());
|
|
|
- chuanyunProjectMemberCostDTO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
|
|
|
- List<String> matchers = new ArrayList<>();
|
|
|
- matchers.add("F0000001_2,"+chuanyunMemberCostDO.getProjectId());
|
|
|
- matchers.add("F0000007_2,"+chuanyunMemberCostDO.getStatus());
|
|
|
- matchers.add("F0000002_2,"+chuanyunMemberCostDO.getUserId());
|
|
|
- var filter= Filter.instance(0,1,true,"And",matchers);
|
|
|
- var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectMemberCostDO.SCHEMA_CODE,filter);
|
|
|
- var projectMemberString =objectMapper.writeValueAsString(chuanyunProjectMemberCostDTO);
|
|
|
- ChuanyunSaveDTO chuanyunSaveDTO;
|
|
|
- if (chuanyunFindAllResponse.getReturnData()!=null) {
|
|
|
- List<ChuanyunProjectMemberCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
- ChuanyunProjectMemberCostDO oldProjectMemberCostDO = result.get(0);
|
|
|
- chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectMemberCostDO.SCHEMA_CODE,oldProjectMemberCostDO.getObjectId(), projectMemberString);
|
|
|
- }else {
|
|
|
- chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectMemberCostDO.SCHEMA_CODE, projectMemberString,true);
|
|
|
- }
|
|
|
- if(!chuanyunSaveDTO.getSuccessful()){
|
|
|
- log.warn("新增项目成员成本汇总失败");
|
|
|
- }
|
|
|
- } catch (JsonProcessingException | BigSizeException e) {
|
|
|
- e.printStackTrace();
|
|
|
- log.warn("########"+chuanyunMemberCostDO+"");
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除状态为审核中数据
|
|
|
- * @param schemaCode
|
|
|
- * @param
|
|
|
- */
|
|
|
- public void deleteExamineStatus(String schemaCode,String statusCode,String projectCode,String projectId,String userCode,String userId,String yearCode,String year,String monthCode,String month,String weekCode,String week,String typeCode,String projectType) {
|
|
|
- try {
|
|
|
- List<String> matchers = new ArrayList<>();
|
|
|
- matchers.add(statusCode+"_2,"+"2");
|
|
|
- matchers.add(projectCode+"_2,"+projectId);
|
|
|
- if (!StringUtils.isEmpty(userId)){
|
|
|
- matchers.add(userCode+"_2,"+userId);
|
|
|
- }
|
|
|
- if (!StringUtils.isEmpty(year)){
|
|
|
- matchers.add(yearCode+"_2,"+year);
|
|
|
- }
|
|
|
- if (!StringUtils.isEmpty(month)){
|
|
|
- matchers.add(monthCode+"_2,"+month);
|
|
|
- }
|
|
|
- if (!StringUtils.isEmpty(week)){
|
|
|
- matchers.add(weekCode+"_2,"+week);
|
|
|
- }
|
|
|
- if (!StringUtils.isEmpty(projectType)){
|
|
|
- matchers.add(typeCode+"_2,"+projectType);
|
|
|
- }
|
|
|
- var filter= Filter.instance(0,Integer.MAX_VALUE,true,"And",matchers);
|
|
|
- var chuanyunFindAllResponse=chuanYunManager.findAll(schemaCode,filter);
|
|
|
- if (chuanyunFindAllResponse.getReturnData()!=null){
|
|
|
- List<ChuanyunCommonDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
- result.forEach(basicDO -> {
|
|
|
- ChuanyunSaveDTO chuanyunSaveDTO = chuanYunManager.delete(schemaCode,basicDO.getObjectId());
|
|
|
- if(chuanyunSaveDTO.getSuccessful()){
|
|
|
-// log.info("删除状态为审核中数据成功");
|
|
|
- }else{
|
|
|
- log.warn("删除状态为审核中数据失败");
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- log.error(e.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 人员项目工时汇总
|
|
|
+// */
|
|
|
+//// @Scheduled(fixedDelay = 3600000L)
|
|
|
+// private void projectTotalHour() {
|
|
|
+// List<ChuanyunMemberCostDO> list = chuanyunMemberCostDao.getMemberCost();
|
|
|
+//// deleteExamineStatus(ChuanyunProjectMemberCostDO.SCHEMA_CODE,"F0000007");
|
|
|
+// chuanyunMemberCostDao.deleteAllByStatus("2");
|
|
|
+// list.forEach(chuanyunMemberCostDO -> {
|
|
|
+// if(StringUtils.isEmpty(chuanyunMemberCostDO.getProjectId())||StringUtils.isEmpty(chuanyunMemberCostDO.getUserId())){
|
|
|
+// log.info("########"+chuanyunMemberCostDO+"");
|
|
|
+// }else{
|
|
|
+// BigDecimal standard = new BigDecimal(8);
|
|
|
+// ChuanyunMemberCostDO memberCostDO = new ChuanyunMemberCostDO();
|
|
|
+// memberCostDO.setCost(chuanyunMemberCostDO.getCost());
|
|
|
+// memberCostDO.setProjectType(chuanyunMemberCostDO.getProjectType());
|
|
|
+// memberCostDO.setProjectId(chuanyunMemberCostDO.getProjectId());
|
|
|
+// memberCostDO.setUserId(chuanyunMemberCostDO.getUserId());
|
|
|
+// memberCostDO.setTotalHour(chuanyunMemberCostDO.getTotalHour());
|
|
|
+// memberCostDO.setStatus(chuanyunMemberCostDO.getStatus());
|
|
|
+// memberCostDO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
|
|
|
+// ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndStatus(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getStatus());
|
|
|
+// if (oldCostDO !=null) {
|
|
|
+// chuanyunMemberCostDao.delete(oldCostDO);
|
|
|
+// }
|
|
|
+// chuanyunMemberCostDao.save(memberCostDO);
|
|
|
+//
|
|
|
+// //更新氚云数据
|
|
|
+// try {
|
|
|
+// ChuanyunProjectMemberCostDTO chuanyunProjectMemberCostDTO = new ChuanyunProjectMemberCostDTO();
|
|
|
+// chuanyunProjectMemberCostDTO.setProjectId(chuanyunMemberCostDO.getProjectId());
|
|
|
+// chuanyunProjectMemberCostDTO.setUserId(chuanyunMemberCostDO.getUserId());
|
|
|
+// chuanyunProjectMemberCostDTO.setCost(chuanyunMemberCostDO.getCost());
|
|
|
+// chuanyunProjectMemberCostDTO.setWorkHour(chuanyunMemberCostDO.getTotalHour());
|
|
|
+// chuanyunProjectMemberCostDTO.setProjectType(chuanyunMemberCostDO.getProjectType());
|
|
|
+// chuanyunProjectMemberCostDTO.setStatus(chuanyunMemberCostDO.getStatus());
|
|
|
+// chuanyunProjectMemberCostDTO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
|
|
|
+// List<String> matchers = new ArrayList<>();
|
|
|
+// matchers.add("F0000001_2,"+chuanyunMemberCostDO.getProjectId());
|
|
|
+// matchers.add("F0000007_2,"+chuanyunMemberCostDO.getStatus());
|
|
|
+// matchers.add("F0000002_2,"+chuanyunMemberCostDO.getUserId());
|
|
|
+// var filter= Filter.instance(0,1,true,"And",matchers);
|
|
|
+// var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectMemberCostDO.SCHEMA_CODE,filter);
|
|
|
+// var projectMemberString =objectMapper.writeValueAsString(chuanyunProjectMemberCostDTO);
|
|
|
+// ChuanyunSaveDTO chuanyunSaveDTO;
|
|
|
+// if (chuanyunFindAllResponse.getReturnData()!=null) {
|
|
|
+// List<ChuanyunProjectMemberCostDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
+// ChuanyunProjectMemberCostDO oldProjectMemberCostDO = result.get(0);
|
|
|
+// chuanyunSaveDTO = chuanYunManager.update(ChuanyunProjectMemberCostDO.SCHEMA_CODE,oldProjectMemberCostDO.getObjectId(), projectMemberString);
|
|
|
+// }else {
|
|
|
+// chuanyunSaveDTO = chuanYunManager.save(ChuanyunProjectMemberCostDO.SCHEMA_CODE, projectMemberString,true);
|
|
|
+// }
|
|
|
+// if(!chuanyunSaveDTO.getSuccessful()){
|
|
|
+// log.warn("新增项目成员成本汇总失败");
|
|
|
+// }
|
|
|
+// } catch (JsonProcessingException | BigSizeException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// log.warn("########"+chuanyunMemberCostDO+"");
|
|
|
+// }
|
|
|
+// }
|
|
|
+// });
|
|
|
+// }
|
|
|
|
|
|
@Data
|
|
|
static
|