Forráskód Böngészése

历史赔付列表,增加佣金字段,

yanliming 5 éve
szülő
commit
cb557a4f40

+ 1 - 0
picc-admin-server/src/main/java/com/jpsoft/picc/modules/business/controller/ApplicationPolicyController.java

@@ -271,4 +271,5 @@ public class ApplicationPolicyController {
         return msgResult;
     }
 
+
 }

+ 68 - 0
picc-admin-server/src/main/java/com/jpsoft/picc/modules/business/controller/InsurancePolicyController.java

@@ -960,4 +960,72 @@ public class InsurancePolicyController {
         return msgResult;
 
     }
+
+
+    @ApiOperation(value="历史投保单列表")
+    @RequestMapping(value = "insuranceHistoryPageList",method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name="definitionId",value = "险种ID",paramType = "query"),
+            @ApiImplicitParam(name="companyName",value = "公司名称",paramType = "query"),
+            @ApiImplicitParam(name="promoter",value = "推广员账号",paramType = "query"),
+            @ApiImplicitParam(name="agentId",value = "保险代理人ID",paramType = "query"),
+            @ApiImplicitParam(name="startCreat",value = "创建开始时间",paramType = "query"),
+            @ApiImplicitParam(name="endCreat",value = "创建结束时间",paramType = "query"),
+            @ApiImplicitParam(name="startFinish",value = "出单开始时间",paramType = "query"),
+            @ApiImplicitParam(name="endFinish",value = "出单结束时间",paramType = "query")
+    })
+    public MessageResult<Map> insuranceHistoryPageList(
+            String definitionId,String companyName,String promoter,String agentId,
+            String startCreat,String endCreat,
+            String startFinish,String endFinish,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            @RequestAttribute String subject){
+
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("a.create_time","desc"));
+
+        searchParams.put("status0",PolicyStatus.Expired.getValue());
+
+        searchParams.put("status1",PolicyStatus.SendOutPolicy.getValue());
+
+        if (StringUtils.isNotEmpty(definitionId)) {
+            searchParams.put("definitionId",definitionId);
+        }
+        if (StringUtils.isNotEmpty(companyName)) {
+            searchParams.put("companyName","%"+companyName+"%");
+        }
+        if (StringUtils.isNotEmpty(promoter)) {
+            searchParams.put("promoter","%"+promoter+"%");
+        }
+        if (StringUtils.isNotEmpty(agentId)) {
+            searchParams.put("agentId",agentId);
+        }
+        if (StringUtils.isNotEmpty(startCreat)) {
+            searchParams.put("startCreat",startCreat);
+        }
+        if (StringUtils.isNotEmpty(endCreat)) {
+            searchParams.put("endCreat",endCreat);
+        }
+        if (StringUtils.isNotEmpty(startFinish)) {
+            searchParams.put("startFinish",startFinish);
+        }
+        if (StringUtils.isNotEmpty(endFinish)) {
+            searchParams.put("endFinish",endFinish);
+        }
+
+        Page<InsurancePolicy> page = insurancePolicyService.hisPageSearch(searchParams,pageIndex,pageSize,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
 }

+ 2 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/dao/InsurancePolicyDAO.java

@@ -34,4 +34,6 @@ public interface InsurancePolicyDAO {
     List<InsurancePolicy> toBeAdjustedPolicy(String effectiveDate,String status);
 
     List<InsurancePolicy> mySearch(Map<String, Object> searchParams, List<Sort> sortList);
+
+    List<InsurancePolicy> hisSearch(Map<String, Object> searchParams, List<Sort> sortList);
 }

+ 9 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/entity/InsurancePolicy.java

@@ -5,7 +5,9 @@ import java.util.Date;
 import java.text.SimpleDateFormat;
 import java.math.BigDecimal;
 
+import com.jpsoft.picc.modules.base.entity.Company;
 import com.jpsoft.picc.modules.base.entity.InsuranceAgent;
+import com.jpsoft.picc.modules.base.entity.InsuranceDefinition;
 import com.jpsoft.picc.modules.common.constant.PolicyStatus;
 import lombok.Data;
 import org.apache.commons.lang3.StringUtils;
@@ -26,6 +28,8 @@ public class InsurancePolicy {
     private String definitionName;
     @ApiModelProperty(value = "保险种类")
     private String definitionId;
+    @ApiModelProperty(value = "保险种类")
+    private InsuranceDefinition definition;
     @ApiModelProperty(value = "状态:待制单50/待出单60/已出单70")
     private String status;
     @ApiModelProperty(value = "状态:草稿10/待初审20/待复审30/待缴费40/待制单50/待出单60/已出单70/已过期100(翻译)")
@@ -86,6 +90,8 @@ public class InsurancePolicy {
 
     @ApiModelProperty(value = "投保企业编号")
     private String companyId;
+    @ApiModelProperty(value = "投保企业")
+    private Company company;
     @ApiModelProperty(value = "最后关联投保申请单编号")
     private String latestApplicationId;
 
@@ -97,6 +103,9 @@ public class InsurancePolicy {
     @ApiModelProperty(value = "出单时间")
     private Date finishTime;
 
+    @ApiModelProperty(value = "佣金金额")
+    private BigDecimal commission;
+
     /**
      * 状态翻译
      * @return

+ 2 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/service/InsurancePolicyService.java

@@ -35,4 +35,6 @@ public interface InsurancePolicyService {
     void updatePolicyNumAndAmount(InsurancePolicy destPolicy, String subject);
 
     Page<InsurancePolicy> myPageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, List<Sort> sortList);
+
+    Page<InsurancePolicy> hisPageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize, List<Sort> sortList);
 }

+ 9 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/service/impl/InsurancePolicyServiceImpl.java

@@ -147,4 +147,13 @@ public class InsurancePolicyServiceImpl implements InsurancePolicyService {
 
         return page;
     }
+
+    @Override
+    public Page<InsurancePolicy> hisPageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize, List<Sort> sortList) {
+        Page<InsurancePolicy> page = PageHelper.startPage(pageNumber, pageSize).doSelectPage(() -> {
+            insurancePolicyDAO.hisSearch(searchParams, sortList);
+        });
+
+        return page;
+    }
 }

+ 57 - 1
picc-common/src/main/resources/mapper/business/InsurancePolicy.xml

@@ -30,7 +30,11 @@
         <result property="companyId" column="company_id"/>
         <result property="policyNo" column="policy_no"/>
         <result property="finishTime" column="finish_time"/>
+        <result property="commission" column="commission_"/>
+
         <association property="agent" column="agent_id" select="com.jpsoft.picc.modules.base.dao.InsuranceAgentDAO.get"></association>
+        <association property="definition" column="definition_id" select="com.jpsoft.picc.modules.base.dao.InsuranceDefinitionDAO.get"></association>
+        <association property="company" column="company_id" select="com.jpsoft.picc.modules.base.dao.CompanyDAO.get"></association>
    </resultMap>
     <insert id="insert" parameterType="com.jpsoft.picc.modules.business.entity.InsurancePolicy">
         <!--
@@ -43,7 +47,7 @@
 	    (id_,definition_id,status_,process_status,insurance_fee,start_time,end_time,
 	    number_,account_bank,issuing_bank,singl_number,transfer_time,
 	    agent_id,insurance_policy_file,no_,effective_date,del_flag,create_by,create_time,update_by,update_time,
-	    company_id,latest_application_id,policy_no,finish_time)
+	    company_id,latest_application_id,policy_no,finish_time,commission)
 		values
 		(
             #{id,jdbcType=VARCHAR}
@@ -71,6 +75,7 @@
             ,#{latestApplicationId,jdbcType=VARCHAR}
             ,#{policyNo,jdbcType=VARCHAR}
             ,#{finishTime,jdbcType= TIMESTAMP }
+            ,#{commission,jdbcType= NUMERIC }
 		)
 	]]>
     </insert>
@@ -152,6 +157,9 @@
             <if test="finishTime!=null">
                 finish_time=#{finishTime,jdbcType= TIMESTAMP },
             </if>
+            <if test="commission!=null">
+                commission_=#{commission,jdbcType= NUMERIC },
+            </if>
         </set>
         where id_=#{id}
     </update>
@@ -326,4 +334,52 @@
             ${sort.name} ${sort.order}
         </foreach>
     </select>
+
+    <select id="hisSearch" parameterType="hashmap" resultMap="InsurancePolicyMap">
+        <![CDATA[
+			SELECT * FROM business_insurance_policy a LEFT JOIN
+			base_company b on a.company_id=b.id_
+		]]>
+        <where>
+            and a.del_flag = false and b.del_flag = false
+            <if test="searchParams.status0 != null">
+                and (a.status_ = #{searchParams.status0} or a.status_ = #{searchParams.status1})
+            </if>
+            <if test="searchParams.definitionId != null">
+                and a.definition_id = #{searchParams.definitionId}
+            </if>
+            <if test="searchParams.companyName != null">
+                and b.name_ like #{searchParams.companyName}
+            </if>
+            <if test="searchParams.promoter != null">
+                and b.promoter_ like #{searchParams.promoter}
+            </if>
+            <if test="searchParams.agentId != null">
+                and a.agent_id = #{searchParams.agentId}
+            </if>
+            <if test="searchParams.startCreat != null">
+                <![CDATA[
+					and a.create_time >= #{searchParams.startCreat}
+				]]>
+            </if>
+            <if test="searchParams.endCreat != null">
+                <![CDATA[
+					and a.create_time <= #{searchParams.endCreat}
+				]]>
+            </if>
+            <if test="searchParams.startFinish != null">
+                <![CDATA[
+					and a.finish_time >= #{searchParams.startFinish}
+				]]>
+            </if>
+            <if test="searchParams.endFinish != null">
+                <![CDATA[
+					and a.finish_time <= #{searchParams.endFinish}
+				]]>
+            </if>
+        </where>
+        <foreach item="sort" collection="sortList"  open="order by" separator=",">
+            ${sort.name} ${sort.order}
+        </foreach>
+    </select>
 </mapper>