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