浏览代码

Merge remote-tracking branch 'origin/master'

tomatozq 5 年之前
父节点
当前提交
97796135a8

+ 94 - 0
picc-common/src/main/resources/mapper/business/InsuranceApplication.xml

@@ -163,12 +163,106 @@
     </select>
     <select id="search" parameterType="hashmap" resultMap="InsuranceApplicationMap">
         <![CDATA[
+	</insert>
+	<delete id="delete" parameterType="string">
+		delete from business_insurance_application where id_=#{id,jdbcType=VARCHAR}
+	</delete>
+	<update id="update" parameterType="com.jpsoft.picc.modules.business.entity.InsuranceApplication">
+		update business_insurance_application
+		<set>
+				<if test="companyId!=null">
+		company_id=#{companyId,jdbcType=VARCHAR},
+		</if>
+				<if test="definitionId!=null">
+		definition_id=#{definitionId,jdbcType=VARCHAR},
+		</if>
+				<if test="insuredName!=null">
+		insured_name=#{insuredName,jdbcType=VARCHAR},
+		</if>
+				<if test="insuredTel!=null">
+		insured_tel=#{insuredTel,jdbcType=VARCHAR},
+		</if>
+				<if test="companyName!=null">
+		company_name=#{companyName,jdbcType=VARCHAR},
+		</if>
+				<if test="usccCode!=null">
+		uscc_code=#{usccCode,jdbcType=VARCHAR},
+		</if>
+				<if test="businessScope!=null">
+		business_scope=#{businessScope,jdbcType=VARCHAR},
+		</if>
+				<if test="industryType!=null">
+		industry_type=#{industryType,jdbcType=VARCHAR},
+		</if>
+				<if test="employeesNumber!=null">
+		employees_number=#{employeesNumber,jdbcType= NUMERIC },
+		</if>
+				<if test="insuredNumber!=null">
+		insured_number=#{insuredNumber,jdbcType= NUMERIC },
+		</if>
+				<if test="companyAddress!=null">
+		company_address=#{companyAddress,jdbcType=VARCHAR},
+		</if>
+				<if test="lossInRecentYears!=null">
+		loss_in_recent_years=#{lossInRecentYears,jdbcType=VARCHAR},
+		</if>
+				<if test="startTime!=null">
+		start_time=#{startTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="endTime!=null">
+		end_time=#{endTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="insuranceFee!=null">
+		insurance_fee=#{insuranceFee,jdbcType= NUMERIC },
+		</if>
+				<if test="status!=null">
+		status_=#{status,jdbcType=VARCHAR},
+		</if>
+				<if test="processStatus!=null">
+		process_status=#{processStatus,jdbcType=VARCHAR},
+		</if>
+				<if test="createBy!=null">
+		create_by=#{createBy,jdbcType=VARCHAR},
+		</if>
+				<if test="createTime!=null">
+		create_time=#{createTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="updateBy!=null">
+		update_by=#{updateBy,jdbcType=VARCHAR},
+		</if>
+				<if test="updateTime!=null">
+		update_time=#{updateTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="delFlag!=null">
+		del_flag=#{delFlag,jdbcType= NUMERIC },
+		</if>
+		</set>
+	where id_=#{id}
+	</update>
+	<select id="get" parameterType="string" resultMap="InsuranceApplicationMap">
+		select
+id_,company_id,definition_id,insured_name,insured_tel,company_name,uscc_code,business_scope,industry_type,employees_number,insured_number,company_address,loss_in_recent_years,start_time,end_time,insurance_fee,status_,process_status,create_by,create_time,update_by,update_time,del_flag		from business_insurance_application where id_=#{0}
+	</select>
+	<select id="exist" parameterType="string" resultType="int">
+		select count(*) from business_insurance_application where id_=#{0} and del_flag = false
+	</select>
+	<select id="list" resultMap="InsuranceApplicationMap">
+		select * from business_insurance_application where del_flag = false
+	</select>
+	<select id="search" parameterType="hashmap" resultMap="InsuranceApplicationMap">
+		<![CDATA[
 			select * from business_insurance_application
 		]]>
         <where>
             <if test="searchParams.id != null">
                 and ID_ like #{searchParams.id}
             </if>
+            <if test="searchParams.companyId != null">
+                and company_id like #{searchParams.companyId}
+            </if>
+            <if test="searchParams.status != null">
+                and status_ like #{searchParams.status}
+            </if>
         </where>
         <foreach item="sort" collection="sortList" open="order by" separator=",">
             ${sort.name} ${sort.order}

+ 84 - 12
picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/InsuranceApplicationController.java

@@ -11,6 +11,7 @@ import com.jpsoft.picc.modules.base.service.InsuranceDefinitionService;
 import com.jpsoft.picc.modules.base.service.InsuranceJobsService;
 import com.jpsoft.picc.modules.business.entity.InsuranceApplication;
 import com.jpsoft.picc.modules.business.service.InsuranceApplicationService;
+import com.jpsoft.picc.modules.common.constant.PolicyStatus;
 import com.jpsoft.picc.modules.common.dto.MessageResult;
 import com.jpsoft.picc.modules.common.dto.Sort;
 import com.jpsoft.picc.modules.common.utils.PojoUtils;
@@ -23,10 +24,7 @@ import org.jasig.cas.client.authentication.AttributePrincipal;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
@@ -55,12 +53,16 @@ public class InsuranceApplicationController {
     @ApiOperation(value="投保单列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String")
+//            @ApiImplicitParam(name = "status",value = "状态:草稿10/待初审20/待复审30/待缴费40/待制单50/待出单60/已出单70/已过期100", required = true, paramType = "form",dataType = "String")
     })
     public MessageResult<Map> pageList(
-            @RequestParam(value="companyId",defaultValue="") String companyId,
+//            @RequestParam(value="status",defaultValue="") String status,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
-            @RequestParam(value="pageSize",defaultValue="20") int pageSize){
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
+
         MessageResult<Map> msgResult = new MessageResult<>();
 
         Map<String,Object> searchParams = new HashMap<>();
@@ -68,8 +70,8 @@ public class InsuranceApplicationController {
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("id_","asc"));
 
-        if (StringUtils.isNotEmpty(companyId)) {
-            searchParams.put("companyId",companyId);
+        if (StringUtils.isNotEmpty(company.getId())) {
+            searchParams.put("companyId",company.getId());
         }
 
         Page<InsuranceApplication> page = insuranceApplicationService.pageSearch(searchParams,pageIndex,pageSize,sortList);
@@ -87,10 +89,17 @@ public class InsuranceApplicationController {
     })
     public MessageResult<Map<String,Object>> insureDetail(@RequestParam(value="id",defaultValue="") String id,
                                                           HttpServletRequest request){
+        MessageResult<Map<String,Object>> msgResult = new MessageResult<>();
+
         AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
         Company company = companyService.findByCreateBy(principal.getName());
+        if(company == null){
+            msgResult.setResult(false);
+            msgResult.setMessage("请先完善企业信息!");
+
+            return msgResult;
+        }
 
-        MessageResult<Map<String,Object>> msgResult = new MessageResult<>();
         Map<String,Object> objectMap = new HashMap<>();
 
         try {
@@ -100,10 +109,29 @@ public class InsuranceApplicationController {
                 insuranceApplication = insuranceApplicationService.get(id);
             } else {
                 insuranceApplication = new InsuranceApplication();
+//                insuranceApplication.setCompanyId();
+//                insuranceApplication.setDefinitionId();
+
+//                insuranceApplication.setStartTime();
+//                insuranceApplication.setEndTime();
+//
+//                insuranceApplication.setInsuredName();
+//                insuranceApplication.setInsuredTel();
+//                insuranceApplication.setCompanyName();
+//                //business_nature
+//                insuranceApplication.setUsccCode();
+//                insuranceApplication.setBusinessScope();
+//                insuranceApplication.setIndustryType();
+//                insuranceApplication.setEmployeesNumber();
+//                insuranceApplication.setInsuredNumber();
+//                //tel_
+//                //mail_
+//                insuranceApplication.setCompanyAddress();
+//                insuranceApplication.setLossInRecentYears();
             }
 
             objectMap.put("insuranceApplication",insuranceApplication);
-            objectMap.put("company",company);
+            objectMap.put("business_nature",company);
 
             msgResult.setData(objectMap);
         }
@@ -169,7 +197,7 @@ public class InsuranceApplicationController {
         try {
             InsuranceApplication insuranceApplication = insuranceApplicationService.get(id);
 
-            insuranceApplication.setStatus("20");
+            insuranceApplication.setStatus(String.valueOf(PolicyStatus.PendingTrial.getValue()));
             insuranceApplication.setUpdateBy(principal.getName());
             insuranceApplication.setUpdateTime(new Date());
             int affectCount = insuranceApplicationService.update(insuranceApplication);
@@ -185,4 +213,48 @@ public class InsuranceApplicationController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="保存草稿")
+    @RequestMapping(value = "saveDraft",method = RequestMethod.POST)
+    public MessageResult<InsuranceApplication> saveDraft(@ModelAttribute InsuranceApplication insuranceApplication,
+                                                        HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
+
+        MessageResult<InsuranceApplication> msgResult = new MessageResult<>();
+
+        try {
+            int affectCount = 0;
+            if(insuranceApplication.getId() == null){
+                insuranceApplication.setId(UUID.randomUUID().toString());
+                insuranceApplication.setCompanyId(company.getId());
+                insuranceApplication.setStatus(String.valueOf(PolicyStatus.Draft));
+                insuranceApplication.setDelFlag(false);
+                insuranceApplication.setCreateBy(principal.getName());
+                insuranceApplication.setCreateTime(new Date());
+
+                affectCount = insuranceApplicationService.insert(insuranceApplication);
+            }else {
+                insuranceApplication.setUpdateBy(principal.getName());
+                insuranceApplication.setUpdateTime(new Date());
+
+                affectCount = insuranceApplicationService.update(insuranceApplication);
+            }
+
+            if(affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(insuranceApplication);
+            }else {
+                msgResult.setResult(false);
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
 }

+ 41 - 0
picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/InsurancePolicyController.java

@@ -1,7 +1,11 @@
 package com.jpsoft.picc.modules.auth.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.picc.modules.base.entity.Company;
+import com.jpsoft.picc.modules.base.service.CompanyService;
+import com.jpsoft.picc.modules.business.entity.InsuranceApplication;
 import com.jpsoft.picc.modules.business.entity.InsurancePolicy;
+import com.jpsoft.picc.modules.business.service.InsuranceApplicationService;
 import com.jpsoft.picc.modules.business.service.InsurancePolicyService;
 import com.jpsoft.picc.modules.common.dto.MessageResult;
 import com.jpsoft.picc.modules.common.dto.Sort;
@@ -11,6 +15,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
+import org.jasig.cas.client.authentication.AttributePrincipal;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -33,6 +39,12 @@ public class InsurancePolicyController {
     @Autowired
     private InsurancePolicyService insurancePolicyService;
 
+    @Autowired
+    private CompanyService companyService;
+
+    @Autowired
+    private InsuranceApplicationService insuranceApplicationService;
+
     @ApiOperation(value="每月投保单列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     @ApiImplicitParams({
@@ -119,4 +131,33 @@ public class InsurancePolicyController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="投保历史记录")
+    @RequestMapping(value = "historyPageList",method = RequestMethod.POST)
+    public MessageResult<Map> historyPageList(
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+        searchParams.put("status","70");
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("id_","asc"));
+
+        if (StringUtils.isNotEmpty(company.getId())) {
+            searchParams.put("companyId",company.getId());
+        }
+
+        Page<InsuranceApplication> page = insuranceApplicationService.pageSearch(searchParams,pageIndex,pageSize,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
 }

+ 14 - 7
picc-enterprise-server/src/main/java/com/jpsoft/picc/modules/auth/controller/InsurancePolicyUserController.java

@@ -2,8 +2,10 @@ package com.jpsoft.picc.modules.auth.controller;
 
 import cn.hutool.core.convert.Convert;
 import com.github.pagehelper.Page;
+import com.jpsoft.picc.modules.base.entity.Company;
 import com.jpsoft.picc.modules.base.entity.CompanyMember;
 import com.jpsoft.picc.modules.base.service.CompanyMemberService;
+import com.jpsoft.picc.modules.base.service.CompanyService;
 import com.jpsoft.picc.modules.business.entity.InsurancePolicyMember;
 import com.jpsoft.picc.modules.business.service.InsurancePolicyMemberService;
 import com.jpsoft.picc.modules.common.dto.MessageResult;
@@ -34,6 +36,9 @@ public class InsurancePolicyUserController {
     @Autowired
     private CompanyMemberService companyMemberService;
 
+    @Autowired
+    private CompanyService companyService;
+
     @Autowired
     private InsurancePolicyMemberService insurancePolicyMemberService;
 
@@ -69,12 +74,13 @@ public class InsurancePolicyUserController {
     @PostMapping("add")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "policyId",value = "每月投保单ID", required = true, paramType = "form",dataType = "String"),
-            @ApiImplicitParam(name = "memberId",value = "企业用户ID", required = true, paramType = "form",dataType = "String")
+//            @ApiImplicitParam(name = "memberId",value = "企业用户ID", required = true, paramType = "form",dataType = "String")
     })
     public MessageResult<InsurancePolicyMember> add(@RequestParam(value="policyId",defaultValue="") String policyId,
-                                                    @RequestParam(value="memberId",defaultValue="") String memberId,
+//                                                    @RequestParam(value="memberId",defaultValue="") String memberId,
                                                     HttpServletRequest request){
         AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
 
         MessageResult<InsurancePolicyMember> msgResult = new MessageResult<>();
         InsurancePolicyMember insurancePolicyMember = new InsurancePolicyMember();
@@ -82,7 +88,7 @@ public class InsurancePolicyUserController {
         try {
             insurancePolicyMember.setId(UUID.randomUUID().toString());
             if(StringUtils.isNotEmpty(policyId)) insurancePolicyMember.setPolicyId(policyId);
-            if(StringUtils.isNotEmpty(memberId)) insurancePolicyMember.setMemberId(memberId);
+            if(StringUtils.isNotEmpty(company.getId())) insurancePolicyMember.setMemberId(company.getId());
             insurancePolicyMember.setStatus("0");
             insurancePolicyMember.setDelFlag(false);
             insurancePolicyMember.setCreateBy(principal.getName());
@@ -148,15 +154,16 @@ public class InsurancePolicyUserController {
     @ApiOperation(value="批量导入参保人员")
     @PostMapping("batchImport")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String"),
+//            @ApiImplicitParam(name = "companyId",value = "企业ID", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "policyId",value = "每月投保单ID", required = true, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "uploadFile",value = "上传文件", required = true,paramType="form", dataType = "__file")
     })
-    public MessageResult<String> batchImport(@RequestParam(value="companyId",defaultValue="") String companyId,
+    public MessageResult<String> batchImport(//@RequestParam(value="companyId",defaultValue="") String companyId,
                                              @RequestParam(value="policyId",defaultValue="") String policyId,
                                             MultipartFile uploadFile,
                                             HttpServletRequest request){
         AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+        Company company = companyService.findByCreateBy(principal.getName());
 
         MessageResult<String> msgResult = new MessageResult<>();
         CompanyMember companyMember = new CompanyMember();
@@ -176,7 +183,7 @@ public class InsurancePolicyUserController {
                 String healthStatus = array[3].toString();
 
                 Map<String,Object> searchParams = new HashMap<>();
-                searchParams.put("companyId",companyId);
+                searchParams.put("companyId",company.getId());
                 searchParams.put("name",name);
                 searchParams.put("cardNo",cardNo);
                 List<Sort> sortList = new ArrayList<>();
@@ -186,7 +193,7 @@ public class InsurancePolicyUserController {
                     companyMember = page.get(0);
                 }else{
                     companyMember.setId(UUID.randomUUID().toString());
-                    if(StringUtils.isNotEmpty(companyId)) companyMember.setCompanyId(companyId);
+                    if(StringUtils.isNotEmpty(company.getId())) companyMember.setCompanyId(company.getId());
                     if (StringUtils.isNotEmpty(name)) companyMember.setName(name);
                     if (StringUtils.isNotEmpty(cardType)) companyMember.setCardType(cardType);
                     if (StringUtils.isNotEmpty(cardNo)) companyMember.setCardNo(cardNo);