Browse Source

匹配规则异常修复;人员离职定时任务;

v1.0
Yen 2 years ago
parent
commit
843e2eaca7
  1. 2
      src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java
  2. 23
      src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java
  3. 4
      src/main/java/com/qs/serve/modules/tbs/common/util/CostSort2WrapperUtil.java
  4. 31
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java
  5. 4
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java
  6. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java
  7. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java
  8. 2
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java
  9. 11
      src/main/java/com/qs/serve/task/SysTask.java
  10. 28
      src/main/java/com/qs/serve/task/controller/TaskUserController.java

2
src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java

@ -55,7 +55,7 @@ public class ExlTableConfController {
* @param param * @param param
* @return * @return
*/ */
//@GetMapping("/list") @GetMapping("/list")
public R<List<ExlTableConf>> getList(ExlTableConf param){ public R<List<ExlTableConf>> getList(ExlTableConf param){
LambdaQueryWrapper<ExlTableConf> lqw = new LambdaQueryWrapper<>(param); LambdaQueryWrapper<ExlTableConf> lqw = new LambdaQueryWrapper<>(param);
List<ExlTableConf> list = exlTableConfService.list(lqw); List<ExlTableConf> list = exlTableConfService.list(lqw);

23
src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java

@ -36,7 +36,7 @@ import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* 动态Excel表 表配置 * 动态Excel表 数据查询
* @author YenHex * @author YenHex
* @since 2023-08-11 * @since 2023-08-11
*/ */
@ -52,11 +52,11 @@ public class ExlTableDataController {
private ExlTableConfMapper exlTableConfMapper; private ExlTableConfMapper exlTableConfMapper;
/** /**
* test * 翻页查询
* @return * @return
*/ */
@GetMapping("/page/{tableConfigId}") @GetMapping("/page/{tableConfigId}")
public R<?> test(@PathVariable("tableConfigId") Long tableConfigId,@RequestParam Map<String,String> map){ public R<?> page(@PathVariable("tableConfigId") Long tableConfigId,@RequestParam Map<String,String> map){
// table // table
ExlTableConf tableConf = exlTableConfService.getById(tableConfigId); ExlTableConf tableConf = exlTableConfService.getById(tableConfigId);
// columns // columns
@ -124,6 +124,23 @@ public class ExlTableDataController {
List<ExlColumnConf> columnList = exlColumnConfService.list(columnLqw); List<ExlColumnConf> columnList = exlColumnConfService.list(columnLqw);
String targetTableName = ExlConst.TABLE_NAME_PRE + tableConf.getTableName(); 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<param.size()){
removeSql.append(",");
}
}
removeSql.append(");");
QsSqlSessionUtil.executeSql(removeSql.toString(),sqlSessionTemplate);
}
//insert into table (cloumns) values (vals),(vals) //insert into table (cloumns) values (vals),(vals)
StringBuilder insertSql = new StringBuilder("insert into "+targetTableName +"( `union_row_id`,"); StringBuilder insertSql = new StringBuilder("insert into "+targetTableName +"( `union_row_id`,");
for (int i = 0; i < columnList.size(); i++) { for (int i = 0; i < columnList.size(); i++) {

4
src/main/java/com/qs/serve/modules/tbs/common/util/CostSort2WrapperUtil.java

@ -81,8 +81,8 @@ public class CostSort2WrapperUtil {
//商品排序 //商品排序
Collections.sort(list, (o1, o2) -> { Collections.sort(list, (o1, o2) -> {
int len1 = o1.getConditionGoodsIds().split("_").length; int len1 = o1.getConditionGoodsIds()==null?0:o1.getConditionGoodsIds().split("_").length;
int len2 = o2.getConditionGoodsIds().split("_").length; int len2 = o2.getConditionGoodsIds()==null?0:o2.getConditionGoodsIds().split("_").length;
log.debug("时间区间相同,len1:{} , len2:{}",len1,len2); log.debug("时间区间相同,len1:{} , len2:{}",len1,len2);
return len2 - len1; return len2 - len1;
}); });

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

@ -1,18 +1,30 @@
package com.qs.serve.modules.tbs.service.impl; 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.AsyncFactory;
import com.qs.serve.common.framework.manager.AsyncManager; 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.Assert;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.modules.seeyon.service.SeeYonOperationService; 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.TbsBudgetCheckState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; 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.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.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; 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.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/** /**
* 预算申请 * 预算申请
* @author YenHex * @author YenHex
@ -23,7 +35,9 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor @AllArgsConstructor
public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationService { public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationService {
private TbsBudgetMapper budgetMapper; private final TbsBudgetMapper budgetMapper;
private final TbsBudgetLogService budgetLogService;
private final TbsScheduleItemBudgetService scheduleItemBudgetService;
@Override @Override
public boolean checkSyFormIdIsNotNull(String targetId) { public boolean checkSyFormIdIsNotNull(String targetId) {
@ -68,6 +82,21 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic
//启用预算 //启用预算
tbsBudget.setBudgetState(1); tbsBudget.setBudgetState(1);
budgetMapper.updateById(tbsBudget); budgetMapper.updateById(tbsBudget);
SysUser sysUser = getSysUserService().getById(AuthContextUtils.getSysUserId());
LambdaQueryWrapper<TbsScheduleItemBudget> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsScheduleItemBudget::getBudgetId,param.getTargetId());
List<TbsScheduleItemBudget> scheduleItemBudgets = scheduleItemBudgetService.list(lqw);
//保存预算流水日志
List<TbsBudgetLog> 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; return null;
} }

4
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java

@ -103,7 +103,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi
} }
//更新金额 //更新金额
List<TbsBudgetChangeScheduleItem> changeScheduleItemList = tbsBudgetChangeScheduleItemService.listByChangeId(budgetChange.getId()); List<TbsBudgetChangeScheduleItem> changeScheduleItemList = tbsBudgetChangeScheduleItemService.listByChangeId(budgetChange.getId());
if(CollectionUtil.isNotEmpty(changeConditionList)){ if(CollectionUtil.isNotEmpty(changeScheduleItemList)){
List<Long> scheduleItemBudgetIds = changeScheduleItemList.stream().map(TbsBudgetChangeScheduleItem::getSourceId).collect(Collectors.toList()); List<Long> scheduleItemBudgetIds = changeScheduleItemList.stream().map(TbsBudgetChangeScheduleItem::getSourceId).collect(Collectors.toList());
List<TbsScheduleItemBudget> scheduleItemBudgetList = tbsScheduleItemBudgetService.listByIds(scheduleItemBudgetIds); List<TbsScheduleItemBudget> scheduleItemBudgetList = tbsScheduleItemBudgetService.listByIds(scheduleItemBudgetIds);
for (TbsScheduleItemBudget item : scheduleItemBudgetList) { for (TbsScheduleItemBudget item : scheduleItemBudgetList) {
@ -127,7 +127,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi
boolean changeAmtIsNotNull = changeItem.getBudgetAmount()!=null&&changeItem.getNewBudgetAmount()!=null; boolean changeAmtIsNotNull = changeItem.getBudgetAmount()!=null&&changeItem.getNewBudgetAmount()!=null;
if(changeAmtIsNotNull && changeItem.getBudgetAmount().compareTo(changeItem.getNewBudgetAmount())!=0){ if(changeAmtIsNotNull && changeItem.getBudgetAmount().compareTo(changeItem.getNewBudgetAmount())!=0){
BudgetLogOptFlag optType; BudgetLogOptFlag optType;
BigDecimal amount = changeItem.getBudgetAmount().subtract(changeItem.getNewBudgetAmount()); BigDecimal amount = changeItem.getNewBudgetAmount().subtract(changeItem.getBudgetAmount());
if(amount.compareTo(BigDecimal.ZERO)>0){ if(amount.compareTo(BigDecimal.ZERO)>0){
optType = BudgetLogOptFlag.State_2; optType = BudgetLogOptFlag.State_2;
}else if(amount.compareTo(BigDecimal.ZERO)<0){ }else if(amount.compareTo(BigDecimal.ZERO)<0){

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

@ -140,7 +140,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
TbsBudgetChange budgetChange = TbsBudgetChange.toNewObject(budget); TbsBudgetChange budgetChange = TbsBudgetChange.toNewObject(budget);
budgetChange.setOrgAttachIds(budget.getAttachIds()); budgetChange.setOrgAttachIds(budget.getAttachIds());
budgetChange.setNewAttachIds(param.getAttachIds()); budgetChange.setNewAttachIds(param.getAttachIds());
budgetChange.setChangeCode(CodeGenUtil.generate(CodeGenUtil.SourceKey.BudgetChange)); budgetChange.setChangeCode("BU"+CodeGenUtil.generate(CodeGenUtil.SourceKey.BudgetChange));
budgetChange.setUserId(sysUser.getId()); budgetChange.setUserId(sysUser.getId());
budgetChange.setUserCode(sysUser.getCode()); budgetChange.setUserCode(sysUser.getCode());
budgetChange.setUserName(sysUser.getName()); budgetChange.setUserName(sysUser.getName());

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

@ -172,7 +172,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
budgetConditionService.remove(lqw); budgetConditionService.remove(lqw);
}else { }else {
budget = CopierUtil.copy(budgetBo,new TbsBudget()); budget = CopierUtil.copy(budgetBo,new TbsBudget());
budget.setBudgetNumber(CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget)); budget.setBudgetNumber("BM"+CodeGenUtil.generate(CodeGenUtil.SourceKey.Budget));
} }
List<Long> skuIds = budgetBo.getSkuIds(); List<Long> skuIds = budgetBo.getSkuIds();
List<Long> spuIds = budgetBo.getSpuIds(); List<Long> spuIds = budgetBo.getSpuIds();

2
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -515,7 +515,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
activity.setActivityState(TbsActivityState.STATE_1_Baning); activity.setActivityState(TbsActivityState.STATE_1_Baning);
}else { }else {
//解冻 //解冻
activity.setReopenFlag(0); activity.setReopenFlag(1);
if(this.checkCommitting(dbAct.getId())){ if(this.checkCommitting(dbAct.getId())){
activity.setActivityState(TbsActivityState.STATE_1_Checking); activity.setActivityState(TbsActivityState.STATE_1_Checking);
}else { }else {

11
src/main/java/com/qs/serve/task/SysTask.java

@ -34,4 +34,15 @@ public class SysTask {
taskUserController.test(); taskUserController.test();
} }
/**
* 同步离职
*/
@Scheduled(cron="0 0 2 * * ?")
public void task2(){
AuthContextUtils.setTenant("001");
taskUserController.doLeave();
}
} }

28
src/main/java/com/qs/serve/task/controller/TaskUserController.java

@ -5,7 +5,9 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.JsonUtil; import com.qs.serve.common.util.JsonUtil;
import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService; import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.entity.SysUserLeave;
import com.qs.serve.modules.sys.entity.dto.SyUser; import com.qs.serve.modules.sys.entity.dto.SyUser;
import com.qs.serve.modules.sys.service.SysUserLeaveService;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.wx.service.WxUserService; import com.qs.serve.modules.wx.service.WxUserService;
@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -35,6 +38,31 @@ public class TaskUserController {
SeeYonRequestBaseService seeYonRequestBaseService; SeeYonRequestBaseService seeYonRequestBaseService;
SysUserService sysUserService; SysUserService sysUserService;
SysUserLeaveService sysUserLeaveService;
public R<?> doLeave(){
LambdaQueryWrapper<SysUserLeave> lqw = new LambdaQueryWrapper<>();
lqw.select(SysUserLeave::getUserId,SysUserLeave::getId);
lqw.le(SysUserLeave::getLeaveEffectDate, LocalDate.now());
lqw.eq(SysUserLeave::getLeaveStatus,0);
List<SysUserLeave> sysUserLeaves = sysUserLeaveService.list(lqw);
if(sysUserLeaves.size()<1){
return null;
}
for (SysUserLeave userLeaf : sysUserLeaves) {
userLeaf.setLeaveStatus(1);
}
sysUserLeaveService.updateBatchById(sysUserLeaves);
List<String> userIds = sysUserLeaves.stream().map(a->a.getUserId()).collect(Collectors.toList());
LambdaQueryWrapper<SysUser> 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 * 同步致远的用户到CRM

Loading…
Cancel
Save