Browse Source

update techProject

Antiloveg 8 years ago
parent
commit
6ae7f22d97

+ 64 - 0
src/main/java/com/goafanti/common/enums/TechProjectStatus.java

@@ -0,0 +1,64 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public enum TechProjectStatus {
+	CREATE(0, "创建"),
+	SIGN(1,"签单"),
+	DELIVERD(2, "派单"),
+	CIRCULATION(3,"流转"),
+	SUBMIT(4, "材料提交"),
+	ACCEPT(5, "受理"),
+	APPRVOVED(6, "审批通过"),
+	REJECT(7, "审批不通过"),
+	SETTLEMENT(8, "已结款"),
+	CALLBACK(9, "撤销"),
+	OTHER(10, "其他");
+	
+	private Integer	code;
+	private String	desc;
+
+	private TechProjectStatus(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, TechProjectStatus> status = new HashMap<Integer, TechProjectStatus>();
+
+	static {
+		for (TechProjectStatus value : TechProjectStatus.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static TechProjectStatus getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+
+	public static TechProjectStatus getStatus(String code) {
+		if (StringUtils.isNumeric(code)) {
+			return getStatus(Integer.parseInt(code));
+		}
+		return OTHER;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+}

+ 16 - 1
src/main/java/com/goafanti/techproject/controller/TechProjectApiController.java

@@ -1,6 +1,7 @@
 package com.goafanti.techproject.controller;
 
 import java.text.ParseException;
+import java.util.List;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -17,7 +18,9 @@ import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.enums.CopyrightFields;
+import com.goafanti.common.enums.TechProjectStatus;
 import com.goafanti.common.model.TechProject;
+import com.goafanti.common.model.TechProjectLog;
 import com.goafanti.common.model.User;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.shiro.token.TokenManager;
@@ -131,7 +134,19 @@ public class TechProjectApiController extends CertifyApiController {
 		}
 		TechProject tp = techProjectService.selectByPrimaryKey(pid);
 		if (null != tp.getUid() && tp.getUid().equals(TokenManager.getUserId())){
-			res.setData(techProjectLogService.selectTechProjectLogByPid(pid));
+			List<TechProjectLog> list = techProjectLogService.selectTechProjectLogByPid(pid);
+			for (TechProjectLog log : list){
+				if (TechProjectStatus.getStatus(log.getState()) ==  TechProjectStatus.SIGN){
+					log.setState(TechProjectStatus.CREATE.getCode());
+				}
+				if (TechProjectStatus.getStatus(log.getState()) ==  TechProjectStatus.CIRCULATION){
+					log.setState(TechProjectStatus.DELIVERD.getCode());
+				}
+				if (TechProjectStatus.getStatus(log.getState()) ==  TechProjectStatus.SETTLEMENT){
+					log.setState(TechProjectStatus.APPRVOVED.getCode());
+				}
+			}
+			res.setData(list);
 		} else {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "科技项目id"));
 		}

+ 24 - 23
src/main/java/com/goafanti/techproject/service/impl/TechProjectServiceImpl.java

@@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
 
 import com.goafanti.common.dao.TechProjectLogMapper;
 import com.goafanti.common.dao.TechProjectMapper;
+import com.goafanti.common.enums.TechProjectStatus;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.TechProject;
 import com.goafanti.common.model.TechProjectLog;
@@ -23,18 +24,19 @@ import com.goafanti.techproject.bo.TechProjectClientListBo;
 import com.goafanti.techproject.bo.TechProjectDetailBo;
 import com.goafanti.techproject.bo.TechProjectManageListBo;
 import com.goafanti.techproject.service.TechProjectService;
+
 @Service
 public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> implements TechProjectService {
 	@Autowired
-	private TechProjectMapper techProjectMapper;
+	private TechProjectMapper		techProjectMapper;
 	@Autowired
-	private TechProjectLogMapper techProjectLogMapper;
+	private TechProjectLogMapper	techProjectLogMapper;
 
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<TechProjectClientListBo> listClientTechProject(String uid, Integer pageNo, Integer pageSize) {
 		Map<String, Object> params = new HashMap<>();
-		
+
 		params.put("uid", uid);
 
 		if (pageNo == null || pageNo < 0) {
@@ -44,51 +46,50 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 		if (pageSize == null || pageSize < 0) {
 			pageSize = 10;
 		}
-		return (Pagination<TechProjectClientListBo>)findPage("findTechProjectClientListByPage",
+		return (Pagination<TechProjectClientListBo>) findPage("findTechProjectClientListByPage",
 				"findTechProjectClientCount", params, pageNo, pageSize);
 	}
 
 	@Override
 	public int updateTechProject(TechProject t, TechProjectLog log, Date recordTime) {
-		if (null != recordTime && null != log.getState()) {
+		if (null != recordTime && null != log.getState() && null != log.getPrincipal()) {
 			log.setId(UUID.randomUUID().toString());
 			log.setPid(t.getId());
 			log.setRecordTime(recordTime);
-			switch (log.getState()) {
-			case 1:
+			if (TechProjectStatus.getStatus(log.getState()) == TechProjectStatus.DELIVERD) {
 				t.setCreateTime(recordTime);
-				break;
-			case 2:
+			} else if (TechProjectStatus.getStatus(log.getState()) == TechProjectStatus.ACCEPT) {
 				t.setAcceptDate(recordTime);
-				break;
-			case 5:
+			} else if (TechProjectStatus.getStatus(log.getState()) == TechProjectStatus.APPRVOVED) {
 				t.setApprovedDate(recordTime);
-				break;
 			}
-			t.setState(log.getState());
+
+			if (TechProjectStatus.getStatus(log.getState()) != TechProjectStatus.CIRCULATION) {
+				t.setState(log.getState());
+			}
 			techProjectLogMapper.insert(log);
 		}
-		
+
 		return techProjectMapper.updateByPrimaryKeySelective(t);
 	}
 
 	@Override
-	public void saveTechProject(TechProject techProject,  String aid) {
+	public void saveTechProject(TechProject techProject, String aid) {
 		techProject.setId(UUID.randomUUID().toString());
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.MILLISECOND, 0);
 		techProject.setRecordTime(now.getTime());
-		techProject.setState(0);
+		techProject.setState(TechProjectStatus.CREATE.getCode());
 		techProject.setDeletedSign(0);
-	    techProjectMapper.insert(techProject);
-		
+		techProjectMapper.insert(techProject);
+
 		TechProjectLog log = new TechProjectLog();
 		log.setId(UUID.randomUUID().toString());
 		log.setPid(techProject.getId());
 		log.setRecordTime(techProject.getRecordTime());
 		log.setPrincipal(aid);
-		log.setState(0);
-		if (TokenManager.getToken() instanceof  Admin) {
+		log.setState(TechProjectStatus.CREATE.getCode());
+		if (TokenManager.getToken() instanceof Admin) {
 			log.setOperator(TokenManager.getAdminId());
 		}
 		techProjectLogMapper.insert(log);
@@ -99,10 +100,10 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 	public Pagination<TechProjectManageListBo> listManageTechProject(String province, String unitName, Integer pageNo,
 			Integer pageSize) {
 		Map<String, Object> params = new HashMap<>();
-		if (!StringUtils.isBlank(province)){
+		if (!StringUtils.isBlank(province)) {
 			params.put("province", province);
 		}
-		if (!StringUtils.isBlank(unitName)){
+		if (!StringUtils.isBlank(unitName)) {
 			params.put("unitName", unitName);
 		}
 		if (pageNo == null || pageNo < 0) {
@@ -112,7 +113,7 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 		if (pageSize == null || pageSize < 0) {
 			pageSize = 10;
 		}
-		return (Pagination<TechProjectManageListBo>)findPage("findTechProjectManageListByPage",
+		return (Pagination<TechProjectManageListBo>) findPage("findTechProjectManageListByPage",
 				"findTechProjectManageCount", params, pageNo, pageSize);
 	}