Browse Source

批量导入预算审批(添加页面相关接口,测试中);

v1.0
Yen 2 years ago
parent
commit
61af96f56c
  1. 2
      src/main/java/com/qs/serve/modules/goods/controller/api/GoodsSpuApi.java
  2. 14
      src/main/java/com/qs/serve/modules/tbs/common/consts/ChangeTypeEnum.java
  3. 2
      src/main/java/com/qs/serve/modules/tbs/common/dto/TbsBudgetChangeVo.java
  4. 8
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetBatchController.java
  5. 5
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java
  6. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java
  7. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetBatch.java
  8. 6
      src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java
  9. 12
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeService.java
  10. 3
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java
  11. 33
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java
  12. 3
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java
  13. 6
      src/main/resources/mapper/tbs/TbsBudgetChangeMapper.xml

2
src/main/java/com/qs/serve/modules/goods/controller/api/GoodsSpuApi.java

@ -43,7 +43,7 @@ public class GoodsSpuApi {
PageUtil.startPage();
LambdaQueryWrapper<GoodsSpu> spuWrapper = new LambdaQueryWrapper<>(param);
//销售分组id(默认0,表所有 不进行条件过滤)
if(param.getGoodsSaleGroupId().equals(0L)){
if(param.getGoodsSaleGroupId()!=null&&param.getGoodsSaleGroupId().equals(0L)){
param.setGoodsSaleGroupId(null);
}
if(StringUtils.hasText(param.getSearchValue())){

14
src/main/java/com/qs/serve/modules/tbs/common/consts/ChangeTypeEnum.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.tbs.common.consts;
/**
* @author YenHex
* @since 2023/8/30
*/
public enum ChangeTypeEnum {
batchApply,
batchChange,
apply,
change
}

2
src/main/java/com/qs/serve/modules/tbs/common/dto/TbsBudgetChangeVo.java

@ -122,4 +122,6 @@ public class TbsBudgetChangeVo {
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 是否批量提交 */
private Integer batchApplyFlag;
}

8
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetBatchController.java

@ -11,6 +11,7 @@ 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.seeyon.entity.bo.CtpAddNodeParam;
import com.qs.serve.modules.tbs.common.consts.ChangeTypeEnum;
import com.qs.serve.modules.tbs.entity.TbsBudgetBatchItem;
import com.qs.serve.modules.tbs.entity.TbsBudgetChange;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
@ -80,17 +81,18 @@ public class TbsBudgetBatchController {
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Budget, title = "批量申请", biz = BizType.QUERY)
@PreAuthorize("hasRole('tbs:budgetBatch:query')")
public R<TbsBudgetBatch> getById(@PathVariable("id") String id){
TbsBudgetBatch budgetBatch = tbsBudgetBatchService.getById(id);
List<TbsBudgetBatchItem> budgetBatchItemList = budgetBatchItemService.listByBatchId(budgetBatch.getId());
List<TbsBudgetChange> changeList = new ArrayList<>();
for (TbsBudgetBatchItem batchItem : budgetBatchItemList) {
if(batchItem.getChangeId()!=null){
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailById(batchItem.getChangeId().toString());
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailById(batchItem.getChangeId().toString(),
ChangeTypeEnum.batchChange);
changeList.add(budgetChange);
}else {
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailByBudgetId(batchItem.getBudgetId().toString());
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailByBudgetId(batchItem.getBudgetId().toString(),
ChangeTypeEnum.batchApply);
changeList.add(budgetChange);
}
}

5
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java

@ -14,6 +14,7 @@ import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.service.SysAttachService;
import com.qs.serve.modules.tbs.common.TbsBudgetCheckState;
import com.qs.serve.modules.tbs.common.consts.ChangeTypeEnum;
import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo;
import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.so.TbsBudgetChangeSo;
@ -73,7 +74,7 @@ public class TbsBudgetChangeController {
*/
@GetMapping("/{id}")
public R<TbsBudgetChange> getList(@PathVariable("id")String id ){
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailById(id);
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailById(id, null);
if (budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){
AsyncManager.me().execute(AsyncFactory.submitBudgetChange(id));
}
@ -87,7 +88,7 @@ public class TbsBudgetChangeController {
*/
@GetMapping("/apply/{id}")
public R<TbsBudgetChange> getApplyBudget(@PathVariable("id")String id ){
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailByBudgetId(id);
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailByBudgetId(id, null);
return R.ok(budgetChange);
}

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

@ -121,6 +121,9 @@ public class TbsBudget implements Serializable {
/** 提交审批时间 */
private LocalDateTime submitTime;
/** 是否批量提交 */
private Integer batchApplyFlag;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

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

@ -51,7 +51,7 @@ public class TbsBudgetBatch implements Serializable {
private LocalDateTime finishedTime;
/** 预算类型 0->修改;1->新增 */
private Integer batchType;
//private Integer batchType;
/** 致远表单id */
@Length(max = 255,message = "致远表单id长度不能超过255字")

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

@ -112,6 +112,9 @@ public class TbsBudgetChange implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime submitTime;
/** 是否批量提交 */
private Integer batchApplyFlag;
/** 申请人 */
@NotBlank(message = "申请人不能为空")
@Length(max = 32,message = "申请人长度不能超过32字")
@ -185,6 +188,9 @@ public class TbsBudgetChange implements Serializable {
@TableField(exist = false)
private List<?> orgAttachInfos;
@TableField(exist = false)
private String applyType;
public static TbsBudgetChange toNewObject(TbsBudget source){
TbsBudgetChange budgetChange = new TbsBudgetChange();
//budgetChange.setId(source.getId());

12
src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeService.java

@ -1,6 +1,7 @@
package com.qs.serve.modules.tbs.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.tbs.common.consts.ChangeTypeEnum;
import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo;
import com.qs.serve.modules.tbs.entity.TbsBudgetChange;
import com.qs.serve.modules.tbs.entity.bo.TbsBudgetUpdateAfterStartBo;
@ -20,11 +21,18 @@ public interface TbsBudgetChangeService extends IService<TbsBudgetChange> {
/**
* 获取详情
* @param id
* @param applyType
* @return
*/
TbsBudgetChange getDetailById(String id);
TbsBudgetChange getDetailById(String id, ChangeTypeEnum applyType);
TbsBudgetChange getDetailByBudgetId(String budgetId);
/**
* 获取详情
* @param budgetId
* @param applyType
* @return
*/
TbsBudgetChange getDetailByBudgetId(String budgetId,ChangeTypeEnum applyType);
/**
* 提交修改

3
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java

@ -226,6 +226,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
budgetChange.setUserId(sysUser.getId());
budgetChange.setUserCode(sysUser.getCode());
budgetChange.setUserName(sysUser.getName());
budgetChange.setBatchApplyFlag(1);
budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_1_apply);
boolean notChangeTitle = paramItem.getBudgetName()!=null&& paramItem.getBudgetName().equals(budget.getBudgetCode());
if(!notChangeTitle){
@ -267,6 +268,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
.filter(a->!StringUtils.hasText(a.getBudgetNumber())).collect(Collectors.toList());
for (TbsBudgetBatchBo.BudgetMain budgetMain : addBudgetList) {
TbsBudget newBudget = new TbsBudget();
newBudget.setBatchApplyFlag(1);
TbsSchedule schedule = scheduleMap.get(budgetMain.getScheduleName());
this.initBudget4Update(sysUser,schedule, subjectMap, centerDtoMap, budgetMain, newBudget);
tbsBudgetService.save(newBudget);
@ -310,6 +312,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
//设置新的值
TbsBudget newBudget = new TbsBudget();
newBudget.setId(budgetId);
newBudget.setBatchApplyFlag(1);
newBudget.setUserId(sysUser.getId());
newBudget.setUserCode(sysUser.getCode());
newBudget.setUserName(sysUser.getName());

33
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java

@ -16,6 +16,7 @@ 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.TbsSeeYonConst;
import com.qs.serve.modules.tbs.common.consts.ChangeTypeEnum;
import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo;
import com.qs.serve.modules.tbs.common.util.TbsBudgetConditionUtil;
import com.qs.serve.modules.tbs.entity.*;
@ -60,8 +61,15 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
private final TbsScheduleItemBudgetService tbsScheduleItemBudgetService;
@Override
public TbsBudgetChange getDetailById(String id) {
public TbsBudgetChange getDetailById(String id, ChangeTypeEnum applyType) {
TbsBudgetChange budgetChange = this.getById(id);
if(applyType==null){
budgetChange.setApplyType(budgetChange.getBatchApplyFlag().equals(1)?
ChangeTypeEnum.batchChange.name():
ChangeTypeEnum.change.name());
}else {
budgetChange.setApplyType(applyType.name());
}
List<TbsBudgetChangeScheduleItem> changeScheduleItemList = tbsBudgetChangeScheduleItemService.listByChangeId(budgetChange.getId());
List<TbsBudgetChangeCondition> changeConditionList = tbsBudgetChangeConditionService.listByChangeId(budgetChange.getId());
Map<Integer,List<TbsBudgetChangeCondition>> map = changeConditionList.stream().collect(Collectors.groupingBy(TbsBudgetChangeCondition::getSourceFlag));
@ -78,7 +86,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
}
@Override
public TbsBudgetChange getDetailByBudgetId(String budgetId) {
public TbsBudgetChange getDetailByBudgetId(String budgetId,ChangeTypeEnum applyType) {
TbsBudget budget = tbsBudgetMapper.selectById(budgetId);
LambdaQueryWrapper<TbsBudgetCondition> conditionLqw = new LambdaQueryWrapper<>();
conditionLqw.eq(TbsBudgetCondition::getBudgetId,budgetId);
@ -88,6 +96,13 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
schItemBudgetLqw.eq(TbsScheduleItemBudget::getBudgetId,budgetId);
List<TbsScheduleItemBudget> scheduleItemBudgetList = tbsScheduleItemBudgetService.list(schItemBudgetLqw);
TbsBudgetChange budgetChange = TbsBudgetChange.toNewObject(budget);
if(applyType==null){
budgetChange.setApplyType(budget.getBatchApplyFlag().equals(1)?
ChangeTypeEnum.batchApply.name():
ChangeTypeEnum.apply.name());
}else {
budgetChange.setApplyType(applyType.name());
}
List<TbsBudgetChangeCondition> budgetChangeConditions = conditions.stream()
.map(TbsBudgetChangeCondition::toNewObject).collect(Collectors.toList());
List<TbsBudgetChangeScheduleItem> budgetChangeScheduleItemList = scheduleItemBudgetList.stream()
@ -98,14 +113,24 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
budgetChange.setNewAttachIds(budget.getAttachIds());
budgetChange.setNewAttachInfos(sysAttachService.listByIds(Arrays.asList(budget.getAttachIds())));
}
return null;
return budgetChange;
}
@Override
public List<TbsBudgetChangeVo> selectChangeVoList(TbsBudgetChangeSo query) {
query.setPageSize(PageUtil.getPageSize());
query.setStartRow(PageUtil.getStartRow());
return baseMapper.selectChangeVoList(query);
List<TbsBudgetChangeVo> result = baseMapper.selectChangeVoList(query);
for (TbsBudgetChangeVo changeVo : result) {
if(changeVo.getBatchApplyFlag().equals(1)){
if(changeVo.getType().equals(ChangeTypeEnum.change.name())){
changeVo.setType(ChangeTypeEnum.batchChange.name());
}else {
changeVo.setType(ChangeTypeEnum.batchApply.name());
}
}
}
return result;
}
@Override

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

@ -99,7 +99,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsBudget tbsBudget = this.getById(id);
if(tbsBudget.getBudgetState().equals(1)){
Assert.throwEx("");
Assert.throwEx("已开启");
}
Map<String,Object> data = new HashMap<>();
data.put("exsp5", tbsBudget.getBudgetCode());
@ -137,6 +137,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
tbsBudget.setUserId(sysUser.getId());
tbsBudget.setUserCode(sysUser.getCode());
tbsBudget.setUserName(sysUser.getName());
tbsBudget.setBatchApplyFlag(0);
this.updateById(tbsBudget);
//创建流程后回调

6
src/main/resources/mapper/tbs/TbsBudgetChangeMapper.xml

@ -53,7 +53,8 @@
tbs_budget.`user_id`,
tbs_budget.`user_code`,
tbs_budget.`user_name`,
tbs_budget.`remark`
tbs_budget.`remark`,
tbs_budget.`batch_apply_flag`
from tbs_budget
where tbs_budget.del_flag = 0 and `tbs_budget`.`budget_check_state` != 0
<if test="query.budgetId != null"> and `tbs_budget`.`id` = #{query.budgetId}</if>
@ -92,7 +93,8 @@
tbs_budget_change.`remark`,
tbs_budget_change.`user_id`,
tbs_budget_change.`user_code`,
tbs_budget_change.`user_name`
tbs_budget_change.`user_name`,
tbs_budget_change.`batch_apply_flag`
from tbs_budget_change
where tbs_budget_change.del_flag = 0
<if test="query.code != null and query.code != ''">

Loading…
Cancel
Save