Browse Source

预算添加审批 暂存

v1.0
Yen 2 years ago
parent
commit
886a57f561
  1. 2
      src/main/java/com/qs/serve/common/util/CodeGenUtil.java
  2. 18
      src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java
  3. 7
      src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
  4. 43
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetCheckController.java
  5. 14
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  6. 6
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java
  7. 9
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java
  8. 18
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetAmtBo.java
  9. 2
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetUpdateAfterStartBo.java
  10. 92
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java
  11. 6
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

2
src/main/java/com/qs/serve/common/util/CodeGenUtil.java

@ -24,6 +24,7 @@ public class CodeGenUtil {
Activity("activity"),
Verification("verification"),
Policy("policy"),
Budget("Budget"),
PolicyItem("policy_item");
private String code;
}
@ -33,7 +34,6 @@ public class CodeGenUtil {
public enum SourceDataKey{
TagInfo("T","TagInfo"),
SaleRegion("S","SaleRegion"),
Budget("","Budget"),
BizRegion("B","BizRegion"),
ActivityPayCondition("K","ActivityPayCondition");
private String prefix;

18
src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java

@ -0,0 +1,18 @@
package com.qs.serve.modules.tbs.common;
/**
* @author YenHex
* @since 2023/8/8
*/
public interface TbsBudgetCheckState {
/**
* 0=未发布1=审批中2=完成3-被驳回;4-中止;
*/
int State_0_unPublish = 0;
int State_1_apply = 1;
int State_2_finished = 2;
int State_3_setback = 3;
int State_4_stop = 4;
}

7
src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java

@ -38,6 +38,13 @@ public interface TbsSeeYonConst {
}
}
/** 预算申请 */
class BudgetApplyConf{
public static String Code(){
return DevEnvironmentConfig.isDev()?"budgetAdjust":"budgetAdjust_Test";
}
}
String API_TEST = "/testConnection";
String API_PROCESS_CREATE = "/process/create";
String API_PROCESS_CREATE_CALLBACK = "/process/createCallback";

43
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetCheckController.java

@ -0,0 +1,43 @@
package com.qs.serve.modules.tbs.controller;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.tbs.entity.bo.TbsBudgetUpdateAfterStartBo;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
/**
* 预算 预算审批
* @author YenHex
* @since 2023/8/8
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("tbs/budgetCheck")
public class TbsBudgetCheckController {
/**
* 提交申请
* @return
*/
@PostMapping("commitApply/{id}")
public R<?> commitApply(@PathVariable("id") String id){
return R.ok();
}
/**
* 提交更新申请
* @param param
* @return
*/
@PostMapping("commitChangeApply")
public R<?> commitApply(@RequestBody TbsBudgetUpdateAfterStartBo param){
return R.ok();
}
}

14
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java

@ -11,6 +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.TbsBudgetCheckState;
import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.bo.*;
@ -164,7 +165,9 @@ public class TbsBudgetController {
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId());
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId());
if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
Assert.throwEx("预算审批中无法编辑");
}
LambdaQueryWrapper<TbsBudgetLog> logLambdaQueryWrapper = new LambdaQueryWrapper<>();
logLambdaQueryWrapper.in(TbsBudgetLog::getOptType,BudgetLogOptFlag.getFinalBudgetOptFlag());
logLambdaQueryWrapper.eq(TbsBudgetLog::getScheduleItemBudgetId,scheduleItemBudget.getId());
@ -199,6 +202,9 @@ public class TbsBudgetController {
//金额相同时退出
// if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())==0){return R.ok();}
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId());
if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
Assert.throwEx("预算审批中无法编辑");
}
// TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget();
// itemBudget.setId(param.getId());
// itemBudget.setBudgetAmount(param.getBudgetAmount());
@ -230,6 +236,12 @@ public class TbsBudgetController {
TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget();
itemBudget.setId(param.getId());
itemBudget.setPreDispatchAmount(param.getPreDispatchAmount());
//添加拦截
TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId());
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId());
if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
Assert.throwEx("预算审批中无法编辑");
}
tbsScheduleItemBudgetService.updateById(itemBudget);
return R.ok();
}

6
src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java

@ -43,6 +43,9 @@ public class TbsBudget implements Serializable {
/** 费用启用状态 0/1 */
private Integer budgetState;
/** 审批流程状态 */
private Integer budgetCheckState;
/** 科目id */
@NotNull(message = "科目id不能为空")
private Long subjectId;
@ -98,6 +101,9 @@ public class TbsBudget implements Serializable {
/** 生成底表标识:默认0;同步成功为1 */
private Integer birFlag;
/** 致远表单id */
private String syFormId;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

9
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java

@ -17,12 +17,17 @@ import java.util.List;
public class TbsAffairCommitBo {
/**
* 旧版的费用申请id核销id
* 旧版的费用申请id核销id截止2023/5/23
*/
private Long costApplyId;
/**
* 政策ID
* 新增所有审批业务使用该字段作数据的目标ID
*/
private String targetId;
/**
* 政策ID截止2023/8/8
*/
private Long policyId;

18
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetAmtBo.java

@ -0,0 +1,18 @@
package com.qs.serve.modules.tbs.entity.bo;
import lombok.Data;
/**
* @author YenHex
* @since 2023/8/8
*/
@Data
public class TbsBudgetAmtBo {
private Integer type;
private Long budgetScheduleItemId;
private Integer amount;
}

2
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetUpdateAfterStartBo.java

@ -53,6 +53,8 @@ public class TbsBudgetUpdateAfterStartBo implements Serializable {
private String[] attachIds;
/** 修改的金额值 */
private List<TbsBudgetAmtBo> budgetAmtUpdateList;
}

92
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java

@ -0,0 +1,92 @@
package com.qs.serve.modules.tbs.service.impl;
import com.qs.serve.common.util.Assert;
import com.qs.serve.modules.seeyon.service.SeeYonOperationService;
import com.qs.serve.modules.tbs.common.TbsBudgetCheckState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* 预算申请
* @author YenHex
* @since 2023/8/8
*/
@Slf4j
@Service
@AllArgsConstructor
public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationService {
private TbsBudgetMapper budgetMapper;
@Override
public String getTargetId(TbsAffairCommitBo affairCommit) {
return affairCommit.getTargetId();
}
@Override
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
TbsBudget tbsBudget = budgetMapper.selectById(affairCommit.getTargetId());
if(!tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
Assert.throwEx("操作失败,预算处于非审批状态");
}
return tbsBudget.getSyFormId();
}
@Override
public Object doBacked(TbsAffairCommitBo param) {
TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId());
if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_3_setback);
budgetMapper.updateById(tbsBudget);
}
return null;
}
@Override
public Object doFinished(TbsAffairCommitBo param) {
TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId());
if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_2_finished);
//启用预算
tbsBudget.setBudgetState(1);
budgetMapper.updateById(tbsBudget);
}
return null;
}
@Override
public Object doRefuse(TbsAffairCommitBo param) {
TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId());
if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_4_stop);
budgetMapper.updateById(tbsBudget);
}
return null;
}
@Override
public Object compensateBacked(String targetId) {
return null;
}
@Override
public Object compensateFinished(String targetId) {
return null;
}
@Override
public Object compensateRefuse(String targetId) {
return null;
}
@Override
public String getTemplateCode() {
return TbsSeeYonConst.BudgetApplyConf.Code();
}
}

6
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

@ -18,6 +18,7 @@ import com.qs.serve.modules.sys.entity.SysAttach;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysAttachService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsBudgetCheckState;
import com.qs.serve.modules.tbs.common.TbsCenterType;
import com.qs.serve.modules.tbs.common.TbsGoodsType;
import com.qs.serve.modules.tbs.common.consts.ConditionMapEnum;
@ -92,13 +93,16 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
if(budget.getBudgetState().equals(1)){
Assert.throwEx("已开启的预算无法编辑");
}
if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
Assert.throwEx("预算审批中无法编辑");
}
//移除旧的条件数据
LambdaQueryWrapper<TbsBudgetCondition> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsBudgetCondition::getBudgetId,budget.getId());
budgetConditionService.remove(lqw);
}else {
budget = CopierUtil.copy(budgetBo,new TbsBudget());
budget.setBudgetNumber(CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.Budget));
budget.setBudgetNumber(CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget));
}
List<Long> skuIds = budgetBo.getSkuIds();
List<Long> spuIds = budgetBo.getSpuIds();

Loading…
Cancel
Save