Antiloveg лет назад: 8
Родитель
Сommit
92aaa9d0fd

+ 9 - 0
src/main/java/com/goafanti/achievement/controller/AchievementApiController.java

@@ -19,6 +19,7 @@ import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.enums.AchievementAuditStatus;
 import com.goafanti.common.enums.AchievementFields;
 import com.goafanti.common.enums.AchievementFields;
 import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.model.Achievement;
 import com.goafanti.common.model.Achievement;
@@ -130,6 +131,14 @@ public class AchievementApiController extends CertifyApiController{
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
 			return res;
 			return res;
 		}
 		}
+		
+		if (!AchievementAuditStatus.CREATE.getCode().equals(ia.getAuditStatus())
+				&& !AchievementAuditStatus.SUBMIT.getCode().equals(ia.getAuditStatus())
+				&& !AchievementAuditStatus.UNAUDITED.getCode().equals(ia.getAuditStatus())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "当前状态无法提交审核!"));
+			return res;
+		}
+		
 		res = disposeInputAchievement(res, ia);
 		res = disposeInputAchievement(res, ia);
 		if (!res.getError().isEmpty()) {
 		if (!res.getError().isEmpty()) {
 			return res;
 			return res;

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

@@ -240,13 +240,13 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		if (StringUtils.isBlank(aid)) {
 		if (StringUtils.isBlank(aid)) {
 			n.setAid(a.getTechBrokerId());
 			n.setAid(a.getTechBrokerId());
 			if (UserType.PERSONAL.getCode().equals(a.getOwnerType())) {
 			if (UserType.PERSONAL.getCode().equals(a.getOwnerType())) {
-				n.setContent(NoticeStatus.PERSONALACHIEVEMENTT.getDesc() + " "
+				n.setContent("编号" + a.getSerialNumber() + NoticeStatus.PERSONALACHIEVEMENTT.getDesc() + " "
 						+ (AchievementAuditStatus.AUDITED.getCode().equals(a.getAuditStatus())
 						+ (AchievementAuditStatus.AUDITED.getCode().equals(a.getAuditStatus())
 								? AchievementAuditStatus.AUDITED.getDesc()
 								? AchievementAuditStatus.AUDITED.getDesc()
 								: AchievementAuditStatus.UNAUDITED.getDesc()));
 								: AchievementAuditStatus.UNAUDITED.getDesc()));
 				n.setNoticeType(NoticeStatus.PERSONALACHIEVEMENTT.getCode());
 				n.setNoticeType(NoticeStatus.PERSONALACHIEVEMENTT.getCode());
 			} else if (UserType.ORGANIZATION.getCode().equals(a.getOwnerType())) {
 			} else if (UserType.ORGANIZATION.getCode().equals(a.getOwnerType())) {
-				n.setContent(NoticeStatus.ORGANIZATIONACHIEVEMENT.getDesc() + " "
+				n.setContent("编号" + a.getSerialNumber() + NoticeStatus.ORGANIZATIONACHIEVEMENT.getDesc() + " "
 						+ (AchievementAuditStatus.AUDITED.getCode().equals(a.getAuditStatus())
 						+ (AchievementAuditStatus.AUDITED.getCode().equals(a.getAuditStatus())
 								? AchievementAuditStatus.AUDITED.getDesc()
 								? AchievementAuditStatus.AUDITED.getDesc()
 								: AchievementAuditStatus.UNAUDITED.getDesc()));
 								: AchievementAuditStatus.UNAUDITED.getDesc()));

+ 18 - 4
src/main/java/com/goafanti/admin/controller/AdminAuditApiController.java

@@ -22,9 +22,9 @@ import com.goafanti.demand.service.DemandService;
 @RequestMapping(value = "/api/admin/audit")
 @RequestMapping(value = "/api/admin/audit")
 public class AdminAuditApiController extends CertifyApiController {
 public class AdminAuditApiController extends CertifyApiController {
 	@Resource
 	@Resource
-	private AdminService	adminService;
+	private AdminService		adminService;
 	@Resource
 	@Resource
-	private DemandService	demandService;
+	private DemandService		demandService;
 	@Resource
 	@Resource
 	private AchievementService	achievementService;
 	private AchievementService	achievementService;
 
 
@@ -53,6 +53,13 @@ public class AdminAuditApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "需求ID"));
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "需求ID"));
 			return res;
 			return res;
 		}
 		}
+		
+		if (DemandAuditStatus.INAUDIT.getCode().equals(d.getAuditStatus())
+				|| DemandAuditStatus.UNAUDITED.getCode().equals(d.getAuditStatus())){
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "当前需求状态无法审核!"));
+			return res;
+		}
+		
 		res.setData(demandService.updateAuditDemand(d, techBroderId, auditStatus));
 		res.setData(demandService.updateAuditDemand(d, techBroderId, auditStatus));
 		return res;
 		return res;
 	}
 	}
@@ -68,11 +75,18 @@ public class AdminAuditApiController extends CertifyApiController {
 			return res;
 			return res;
 		}
 		}
 		Achievement a = achievementService.selectByPrimaryKey(id);
 		Achievement a = achievementService.selectByPrimaryKey(id);
-		if (null == a){
+		if (null == a) {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "成果ID"));
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "成果ID"));
 			return res;
 			return res;
 		}
 		}
-		res.setData(achievementService.updateAuditAchievement(a, techBroderId, auditStatus));
+
+		if (AchievementAuditStatus.INAUDIT.getCode().equals(a.getAuditStatus())
+				|| AchievementAuditStatus.UNAUDITED.getCode().equals(a.getAuditStatus())){
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "当前成果状态无法审核!"));
+			return res;
+		}
+
+			res.setData(achievementService.updateAuditAchievement(a, techBroderId, auditStatus));
 		return res;
 		return res;
 	}
 	}
 
 

+ 8 - 0
src/main/java/com/goafanti/demand/controller/DemandApiController.java

@@ -18,6 +18,7 @@ import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.enums.AttachmentType;
+import com.goafanti.common.enums.DemandAuditStatus;
 import com.goafanti.common.enums.DemandDataCategory;
 import com.goafanti.common.enums.DemandDataCategory;
 import com.goafanti.common.enums.DemandFields;
 import com.goafanti.common.enums.DemandFields;
 import com.goafanti.common.model.Demand;
 import com.goafanti.common.model.Demand;
@@ -129,6 +130,13 @@ public class DemandApiController extends CertifyApiController{
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到需求ID", "需求ID"));
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到需求ID", "需求ID"));
 			return res;
 			return res;
 		}
 		}
+		
+		if (!DemandAuditStatus.CREATE.getCode().equals(demand.getAuditStatus())
+				&& !DemandAuditStatus.SUBMIT.getCode().equals(demand.getAuditStatus())
+				&& !DemandAuditStatus.UNAUDITED.getCode().equals(demand.getAuditStatus())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "当前状态无法提交审核!"));
+			return res;
+		}
 
 
 		res = disposeDemand(res, demand);
 		res = disposeDemand(res, demand);
 		if (!res.getError().isEmpty()) {
 		if (!res.getError().isEmpty()) {

+ 150 - 269
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -1,6 +1,7 @@
 package com.goafanti.demand.service.impl;
 package com.goafanti.demand.service.impl;
 
 
 import java.text.ParseException;
 import java.text.ParseException;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
@@ -53,96 +54,11 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			Integer serialNumber, String name, String keyword, Integer infoSources, Integer demandType,
 			Integer serialNumber, String name, String keyword, Integer infoSources, Integer demandType,
 			String validityPeriodStartDate, String validityPeriodEndDate, String username, Integer status,
 			String validityPeriodStartDate, String validityPeriodEndDate, String username, Integer status,
 			Integer releaseStatus, String releaseDateStartDate, String releaseDateEndDate, Integer pNo, Integer pSize) {
 			Integer releaseStatus, String releaseDateStartDate, String releaseDateEndDate, Integer pNo, Integer pSize) {
-		Map<String, Object> params = new HashMap<>();
-		Date vStart = null;
-		Date vEnd = null;
-		Date rStart = null;
-		Date rEnd = null;
-
-		if (!StringUtils.isBlank(validityPeriodStartDate)) {
-			try {
-				vStart = DateUtils.parseDate(validityPeriodStartDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
-			}
-		}
-
-		if (!StringUtils.isBlank(validityPeriodEndDate)) {
-			try {
-				vEnd = DateUtils.parseDate(validityPeriodEndDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
-			}
-		}
-
-		if (!StringUtils.isBlank(releaseDateStartDate)) {
-			try {
-				rStart = DateUtils.parseDate(releaseDateStartDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
-			}
-		}
-
-		if (!StringUtils.isBlank(releaseDateEndDate)) {
-			try {
-				rEnd = DateUtils.parseDate(releaseDateEndDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
-			}
-		}
-
-		if (null != vStart) {
-			params.put("vStart", vStart);
-		}
-
-		if (null != vEnd) {
-			params.put("vEnd", vEnd);
-		}
-
-		if (null != rStart) {
-			params.put("rStart", rStart);
-		}
-
-		if (null != rEnd) {
-			params.put("rEnd", rEnd);
-		}
-
-		if (null != auditStatus) {
-			params.put("auditStatus", auditStatus);
-		}
-
-		if (!StringUtils.isBlank(province)) {
-			params.put("province", province);
-		}
-
-		if (null != serialNumber) {
-			params.put("serialNumber", serialNumber);
-		}
-
-		if (!StringUtils.isBlank(name)) {
-			params.put("name", name);
-		}
-
-		if (!StringUtils.isBlank(keyword)) {
-			params.put("keyword", keyword);
-		}
-
-		if (!StringUtils.isBlank(username)) {
-			params.put("username", username);
-		}
-
-		if (null != infoSources) {
-			params.put("infoSources", infoSources);
-		}
-
-		if (null != demandType) {
-			params.put("demandType", demandType);
-		}
-
-		if (null != status) {
-			params.put("status", status);
-		}
-
-		if (null != releaseStatus) {
-			params.put("releaseStatus", releaseStatus);
-		}
-
+		
+		Map<String, Object> params = disposeParams(auditStatus, province, serialNumber, name, keyword, infoSources,
+				demandType, validityPeriodStartDate, validityPeriodEndDate, username, status, releaseStatus,
+				releaseDateStartDate, releaseDateEndDate);
+		
 		if (pNo == null || pNo < 0) {
 		if (pNo == null || pNo < 0) {
 			pNo = 1;
 			pNo = 1;
 		}
 		}
@@ -174,95 +90,9 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			Integer serialNumber, String name, String keyword, Integer infoSources, Integer demandType,
 			Integer serialNumber, String name, String keyword, Integer infoSources, Integer demandType,
 			String validityPeriodStartDate, String validityPeriodEndDate, String username, Integer status,
 			String validityPeriodStartDate, String validityPeriodEndDate, String username, Integer status,
 			Integer releaseStatus, String releaseDateStartDate, String releaseDateEndDate, Integer pNo, Integer pSize) {
 			Integer releaseStatus, String releaseDateStartDate, String releaseDateEndDate, Integer pNo, Integer pSize) {
-		Map<String, Object> params = new HashMap<>();
-		Date vStart = null;
-		Date vEnd = null;
-		Date rStart = null;
-		Date rEnd = null;
-
-		if (!StringUtils.isBlank(validityPeriodStartDate)) {
-			try {
-				vStart = DateUtils.parseDate(validityPeriodStartDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
-			}
-		}
-
-		if (!StringUtils.isBlank(validityPeriodEndDate)) {
-			try {
-				vEnd = DateUtils.parseDate(validityPeriodEndDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
-			}
-		}
-
-		if (!StringUtils.isBlank(releaseDateStartDate)) {
-			try {
-				rStart = DateUtils.parseDate(releaseDateStartDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
-			}
-		}
-
-		if (!StringUtils.isBlank(releaseDateEndDate)) {
-			try {
-				rEnd = DateUtils.parseDate(releaseDateEndDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
-			}
-		}
-
-		if (null != vStart) {
-			params.put("vStart", vStart);
-		}
-
-		if (null != vEnd) {
-			params.put("vEnd", vEnd);
-		}
-
-		if (null != rStart) {
-			params.put("rStart", rStart);
-		}
-
-		if (null != rEnd) {
-			params.put("rEnd", rEnd);
-		}
-
-		if (null != auditStatus) {
-			params.put("auditStatus", auditStatus);
-		}
-
-		if (!StringUtils.isBlank(province)) {
-			params.put("province", province);
-		}
-
-		if (null != serialNumber) {
-			params.put("serialNumber", serialNumber);
-		}
-
-		if (!StringUtils.isBlank(name)) {
-			params.put("name", name);
-		}
-
-		if (!StringUtils.isBlank(keyword)) {
-			params.put("keyword", keyword);
-		}
-
-		if (!StringUtils.isBlank(username)) {
-			params.put("username", username);
-		}
-
-		if (null != infoSources) {
-			params.put("infoSources", infoSources);
-		}
-
-		if (null != demandType) {
-			params.put("demandType", demandType);
-		}
-
-		if (null != status) {
-			params.put("status", status);
-		}
-
-		if (null != releaseStatus) {
-			params.put("releaseStatus", releaseStatus);
-		}
+		Map<String, Object> params = disposeParams(auditStatus, province, serialNumber, name, keyword, infoSources,
+				demandType, validityPeriodStartDate, validityPeriodEndDate, username, status, releaseStatus,
+				releaseDateStartDate, releaseDateEndDate);
 
 
 		if (pNo == null || pNo < 0) {
 		if (pNo == null || pNo < 0) {
 			pNo = 1;
 			pNo = 1;
@@ -359,17 +189,93 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 
 
 	@SuppressWarnings("unchecked")
 	@SuppressWarnings("unchecked")
 	@Override
 	@Override
-	public Pagination<DemandListBo> listDemand(Integer auditStatus, Integer serialNumber, String name, String keyword, Integer demandType,
-			String validityPeriodStartDate, String validityPeriodEndDate, Integer status, Integer releaseStatus,
-			String releaseDateStartDate, String releaseDateEndDate, Integer pNo, Integer pSize) {
+	public Pagination<DemandListBo> listDemand(Integer auditStatus, Integer serialNumber, String name, String keyword,
+			Integer demandType, String validityPeriodStartDate, String validityPeriodEndDate, Integer status,
+			Integer releaseStatus, String releaseDateStartDate, String releaseDateEndDate, Integer pNo, Integer pSize) {
+		Map<String, Object> params = disposeParams(auditStatus, null, serialNumber, name, keyword, null,
+				demandType, validityPeriodStartDate, validityPeriodEndDate, null, status, releaseStatus,
+				releaseDateStartDate, releaseDateEndDate);
+
+		params.put("employerId", TokenManager.getUserId());
+
+
+		if (pNo == null || pNo < 0) {
+			pNo = 1;
+		}
+
+		if (pSize == null || pSize < 0) {
+			pSize = 10;
+		}
+		return (Pagination<DemandListBo>) findPage("findDemandListByPage", "findDemandCount", params, pNo, pSize);
+	}
+
+	@Override
+	public int updateReleaseStatus(Demand d) {
+		d.setAuditStatus(DemandAuditStatus.CREATE.getCode());
+		d.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
+		d.setStatus(DemandStatus.UNRESOLVED.getCode());
+		demandMapper.updateReleaseDate(d.getId());
+		return demandMapper.updateByPrimaryKeySelective(d);
+	}
+
+	@Override
+	public int updateAuditDemand(Demand d, String techBroderId, Integer auditStatus) {
+		d.setAuditStatus(auditStatus);
+		if (DemandAuditStatus.AUDITED.getCode().equals(auditStatus)) {
+			Calendar now = Calendar.getInstance();
+			now.set(Calendar.MILLISECOND, 0);
+			d.setReleaseDate(now.getTime());
+			d.setReleaseStatus(DemandReleaseStatus.RELEASED.getCode());
+			d.setTechBrokerId(techBroderId);
+		} else {
+			d.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
+		}
+		createTechBorkerNotice(d);
+		return demandMapper.updateByPrimaryKeySelective(d);
+	}
+
+	@Override
+	public void saveDemand(Demand d, String validityPeriodFormattedDate) {
+		Date validityPeriod = null;
+		if (!StringUtils.isBlank(validityPeriodFormattedDate)) {
+			try {
+				validityPeriod = DateUtils.parseDate(validityPeriodFormattedDate, AFTConstants.YYYYMMDD);
+			} catch (ParseException e) {
+			}
+		}
+
+		d.setValidityPeriod(validityPeriod);
+		d.setId(UUID.randomUUID().toString());
+
+		d.setDeletedSign(DeleteStatus.UNDELETE.getCode());
+
+		Calendar now = Calendar.getInstance();
+		now.set(Calendar.MILLISECOND, 0);
+		d.setStatus(DemandStatus.UNRESOLVED.getCode());
+		d.setAuditStatus(DemandAuditStatus.CREATE.getCode());
+		d.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
+
+		if (DemandAuditStatus.SUBMIT.getCode().equals(d.getAuditStatus())) {
+			d.setAuditStatus(DemandAuditStatus.INAUDIT.getCode());
+			d.setReleaseStatus(DemandReleaseStatus.RELEASED.getCode());
+			createAuditorNotice(d);
+		}
+
+		d.setCreateTime(now.getTime());
+		demandMapper.insert(d);
+
+	}
+
+	private Map<String, Object> disposeParams(Integer auditStatus, String province, Integer serialNumber, String name,
+			String keyword, Integer infoSources, Integer demandType, String validityPeriodStartDate,
+			String validityPeriodEndDate, String username, Integer status, Integer releaseStatus,
+			String releaseDateStartDate, String releaseDateEndDate) {
 		Map<String, Object> params = new HashMap<>();
 		Map<String, Object> params = new HashMap<>();
 		Date vStart = null;
 		Date vStart = null;
 		Date vEnd = null;
 		Date vEnd = null;
 		Date rStart = null;
 		Date rStart = null;
 		Date rEnd = null;
 		Date rEnd = null;
 
 
-		params.put("employerId", TokenManager.getUserId());
-
 		if (!StringUtils.isBlank(validityPeriodStartDate)) {
 		if (!StringUtils.isBlank(validityPeriodStartDate)) {
 			try {
 			try {
 				vStart = DateUtils.parseDate(validityPeriodStartDate, AFTConstants.YYYYMMDD);
 				vStart = DateUtils.parseDate(validityPeriodStartDate, AFTConstants.YYYYMMDD);
@@ -413,11 +319,15 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 		if (null != rEnd) {
 		if (null != rEnd) {
 			params.put("rEnd", rEnd);
 			params.put("rEnd", rEnd);
 		}
 		}
-		
-		if (null != auditStatus){
+
+		if (null != auditStatus) {
 			params.put("auditStatus", auditStatus);
 			params.put("auditStatus", auditStatus);
 		}
 		}
 
 
+		if (!StringUtils.isBlank(province)) {
+			params.put("province", province);
+		}
+
 		if (null != serialNumber) {
 		if (null != serialNumber) {
 			params.put("serialNumber", serialNumber);
 			params.put("serialNumber", serialNumber);
 		}
 		}
@@ -430,6 +340,14 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			params.put("keyword", keyword);
 			params.put("keyword", keyword);
 		}
 		}
 
 
+		if (!StringUtils.isBlank(username)) {
+			params.put("username", username);
+		}
+
+		if (null != infoSources) {
+			params.put("infoSources", infoSources);
+		}
+
 		if (null != demandType) {
 		if (null != demandType) {
 			params.put("demandType", demandType);
 			params.put("demandType", demandType);
 		}
 		}
@@ -442,99 +360,62 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			params.put("releaseStatus", releaseStatus);
 			params.put("releaseStatus", releaseStatus);
 		}
 		}
 
 
-		if (pNo == null || pNo < 0) {
-			pNo = 1;
-		}
-
-		if (pSize == null || pSize < 0) {
-			pSize = 10;
-		}
-		return (Pagination<DemandListBo>) findPage("findDemandListByPage", "findDemandCount", params, pNo, pSize);
+		return params;
 	}
 	}
 
 
-	@Override
-	public int updateReleaseStatus(Demand d) {
-		d.setAuditStatus(DemandAuditStatus.CREATE.getCode());
-		d.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
-		d.setStatus(DemandStatus.UNRESOLVED.getCode());
-		demandMapper.updateReleaseDate(d.getId());
-		return demandMapper.updateByPrimaryKeySelective(d);
-	}
-
-	@Override
-	public int updateAuditDemand(Demand d, String techBroderId, Integer auditStatus) {
-		d.setAuditStatus(auditStatus);
-		if (DemandAuditStatus.AUDITED.getCode().equals(auditStatus)) {
-			Calendar now = Calendar.getInstance();
-			now.set(Calendar.MILLISECOND, 0);
-			d.setReleaseDate(now.getTime());
-			d.setReleaseStatus(DemandReleaseStatus.RELEASED.getCode());
-			d.setTechBrokerId(techBroderId);
-		} else {
-			d.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
-		}
-		return demandMapper.updateByPrimaryKeySelective(d);
-	}
-
-	@Override
-	public void saveDemand(Demand d, String validityPeriodFormattedDate) {
-		Date validityPeriod = null;
-		if (!StringUtils.isBlank(validityPeriodFormattedDate)) {
-			try {
-				validityPeriod = DateUtils.parseDate(validityPeriodFormattedDate, AFTConstants.YYYYMMDD);
-			} catch (ParseException e) {
+	// 给所有审核员发送审核通知
+	private void createAuditorNotice(Demand d) {
+		List<String> ids = userRoleMapper.listAuditor();
+		List<Notice> list = new ArrayList<>();
+		if (null != ids && ids.size() > 0) {
+			for (String s : ids) {
+				list.add(disposeNotice(d, s));
 			}
 			}
+			noticeMapper.insertBatch(list);
 		}
 		}
+	}
 
 
-		d.setValidityPeriod(validityPeriod);
-		d.setId(UUID.randomUUID().toString());
+	// 给指派技术经纪人发送审核结果通知
+	private void createTechBorkerNotice(Demand a) {
+		noticeMapper.insert(disposeNotice(a, null));
 
 
-		d.setDeletedSign(DeleteStatus.UNDELETE.getCode());
+	}
 
 
+	private Notice disposeNotice(Demand d, String aid) {
+		Notice n = new Notice();
 		Calendar now = Calendar.getInstance();
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.MILLISECOND, 0);
 		now.set(Calendar.MILLISECOND, 0);
-		d.setStatus(DemandStatus.UNRESOLVED.getCode());
-		d.setAuditStatus(DemandAuditStatus.CREATE.getCode());
-		d.setReleaseStatus(DemandReleaseStatus.UNRELEASE.getCode());
-
-		if (DemandAuditStatus.SUBMIT.getCode().equals(d.getAuditStatus())) {
-			d.setAuditStatus(DemandAuditStatus.INAUDIT.getCode());
-			d.setReleaseStatus(DemandReleaseStatus.RELEASED.getCode());
-			createAuditorNotice(d);
-		}
-
-		d.setCreateTime(now.getTime());
-		demandMapper.insert(d);
-
-	}
-
-	// 给所有审核员发送审核通知
-	private void createAuditorNotice(Demand d) {
-		List<String> ids = userRoleMapper.listAuditor();
-		if (null != ids && ids.size() > 0) {
-			for (String s : ids) {
-				Notice n = new Notice();
-				Calendar now = Calendar.getInstance();
-				now.set(Calendar.MILLISECOND, 0);
-				n.setId(UUID.randomUUID().toString());
-				n.setCreateTime(now.getTime());
-				n.setReaded(NoticeReadStatus.UNREAD.getCode());
-				User u = userMapper.selectByPrimaryKey(d.getEmployerId());
-				n.setRid(d.getId());
-				n.setUid(d.getEmployerId());
-				n.setAid(s);
-				if (null != u) {
-					n.setPid(u.getAid());
-				}
-				if (UserType.PERSONAL.getCode().equals(d.getDataCategory())) {
-					n.setContent(NoticeStatus.PERSONALDEMAND.getDesc() + " " + DemandAuditStatus.SUBMIT.getDesc());
-					n.setNoticeType(NoticeStatus.PERSONALDEMAND.getCode());
-				} else if (UserType.ORGANIZATION.getCode().equals(d.getDataCategory())) {
-					n.setContent(NoticeStatus.ORGANIZATIONDEMAND.getDesc() + " " + DemandAuditStatus.SUBMIT.getDesc());
-					n.setNoticeType(NoticeStatus.ORGANIZATIONDEMAND.getCode());
-				}
-				noticeMapper.insert(n);
+		n.setId(UUID.randomUUID().toString());
+		n.setCreateTime(now.getTime());
+		n.setReaded(NoticeReadStatus.UNREAD.getCode());
+		n.setRid(d.getId());
+		User u = userMapper.selectByPrimaryKey(d.getEmployerId());
+		if (null != u) {
+			n.setPid(u.getAid());
+		}
+		if (StringUtils.isBlank(aid)) {
+			n.setAid(d.getTechBrokerId());
+			if (UserType.PERSONAL.getCode().equals(d.getDataCategory())) {
+				n.setContent("编号" + d.getSerialNumber() + NoticeStatus.PERSONALDEMAND.getDesc() + " "
+						+ (DemandAuditStatus.AUDITED.getCode().equals(d.getAuditStatus())
+								? DemandAuditStatus.AUDITED.getDesc() : DemandAuditStatus.UNAUDITED.getDesc()));
+				n.setNoticeType(NoticeStatus.PERSONALDEMAND.getCode());
+			} else if (UserType.ORGANIZATION.getCode().equals(d.getDataCategory())) {
+				n.setContent("编号" + d.getSerialNumber() + NoticeStatus.ORGANIZATIONDEMAND.getDesc() + " "
+						+ (DemandAuditStatus.AUDITED.getCode().equals(d.getAuditStatus())
+								? DemandAuditStatus.AUDITED.getDesc() : DemandAuditStatus.UNAUDITED.getDesc()));
+				n.setNoticeType(NoticeStatus.ORGANIZATIONDEMAND.getCode());
+			}
+		} else {
+			n.setAid(aid);
+			if (UserType.PERSONAL.getCode().equals(d.getDataCategory())) {
+				n.setContent(NoticeStatus.PERSONALDEMAND.getDesc() + " " + DemandAuditStatus.SUBMIT.getDesc());
+				n.setNoticeType(NoticeStatus.PERSONALDEMAND.getCode());
+			} else if (UserType.ORGANIZATION.getCode().equals(d.getDataCategory())) {
+				n.setContent(NoticeStatus.ORGANIZATIONDEMAND.getDesc() + " " + DemandAuditStatus.SUBMIT.getDesc());
+				n.setNoticeType(NoticeStatus.ORGANIZATIONDEMAND.getCode());
 			}
 			}
 		}
 		}
+		return n;
 	}
 	}
 }
 }