Browse Source

派单功能调整

wanghui 7 years ago
parent
commit
715c2619ae

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

@@ -42,7 +42,7 @@ public interface TechProjectMapper {
 
 	int batchDeleteByContractId(List<String> id);
 
-	ProjectDetailBo selectTechProjectDetail(String contractId);
+	ProjectDetailBo selectTechProjectDetail(@Param("contractId")String contractId,@Param("buyerType")Integer buyerType);
 
 	List<TaskListBo> selectProjectTask(String contractId);
 }

+ 63 - 23
src/main/java/com/goafanti/common/mapper/TechProjectMapper.xml

@@ -575,6 +575,7 @@
 		a.order_no as orderNo,
 		a.type as projectType,
 		b.nickname as buyerName,
+		b.type as buyerType,
 		c.create_time as orderTime,
 		c.order_status as orderStatus,
 		c.liquidation_status as liquidationStatus,
@@ -592,6 +593,9 @@
 	<if test="orderNo != null and orderNo != ''">
 		and a.order_no = #{orderNo,jdbcType=VARCHAR}
 	</if>
+	<if test="serialNumber != null and serialNumber != ''">
+		and a.serial_number = #{serialNumber,jdbcType=VARCHAR}
+	</if>
 	<if test="setUpStartDate != null and setUpStartDate != ''">
 		and a.create_time &gt; #{setUpStartDate,jdbcType=TIMESTAMP}
 	</if>
@@ -632,6 +636,9 @@
 	<if test="orderNo != null and orderNo != ''">
 		and a.order_no = #{orderNo,jdbcType=VARCHAR}
 	</if>
+	<if test="serialNumber != null and serialNumber != ''">
+		and a.serial_number = #{serialNumber,jdbcType=VARCHAR}
+	</if>
 	<if test="setUpStartDate != null and setUpStartDate != ''">
 		and a.create_time &gt; #{setUpStartDate,jdbcType=TIMESTAMP}
 	</if>
@@ -656,27 +663,60 @@
   </select>
   
   <select id="selectTechProjectDetail" resultType="com.goafanti.techproject.bo.ProjectDetailBo">
-  	select
-		a.id,
-		a.serial_number as serialNumber,
-		a.sign_date as signDate,
-		a.sign_comment as signComment,
-		a.complete_date as completeDate,
-		a.complete_comment as completeComment,
-		a.uid,
-		a.status as projectStatus,
-		a.deleted_sign as deleteSign,
-		a.order_no as orderNo,
-		a.type as projectType,
-		b.nickname as buyerName,
-		c.name as technicianName,
-		d.name as principalName
-	from
-		contract a left join user b on
-		a.uid = b.id left join admin c on
-		a.uid = c.id left join admin d on
-		a.principal = d.id
-	where a.id = #{contractId,jdbcType=VARCHAR}
+	  <choose>
+	  	<when test="buyerType == 0">
+	  		 select
+				a.id,
+				a.serial_number as serialNumber,
+				a.sign_date as signDate,
+				a.sign_comment as signComment,
+				a.complete_date as completeDate,
+				a.complete_comment as completeComment,
+				a.uid,
+				a.status as projectStatus,
+				a.deleted_sign as deleteSign,
+				a.order_no as orderNo,
+				a.type as projectType,
+				b.nickname as buyerName,
+				c.name as technicianName,
+				d.name as principalName,
+				f.name as buyerProvince
+			from
+				contract a left join user b on
+				a.uid = b.id left join admin c on
+				a.uid = c.id left join admin d on
+				a.principal = d.id left join user_identity e on
+				a.uid = e.uid left join district_glossory f on
+				e.province  = f.id
+			where a.id = #{contractId,jdbcType=VARCHAR}
+	  	</when>
+	  		<when test="buyerType == 1">
+	  		 select
+				a.id,
+				a.serial_number as serialNumber,
+				a.sign_date as signDate,
+				a.sign_comment as signComment,
+				a.complete_date as completeDate,
+				a.complete_comment as completeComment,
+				a.uid,
+				a.status as projectStatus,
+				a.deleted_sign as deleteSign,
+				a.order_no as orderNo,
+				a.type as projectType,
+				b.nickname as buyerName,
+				c.name as technicianName,
+				d.name as principalName,
+				f.name as buyerProvince
+			from
+				contract a left join user b on
+				a.uid = b.id left join admin c on
+				a.uid = c.id left join admin d on
+				a.principal = d.id left join organization_identity e on
+				a.uid = e.uid left join district_glossory f on
+				e.location_province  = f.id
+			where a.id = #{contractId,jdbcType=VARCHAR}
+	  	</when>
+	  </choose>
   </select>
   
   <select id="selectProjectTask" resultType="com.goafanti.techproject.bo.TaskListBo">
@@ -734,7 +774,7 @@
 			and d.serial_number = #{projectNo,jdbcType=VARCHAR}
 		</if>
 		<if test="buyerName != null and buyerName != ''">
-			and e.name = #{buyerName,jdbcType=VARCHAR}
+			and e.nickname = #{buyerName,jdbcType=VARCHAR}
 		</if>
 		<if test="taskReceiverName != null and taskReceiverName != ''">
 			and f.name = #{taskReceiverName,jdbcType=VARCHAR}
@@ -774,7 +814,7 @@
 			and d.serial_number = #{projectNo,jdbcType=VARCHAR}
 		</if>
 		<if test="buyerName != null and buyerName != ''">
-			and e.name = #{buyerName,jdbcType=VARCHAR}
+			and e.nickname = #{buyerName,jdbcType=VARCHAR}
 		</if>
 		<if test="taskReceiverName != null and taskReceiverName != ''">
 			and f.name = #{taskReceiverName,jdbcType=VARCHAR}

+ 26 - 0
src/main/java/com/goafanti/order/controller/AdminOrderApiController.java

@@ -580,4 +580,30 @@ public class AdminOrderApiController extends CertifyApiController {
 		orderServiceImpl.updateConfirmRefund(orderNo,confirm);
 		return res;
 	}
+	
+	/**
+	 * 转交订单
+	 * @param orderNo
+	 * @param aid
+	 * @param targetType
+	 * @return
+	 */
+	@RequestMapping(value = "/transferOrder", method = RequestMethod.POST)
+	public Result transferOrder(String orderNo,String aid,Integer targetType){
+		Result res = new Result();
+		if(StringUtils.isBlank(orderNo)){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
+			return res;
+		}
+		if(StringUtils.isBlank(aid)){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","转交人 ID"));
+			return res;
+		}
+		if(null == targetType){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","转交类型"));
+			return res;
+		}
+		orderServiceImpl.updateTransferOrder(orderNo, aid, targetType);
+		return res;
+	}
 }

+ 9 - 0
src/main/java/com/goafanti/order/service/OrderService.java

@@ -413,4 +413,13 @@ public interface OrderService {
 	 * @return
 	 */
 	int updateConfirmRefund(String orderNo,boolean confirm);
+	
+	/**
+	 * 转交订单
+	 * @param orderNo
+	 * @param aid
+	 * @param targetType
+	 * @return
+	 */
+	int updateTransferOrder(String orderNo,String aid,Integer targetType);
 }

+ 11 - 0
src/main/java/com/goafanti/order/service/impl/OrderServiceImpl.java

@@ -1515,4 +1515,15 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		}
 		return tOrderMapper.updateByPrimaryKey(tOrder);
 	}
+
+	@Override
+	public int updateTransferOrder(String orderNo, String aid, Integer targetType) {
+		TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);
+		checkOrder(tOrder);
+		if(targetType == 0) tOrder.setSalesmanId(aid);
+		else if(targetType == 1) tOrder.setFinanceId(aid);
+		else if(targetType == 2) tOrder.setTechnicianId(aid);
+		tOrder.setUpdateTime(new Date());
+		return tOrderMapper.updateByPrimaryKeySelective(tOrder);
+	}
 }

+ 9 - 0
src/main/java/com/goafanti/techproject/bo/ProjectDetailBo.java

@@ -5,6 +5,7 @@ public class ProjectDetailBo extends ProjectListBo{
 	private String signComment;
 	private String completeComment;
 	private String uid;
+	private String buyerProvince;
 	public String getSignComment() {
 		return signComment;
 	}
@@ -28,4 +29,12 @@ public class ProjectDetailBo extends ProjectListBo{
 	public void setUid(String uid) {
 		this.uid = uid;
 	}
+
+	public String getBuyerProvince() {
+		return buyerProvince;
+	}
+
+	public void setBuyerProvince(String buyerProvince) {
+		this.buyerProvince = buyerProvince;
+	}
 }

+ 8 - 0
src/main/java/com/goafanti/techproject/bo/ProjectListBo.java

@@ -22,6 +22,8 @@ public class ProjectListBo {
 	private Integer approval;
 	/** 客户名 **/
 	private String buyerName;
+	/** 客户省份 **/
+	private Integer buyerType;
 	/** 营销员 **/
 	private String salesmanName;
 	/** 财务负责人 **/
@@ -94,6 +96,12 @@ public class ProjectListBo {
 	public void setBuyerName(String buyerName) {
 		this.buyerName = buyerName;
 	}
+	public Integer getBuyerType() {
+		return buyerType;
+	}
+	public void setBuyerType(Integer buyerType) {
+		this.buyerType = buyerType;
+	}
 	public Integer getApproval() {
 		return approval;
 	}

+ 6 - 2
src/main/java/com/goafanti/techproject/controller/AdminTechProjectApiController.java

@@ -639,13 +639,17 @@ public class AdminTechProjectApiController extends CertifyApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/getProjectDetail",method = RequestMethod.GET)
-	public Result getProjectDetail(String contractId){
+	public Result getProjectDetail(String contractId,Integer buyerType){
 		Result res = new Result();
 		if(StringUtils.isBlank(contractId)){
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "项目ID"));
 			return res;
 		}
-		res.setData(techProjectService.selectTechProjectDetail(contractId));
+		if(buyerType == null){
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "客户类型"));
+			return res;
+		}
+		res.setData(techProjectService.selectTechProjectDetail(contractId,buyerType));
 		return res;
 	}
 	

+ 1 - 1
src/main/java/com/goafanti/techproject/service/TechProjectService.java

@@ -70,7 +70,7 @@ public interface TechProjectService {
 	 * @param contractId
 	 * @return
 	 */
-	ProjectDetailBo selectTechProjectDetail(String contractId);
+	ProjectDetailBo selectTechProjectDetail(String contractId,Integer buyerType);
 
 	/**
 	 * 项目管理任务列表

+ 5 - 4
src/main/java/com/goafanti/techproject/service/impl/TechProjectServiceImpl.java

@@ -309,8 +309,9 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 		Map<String, Object> params = new HashMap<>();
 		if(StringUtils.isNotBlank(bo.getBuyerName())) params.put("buyerName", bo.getBuyerName());
 		if(bo.getDeleteSign() != null) params.put("deleteSign", bo.getDeleteSign());
-		if(bo.getOrderNo() != null) params.put("orderNo", bo.getOrderNo());
-		if(bo.getSalesmanName() != null) params.put("salesmanName", bo.getSalesmanName());
+		if(StringUtils.isNotBlank(bo.getOrderNo())) params.put("orderNo", bo.getOrderNo());
+		if(StringUtils.isNotBlank(bo.getSalesmanName())) params.put("salesmanName", bo.getSalesmanName());
+		if(StringUtils.isNotBlank(bo.getSerialNumber())) params.put("serialNumber", bo.getSerialNumber());
 		if(StringUtils.isNotBlank(depId)) params.put("depId", depId);
 		try {
 			if(StringUtils.isNotBlank(setUpStartDate))
@@ -344,9 +345,9 @@ public class TechProjectServiceImpl extends BaseMybatisDao<TechProjectMapper> im
 	}
 
 	@Override
-	public ProjectDetailBo selectTechProjectDetail(String contractId) {
+	public ProjectDetailBo selectTechProjectDetail(String contractId,Integer buyerType) {
 		
-		return techProjectMapper.selectTechProjectDetail(contractId);
+		return techProjectMapper.selectTechProjectDetail(contractId,buyerType);
 	}
 
 	@Override