Quellcode durchsuchen

Merge remote-tracking branch 'origin/test' into test

hxl13994548489 vor 2 Jahren
Ursprung
Commit
a22edaeb85

+ 32 - 0
src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java

@@ -8,17 +8,21 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.code.kaptcha.Producer;
 import com.ydtech.config.MasterPasswordConfig;
+import com.ydtech.constants.SysConstants;
 import com.ydtech.constants.sys.SysPasswordEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysPassword;
 import com.ydtech.modules.admin.model.SysRole;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.po.SysUserLinkSys;
 import com.ydtech.modules.admin.model.vo.LoginBean;
 import com.ydtech.modules.admin.model.vo.LoginTicket;
 import com.ydtech.modules.admin.model.vo.PhoneLoginVo;
 import com.ydtech.modules.admin.model.vo.QrCodeStatusEnum;
 import com.ydtech.modules.admin.service.SysPasswordService;
+import com.ydtech.modules.admin.service.SysUserLinkSysService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.utils.RedisUtils;
 import com.ydtech.modules.admin.service.SysUserRoleService;
@@ -31,6 +35,7 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.tomcat.util.http.fileupload.IOUtils;
 import org.springframework.data.redis.core.StringRedisTemplate;
@@ -78,6 +83,7 @@ public class SysLoginController {
 
     private final SysPasswordService sysPasswordService;
 
+    private final SysUserLinkSysService  sysUserLinkSysService;
     @GetMapping("captcha.jpg")
     @ApiOperation(value = "获取验证码", produces = "application/octet-stream")
     public void captcha(HttpServletResponse response, HttpServletRequest request) throws IOException {
@@ -141,6 +147,19 @@ public class SysLoginController {
 //
         // 用户信息
         SysUser user = sysUserService.getById(username);
+
+        /**
+         *  多个系统登录
+         * */
+        if(!SysConstants.ADMIN.equalsIgnoreCase(username) && !"1".equals(loginBean.getSysId())){
+            LambdaQueryWrapper<SysUserLinkSys> sysLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            sysLambdaQueryWrapper.eq(SysUserLinkSys::getUserId, user.getId());
+            sysLambdaQueryWrapper.eq(SysUserLinkSys::getSysId, loginBean.getSysId());
+            List<SysUserLinkSys> list = sysUserLinkSysService.list(sysLambdaQueryWrapper);
+            if(list==null || list.size()==0){
+                throw  new SystemException("该用户未授权");
+            }
+        }
         //验证用户
         SysUser.verifyUser(user);
         SysPassword sysPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.GENERAL.getCode()));
@@ -186,6 +205,19 @@ public class SysLoginController {
         // 用户信息
         SysUser user = sysUserService.getById(username);
 
+        /**
+         *  多个系统登录
+         * */
+        if(!SysConstants.ADMIN.equalsIgnoreCase(username) && !"1".equals(loginBean.getSysId())){
+            LambdaQueryWrapper<SysUserLinkSys> sysLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            sysLambdaQueryWrapper.eq(SysUserLinkSys::getUserId, user.getId());
+            sysLambdaQueryWrapper.eq(SysUserLinkSys::getSysId, loginBean.getSysId());
+            List<SysUserLinkSys> list = sysUserLinkSysService.list(sysLambdaQueryWrapper);
+            if(list==null || list.size()==0){
+                throw  new SystemException("该用户未授权");
+            }
+        }
+
         //验证用户
         SysUser.verifyUser(user);
         SysPassword sysPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.GENERAL.getCode()));

+ 1 - 0
src/main/java/com/ydtech/modules/admin/controller/SysMenuController.java

@@ -27,6 +27,7 @@ public class SysMenuController {
 //    @PreAuthorize("hasAuthority('sys:menu:add') AND hasAuthority('sys:menu:edit')")
     @PostMapping(value = "/save")
     public HttpResult save(@RequestBody SysMenu record) {
+        record.setSysType("1");
         if (StringUtils.isNullOrEmpty(record.getId()) || record.getId().equalsIgnoreCase("0")) {
             return HttpResult.ok(sysMenuService.save(record));
 //            return HttpResult.ok(sysMenuService.insertSelective(record));

+ 3 - 0
src/main/java/com/ydtech/modules/admin/controller/SysRoleController.java

@@ -52,6 +52,7 @@ public class SysRoleController extends BaseController {
         if ((record.getId() == null || record.getId() == 0) && sysRoleService.findByName(record.getName()) != null) {
             return HttpResult.error("角色名已存在!");
         }
+        record.setSysType("1");
         return HttpResult.ok(sysRoleService.saveOrUpdate(record));
     }
 
@@ -77,6 +78,7 @@ public class SysRoleController extends BaseController {
     public HttpResult findAll() {
         LambdaQueryWrapper<SysRole> lqw = new LambdaQueryWrapper<>();
         lqw.eq(SysRole::getDelFlag, "0");
+        lqw.eq(SysRole::getSysType, "1");
         List<SysRole> list = sysRoleService.list(lqw);
         return HttpResult.ok(list);
     }
@@ -99,6 +101,7 @@ public class SysRoleController extends BaseController {
         }
 
         lqw.eq(SysRole::getDelFlag, "0");
+        lqw.eq(SysRole::getSysType, "1");
         List<SysRole> list = sysRoleService.list(lqw);
         return HttpResult.ok(list);
     }

+ 1 - 1
src/main/java/com/ydtech/modules/admin/dao/SysRoleMenuMapper.java

@@ -11,7 +11,7 @@ import java.util.List;
 public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
 
     String SysMenuSql = "select t.id, t.name, t.parent_id, t.url, t.perms, t.type, t.icon, t.order_num, t.create_by, t.create_time, t.last_update_by, t.last_update_time, t.del_flag from sys_menu t ";
-    String sysRoleMenuIdSql = " where t.id in (select menu_id from sys_role_menu t1 left join sys_user_role t2 on t1.role_id=t2.role_id where t2.user_id='${userId}') and del_flag=0 ";
+    String sysRoleMenuIdSql = " where t.id in (select menu_id from sys_role_menu t1 left join sys_user_role t2 on t1.role_id=t2.role_id where t2.user_id='${userId}') and del_flag=0  and  t.sys_type='1'";
     String SysMenuSqlT1 = SysMenuSql + sysRoleMenuIdSql;
 
 

+ 6 - 0
src/main/java/com/ydtech/modules/admin/model/SysMenu.java

@@ -46,6 +46,12 @@ public class SysMenu implements Serializable {
     @TableField(exist = false)
     private List<SysMenu> children;
 
+    /***
+     * 添加菜单类型 1.车险 2. 控制台
+     */
+    @TableField(value = "sys_type")
+    private String sysType;
+
 
 }
 

+ 7 - 0
src/main/java/com/ydtech/modules/admin/model/SysRole.java

@@ -19,6 +19,9 @@ public class SysRole implements Serializable {
     private Date lastUpdateTime;
     private Integer delFlag;
 
+    private String sysType;
+
+
     public Long getId() {
         return id;
     }
@@ -35,6 +38,10 @@ public class SysRole implements Serializable {
         this.name = name;
     }
 
+    public String getSysType() {return sysType;}
+
+    public void setSysType(String sysType) {this.sysType = sysType;}
+
     public String getRemark() {
         return remark;
     }

+ 1 - 0
src/main/java/com/ydtech/modules/admin/model/vo/LoginBean.java

@@ -14,6 +14,7 @@ public class LoginBean {
     private String account;
     private String password;
     private String captcha;
+    private String sysId;
     //验证码ID
     private String captchaId;
 

+ 4 - 2
src/main/java/com/ydtech/modules/admin/service/impl/AppCustomerManagementImpl.java

@@ -76,8 +76,10 @@ public class AppCustomerManagementImpl implements AppCustomerManagementService {
         SysUserInfo sysUserInfo = sysUserInfoService.getById(userId);
         SysUserTeamInfoDto sysUserTeamInfoDto = new SysUserTeamInfoDto(sysUser, dept, organization, sysUserInfo);
         SysUserTrack sysUserTrack = sysUserTrackService.getLastTime(userId);
-        sysUserTeamInfoDto.setApproveTime(sysUserTrack.getApproveTime());
-        sysUserTeamInfoDto.setApproveBy(sysUserTrack.getApproveBy());
+        if (sysUserTrack != null) {
+            sysUserTeamInfoDto.setApproveTime(sysUserTrack.getApproveTime());
+            sysUserTeamInfoDto.setApproveBy(sysUserTrack.getApproveBy());
+        }
         return HttpResult.ok(sysUserTeamInfoDto);
     }
 }

+ 3 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysMenuServiceImpl.java

@@ -49,8 +49,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
 
     @Override
     public List<SysMenu> findByUser(String userName) {
-        LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<>();
+         LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<>();
         lqw.eq(SysMenu::getDelFlag, 0);
+        lqw.eq(SysMenu::getSysType, 1);
         if (userName == null || "".equals(userName) || SysConstants.ADMIN.equalsIgnoreCase(userName)) {
 //            return selectList(" where 1=1 and del_flag=0", null);
             return list(lqw);
@@ -79,6 +80,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
         LambdaQueryWrapper<SysMenu> smlqw = new LambdaQueryWrapper<>();
         smlqw.eq(SysMenu::getDelFlag, 0);
         smlqw.in(SysMenu::getId, longs);
+        smlqw.in(SysMenu::getSysType, "1");
         return list(smlqw);
 
 

+ 15 - 0
src/main/java/com/ydtech/modules/esm/controller/EsmUserController.java

@@ -223,4 +223,19 @@ public class EsmUserController extends BaseController {
         return HttpResult.ok(list);
     }
 
+
+    /**
+     * 团队业绩统计-指定用户查询
+     *
+     * @param record
+     * @return
+     */
+    @PostMapping("/queryUserCountForUser")
+    public HttpResult<List<EsmUserPolicyForUserVO>> queryUserCountForUser(@RequestBody TeamUserQryVO record){
+        if (StringUtils.isNullOrEmpty(record.getId()) || StringUtils.isNullOrEmpty(record.getStartdate()) ||
+                StringUtils.isNullOrEmpty(record.getEnddate())) {
+            return HttpResult.error("起止时间/用户id不能为空!");
+        }
+        return HttpResult.ok(esmUserReferrerService.queryUserCountForUser(record));
+    }
 }

+ 4 - 0
src/main/java/com/ydtech/modules/esm/dao/EsmUserReferrerMapper.java

@@ -12,6 +12,7 @@ import com.ydtech.modules.base.model.dto.PageDto;
 import com.ydtech.modules.esm.model.EsmUserReferrer;
 import com.ydtech.modules.esm.model.QueryChannel;
 import com.ydtech.modules.esm.model.vo.EsmTeamPolicyVO;
+import com.ydtech.modules.esm.model.vo.EsmUserPolicyForUserVO;
 import com.ydtech.modules.esm.model.vo.EsmUserPolicyVO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -221,4 +222,7 @@ public interface EsmUserReferrerMapper extends BaseMapper<EsmUserReferrer> {
      *  @Description: 查询天数数据
      */
     List<EmployeeIncreaseReportDto> employeeIncreaseReportDay(HashMap<String,Object> map);
+
+
+    List<EsmUserPolicyForUserVO> queryOrderCountForUser(String userId,String startDate, String endDate);
 }

+ 30 - 0
src/main/java/com/ydtech/modules/esm/model/vo/EsmUserPolicyForUserVO.java

@@ -0,0 +1,30 @@
+package com.ydtech.modules.esm.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel("团队管理展示-明细-人员明细")
+public class EsmUserPolicyForUserVO implements Serializable {
+
+    private static final long serialVersionUID = 5053893395186078389L;
+
+    private String companyId;//保险公司id
+    @ApiModelProperty(value = "保险公司名称")
+    private String companyName;//保险公司名称
+    @ApiModelProperty(value = "出单笔数")
+    private int ordernum;//出单笔数
+    @ApiModelProperty(value = "核保笔数")
+    private int policynum;//核保笔数
+    @ApiModelProperty(value = "签单保费")
+    private double sumpremium;//签单保费
+    @ApiModelProperty(value = "报价次数")
+    private int bjpolicynum;//报价次数
+    @ApiModelProperty(value = "报价金额")
+    private double bjsumpremium;//报价金额
+
+
+}

+ 2 - 5
src/main/java/com/ydtech/modules/esm/service/EsmUserReferrerService.java

@@ -13,10 +13,7 @@ import com.ydtech.modules.base.model.dto.PageDto;
 import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.esm.model.EsmUserReferrer;
 import com.ydtech.modules.esm.model.QueryChannel;
-import com.ydtech.modules.esm.model.vo.EsmTeamPolicyVO;
-import com.ydtech.modules.esm.model.vo.EsmUserCountVO;
-import com.ydtech.modules.esm.model.vo.EsmUserPolicyVO;
-import com.ydtech.modules.esm.model.vo.TeamUserQryVO;
+import com.ydtech.modules.esm.model.vo.*;
 import com.ydtech.modules.order.entity.BasePageResult;
 
 import java.util.List;
@@ -77,7 +74,7 @@ public interface EsmUserReferrerService extends IService<EsmUserReferrer> {
      **/
     BasePageResult<SysUserTeamDto> getTeamUser(AppCustomerManagementQueryVo managementQueryVo, String userId);
 
-
+    public List<EsmUserPolicyForUserVO> queryUserCountForUser(TeamUserQryVO record);
 }
 
 

+ 12 - 4
src/main/java/com/ydtech/modules/esm/service/impl/EsmUserReferrerServiceImpl.java

@@ -18,10 +18,7 @@ import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.esm.dao.EsmUserReferrerMapper;
 import com.ydtech.modules.esm.model.EsmUserReferrer;
 import com.ydtech.modules.esm.model.QueryChannel;
-import com.ydtech.modules.esm.model.vo.EsmTeamPolicyVO;
-import com.ydtech.modules.esm.model.vo.EsmUserCountVO;
-import com.ydtech.modules.esm.model.vo.EsmUserPolicyVO;
-import com.ydtech.modules.esm.model.vo.TeamUserQryVO;
+import com.ydtech.modules.esm.model.vo.*;
 import com.ydtech.modules.esm.service.EsmUserReferrerService;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.utils.StringUtils;
@@ -468,6 +465,17 @@ public class EsmUserReferrerServiceImpl extends ServiceImpl<EsmUserReferrerMappe
     }
 
 
+
+    /**
+     * 人员团队业绩统计--指定业务员查询
+     *
+     * @return
+     */
+    @Override
+    public List<EsmUserPolicyForUserVO> queryUserCountForUser(TeamUserQryVO record) {
+        return this.baseMapper.queryOrderCountForUser(record.getId(), record.getStartdate(), record.getEnddate());
+    }
+
 }
 
 

+ 110 - 106
src/main/java/com/ydtech/modules/fnc/service/impl/ImportAsyncServiceImpl.java

@@ -81,72 +81,74 @@ public class ImportAsyncServiceImpl extends ServiceImpl<ImportAsyncMapper, Impor
         HashSet<String> hashSet = new HashSet<>();
         if (!CollectionUtils.isEmpty(dtoList)) {
             for (InsBxPlyIncomeExcelDto excelItem : dtoList) {
-                InsImportResult insImportResult = new InsImportResult();
+                if(!(StringUtils.isEmpty(excelItem.getLicenseno()) && StringUtils.isEmpty(excelItem.getPolicyno())&& StringUtils.isEmpty(excelItem.getSyPolicyno()))){
+                    InsImportResult insImportResult = new InsImportResult();
 
-                String reason = "";
-                i = i + 1;
-                params.clear();
-                if (StringUtils.isNotEmpty(excelItem.getLicenseno())) {
-                    String licenseno = excelItem.getLicenseno();//车牌号
-                    params.put("licenseno", licenseno);
-                }
-                if (StringUtils.isNotEmpty(excelItem.getPolicyno())) {
-                    String policyno = excelItem.getPolicyno(); //交强保单号
-                    params.put("policyno", policyno);
-                }
+                    String reason = "";
+                    i = i + 1;
+                    params.clear();
+                    if (StringUtils.isNotEmpty(excelItem.getLicenseno())) {
+                        String licenseno = excelItem.getLicenseno();//车牌号
+                        params.put("licenseno", licenseno);
+                    }
+                    if (StringUtils.isNotEmpty(excelItem.getPolicyno())) {
+                        String policyno = excelItem.getPolicyno(); //交强保单号
+                        params.put("policyno", policyno);
+                    }
 
-                if (StringUtils.isNotEmpty(excelItem.getSyPolicyno())) {
-                    String syPolicyno = excelItem.getSyPolicyno(); //商业保单号
-                    params.put("syPolicyno", syPolicyno);
-                }
+                    if (StringUtils.isNotEmpty(excelItem.getSyPolicyno())) {
+                        String syPolicyno = excelItem.getSyPolicyno(); //商业保单号
+                        params.put("syPolicyno", syPolicyno);
+                    }
 
 
 //                  只查手续费
-                params.put("isOther", "0");
-                params.put("isNotCar", isNotCar);
-                InsPlyIncome insPlyIncome = insPlyIncomeMapper.findByBxLicenseno(params);
-                if (ObjectUtils.isNotEmpty(insPlyIncome) && open) {
-                    open = false;
-                    companyId = insPlyIncome.getCompanyId(); // 保险公司id
-                    partnerCompaniesId =  insPlyIncome.getPartnerCompaniesId(); //合作公司id
-                    agreementId = insPlyIncome.getAgreementId();  //协议id
-                }
-                if (ObjectUtils.isNotEmpty(insPlyIncome)) {  // 比配上汇总金额 未匹配则返回到数据当中
-                    idList.add(insPlyIncome.getId());
-                    if (insPlyIncome.getCommissionFeevalue() != null && insPlyIncome.getCommissionFeevalue().compareTo(BigDecimal.ZERO) != 0) {
-                        totalAmount = totalAmount.add(insPlyIncome.getCommissionFeevalue());  //添加总手续费
+                    params.put("isOther", "0");
+                    params.put("isNotCar", isNotCar);
+                    InsPlyIncome insPlyIncome = insPlyIncomeMapper.findByBxLicenseno(params);
+                    if (ObjectUtils.isNotEmpty(insPlyIncome) && open) {
+                        open = false;
+                        companyId = insPlyIncome.getCompanyId(); // 保险公司id
+                        partnerCompaniesId =  insPlyIncome.getPartnerCompaniesId(); //合作公司id
+                        agreementId = insPlyIncome.getAgreementId();  //协议id
                     }
+                    if (ObjectUtils.isNotEmpty(insPlyIncome)) {  // 比配上汇总金额 未匹配则返回到数据当中
+                        idList.add(insPlyIncome.getId());
+                        if (insPlyIncome.getCommissionFeevalue() != null && insPlyIncome.getCommissionFeevalue().compareTo(BigDecimal.ZERO) != 0) {
+                            totalAmount = totalAmount.add(insPlyIncome.getCommissionFeevalue());  //添加总手续费
+                        }
 
-                    if (excelItem.getJqSuperviseCostsProportion() != null && excelItem.getJqSuperviseCostsProportion().compareTo(BigDecimal.ZERO) != 0 && excelItem.getJqSuperviseCostsProportion().compareTo(insPlyIncome.getJqSuperviseCostsProportion()) != 0) {
-                        params.put("jqSuperviseCostsProportion", excelItem.getJqSuperviseCostsProportion());
-                        InsPlyIncome byBxLicenseno = insPlyIncomeMapper.findByBxLicenseno(params);
-                        if (ObjectUtils.isEmpty(byBxLicenseno)) {
-                            reason = "该数据交强手续费比例有问题";
+                        if (excelItem.getJqSuperviseCostsProportion() != null && excelItem.getJqSuperviseCostsProportion().compareTo(BigDecimal.ZERO) != 0 && excelItem.getJqSuperviseCostsProportion().compareTo(insPlyIncome.getJqSuperviseCostsProportion()) != 0) {
+                            params.put("jqSuperviseCostsProportion", excelItem.getJqSuperviseCostsProportion());
+                            InsPlyIncome byBxLicenseno = insPlyIncomeMapper.findByBxLicenseno(params);
+                            if (ObjectUtils.isEmpty(byBxLicenseno)) {
+                                reason = "该数据交强手续费比例有问题";
+                            }
                         }
-                    }
-                    if (excelItem.getSySuperviseCostsProportion() != null && excelItem.getSySuperviseCostsProportion().compareTo(BigDecimal.ZERO) != 0 && excelItem.getSySuperviseCostsProportion().compareTo(insPlyIncome.getSySuperviseCostsProportion()) != 0) {
-                        params.put("sySuperviseCostsProportion", excelItem.getSySuperviseCostsProportion());
-                        InsPlyIncome byBxLicenseno = insPlyIncomeMapper.findByBxLicenseno(params);
-                        if (ObjectUtils.isEmpty(byBxLicenseno)) {
-                            reason = "该数据商业手续费比例有问题";
+                        if (excelItem.getSySuperviseCostsProportion() != null && excelItem.getSySuperviseCostsProportion().compareTo(BigDecimal.ZERO) != 0 && excelItem.getSySuperviseCostsProportion().compareTo(insPlyIncome.getSySuperviseCostsProportion()) != 0) {
+                            params.put("sySuperviseCostsProportion", excelItem.getSySuperviseCostsProportion());
+                            InsPlyIncome byBxLicenseno = insPlyIncomeMapper.findByBxLicenseno(params);
+                            if (ObjectUtils.isEmpty(byBxLicenseno)) {
+                                reason = "该数据商业手续费比例有问题";
+                            }
                         }
+                    } else {
+                        reason = "查询不到该车辆";
                     }
-                } else {
-                    reason = "查询不到该车辆";
-                }
-                if(StringUtils.isNotEmpty(reason)){
-                    insImportResult.setLicenseno(excelItem.getLicenseno());
-                    insImportResult.setPolicyno(excelItem.getPolicyno());
-                    insImportResult.setSyPolicyno(excelItem.getSyPolicyno());
-                    insImportResult.setReason(reason);
-                    insImportResultsExcel.add(insImportResult);
-                }else {
-                    if(StringUtils.isNotEmpty(insPlyIncome.getPartnerCompaniesId())){
-                        hashSet.add(insPlyIncome.getPartnerCompaniesId());
-                    }
-                    if(hashSet.size()>1){
-                        insImportResult.setReason("表里有不同保司机构");
+                    if(StringUtils.isNotEmpty(reason)){
+                        insImportResult.setLicenseno(excelItem.getLicenseno());
+                        insImportResult.setPolicyno(excelItem.getPolicyno());
+                        insImportResult.setSyPolicyno(excelItem.getSyPolicyno());
+                        insImportResult.setReason(reason);
                         insImportResultsExcel.add(insImportResult);
+                    }else {
+                        if(StringUtils.isNotEmpty(insPlyIncome.getPartnerCompaniesId())){
+                            hashSet.add(insPlyIncome.getPartnerCompaniesId());
+                        }
+                        if(hashSet.size()>1){
+                            insImportResult.setReason("表里有不同保司机构");
+                            insImportResultsExcel.add(insImportResult);
+                        }
                     }
                 }
             }
@@ -485,64 +487,66 @@ public class ImportAsyncServiceImpl extends ServiceImpl<ImportAsyncMapper, Impor
 
         if (!CollectionUtils.isEmpty(dtoList)) {
             for (InsBxNoPlyIncomeExcelDto excelItem : dtoList) {
-                InsImportResult insImportResult = new InsImportResult();
-                String reason = "";
-                i = i + 1;
-                params.clear();
-                if (StringUtils.isNotEmpty(excelItem.getLicenseno())) {
-                    String licenseno = excelItem.getLicenseno();//车牌号
-                    params.put("licenseno", licenseno);
-                }
-                if (StringUtils.isNotEmpty(excelItem.getNoPolicyno())) {
-                    String noPolicyno = excelItem.getNoPolicyno(); //交强保单号
-                    params.put("noPolicyno", noPolicyno);
-                }
-
-//                  只查手续费
-                params.put("isOther", "0");
-                params.put("isNotCar", "1");
-                InsPlyIncome insPlyIncome = insPlyIncomeMapper.findByBxLicenseno(params);
-                if (ObjectUtils.isNotEmpty(insPlyIncome) && open) {
-                    open = false;
-                    companyId = insPlyIncome.getCompanyId(); // 保险公司id
-                    partnerCompaniesId =  insPlyIncome.getPartnerCompaniesId(); //合作公司id
-                    agreementId = insPlyIncome.getAgreementId();  //协议id
-                }
-                if (ObjectUtils.isNotEmpty(insPlyIncome)) {  // 比配上汇总金额 未匹配则返回到数据当中
-                    idList.add(insPlyIncome.getId());
-                    if (insPlyIncome.getCommissionFeevalue() != null && insPlyIncome.getCommissionFeevalue().compareTo(BigDecimal.ZERO) != 0) {
-                        totalAmount = totalAmount.add(insPlyIncome.getCommissionFeevalue());  //添加总手续费
-                    }
-                    if (excelItem.getNoSuperviseCostsProportion()!=null  &&  excelItem.getNoSuperviseCostsProportion().compareTo(BigDecimal.ZERO) != 0 &&  excelItem.getNoSuperviseCostsProportion().compareTo(insPlyIncome.getNoSuperviseCostsProportion()) != 0 ) {
-                        BigDecimal noSuperviseCostsProportion = excelItem.getNoSuperviseCostsProportion();//商业保单号
-                        params.put("noSuperviseCostsProportion", noSuperviseCostsProportion);
-                        InsPlyIncome byBxLicenseno = insPlyIncomeMapper.findByBxLicenseno(params);
-                        if (ObjectUtils.isEmpty(byBxLicenseno)) {
-                            reason = "该数据非车手续费比例有问题";
-                        }
-                    }
-                    
-                } else {
-                    reason = "查询不到该车辆";
-                }
-                if(StringUtils.isNotEmpty(reason)){
-                    insImportResult.setReason(reason);
+                if(!(StringUtils.isEmpty(excelItem.getLicenseno()) && StringUtils.isEmpty(excelItem.getNoPolicyno()))){
+                    InsImportResult insImportResult = new InsImportResult();
+                    String reason = "";
+                    i = i + 1;
+                    params.clear();
                     if (StringUtils.isNotEmpty(excelItem.getLicenseno())) {
-                        insImportResult.setLicenseno(excelItem.getLicenseno());
+                        String licenseno = excelItem.getLicenseno();//车牌号
+                        params.put("licenseno", licenseno);
                     }
                     if (StringUtils.isNotEmpty(excelItem.getNoPolicyno())) {
-                        insImportResult.setPolicyno(excelItem.getNoPolicyno());
+                        String noPolicyno = excelItem.getNoPolicyno(); //交强保单号
+                        params.put("noPolicyno", noPolicyno);
                     }
-                    insImportResult.setReason(reason);
-                    insImportResultsExcel.add(insImportResult);
 
-                }else {
-                    if(StringUtils.isNotEmpty(insPlyIncome.getPartnerCompaniesId())){
-                        hashSet.add(insPlyIncome.getPartnerCompaniesId());
+//                  只查手续费
+                    params.put("isOther", "0");
+                    params.put("isNotCar", "1");
+                    InsPlyIncome insPlyIncome = insPlyIncomeMapper.findByBxLicenseno(params);
+                    if (ObjectUtils.isNotEmpty(insPlyIncome) && open) {
+                        open = false;
+                        companyId = insPlyIncome.getCompanyId(); // 保险公司id
+                        partnerCompaniesId =  insPlyIncome.getPartnerCompaniesId(); //合作公司id
+                        agreementId = insPlyIncome.getAgreementId();  //协议id
                     }
-                    if(hashSet.size()>1){
-                        insImportResult.setReason("表里有不同保司机构");
+                    if (ObjectUtils.isNotEmpty(insPlyIncome)) {  // 比配上汇总金额 未匹配则返回到数据当中
+                        idList.add(insPlyIncome.getId());
+                        if (insPlyIncome.getCommissionFeevalue() != null && insPlyIncome.getCommissionFeevalue().compareTo(BigDecimal.ZERO) != 0) {
+                            totalAmount = totalAmount.add(insPlyIncome.getCommissionFeevalue());  //添加总手续费
+                        }
+                        if (excelItem.getNoSuperviseCostsProportion()!=null  &&  excelItem.getNoSuperviseCostsProportion().compareTo(BigDecimal.ZERO) != 0 &&  excelItem.getNoSuperviseCostsProportion().compareTo(insPlyIncome.getNoSuperviseCostsProportion()) != 0 ) {
+                            BigDecimal noSuperviseCostsProportion = excelItem.getNoSuperviseCostsProportion();//商业保单号
+                            params.put("noSuperviseCostsProportion", noSuperviseCostsProportion);
+                            InsPlyIncome byBxLicenseno = insPlyIncomeMapper.findByBxLicenseno(params);
+                            if (ObjectUtils.isEmpty(byBxLicenseno)) {
+                                reason = "该数据非车手续费比例有问题";
+                            }
+                        }
+
+                    } else {
+                        reason = "查询不到该车辆";
+                    }
+                    if(StringUtils.isNotEmpty(reason)){
+                        insImportResult.setReason(reason);
+                        if (StringUtils.isNotEmpty(excelItem.getLicenseno())) {
+                            insImportResult.setLicenseno(excelItem.getLicenseno());
+                        }
+                        if (StringUtils.isNotEmpty(excelItem.getNoPolicyno())) {
+                            insImportResult.setPolicyno(excelItem.getNoPolicyno());
+                        }
+                        insImportResult.setReason(reason);
                         insImportResultsExcel.add(insImportResult);
+
+                    }else {
+                        if(StringUtils.isNotEmpty(insPlyIncome.getPartnerCompaniesId())){
+                            hashSet.add(insPlyIncome.getPartnerCompaniesId());
+                        }
+                        if(hashSet.size()>1){
+                            insImportResult.setReason("表里有不同保司机构");
+                            insImportResultsExcel.add(insImportResult);
+                        }
                     }
                 }
             }

+ 66 - 0
src/main/resources/mapper/modules/esm/EsmUserReferrerMapper.xml

@@ -224,4 +224,70 @@
             </if>
         GROUP BY  CONCAT(YEAR ( us.create_time ),'-',LPAD( MONTH ( us.create_time ), 2, '0' ),'-',LPAD( DAY ( us.create_time ), 2, '0' ),' ',LPAD( HOUR ( us.create_time ), 2, '0' ))
     </select>
+
+
+    <select id="queryOrderCountForUser" resultType="com.ydtech.modules.esm.model.vo.EsmUserPolicyForUserVO">
+        select a.companyId as companyId,
+               a.companyName as companyName,
+               a.policynum as bjpolicynum,
+               a.sumpremium as bjsumpremium,
+               b.policynum as ordernum,
+               b.sumpremium as sumpremium,
+               c.policynum as policynum
+        from (
+                 SELECT
+                     iac.company_id AS companyId,
+                     iac.inscompany AS companyName,
+                     COALESCE ( count( iac.company_id ), 0 ) AS policynum,
+                     COALESCE ( sum( jqpremium + sypremium + jypremium ), 0 ) AS sumpremium
+                 FROM
+                     sys_user su
+                         LEFT JOIN ins_orders io ON io.userid = su.id
+                         AND io.createtime BETWEEN #{startDate} AND #{endDate}
+                         LEFT JOIN ins_area_company iac ON io.orderno = iac.orderno
+                 WHERE
+                     su.id = #{userId}
+                 GROUP BY
+                     iac.company_id,
+                     iac.inscompany
+             ) a left join
+             (
+                 SELECT
+                     iac.company_id AS companyId,
+                     iac.inscompany AS companyName,
+                     COALESCE ( count( iac.company_id ), 0 ) AS policynum,
+                     COALESCE ( sum( jqpremium + sypremium + jypremium ), 0 ) AS sumpremium
+                 FROM
+                     sys_user su
+                         LEFT JOIN ins_orders io ON io.userid = su.id
+                         AND io.createtime BETWEEN #{startDate} AND #{endDate}
+                         LEFT JOIN ins_area_company iac ON io.orderno = iac.orderno
+                         AND iac.orderstatus = 3
+                 WHERE
+                     su.id = #{userId}
+                 GROUP BY
+                     iac.company_id,
+                     iac.inscompany
+             )b on a.companyId = b.companyId
+             left join
+             (
+                 SELECT
+                     iac.company_id AS companyId,
+                     iac.inscompany AS companyName,
+                     COALESCE ( count( iac.company_id ), 0 ) AS policynum,
+                     COALESCE ( sum( jqpremium + sypremium + jypremium ), 0 ) AS sumpremium
+                 FROM
+                     sys_user su
+                         LEFT JOIN ins_orders io ON io.userid = su.id
+                         AND io.createtime BETWEEN #{startDate} AND #{endDate}
+                         LEFT JOIN ins_area_company iac ON io.orderno = iac.orderno
+                         AND iac.orderstatus = 2
+                 WHERE
+                     su.id = #{userId}
+                 GROUP BY
+                     iac.company_id,
+                     iac.inscompany
+             )c on a.companyId = c.companyId
+        where a.companyId is not null
+    </select>
 </mapper>