ソースを参照

代课录单费用修改

wks 2 年 前
コミット
c1bc5a07e4

+ 33 - 0
src/main/java/com/ydtech/extension/BaseIService.java

@@ -0,0 +1,33 @@
+package com.ydtech.extension;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.exception.SystemException;
+import org.springframework.util.ObjectUtils;
+
+import java.io.Serializable;
+
+
+/**
+ * 扩展 IService
+ *
+ * @param <T>
+ */
+public interface BaseIService<T> extends IService<T> {
+
+    /**
+     * 判断是否存在
+     *
+     * @param id 订单表
+     * @param message 报错信息
+     * @return 实体
+     */
+    default T getByIdExist(Serializable id, String message) {
+        T t = getById(id);
+        if (ObjectUtils.isEmpty(t)) {
+            throw new SystemException(message);
+        }
+        return t;
+    }
+
+
+}

+ 1 - 1
src/main/java/com/ydtech/modules/admin/constants/UserWorkStatus.java

@@ -8,7 +8,7 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum UserWorkStatus {
 
-    UWS_0(0,"离司"),
+    UWS_0(0,"在职"),
     UWS_1(1,"正常"),
     UWS_2(2,"入司待审核"),
     UWS_3(3,"入司审核驳回"),

+ 20 - 9
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -428,6 +428,7 @@ public class SysUserController extends BaseController {
         }
         return HttpResult.ok(sysUserService.findBackUserList(sysUserDto));
     }
+
     @ApiOperation(value = "后线用户查询不分页(编辑时查询领导人)")
     @PostMapping(value = "/findBackUserList1")
     public HttpResult findBackUserList1(@RequestBody SysUserDto sysUserDto) {
@@ -459,9 +460,9 @@ public class SysUserController extends BaseController {
     @GetMapping(value = "/approvalPass")
     public HttpResult approvalPass(@RequestParam String userId) {
         SysUser sysUser = sysUserService.getById(userId);
-        if(sysUser.getStatus() == UserWorkStatus.UWS_2.getCode()){
+        if (sysUser.getStatus() == UserWorkStatus.UWS_2.getCode()) {
             sysUser.setStatus(UserWorkStatus.UWS_1.getCode());
-        }else if(sysUser.getStatus() == UserWorkStatus.UWS_4.getCode()){
+        } else if (sysUser.getStatus() == UserWorkStatus.UWS_4.getCode()) {
             sysUser.setStatus(UserWorkStatus.UWS_0.getCode());
         }
         SysUserTrack sysUserTrack = new SysUserTrack();
@@ -485,9 +486,9 @@ public class SysUserController extends BaseController {
 
 
         SysUser sysUser = sysUserService.getById(userId);
-        if(Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_2.getCode())) {
+        if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_2.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_3.getCode());
-        }else if(Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_4.getCode())){
+        } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_4.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_5.getCode());
         }
         sysUser.setApprovalOpinion(reason);
@@ -546,7 +547,7 @@ public class SysUserController extends BaseController {
         queryBank.setUserId(userId);
         queryBank.setAuditStatus("1");
         HttpResult<List<SysUserBankCard>> userBankList = sysUserBankCardService.getUserBankListByQueryParam(queryBank);
-        if(!Objects.isNull(userInfo)) {
+        if (!Objects.isNull(userInfo)) {
             if (userBankList.getData().isEmpty()) {
                 userInfo.setBankName(null);
                 userInfo.setAccountno(null);
@@ -883,11 +884,12 @@ public class SysUserController extends BaseController {
         }
 
     }
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/7/11 16:04
-     *  @Description: 查询的所有的后线人员
+     * @version
+     * @author: hxl
+     * @Date: 2024/7/11 16:04
+     * @Description: 查询的所有的后线人员
      */
     @ApiOperation(value = "后线用户查询不分页(编辑时查询领导人)")
     @GetMapping(value = "/findHxUserList")
@@ -901,4 +903,13 @@ public class SysUserController extends BaseController {
     public HttpResult departApply(@RequestBody SysUser2Vo sysUserVO) {
         return sysUserService.departApply(sysUserVO) ? HttpResult.ok("离职申请提交成功") : HttpResult.error("离职申请提交失败");
     }
+
+
+    @ApiOperation(value = "离职恢复")
+    @PostMapping("/separationReinstatement/{id}")
+    public HttpResult separationReinstatement(@PathVariable String id) {
+        sysUserService.separationReinstatement(id);
+        return HttpResult.ok("恢复成功");
+    }
+
 }

+ 14 - 0
src/main/java/com/ydtech/modules/admin/model/SysUserTrack.java

@@ -1,10 +1,15 @@
 package com.ydtech.modules.admin.model;
 
+import cn.dev33.satoken.stp.StpUtil;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.util.Date;
 
 @Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class SysUserTrack {
     /**
      * id
@@ -30,4 +35,13 @@ public class SysUserTrack {
      * 审核信息
      */
     private String approveMess;
+
+
+    public SysUserTrack(SysUser sysUser) {
+        this.userId = sysUser.getId();
+        this.status = sysUser.getStatus();
+        this.approveBy = StpUtil.getLoginId().toString();
+        this.approveTime = new Date();
+    }
+
 }

+ 3 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserBaseVO.java

@@ -70,4 +70,7 @@ public class SysUserBaseVO {
 
     @ApiModelProperty(value = "审核时间")
     private Date approveTime;
+
+    @ApiModelProperty(value = "审核人")
+    private String approveBy;
 }

+ 16 - 2
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -3,9 +3,9 @@ package com.ydtech.modules.admin.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageResult;
+import com.ydtech.extension.BaseIService;
 import com.ydtech.modules.admin.model.QuTeamNum;
 import com.ydtech.modules.admin.model.QuUserNum;
 import com.ydtech.modules.admin.model.SysUser;
@@ -20,7 +20,9 @@ import com.ydtech.modules.base.model.vo.PageVo;
 import java.util.List;
 import java.util.Set;
 
-public interface SysUserService extends IService<SysUser> {
+public interface SysUserService extends BaseIService<SysUser> {
+
+
     SysUser findByUsername(String username);
 
     SysUser findByPhone(String phone);
@@ -83,6 +85,11 @@ public interface SysUserService extends IService<SysUser> {
 
     IPage<SysUserBaseVO> findAllUserList(PageDto<SysUserDto> pageDto);
 
+    /**
+     * 查询人员列表
+     * @param sysUserDto 查询实体
+     * @return 人员列表
+     */
     IPage<SysUserBaseVO> findBackUserList(SysUserDto sysUserDto);
 
     List<SysUserBaseVO> findBackUserList1(SysUserDto sysUserDto);
@@ -200,6 +207,13 @@ public interface SysUserService extends IService<SysUser> {
      * @return
      */
     boolean departApply(SysUser2Vo sysUserVO);
+
+    /**
+     * 离职恢复
+     * @param userid 用户id
+     */
+    void separationReinstatement(String userid);
+
 }
 
 

+ 17 - 9
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -113,13 +113,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     @Override
     public IPage<SysUserBaseVO> findBackUserList(SysUserDto sysUserDto) {
-        PageVo<SysUserBaseVO> pageVo = new PageVo();
-        Page page = new Page(sysUserDto.getPageNum(), sysUserDto.getPageSize());
+        PageVo<SysUserBaseVO> pageVo = new PageVo<>();
+        Page<SysUserBaseVO> page = new Page<>(sysUserDto.getPageNum(), sysUserDto.getPageSize());
+
         pageVo.setPageNum(sysUserDto.getPageNum());
         pageVo.setPageSize(sysUserDto.getPageSize());
         if (sysUserDto.getAgentFlag() == null) {
             throw new SystemException("必传标识未传递");
         }
+
         return sysUserMapper.findBackUserList(page, sysUserDto);
     }
 
@@ -1316,7 +1318,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             strIds.removeIf(id -> !id.contains("99" + quUserNumDto.getAreaCode()));
 
             // 如果筛选后没有有效的下属ID,返回空分页对象
-            if (strIds.size() == 0) {
+            if (strIds.isEmpty()) {
                 return new Page<>();
             }
             // 设置查询条件中的用户ID列表
@@ -1484,6 +1486,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         sysUserLambdaQueryWrapper.in(SysUser::getId, userIds);
         return sysUserMapper.selectList(sysUserLambdaQueryWrapper);
     }
+
     /**
      *  @version
      *  @author: hxl
@@ -1534,12 +1537,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public List<String> getUserIds() {
         return baseMapper.getUserIds();
     }
-}
-
-
-
-
-
 
+    @Override
+    @Transactional
+    public void separationReinstatement(String userid) {
+        SysUser sysUser = getByIdExist(userid, "离职用户未查询到");
+        sysUser.setStatus(UserWorkStatus.UWS_2.getCode());
+        this.updateById(sysUser);
 
+        //添加轨迹
+        SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
+        sysUserTrackService.save(sysUserTrack);
+    }
 
+}

+ 47 - 31
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -23,6 +23,7 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.constants.RoleConstants;
 import com.ydtech.modules.admin.dao.SysUserLinkAreaMapper;
 import com.ydtech.modules.admin.dao.SysUserLinkPtlAgreementMapper;
+import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.*;
 import com.ydtech.modules.admin.model.dto.SysUserLinkPtlAgreementDto;
 import com.ydtech.modules.admin.model.po.SysUserIsDial;
@@ -33,6 +34,7 @@ import com.ydtech.modules.esm.service.EsmUserReferrerService;
 import com.ydtech.modules.fee.service.CostsCalcService;
 import com.ydtech.modules.fee.service.impl.FeeRuleSchemeServiceImpl;
 import com.ydtech.modules.fnc.entity.InsFeeAudit;
+import com.ydtech.modules.fnc.service.InsFeeAuditHistoryService;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.ins.dao.InsFileMapper;
 import com.ydtech.modules.ins.model.InsOrdersExcel;
@@ -84,6 +86,7 @@ import org.springframework.util.ObjectUtils;
 import javax.validation.constraints.NotBlank;
 import java.io.File;
 import java.math.BigDecimal;
+import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
@@ -258,7 +261,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     }
 
     /**
-     * @param user      当前登录人
+     * @param user        当前登录人
      * @param quoteInfoVo 报价信息
      * @return
      */
@@ -312,19 +315,30 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         if (daikeFlag) {//当时代客录单业务时,才需要赋值该字段
             insOrders.setOperatorid(userId);//赋值代客录单操作人为登录人
         }
-        // 录入订单状态
-        insOrders.setUpEntryStatus(daikeFlag);
+
 
         if (isCdy) {//赋值出单员  操作人为登录人
             insOrders.setOperatorid(userId);
         }
         InsOrders insOrders1 = baseMapper.selectById(quoteInfoVo.getOrderNo());
 
-        //需要赋值代录单人ID
+        // 代课录单操作
+        Integer entryStatus = Optional.ofNullable(insOrders1)
+                .map(InsOrders::getEntryStatus)
+                .orElse(null);
+
+        if (ObjectUtils.isEmpty(entryStatus)) {
+            insOrders.setUpEntryStatus(daikeFlag);
+        } else {
+            insOrders.setEntryStatus(insOrders1.getEntryStatus());
+        }
 
+        //需要赋值代录单人ID
         if (ObjectUtils.isEmpty(insOrders1)) {
+            // 录入订单状态
             insOrders1 = insOrders;
         }
+
         String licenseNo = quoteInfoVo.getCarInfo().getLicenseNo();
 
         if (StringUtils.isNotEmpty(licenseNo) && !licenseNo.equals(insOrders1.getLicenseno())) {
@@ -339,7 +353,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             // 将报价号返回
             long l = new SnowFlakeUtil().nextId();
             insOrders.setQuoteno(String.valueOf(l));
-            boolean save = this.saveAndTrajectories( sysUser, insOrders);
+            boolean save = this.saveAndTrajectories(sysUser, insOrders);
             if (!save) {
                 throw new SystemException("订单生成失败");
             }
@@ -394,15 +408,15 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         SysUserRole userRole = sysUserRoleService.selectByUserId(orderQueryVo.getUserId());
         SysUser user = sysUserService.getById(orderQueryVo.getUserId());
         SysDept dept = sysDeptService.getById(user.getDeptId());
-        String deptId="";
-        boolean isCdy =false;
+        String deptId = "";
+        boolean isCdy = false;
         //机构类型为1  角色id=21是渠道团队长
-        if(dept!=null && "1".equals(dept.getManagementSource()) && userRole!=null && userRole.getRoleId()==21){
-            deptId=dept.getId();
+        if (dept != null && "1".equals(dept.getManagementSource()) && userRole != null && userRole.getRoleId() == 21) {
+            deptId = dept.getId();
             isCdy = true;
         }
-        Page<InsOrders> orderVoPage = baseMapper.queryPageOrder(page, orderQueryVo, adminFalg, isCdy,deptId);
-        Long total = baseMapper.queryPageOrderCount(orderQueryVo, adminFalg, isCdy,deptId);
+        Page<InsOrders> orderVoPage = baseMapper.queryPageOrder(page, orderQueryVo, adminFalg, isCdy, deptId);
+        Long total = baseMapper.queryPageOrderCount(orderQueryVo, adminFalg, isCdy, deptId);
         orderVoPage.setTotal(total);
         return new BasePageResult<>(orderQueryVo.getPageNum(), orderQueryVo.getPageSize(), orderVoPage.getTotal(),
                 orderVoPage.getPages()
@@ -752,9 +766,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         if (insAreaCompanyList.size() > 0 && insOrders.getIsExternal() == 1) {
             insAreaCompanyExternalFee = insAreaCompanyExternalFeeService.getById(insAreaCompanyList.get(0).getId());
             insOrdersEditingVo.setSigningTime(insAreaCompanyList.get(0).getSigningTime());
-            insOrdersEditingVo.setJqpremium(insAreaCompanyList.get(0).getJqpremium().compareTo(BigDecimal.ZERO)==0?"":insAreaCompanyList.get(0).getJqpremium() .toString());
-            insOrdersEditingVo.setSypremium(insAreaCompanyList.get(0).getSypremium().compareTo(BigDecimal.ZERO)==0?"":insAreaCompanyList.get(0).getSypremium().toString());
-            insOrdersEditingVo.setJypremium(insAreaCompanyList.get(0).getJypremium().compareTo(BigDecimal.ZERO)==0?"":insAreaCompanyList.get(0).getJypremium().toString());
+            insOrdersEditingVo.setJqpremium(insAreaCompanyList.get(0).getJqpremium().compareTo(BigDecimal.ZERO) == 0 ? "" : insAreaCompanyList.get(0).getJqpremium().toString());
+            insOrdersEditingVo.setSypremium(insAreaCompanyList.get(0).getSypremium().compareTo(BigDecimal.ZERO) == 0 ? "" : insAreaCompanyList.get(0).getSypremium().toString());
+            insOrdersEditingVo.setJypremium(insAreaCompanyList.get(0).getJypremium().compareTo(BigDecimal.ZERO) == 0 ? "" : insAreaCompanyList.get(0).getJypremium().toString());
             insOrdersEditingVo.setTaxamount(insAreaCompanyList.get(0).getTaxamount().toString());
             insOrdersEditingVo.setJqpolicyno(insAreaCompanyList.get(0).getJqpolicyno());
             insOrdersEditingVo.setSypolicyno(insAreaCompanyList.get(0).getSypolicyno());
@@ -765,8 +779,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             //设置签单时间和非车保单号
             insOrdersEditingVo.setSignDate(insAreaCompanyList.get(0).getSigningTime());
             JSONArray crossInsurance = insAreaCompanyList.get(0).getCrossInsurance();
-            String application ="";
-            if(crossInsurance!=null && crossInsurance.size() > 0) {
+            String application = "";
+            if (crossInsurance != null && crossInsurance.size() > 0) {
                 application = crossInsurance.getJSONObject(0).getString("application");
             }
             insOrdersEditingVo.setJypolicyno(application);
@@ -853,13 +867,13 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             });
 
         });
-        if(insAreaCompanyEditingDtos!=null && insAreaCompanyEditingDtos.size()>0){
+        if (insAreaCompanyEditingDtos != null && insAreaCompanyEditingDtos.size() > 0) {
             //根据出单员判断  编辑查看
             //add  by  hxl   添加出单员不能查看优惠的限制    2024-07-16
             String userId = new BaseController().getUserId();
             SysUserRole sysUserRole = sysUserRoleService.selectByUserId(userId);
-            if(sysUserRole!=null && sysUserRole.getRoleId()==19){
-                insAreaCompanyEditingDtos.forEach(item ->{
+            if (sysUserRole != null && sysUserRole.getRoleId() == 19) {
+                insAreaCompanyEditingDtos.forEach(item -> {
                             item.setJqExportFee(null);
                             item.setSyExportFee(null);
                             item.setNoExportFee(null);
@@ -931,7 +945,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         return true;
     }
 
-    /**user
+    /**
+     * user
+     *
      * @version
      * @author: hxl
      * @Date: 2024/4/17 15:38
@@ -1382,24 +1398,24 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         LocalDateTime currentTime = LocalDateTime.now();
         LocalDateTime oneYearAgo = currentTime.plus(1, ChronoUnit.YEARS);
         DateTimeFormatter datePat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        if (orderExpirationQueryVo.getJqEnable() &&( StringUtils.isEmpty(orderExpirationQueryVo.getJqStartDate()) ||
+        if (orderExpirationQueryVo.getJqEnable() && (StringUtils.isEmpty(orderExpirationQueryVo.getJqStartDate()) ||
                 StringUtils.isEmpty(orderExpirationQueryVo.getJqEndDate()))) {
-            throw new InvalidPropertyException(getClass(),"jqStartDate/jqEndDate","请输入交强查询起止日期!");
+            throw new InvalidPropertyException(getClass(), "jqStartDate/jqEndDate", "请输入交强查询起止日期!");
 
         }
 
-        if (!orderExpirationQueryVo.getJqEnable()){
-            orderExpirationQueryVo.setJqStartDate(currentTime.format(datePat) );
-            orderExpirationQueryVo.setJqEndDate(oneYearAgo.format(datePat) );
+        if (!orderExpirationQueryVo.getJqEnable()) {
+            orderExpirationQueryVo.setJqStartDate(currentTime.format(datePat));
+            orderExpirationQueryVo.setJqEndDate(oneYearAgo.format(datePat));
         }
 
-        if (orderExpirationQueryVo.getSyEnable() &&(StringUtils.isEmpty(orderExpirationQueryVo.getSyStartDate()) ||
-                StringUtils.isEmpty(orderExpirationQueryVo.getSyEndDate() ))) {
-            throw new InvalidPropertyException(getClass(),"syStartDate/syEndDate","请输入商业查询起止日期!");
+        if (orderExpirationQueryVo.getSyEnable() && (StringUtils.isEmpty(orderExpirationQueryVo.getSyStartDate()) ||
+                StringUtils.isEmpty(orderExpirationQueryVo.getSyEndDate()))) {
+            throw new InvalidPropertyException(getClass(), "syStartDate/syEndDate", "请输入商业查询起止日期!");
         }
-        if (!orderExpirationQueryVo.getSyEnable()){
+        if (!orderExpirationQueryVo.getSyEnable()) {
             orderExpirationQueryVo.setSyStartDate(currentTime.format(datePat));
-            orderExpirationQueryVo.setSyEndDate(oneYearAgo.format(datePat)  );
+            orderExpirationQueryVo.setSyEndDate(oneYearAgo.format(datePat));
         }
         Page<OrderExpirationVo> expirationInsure = baseMapper.getExpirationInsure(page, orderExpirationQueryVo);
         List<OrderExpirationVo> records = expirationInsure.getRecords();
@@ -1487,7 +1503,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             }
             Set<BigDecimal> set = new HashSet<BigDecimal>(yhhbjList);
             //判断是否相等
-            if (set.size()>1) {
+            if (set.size() > 1) {
                 //最优惠公司
                 int index = getCompanyNameByMinAmount(yhhbjList);
                 companyName = companyAllList.get(index);

+ 2 - 1
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -249,6 +249,7 @@
         psd.name as pDeptName,
         su.create_time as submitTime,
         sut.approveTime as approveTime
+        sut.approve_by as approvBy
         FROM
         sys_user su
         LEFT JOIN sys_user_info info ON info.id = su.id
@@ -256,7 +257,7 @@
         left join sys_dept psd on psd.id = sd.parent_id
         LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
         LEFT JOIN sys_role t4 ON t3.role_id = t4.id
-        left join (select user_id,MAX(approve_time) approveTime
+        left join (select user_id, MAX(approve_time) approveTime
         from sys_user_track group by user_id ) sut on sut.user_id = su.id
         AND sd.del_flag = '0'
         WHERE