Browse Source

成果修改

Antiloveg 8 years ago
parent
commit
f39bdf2c97

+ 4 - 0
schema/2017-05-18.sql

@@ -0,0 +1,4 @@
+alter TABLE `achievement`
+modify column `field_a` int(3) null comment'应用领域1',
+modify column `field_b` int(3) null comment'应用领域2',
+modify column `field_c` int(3) null comment'应用领域3';

+ 3 - 3
src/main/java/com/goafanti/achievement/bo/InputAchievement.java

@@ -37,15 +37,15 @@ public class InputAchievement {
 	@Size(min = 0, max = 500, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		technicalPictureUrl;
 
-	@Max(value = 99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Max(value = 999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer		fieldA;
 
-	@Max(value = 99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Max(value = 999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer		fieldB;
 
-	@Max(value = 99, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Max(value = 999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer		fieldC;
 

+ 2 - 0
src/main/java/com/goafanti/achievement/service/AchievementService.java

@@ -12,4 +12,6 @@ public interface AchievementService {
 
 	void saveAchievementByManager(Achievement a);
 
+	int updateAchievementByManager(Achievement a);
+
 }

+ 21 - 0
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -18,6 +18,8 @@ import com.goafanti.common.dao.AchievementMapper;
 import com.goafanti.common.enums.AchievementReleaseStatus;
 import com.goafanti.common.enums.AchievementStatus;
 import com.goafanti.common.enums.DeleteStatus;
+import com.goafanti.common.enums.DemandReleaseStatus;
+import com.goafanti.common.enums.DemandStatus;
 import com.goafanti.common.model.Achievement;
 import com.goafanti.common.utils.DateUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
@@ -117,4 +119,23 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		achievementMapper.insert(a);
 	}
 
+	@Override
+	public int updateAchievementByManager(Achievement a) {
+		Achievement aa = achievementMapper.selectByPrimaryKey(a.getId());
+		if (AchievementReleaseStatus.RELEASED.getCode().equals(a.getReleaseStatus())
+				&& DemandReleaseStatus.UNRELEASE.getCode().equals(aa.getReleaseStatus())) {
+			Calendar now = Calendar.getInstance();
+			now.set(Calendar.MILLISECOND, 0);
+			a.setReleaseDate(now.getTime());
+			a.setStatus(AchievementStatus.ONGOING.getCode());
+		}
+
+		if (DemandReleaseStatus.UNRELEASE.getCode().equals(a.getReleaseStatus())
+				&& DemandReleaseStatus.RELEASED.getCode().equals(aa.getReleaseStatus())) {
+			a.setStatus(DemandStatus.CREATE.getCode());
+			achievementMapper.updateReleaseDate(aa.getId());
+		}
+		return achievementMapper.updateByPrimaryKeySelective(a);
+	}
+
 }

+ 39 - 4
src/main/java/com/goafanti/admin/controller/AdminAchievementApiController.java

@@ -59,6 +59,45 @@ public class AdminAchievementApiController extends CertifyApiController {
 			return res;
 		}
 
+		res = disposeInputAchievement(res, ia);
+		if (!res.getError().isEmpty()) {
+			return res;
+		}
+		
+		Achievement a = new Achievement();
+		BeanUtils.copyProperties(ia, a);
+		achievementService.saveAchievementByManager(a);
+		return res;
+	}
+	
+	/**
+	 * 修改成果
+	 */
+	@RequestMapping(value = "/update", method = RequestMethod.POST)
+	public Result update(@Valid InputAchievement ia, BindingResult bindingResult){
+		Result res = new Result();
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					AchievementFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+		
+		if (StringUtils.isBlank(ia.getId())){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
+			return res;
+		}
+		res = disposeInputAchievement(res, ia);
+		if (!res.getError().isEmpty()) {
+			return res;
+		}
+		
+		Achievement a = new Achievement();
+		BeanUtils.copyProperties(ia, a);
+		achievementService.updateAchievementByManager(a);
+		return res;
+	}
+	
+	private Result disposeInputAchievement(Result res, InputAchievement ia){
 		if (StringUtils.isBlank(ia.getName())) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果名称", "成果名称"));
 			return res;
@@ -108,10 +147,6 @@ public class AdminAchievementApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到合作方式", "合作方式"));
 			return res;
 		}
-		
-		Achievement a = new Achievement();
-		BeanUtils.copyProperties(ia, a);
-		achievementService.saveAchievementByManager(a);
 		return res;
 	}
 

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

@@ -14,4 +14,6 @@ public interface AchievementMapper {
     int updateByPrimaryKeySelective(Achievement record);
 
     int updateByPrimaryKey(Achievement record);
+
+	int updateReleaseDate(String id);
 }

+ 1 - 1
src/main/java/com/goafanti/common/dao/DemandMapper.java

@@ -24,5 +24,5 @@ public interface DemandMapper {
 
 	DemandManageDetailBo selectOrgDemandDetail(String id);
 
-	int updateValidityPeriod(String id);
+	int updateReleaseDate(String id);
 }

+ 6 - 1
src/main/java/com/goafanti/common/mapper/AchievementMapper.xml

@@ -685,5 +685,10 @@
 	<if test="releaseStatus != null">
 	   and  release_status = #{releaseStatus,jdbcType=INTEGER}
 	</if>
-  </select>
+  </select>
+  
+  <update id="updateReleaseDate" parameterType="java.lang.String">
+  	update achievement set release_date = null
+  	where id = #{id,jdbcType=VARCHAR}
+  </update>
 </mapper>

+ 2 - 2
src/main/java/com/goafanti/common/mapper/DemandMapper.xml

@@ -738,8 +738,8 @@
 	</foreach>
   </update>
   
-  <update id="updateValidityPeriod" parameterType="java.lang.String">
-  	update demand set validity_period = null
+  <update id="updateReleaseDate" parameterType="java.lang.String">
+  	update demand set release_date = null
   	where id = #{id,jdbcType=VARCHAR}
   </update>
   

+ 4 - 3
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -296,12 +296,13 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 		}
 		d.setValidityPeriod(validityPeriod);
 
-		Calendar now = Calendar.getInstance();
-		now.set(Calendar.MILLISECOND, 0);
+		
 
 		Demand demand = demandMapper.selectByPrimaryKey(d.getId());
 		if (DemandReleaseStatus.RELEASED.getCode().equals(d.getReleaseStatus())
 				&& DemandReleaseStatus.UNRELEASE.getCode().equals(demand.getReleaseStatus())) {
+			Calendar now = Calendar.getInstance();
+			now.set(Calendar.MILLISECOND, 0);
 			d.setReleaseDate(now.getTime());
 			d.setStatus(DemandStatus.ONGOING.getCode());
 		}
@@ -309,7 +310,7 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 		if (DemandReleaseStatus.UNRELEASE.getCode().equals(d.getReleaseStatus())
 				&& DemandReleaseStatus.RELEASED.getCode().equals(demand.getReleaseStatus())) {
 			d.setStatus(DemandStatus.CREATE.getCode());
-			demandMapper.updateValidityPeriod(demand.getId());
+			demandMapper.updateReleaseDate(demand.getId());
 		}
 		
 		return demandMapper.updateByPrimaryKeySelective(d);