21 changed files with 427 additions and 414 deletions
@ -1,35 +0,0 @@ |
|||||
package com.qs.serve.common.model.consts; |
|
||||
|
|
||||
/** |
|
||||
* @author YenHex |
|
||||
* @since 2023/1/30 |
|
||||
*/ |
|
||||
public interface BudgetLogOptFlag { |
|
||||
|
|
||||
/** 0-预算新增;1-费用申请;2-预算调增;3-预算调减;4-费用释放;5-费用申请调增;6-费用申请调减 */ |
|
||||
Integer State_0 = 0; |
|
||||
Integer State_1 = 1; |
|
||||
Integer State_2 = 2; |
|
||||
Integer State_3 = 3; |
|
||||
Integer State_4 = 4; |
|
||||
Integer State_5 = 5; |
|
||||
Integer State_6 = 6; |
|
||||
|
|
||||
/** 7-销售区域迁移调增,8-销售区域迁移调减 */ |
|
||||
Integer State_7 = 7; |
|
||||
Integer State_8 = 8; |
|
||||
|
|
||||
/** 9-行政区域迁移调增,10-行政区域迁移调减 */ |
|
||||
Integer State_9 = 9; |
|
||||
Integer State_10 = 10; |
|
||||
|
|
||||
/** 11-政策申请 */ |
|
||||
Integer State_11 = 11; |
|
||||
/** 12-政策申请调增 */ |
|
||||
Integer State_12 = 12; |
|
||||
/** 13-政策申请调减 */ |
|
||||
Integer State_13 = 13; |
|
||||
/** 14-政策释放(被拒绝后) */ |
|
||||
Integer State_14 = 14; |
|
||||
|
|
||||
} |
|
@ -0,0 +1,83 @@ |
|||||
|
package com.qs.serve.common.model.enums; |
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Getter; |
||||
|
|
||||
|
/** |
||||
|
* @author YenHex |
||||
|
* @since 2023/1/30 |
||||
|
* @apiNote |
||||
|
* 0-预算新增;1-费用申请;2-预算调增;3-预算调减;4-费用释放;5-费用申请调增;6-费用申请调减 |
||||
|
7-销售区域迁移调增,8-销售区域迁移调减 |
||||
|
9-行政区域迁移调增,10-行政区域迁移调减 |
||||
|
11-政策申请 |
||||
|
12-政策申请调增 |
||||
|
13-政策申请调减 |
||||
|
14-政策释放(被拒绝后) |
||||
|
*/ |
||||
|
@Getter |
||||
|
@AllArgsConstructor |
||||
|
public enum BudgetLogOptFlag { |
||||
|
|
||||
|
|
||||
|
/** 0-预算新增 */ |
||||
|
State_0(0,true), |
||||
|
|
||||
|
/** 1-费用申请(费用申请,预算调减) */ |
||||
|
State_1(1,false), |
||||
|
|
||||
|
/** 2-预算调增 */ |
||||
|
State_2(2,true), |
||||
|
|
||||
|
/** 3-预算调减 */ |
||||
|
State_3(3,false), |
||||
|
|
||||
|
/** 4-费用释放(预算调增) */ |
||||
|
State_4(4,true), |
||||
|
|
||||
|
/** 5-费用申请调增(费用申请,预算调增) */ |
||||
|
State_5(5,true), |
||||
|
|
||||
|
/** 6-费用申请调减(费用申请,预算调减) */ |
||||
|
State_6(6,false), |
||||
|
|
||||
|
/** 7-销售区域迁移调增 */ |
||||
|
State_7(7,false), |
||||
|
|
||||
|
/** 8-销售区域迁移调减 */ |
||||
|
State_8(8,false), |
||||
|
|
||||
|
/** 9-行政区域迁移调增 */ |
||||
|
State_9(9,false), |
||||
|
|
||||
|
/** 10-行政区域迁移调减 */ |
||||
|
State_10(10,false), |
||||
|
|
||||
|
/** 11-政策申请 */ |
||||
|
State_11(11,false), |
||||
|
|
||||
|
/** 12-政策申请调增 */ |
||||
|
State_12(12,false), |
||||
|
|
||||
|
/** 13-政策申请调减 */ |
||||
|
State_13(13,false), |
||||
|
|
||||
|
/** 14-政策释放(被拒绝后) */ |
||||
|
State_14(14,true), |
||||
|
|
||||
|
/** 15-费用申请释放(被拒绝后,预算增加) */ |
||||
|
State_15(15,true); |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 编码 |
||||
|
*/ |
||||
|
private Integer code; |
||||
|
|
||||
|
/** |
||||
|
* 是否取反,添加预算 |
||||
|
*/ |
||||
|
private boolean addBudget; |
||||
|
|
||||
|
} |
@ -0,0 +1,148 @@ |
|||||
|
package com.qs.serve.modules.tbs.common.util; |
||||
|
|
||||
|
import com.qs.serve.common.model.enums.BudgetLogOptFlag; |
||||
|
import com.qs.serve.common.util.Assert; |
||||
|
import com.qs.serve.modules.sys.entity.SysUser; |
||||
|
import com.qs.serve.modules.tbs.entity.*; |
||||
|
import com.qs.serve.modules.tzc.entity.TzcPolicy; |
||||
|
import com.qs.serve.modules.tzc.entity.TzcPolicyItem; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* @author YenHex |
||||
|
* @since 2023/5/25 |
||||
|
*/ |
||||
|
public class TbsBudgetLogBuildUtil { |
||||
|
|
||||
|
public static BigDecimal buildAmount(BigDecimal amount,BudgetLogOptFlag optFlag){ |
||||
|
if(amount.compareTo(BigDecimal.ZERO)>0&&!optFlag.isAddBudget()){ |
||||
|
return amount.negate(); |
||||
|
}else if(amount.compareTo(BigDecimal.ZERO)<0&&optFlag.isAddBudget()){ |
||||
|
return amount.negate(); |
||||
|
}else { |
||||
|
return amount; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static TbsBudgetLog toTbsBudgetLog(SysUser sysUser, TbsBudget budget, TbsScheduleItemBudget scheduleItemBudget, BudgetLogOptFlag optType, BigDecimal amount) { |
||||
|
TbsBudgetLog budgetLog = new TbsBudgetLog(); |
||||
|
budgetLog.setBudgetId(budget.getId()); |
||||
|
budgetLog.setBudgetCode(budget.getBudgetCode()); |
||||
|
budgetLog.setOptType(optType.getCode()); |
||||
|
budgetLog.setOptUserId(sysUser.getId()); |
||||
|
budgetLog.setOptUserCode(sysUser.getCode()); |
||||
|
budgetLog.setOptUserName(sysUser.getName()); |
||||
|
budgetLog.setAmount(buildAmount(amount,optType)); |
||||
|
budgetLog.setScheduleId(scheduleItemBudget.getScheduleId()); |
||||
|
budgetLog.setScheduleItemId(scheduleItemBudget.getScheduleItemId()); |
||||
|
budgetLog.setScheduleItemBudgetId(scheduleItemBudget.getId()); |
||||
|
budgetLog.setItemName(scheduleItemBudget.getItemName()); |
||||
|
budgetLog.setStartDate(scheduleItemBudget.getStartDate()); |
||||
|
budgetLog.setEndDate(scheduleItemBudget.getEndDate()); |
||||
|
budgetLog.setSubjectId(budget.getSubjectId()); |
||||
|
budgetLog.setSubjectCode(budget.getSubjectCode()); |
||||
|
budgetLog.setSubjectName(budget.getSubjectName()); |
||||
|
budgetLog.setCenterType(budget.getCenterType()); |
||||
|
budgetLog.setCenterId(budget.getCenterId()); |
||||
|
budgetLog.setCenterCode(budget.getCenterCode()); |
||||
|
budgetLog.setCenterName(budget.getCenterName()); |
||||
|
return budgetLog; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 费用申请相关 |
||||
|
* @param optType |
||||
|
* @param sysUser |
||||
|
* @param costApply |
||||
|
* @param item |
||||
|
* @param budget |
||||
|
* @param amount |
||||
|
* @param activity |
||||
|
* @return |
||||
|
*/ |
||||
|
public static TbsBudgetLog buildTbsBudgetLog(BudgetLogOptFlag optType, SysUser sysUser, TbsCostApply costApply, TbsBudgetCostItem item, TbsBudget budget, BigDecimal amount, TbsActivity activity) { |
||||
|
TbsBudgetLog budgetLog = new TbsBudgetLog(); |
||||
|
budgetLog.setBudgetId(item.getBudgetId()); |
||||
|
budgetLog.setBudgetCode(budget.getBudgetCode()); |
||||
|
budgetLog.setOptType(optType.getCode()); |
||||
|
budgetLog.setOptUserId(sysUser.getId()); |
||||
|
budgetLog.setOptUserCode(sysUser.getCode()); |
||||
|
budgetLog.setOptUserName(sysUser.getName()); |
||||
|
budgetLog.setAmount(buildAmount(amount,optType)); |
||||
|
budgetLog.setScheduleId(item.getScheduleId()); |
||||
|
budgetLog.setScheduleItemId(item.getScheduleItemId()); |
||||
|
budgetLog.setScheduleItemBudgetId(item.getId()); |
||||
|
budgetLog.setItemName(item.getScheduleItemName()); |
||||
|
budgetLog.setStartDate(item.getActStartDate().atStartOfDay()); |
||||
|
budgetLog.setEndDate(item.getActEndDate().atStartOfDay()); |
||||
|
budgetLog.setSubjectId(item.getSubjectId()); |
||||
|
budgetLog.setSubjectCode(item.getSubjectCode()); |
||||
|
budgetLog.setSubjectName(item.getSubjectName()); |
||||
|
budgetLog.setCenterId(item.getCenterId()); |
||||
|
budgetLog.setCenterCode(item.getCenterCode()); |
||||
|
budgetLog.setCenterName(item.getCenterName()); |
||||
|
budgetLog.setCenterType(item.getCenterType()); |
||||
|
budgetLog.setSupplierId(item.getSupplierId()); |
||||
|
budgetLog.setSupplierCode(item.getSupplierCode()); |
||||
|
budgetLog.setSupplierName(item.getSupplierName()); |
||||
|
budgetLog.setActivityId(item.getActivityId()); |
||||
|
budgetLog.setActivityCode(item.getActivityCode()); |
||||
|
budgetLog.setActivityTheme(activity.getActTitle()); |
||||
|
budgetLog.setCostApplyId(costApply.getId()); |
||||
|
budgetLog.setCostApplyCode(costApply.getCode()); |
||||
|
budgetLog.setCostApplyTheme(costApply.getChargeTheme()); |
||||
|
budgetLog.setTargetType(item.getTargetType()); |
||||
|
budgetLog.setTargetId(item.getTargetId()); |
||||
|
budgetLog.setTargetCode(item.getTargetCode()); |
||||
|
budgetLog.setTargetName(item.getTargetName()); |
||||
|
budgetLog.setTargetLevelPathIds(item.getTargetLevelPathIds()); |
||||
|
budgetLog.setTargetLevelPathNames(item.getTargetLevelPathNames()); |
||||
|
return budgetLog; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 政策相关 |
||||
|
* @param optType |
||||
|
* @param sysUser |
||||
|
* @param tzcPolicy |
||||
|
* @param item |
||||
|
* @param budget |
||||
|
* @param amount |
||||
|
* @param policyItem |
||||
|
* @return |
||||
|
*/ |
||||
|
public static TbsBudgetLog buildTbsBudgetLog(BudgetLogOptFlag optType, SysUser sysUser, TzcPolicy tzcPolicy, TbsBudgetCostItemPolicy item, TbsBudget budget, BigDecimal amount, TzcPolicyItem policyItem) { |
||||
|
TbsBudgetLog budgetLog = new TbsBudgetLog(); |
||||
|
budgetLog.setBudgetId(item.getBudgetId()); |
||||
|
budgetLog.setBudgetCode(budget.getBudgetCode()); |
||||
|
budgetLog.setOptType(optType.getCode()); |
||||
|
budgetLog.setOptUserId(sysUser.getId()); |
||||
|
budgetLog.setOptUserCode(sysUser.getCode()); |
||||
|
budgetLog.setOptUserName(sysUser.getName()); |
||||
|
|
||||
|
budgetLog.setAmount(buildAmount(amount,optType)); |
||||
|
|
||||
|
budgetLog.setScheduleId(item.getScheduleId()); |
||||
|
budgetLog.setScheduleItemId(item.getScheduleItemId()); |
||||
|
budgetLog.setScheduleItemBudgetId(item.getId()); |
||||
|
budgetLog.setItemName(item.getScheduleItemName()); |
||||
|
budgetLog.setStartDate(policyItem.getPolicyStartDate().atStartOfDay()); |
||||
|
budgetLog.setEndDate(policyItem.getPolicyEndDate().atStartOfDay()); |
||||
|
budgetLog.setSubjectId(item.getSubjectId()); |
||||
|
budgetLog.setSubjectCode(item.getSubjectCode()); |
||||
|
budgetLog.setSubjectName(item.getSubjectName()); |
||||
|
budgetLog.setCenterId(item.getCenterId()); |
||||
|
budgetLog.setCenterCode(item.getCenterCode()); |
||||
|
budgetLog.setCenterName(item.getCenterName()); |
||||
|
budgetLog.setCenterType(item.getCenterType()); |
||||
|
budgetLog.setSupplierId(item.getSupplierId()); |
||||
|
budgetLog.setSupplierCode(item.getSupplierCode()); |
||||
|
budgetLog.setSupplierName(item.getSupplierName()); |
||||
|
budgetLog.setPolicyId(tzcPolicy.getId()); |
||||
|
budgetLog.setPolicyCode(tzcPolicy.getPolicyCode()); |
||||
|
budgetLog.setPolicyTitle(tzcPolicy.getTitle()); |
||||
|
return budgetLog; |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue