瀏覽代碼

业绩管理详情查询

Qchen 2 年之前
父節點
當前提交
9f797252f7

+ 6 - 0
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -364,6 +364,12 @@ public class SysUserController extends BaseController {
         return HttpResult.ok("",sysUserService.quTeamNum(quTeamNumDto));
     }
 
+    @ApiOperation(value = "渠道数据统计详情")
+    @PostMapping(value = "/quTeamNumDetail")
+    public HttpResult quTeamNumDetail(@RequestBody QuTeamNumDto quTeamNumDto) {
+        return HttpResult.ok("",sysUserService.getQuTeamByCompany(quTeamNumDto));
+    }
+
 
     @ApiOperation(value = "(重构)审批通过")
     @ApiImplicitParams({

+ 2 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -157,6 +157,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     List<QuTeamNum> getDept(@Param("quTeamNumDto")QuTeamNumDto quTeamNumDto);
 
+    List<QuTeamNum> getDeptByCompany(@Param("quTeamNumDto")QuTeamNumDto quTeamNumDto);
+
     List<QuTeamNum> getUser(@Param("quTeamNumDto")QuTeamNumDto quTeamNumDto);
 
 }

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

@@ -31,6 +31,12 @@ public class QuTeamNum{
     @ApiModelProperty(value = "订单状态")
     private String orderStatus;
 
+    @ApiModelProperty(value = "保险公司编号")
+    private String companyId;
+
+    @ApiModelProperty(value = "保险公司名称")
+    private String insCompany;
+
     @ApiModelProperty(value = "该订单状态下次数")
     private String count;
 

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

@@ -82,6 +82,8 @@ public interface SysUserService extends IService<SysUser> {
 
     IPage<QuTeamNum> quTeamNum(QuTeamNumDto quTeamNumDto);
 
+    IPage<QuTeamNum> getQuTeamByCompany(QuTeamNumDto quTeamNumDto);
+
     /**
      * 获取添加用户ID
      *

+ 11 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -102,6 +102,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         throw new SystemException("参数错误");
     }
 
+    @Override
+    public IPage<QuTeamNum> getQuTeamByCompany(QuTeamNumDto quTeamNumDto) {
+        List<QuTeamNum> deptByCompany = sysUserMapper.getDeptByCompany(quTeamNumDto);
+        IPage<QuTeamNum> page = new Page<>(quTeamNumDto.getPageNo(), quTeamNumDto.getPageSize());
+        page.setRecords(deptByCompany);
+        page.setTotal(deptByCompany.size());
+        return page;
+    }
+
+
     private IPage<QuTeamNum> getQuTeamNumIPage(QuTeamNumDto quTeamNumDto, List<QuTeamNum> dept) {
         Map<String, List<QuTeamNum>> collect = new HashMap<>();
         int flag;
@@ -152,6 +162,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         }
                         if (quTeamNum.getOrderStatus().equals("1")) {
                             teamNum.setQuoteNum(String.valueOf(new BigDecimal(teamNum.getQuoteNum()).add(new BigDecimal(quTeamNum.getCount()))));
+                            teamNum.setSubmitNum(String.valueOf(new BigDecimal(teamNum.getSubmitNum()).add(new BigDecimal(quTeamNum.getCount()))));
                         }
                     }
                 });

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

@@ -177,6 +177,8 @@
         <id column="id" javaType="String" jdbcType="VARCHAR"  property="deptId"/>
         <result column="name" javaType="String" jdbcType="VARCHAR" property="deptName"/>
         <result column="orderstatus" javaType="String" jdbcType="VARCHAR" property="orderStatus"/>
+        <result column="companyId" javaType="String" jdbcType="VARCHAR" property="companyId"/>
+        <result column="insCompany" javaType="String" jdbcType="VARCHAR" property="insCompany"/>
         <result column="count" javaType="String" jdbcType="VARCHAR" property="count"/>
         <result column="jqpremium" javaType="String" jdbcType="VARCHAR" property="jqPremiumSum"/>
         <result column="sypremium" javaType="String" jdbcType="VARCHAR" property="syPremiumSum"/>
@@ -224,11 +226,39 @@
         WHERE
         sd.del_flag = 0
         <if test="quTeamNumDto.deptId != null and quTeamNumDto.deptId != ''">
-            and sd.id like concat('%',#{quTeamNumDto.deptId},'%')
+            and sd.id like concat(#{quTeamNumDto.deptId},'%')
         </if>
+        <if test="quTeamNumDto.deptName != null and quTeamNumDto.deptName != ''">
+            and sd.name like concat(#{quTeamNumDto.deptName},'%')
+        </if>
+
+    </select>
 
+    <select id="getDeptByCompany" resultMap="QuTeamNumMap">
+        SELECT
+        iac.company_id as companyId,
+        iac.inscompany as insCompany,
+        COUNT(*) AS quoteNum,
+        SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END + CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS submitNum,
+        SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS hasInsuredNum,
+        SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END) AS jqpremium,
+        SUM(CASE WHEN iac.orderstatus = 3 THEN iac.sypremium ELSE 0 END) AS sypremium,
+        SUM(CASE WHEN iac.orderstatus = 3 THEN iac.taxamount ELSE 0 END) AS taxamount,
+        SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END + CASE WHEN iac.orderstatus = 3 THEN iac.sypremium ELSE 0 END) AS totalSumpremium
+        FROM
+        ins_orders io
+        RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
+        WHERE
+        iac.orderstatus IN ( 1, 2, 3 )
+        <if test="quTeamNumDto.deptId != null and quTeamNumDto.deptId != ''">
+            and io.deptid = #{quTeamNumDto.deptId}
+        </if>
+        GROUP BY
+        iac.company_id,
+        iac.inscompany
     </select>
 
+
     <resultMap id="QuUserNumMap" type="com.ydtech.modules.admin.model.QuTeamNum">
         <id column="id" javaType="String" jdbcType="VARCHAR"  property="userId"/>
         <result column="name" javaType="String" jdbcType="VARCHAR" property="userName"/>
@@ -279,7 +309,10 @@
         WHERE
         su.status = 1
         <if test="quTeamNumDto.deptId != null and quTeamNumDto.deptId != ''">
-            and su.id like concat('%',#{quTeamNumDto.deptId},'%')
+            and su.id like concat(#{quTeamNumDto.deptId},'%')
+        </if>
+        <if test="quTeamNumDto.userName != null and quTeamNumDto.userName != ''">
+            and su.name like concat(#{quTeamNumDto.userName},'%')
         </if>
     </select>
 </mapper>