Browse Source

管理端--科技需求线索单/意向单列表(个人用户)

Antiloveg 8 years ago
parent
commit
b90e4f65bb

+ 28 - 0
schema/permission.sql

@@ -455,3 +455,31 @@ values
 (UUID(), 'api/admin/audit/demand', '科技需求管理--审核科技需求(审核员)'),
 (UUID(), 'api/admin/audit/demand', '科技成果管理--审核科技成果(审核员)');
 
+insert into `permission`(`id`, `url`, `name`) 
+values
+(UUID(), 'api/admin/demand/matchAchievement', '科技需求管理--科技需求匹配科技成果'),
+(UUID(), 'api/admin/demand/importDemand', '科技需求管理--批量导入科技需求'),
+(UUID(), 'api/admin/demand/achievementDemand', '科技需求管理--成果需求匹配列表'),
+(UUID(), 'api/admin/demand/uploadTemplate', '科技需求管理--上传技术需求批量导入Excel模板'),
+(UUID(), 'api/admin/demand/downloadTemplate', '科技需求管理--下载技术需求批量导入Excel模板');
+
+insert into `permission`(`id`, `url`, `name`) 
+values
+(UUID(), 'api/admin/achievement/userList', '科技成果管理--个人成果列表'),
+(UUID(), 'api/admin/achievement/orgList', '科技成果管理--组织用户成果列表'),
+(UUID(), 'api/admin/achievement/userOwner', '科技成果管理--个人成果所有人列表'),
+(UUID(), 'api/admin/achievement/orgOwner', '科技成果管理--组织成果所有人列表'),
+(UUID(), 'api/admin/achievement/userDetail', '科技成果管理--个人成果详情详情'),
+(UUID(), 'api/admin/achievement/orgDetail', '科技成果管理--组织用户成果详情详情'),
+(UUID(), 'api/admin/achievement/apply', '科技成果管理--新增成果'),
+(UUID(), 'api/admin/achievement/update', '科技成果管理--修改成果'),
+(UUID(), 'api/admin/achievement/matchDemand', '科技成果管理--科技成果匹配科技需求'),
+(UUID(), 'api/admin/achievement/importAchievement', '科技成果管理--批量导入科技成果'),
+(UUID(), 'api/admin/achievement/achievementDemand', '科技成果管理--成果需求匹配列表'),
+(UUID(), 'api/admin/achievement/uploadTemplate', '科技成果管理--上传技术成果批量导入Excel模板'),
+(UUID(), 'api/admin/achievement/downloadTemplate', '科技成果管理--下载技术成果批量导入Excel模板'),
+(UUID(), 'api/admin/achievement/download', '科技成果管理--下载文本文件'),
+(UUID(), 'api/admin/achievement/uploadTextFile', '科技成果管理--文本文件上传'),
+(UUID(), 'api/admin/achievement/uploadPicture', '科技成果管理--图片上传'),
+(UUID(), 'api/admin/achievement/delete', '科技成果管理--删除');
+

+ 163 - 159
src/main/java/com/goafanti/admin/controller/AdminAchievementApiController.java

@@ -52,6 +52,165 @@ public class AdminAchievementApiController extends CertifyApiController {
 	private AftFileService		aftFileService;
 	
 	/**
+	 * 个人成果列表
+	 */
+	@RequestMapping(value = "/userList", method = RequestMethod.GET)
+	private Result userList(String ownerId, Integer auditStatus, Integer serialNumber, String name, String keyword,
+			Integer category, Integer status, String releaseDateStartDate, String releaseDateEndDate,
+			Integer releaseStatus, String pageNo, String pageSize) {
+		Result res = new Result();
+		Integer pNo = 1;
+		Integer pSize = 10;
+		if (StringUtils.isNumeric(pageSize)) {
+			pSize = Integer.parseInt(pageSize);
+		}
+		if (StringUtils.isNumeric(pageNo)) {
+			pNo = Integer.parseInt(pageNo);
+		}
+		res.setData(achievementService.listUserOwnerAchievement(ownerId, auditStatus, serialNumber, name, keyword,
+				category, status, releaseDateStartDate, releaseDateEndDate, releaseStatus, pNo, pSize));
+		return res;
+	}
+
+	/**
+	 * 组织用户成果列表
+	 */
+	@RequestMapping(value = "/orgList", method = RequestMethod.GET)
+	private Result orgList(String ownerId, Integer auditStatus, Integer serialNumber, String name, String keyword,
+			Integer category, Integer status, String releaseDateStartDate, String releaseDateEndDate,
+			Integer releaseStatus, String pageNo, String pageSize) {
+		Result res = new Result();
+		Integer pNo = 1;
+		Integer pSize = 10;
+		if (StringUtils.isNumeric(pageSize)) {
+			pSize = Integer.parseInt(pageSize);
+		}
+
+		if (StringUtils.isNumeric(pageNo)) {
+			pNo = Integer.parseInt(pageNo);
+		}
+		res.setData(achievementService.listOrgOwnerAchievement(ownerId, auditStatus, serialNumber, name, keyword,
+				category, status, releaseDateStartDate, releaseDateEndDate, releaseStatus, pNo, pSize));
+		return res;
+	}
+	
+	/**
+	 * 个人成果所有人列表
+	 */
+	@RequestMapping(value = "/userOwner", method = RequestMethod.GET)
+	public Result getAchievementUserOwner(String name) {
+		Result res = new Result();
+		if (StringUtils.isBlank(name)) {
+			return res;
+		}
+		res.setData(userService.selectAchievementUserOwner(name));
+		return res;
+	}
+
+	/**
+	 * 组织成果所有人列表
+	 */
+	@RequestMapping(value = "/orgOwner", method = RequestMethod.GET)
+	public Result getAchievementOrgOwner(String name) {
+		Result res = new Result();
+		if (StringUtils.isBlank(name)) {
+			return res;
+		}
+		res.setData(userService.selectAchievementOrgOwner(name));
+		return res;
+	}
+	
+	/**
+	 * 个人成果详情详情
+	 */
+	@RequestMapping(value = "/userDetail", method = RequestMethod.GET)
+	private Result userDetail(String id) {
+		Result res = new Result();
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
+			return res;
+		}
+		res.setData(achievementService.selectUserOwnerDetail(id));
+		return res;
+	}
+
+	/**
+	 * 组织用户成果详情详情
+	 */
+	@RequestMapping(value = "/orgDetail", method = RequestMethod.GET)
+	private Result orgDetail(String id) {
+		Result res = new Result();
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
+			return res;
+		}
+		res.setData(achievementService.selectOrgOwnerDetail(id));
+		return res;
+	}
+
+	
+	/**
+	 * 新增成果
+	 */
+	@RequestMapping(value = "/apply", method = RequestMethod.POST)
+	private Result apply(@Valid InputAchievement ia, BindingResult bindingResult,
+			@RequestParam(name = "keywords[]", required = false) String[] keywords) {
+		Result res = new Result();
+
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					AchievementFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+
+		res = disposeInputAchievement(res, ia, keywords);
+		if (!res.getError().isEmpty()) {
+			return res;
+		}
+
+		Achievement a = new Achievement();
+		BeanUtils.copyProperties(ia, a);
+		achievementService.saveAchievement(a, keywords);
+		return res;
+	}
+
+	/**
+	 * 修改成果
+	 */
+	@RequestMapping(value = "/update", method = RequestMethod.POST)
+	public Result update(@Valid InputAchievement ia, BindingResult bindingResult,
+			@RequestParam(name = "keywords[]", required = false) String[] keywords) {
+		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;
+		}
+
+		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, keywords);
+		if (!res.getError().isEmpty()) {
+			return res;
+		}
+
+		Achievement a = new Achievement();
+		BeanUtils.copyProperties(ia, a);
+		achievementService.updateAchievement(a, keywords);
+		return res;
+	}
+	
+	/**
 	 * 科技成果匹配科技需求
 	 */
 	@RequestMapping(value = "/matchDemand", method = RequestMethod.POST)
@@ -111,7 +270,7 @@ public class AdminAchievementApiController extends CertifyApiController {
 	}
 
 	/**
-	 * 上传技术需求批量导入Excel模板
+	 * 上传技术成果批量导入Excel模板
 	 * 
 	 * @param req
 	 * @return
@@ -149,7 +308,7 @@ public class AdminAchievementApiController extends CertifyApiController {
 	}
 
 	/**
-	 * 下载技术需求批量导入Excel模板
+	 * 下载技术成果批量导入Excel模板
 	 * 
 	 * @param response
 	 * @return
@@ -175,31 +334,7 @@ public class AdminAchievementApiController extends CertifyApiController {
 		return res;
 	}
 
-	/**
-	 * 个人成果所有人列表
-	 */
-	@RequestMapping(value = "/userOwner", method = RequestMethod.GET)
-	public Result getAchievementUserOwner(String name) {
-		Result res = new Result();
-		if (StringUtils.isBlank(name)) {
-			return res;
-		}
-		res.setData(userService.selectAchievementUserOwner(name));
-		return res;
-	}
-
-	/**
-	 * 组织成果所有人列表
-	 */
-	@RequestMapping(value = "/orgOwner", method = RequestMethod.GET)
-	public Result getAchievementOrgOwner(String name) {
-		Result res = new Result();
-		if (StringUtils.isBlank(name)) {
-			return res;
-		}
-		res.setData(userService.selectAchievementOrgOwner(name));
-		return res;
-	}
+	
 
 	/**
 	 * 成果撤消发布(下架)
@@ -306,138 +441,7 @@ public class AdminAchievementApiController extends CertifyApiController {
 		return res;
 	}
 
-	/**
-	 * 个人成果详情详情
-	 */
-	@RequestMapping(value = "/userDetail", method = RequestMethod.GET)
-	private Result userDetail(String id) {
-		Result res = new Result();
-		if (StringUtils.isBlank(id)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
-			return res;
-		}
-		res.setData(achievementService.selectUserOwnerDetail(id));
-		return res;
-	}
-
-	/**
-	 * 组织用户成果详情详情
-	 */
-	@RequestMapping(value = "/orgDetail", method = RequestMethod.GET)
-	private Result orgDetail(String id) {
-		Result res = new Result();
-		if (StringUtils.isBlank(id)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
-			return res;
-		}
-		res.setData(achievementService.selectOrgOwnerDetail(id));
-		return res;
-	}
-
-	/**
-	 * 个人成果列表
-	 */
-	@RequestMapping(value = "/userList", method = RequestMethod.GET)
-	private Result userList(String ownerId, Integer auditStatus, Integer serialNumber, String name, String keyword,
-			Integer category, Integer status, String releaseDateStartDate, String releaseDateEndDate,
-			Integer releaseStatus, String pageNo, String pageSize) {
-		Result res = new Result();
-		Integer pNo = 1;
-		Integer pSize = 10;
-		if (StringUtils.isNumeric(pageSize)) {
-			pSize = Integer.parseInt(pageSize);
-		}
-		if (StringUtils.isNumeric(pageNo)) {
-			pNo = Integer.parseInt(pageNo);
-		}
-		res.setData(achievementService.listUserOwnerAchievement(ownerId, auditStatus, serialNumber, name, keyword,
-				category, status, releaseDateStartDate, releaseDateEndDate, releaseStatus, pNo, pSize));
-		return res;
-	}
-
-	/**
-	 * 组织用户成果列表
-	 */
-	@RequestMapping(value = "/orgList", method = RequestMethod.GET)
-	private Result orgList(String ownerId, Integer auditStatus, Integer serialNumber, String name, String keyword,
-			Integer category, Integer status, String releaseDateStartDate, String releaseDateEndDate,
-			Integer releaseStatus, String pageNo, String pageSize) {
-		Result res = new Result();
-		Integer pNo = 1;
-		Integer pSize = 10;
-		if (StringUtils.isNumeric(pageSize)) {
-			pSize = Integer.parseInt(pageSize);
-		}
-
-		if (StringUtils.isNumeric(pageNo)) {
-			pNo = Integer.parseInt(pageNo);
-		}
-		res.setData(achievementService.listOrgOwnerAchievement(ownerId, auditStatus, serialNumber, name, keyword,
-				category, status, releaseDateStartDate, releaseDateEndDate, releaseStatus, pNo, pSize));
-		return res;
-	}
-
-	/**
-	 * 新增成果
-	 */
-	@RequestMapping(value = "/apply", method = RequestMethod.POST)
-	private Result apply(@Valid InputAchievement ia, BindingResult bindingResult,
-			@RequestParam(name = "keywords[]", required = false) String[] keywords) {
-		Result res = new Result();
-
-		if (bindingResult.hasErrors()) {
-			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
-					AchievementFields.getFieldDesc(bindingResult.getFieldError().getField())));
-			return res;
-		}
-
-		res = disposeInputAchievement(res, ia, keywords);
-		if (!res.getError().isEmpty()) {
-			return res;
-		}
-
-		Achievement a = new Achievement();
-		BeanUtils.copyProperties(ia, a);
-		achievementService.saveAchievement(a, keywords);
-		return res;
-	}
-
-	/**
-	 * 修改成果
-	 */
-	@RequestMapping(value = "/update", method = RequestMethod.POST)
-	public Result update(@Valid InputAchievement ia, BindingResult bindingResult,
-			@RequestParam(name = "keywords[]", required = false) String[] keywords) {
-		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;
-		}
-
-		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, keywords);
-		if (!res.getError().isEmpty()) {
-			return res;
-		}
-
-		Achievement a = new Achievement();
-		BeanUtils.copyProperties(ia, a);
-		achievementService.updateAchievement(a, keywords);
-		return res;
-	}
-
+	
 	private Result disposeInputAchievement(Result res, InputAchievement ia, String[] keywords) {
 		if (StringUtils.isBlank(ia.getName())) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果名称", "成果名称"));

+ 14 - 5
src/main/java/com/goafanti/admin/controller/AdminOrderApiController.java

@@ -1,21 +1,29 @@
 package com.goafanti.admin.controller;
 
+import javax.annotation.Resource;
+
 import org.apache.commons.lang3.StringUtils;
 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.service.AchievementOrderService;
 import com.goafanti.common.bo.Result;
+import com.goafanti.demand.service.DemandOrderService;
 
 @RestController
 @RequestMapping(value = "/api/admin/portal/order")
 public class AdminOrderApiController {
-	
+	@Resource
+	private AchievementOrderService achievementOrderService;
+	@Resource
+	private DemandOrderService demandOrderService;
+
 	/**
-	 * 科技需求列表
+	 * 科技需求线索单/意向单列表(个人用户)
 	 */
-	@RequestMapping(value = "/demandOrderList", method = RequestMethod.GET)
-	public Result demandOrderList(Integer status, String pageNo, String pageSize){
+	@RequestMapping(value = "/userDemandOrderList", method = RequestMethod.GET)
+	public Result userDemandOrderList(String uid, String username, Integer status, String pageNo, String pageSize) {
 		Result res = new Result();
 		Integer pNo = 1;
 		Integer pSize = 10;
@@ -25,6 +33,7 @@ public class AdminOrderApiController {
 		if (StringUtils.isNumeric(pageNo)) {
 			pNo = Integer.parseInt(pageNo);
 		}
-		return res ;
+		res.setData(demandOrderService.listUserDemandOrder(uid, username, status, pNo, pSize));
+		return res;
 	}
 }

+ 51 - 0
src/main/java/com/goafanti/common/mapper/DemandOrderMapper.xml

@@ -233,4 +233,55 @@
     from demand_order
     where demand_id = #{demandId,jdbcType=VARCHAR}
   </select>
+  
+   <select id="findUserDemandOrderListByPage" parameterType="String" resultType="com.goafanti.demand.bo.UserDemandOrderListBo">
+  	select 
+  		do.id, do.serial_number as serialNumber, do.demand_id as demandId,
+  		do.create_time as createTime, do.enclosure_url as enclosureUrl, do.status,
+  		do.intention_money as intentionMoney, do.contract_money as contractMoney, do.commission,
+  		do.service_money as serviceMoney, d.name, d.serial_number as demandSerialNumber,
+  		d.deleted_sign as deletedSign, d.audit_status as auditStatus,
+  		do.uid, ui.username
+  	from demand_order do
+  	left join demand d on d.id = do.demand_id
+  	left join user_identity ui on ui.uid = do.uid
+  	where do.deleted_sign = 0 
+  	and   d.deleted_sign = 0 
+  	and   d.data_category = 0
+  	and   d.tech_broker_id = #{techBrokerId,jdbcType=VARCHAR}
+  	<if test="status != null">
+  		and do.status = #{status,jdbcType=INTEGER}
+  	</if>
+  	<if test="uid != null">
+  		and d.uid = #{uid,jdbcType=VARCHAR}
+  	</if>
+  	<if test="username != null">
+  		and ui.username = #{username,jdbcType=VARCHAR}
+  	</if>
+  	order by do.serial_number desc
+  	<if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findUserDemandOrderCount" parameterType="String" resultType="java.lang.Integer">
+  	select 
+  		count(1)
+  	from demand_order do
+  	left join demand d on d.id = do.demand_id
+  	left join user_identity ui on ui.uid = do.uid
+  	where do.deleted_sign = 0 
+  	and   d.deleted_sign = 0 
+  	and   d.data_category = 0
+  	and   d.tech_broker_id = #{techBrokerId,jdbcType=VARCHAR}
+  	<if test="status != null">
+  		and do.status = #{status,jdbcType=INTEGER}
+  	</if>
+  	<if test="uid != null">
+  		and d.uid = #{uid,jdbcType=VARCHAR}
+  	</if>
+  	<if test="username != null">
+  		and ui.username = #{username,jdbcType=VARCHAR}
+  	</if>
+  </select>
 </mapper>

+ 26 - 0
src/main/java/com/goafanti/demand/bo/UserDemandOrderListBo.java

@@ -0,0 +1,26 @@
+package com.goafanti.demand.bo;
+
+public class UserDemandOrderListBo extends DemandOrderListBo {
+	private String username;
+	
+	private String uid;
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+	
+	
+
+}

+ 3 - 0
src/main/java/com/goafanti/demand/service/DemandOrderService.java

@@ -6,6 +6,7 @@ import com.goafanti.common.model.DemandOrder;
 import com.goafanti.common.model.DemandOrderLog;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.demand.bo.DemandOrderListBo;
+import com.goafanti.demand.bo.UserDemandOrderListBo;
 
 public interface DemandOrderService {
 
@@ -21,4 +22,6 @@ public interface DemandOrderService {
 
 	List<DemandOrder> selectDemandOrderByDemandId(String string);
 
+	Pagination<UserDemandOrderListBo> listUserDemandOrder(String uid, String username, Integer status, Integer pNo, Integer pSize);
+
 }

+ 35 - 2
src/main/java/com/goafanti/demand/service/impl/DemandOrderServiceImpl.java

@@ -15,10 +15,12 @@ import com.goafanti.common.enums.DeleteStatus;
 import com.goafanti.common.enums.DemandOrderStatus;
 import com.goafanti.common.model.DemandOrder;
 import com.goafanti.common.model.DemandOrderLog;
+import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.demand.bo.DemandOrderListBo;
+import com.goafanti.demand.bo.UserDemandOrderListBo;
 import com.goafanti.demand.service.DemandOrderService;
 
 @Service
@@ -75,8 +77,8 @@ public class DemandOrderServiceImpl extends BaseMybatisDao<DemandOrderMapper> im
 		if (pSize == null || pSize < 0 || pSize > 10) {
 			pSize = 10;
 		}
-		return (Pagination<DemandOrderListBo>) findPage("findDemandOrderListByPage",
-				"findDemandOrderCount", params, pNo, pSize);
+		return (Pagination<DemandOrderListBo>) findPage("findDemandOrderListByPage", "findDemandOrderCount", params,
+				pNo, pSize);
 	}
 
 	@Override
@@ -90,4 +92,35 @@ public class DemandOrderServiceImpl extends BaseMybatisDao<DemandOrderMapper> im
 		return demandOrderMapper.selectDemandOrderByDemandId(demandId);
 	}
 
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<UserDemandOrderListBo> listUserDemandOrder(String uid, String username, Integer status,
+			Integer pNo, Integer pSize) {
+		Map<String, Object> params = new HashMap<>();
+
+		if (null != status) {
+			params.put("status", status);
+		}
+		
+		if (!StringUtils.isBlank(uid)) {
+			params.put("uid", uid);
+		}
+		
+		if (!StringUtils.isBlank(username)){
+			params.put("username", username);
+		}
+		
+		params.put("techBrokerId", TokenManager.getAdminId());
+		
+		if (pNo == null || pNo < 0) {
+			pNo = 1;
+		}
+
+		if (pSize == null || pSize < 0 || pSize > 10) {
+			pSize = 10;
+		}
+		return (Pagination<UserDemandOrderListBo>) findPage("findUserDemandOrderListByPage", "findUserDemandOrderCount", params,
+				pNo, pSize);
+	}
+
 }