Browse Source

管理端--科技成果线索单/意向单列表(个人用户)&&科技成果线索单/意向单列表(组织用户)

Antiloveg 8 years ago
parent
commit
fef64fa3b4

+ 27 - 0
src/main/java/com/goafanti/achievement/bo/OrgAchievementOrderListBo.java

@@ -0,0 +1,27 @@
+package com.goafanti.achievement.bo;
+
+public class OrgAchievementOrderListBo extends AchievementOrderListBo {
+	private String uid;
+	
+	private String unitName;
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public String getUnitName() {
+		return unitName;
+	}
+
+	public void setUnitName(String unitName) {
+		this.unitName = unitName;
+	}
+	
+	
+	
+
+}

+ 25 - 0
src/main/java/com/goafanti/achievement/bo/UserAchievementOrderListBo.java

@@ -0,0 +1,25 @@
+package com.goafanti.achievement.bo;
+
+public class UserAchievementOrderListBo extends AchievementOrderListBo {
+	private String uid;
+	
+	private String username;
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+	
+	
+}

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

@@ -3,6 +3,8 @@ package com.goafanti.achievement.service;
 import java.util.List;
 
 import com.goafanti.achievement.bo.AchievementOrderListBo;
+import com.goafanti.achievement.bo.OrgAchievementOrderListBo;
+import com.goafanti.achievement.bo.UserAchievementOrderListBo;
 import com.goafanti.common.model.AchievementOrder;
 import com.goafanti.common.model.AchievementOrderLog;
 import com.goafanti.core.mybatis.page.Pagination;
@@ -21,4 +23,8 @@ public interface AchievementOrderService {
 
 	List<AchievementOrder> selectAchievementOrderByAchievementId(String string);
 
+	Pagination<UserAchievementOrderListBo> listUserAchievementOrder(String uid, String username, Integer status, Integer pNo, Integer pSize);
+
+	Pagination<OrgAchievementOrderListBo> listOrgAchievementOrder(String uid, String unitName, Integer status, Integer pNo, Integer pSize);
+
 }

+ 75 - 13
src/main/java/com/goafanti/achievement/service/impl/AchievementOrderServiceImpl.java

@@ -6,10 +6,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 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.dao.AchievementOrderLogMapper;
 import com.goafanti.common.dao.AchievementOrderMapper;
@@ -20,17 +23,20 @@ import com.goafanti.common.model.AchievementOrderLog;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
+
 @Service
-public class AchievementOrderServiceImpl extends BaseMybatisDao<AchievementOrderMapper> implements AchievementOrderService {
+public class AchievementOrderServiceImpl extends BaseMybatisDao<AchievementOrderMapper>
+		implements AchievementOrderService {
 	@Autowired
-	private AchievementOrderMapper achievementOrderMapper;
+	private AchievementOrderMapper		achievementOrderMapper;
 	@Autowired
-	private AchievementOrderLogMapper achievementOrderLogMapper;
-	
+	private AchievementOrderLogMapper	achievementOrderLogMapper;
+
 	@Override
 	public AchievementOrder selectAchievementOrderByUidAndAchievementId(String uid, String achievementId) {
 		return achievementOrderMapper.selectAchievementOrderByUidAndAchievementId(uid, achievementId);
 	}
+
 	@Override
 	public void saveAchievementOrder(AchievementOrder ao, AchievementOrderLog aol) {
 		ao.setId(UUID.randomUUID().toString());
@@ -41,23 +47,17 @@ public class AchievementOrderServiceImpl extends BaseMybatisDao<AchievementOrder
 		ao.setStatus(AchievementOrderStatus.CREATE.getCode());
 		ao.setUid(TokenManager.getUserId());
 		achievementOrderMapper.insert(ao);
-		
+
 		aol.setId(UUID.randomUUID().toString());
 		aol.setAchievementOrderId(ao.getId());
 		aol.setRecordTime(ao.getCreateTime());
 		aol.setStatus(ao.getStatus());
 		achievementOrderLogMapper.insert(aol);
 	}
+
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<AchievementOrderListBo> listOrderList(Integer status, Integer pNo, Integer pSize) {
-		Map<String, Object> params = new HashMap<>();
-
-		if (null != status) {
-			params.put("status", status);
-		}
-
-		params.put("uid", TokenManager.getUserId());
 
 		if (pNo == null || pNo < 0) {
 			pNo = 1;
@@ -67,20 +67,82 @@ public class AchievementOrderServiceImpl extends BaseMybatisDao<AchievementOrder
 			pSize = 10;
 		}
 		return (Pagination<AchievementOrderListBo>) findPage("findAchievementOrderListByPage",
-				"findAchievementOrderCount", params, pNo, pSize);
+				"findAchievementOrderCount", disposeAchievementOrder(null, null, null, status, false), pNo, pSize);
 	}
+
 	@Override
 	public AchievementOrder selectByPrimaryKey(String id) {
 		return achievementOrderMapper.selectByPrimaryKey(id);
 	}
+
 	@Override
 	public int updateShutdownByUser(AchievementOrder order) {
 		order.setStatus(AchievementOrderStatus.SHUTDOWNUNSIGN.getCode());
 		return achievementOrderMapper.updateByPrimaryKeySelective(order);
 	}
+
 	@Override
 	public List<AchievementOrder> selectAchievementOrderByAchievementId(String achievementId) {
 		return achievementOrderMapper.selectAchievementOrderByAchievementId(achievementId);
 	}
 
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<UserAchievementOrderListBo> listUserAchievementOrder(String uid, String username, Integer status,
+			Integer pNo, Integer pSize) {
+		if (pNo == null || pNo < 0) {
+			pNo = 1;
+		}
+
+		if (pSize == null || pSize < 0 || pSize > 10) {
+			pSize = 10;
+		}
+		return (Pagination<UserAchievementOrderListBo>) findPage("findUserAchievementOrderListByPage",
+				"findUserAchievementOrderCount", disposeAchievementOrder(uid, username, null, status, true), pNo, pSize);
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<OrgAchievementOrderListBo> listOrgAchievementOrder(String uid, String unitName, Integer status,
+			Integer pNo, Integer pSize) {
+		if (pNo == null || pNo < 0) {
+			pNo = 1;
+		}
+
+		if (pSize == null || pSize < 0 || pSize > 10) {
+			pSize = 10;
+		}
+		return (Pagination<OrgAchievementOrderListBo>) findPage("findOrgAchievementOrderListByPage",
+				"findOrgAchievementOrderCount", disposeAchievementOrder(uid, null, unitName, status, true), pNo, pSize);
+	}
+
+	private Map<String, Object> disposeAchievementOrder(String uid, String username, String unitName, Integer status,
+			Boolean flag) {
+		Map<String, Object> params = new HashMap<>();
+
+		if (null != status) {
+			params.put("status", status);
+		}
+
+		if (!StringUtils.isBlank(unitName)) {
+			params.put("unitName", unitName);
+		}
+
+		if (!StringUtils.isBlank(username)) {
+			params.put("username", username);
+		}
+
+		if (!StringUtils.isBlank(uid)) {
+			params.put("uid", uid);
+		}
+
+		if (flag) {
+			params.put("techBrokerId", TokenManager.getAdminId());
+		} else {
+			params.put("uid", TokenManager.getUserId());
+		}
+
+		return params;
+	}
+
 }

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

@@ -32,6 +32,43 @@ public class AdminOrderApiController extends CertifyApiController {
 	private DemandOrderService		demandOrderService;
 	@Resource
 	private DemandOrderLogService	demandOrderLogService;
+	
+	/**
+	 * 科技成果线索单/意向单列表(个人用户)
+	 */
+	@RequestMapping(value = "/userAchievementOrderList", method = RequestMethod.GET)
+	public Result userAchievementOrderList(String uid, String username, Integer status, 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(achievementOrderService.listUserAchievementOrder(uid, username, status, pNo, pSize));
+		return res;
+	}
+	
+	/**
+	 * 科技成果线索单/意向单列表(组织用户)
+	 */
+	@RequestMapping(value = "/orgAchievementOrderList", method = RequestMethod.GET)
+	public Result orgAchievementOrderList(String uid, String unitName, Integer status, 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(achievementOrderService.listOrgAchievementOrder(uid, unitName, status, pNo, pSize));
+		return res;
+	}
+	
 
 	/**
 	 * 科技需求线索单/意向单列表(个人用户)

+ 100 - 0
src/main/java/com/goafanti/common/mapper/AchievementOrderMapper.xml

@@ -222,4 +222,104 @@
     from achievement_order
     where achievement_id = #{achievementId,jdbcType=VARCHAR}
   </select>
+  
+  
+   <select id="findUserAchievementOrderListByPage" parameterType="String" resultType="com.goafanti.achievement.bo.UserAchievementOrderListBo">
+  	select 
+  		ao.id, ao.serial_number as serialNumber, ao.achievement_id as achievementId,
+  		ao.create_time as createTime,ao.status,
+  		ao.intention_money as intentionMoney, ao.contract_money as contractMoney, ao.commission,
+  		ao.service_money as serviceMoney, a.name, a.serial_number as achievementSerialNumber,
+  		a.deleted_sign as deletedSign, a.audit_status as auditStatus, ui.username,
+  		ao.uid
+  	from achievement_order ao
+  	left join achievement a on a.id = ao.achievement_id
+  	left join user_identity ui on ui.uid = ao.uid
+  	where ao.deleted_sign = 0 
+  	and   a.deleted_sign = 0 
+  	and   a.tech_broker_id = #{techBrokerId,jdbcType=VARCHAR}
+  	<if test="status != null">
+  		and ao.status = #{status,jdbcType=INTEGER}
+  	</if>
+  	<if test="uid != null">
+  		and ao.uid = #{uid,jdbcType=VARCHAR}
+  	</if>
+  	<if test="username != null">
+  		and ui.username = #{username,jdbcType=VARCHAR}
+  	</if>
+  	order by ao.serial_number desc
+  	<if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findUserAchievementOrderCount" parameterType="String" resultType="java.lang.Integer">
+  	select 
+  		count(1)
+  	from achievement_order ao
+  	left join achievement a on a.id = ao.achievement_id
+  	left join user_identity ui on ui.uid = ao.uid
+  	where ao.deleted_sign = 0 
+  	and   a.deleted_sign = 0 
+  	and   a.tech_broker_id = #{techBrokerId,jdbcType=VARCHAR}
+  	<if test="status != null">
+  		and ao.status = #{status,jdbcType=INTEGER}
+  	</if>
+  	<if test="uid != null">
+  		and ao.uid = #{uid,jdbcType=VARCHAR}
+  	</if>
+  	<if test="username != null">
+  		and ui.username = #{username,jdbcType=VARCHAR}
+  	</if>
+  </select>
+  
+  
+  <select id="findOrgAchievementOrderListByPage" parameterType="String" resultType="com.goafanti.achievement.bo.OrgAchievementOrderListBo">
+  	select 
+  		ao.id, ao.serial_number as serialNumber, ao.achievement_id as achievementId,
+  		ao.create_time as createTime,ao.status,
+  		ao.intention_money as intentionMoney, ao.contract_money as contractMoney, ao.commission,
+  		ao.service_money as serviceMoney, a.name, a.serial_number as achievementSerialNumber,
+  		a.deleted_sign as deletedSign, a.audit_status as auditStatus, ao.uid,
+  		oi.unit_name as unitName
+  	from achievement_order ao
+  	left join achievement a on a.id = ao.achievement_id
+  	left join organization_identity oi on oi.uid = ao.uid
+  	where ao.deleted_sign = 0 
+  	and   a.deleted_sign = 0 
+  	and   a.tech_broker_id = #{techBrokerId,jdbcType=VARCHAR}
+  	<if test="status != null">
+  		and ao.status = #{status,jdbcType=INTEGER}
+  	</if>
+  	<if test="uid != null">
+  		and ao.uid = #{uid,jdbcType=VARCHAR}
+  	</if>
+  	<if test="unitName != null">
+  		and oi.unit_name = #{unitName,jdbcType=VARCHAR}
+  	</if>
+  	order by ao.serial_number desc
+  	<if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findOrgAchievementOrderCount" parameterType="String" resultType="java.lang.Integer">
+  	select 
+  		count(1)
+  	from achievement_order ao
+  	left join achievement a on a.id = ao.achievement_id
+  	left join organization_identity oi on oi.uid = ao.uid
+  	where ao.deleted_sign = 0 
+  	and   a.deleted_sign = 0 
+  	and   a.tech_broker_id = #{techBrokerId,jdbcType=VARCHAR}
+  	<if test="status != null">
+  		and ao.status = #{status,jdbcType=INTEGER}
+  	</if>
+  	<if test="uid != null">
+  		and ao.uid = #{uid,jdbcType=VARCHAR}
+  	</if>
+  	<if test="unitName != null">
+  		and oi.unit_name = #{unitName,jdbcType=VARCHAR}
+  	</if>
+  </select>
 </mapper>