Przeglądaj źródła

解决车险报价-订单管理页面的问题

1. 录单人显示错误
2. 业务员类型没有显示的问题
lipf 5 miesięcy temu
rodzic
commit
b8bf85e5b6

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/orders/vo/OrderListVo.java

@@ -93,6 +93,9 @@ public class OrderListVo {
     @ExcelProperty("业务员信息")
     private String salesmanInfo;
 
+    // sys_user_jzg_info 表的序号
+    private String jzgInfoId;
+
     // 业务员类型
     @ExcelProperty("业务员类型")
     private String salesmanType;

+ 10 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/client/OrgClient.java

@@ -33,6 +33,16 @@ public interface OrgClient {
     HttpResult<SysUserJzgInfo> queryUserByUserId(@RequestParam("userId") String userId,
                                                  @RequestParam("systemCode") String systemCode);
 
+    /**
+     * 查询所有成员和业务员的身份
+     *
+     * @return Map<Long, String> key 表示sys_user_jzg_info 表的序号, value 标识多个岗位的标识
+     * @author lipf
+     * @date 2026/4/29 10:35
+     */
+    @GetMapping("/userInfo/queryAllTypeAttrMap")
+    Map<String, String>  queryAllTypeAttrMap();
+
     /**
      * 查找人员信息地区
      *

+ 14 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -944,6 +945,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         // 生成订单的条件
         // 1个保险公司只有一个主订单   不区分险种
         // 唯一性的判定标准:保险公司编号+ 车牌号 + 车架号
+        log.info("生成一个主订单和多个子订单:quoteVo=[{}],companyName=[{}]", JSONUtil.toJsonStr(quoteVo), companyName);
         InsOrders mainOrders = this.getMainOrders(
                 quoteVo.getOrder().getInsuranceCompanyCode(),
                 quoteVo.getCarInfoVo().getLicenseNo(),
@@ -1161,6 +1163,18 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             insOrdersParam.setJzgInfoId(jzgInfoId);
         }
         Page<OrderListVo> orderListVoPage = insOrdersMapper.queryOrderList(insOrdersParam.getPage(), insOrdersParam);
+        // modify by lipf, 2026年4月29日11:06:02 解决业务员类型缺失的问题
+        List<OrderListVo> records = orderListVoPage.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            Map<String, String> attrTypeMap = orgClient.queryAllTypeAttrMap();
+            List<OrderListVo> list = records.stream().peek(action -> {
+                String jzgInfoId1 = action.getJzgInfoId();
+                if (StrUtil.isNotEmpty(jzgInfoId1)) {
+                    action.setSalesmanType(attrTypeMap.get(jzgInfoId1));
+                }
+            }).toList();
+            orderListVoPage.setRecords(list);
+        }
         if (StringUtils.equals("1",insOrdersParam.getIsLargeOrder())){
             processMainOrder(orderListVoPage);
         }

+ 2 - 0
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml

@@ -751,6 +751,7 @@
         io.product_name as productName,
         io.order_status,
         io.create_time,
+        io.create_by,
         ioci.license_no,
         ioci.vin_no,
         owner_u.name as owner_name,
@@ -768,6 +769,7 @@
         iorco.tax_premium as vvTax,
         su.username as recorder,
         suji.name as salesmanInfo,
+        suji.id as jzgInfoId,
         suji.type_attr as salesmanType,
         pa.agreement_name as agreementName,
         sd.name as deptName,

+ 16 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/UserController.java

@@ -16,6 +16,7 @@ import com.jzg.commons.entity.vo.*;
 import com.jzg.commons.request.RequestSingleParam;
 import com.jzg.organization.mapper.SysUserJzgInfoMapper;
 import com.jzg.organization.service.SysDeptService;
+import com.jzg.organization.service.SysUserJzgInfoSalesmanService;
 import com.jzg.organization.service.SysUserService;
 import io.swagger.v3.oas.annotations.Operation;
 import jakarta.annotation.Resource;
@@ -23,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author quchen
@@ -34,6 +36,8 @@ import java.util.List;
 public class UserController extends BaseController {
     @Resource
     private SysUserService sysUserService;
+    @Autowired
+    private SysUserJzgInfoSalesmanService sysUserJzgInfoSalesmanService;
 
     @Autowired
     private SysDeptService sysDeptService;
@@ -48,6 +52,18 @@ public class UserController extends BaseController {
         return HttpResult.ok(userInfoList);
     }
 
+    /**
+     * 查询所有成员和业务员的身份
+     *
+     * @return Map<Long, String> key 表示sys_user_jzg_info 表的序号, value 标识多个岗位的标识
+     * @author lipf
+     * @date 2026/4/29 10:35
+     */
+    @GetMapping("queryAllTypeAttrMap")
+    public Map<String, String>  queryAllTypeAttrMap(){
+        return sysUserJzgInfoSalesmanService.queryAllTypeAttrMap();
+    }
+
     @Operation(summary = "获取待办数量接口", description = "获取待办数量接口")
     @PostMapping(value = "/getAuditCount")
     public HttpResult getAuditCount(@RequestBody SysUserInfoParam sysUserInfoParam) {

+ 6 - 2
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserJzgInfoSalesmanServiceImpl.java

@@ -2,8 +2,8 @@ package com.jzg.organization.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.entity.po.SysUserJzgInfoSalesman;
 import com.jzg.organization.mapper.SysUserJzgInfoSalesmanMapper;
 import com.jzg.organization.service.SysUserJzgInfoSalesmanService;
@@ -27,6 +27,9 @@ public class SysUserJzgInfoSalesmanServiceImpl extends ServiceImpl<SysUserJzgInf
 
     private static final Logger log = LoggerFactory.getLogger(SysUserJzgInfoSalesmanServiceImpl.class);
 
+    @Autowired
+    private BaseController baseController;
+
     @Autowired
     private SysUserJzgInfoSalesmanMapper sysUserJzgInfoSalesmanMapper;
 
@@ -37,8 +40,9 @@ public class SysUserJzgInfoSalesmanServiceImpl extends ServiceImpl<SysUserJzgInf
      */
     @Override
     public Map<String, String> queryAllTypeAttrMap() {
+        String systemCode = baseController.getSystemCode();
         List<SysUserJzgInfoSalesman> sysUserJzgInfoSalesmen = sysUserJzgInfoSalesmanMapper.selectList(null);
-        log.info("查询出[{}]个人员的类型信息", CollectionUtil.size(sysUserJzgInfoSalesmen));
+        log.info("查询出[{}]个人员的类型信息。systemCode=[{}]", CollectionUtil.size(sysUserJzgInfoSalesmen), systemCode);
         Map<String, String> resultMap = sysUserJzgInfoSalesmen.stream()
                 .filter(action-> StrUtil.isNotEmpty(action.getSysUserJzgInfoId()) && StrUtil.isNotEmpty(action.getTypeAttr()))
                 .filter(action-> action.getSysUserJzgInfoId() != null && action.getTypeAttr() != null)