Browse Source

管理端--科技成果线索单/意向单修改

Antiloveg 8 years ago
parent
commit
cd478aa363

+ 12 - 0
src/main/java/com/goafanti/achievement/bo/InputAchievementOrder.java

@@ -8,6 +8,9 @@ import com.goafanti.common.constant.ErrorConstants;
 
 public class InputAchievementOrder {
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String id;
+	
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	achievementId;
 
 	@Max(value = 99999999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
@@ -32,6 +35,15 @@ public class InputAchievementOrder {
 	
 	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String comment;
+	
+	
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
 
 	public String getAchievementId() {
 		return achievementId;

+ 3 - 0
src/main/java/com/goafanti/achievement/service/AchievementOrderService.java

@@ -27,4 +27,7 @@ public interface AchievementOrderService {
 
 	Pagination<OrgAchievementOrderListBo> listOrgAchievementOrder(String uid, String unitName, Integer status, Integer pNo, Integer pSize);
 
+	int updateAchievementOrder(AchievementOrder achievementOrder, AchievementOrderLog aol,
+			String recordTimeFormattedDate);
+
 }

+ 24 - 0
src/main/java/com/goafanti/achievement/service/impl/AchievementOrderServiceImpl.java

@@ -1,12 +1,15 @@
 package com.goafanti.achievement.service.impl;
 
+import java.text.ParseException;
 import java.util.Calendar;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -14,6 +17,7 @@ import com.goafanti.achievement.bo.AchievementOrderListBo;
 import com.goafanti.achievement.bo.OrgAchievementOrderListBo;
 import com.goafanti.achievement.bo.UserAchievementOrderListBo;
 import com.goafanti.achievement.service.AchievementOrderService;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.AchievementOrderLogMapper;
 import com.goafanti.common.dao.AchievementOrderMapper;
 import com.goafanti.common.enums.AchievementOrderStatus;
@@ -120,6 +124,25 @@ public class AchievementOrderServiceImpl extends BaseMybatisDao<AchievementOrder
 		return (Pagination<OrgAchievementOrderListBo>) findPage("findOrgAchievementOrderListByPage",
 				"findOrgAchievementOrderCount", disposeAchievementOrder(uid, null, unitName, status, true), pNo, pSize);
 	}
+	
+	@Override
+	public int updateAchievementOrder(AchievementOrder achievementOrder, AchievementOrderLog aol,
+			String recordTimeFormattedDate) {
+		if (!StringUtils.isBlank(recordTimeFormattedDate)) {
+			aol.setId(UUID.randomUUID().toString());
+			aol.setOperator(TokenManager.getAdminId());
+			aol.setAchievementOrderId(achievementOrder.getId());
+			Date recordTime = null;
+			try {
+				recordTime = DateUtils.parseDate(recordTimeFormattedDate, AFTConstants.YYYYMMDDHHMMSS);
+			} catch (ParseException e) {
+			}
+			aol.setRecordTime(recordTime);
+			achievementOrderLogMapper.insert(aol);
+		}
+		return achievementOrderMapper.updateByPrimaryKeySelective(achievementOrder);
+	}
+
 
 	private Map<String, Object> disposeAchievementOrder(String uid, String username, String unitName, Integer status,
 			Boolean flag) {
@@ -150,4 +173,5 @@ public class AchievementOrderServiceImpl extends BaseMybatisDao<AchievementOrder
 		return params;
 	}
 
+	
 }

+ 50 - 0
src/main/java/com/goafanti/admin/controller/AdminOrderApiController.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.goafanti.achievement.bo.InputAchievementOrder;
 import com.goafanti.achievement.service.AchievementOrderLogService;
 import com.goafanti.achievement.service.AchievementOrderService;
 import com.goafanti.common.bo.Result;
@@ -20,6 +21,7 @@ import com.goafanti.common.enums.AchievementOrderFields;
 import com.goafanti.common.enums.AchievementOrderStatus;
 import com.goafanti.common.enums.DemandOrderStatus;
 import com.goafanti.common.model.AchievementOrder;
+import com.goafanti.common.model.AchievementOrderLog;
 import com.goafanti.common.model.DemandOrder;
 import com.goafanti.common.model.DemandOrderLog;
 import com.goafanti.demand.bo.InputDemandOrder;
@@ -39,6 +41,47 @@ public class AdminOrderApiController extends CertifyApiController {
 	private AchievementOrderLogService	achievementOrderLogService;
 
 	/**
+	 * 科技成果线索单/意向单修改
+	 */
+	@RequestMapping(value = "/updateAchievementOrder", method = RequestMethod.POST)
+	public Result updateAchievementOrder(@Valid InputAchievementOrder order, BindingResult bindingResult,
+			String recordTimeFormattedDate, Boolean flag) {
+		Result res = new Result();
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					AchievementOrderFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+		
+		if (StringUtils.isBlank(order.getId())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技成果线索单/意向单ID", "科技成果线索单/意向单ID"));
+			return res;
+		}
+		
+		if (StringUtils.isBlank(order.getAchievementId())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技成果ID", "科技成果ID"));
+			return res;
+		}
+		
+		if (null == order.getStatus()) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技成果线索单/意向单状态", "科技成果线索单/意向单状态"));
+			return res;
+		}
+		
+		if (flag && StringUtils.isBlank(recordTimeFormattedDate)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技需求记录修改时间", "科技需求记录修改时间"));
+			return res;
+		}
+		AchievementOrder achievementOrder = new AchievementOrder();
+		AchievementOrderLog aol = new AchievementOrderLog();
+		BeanUtils.copyProperties(order, achievementOrder);
+		BeanUtils.copyProperties(order, aol);
+		achievementOrderService.updateAchievementOrder(achievementOrder, aol, recordTimeFormattedDate);
+		
+		return res;
+	}
+
+	/**
 	 * 关闭科技成果线索单/意向单
 	 */
 	@RequestMapping(value = "/achievementShutdown", method = RequestMethod.POST)
@@ -179,10 +222,17 @@ public class AdminOrderApiController extends CertifyApiController {
 					AchievementOrderFields.getFieldDesc(bindingResult.getFieldError().getField())));
 			return res;
 		}
+		
+		if (StringUtils.isBlank(inputDemandOrder.getId())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技需求线索单/意向单ID", "科技需求线索单/意向单ID"));
+			return res;
+		}
+		
 		if (StringUtils.isBlank(inputDemandOrder.getDemandId())) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技需求ID", "科技需求ID"));
 			return res;
 		}
+		
 		if (null == inputDemandOrder.getStatus()) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技需求状态", "科技需求状态"));
 			return res;

+ 12 - 0
src/main/java/com/goafanti/demand/bo/InputDemandOrder.java

@@ -8,6 +8,9 @@ import com.goafanti.common.constant.ErrorConstants;
 
 public class InputDemandOrder {
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	id;
+	
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	demandId;
 	
 	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
@@ -39,6 +42,15 @@ public class InputDemandOrder {
 	
 	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String comment;
+	
+	
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
 
 	public String getDemandId() {
 		return demandId;