Browse Source

费用核销数据交接

v1.0
Yen 2 years ago
parent
commit
a6785a87d0
  1. 3
      src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java
  2. 1
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  3. 27
      src/main/java/com/qs/serve/modules/oms/entity/bo/SysFlowCancelBo.java
  4. 31
      src/main/java/com/qs/serve/modules/oms/entity/bo/SysFlowLeaveBo.java
  5. 31
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  6. 67
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserFlowApplication.java
  7. 6
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java
  8. 30
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java
  9. 33
      src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java
  10. 15
      src/main/resources/mapper/tbs/TbsCostApplyMapper.xml
  11. 22
      src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml

3
src/main/java/com/qs/serve/modules/bms/entity/BmsSupplierAddress.java

@ -67,16 +67,19 @@ public class BmsSupplierAddress implements Serializable {
/** 详细地址 */
@NotBlank(message = "详细地址不能为空")
@Length(max = 255,message = "详细地址长度不能超过255字")
@TableField(condition = SqlCondition.LIKE)
private String detail;
/** 手机号 */
@NotBlank(message = "手机号不能为空")
@Length(max = 250,message = "手机号长度不能超过30字")
@TableField(condition = SqlCondition.LIKE)
private String phone;
/** 收件人 */
@NotBlank(message = "收件人不能为空")
@Length(max = 30,message = "收件人长度不能超过30字")
@TableField(condition = SqlCondition.LIKE)
private String receiver;
/** 物流系统的id */

1
src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java

@ -171,6 +171,7 @@ public class OmsOrderApi {
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
OmsOrder omsOrder = omsOrderService.getById(id);
omsOrder.setBrandRuleInfo(goodsCategoryRuleService.getById(omsOrder.getBrandRuleId()));
omsOrder.setAddressInfo(bmsSupplierAddressService.getById(omsOrder.getSupplierAddrId()));
if(omsOrder.getSupplierId().toString().equals(supplier.getId())){
LambdaQueryWrapper<OmsOrderItem> lqw = new LambdaQueryWrapper<>();
lqw.eq(OmsOrderItem::getOrderId,id);

27
src/main/java/com/qs/serve/modules/oms/entity/bo/SysFlowCancelBo.java

@ -0,0 +1,27 @@
package com.qs.serve.modules.oms.entity.bo;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2023/10/27
*/
@Data
public class SysFlowCancelBo {
/**
* 业务数据ID列表
*/
List<String> targetIds;
/**
* 业务类型
* 1-费用及核销
* 2-政策
* 3-订单
*/
Integer targetTypeNum;
}

31
src/main/java/com/qs/serve/modules/oms/entity/bo/SysFlowLeaveBo.java

@ -0,0 +1,31 @@
package com.qs.serve.modules.oms.entity.bo;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2023/10/27
*/
@Data
public class SysFlowLeaveBo {
/**
* 交接人ID
*/
String userId;
/**
* 业务数据ID列表
*/
List<String> targetIds;
/**
* 业务类型
* 1-费用及核销
* 2-政策
* 3-订单
*/
Integer targetTypeNum;
}

31
src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java

@ -18,12 +18,15 @@ import com.qs.serve.common.model.dto.TreeNode;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.oms.entity.bo.SysFlowCancelBo;
import com.qs.serve.modules.oms.entity.bo.SysFlowLeaveBo;
import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService;
import com.qs.serve.modules.sys.entity.*;
import com.qs.serve.modules.sys.entity.bo.*;
import com.qs.serve.modules.sys.entity.dto.*;
import com.qs.serve.modules.sys.mapper.SysMenuMapper;
import com.qs.serve.modules.sys.service.*;
import com.qs.serve.modules.sys.service.impl.SysUserFlowApplication;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.service.WxUserService;
@ -56,6 +59,7 @@ public class SysUserController {
private WxUserService wxUserService;
private SysUserSalesService sysUserSalesService;
private final SysMenuMapper sysMenuMapper;
private final SysUserFlowApplication sysUserFlowApplication;
/**
* 检查是否默认密码
@ -627,5 +631,32 @@ public class SysUserController {
return R.ok();
}
/**
* 设置数据的继承人
* @param param
*/
@PostMapping("/extendTranData")
@Transactional(rollbackFor = Exception.class)
public R<?> updateCostExtUserByCostIds(@RequestBody SysFlowLeaveBo param){
if(param.getTargetTypeNum().equals(1)){
sysUserFlowApplication.updateCostExtUserByCostIds(param.getTargetIds(),param.getUserId());
}
return R.ok();
}
/**
* 取消继承人
* @param param
*/
@PostMapping("/cancelTranData")
@Transactional(rollbackFor = Exception.class)
public R<?> cancelCostExtUserByCostId(SysFlowCancelBo param){
if(param.getTargetTypeNum().equals(1)){
sysUserFlowApplication.cancelCostExtUserByCostIds(param.getTargetIds());
}
return R.ok();
}
}

67
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserFlowApplication.java

@ -0,0 +1,67 @@
package com.qs.serve.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.modules.oms.entity.bo.SysFlowCancelBo;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysUserMapper;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 员工任务交付主要方法
* @author YenHex
* @since 2023/10/27
*/
@Slf4j
@Service
@AllArgsConstructor
public class SysUserFlowApplication {
private final TbsCostApplyMapper tbsCostApplyMapper;
private final VtbVerificationMapper verificationMapper;
private final SysUserMapper sysUserMapper;
/**
* 费用核销 任务交付
*/
@Transactional(rollbackFor = Exception.class)
public void tranCostApplyAndVerification(String sourUserId,String targetUserId){
SysUser sysUser = sysUserMapper.selectById(targetUserId);
tbsCostApplyMapper.updateCostExtUser(sourUserId,sysUser);
verificationMapper.updateCostExtUser(sourUserId,sysUser);
}
/**
* 费用核销 设置数据的继承人
* @param costIds
* @param targetUserId
* @return
*/
@Transactional(rollbackFor = Exception.class)
public void updateCostExtUserByCostIds(List<String> costIds,String targetUserId){
SysUser sysUser = sysUserMapper.selectById(targetUserId);
tbsCostApplyMapper.updateCostExtUserByCostIds(costIds,sysUser);
verificationMapper.updateCostExtUserByCostIds(costIds,sysUser);
}
/**
* 费用核销 取消继承人
* @param costIds
*/
public void cancelCostExtUserByCostIds(List<String> costIds){
tbsCostApplyMapper.cancelCostExtUserByCostId(costIds);
verificationMapper.cancelCostExtUserByCostIds(costIds);
}
}

6
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java

@ -51,6 +51,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
private final SysPostMapper postMapper;
private final BmsSupplierMapper supplierMapper;
private final BmsSupplierApplicationService supplierApplicationService;
private final SysUserFlowApplication sysUserFlowApplication;
private final SeeYonProperties seeYonProperties;
@Override
@ -302,7 +303,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
userRoleService.replaceAndRemove(userId,roleUserId);
//工作交接人
String flowUserId = userLeave.getFlowUserId();
sysUserFlowApplication.tranCostApplyAndVerification(userId,flowUserId);
}
}
//不匹配也要移除客户权限和角色
@ -312,9 +313,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
//更新离职记录标为完成
if(updateLeaveStatus&&sysUserLeaves.size()>0){
for (SysUserLeave userLeaf : sysUserLeaves) {

30
src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostApplyMapper.java

@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.math.BigDecimal;
import java.time.LocalDate;
@ -30,6 +32,34 @@ public interface TbsCostApplyMapper extends BaseMapper<TbsCostApply> {
@Param("startNowDate") LocalDate startNowDate,
@Param("nowDate")LocalDate nowDate);
/**
* 替换继承人
* @param userId
* @param sysUser
* @return
*/
@Update(
"update tbs_cost_apply " +
" set ext_user_id = #{obj.id},ext_user_id=#{obj.code},ext_user_name=#{obj.name}" +
" where charge_State!=0 and (user_id = #{userId} or ext_user_id = #{userId}) and del_flag=0"
)
int updateCostExtUser(@Param("userId") String userId,@Param("obj") SysUser sysUser);
/**
* 设置数据的继承人
* @param costIds
* @param sysUser
* @return
*/
int updateCostExtUserByCostIds(@Param("costIds") List<String> costIds,@Param("obj") SysUser sysUser);
/**
* 设空继承人
* @param costIds
* @return
*/
int cancelCostExtUserByCostId(@Param("costIds") List<String> costIds);
/**
* 查询列表
* @param page

33
src/main/java/com/qs/serve/modules/vtb/mapper/VtbVerificationMapper.java

@ -1,7 +1,12 @@
package com.qs.serve.modules.vtb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
* 核销 Mapper
@ -10,5 +15,33 @@ import com.qs.serve.modules.vtb.entity.VtbVerification;
*/
public interface VtbVerificationMapper extends BaseMapper<VtbVerification> {
/**
* 替换继承人
* @param userId
* @param sysUser
* @return
*/
@Update(
"update vtb_verification " +
" set ext_user_id = #{obj.id},ext_user_id=#{obj.code},ext_user_name=#{obj.name}" +
" where charge_State!=0 and (user_id = #{userId} or ext_user_id = #{userId}) and del_flag=0"
)
int updateCostExtUser(@Param("userId") String userId, @Param("obj") SysUser sysUser);
/**
* 设空继承人
* @param costIds
* @return
*/
int cancelCostExtUserByCostIds(@Param("costIds") List<String> costIds);
/**
* 设置数据的继承人
* @param costIds
* @param sysUser
* @return
*/
int updateCostExtUserByCostIds(@Param("costIds") List<String> costIds, @Param("obj") SysUser sysUser);
}

15
src/main/resources/mapper/tbs/TbsCostApplyMapper.xml

@ -77,6 +77,21 @@
tbs_cost_apply.`template_title` </sql>
<update id="updateCostExtUserByCostIds">
update tbs_cost_apply
set ext_user_id = #{obj.id},ext_user_id=#{obj.code},ext_user_name=#{obj.name}
where del_flag=0 and id in
<foreach collection="costIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</update>
<delete id="cancelCostExtUserByCostId">
update tbs_cost_apply set ext_user_id = null,ext_user_id=null,ext_user_name=null where id in
<foreach collection="costIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</delete>
<select id="selectCostApplyList" parameterType="com.qs.serve.modules.tbs.entity.TbsCostApply" resultMap="tbsCostApplyMap">
SELECT

22
src/main/resources/mapper/vtb/VtbVerfifcationMapper.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qs.serve.modules.vtb.mapper.VtbVerificationMapper">
<update id="updateCostExtUserByCostIds">
update vtb_verification
set ext_user_id = #{obj.id},ext_user_id=#{obj.code},ext_user_name=#{obj.name}
where del_flag=0 and cost_apply_id in
<foreach collection="checkIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</update>
<delete id="cancelCostExtUserByCostIds">
update vtb_verification set ext_user_id = null,ext_user_id=null,ext_user_name=null where cost_apply_id in
<foreach collection="costIds" item="selectId" index="i" open="(" close=")" separator=",">
#{selectId}
</foreach>
</delete>
</mapper>
Loading…
Cancel
Save