Bladeren bron

错误修改

xiao547607 5 jaren geleden
bovenliggende
commit
3da8ec92f5

+ 219 - 7
picc-admin-server/src/main/java/com/jpsoft/picc/modules/business/controller/StudentApplicationController.java

@@ -7,10 +7,12 @@ import com.jpsoft.picc.modules.base.entity.InsuranceJobs;
 import com.jpsoft.picc.modules.base.service.InsuranceDefinitionLimitService;
 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.entity.InsurancePolicy;
-import com.jpsoft.picc.modules.business.entity.StudentApplication;
+import com.jpsoft.picc.modules.base.service.TemplateMessageService;
+import com.jpsoft.picc.modules.business.entity.*;
+import com.jpsoft.picc.modules.business.service.StudentApplicationRecordService;
 import com.jpsoft.picc.modules.business.service.StudentApplicationService;
+import com.jpsoft.picc.modules.common.constant.PolicyStatus;
+import com.jpsoft.picc.modules.common.constant.StudentPolicyStatus;
 import com.jpsoft.picc.modules.common.dto.Sort;
 import com.jpsoft.picc.modules.common.dto.MessageResult;
 import com.jpsoft.picc.modules.common.utils.NumberToCN;
@@ -51,6 +53,12 @@ public class StudentApplicationController {
     @Autowired
     private InsuranceJobsService insuranceJobsService;
 
+    @Autowired
+    private TemplateMessageService templateMessageService;
+
+    @Autowired
+    private StudentApplicationRecordService studentApplicationRecordService;
+
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
     public MessageResult<StudentApplication> create(){
@@ -221,6 +229,10 @@ public class StudentApplicationController {
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     public MessageResult<Map> pageList(
             String id,
+            String tabStatus,
+            String userType,
+            String policyNo,
+            String status,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
             @RequestParam(value="pageSize",defaultValue="20") int pageSize,
             @RequestAttribute String subject){
@@ -235,8 +247,22 @@ public class StudentApplicationController {
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("a.create_time","desc"));
 
-        if (StringUtils.isNotEmpty(id)) {
-            searchParams.put("id","%" + id + "%");
+        if (StringUtils.isNotEmpty(tabStatus)) {
+            searchParams.put("tabStatus",tabStatus);
+        }
+
+        if (StringUtils.isNotEmpty(policyNo)) {
+            searchParams.put("policyNo","%" + policyNo + "%");
+        }
+
+        if (StringUtils.isNotEmpty(userType)) {
+            if(userType.equals("1")){
+                searchParams.put("userType",userType);
+            }
+        }
+
+        if (StringUtils.isNotEmpty(status)) {
+            searchParams.put("status",status);
         }
 
         searchParams.put("delFlag",false);
@@ -248,6 +274,63 @@ public class StudentApplicationController {
         return msgResult;
     }
 
+    @ApiOperation(value="标签页数量提示")
+    @RequestMapping(value = "tabCount",method = RequestMethod.POST)
+    public MessageResult<Map> tabCount(
+            String tabStatus,
+            String userType,
+            String policyNo,
+            String status,
+            @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("create_time","desc"));
+
+        if (StringUtils.isNotEmpty(tabStatus)) {
+            searchParams.put("tabStatus",tabStatus);
+        }
+
+        if (StringUtils.isNotEmpty(policyNo)) {
+            searchParams.put("policyNo","%" + policyNo + "%");
+        }
+
+        if (StringUtils.isNotEmpty(userType)) {
+            if(userType.equals("1")){
+                searchParams.put("userType",userType);
+            }
+        }
+        if (StringUtils.isNotEmpty(status)) {
+            searchParams.put("status",status);
+        }
+
+        searchParams.put("delFlag",false);
+
+        Map<String,Object> countMap = new HashMap<>();
+
+        Page<StudentApplication> allPage = studentApplicationService.pageSearch(searchParams,1,100000,true,sortList);
+
+        countMap.put("all",allPage.getTotal());
+
+        for (StudentPolicyStatus sPolicyStatus : StudentPolicyStatus.values()) {
+            searchParams.put("status",sPolicyStatus.getValue());
+            Page<StudentApplication> page = studentApplicationService.pageSearch(searchParams,1,100000,true,sortList);
+            System.out.println(sPolicyStatus.getText() + "=============" + page.getTotal());
+            countMap.put(sPolicyStatus.getValue() + "" , page.getTotal());
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(countMap);
+
+        return msgResult;
+    }
+
 
     @ApiOperation(value="添加测试信息")
     @PostMapping("addTestApplication")
@@ -453,8 +536,7 @@ public class StudentApplicationController {
             map1.put("id",jobId);
             map1.put("name",insuranceJobs.getJobs().getName());
             map1.put("content",insuranceJobs.getJobs().getContent());
-            map1.put("charges",insuranceJobs.getCharges());
-            map1.put("chargesY",insuranceJobs.getCharges().multiply(new BigDecimal(12)));
+            map1.put("chargesY",insuranceJobs.getCharges());
             long memberCount = 1;
             long number = Long.valueOf(memberCount).intValue();
             map1.put("number",number);
@@ -477,4 +559,134 @@ public class StudentApplicationController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="人才超市与PICC转账")
+    @RequestMapping(value = "makePolicy",method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name="applicationId",value = "投保单ID",required = true,paramType = "query"),
+            @ApiImplicitParam(name="accountBank",value = "入账银行",required = true,paramType = "query"),
+            @ApiImplicitParam(name="issuingBank",value = "出账银行",required = true,paramType = "query"),
+            @ApiImplicitParam(name="singlNumber",value = "单号",required = true,paramType = "query"),
+            @ApiImplicitParam(name="processStatus",value = "流程审核状态(正常/回退)",required = true,paramType = "query"),
+            @ApiImplicitParam(name="opinion",value = "意见",required = true,paramType = "query")
+    })
+    public MessageResult<Integer> makePolicy(String applicationId,
+                                           String accountBank,String issuingBank,String singlNumber,
+                                           String processStatus,String opinion, @RequestAttribute String subject){
+
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            StudentApplication studentApplication = studentApplicationService.get(applicationId);
+            StudentPolicyStatus srcStudentPolicyStatus = StudentPolicyStatus.valueOf(Integer.valueOf(studentApplication.getStatus()));
+
+            StudentPolicyStatus destStudentPolicyStatus;
+
+            if (processStatus.equals("正常")) {
+                //40
+                destStudentPolicyStatus = StudentPolicyStatus.PendingOutPolicy;
+            } else {
+                //30
+                destStudentPolicyStatus = StudentPolicyStatus.PendingPay;
+            }
+
+            studentApplication.setAccountBank(accountBank);
+            studentApplication.setIssuingBank(issuingBank);
+            studentApplication.setSinglNumber(singlNumber);
+            studentApplication.setTransferTime(new Date());
+
+            int affectCount = studentApplicationService.update(studentApplication);
+
+            int affectCount1 = 0;
+
+            if (affectCount > 0) {
+                affectCount1 = approval(applicationId,  processStatus, opinion, destStudentPolicyStatus.getValue() + "", subject);
+            }
+
+            //发送微信通知
+            //templateMessageService.sendTemplateMessage(applicationId, srcStudentPolicyStatus, destStudentPolicyStatus);
+
+            msgResult.setResult(true);
+            msgResult.setData(affectCount1);
+        }
+        catch (Exception ex){
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+
+    @ApiOperation(value="回退转单通用")
+    @RequestMapping(value = "transferOrder",method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name="applicationId",value = "投保单ID",required = true,paramType = "query"),
+            @ApiImplicitParam(name="processStatus",value = "转单步骤",required = true,paramType = "query"),
+            @ApiImplicitParam(name="status",value = "转单步骤",required = true,paramType = "query")
+    })
+    public MessageResult<Integer> transferOrder(String applicationId,
+                                                String status,
+                                                String processStatus,
+                                                @RequestAttribute String subject){
+        //当前用户ID
+        System.out.println(subject);
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            StudentApplication studentApplication = studentApplicationService.get(applicationId);
+            StudentPolicyStatus srcStatus = StudentPolicyStatus.valueOf(Integer.valueOf(studentApplication.getStatus()));
+
+            StudentPolicyStatus destStatus = StudentPolicyStatus.valueOf(Integer.valueOf(status));
+
+            int affectCount = approval(applicationId, processStatus, "", destStatus.getValue()+ "", subject);
+
+            //发送微信通知
+            //templateMessageService.sendTemplateMessage(applicationId, srcStatus, destStatus);
+
+            msgResult.setResult(true);
+            msgResult.setData(affectCount);
+        }
+        catch (Exception ex){
+            logger.error(ex.getMessage(),ex);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    private Integer approval(String applicationId,String processStatus,String opinion,String status,String subject){
+        int affectCount = 0;
+
+        StudentApplication studentApplication = studentApplicationService.get(applicationId);
+
+        String curStatus = studentApplication.getStatus();
+
+        studentApplication.setProcessStatus(processStatus);
+        studentApplication.setStatus(status);
+        studentApplication.setUpdateBy(subject);
+        studentApplication.setUpdateTime(new Date());
+
+        int affectCount1 = studentApplicationService.update(studentApplication);
+
+        if(affectCount1 > 0){
+            StudentApplicationRecord record = new StudentApplicationRecord();
+            record.setApplicationId(studentApplication.getId());
+            record.setStatus(curStatus);
+            record.setOpinion(opinion);
+            record.setProcessStatus(processStatus);
+            record.setId(UUID.randomUUID().toString());
+            record.setDelFlag(false);
+            record.setCreateBy(subject);
+            record.setCreateTime(new Date());
+
+            affectCount = studentApplicationRecordService.insert(record);
+        }
+
+        return affectCount;
+    }
+
 }

+ 10 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/business/entity/StudentApplication.java

@@ -101,6 +101,16 @@ public class StudentApplication {
 	private String companyId;
 	@ApiModelProperty(value = "班级名称")
 	private String companyName;
+	@ApiModelProperty(value = "入账银行")
+	private String accountBank;
+	@ApiModelProperty(value = "出账银行")
+	private String issuingBank;
+	@ApiModelProperty(value = "单号")
+	private String singlNumber;
+	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
+	@ApiModelProperty(value = "转账时间")
+	private Date transferTime;
 
 
 	/**

+ 36 - 30
picc-common/src/main/java/com/jpsoft/picc/modules/business/entity/StudentApplicationRecord.java

@@ -4,6 +4,8 @@ import java.io.Serializable;
 import java.util.Date;
 import java.text.SimpleDateFormat;
 import java.math.BigDecimal;
+
+import com.jpsoft.picc.modules.common.constant.StudentPolicyStatus;
 import org.springframework.format.annotation.DateTimeFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
@@ -16,58 +18,62 @@ import lombok.Data;
 @Data
 @ApiModel(value = "business_student_application_record的实体类")
 public class StudentApplicationRecord {
-	/**
-	 *编号
-	 */
 	@ApiModelProperty(value = "编号")
 	private String id;
-	/**
-	 *投保单申请ID
-	 */
 	@ApiModelProperty(value = "投保单申请ID")
 	private String applicationId;
-	/**
-	 *意见
-	 */
 	@ApiModelProperty(value = "意见")
 	private String opinion;
-	/**
-	 *流程审核状态:正常/回退等
-	 */
 	@ApiModelProperty(value = "流程审核状态:正常/回退等")
 	private String processStatus;
-	/**
-	 *是否删除
-	 */
 	@ApiModelProperty(value = "是否删除")
 	private Boolean delFlag;
-	/**
-	 *状态
-	 */
 	@ApiModelProperty(value = "状态")
 	private String status;
-	/**
-	 *创建人
-	 */
+	@ApiModelProperty(value = "状态:待缴费20/待审核30/待制单40/待签名50/已出单60/已过期100(翻译)")
+	private String statusN;
 	@ApiModelProperty(value = "创建人")
 	private String createBy;
-	/**
-	 *创建时间
-	 */
 	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
 	@ApiModelProperty(value = "创建时间")
 	private Date createTime;
-	/**
-	 *修改人
-	 */
 	@ApiModelProperty(value = "修改人")
 	private String updateBy;
-	/**
-	 *修改时间
-	 */
 	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
 	@ApiModelProperty(value = "修改时间")
 	private Date updateTime;
+	public String getStatusN() {
+		String statusN = "";
+		if(status.equals("10")){
+			statusN = StudentPolicyStatus.Draft.getText();
+		}
+		else if(status.equals("15")){
+			statusN = StudentPolicyStatus.Back.getText();
+		}
+		else if(status.equals("20")){
+			statusN = StudentPolicyStatus.PendingPay.getText();
+		}
+		else if(status.equals("30")){
+			statusN = StudentPolicyStatus.PendingMakePolicy.getText();
+		}
+		else if(status.equals("40")){
+			statusN = StudentPolicyStatus.PendingOutPolicy.getText();
+		}
+		else if(status.equals("50")){
+			statusN = StudentPolicyStatus.PendingSigned.getText();
+		}
+		else if(status.equals("60")){
+			statusN = StudentPolicyStatus.SendOutPolicy.getText();
+		}
+		else{
+			statusN = StudentPolicyStatus.Expired.getText();
+		}
+		return statusN;
+	}
+
+	public void setStatusN(String statusN){
+		this.statusN = statusN;
+	}
 }

+ 6 - 6
picc-common/src/main/resources/mapper/base/InsuranceDefinition.xml

@@ -17,12 +17,12 @@
         <result property="cutOffTime" column="cut_off_time"/>
         <result property="advanceSubmitDays" column="advance_submit_days"/>
         <result property="notice" column="notice_"/>
-        <result property="letter" column="letter_ "/>
-        <result property="specialStatement" column="special_statement "/>
-        <result property="exemptionInstructions" column="exemption_instructions "/>
-        <result property="responsibility" column="responsibility_ "/>
-        <result property="responsibilityAttach" column="responsibility_attach "/>
-        <result property="haveAttach" column="have_attach "/>
+        <result property="letter" column="letter_"/>
+        <result property="specialStatement" column="special_statement"/>
+        <result property="exemptionInstructions" column="exemption_instructions"/>
+        <result property="responsibility" column="responsibility_"/>
+        <result property="responsibilityAttach" column="responsibility_attach"/>
+        <result property="haveAttach" column="have_attach"/>
     </resultMap>
     <insert id="insert" parameterType="com.jpsoft.picc.modules.base.entity.InsuranceDefinition">
         <!--

+ 38 - 2
picc-common/src/main/resources/mapper/business/StudentApplication.xml

@@ -39,6 +39,10 @@
 			<result property="companyName" column="company_name" />
 			<result property="attachRelationship" column="attach_relationship" />
 			<result property="insuredSex" column="insured_sex" />
+			<result property="accountBank" column="account_bank" />
+			<result property="issuingBank" column="issuing_bank" />
+			<result property="singlNumber" column="singl_number" />
+			<result property="transferTime" column="transfer_time" />
 			</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.picc.modules.business.entity.StudentApplication">
 	<!--
@@ -50,7 +54,8 @@
 		insert into business_student_application
 	    (id_,create_by,create_time,update_by,update_time,del_flag,definition_id,policy_no,insured_id,insured_name,insured_card,insured_tel,have_attach,attach_id,attach_name,attach_card,attach_tel,have_medicare,start_time,end_time,
 	    insurance_fee,status_,process_status,finish_time,signature_,signature_2,signature_3,payment_order,
-	    school_id,school_name,company_id,company_name,attach_relationship,insured_sex)
+	    school_id,school_name,company_id,company_name,attach_relationship,insured_sex,
+	    account_bank,issuing_bank,singl_number,transfer_time)
 		values
 		(
 			#{id,jdbcType=VARCHAR}
@@ -87,6 +92,10 @@
 			,#{companyName,jdbcType=VARCHAR}
 			,#{attachRelationship,jdbcType=VARCHAR}
 			,#{insuredSex,jdbcType=VARCHAR}
+			,#{accountBank,jdbcType=VARCHAR}
+            ,#{issuingBank,jdbcType=VARCHAR}
+            ,#{singlNumber,jdbcType=VARCHAR}
+            ,#{transferTime,jdbcType= TIMESTAMP }
 		)
 	]]>
 	</insert>
@@ -195,11 +204,26 @@
 			<if test="insuredSex!=null">
 				insured_sex=#{insuredSex,jdbcType=VARCHAR},
 			</if>
+			<if test="accountBank!=null">
+				account_bank=#{accountBank,jdbcType=VARCHAR},
+			</if>
+			<if test="issuingBank!=null">
+				issuing_bank=#{issuingBank,jdbcType=VARCHAR},
+			</if>
+			<if test="singlNumber!=null">
+				singl_number=#{singlNumber,jdbcType=VARCHAR},
+			</if>
+			<if test="transferTime!=null">
+				transfer_time=#{transferTime,jdbcType= TIMESTAMP },
+			</if>
 		</set>
 	where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="StudentApplicationMap">
-		select * from business_student_application where id_=#{0}
+		select a.*,b.name_ as definition_name
+		from business_student_application a
+		left join base_insurance_definition b on a.definition_id = b.id_
+		where a.id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from business_student_application where id_=#{0}
@@ -220,6 +244,18 @@
 			<if test="searchParams.delFlag != null">
 				and a.del_flag = #{searchParams.delFlag}
 			</if>
+			<if test="searchParams.userType != null">
+				and (a.status_='40' or a.status_='60')
+			</if>
+			<if test="searchParams.policyNo != null">
+				and a.policy_no like #{searchParams.policyNo}
+			</if>
+			<if test="searchParams.status != null">
+				and a.status_ = #{searchParams.status}
+			</if>
+			<if test="searchParams.tabStatus != null">
+				and a.status_ = #{searchParams.tabStatus}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}

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

@@ -76,7 +76,7 @@
 	where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="StudentApplicationRecordMap">
-		select *	from business_student_application_record where id_=#{0}
+		select * from business_student_application_record where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from business_student_application_record where id_=#{0}