Antiloveg 8 years ago
parent
commit
792c22a960

+ 123 - 0
src/main/java/com/goafanti/admin/controller/AdminApiController.java

@@ -87,6 +87,8 @@ import com.goafanti.common.enums.OrgTechCenterDetailFields;
 import com.goafanti.common.enums.OrgTechCenterFields;
 import com.goafanti.common.enums.OrgTechProductFields;
 import com.goafanti.common.enums.OrganizationIdentityFields;
+import com.goafanti.common.enums.ProportionStatus;
+import com.goafanti.common.enums.ProprotionFields;
 import com.goafanti.common.enums.UserAbilityFields;
 import com.goafanti.common.enums.UserFields;
 import com.goafanti.common.enums.UserIdentityFields;
@@ -96,6 +98,7 @@ import com.goafanti.common.model.OrgActivityCost;
 import com.goafanti.common.model.OrgAnnualReport;
 import com.goafanti.common.model.OrgCognizance;
 import com.goafanti.common.model.OrgCognizanceLog;
+import com.goafanti.common.model.OrgCognizanceProportion;
 import com.goafanti.common.model.OrgFinance;
 import com.goafanti.common.model.OrgHonorDatum;
 import com.goafanti.common.model.OrgHumanResource;
@@ -184,6 +187,44 @@ public class AdminApiController extends CertifyApiController {
 	private OrgCognizanceProportionService	orgCognizanceProportionService;
 
 	/**
+	 * 更改资料填写完成状态
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping(value = "/confirmProportion", method = RequestMethod.POST)
+	public Result confirmProportion(String id, String sign, Integer status) {
+		Result res = new Result();
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到比重ID", "比重ID"));
+			return res;
+		}
+
+		if (StringUtils.isBlank(sign)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到类别标记", "类别标记"));
+			return res;
+		}
+
+		if (null == status) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到资料完成状态", "资料完成状态"));
+			return res;
+		}
+
+		if (ProportionStatus.FINISHED.getCode() != status && ProportionStatus.UNFINISHED.getCode() != status) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "资料完成状态"));
+			return res;
+		}
+
+		OrgCognizanceProportion ocp = orgCognizanceProportionService.selectByPrimaryKey(id);
+		if (null == ocp) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "比重ID"));
+			return res;
+		}
+
+		return disposeProportionStatus(res, sign, status, ocp);
+	}
+
+	/**
 	 * 高企培育资料完成情况(比重)
 	 * 
 	 * @param uid
@@ -3354,6 +3395,88 @@ public class AdminApiController extends CertifyApiController {
 		}
 		return status;
 	}
+	
+	private Result disposeProportionStatus(Result res, String sign, Integer status, OrgCognizanceProportion ocp){
+		if (ProprotionFields.INSTITUTION.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setInstitution(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setInstitution(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.ACTIVITY.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setActivity(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setActivity(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.ACTIVITYCOST.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setActivityCost(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setActivityCost(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.TECHPROJECT.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setTechProject(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setTechProject(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.INTELLECTUALPROPERTY.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setIntellectualProperty(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setIntellectualProperty(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.ACHIEVEMENT.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setAchievement(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setAchievement(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.RATEPAY.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setRatepay(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setRatepay(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.FINANCE.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setFinance(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setFinance(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.HUMANRESOURCE.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setHumanResource(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setHumanResource(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.HONORDATUM.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setHonorDatum(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setHonorDatum(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.STANDARD.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setStandard(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setStandard(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else if (ProprotionFields.ABILITY.getCode().equals(sign)) {
+			if (ProportionStatus.FINISHED.getCode() == status) {
+				ocp.setAbility(ProportionStatus.FINISHED.getCode());
+			} else {
+				ocp.setAbility(ProportionStatus.UNFINISHED.getCode());
+			}
+		} else {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "类别标记"));
+			return res;
+		}
+
+		res.setData(orgCognizanceProportionService.updateByPrimaryKeySelective(ocp));
+		return res;
+	}
 
 	/*
 	 * @Test public void test () throws IllegalArgumentException,

+ 38 - 1
src/main/java/com/goafanti/admin/controller/AdminOrgBaiscInfoApiController.java

@@ -1,6 +1,9 @@
 package com.goafanti.admin.controller;
 
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
+import java.util.UUID;
 
 import javax.annotation.Resource;
 
@@ -10,9 +13,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.enums.DeleteStatus;
+import com.goafanti.common.model.LegalPersonOwnership;
 import com.goafanti.user.service.LegalPersonOwnershipService;
 import com.goafanti.user.service.NatureOwnershipService;
 
@@ -25,7 +32,7 @@ public class AdminOrgBaiscInfoApiController extends CertifyApiController {
 	private NatureOwnershipService		natureOwnershipService;
 
 	/**
-	 * 自然股权人列表
+	 * 法人股权人列表
 	 */
 	@RequestMapping(value = "/listLegalPerson", method = RequestMethod.GET)
 	public Result listLegalPerson(String uid) {
@@ -38,6 +45,36 @@ public class AdminOrgBaiscInfoApiController extends CertifyApiController {
 		res.setData(legalPersonOwnershipService.selectByUid(uid));
 		return res;
 	}
+	
+	/**
+	 * 法人股权人保存修改
+	 * @return
+	 */
+	@RequestMapping(value = "/legalPerson", method = RequestMethod.POST)
+	public Result legalPerson(String data){
+		Result res = new Result();
+		JSONArray ja = (JSONArray) JSON.parse(data);
+		if (ja != null && !ja.isEmpty()) {
+			List<LegalPersonOwnership> lpo = new ArrayList<LegalPersonOwnership>();
+			for (int idx = 0; idx < ja.size(); idx++) {
+				lpo.add(ja.getJSONObject(idx).toJavaObject(LegalPersonOwnership.class));
+			}
+			for (LegalPersonOwnership l : lpo){
+				
+				if (StringUtils.isBlank(l.getId())){
+					l.setId(UUID.randomUUID().toString());
+				}
+				
+				if (null == l.getDeletedSign()){
+					l.setDeletedSign(DeleteStatus.UNDELETE.getCode());
+				}
+			}
+			res.setData(legalPersonOwnershipService.batchInsert(lpo));
+		} else {
+			res.getError().add(buildError("", "参数格式不正确"));
+		}
+		return res;
+	}
 
 	/**
 	 * 删除自然股权人

+ 4 - 0
src/main/java/com/goafanti/cognizance/service/OrgCognizanceProportionService.java

@@ -6,4 +6,8 @@ public interface OrgCognizanceProportionService {
 
 	OrgCognizanceProportion selectByUid(String uid);
 
+	OrgCognizanceProportion selectByPrimaryKey(String id);
+
+	int updateByPrimaryKeySelective(OrgCognizanceProportion ocp);
+
 }

+ 10 - 0
src/main/java/com/goafanti/cognizance/service/impl/OrgCognizanceProportionServiceImpl.java

@@ -16,4 +16,14 @@ public class OrgCognizanceProportionServiceImpl implements OrgCognizanceProporti
 		return orgCognizanceProportionMapper.selectByUid(uid);
 	}
 
+	@Override
+	public OrgCognizanceProportion selectByPrimaryKey(String id) {
+		return orgCognizanceProportionMapper.selectByPrimaryKey(id);
+	}
+
+	@Override
+	public int updateByPrimaryKeySelective(OrgCognizanceProportion ocp) {
+		return orgCognizanceProportionMapper.updateByPrimaryKeySelective(ocp);
+	}
+
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/LegalPersonOwnershipMapper.java

@@ -20,4 +20,6 @@ public interface LegalPersonOwnershipMapper {
 	List<LegalPersonOwnership> selectByUid(String uid);
 
 	int batchDeleteByPrimaryKey(List<String> id);
+
+	int batchInsert(List<LegalPersonOwnership> lpo);
 }

+ 57 - 0
src/main/java/com/goafanti/common/enums/DeleteStatus.java

@@ -0,0 +1,57 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public enum DeleteStatus {
+	
+	UNDELETE(0, "未删除"),
+	DELETED(1, "已删除"),
+	
+	OTHER(6, "其他");
+
+	private DeleteStatus(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, DeleteStatus> status = new HashMap<Integer, DeleteStatus>();
+
+	static {
+		for (DeleteStatus value : DeleteStatus.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static DeleteStatus getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+
+	public static DeleteStatus getStatus(String code) {
+		if (StringUtils.isNumeric(code)) {
+			return getStatus(Integer.parseInt(code));
+		}
+		return OTHER;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	private Integer	code;
+	private String	desc;
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 56 - 0
src/main/java/com/goafanti/common/enums/ProportionStatus.java

@@ -0,0 +1,56 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public enum ProportionStatus {
+	
+	UNFINISHED(0, "资料未完成"),
+	FINISHED(1, "资料已完成"),
+	
+	OTHER(2, "其他");
+	
+	private ProportionStatus(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, ProportionStatus> status = new HashMap<Integer, ProportionStatus>();
+
+	static {
+		for (ProportionStatus value : ProportionStatus.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static ProportionStatus getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+
+	public static ProportionStatus getStatus(String code) {
+		if (StringUtils.isNumeric(code)) {
+			return getStatus(Integer.parseInt(code));
+		}
+		return OTHER;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	private Integer	code;
+	private String	desc;
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+}

+ 62 - 0
src/main/java/com/goafanti/common/enums/ProprotionFields.java

@@ -0,0 +1,62 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum ProprotionFields {
+	
+	INSTITUTION("institution", "企业研发机构"),
+	ACTIVITY("activity", "研发活动"),
+	ACTIVITYCOST("activityCost", "研发活动费用详情"),
+	TECHPROJECT("techProject", "高新技术产品"),
+	INTELLECTUALPROPERTY("intellectualProperty", "知识产权"),
+	ACHIEVEMENT("achievement", "科技成果转化"),
+	RATEPAY("ratepay", "企业所得税纳税申报表"),
+	FINANCE("finance", "财务报表"),
+	HUMANRESOURCE("humanResource", "企业人员情况"),
+	HONORDATUM("honorDatum", "企业荣誉及其他证明材料"),
+	STANDARD("standard", "标准制定情况"),
+	ABILITY("ability", "企业创新能力"),
+	
+	OTHER("", "未知参数");
+	
+	private String	code;
+	private String	desc;
+	
+	private static Map<String, ProprotionFields> status = new HashMap<String, ProprotionFields>();
+	
+	private ProprotionFields(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+	
+	static {
+		for (ProprotionFields value : ProprotionFields.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	
+	public static ProprotionFields getField(String code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+	
+	public static String getFieldDesc(String code) {
+		return getField(code).getDesc();
+	}
+
+	public static boolean containsType(String code) {
+		return status.containsKey(code);
+	}
+	
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 16 - 0
src/main/java/com/goafanti/common/mapper/LegalPersonOwnershipMapper.xml

@@ -129,4 +129,20 @@
 		#{item}
 	</foreach>
   </update>
+  
+   <insert id="batchInsert" parameterType="com.goafanti.common.model.LegalPersonOwnership">
+    insert into legal_person_ownership (id, uid, type, name, org_code, investment, deleted_sign)
+    values 
+    <foreach item="item" index="index" collection="list" separator=",">
+      (#{item.id,jdbcType=VARCHAR}, #{item.uid,jdbcType=VARCHAR}, #{item.type,jdbcType=INTEGER},
+      #{item.name,jdbcType=VARCHAR}, #{item.orgCode,jdbcType=VARCHAR}, #{item.investment,jdbcType=DECIMAL},
+      #{item.deletedSign,jdbcType=INTEGER})
+    </foreach>
+    ON DUPLICATE KEY UPDATE
+	    type = values(type),
+	    name = values(name),
+	    org_code = values(orgCode),
+	    investment = values(investment)
+	  
+  </insert>
 </mapper>

+ 8 - 2
src/main/java/com/goafanti/common/model/LegalPersonOwnership.java

@@ -2,6 +2,10 @@ package com.goafanti.common.model;
 
 import java.math.BigDecimal;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 public class LegalPersonOwnership {
     private String id;
 
@@ -47,7 +51,8 @@ public class LegalPersonOwnership {
     public void setUid(String uid) {
         this.uid = uid;
     }
-
+    
+    @JsonFormat(shape = Shape.STRING)
     public Integer getType() {
         return type;
     }
@@ -79,7 +84,8 @@ public class LegalPersonOwnership {
     public void setInvestment(BigDecimal investment) {
         this.investment = investment;
     }
-
+    
+    @JsonIgnore
     public Integer getDeletedSign() {
         return deletedSign;
     }

+ 8 - 2
src/main/java/com/goafanti/common/model/NatureOwnership.java

@@ -2,6 +2,10 @@ package com.goafanti.common.model;
 
 import java.math.BigDecimal;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 public class NatureOwnership {
     private String id;
 
@@ -47,7 +51,8 @@ public class NatureOwnership {
     public void setUid(String uid) {
         this.uid = uid;
     }
-
+    
+    @JsonFormat(shape = Shape.STRING)
     public Integer getType() {
         return type;
     }
@@ -79,7 +84,8 @@ public class NatureOwnership {
     public void setInvestment(BigDecimal investment) {
         this.investment = investment;
     }
-
+    
+    @JsonIgnore
     public Integer getDeletedSign() {
         return deletedSign;
     }

+ 2 - 0
src/main/java/com/goafanti/user/service/LegalPersonOwnershipService.java

@@ -10,4 +10,6 @@ public interface LegalPersonOwnershipService {
 
 	int batchDeleteByPrimaryKey(List<String> asList);
 
+	int batchInsert(List<LegalPersonOwnership> lpo);
+
 }

+ 5 - 0
src/main/java/com/goafanti/user/service/impl/LegalPersonOwnershipServiceImpl.java

@@ -23,4 +23,9 @@ public class LegalPersonOwnershipServiceImpl implements LegalPersonOwnershipServ
 	public int batchDeleteByPrimaryKey(List<String> id) {
 		return legalPersonOwnershipMapper.batchDeleteByPrimaryKey(id);
 	}
+
+	@Override
+	public int batchInsert(List<LegalPersonOwnership> lpo) {
+		return legalPersonOwnershipMapper.batchInsert(lpo);
+	}
 }