|
@@ -223,7 +223,7 @@ public class ChuanyunProjectScheduledTask {
|
|
chuanyunAdjustAccountDO.setImplementationCosts(money);
|
|
chuanyunAdjustAccountDO.setImplementationCosts(money);
|
|
|
|
|
|
//核算人天
|
|
//核算人天
|
|
- chuanyunAdjustAccountDO.setPersonDays(personDays(chuanyunProjectDO.getObjectId()));
|
|
|
|
|
|
+// chuanyunAdjustAccountDO.setPersonDays(personDays(chuanyunProjectDO.getObjectId()));
|
|
//新增
|
|
//新增
|
|
if (chuanyunAdjustAccountDO.getPersonDays().intValue()>0){
|
|
if (chuanyunAdjustAccountDO.getPersonDays().intValue()>0){
|
|
try {
|
|
try {
|
|
@@ -301,26 +301,26 @@ public class ChuanyunProjectScheduledTask {
|
|
log.info("项目销售合同回款信息保存保存"+totalCount);
|
|
log.info("项目销售合同回款信息保存保存"+totalCount);
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 计算人天
|
|
|
|
- * @param projectId 项目Id
|
|
|
|
- * @return 计算人天
|
|
|
|
- */
|
|
|
|
- private BigDecimal personDays(String projectId){
|
|
|
|
- BigDecimal standard = new BigDecimal(8);
|
|
|
|
- BigDecimal personDays = new BigDecimal(0);
|
|
|
|
- //项目每人每天工时
|
|
|
|
- List<ChuanyunPersonDaysDO> selfWorkHourList = chuanyunPersonDaysDao.getSelfWorkHour(projectId);
|
|
|
|
- for (ChuanyunPersonDaysDO chuanyunPersonDaysDO : selfWorkHourList) {
|
|
|
|
- //人员-项目总工时
|
|
|
|
- ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),projectId);
|
|
|
|
- if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
|
|
|
|
- BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
|
|
|
|
- personDays= personDays.add(totalDays);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return personDays;
|
|
|
|
- }
|
|
|
|
|
|
+// /**
|
|
|
|
+// * 计算人天
|
|
|
|
+// * @param projectId 项目Id
|
|
|
|
+// * @return 计算人天
|
|
|
|
+// */
|
|
|
|
+// private BigDecimal personDays(String projectId){
|
|
|
|
+// BigDecimal standard = new BigDecimal(8);
|
|
|
|
+// BigDecimal personDays = new BigDecimal(0);
|
|
|
|
+// //项目每人每天工时
|
|
|
|
+// List<ChuanyunPersonDaysDO> selfWorkHourList = chuanyunPersonDaysDao.getSelfWorkHour(projectId);
|
|
|
|
+// for (ChuanyunPersonDaysDO chuanyunPersonDaysDO : selfWorkHourList) {
|
|
|
|
+// //人员-项目总工时
|
|
|
|
+// ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),projectId);
|
|
|
|
+// if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
|
|
|
|
+// BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
|
|
|
|
+// personDays= personDays.add(totalDays);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// return personDays;
|
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 人力成本
|
|
* 人力成本
|
|
@@ -355,18 +355,17 @@ public class ChuanyunProjectScheduledTask {
|
|
log.info("########"+chuanyunMemberCostDO+"");
|
|
log.info("########"+chuanyunMemberCostDO+"");
|
|
}else{
|
|
}else{
|
|
//计算项目中每人人天
|
|
//计算项目中每人人天
|
|
- //TODO 计算人天是不是可以直接用总工时除8来计算
|
|
|
|
- List<ChuanyunPersonDaysDO> personDaysList = chuanyunPersonDaysDao.getSelfUserWorkHour(chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getUserId());
|
|
|
|
|
|
+// List<ChuanyunPersonDaysDO> personDaysList = chuanyunPersonDaysDao.getSelfUserWorkHour(chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getUserId());
|
|
|
|
+// BigDecimal personDays = new BigDecimal(0);
|
|
|
|
+// for (ChuanyunPersonDaysDO chuanyunPersonDaysDO : personDaysList) {
|
|
|
|
+// //人员-项目总工时
|
|
|
|
+// ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),chuanyunMemberCostDO.getProjectId());
|
|
|
|
+// if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
|
|
|
|
+// BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
|
|
|
|
+// personDays= personDays.add(totalDays);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
BigDecimal standard = new BigDecimal(8);
|
|
BigDecimal standard = new BigDecimal(8);
|
|
- BigDecimal personDays = new BigDecimal(0);
|
|
|
|
- for (ChuanyunPersonDaysDO chuanyunPersonDaysDO : personDaysList) {
|
|
|
|
- //人员-项目总工时
|
|
|
|
- ChuanyunPersonDaysDO totalWorkHour = chuanyunPersonDaysDao.getTotalWorkHour(chuanyunPersonDaysDO.getUserId(),chuanyunMemberCostDO.getProjectId());
|
|
|
|
- if (totalWorkHour != null && totalWorkHour.getHoursWorked().intValue()>0){
|
|
|
|
- BigDecimal totalDays = (chuanyunPersonDaysDO.getHoursWorked().divide(totalWorkHour.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
|
|
|
|
- personDays= personDays.add(totalDays);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
ChuanyunMemberCostDO memberCostDO = new ChuanyunMemberCostDO();
|
|
ChuanyunMemberCostDO memberCostDO = new ChuanyunMemberCostDO();
|
|
memberCostDO.setCost(chuanyunMemberCostDO.getCost());
|
|
memberCostDO.setCost(chuanyunMemberCostDO.getCost());
|
|
memberCostDO.setProjectType(chuanyunMemberCostDO.getProjectType());
|
|
memberCostDO.setProjectType(chuanyunMemberCostDO.getProjectType());
|
|
@@ -374,7 +373,7 @@ public class ChuanyunProjectScheduledTask {
|
|
memberCostDO.setUserId(chuanyunMemberCostDO.getUserId());
|
|
memberCostDO.setUserId(chuanyunMemberCostDO.getUserId());
|
|
memberCostDO.setTotalHour(chuanyunMemberCostDO.getTotalHour());
|
|
memberCostDO.setTotalHour(chuanyunMemberCostDO.getTotalHour());
|
|
memberCostDO.setStatus(chuanyunMemberCostDO.getStatus());
|
|
memberCostDO.setStatus(chuanyunMemberCostDO.getStatus());
|
|
- memberCostDO.setPersonDays(personDays);
|
|
|
|
|
|
+ memberCostDO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
|
|
ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndStatus(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getStatus());
|
|
ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndStatus(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getStatus());
|
|
if (oldCostDO !=null) {
|
|
if (oldCostDO !=null) {
|
|
chuanyunMemberCostDao.delete(oldCostDO);
|
|
chuanyunMemberCostDao.delete(oldCostDO);
|
|
@@ -390,7 +389,7 @@ public class ChuanyunProjectScheduledTask {
|
|
chuanyunProjectMemberCostDTO.setWorkHour(chuanyunMemberCostDO.getTotalHour());
|
|
chuanyunProjectMemberCostDTO.setWorkHour(chuanyunMemberCostDO.getTotalHour());
|
|
chuanyunProjectMemberCostDTO.setProjectType(chuanyunMemberCostDO.getProjectType());
|
|
chuanyunProjectMemberCostDTO.setProjectType(chuanyunMemberCostDO.getProjectType());
|
|
chuanyunProjectMemberCostDTO.setStatus(chuanyunMemberCostDO.getStatus());
|
|
chuanyunProjectMemberCostDTO.setStatus(chuanyunMemberCostDO.getStatus());
|
|
- chuanyunProjectMemberCostDTO.setPersonDays(personDays);
|
|
|
|
|
|
+ chuanyunProjectMemberCostDTO.setPersonDays(chuanyunMemberCostDO.getTotalHour().divide(standard,2,RoundingMode.HALF_UP));
|
|
List<String> matchers = new ArrayList<>();
|
|
List<String> matchers = new ArrayList<>();
|
|
matchers.add("F0000001_2,"+chuanyunMemberCostDO.getProjectId());
|
|
matchers.add("F0000001_2,"+chuanyunMemberCostDO.getProjectId());
|
|
matchers.add("F0000007_2,"+chuanyunMemberCostDO.getStatus());
|
|
matchers.add("F0000007_2,"+chuanyunMemberCostDO.getStatus());
|