This commit is contained in:
zt
2025-09-08 11:47:14 +08:00
parent 78829ef5e7
commit 998547e63f

View File

@ -64,6 +64,7 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
private final IBusMaterialsorderService busMaterialsorderService;
/**
* 查询月度产值计划
*
@ -71,7 +72,7 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
* @return 月度产值计划
*/
@Override
public OutMonthPlanVo queryById(Long id){
public OutMonthPlanVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@ -149,12 +150,12 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
validEntityBeforeSave(update);
OutMonthPlan outMonthPlan = baseMapper.selectById(update.getId());
String status;
if(bo.getIsDesign()){
if (bo.getIsDesign()) {
status = outMonthPlan.getPlanAuditStatus();
}else {
} else {
status = outMonthPlan.getCompleteAuditStatus();
}
if(Arrays.asList(BusinessStatusEnum.FINISH.getStatus(),BusinessStatusEnum.WAITING.getStatus()).contains(status)){
if (Arrays.asList(BusinessStatusEnum.FINISH.getStatus(), BusinessStatusEnum.WAITING.getStatus()).contains(status)) {
String msg = BusinessStatusEnum.WAITING.getStatus().equals(status) ? "计划正在审核中,请勿修改" : "计划已审核完成,请勿修改";
throw new ServiceException(msg);
}
@ -164,7 +165,7 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(OutMonthPlan entity){
private void validEntityBeforeSave(OutMonthPlan entity) {
//TODO 做一些数据校验,如唯一约束
List<OutMonthPlan> outMonthPlans = baseMapper.selectList(Wrappers.<OutMonthPlan>lambdaQuery()
.eq(OutMonthPlan::getProjectId, entity.getProjectId())
@ -187,7 +188,7 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
List<OutMonthPlan> outMonthPlans = baseMapper.selectList(Wrappers.<OutMonthPlan>lambdaQuery().in(OutMonthPlan::getId, ids));
@ -230,8 +231,8 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
@Override
public BigDecimal getDesignValueByProjectId(Long projectId,String month,String type) {
BigDecimal designValueByProjectId = baseMapper.getDesignValueByProjectId(projectId, month,type);
public BigDecimal getDesignValueByProjectId(Long projectId, String month, String type) {
BigDecimal designValueByProjectId = baseMapper.getDesignValueByProjectId(projectId, month, type);
if (designValueByProjectId == null) {
designValueByProjectId = BigDecimal.ZERO;
}
@ -248,7 +249,7 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
@Override
public List<BusProcurement> purchaseValueA(PurchaseValueAReq req) {
//1、为1查询出数据存储到数据表,并返回数据
if ("1".equals(req.getType())){
if ("1".equals(req.getType())) {
List<BusProcurement> busProcurements = baseMapper.purchaseValueAA(req.getProjectId(), req.getPlanMonth());
//查询出现有的数据busProcurements1如果busProcurements的数据已经在busProcurements1中根据名称和规格就修改否则保存
List<BusProcurement> busProcurements1 = busProcurementService.list(Wrappers.<BusProcurement>lambdaQuery()
@ -256,7 +257,7 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
);
for (BusProcurement busProcurement : busProcurements) {
for (BusProcurement procurement : busProcurements1) {
if (busProcurement.getName().equals(procurement.getName()) && busProcurement.getSpecification().equals(procurement.getSpecification())){
if (busProcurement.getName().equals(procurement.getName()) && busProcurement.getSpecification().equals(procurement.getSpecification())) {
busProcurement.setId(procurement.getId());
}
}
@ -274,7 +275,7 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
);
}
//2、为2查询出数据直接返回
else if ("2".equals(req.getType())){
else if ("2".equals(req.getType())) {
return baseMapper.purchaseValueBB(req.getProjectId(), req.getPlanMonth());
}
return Collections.emptyList();
@ -304,29 +305,46 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
OutMonthPlan outMonthPlan = baseMapper.selectById(Long.valueOf(split[0]));
outMonthPlan.setPlanAuditStatus(processEvent.getStatus());
updateById(outMonthPlan);
if(BusinessStatusEnum.FINISH.getStatus().equals(processEvent.getStatus())){
if (BusinessStatusEnum.FINISH.getStatus().equals(processEvent.getStatus())) {
OutMonthPlanAudit outMonthPlanAudit = getOutMonthPlanAudit(outMonthPlan);
outMonthPlanAuditService.save(outMonthPlanAudit);
outMonthPlanAuditService.saveOrUpdate(outMonthPlanAudit);
}
}
private static @NotNull OutMonthPlanAudit getOutMonthPlanAudit(OutMonthPlan outMonthPlan) {
OutMonthPlanAudit outMonthPlanAudit = new OutMonthPlanAudit();
private OutMonthPlanAudit getOutMonthPlanAudit(OutMonthPlan outMonthPlan) {
OutMonthPlanAudit one = outMonthPlanAuditService.getOne(Wrappers.lambdaQuery(OutMonthPlanAudit.class)
.eq(OutMonthPlanAudit::getProjectId, outMonthPlan.getProjectId())
.eq(OutMonthPlanAudit::getPlanMonth, outMonthPlan.getPlanMonth())
.eq(OutMonthPlanAudit::getType, outMonthPlan.getType())
.last("limit 1")
);
OutMonthPlanAudit outMonthPlanAudit;
if (one != null) {
outMonthPlanAudit = one;
} else {
outMonthPlanAudit = new OutMonthPlanAudit();
outMonthPlanAudit.setProjectId(outMonthPlan.getProjectId());
outMonthPlanAudit.setPlanMonth(outMonthPlan.getPlanMonth());
outMonthPlanAudit.setType(outMonthPlan.getType());
}
outMonthPlanAudit.setProjectId(outMonthPlan.getProjectId());
outMonthPlanAudit.setPlanMonth(outMonthPlan.getPlanMonth());
outMonthPlanAudit.setType(outMonthPlan.getType());
BigDecimal designValue = BigDecimal.ZERO;
BigDecimal purchaseValue = BigDecimal.ZERO;
BigDecimal constructionValue = BigDecimal.ZERO;
if(outMonthPlan.getValueType().equals("1")){
if (outMonthPlan.getValueType().equals("1")) {
outMonthPlanAudit.setDesignValue(outMonthPlan.getPlanValue());
designValue = outMonthPlan.getPlanValue();
}
if(outMonthPlan.getValueType().equals("2")){
if (outMonthPlan.getValueType().equals("2")) {
outMonthPlanAudit.setPurchaseValue(outMonthPlan.getPlanValue());
purchaseValue = outMonthPlan.getPlanValue();
}
if(outMonthPlan.getValueType().equals("3")){
if (outMonthPlan.getValueType().equals("3")) {
outMonthPlanAudit.setConstructionValue(outMonthPlan.getPlanValue());
constructionValue = outMonthPlan.getPlanValue();
}
@ -336,11 +354,10 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
}
/**
* 计算完成值和差异
*/
public void calculateCompleteValueAndDifference(List<OutMonthPlanVo> outMonthPlans){
public void calculateCompleteValueAndDifference(List<OutMonthPlanVo> outMonthPlans) {
for (OutMonthPlanVo outMonthPlan : outMonthPlans) {
//计算日期
@ -351,21 +368,21 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
LocalDate lastDay = parsedDate.with(TemporalAdjusters.lastDayOfMonth());
if("2".equals(outMonthPlan.getValueType())){ //采购产值
if ("2".equals(outMonthPlan.getValueType())) { //采购产值
PurchaseValueAReq purchaseValueAReq = new PurchaseValueAReq();
purchaseValueAReq.setProjectId(outMonthPlan.getProjectId());
purchaseValueAReq.setType(outMonthPlan.getType());
purchaseValueAReq.setPlanMonth(outMonthPlan.getPlanMonth());
List<BusProcurement> busProcurements =purchaseValueA(purchaseValueAReq);
List<BusProcurement> busProcurements = purchaseValueA(purchaseValueAReq);
BigDecimal purchaseValue = BigDecimal.ZERO;
for (BusProcurement busProcurement : busProcurements) {
if(busProcurement != null && busProcurement.getAcceptedQuantity() != null && busProcurement.getUnitPrice() != null){
if (busProcurement != null && busProcurement.getAcceptedQuantity() != null && busProcurement.getUnitPrice() != null) {
purchaseValue = purchaseValue.add(busProcurement.getAcceptedQuantity().multiply(busProcurement.getUnitPrice()));
}
}
outMonthPlan.setCompleteValue(purchaseValue);
}else if("3".equals(outMonthPlan.getValueType())){ //施工产值
} else if ("3".equals(outMonthPlan.getValueType())) { //施工产值
//查询项目的审核通过的施工详细表 1.累计完成产值 2.完成产值月合计 3.各周完成产值
List<OutConstructionValue> outConstructionValues = constructionValueService.lambdaQuery()
.eq(OutConstructionValue::getProjectId, outMonthPlan.getProjectId())
@ -417,10 +434,7 @@ public class OutMonthPlanServiceImpl extends ServiceImpl<OutMonthPlanMapper, Out
}
/**
/**
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等)
* 正常使用只需#processEvent.flowCode=='leave1'
* 示例为了方便则使用startsWith匹配了全部示例key