Browse Source

1.企业端增加缴费时调整人员清单功能。

tomatozq 5 năm trước cách đây
mục cha
commit
13b3d4f642

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

@@ -663,6 +663,8 @@ public class InsurancePolicyController {
         InsuranceApplication insuranceApplication = insuranceApplicationService.get(applicationId);
         InsurancePolicy insurancePolicy = insurancePolicyService.get(policyId);
 
+        String curStatus = insurancePolicy.getStatus();
+
         //首月投保单
         if(insurancePolicy.getNo().equals(1)){
             insuranceApplication.setStatus(status);
@@ -679,7 +681,7 @@ public class InsurancePolicyController {
         if(affectCount1 > 0){
             InsurancePolicyRecord insurancePolicyRecord = new InsurancePolicyRecord();
             insurancePolicyRecord.setPolicyId(insurancePolicy.getId());
-            insurancePolicyRecord.setStatus(status);
+            insurancePolicyRecord.setStatus(curStatus);
             insurancePolicyRecord.setOpinion(opinion);
             insurancePolicyRecord.setProcessStatus(processStatus);
             insurancePolicyRecord.setId(UUID.randomUUID().toString());

+ 1 - 1
picc-admin-server/src/test/java/com/jpsoft/picc/test/NewApiTest.java

@@ -47,6 +47,6 @@ public class NewApiTest {
 
     @Test
     public void testEnum(){
-        System.out.println(PolicyStatus.Draft.getValue());
+        System.out.println(Integer.valueOf("郑强"));
     }
 }

+ 13 - 29
picc-common/src/main/java/com/jpsoft/picc/modules/business/entity/InsuranceApplication.java

@@ -6,6 +6,7 @@ import java.text.SimpleDateFormat;
 import java.math.BigDecimal;
 
 import com.jpsoft.picc.modules.common.constant.PolicyStatus;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.format.annotation.DateTimeFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
@@ -436,33 +437,19 @@ public class InsuranceApplication {
 	 */
 	public String getStatusN() {
 		String statusN = "";
-		if(status.equals("10")){
-			statusN = PolicyStatus.Draft.getText();
-		}
-		else if(status.equals("15")){
-			statusN = PolicyStatus.Back.getText();
-		}
-		else if(status.equals("20")){
-			statusN = PolicyStatus.PendingTrial.getText();
-		}
-		else if(status.equals("30")){
-			statusN = PolicyStatus.PendingRetrial.getText();
-		}
-		else if(status.equals("40")){
-			statusN = PolicyStatus.PendingPay.getText();
-		}
-		else if(status.equals("50")){
-			statusN = PolicyStatus.PendingMakePolicy.getText();
-		}
-		else if(status.equals("60")){
-			statusN = PolicyStatus.PendingOutPolicy.getText();
-		}
-		else if(status.equals("70")){
-			statusN = PolicyStatus.SendOutPolicy.getText();
-		}
-		else{
-			statusN = PolicyStatus.Expired.getText();
+
+		if(StringUtils.isNotEmpty(status)) {
+			try {
+				PolicyStatus policyStatus = PolicyStatus.valueOf(Integer.valueOf(status));
+
+				if (policyStatus != null) {
+					statusN = policyStatus.getText();
+				}
+			}catch (Exception ex){
+				System.out.println(ex.getMessage());
+			}
 		}
+
 		return statusN;
 	}
 
@@ -478,7 +465,4 @@ public class InsuranceApplication {
 	public void setInsurancePolicy(InsurancePolicy insurancePolicy) {
 		this.insurancePolicy = insurancePolicy;
 	}
-
-
-
 }

+ 11 - 29
picc-common/src/main/java/com/jpsoft/picc/modules/business/entity/InsurancePolicy.java

@@ -376,36 +376,18 @@ public class InsurancePolicy {
     public String getStatusN() {
         String statusN = "";
 
-        if(StringUtils.isEmpty(status)){
-            statusN = "";
-        }
-        else if(status.equals("10")){
-            statusN = PolicyStatus.Draft.getText();
-        }
-        else if(status.equals("15")){
-            statusN = PolicyStatus.Back.getText();
-        }
-        else if(status.equals("20")){
-            statusN = PolicyStatus.PendingTrial.getText();
-        }
-        else if(status.equals("30")){
-            statusN = PolicyStatus.PendingRetrial.getText();
-        }
-        else if(status.equals("40")){
-            statusN = PolicyStatus.PendingPay.getText();
-        }
-        else if(status.equals("50")){
-            statusN = PolicyStatus.PendingMakePolicy.getText();
-        }
-        else if(status.equals("60")){
-            statusN = PolicyStatus.PendingOutPolicy.getText();
-        }
-        else if(status.equals("70")){
-            statusN = PolicyStatus.SendOutPolicy.getText();
-        }
-        else{
-            statusN = PolicyStatus.Expired.getText();
+        if(StringUtils.isNotEmpty(status)) {
+            try {
+                PolicyStatus policyStatus = PolicyStatus.valueOf(Integer.valueOf(status));
+
+                if (policyStatus != null) {
+                    statusN = policyStatus.getText();
+                }
+            }catch (Exception ex){
+                System.out.println(ex.getMessage());
+            }
         }
+
         return statusN;
     }
 

+ 10 - 0
picc-common/src/main/java/com/jpsoft/picc/modules/common/constant/PolicyStatus.java

@@ -22,6 +22,16 @@ public enum PolicyStatus {
         this.value = value;
     }
 
+    public static PolicyStatus valueOf(int value){
+        for (PolicyStatus policyStatus : PolicyStatus.values()) {
+            if (policyStatus.getValue()==value){
+                return policyStatus;
+            }
+        }
+
+        return null;
+    }
+
     public int getValue() {
         return value;
     }

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

@@ -9,10 +9,8 @@ import com.jpsoft.picc.modules.base.service.*;
 import com.jpsoft.picc.modules.business.entity.ApplicationPolicy;
 import com.jpsoft.picc.modules.business.entity.InsuranceApplication;
 import com.jpsoft.picc.modules.business.entity.InsurancePolicy;
-import com.jpsoft.picc.modules.business.service.ApplicationPolicyService;
-import com.jpsoft.picc.modules.business.service.InsuranceApplicationService;
-import com.jpsoft.picc.modules.business.service.InsurancePolicyMemberService;
-import com.jpsoft.picc.modules.business.service.InsurancePolicyService;
+import com.jpsoft.picc.modules.business.entity.InsurancePolicyRecord;
+import com.jpsoft.picc.modules.business.service.*;
 import com.jpsoft.picc.config.JpCloudConfig;
 import com.jpsoft.picc.modules.common.constant.PolicyStatus;
 import com.jpsoft.picc.modules.common.dto.MessageResult;
@@ -77,6 +75,9 @@ public class InsuranceApplicationController {
     @Autowired
     private TransactionRecordService transactionRecordService;
 
+    @Autowired
+    private InsurancePolicyRecordService insurancePolicyRecordService;
+
     @ApiOperation(value="投保单列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     @ApiImplicitParams({
@@ -487,18 +488,42 @@ public class InsuranceApplicationController {
     }
 
     @PostMapping(value="changeStatus")
-    @ApiOperation(value = "修改投保单状态(测试用)")
+    @ApiOperation(value = "修改投保单状态")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "applicationId",value = "投保单编号", required = true, paramType = "form"),
             @ApiImplicitParam(name = "status",value = "状态:草稿10/已退回15/待初审20/待复审30/待缴费40/待制单50/待出单60/已出单70/已过期100", required = true, paramType = "form"),
     })
-    public MessageResult<String> changeStatus(String applicationId,String status){
+    public MessageResult<String> changeStatus(String applicationId,Integer status,HttpServletRequest request){
+        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
+
         MessageResult<String> messageResult = new MessageResult<>();
 
         try {
-            //todo
+            PolicyStatus destStatus = PolicyStatus.valueOf(status);
+
+            if (destStatus==null){
+                throw new Exception("状态:" + status + "不存在!");
+            }
+
+            //todo 修改投保单状态
             InsuranceApplication insuranceApplication = insuranceApplicationService.get(applicationId);
-            insuranceApplication.setStatus(status);
+            InsurancePolicy insurancePolicy = applicationPolicyService.findFirstPolicyByApplicationId(applicationId);
+
+            if(insurancePolicy!=null) {
+                //记录状态变更
+                InsurancePolicyRecord insurancePolicyRecord = new InsurancePolicyRecord();
+                insurancePolicyRecord.setPolicyId(insurancePolicy.getId());
+                insurancePolicyRecord.setStatus(status + "");
+                insurancePolicyRecord.setProcessStatus("正常");
+                insurancePolicyRecord.setOpinion("状态由" + insuranceApplication.getStatusN() + "变更为" + destStatus.getText());
+                insurancePolicyRecord.setId(UUID.randomUUID().toString());
+                insurancePolicyRecord.setDelFlag(false);
+                insurancePolicyRecord.setCreateBy(principal.getName());
+                insurancePolicyRecord.setCreateTime(new Date());
+                insurancePolicyRecordService.insert(insurancePolicyRecord);
+            }
+
+            insuranceApplication.setStatus(status + "");
             insuranceApplication.setUpdateTime(new Date());
 
             insuranceApplicationService.update(insuranceApplication);