From 843e2eaca7e5a754532c26f46ff48674612945a6 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 16 Aug 2023 16:42:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=B9=E9=85=8D=E8=A7=84=E5=88=99=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E4=BF=AE=E5=A4=8D=EF=BC=9B=E4=BA=BA=E5=91=98=E7=A6=BB?= =?UTF-8?q?=E8=81=8C=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ExlTableConfController.java | 2 +- .../controller/ExlTableDataController.java | 23 ++++++++++++-- .../tbs/common/util/CostSort2WrapperUtil.java | 4 +-- .../TbsBudgetApplyOperationServiceImpl.java | 31 ++++++++++++++++++- .../TbsBudgetChangeOperationServiceImpl.java | 4 +-- .../impl/TbsBudgetChangeServiceImpl.java | 2 +- .../service/impl/TbsBudgetServiceImpl.java | 2 +- .../impl/VtbVerificationServiceImpl.java | 2 +- src/main/java/com/qs/serve/task/SysTask.java | 11 +++++++ .../task/controller/TaskUserController.java | 28 +++++++++++++++++ 10 files changed, 97 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java index 4ffadbb6..7ac3c139 100644 --- a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java +++ b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java @@ -55,7 +55,7 @@ public class ExlTableConfController { * @param param * @return */ - //@GetMapping("/list") + @GetMapping("/list") public R> getList(ExlTableConf param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); List list = exlTableConfService.list(lqw); diff --git a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java index 8d97b54b..e959c5e5 100644 --- a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java +++ b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java @@ -36,7 +36,7 @@ import java.util.Map; import java.util.stream.Collectors; /** - * 动态Excel表 表配置 + * 动态Excel表 数据查询 * @author YenHex * @since 2023-08-11 */ @@ -52,11 +52,11 @@ public class ExlTableDataController { private ExlTableConfMapper exlTableConfMapper; /** - * test + * 翻页查询 * @return */ @GetMapping("/page/{tableConfigId}") - public R test(@PathVariable("tableConfigId") Long tableConfigId,@RequestParam Map map){ + public R page(@PathVariable("tableConfigId") Long tableConfigId,@RequestParam Map map){ // table ExlTableConf tableConf = exlTableConfService.getById(tableConfigId); // columns @@ -124,6 +124,23 @@ public class ExlTableDataController { List columnList = exlColumnConfService.list(columnLqw); String targetTableName = ExlConst.TABLE_NAME_PRE + tableConf.getTableName(); + //移除旧历史 + int keyCount = (int) columnList.stream().filter(a -> a.getKeyFlag().equals(1)).count(); + if(keyCount>0){ + StringBuilder removeSql = new StringBuilder("delete from "+targetTableName+" where union_row_id in ("); + for (int k = 0;k < param.size(); k++) { + Object obj = param.get(k); + JSONObject jsonObject = JSONObject.parseObject(JsonUtil.objectToJson(obj)); + String unionId = TableCreateSqlUtil.buildUnionId(columnList,jsonObject); + removeSql.append("'"+unionId+"'"); + if(k+1 { - int len1 = o1.getConditionGoodsIds().split("_").length; - int len2 = o2.getConditionGoodsIds().split("_").length; + int len1 = o1.getConditionGoodsIds()==null?0:o1.getConditionGoodsIds().split("_").length; + int len2 = o2.getConditionGoodsIds()==null?0:o2.getConditionGoodsIds().split("_").length; log.debug("时间区间相同,len1:{} , len2:{}",len1,len2); return len2 - len1; }); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java index 23dcf8cb..e707d29a 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java @@ -1,18 +1,30 @@ package com.qs.serve.modules.tbs.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.framework.manager.AsyncFactory; import com.qs.serve.common.framework.manager.AsyncManager; +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.modules.seeyon.service.SeeYonOperationService; +import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.TbsBudget; +import com.qs.serve.modules.tbs.entity.TbsBudgetLog; +import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; +import com.qs.serve.modules.tbs.service.TbsBudgetLogService; +import com.qs.serve.modules.tbs.service.TbsScheduleItemBudgetService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** * 预算申请 * @author YenHex @@ -23,7 +35,9 @@ import org.springframework.stereotype.Service; @AllArgsConstructor public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationService { - private TbsBudgetMapper budgetMapper; + private final TbsBudgetMapper budgetMapper; + private final TbsBudgetLogService budgetLogService; + private final TbsScheduleItemBudgetService scheduleItemBudgetService; @Override public boolean checkSyFormIdIsNotNull(String targetId) { @@ -68,6 +82,21 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic //启用预算 tbsBudget.setBudgetState(1); budgetMapper.updateById(tbsBudget); + + SysUser sysUser = getSysUserService().getById(AuthContextUtils.getSysUserId()); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsScheduleItemBudget::getBudgetId,param.getTargetId()); + List scheduleItemBudgets = scheduleItemBudgetService.list(lqw); + //保存预算流水日志 + List budgetLogList = new ArrayList<>(); + for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) { + TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser, tbsBudget, scheduleItemBudget, BudgetLogOptFlag.State_0,scheduleItemBudget.getBudgetAmount()); + if (budgetLog!=null){ + budgetLogList.add(budgetLog); + } + } + budgetLogService.saveBatch(budgetLogList); + } return null; } 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 a2c717cc..9d12e728 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 @@ -103,7 +103,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi } //更新金额 List changeScheduleItemList = tbsBudgetChangeScheduleItemService.listByChangeId(budgetChange.getId()); - if(CollectionUtil.isNotEmpty(changeConditionList)){ + if(CollectionUtil.isNotEmpty(changeScheduleItemList)){ List scheduleItemBudgetIds = changeScheduleItemList.stream().map(TbsBudgetChangeScheduleItem::getSourceId).collect(Collectors.toList()); List scheduleItemBudgetList = tbsScheduleItemBudgetService.listByIds(scheduleItemBudgetIds); for (TbsScheduleItemBudget item : scheduleItemBudgetList) { @@ -127,7 +127,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi boolean changeAmtIsNotNull = changeItem.getBudgetAmount()!=null&&changeItem.getNewBudgetAmount()!=null; if(changeAmtIsNotNull && changeItem.getBudgetAmount().compareTo(changeItem.getNewBudgetAmount())!=0){ BudgetLogOptFlag optType; - BigDecimal amount = changeItem.getBudgetAmount().subtract(changeItem.getNewBudgetAmount()); + BigDecimal amount = changeItem.getNewBudgetAmount().subtract(changeItem.getBudgetAmount()); if(amount.compareTo(BigDecimal.ZERO)>0){ optType = BudgetLogOptFlag.State_2; }else if(amount.compareTo(BigDecimal.ZERO)<0){ 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 32ede9e9..031e42e0 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 @@ -140,7 +140,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl budgetConditionService.remove(lqw); }else { budget = CopierUtil.copy(budgetBo,new TbsBudget()); - budget.setBudgetNumber(CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget)); + budget.setBudgetNumber("BM"+CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget)); } List skuIds = budgetBo.getSkuIds(); List spuIds = budgetBo.getSpuIds(); 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 f8865990..e877a3bf 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 @@ -515,7 +515,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl doLeave(){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.select(SysUserLeave::getUserId,SysUserLeave::getId); + lqw.le(SysUserLeave::getLeaveEffectDate, LocalDate.now()); + lqw.eq(SysUserLeave::getLeaveStatus,0); + List sysUserLeaves = sysUserLeaveService.list(lqw); + if(sysUserLeaves.size()<1){ + return null; + } + for (SysUserLeave userLeaf : sysUserLeaves) { + userLeaf.setLeaveStatus(1); + } + sysUserLeaveService.updateBatchById(sysUserLeaves); + List userIds = sysUserLeaves.stream().map(a->a.getUserId()).collect(Collectors.toList()); + LambdaQueryWrapper updLqw = new LambdaQueryWrapper<>(); + updLqw.in(SysUser::getId,userIds); + SysUser sysUser = new SysUser(); + sysUser.setServingState(0); + sysUser.setServingLeaveDate(LocalDate.now()); + sysUserService.update(sysUser,updLqw); + return R.ok(); + } /** * 同步致远的用户到CRM