diff --git a/src/main/java/com/qs/serve/common/model/enums/SystemModule.java b/src/main/java/com/qs/serve/common/model/enums/SystemModule.java index 562a402e..5a9fc005 100644 --- a/src/main/java/com/qs/serve/common/model/enums/SystemModule.java +++ b/src/main/java/com/qs/serve/common/model/enums/SystemModule.java @@ -23,6 +23,7 @@ public enum SystemModule { SYSTEM("sys","系统"), UMS("ums","手机用户"), DATA("data","数据"), + Excel("excel","excel数据"), Tag("tag","标签"); String code; diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java index dbb02922..8ada7b07 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java @@ -11,19 +11,14 @@ import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo; -import com.qs.serve.modules.tbs.entity.TbsBudgetChangeCondition; -import com.qs.serve.modules.tbs.entity.TbsBudgetChangeScheduleItem; +import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.so.TbsBudgetChangeSo; -import com.qs.serve.modules.tbs.service.TbsBudgetChangeConditionService; -import com.qs.serve.modules.tbs.service.TbsBudgetChangeScheduleItemService; +import com.qs.serve.modules.tbs.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import com.qs.serve.modules.tbs.entity.TbsBudgetChange; -import com.qs.serve.modules.tbs.service.TbsBudgetChangeService; - import javax.validation.Valid; import java.util.List; import java.util.Map; @@ -43,6 +38,9 @@ public class TbsBudgetChangeController { private TbsBudgetChangeService tbsBudgetChangeService; private TbsBudgetChangeScheduleItemService tbsBudgetChangeScheduleItemService; private TbsBudgetChangeConditionService tbsBudgetChangeConditionService; + private TbsBudgetService tbsBudgetService; + private TbsScheduleItemBudgetService tbsScheduleItemBudgetService; + private TbsBudgetConditionService tbsBudgetConditionService; /** * 预算审批整合翻页 @@ -78,6 +76,31 @@ public class TbsBudgetChangeController { return R.ok(budgetChange); } + /** + * budgetId查询 + * @param id + * @return + */ + @GetMapping("/apply/{id}") + public R getApplyBudget(@PathVariable("id")Long id ){ + TbsBudget budget = tbsBudgetService.getById(id); + LambdaQueryWrapper conditionLqw = new LambdaQueryWrapper<>(); + conditionLqw.eq(TbsBudgetCondition::getBudgetId,id); + conditionLqw.isNull(TbsBudgetCondition::getChangeId); + List conditions = tbsBudgetConditionService.list(conditionLqw); + LambdaQueryWrapper schItemBudgetLqw = new LambdaQueryWrapper<>(); + schItemBudgetLqw.eq(TbsScheduleItemBudget::getBudgetId,id); + List scheduleItemBudgetList = tbsScheduleItemBudgetService.list(schItemBudgetLqw); + TbsBudgetChange budgetChange = TbsBudgetChange.toNewObject(budget); + List budgetChangeConditions = conditions.stream() + .map(TbsBudgetChangeCondition::toNewObject).collect(Collectors.toList()); + List budgetChangeScheduleItemList = scheduleItemBudgetList.stream() + .map(TbsBudgetChangeScheduleItem::toNewObject).collect(Collectors.toList()); + budgetChange.setChangeScheduleItemList(budgetChangeScheduleItemList); + budgetChange.setChangeConditionList(budgetChangeConditions); + return R.ok(budgetChange); + } + /** * 列表 * @param param 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 fc86bf0c..c5ac2a41 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 @@ -215,8 +215,16 @@ public class TbsCostApplyController { @GetMapping("/getById/{id}") @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.QUERY) @PreAuthorize("hasRole('tbs:costApply:query')") + @Transactional(rollbackFor = Exception.class) public R getById(@PathVariable("id") String id){ TbsCostApply tbsCostApply = tbsCostApplyService.getById(id); + if(tbsCostApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())){ + try { + tbsCostApplyOperationServiceImpl.runCompensate(id); + } catch (Exception e) { + e.printStackTrace(); + } + } TbsCostContract contract = costContractService.getByCostApplyId(tbsCostApply.getId()); tbsCostApply.setContractInfo(contract); return R.ok(tbsCostApply); diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsScheduleItemBudgetController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsScheduleItemBudgetController.java index 154a3ed2..186d5778 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsScheduleItemBudgetController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsScheduleItemBudgetController.java @@ -102,6 +102,7 @@ public class TbsScheduleItemBudgetController { @SysLog(module = SystemModule.Budget, title = "预算考核期项", biz = BizType.INSERT) @PreAuthorize("hasRole('tbs:schedule:insert')") public R save(@RequestBody @Valid TbsScheduleItemBudget param){ + param.setPreDispatchAmountFirst(param.getPreDispatchAmount()); TbsScheduleItemBudget entity = CopierUtil.copy(param,new TbsScheduleItemBudget()); boolean result = tbsScheduleItemBudgetService.save(entity); return R.isTrue(result); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java index cd503618..cb0d4bf2 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java @@ -170,10 +170,10 @@ public class TbsBudgetChange implements Serializable { public static TbsBudgetChange toNewObject(TbsBudget source){ TbsBudgetChange budgetChange = new TbsBudgetChange(); - budgetChange.setId(source.getId()); + //budgetChange.setId(source.getId()); budgetChange.setBudgetId(source.getId()); //budgetChange.setChangeCode(source.getChangeCode()); - //budgetChange.setBudgetTitle(source.getBudgetTitle()); + budgetChange.setBudgetTitle(source.getBudgetCode()); budgetChange.setBudgetNumber(source.getBudgetNumber()); budgetChange.setBudgetCheckState(source.getBudgetCheckState()); budgetChange.setSubjectId(source.getSubjectId()); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChangeCondition.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChangeCondition.java index 9e213a2a..566fa1d9 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChangeCondition.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChangeCondition.java @@ -106,7 +106,7 @@ public class TbsBudgetChangeCondition implements Serializable { public static TbsBudgetChangeCondition toNewObject(TbsBudgetCondition source){ TbsBudgetChangeCondition budgetChangeCondition = new TbsBudgetChangeCondition(); - budgetChangeCondition.setId(source.getId()); + //budgetChangeCondition.setId(source.getId()); //budgetChangeCondition.setChangeId(source.getChangeId()); budgetChangeCondition.setBudgetId(source.getBudgetId()); budgetChangeCondition.setTargetType(source.getTargetType()); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCondition.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCondition.java index 50136570..89a01b16 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCondition.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetCondition.java @@ -35,6 +35,8 @@ public class TbsBudgetCondition implements Serializable { @NotNull(message = "预算id不能为空") private Long budgetId; + private Long changeId; + /** 目标类型(brand、category、series、spu、sku) */ @NotBlank(message = "目标类型(brand、category、series、spu、sku)不能为空") @Length(max = 30,message = "目标类型(brand、category、series、spu、sku)长度不能超过30字") diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java index 96734014..8cbaa713 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsScheduleItemBudget.java @@ -70,6 +70,7 @@ public class TbsScheduleItemBudget implements Serializable { @NotNull(message = "预估发货金额") private BigDecimal preDispatchAmount; + private BigDecimal preDispatchAmountFirst; /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java index 299279ba..ccd25d79 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java @@ -88,6 +88,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi List budgetConditionList = new ArrayList<>(); for (TbsBudgetChangeCondition changeCondition : changeConditionList) { TbsBudgetCondition budgetCondition = TbsBudgetCondition.toNewObject(changeCondition); + budgetCondition.setChangeId(budgetChange.getId()); budgetConditionList.add(budgetCondition); } if(CollectionUtil.isNotEmpty(budgetConditionList)){ diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java index 747715df..14edb2d9 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java @@ -27,6 +27,7 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import com.qs.serve.modules.tbs.service.TbsBudgetChangeService; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.ArrayList; @@ -67,11 +68,13 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl data = new HashMap<>(); data.put("exsp5", budgetChange.getChangeCode()); @@ -132,6 +135,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl private final BmsSubjectService subjectService; private final TbsScheduleService scheduleService; private final TbsBudgetConditionService budgetConditionService; + private final TbsBudgetChangeMapper tbsBudgetChangeMapper; private final TbsBudgetLogService budgetLogService; private final TbsScheduleItemBudgetService scheduleItemBudgetService; private final TbsScheduleItemService scheduleItemService; @@ -516,6 +518,16 @@ public class TbsBudgetServiceImpl extends ServiceImpl List attachList = attachService.listByIds(attachIds); budgetVo.setAttachList(attachList); } + //有更变时,修改为审批状态 + if(budgetVo.getBudgetState().equals(1)&&!budgetVo.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + LambdaQueryWrapper change_lqw = new LambdaQueryWrapper<>(); + change_lqw.eq(TbsBudgetChange::getBudgetId,budgetVo.getId()); + change_lqw.eq(TbsBudgetChange::getBudgetCheckState,TbsBudgetCheckState.State_1_apply); + long count = tbsBudgetChangeMapper.selectCount(change_lqw); + if(count>0){ + budgetVo.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); + } + } return budgetVo; } diff --git a/src/main/resources/mapper/tbs/TbsBudgetChangeMapper.xml b/src/main/resources/mapper/tbs/TbsBudgetChangeMapper.xml index 7fefa600..78f5a78f 100644 --- a/src/main/resources/mapper/tbs/TbsBudgetChangeMapper.xml +++ b/src/main/resources/mapper/tbs/TbsBudgetChangeMapper.xml @@ -56,6 +56,7 @@ tbs_budget.`remark` from tbs_budget where tbs_budget.del_flag = 0 and `tbs_budget`.`budget_check_state` != 0 + and `tbs_budget`.`id` = #{query.budgetId} and `tbs_budget`.`budget_code` like concat('%',#{query.title},'%') and `tbs_budget`.`budget_number` like concat('%',#{query.code},'%') and `tbs_budget`.`budget_check_state` = #{query.budgetCheckState} @@ -98,6 +99,7 @@ and (`tbs_budget_change`.`change_code` like concat('%',#{query.code},'%') or `tbs_budget_change`.`budget_number` like concat('%',#{query.code},'%') ) + and `tbs_budget_change`.`budget_id` = #{query.budgetId} and `tbs_budget_change`.`budget_title` like concat('%',#{query.title},'%') and `tbs_budget_change`.`budget_check_state` = #{query.budgetCheckState} and `tbs_budget_change`.`subject_code` like concat('%',#{query.subjectCode},'%')