Browse Source

项目拆分列表开发

Signed-off-by: anderx <312518615@qq.com>
anderx 5 years ago
parent
commit
27e6663973

+ 3 - 0
src/main/java/com/goafanti/common/dao/TOrderTaskMapper.java

@@ -4,6 +4,7 @@ import com.goafanti.common.model.TOrderTask;
 import com.goafanti.common.model.TOrderTaskExample;
 import com.goafanti.order.bo.TOrderTaskBo;
 import com.goafanti.order.bo.TOrderTaskDetailBo;
+import com.goafanti.order.bo.TOrderTaskListBo;
 
 import java.util.Collection;
 import java.util.List;
@@ -108,5 +109,7 @@ public interface TOrderTaskMapper {
 
 	List<String> listNameByDepAndName(@Param("orderNo")String orderNo, @Param("type")Integer type);
 
+	List<TOrderTaskListBo> splitProjectList(Integer tid);
+
 
 }

+ 27 - 21
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -1013,30 +1013,28 @@
     where id = #{id,jdbcType=INTEGER}
   </update>
   <select id="selectOrderTask" resultType="com.goafanti.order.bo.TOrderTaskBo">
-    select a.id,e.contract_no contractNo,a.order_no as orderNo,h.nickname userName,f.name salesmanName,a.outsource_name outsourceName,a.outsource,
+        select a.id,e.contract_no contractNo,a.order_no as orderNo,h.nickname userName,f.name salesmanName,a.outsource_name outsourceName,a.outsource,
   a.outsource_price outsourcePrice,g.name depName,e.order_status orderStatus,d.name as contacts,d.contact_mobile as contactsMobile,a.main, c.cname,
   c.sort cSort,a.commodity_name as commodityName,a.commodity_quantity as commodityQuantity,i.price,a.certificate_number as certificateNumber,
   a.commodity_id as commodityId,a.manager_id managerId,a.consultant_id consultantId,a.project_status as projectStatus,a.set_up_amount setUpAmount,
-  a.task_comment as taskComment ,a.commodity_price as commodityPrice, a.task_status as taskStatus,  a.task_receiver as taskReceiver 
+  a.task_comment as taskComment ,a.commodity_price as commodityPrice, a.task_status as taskStatus,  a.task_receiver as taskReceiver ,a.split_status splitStatus
   	 from t_order_task a left join business_project b on a.commodity_id=b.id left join t_order_new e on a.order_no=e.order_no
   	 left join admin f on e.salesman_id=f.id left join department g on e.order_dep=g.id left join user h on e.buyer_id=h.id
-  	 left join business_project i on a.commodity_id=i.id
-  	 left join business_category c on b.cid=c.id left join admin d on a.task_receiver=d.id
-  	where a.super_id is null and  a.order_no= #{orderNo,jdbcType=VARCHAR} order by a.id
-  	
+  	 left join business_project i on a.commodity_id=i.id left join business_category c on b.cid=c.id left join admin d on a.task_receiver=d.id
+  	where a.super_id is null and a.split_status !=2 and  a.order_no= #{orderNo,jdbcType=VARCHAR} order by a.id
   </select>
   
   
    <select id="selectOrderTaskListByPage" resultType="com.goafanti.order.bo.TOrderTaskListBo">
-  		select  a.id,a.commodity_name as taskName,a.order_no as orderNo,c.cname,d.name as receiverName,a.project_status as projectStatus,e.contract_no contractNo,
+  			select  a.id,a.commodity_name as taskName,a.order_no as orderNo,c.cname,d.name as receiverName,a.project_status as projectStatus,e.contract_no contractNo,
     a.task_status as taskStatus,date_format(a.task_distribution_time,'%Y-%m-%d') as taskDate, a.commodity_quantity as commodityQuantity,e.approval,l.refund_status outsourceStatus,
-    ifnull(i.alreadyNumber,0) as alreadyNumber,f.nickname as userName,h.name as depName, j.name as outsourceName ,ifnull(k.hours,0) hours
+    ifnull(i.alreadyNumber,0) as alreadyNumber,f.nickname as userName,h.name as depName, j.name as outsourceName ,ifnull(k.hours,0) hours,a.split_status splitStatus
     from t_order_task a left join business_project b on a.commodity_id=b.id left join business_category c on b.cid=c.id 
   	left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no left join user f on e.buyer_id=f.id
     left join department h on e.order_dep=h.id left join (select task_id , sum(already_number) as alreadyNumber from task_progress 
     group by task_id) i on a.id=i.task_id  left join (select order_no,max(name)as name from outsource_organization group by order_no) j 
     on a.order_no=j.order_no left join task_hours_count k on a.id=k.tid and a.task_receiver=k.aid left join t_order_outsource l
-    on a.id=l.tid where e.delete_sign !=1  and e.order_status not in (5,7)   and a.outsource= #{outsource,jdbcType=INTEGER}
+    on a.id=l.tid where e.delete_sign !=1  and e.order_status not in (5,7)  and a.split_status !=2 and a.outsource= #{outsource,jdbcType=INTEGER}
     <if test="specially == 0 or specially == 1">
     and a.task_receiver= #{aid,jdbcType=VARCHAR}
     </if>
@@ -1086,13 +1084,9 @@
   </select>
   
    <select id="selectOrderTaskListCount" resultType="java.lang.Integer">
-  	select  count(*)
-  	from t_order_task a 
-    left join admin d on a.task_receiver=d.id
-    left join t_order_new e on a.order_no=e.order_no
-    left join admin g on e.salesman_id=g.id
-    left join department h on g.department_id=h.id
-    where e.delete_sign !=1 and e.order_status not in (5,7)
+  	select  count(*) from t_order_task a left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no
+    left join admin g on e.salesman_id=g.id left join department h on g.department_id=h.id where e.delete_sign !=1 and e.order_status not in (5,7)
+    and a.split_status !=2
     and a.outsource= #{outsource,jdbcType=INTEGER}
     <if test="specially == 0 or specially == 1">
     and a.task_receiver= #{aid,jdbcType=VARCHAR}
@@ -1168,7 +1162,7 @@ from t_order_task a left join business_project b on a.commodity_id=b.id left joi
   	from t_order_task a left join business_project b on a.commodity_id=b.id left join business_category c on b.cid=c.id
     left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no left join department dep on e.order_dep=dep.id  
     left join user f on e.buyer_id=f.id left join (select task_id,sum(hours) as hours from t_task_hours group by task_id) g on a.id=g.task_id
-    left join t_order_mid tm on a.order_no=tm.order_no where e.delete_sign !=1 and a.super_id is null
+    left join t_order_mid tm on a.order_no=tm.order_no where e.delete_sign !=1 and a.super_id is null and a.split_status !=1
   	<if test="shiroType == 1 and aid !=null">
   	  	and tm.finance_id= #{aid,jdbcType=VARCHAR}
   	</if>
@@ -1206,10 +1200,9 @@ from t_order_task a left join business_project b on a.commodity_id=b.id left joi
   </select>
   
    <select id="selectTaskHoursListCount" resultType="java.lang.Integer">
-  	select  count(*) from t_order_task a left join business_project b on a.commodity_id=b.id
-  	left join business_category c on b.cid=c.id left join admin d on a.task_receiver=d.id
-    left join t_order_new e on a.order_no=e.order_no left join user f on e.buyer_id=f.id
-    left join t_order_mid tm on a.order_no=tm.order_no where e.delete_sign !=1 and a.super_id is null
+  	select  count(*) from t_order_task a left join business_project b on a.commodity_id=b.id left join business_category c on b.cid=c.id 
+  	left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no left join user f on e.buyer_id=f.id
+    left join t_order_mid tm on a.order_no=tm.order_no where e.delete_sign !=1 and a.super_id is null and a.split_status !=1
   <if test="shiroType == 1 and aid !=null">
   	  	and tm.finance_id= #{aid,jdbcType=VARCHAR}
   	</if>
@@ -1357,6 +1350,19 @@ from t_order_task a left join business_project b on a.commodity_id=b.id left joi
 	<if test="type ==1">
 	manager_id 
 	</if> 
+  </select>
   
+  <select id="splitProjectList" resultType="com.goafanti.order.bo.TOrderTaskListBo">
+     select  a.id,a.commodity_name as taskName,a.order_no as orderNo,c.cname,d.name as receiverName,a.project_status as projectStatus,e.contract_no contractNo,
+    a.task_status as taskStatus,date_format(a.task_distribution_time,'%Y-%m-%d') as taskDate, a.commodity_quantity as commodityQuantity,e.approval,l.refund_status outsourceStatus,
+    ifnull(i.alreadyNumber,0) as alreadyNumber,f.nickname as userName,h.name as depName, j.name as outsourceName ,ifnull(k.hours,0) hours,a.split_status splitStatus,
+    a.split_super splitSuper,date_format(a.split_time,'%Y-%m-%d %H:%i:%S') splitTimes,ad.name splitAname
+    from t_order_task a left join business_project b on a.commodity_id=b.id left join business_category c on b.cid=c.id 
+  	left join admin d on a.task_receiver=d.id left join t_order_new e on a.order_no=e.order_no left join user f on e.buyer_id=f.id
+    left join department h on e.order_dep=h.id left join (select task_id , sum(already_number) as alreadyNumber from task_progress 
+    group by task_id) i on a.id=i.task_id  left join (select order_no,max(name)as name from outsource_organization group by order_no) j 
+    on a.order_no=j.order_no left join task_hours_count k on a.id=k.tid and a.task_receiver=k.aid left join t_order_outsource l
+    on a.id=l.tid left join admin ad on ad.id=a.split_aid where e.delete_sign !=1  and e.order_status not in (5,7)  
+    and a.outsource= 0 and split_status =2 and a.split_super= #{tid}
   </select>
 </mapper>

+ 29 - 0
src/main/java/com/goafanti/order/bo/TOrderTaskListBo.java

@@ -28,6 +28,29 @@ public class TOrderTaskListBo {
 	/** 外包部门 */
 	private String outsourceName;
 	private Integer outsourceStatus;
+	private Integer splitStatus;
+	private String	splitSuper;
+	private String splitTimes;
+	private String splitAname;
+	
+	public String getSplitSuper() {
+		return splitSuper;
+	}
+	public void setSplitSuper(String splitSuper) {
+		this.splitSuper = splitSuper;
+	}
+	public String getSplitTimes() {
+		return splitTimes;
+	}
+	public void setSplitTimes(String splitTimes) {
+		this.splitTimes = splitTimes;
+	}
+	public String getSplitAname() {
+		return splitAname;
+	}
+	public void setSplitAname(String splitAname) {
+		this.splitAname = splitAname;
+	}
 	public String getContractNo() {
 		return contractNo;
 	}
@@ -172,5 +195,11 @@ public class TOrderTaskListBo {
 	public void setOutsourceStatus(Integer outsourceStatus) {
 		this.outsourceStatus = outsourceStatus;
 	}
+	public Integer getSplitStatus() {
+		return splitStatus;
+	}
+	public void setSplitStatus(Integer splitStatus) {
+		this.splitStatus = splitStatus;
+	}
 	
 }

+ 17 - 3
src/main/java/com/goafanti/order/controller/OrderProjectApiController.java

@@ -198,14 +198,14 @@ public class OrderProjectApiController extends CertifyApiController {
 	/**
 	 * 	拆分项目
 	 */
-	@RequestMapping(value="/splitProject" ,method = RequestMethod.GET)
-	public Result splitProject(Integer tid,String splitList){
+	@RequestMapping(value="/addSplitProject" ,method = RequestMethod.POST)
+	public Result addSplitProject(Integer tid,String splitList){
 		Result res=new Result();
 		if (null==tid||StringUtils.isBlank(splitList)) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"项目和拆分数","项目和拆分数"));
 			return res;
 		}
-		int i=orderProjectService.pushsplitProject(tid,splitList);
+		int i=orderProjectService.pushSplitProject(tid,splitList);
 		if (i==-1) {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"拆分数","拆分数"));
 			return res;
@@ -214,6 +214,20 @@ public class OrderProjectApiController extends CertifyApiController {
 		return res;
 	}
 	
+	/**
+	 * 	拆分项目列表
+	 */
+	@RequestMapping(value="/splitProjectList" ,method = RequestMethod.GET)
+	public Result splitProjectList(Integer tid){
+		Result res=new Result();
+		if (null==tid) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"项目和拆分数","项目和拆分数"));
+			return res;
+		}
+		res.setData(orderProjectService.splitProjectList(tid));
+		return res;
+	}
+	
 	
 	/**
 	 * 我的任务列表导出xls

+ 3 - 1
src/main/java/com/goafanti/order/service/OrderProjectService.java

@@ -51,5 +51,7 @@ public interface OrderProjectService {
 
 	void checkProjiectAllocation(String orderNo);
 
-	int pushsplitProject(Integer tid, String splitList);
+	int pushSplitProject(Integer tid, String splitList);
+
+	List<TOrderTaskListBo> splitProjectList(Integer tid);
 }

+ 8 - 3
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -623,7 +623,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	}
 	
 	@Override
-	public int pushsplitProject(Integer tid, String splitList) {
+	public int pushSplitProject(Integer tid, String splitList) {
 			String[] str=splitList.split(",");
 			TOrderTask task=tOrderTaskMapper.selectByPrimaryKey(tid);
 			TOrderTask usedTask=new TOrderTask();
@@ -633,7 +633,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			//计算拆分数量
 			Integer x=0;
 			for (String string : str) {
-				x+=Integer.getInteger(string);
+				x+=Integer.parseInt(string);
 			}
 			if (task.getCommodityQuantity()!=x) {
 				return -1;
@@ -646,13 +646,18 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			newTask.setSplitSuper(tid);
 			newTask.setSplitTime(new Date());
 			for (String string : str) {
-				newTask.setCommodityQuantity(Integer.getInteger(string));
+				newTask.setId(null);
+				newTask.setCommodityQuantity(Integer.parseInt(string));
 				newTask.setSplitId(i);
 				i++;
 				tOrderTaskMapper.insertSelective(newTask);
 			}
 		return 1;
 	}
+	@Override
+	public List<TOrderTaskListBo> splitProjectList(Integer tid) {
+		return tOrderTaskMapper.splitProjectList(tid);
+	}
 	
 	
 }

+ 2 - 2
src/main/resources/props/config_local.properties

@@ -45,8 +45,8 @@ logging.level.com.goafanti=DEBUG
 jedis.host=localhost
 jedis.port=6379
 jedis.timeout=5000
-#jedis.password=aft123456
-jedis.password=hqa103146
+jedis.password=aft123456
+#jedis.password=hqa103146
 pwd.hash_algorithm_name=md5
 pwd.hash_iterations=2