如果该工程费用指标已超过,则不需要记录月结记录
This commit is contained in:
parent
c13a827cda
commit
3b15899c2c
|
|
@ -41,4 +41,10 @@ public interface CalMonthlyMapper {
|
||||||
List<SltAgreementInfo> getMonthCosts(AgreementInfo agreementInfo);
|
List<SltAgreementInfo> getMonthCosts(AgreementInfo agreementInfo);
|
||||||
|
|
||||||
List<SltAgreementInfo> getMonthDetails(SltAgreementInfo monthCost);
|
List<SltAgreementInfo> getMonthDetails(SltAgreementInfo monthCost);
|
||||||
|
|
||||||
|
void deleteCostByProjectIdAndMonth(ProjectMonthCosts projectMonthCosts);
|
||||||
|
|
||||||
|
List<String> selectIdByProjectIdAndMonth(ProjectMonthCosts projectMonthCosts);
|
||||||
|
|
||||||
|
void deleteDetailsByProMonthCostId(String proMonthCostId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@ public class Inform {
|
||||||
@Value("${sgzb.job.settlementJobDay}")
|
@Value("${sgzb.job.settlementJobDay}")
|
||||||
private String settlementJobDay;
|
private String settlementJobDay;
|
||||||
|
|
||||||
@Scheduled(cron = "0 */5 * * * ? ") // 间隔5分钟执行
|
// @Scheduled(cron = "0 */5 * * * ? ") // 间隔5分钟执行
|
||||||
// @Scheduled(cron = "${sgzb.job.settlementJobCron}") // 结算日次日凌晨执行
|
@Scheduled(cron = "${sgzb.job.settlementJobCron}") // 结算日次日凌晨执行
|
||||||
@Async
|
@Async
|
||||||
public void taskCycle() {
|
public void taskCycle() {
|
||||||
System.out.println("===springMVC定时器启动====");
|
System.out.println("===springMVC定时器启动====");
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ public class CalcMonthlyServiceImp implements CalcMonthlyService {
|
||||||
List<AgreementInfo> list = agreementInfoService.getAllAgreementId();
|
List<AgreementInfo> list = agreementInfoService.getAllAgreementId();
|
||||||
List<BmProjectLot> projectLots = agreementInfoService.getAllprojectId();
|
List<BmProjectLot> projectLots = agreementInfoService.getAllprojectId();
|
||||||
// 如果该工程费用指标已超过,则不需要记录月结记录
|
// 如果该工程费用指标已超过,则不需要记录月结记录
|
||||||
for (BmProjectLot bmProjectLot : projectLots) {
|
/* for (BmProjectLot bmProjectLot : projectLots) {
|
||||||
BigDecimal costIndicatorsByLotId = agreementInfoService.getCostIndicatorsByLotId(bmProjectLot);
|
BigDecimal costIndicatorsByLotId = agreementInfoService.getCostIndicatorsByLotId(bmProjectLot);
|
||||||
BigDecimal costByLotId = agreementInfoService.getCostByLotId(bmProjectLot);
|
BigDecimal costByLotId = agreementInfoService.getCostByLotId(bmProjectLot);
|
||||||
if (costByLotId.compareTo(costIndicatorsByLotId) > 0) {
|
if (costByLotId.compareTo(costIndicatorsByLotId) > 0) {
|
||||||
|
|
@ -61,7 +61,7 @@ public class CalcMonthlyServiceImp implements CalcMonthlyService {
|
||||||
List<AgreementInfo> agreementIds = agreementInfoService.getprojectIdByLotId(bmProjectLot);
|
List<AgreementInfo> agreementIds = agreementInfoService.getprojectIdByLotId(bmProjectLot);
|
||||||
agreementIds.forEach(t -> list.remove(t));
|
agreementIds.forEach(t -> list.remove(t));
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
list.forEach(t -> {
|
list.forEach(t -> {
|
||||||
t.setStartTime(startTime);
|
t.setStartTime(startTime);
|
||||||
t.setEndTime(endTime);
|
t.setEndTime(endTime);
|
||||||
|
|
@ -115,6 +115,20 @@ public class CalcMonthlyServiceImp implements CalcMonthlyService {
|
||||||
List<SltAgreementInfo> leaseListOneMonth = addProjectMonthDetail(agreementInfo, sltAgreementInfo, pmcId);
|
List<SltAgreementInfo> leaseListOneMonth = addProjectMonthDetail(agreementInfo, sltAgreementInfo, pmcId);
|
||||||
projectMonthCosts.setCosts(sltAgreementInfo.getCosts());
|
projectMonthCosts.setCosts(sltAgreementInfo.getCosts());
|
||||||
calMonthlyMapper.updateProMonCosts(projectMonthCosts);
|
calMonthlyMapper.updateProMonCosts(projectMonthCosts);
|
||||||
|
|
||||||
|
// 如果该工程费用指标已超过,则不需要记录月结记录
|
||||||
|
BmProjectLot bmProjectLot = new BmProjectLot();
|
||||||
|
bmProjectLot.setLotId(projectMonthCosts.getProjectId());
|
||||||
|
BigDecimal costByLotId = agreementInfoService.getCostByLotId(bmProjectLot);
|
||||||
|
BigDecimal costIndicatorsByLotId = agreementInfoService.getCostIndicatorsByLotId(bmProjectLot);
|
||||||
|
if (costByLotId.compareTo(costIndicatorsByLotId) > 0) {
|
||||||
|
List<String> proMonthCostIds = calMonthlyMapper.selectIdByProjectIdAndMonth(projectMonthCosts);
|
||||||
|
calMonthlyMapper.deleteCostByProjectIdAndMonth(projectMonthCosts);
|
||||||
|
for (String proMonthCostId : proMonthCostIds) {
|
||||||
|
calMonthlyMapper.deleteDetailsByProMonthCostId(proMonthCostId);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
sltAgreementInfo.setNode(leaseListOneMonth);
|
sltAgreementInfo.setNode(leaseListOneMonth);
|
||||||
}
|
}
|
||||||
leaseList.addAll(monthList);
|
leaseList.addAll(monthList);
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
WHERE
|
WHERE
|
||||||
pmc.id = #{id}
|
pmc.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectIdByProjectIdAndMonth" resultType="java.lang.String">
|
||||||
|
select id from project_month_costs
|
||||||
|
where project_id = #{projectId} and month = #{month} and cost_bearing_party = #{costBearingParty}
|
||||||
|
</select>
|
||||||
|
|
||||||
<delete id="deleteCalcRecord" parameterType="com.bonus.sgzb.material.domain.CalMonthlyBean">
|
<delete id="deleteCalcRecord" parameterType="com.bonus.sgzb.material.domain.CalMonthlyBean">
|
||||||
delete from slt_project_month
|
delete from slt_project_month
|
||||||
|
|
@ -95,5 +99,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
delete from project_month_costs
|
delete from project_month_costs
|
||||||
where task_id = #{id}
|
where task_id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
<delete id="deleteCostByProjectIdAndMonth">
|
||||||
|
delete from project_month_costs
|
||||||
|
where project_id = #{projectId} and month = #{month} and cost_bearing_party = #{costBearingParty}
|
||||||
|
</delete>
|
||||||
|
<delete id="deleteDetailsByProMonthCostId">
|
||||||
|
delete from project_month_detail
|
||||||
|
where pro_month_cost_id = #{proMonthCostId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue