diff --git a/src/main/java/com/qs/serve/common/model/consts/BudgetLogOptFlag.java b/src/main/java/com/qs/serve/common/model/consts/BudgetLogOptFlag.java deleted file mode 100644 index 123331d6..00000000 --- a/src/main/java/com/qs/serve/common/model/consts/BudgetLogOptFlag.java +++ /dev/null @@ -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; - -} diff --git a/src/main/java/com/qs/serve/common/model/enums/BudgetLogOptFlag.java b/src/main/java/com/qs/serve/common/model/enums/BudgetLogOptFlag.java new file mode 100644 index 00000000..215932c8 --- /dev/null +++ b/src/main/java/com/qs/serve/common/model/enums/BudgetLogOptFlag.java @@ -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; + +} diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java index 75dec58b..a87997a1 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java @@ -155,14 +155,14 @@ public class BmsChannelController { @PreAuthorize("hasRole('bms:channel:insert')") public R save(@RequestBody @Valid BmsChannel param){ param.setChannelCode("D"+ StringUtils.genShortId()); - boolean result = bmsChannelService.save(param); - if(result&&CollectionUtil.isNotEmpty(param.getSupplierIds())){ + bmsChannelService.save(param); + if(CollectionUtil.isNotEmpty(param.getSupplierIds())){ BmsSupplierChannelBo channelBo = new BmsSupplierChannelBo(); channelBo.setChannelIds(Arrays.asList(param.getId())); channelBo.setSupplierIds(param.getSupplierIds()); bmsSupplierChannelController.save(channelBo); } - return R.isTrue(result); + return R.ok(); } /** diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java index 051ecdb2..ac2559c2 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierApplicationService.java @@ -1,8 +1,7 @@ package com.qs.serve.modules.bms.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.qs.serve.common.model.consts.BudgetLogOptFlag; -import com.qs.serve.common.util.Assert; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.modules.bms.entity.BmsRegion; @@ -11,10 +10,9 @@ import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.mapper.BmsRegion2Mapper; import com.qs.serve.modules.bms.mapper.BmsRegionMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; -import com.qs.serve.modules.bms.service.BmsRegion2Service; -import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.tbs.common.TbsCenterType; import com.qs.serve.modules.tbs.common.TbsGoodsType; +import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; import com.qs.serve.modules.tbs.mapper.TbsBudgetConditionMapper; @@ -168,17 +166,17 @@ public class BmsSupplierApplicationService { TbsGoodsType.brand }; //已占用预算进行调增 - final Integer optType4Diff = regionType.equals(TbsCenterType.saleRegion.name())? + final BudgetLogOptFlag optType4Diff = regionType.equals(TbsCenterType.saleRegion.name())? BudgetLogOptFlag.State_8:BudgetLogOptFlag.State_10; - final Integer optType4Add = regionType.equals(TbsCenterType.saleRegion.name())? + final BudgetLogOptFlag optType4Add = regionType.equals(TbsCenterType.saleRegion.name())? BudgetLogOptFlag.State_7:BudgetLogOptFlag.State_9; List budgetLog4Adds = budgetLogList.stream().map(budgetLog->{ TbsBudgetLog obj = CopierUtil.copy(budgetLog,new TbsBudgetLog()); obj.setId(null); - obj.setOptType(optType4Add); + obj.setOptType(optType4Add.getCode()); obj.setMigrateFlag(1); obj.setMigrateTime(nowTime); - obj.setAmount(obj.getAmount().negate()); + obj.setAmount(TbsBudgetLogBuildUtil.buildAmount(obj.getAmount(),optType4Add)); return obj; }).collect(Collectors.toList()); //规则:品类条件比科目条件优先级更高 @@ -259,7 +257,7 @@ public class BmsSupplierApplicationService { //有匹配的预算 TbsBudgetLog newLog = CopierUtil.copy(budgetLog,new TbsBudgetLog()); newLog.setId(null); - newLog.setOptType(optType4Diff); + newLog.setOptType(optType4Diff.getCode()); newLog.setBudgetId(matchBudget.getId()); newLog.setBudgetCode(matchBudget.getBudgetCode()); newLog.setScheduleOrgId(budgetLog.getScheduleId()); diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java index 0430a965..456ee12d 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java @@ -2,7 +2,6 @@ package com.qs.serve.modules.bms.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.qs.serve.common.model.consts.BudgetLogOptFlag; import com.qs.serve.common.util.*; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; @@ -13,11 +12,6 @@ import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsCenterType; -import com.qs.serve.modules.tbs.common.TbsGoodsType; -import com.qs.serve.modules.tbs.entity.*; -import com.qs.serve.modules.tbs.mapper.*; -import com.qs.serve.modules.tbs.service.TbsBudgetLogService; -import com.qs.serve.modules.tbs.service.TbsCostUnItemService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -26,13 +20,7 @@ import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; /** * 供应商 服务实现类 diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonBaseService.java b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonBaseService.java index b8fd2caa..084772b5 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonBaseService.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonBaseService.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.seeyon.service; +import com.qs.serve.common.util.SpringUtils; import com.qs.serve.modules.sys.mapper.SysUserMapper; /** @@ -10,11 +11,16 @@ public interface SeeYonBaseService { String getTemplateCode(); - SeeYonRequestService getRequestService(); + default SeeYonRequestService getRequestService(){ + return SpringUtils.getBean(SeeYonRequestService.class); + } - SysUserMapper getUserMapper(); + default SysUserMapper getUserMapper(){ + return SpringUtils.getBean(SysUserMapper.class); + } default boolean testConnection(){ return getRequestService().testConnection(); } + } diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java index aaca3bfa..b7efeea2 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java @@ -1,32 +1,21 @@ package com.qs.serve.modules.seeyon.service; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.qs.serve.common.model.consts.BudgetLogOptFlag; -import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.common.util.SpringUtils; import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.CtpAffairQo; import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeDTO; import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeParam; -import com.qs.serve.modules.seeyon.enums.SyAffairState; import com.qs.serve.modules.sys.entity.SysUser; -import com.qs.serve.modules.sys.mapper.SysUserMapper; import com.qs.serve.modules.sys.service.SysUserService; -import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; -import com.qs.serve.modules.tbs.entity.TbsActivity; -import com.qs.serve.modules.tbs.entity.TbsBudgetLog; -import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo; -import org.springframework.web.bind.annotation.RequestBody; -import javax.validation.Valid; -import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -37,15 +26,19 @@ import java.util.stream.Collectors; */ public interface SeeYonOperationService extends SeeYonBaseService{ - - SysUserService getSysUserService(); + /** + * 获取提交的目标ID(因前期未规范id,需要实现该接口进行补偿) + * @param affairCommit + * @return + */ + String getTargetId(TbsAffairCommitBo affairCommit); /** - * 审批中 - * @param param + * 检查提交审批是否允许,并返回syFormId + * @param affairCommit * @return */ - Object doNext(TbsAffairCommitBo param); + String commitGetSyFormId(TbsAffairCommitBo affairCommit); /** * 审批退回 @@ -68,6 +61,17 @@ public interface SeeYonOperationService extends SeeYonBaseService{ */ Object doRefuse(TbsAffairCommitBo param); + /** + * 审批中 + * @param param + * @return + */ + Object doNext(TbsAffairCommitBo param); + + default SysUserService getSysUserService(){ + return SpringUtils.getBean(SysUserService.class); + } + /** * 加签 * @param param @@ -92,7 +96,9 @@ public interface SeeYonOperationService extends SeeYonBaseService{ * @param targetId * @return */ - boolean checkSyFormIdIsNotNull(String targetId); + default boolean checkSyFormIdIsNotNull(String targetId){ + return false; + } /** * 审批列表(用于详情页) @@ -208,18 +214,5 @@ public interface SeeYonOperationService extends SeeYonBaseService{ return R.ok(); } - /** - * 获取提交的目标ID(因前期未规范id,需要实现该接口进行补偿) - * @param affairCommit - * @return - */ - String getTargetId(TbsAffairCommitBo affairCommit); - - /** - * 检查提交审批是否允许,并返回syFormId - * @param affairCommit - * @return - */ - String commitGetSyFormId(TbsAffairCommitBo affairCommit); } diff --git a/src/main/java/com/qs/serve/modules/tbs/common/util/TbsBudgetLogBuildUtil.java b/src/main/java/com/qs/serve/modules/tbs/common/util/TbsBudgetLogBuildUtil.java new file mode 100644 index 00000000..716a200b --- /dev/null +++ b/src/main/java/com/qs/serve/modules/tbs/common/util/TbsBudgetLogBuildUtil.java @@ -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; + } + +} diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java index e8a59f83..7706873d 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java @@ -3,7 +3,7 @@ package com.qs.serve.modules.tbs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.framework.exception.BusinessException; import com.qs.serve.common.model.annotation.SysLog; -import com.qs.serve.common.model.consts.BudgetLogOptFlag; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BizType; @@ -11,7 +11,7 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; -import com.qs.serve.modules.tbs.common.TbsGoodsType; +import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.bo.*; import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo; @@ -28,7 +28,6 @@ import javax.validation.Valid; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; /** @@ -151,17 +150,19 @@ public class TbsBudgetController { itemBudget.setBudgetAmount(param.getBudgetAmount()); tbsScheduleItemBudgetService.updateById(itemBudget); //0-预算新增;1-费用申请;2-预算调增;3-预算调减;4-费用释放 - Integer optType; - BigDecimal amount = null; + BudgetLogOptFlag optType; + BigDecimal amount; if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())>0){ - amount = scheduleItemBudget.getBudgetAmount().subtract(param.getBudgetAmount()).negate(); + amount = scheduleItemBudget.getBudgetAmount().subtract(param.getBudgetAmount()); optType = BudgetLogOptFlag.State_3; }else { amount = param.getBudgetAmount().subtract(scheduleItemBudget.getBudgetAmount()); optType = BudgetLogOptFlag.State_2; } - TbsBudgetLog budgetLog = tbsBudgetService.toTbsBudgetLog(sysUser,budget,scheduleItemBudget,optType, amount); - tbsBudgetLogService.save(budgetLog); + TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser,budget,scheduleItemBudget,optType, amount); + if(budgetLog!=null){ + tbsBudgetLogService.save(budgetLog); + } return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java index 743e5687..b5f6a02f 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java @@ -3,7 +3,7 @@ package com.qs.serve.modules.tbs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.qs.serve.common.model.annotation.SysLog; -import com.qs.serve.common.model.consts.BudgetLogOptFlag; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; @@ -12,7 +12,6 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.service.BmsSupplierService; -import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.CtpAffairQo; import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeParam; import com.qs.serve.modules.seeyon.service.SeeYonRequestService; @@ -202,17 +201,6 @@ public class TbsCostApplyController { return R.ok(); } - /** - * 补偿按钮 - * @param id - * @return - */ - @PostMapping("/compensate/{id}") - @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.UPDATE) - @PreAuthorize("hasRole('tbs:costApply:update')") - public R compensate(@PathVariable("id") String id){ - return tbsCostApplyCompensateService.runCompensate(id); - } /** * 更新 @@ -348,85 +336,6 @@ public class TbsCostApplyController { return tbsCostApplyOperationServiceImpl.pageAffair(costApplyId); } - /** - * 审批列表(用于详情页) - * @param costApplyId - * @return - */ - //@GetMapping("/ListAffairs") - public R> pageMemberAffair_old(Long costApplyId){ - TbsCostApply costApplyParam = tbsCostApplyService.getById(costApplyId); - if(costApplyParam.getSyFormId()==null){ - return R.ok(); - } - String templateCode = TbsSeeYonConst.CostApplyConf.Code(); - R> syResult = seeYonService.commonListAffairs(costApplyId+"",null,templateCode); - List ctpAffairs = syResult.getData(); - if(ctpAffairs.size()>0){ - List oaUserIds = ctpAffairs.stream().map(CtpAffair::getMemberId).collect(Collectors.toList()); - List userList = sysUserService.listByOaMemberIds(oaUserIds); - List result = new ArrayList<>(); - for (CtpAffair ctpAffair : ctpAffairs) { - CtpAffairVo ctpAffairVo = new CtpAffairVo(); - ctpAffairVo.setAffairInfo(ctpAffair); - for (SysUser user : userList) { - if(ctpAffair.getMemberId().equals(user.getSyUserId())){ - ctpAffairVo.setUserInfo(user.toSysUserVo()); - } - } - result.add(ctpAffairVo); - } - return R.ok(result); - } - return R.ok(); - } - - /** - * 审批列表(翻页) - * @param param - * @return - */ - //@GetMapping("/pageMemberAffair") - public R> pageMemberAffair_old(CtpAffairQo param){ - param.setTitle(param.getChargeTheme()); - param.setApplyUserName(param.getUserName()); - SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); - if(!StringUtils.hasText(sysUser.getSyUserId())||!StringUtils.hasText(sysUser.getSyAccount())){ - return R.error("当前账号未绑定致远用户信息"); - } - param.setMemberId(sysUser.getSyUserId()); - param.setTemplateCode(TbsSeeYonConst.CostApplyConf.Code()); - R> syResult = seeYonService.pageMemberAffair(param); - PageVo pageVo = syResult.getData(); - List ctpAffairs = pageVo.getList(); - if(ctpAffairs.size()>0){ - List oaUserIds = ctpAffairs.stream().map(CtpAffair::getMemberId).collect(Collectors.toList()); - List userList = sysUserService.listByOaMemberIds(oaUserIds); - List costApplyIds = ctpAffairs.stream().map(CtpAffair::getCostApplyId).collect(Collectors.toList()); - List costApplyList = tbsCostApplyService.listByIds(costApplyIds); - List result = new ArrayList<>(); - for (CtpAffair ctpAffair : ctpAffairs) { - CtpAffairVo ctpAffairVo = new CtpAffairVo(); - for (TbsCostApply costApply : costApplyList) { - if(costApply.getId().toString().equals(ctpAffair.getCostApplyId())){ - ctpAffairVo.setCostApply(costApply); - break; - } - } - for (SysUser user : userList) { - if(ctpAffair.getMemberId().equals(user.getSyUserId())){ - ctpAffairVo.setUserInfo(user.toSysUserVo()); - } - } - ctpAffairVo.setAffairInfo(ctpAffair); - result.add(ctpAffairVo); - } - PageVo costApplyPageVo = PageVo.initNewList(pageVo,result); - return R.ok(costApplyPageVo); - } - return R.byEmptyList(); - } - /** * 审批列表(翻页) * @param param @@ -436,7 +345,6 @@ public class TbsCostApplyController { public R> pageMemberAffair(CtpAffairQo param){ return tbsCostApplyOperationServiceImpl.pageMemberAffair(param); } - /** * 提交审批节点 * @return @@ -445,82 +353,93 @@ public class TbsCostApplyController { @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.DELETE) @PreAuthorize("hasRole('tbs:costApply:commit')") public R commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){ - seeYonService.testConnection(); - TbsCostApply costApply = tbsCostApplyService.getById(affairCommit.getCostApplyId()); - if(!costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())){ - return R.error("费用申请处于未非审批状态!"); - } - R result = seeYonService.commonCommit(affairCommit,TbsSeeYonConst.CostApplyConf.Code(),costApply.getSyFormId()); - boolean isBackCommit = affairCommit.getState()==2; - if(result.getStatus()==200){ - // 判断是否含有下个节点 - String flag = result.getData(); - //审批中(next)、完成(finish)、拒绝(refused) - if("finish".equals(flag)){ - TbsCostApply apply = new TbsCostApply(); - apply.setId(costApply.getId()); - apply.setChargeState(TbsCostApplyState.State_2_actioning.getCode()); - tbsCostApplyService.updateById(apply); - //更新活动通过时间 - TbsActivity tbsActivity = new TbsActivity(); - tbsActivity.setCostPassTime(LocalDateTime.now()); - tbsActivity.setCostPassFlag(1); - LambdaQueryWrapper actLqw = new LambdaQueryWrapper<>(); - actLqw.eq(TbsActivity::getCostApplyId,costApply.getId()); - tbsActivityService.update(tbsActivity,actLqw); - return R.ok(); - }else if ("stop".equals(flag)){ - if(isBackCommit){ - TbsCostApply apply = new TbsCostApply(); - apply.setId(costApply.getId()); - apply.setChargeState(TbsCostApplyState.State_4_refused.getCode()); - tbsCostApplyService.updateById(apply); - LambdaQueryWrapper logLqw = new LambdaQueryWrapper<>(); - logLqw.select(TbsBudgetLog::getId); - logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); - logLqw.eq(TbsBudgetLog::getRollbackFlag, BudgetLogRollbackFlag.State_0); - List budgetLogList = tbsBudgetLogService.list(logLqw); - budgetLogList.forEach(a->a.setRollbackFlag(BudgetLogRollbackFlag.State_1)); - tbsBudgetLogService.updateBatchById(budgetLogList); - return R.ok(); - }else { - TbsCostApply apply = new TbsCostApply(); - apply.setId(costApply.getId()); - apply.setChargeState(TbsCostApplyState.State_5_stop.getCode()); - tbsCostApplyService.updateById(apply); - tbsCostApplyService.releaseCost(costApply.getId(), 1); - //移除日志 - LambdaQueryWrapper logLqw = new LambdaQueryWrapper<>(); - logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); - List oldLogList = tbsBudgetLogService.list(logLqw); - List oldLogList4Upd = oldLogList.stream().map(a->{ - TbsBudgetLog budgetLog = new TbsBudgetLog(); - budgetLog.setId(a.getId()); - budgetLog.setRollbackFlag(BudgetLogRollbackFlag.State_3); - return budgetLog; - }).collect(Collectors.toList()); - tbsBudgetLogService.updateBatchById(oldLogList4Upd); - for (TbsBudgetLog budgetLog : oldLogList) { - budgetLog.setCreateBy(null); - budgetLog.setCreateTime(null); - budgetLog.setUpdateBy(null); - budgetLog.setUpdateTime(null); - budgetLog.setId(null); - budgetLog.setAmount(budgetLog.getAmount().negate()); - budgetLog.setOptType(BudgetLogOptFlag.State_5); - } - tbsBudgetLogService.saveBatch(oldLogList); - return R.ok(); - } - }else if ("next".equals(flag)){ - return R.ok(); - } - }else if (result.getStatus()==500){ - return result; - } - return R.error("远程调用失败"); + return tbsCostApplyOperationServiceImpl.commitAffair(affairCommit); } + /** + * 提交审批节点 + * @return + */ + //@PostMapping("/commitAffair") +// @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.DELETE) +// @PreAuthorize("hasRole('tbs:costApply:commit')") +// public R commitAffair_old(@RequestBody @Valid TbsAffairCommitBo affairCommit){ +// seeYonService.testConnection(); +// TbsCostApply costApply = tbsCostApplyService.getById(affairCommit.getCostApplyId()); +// if(!costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())){ +// return R.error("费用申请处于未非审批状态!"); +// } +// R result = seeYonService.commonCommit(affairCommit,TbsSeeYonConst.CostApplyConf.Code(),costApply.getSyFormId()); +// boolean isBackCommit = affairCommit.getState()==2; +// if(result.getStatus()==200){ +// // 判断是否含有下个节点 +// String flag = result.getData(); +// //审批中(next)、完成(finish)、拒绝(refused) +// if("finish".equals(flag)){ +// TbsCostApply apply = new TbsCostApply(); +// apply.setId(costApply.getId()); +// apply.setChargeState(TbsCostApplyState.State_2_actioning.getCode()); +// tbsCostApplyService.updateById(apply); +// //更新活动通过时间 +// TbsActivity tbsActivity = new TbsActivity(); +// tbsActivity.setCostPassTime(LocalDateTime.now()); +// tbsActivity.setCostPassFlag(1); +// LambdaQueryWrapper actLqw = new LambdaQueryWrapper<>(); +// actLqw.eq(TbsActivity::getCostApplyId,costApply.getId()); +// tbsActivityService.update(tbsActivity,actLqw); +// return R.ok(); +// }else if ("stop".equals(flag)){ +// if(isBackCommit){ +// TbsCostApply apply = new TbsCostApply(); +// apply.setId(costApply.getId()); +// apply.setChargeState(TbsCostApplyState.State_4_refused.getCode()); +// tbsCostApplyService.updateById(apply); +// LambdaQueryWrapper logLqw = new LambdaQueryWrapper<>(); +// logLqw.select(TbsBudgetLog::getId); +// logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); +// logLqw.eq(TbsBudgetLog::getRollbackFlag, BudgetLogRollbackFlag.State_0); +// List budgetLogList = tbsBudgetLogService.list(logLqw); +// budgetLogList.forEach(a->a.setRollbackFlag(BudgetLogRollbackFlag.State_1)); +// tbsBudgetLogService.updateBatchById(budgetLogList); +// return R.ok(); +// }else { +// TbsCostApply apply = new TbsCostApply(); +// apply.setId(costApply.getId()); +// apply.setChargeState(TbsCostApplyState.State_5_stop.getCode()); +// tbsCostApplyService.updateById(apply); +// tbsCostApplyService.releaseCost(costApply.getId(), 1); +// //移除日志 +// LambdaQueryWrapper logLqw = new LambdaQueryWrapper<>(); +// logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); +// List oldLogList = tbsBudgetLogService.list(logLqw); +// List oldLogList4Upd = oldLogList.stream().map(a->{ +// TbsBudgetLog budgetLog = new TbsBudgetLog(); +// budgetLog.setId(a.getId()); +// budgetLog.setRollbackFlag(BudgetLogRollbackFlag.State_3); +// return budgetLog; +// }).collect(Collectors.toList()); +// tbsBudgetLogService.updateBatchById(oldLogList4Upd); +// for (TbsBudgetLog budgetLog : oldLogList) { +// budgetLog.setCreateBy(null); +// budgetLog.setCreateTime(null); +// budgetLog.setUpdateBy(null); +// budgetLog.setUpdateTime(null); +// budgetLog.setId(null); +// budgetLog.setAmount(budgetLog.getAmount().negate()); +// budgetLog.setOptType(BudgetLogOptFlag.State_5); +// } +// tbsBudgetLogService.saveBatch(oldLogList); +// return R.ok(); +// } +// }else if ("next".equals(flag)){ +// return R.ok(); +// } +// }else if (result.getStatus()==500){ +// return result; +// } +// return R.error("远程调用失败"); +// } + /** * 补偿接口 * @param param @@ -533,6 +452,17 @@ public class TbsCostApplyController { return R.ok(); } + /** + * 补偿按钮 + * @param id + * @return + */ + @PostMapping("/compensate/{id}") + @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.UPDATE) + public R compensate(@PathVariable("id") String id){ + return tbsCostApplyCompensateService.runCompensate(id); + } + /** * 加签 * @param param diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java index a07b0ca6..46882d7e 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetLog.java @@ -1,6 +1,5 @@ package com.qs.serve.modules.tbs.entity; -import java.time.LocalDate; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -9,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; @@ -43,7 +43,7 @@ public class TbsBudgetLog implements Serializable { /** 类型: * 0-预算新增;1-费用申请;2-预算调增;3-预算调减;4-费用释放;5-费用申请调增;6-费用申请调减 - * {@link com.qs.serve.common.model.consts.BudgetLogOptFlag} + * {@link BudgetLogOptFlag} **/ @NotNull(message = "类型不能为空") private Integer optType; diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetLogService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetLogService.java index 2f1e93b5..52fb7b2c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetLogService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetLogService.java @@ -1,6 +1,7 @@ package com.qs.serve.modules.tbs.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tzc.entity.TzcPolicy; @@ -15,20 +16,5 @@ import java.math.BigDecimal; */ public interface TbsBudgetLogService extends IService { - /** - * 建立日志(申请和释放时通用方法) - * @param optType - * @param sysUser - * @param costApply - * @param item - * @param budget - * @param amount - * @return - */ - TbsBudgetLog buildTbsBudgetLog(Integer optType, SysUser sysUser, TbsCostApply costApply, TbsBudgetCostItem item, TbsBudget budget, BigDecimal amount, TbsActivity activity); - - - TbsBudgetLog buildTbsBudgetLog(Integer optType, SysUser sysUser, TzcPolicy tzcPolicy, TbsBudgetCostItemPolicy item, TbsBudget budget, BigDecimal amount, TzcPolicyItem policyItem); - } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java index d31de7fc..3c5645ee 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetService.java @@ -1,6 +1,7 @@ package com.qs.serve.modules.tbs.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.TbsBudgetLog; @@ -38,7 +39,5 @@ public interface TbsBudgetService extends IService { TbsBudgetVo toVoEntity(TbsBudget budget); - TbsBudgetLog toTbsBudgetLog(SysUser sysUser, TbsBudget budget, TbsScheduleItemBudget scheduleItemBudget, Integer optType, BigDecimal amount); - } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetLogServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetLogServiceImpl.java index e075918f..8417a520 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetLogServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetLogServiceImpl.java @@ -1,6 +1,8 @@ package com.qs.serve.modules.tbs.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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; @@ -8,6 +10,7 @@ import com.qs.serve.modules.tzc.entity.TzcPolicyItem; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; +import org.omg.CORBA.DynAnyPackage.Invalid; import org.springframework.stereotype.Service; import com.qs.serve.modules.tbs.service.TbsBudgetLogService; import com.qs.serve.modules.tbs.mapper.TbsBudgetLogMapper; @@ -24,78 +27,6 @@ import java.math.BigDecimal; @AllArgsConstructor public class TbsBudgetLogServiceImpl extends ServiceImpl implements TbsBudgetLogService { - @NotNull - @Override - public TbsBudgetLog buildTbsBudgetLog(Integer 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); - budgetLog.setOptUserId(sysUser.getId()); - budgetLog.setOptUserCode(sysUser.getCode()); - budgetLog.setOptUserName(sysUser.getName()); - budgetLog.setAmount(amount); - 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; - } - @Override - public TbsBudgetLog buildTbsBudgetLog(Integer 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); - budgetLog.setOptUserId(sysUser.getId()); - budgetLog.setOptUserCode(sysUser.getCode()); - budgetLog.setOptUserName(sysUser.getName()); - budgetLog.setAmount(amount); - 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; - } } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java index 6012d62a..c8a9578c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.tbs.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.CollectionUtil; @@ -19,6 +20,7 @@ import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.consts.ConditionMapEnum; +import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.bo.TbsBudgetBo; import com.qs.serve.modules.tbs.entity.bo.TbsBudgetExcelBo; @@ -237,38 +239,14 @@ public class TbsBudgetServiceImpl extends ServiceImpl //保存预算流水日志 List budgetLogList = new ArrayList<>(); for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) { - TbsBudgetLog budgetLog = this.toTbsBudgetLog(sysUser, budget, scheduleItemBudget,0,scheduleItemBudget.getBudgetAmount()); - budgetLogList.add(budgetLog); + TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser, budget, scheduleItemBudget,BudgetLogOptFlag.State_0,scheduleItemBudget.getBudgetAmount()); + if (budgetLog!=null){ + budgetLogList.add(budgetLog); + } } budgetLogService.saveBatch(budgetLogList); } - @NotNull - @Override - public TbsBudgetLog toTbsBudgetLog(SysUser sysUser, TbsBudget budget, TbsScheduleItemBudget scheduleItemBudget,Integer optType, BigDecimal amount) { - TbsBudgetLog budgetLog = new TbsBudgetLog(); - budgetLog.setBudgetId(budget.getId()); - budgetLog.setBudgetCode(budget.getBudgetCode()); - budgetLog.setOptType(optType); - budgetLog.setOptUserId(sysUser.getId()); - budgetLog.setOptUserCode(sysUser.getCode()); - budgetLog.setOptUserName(sysUser.getName()); - budgetLog.setAmount(amount); - 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; - } @Override public TbsBudget getByCode(String code) { diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java index 12f9e25f..b2f9c306 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyOperationServiceImpl.java @@ -1,28 +1,24 @@ package com.qs.serve.modules.tbs.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.qs.serve.common.model.consts.BudgetLogOptFlag; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; -import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.Assert; import com.qs.serve.modules.seeyon.entity.CtpAffair; -import com.qs.serve.modules.seeyon.entity.CtpAffairQo; -import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeParam; import com.qs.serve.modules.seeyon.service.SeeYonOperationService; import com.qs.serve.modules.seeyon.service.SeeYonRequestService; import com.qs.serve.modules.sys.mapper.SysUserMapper; import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.TbsActivity; import com.qs.serve.modules.tbs.entity.TbsBudgetLog; import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo; import com.qs.serve.modules.tbs.mapper.TbsActivityMapper; -import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; -import com.qs.serve.modules.tbs.service.TbsActivityService; import com.qs.serve.modules.tbs.service.TbsBudgetLogService; import com.qs.serve.modules.tbs.service.TbsCostApplyService; import lombok.AllArgsConstructor; @@ -149,8 +145,8 @@ public class TbsCostApplyOperationServiceImpl implements SeeYonOperationService budgetLog.setUpdateBy(null); budgetLog.setUpdateTime(null); budgetLog.setId(null); - budgetLog.setAmount(budgetLog.getAmount().negate()); - budgetLog.setOptType(BudgetLogOptFlag.State_5); + budgetLog.setOptType(BudgetLogOptFlag.State_15.getCode()); + budgetLog.setAmount(TbsBudgetLogBuildUtil.buildAmount(budgetLog.getAmount(),BudgetLogOptFlag.State_15)); } tbsBudgetLogService.saveBatch(oldLogList); return null; diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index d210060e..c4100224 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -2,7 +2,7 @@ package com.qs.serve.modules.tbs.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.qs.serve.common.model.consts.BudgetLogOptFlag; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.*; @@ -17,6 +17,7 @@ import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsActivityState; import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult; import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem; @@ -185,14 +186,13 @@ public class TbsCostApplyServiceImpl extends ServiceImpl budgetLogList = saveBudgetLog(result, sysUser, costApply, result.getBudgetMatchList(),result.getActivityList()); if(tbsCostApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode())){ - List budgetLogList = saveBudgetLog(result, sysUser, costApply, result.getBudgetMatchList(),result.getActivityList()); if(CollectionUtil.isNotEmpty(budgetLogList)){ budgetLogService.saveBatch(budgetLogList); } }else { //排除历史记录 - List budgetLogList = saveBudgetLog(result, sysUser, costApply, result.getBudgetMatchList(),result.getActivityList()); LambdaQueryWrapper logLqw = new LambdaQueryWrapper<>(); logLqw.eq(TbsBudgetLog::getCostApplyId,costApply.getId()); logLqw.eq(TbsBudgetLog::getRollbackFlag, BudgetLogRollbackFlag.State_1); @@ -211,10 +211,13 @@ public class TbsCostApplyServiceImpl extends ServiceImpla.setOptType(BudgetLogOptFlag.State_6)); + //将1改6 + budgetLogList.forEach(a->a.setOptType(BudgetLogOptFlag.State_6.getCode())); budgetLogService.saveBatch(budgetLogList); } //创建流程后回调 @@ -253,7 +256,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpla.setOptType(BudgetLogOptFlag.State_13)); + BudgetLogOptFlag optFlag = BudgetLogOptFlag.State_13; + budgetLogList.forEach(a->{ + a.setOptType(optFlag.getCode()); + a.setAmount(TbsBudgetLogBuildUtil.buildAmount(a.getAmount(),optFlag)); + }); budgetLogService.saveBatch(budgetLogList); } //创建流程后回调 @@ -836,7 +842,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ currPolicyItem = policyItem; } } - TbsBudgetLog budgetLog = budgetLogService.buildTbsBudgetLog(BudgetLogOptFlag.State_11,sysUser, tzcPolicy, item, budget,item.getPolicyItemAmount().negate(),currPolicyItem); + TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.buildTbsBudgetLog(BudgetLogOptFlag.State_11,sysUser, tzcPolicy, item, budget,item.getPolicyItemAmount().negate(),currPolicyItem); budgetLogList.add(budgetLog); } return budgetLogList; diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index b21f5626..71e3be20 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -2,7 +2,7 @@ package com.qs.serve.modules.vtb.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.qs.serve.common.model.consts.BudgetLogOptFlag; +import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.*; import com.qs.serve.common.util.model.DateFormatString; @@ -25,6 +25,7 @@ import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsActivityState; import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.bo.TbsActivityReopenBo; import com.qs.serve.modules.tbs.service.*; @@ -149,7 +150,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl