Browse Source

服务项目修改开发

anderx 2 years ago
parent
commit
8c60bb346a

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

@@ -6,10 +6,10 @@ import com.goafanti.common.model.TChangeTask;
 import com.goafanti.common.model.TOrderTask;
 import com.goafanti.order.bo.*;
 import com.goafanti.organization.bo.ProjectTypePuls;
+import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
 import java.util.List;
-import org.apache.ibatis.annotations.Param;
 
 public interface TOrderTaskMapper {
     int deleteByPrimaryKey(Integer id);
@@ -87,4 +87,6 @@ public interface TOrderTaskMapper {
     void deleteBySplitId(Integer id);
 
     void updateDimissionTransferManager(@Param("aid")String aid, @Param("transferId")String transferId);
+
+    List<String> selectOrderNoAllByaid(String aid);
 }

+ 5 - 1
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -2372,7 +2372,11 @@
       and a.create_time BETWEEN #{startTime} and #{endTime}
     </if>
   </select>
-
+  <select id="selectOrderNoAllByaid" resultType="java.lang.String">
+    select order_no
+    from t_order_task
+    where task_receiver = #{aid} group by order_no
+  </select>
 
 
   <delete id="deleteBySplitId" parameterType="java.lang.Integer">

+ 40 - 0
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -12,6 +12,8 @@ import com.goafanti.common.model.*;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.NewOrderChangeBo;
 import com.goafanti.order.bo.TOrderNewBo;
+import com.goafanti.order.bo.TOrderTaskBo;
+import com.goafanti.order.enums.NewProjectStatus;
 import com.goafanti.order.enums.OrderChangeProcess;
 import com.goafanti.order.enums.OrderChangeType;
 import com.goafanti.order.enums.ProcessStatus;
@@ -278,6 +280,7 @@ public class AsyncUtils {
 		//获取旧人员与新人员的角色
 		List<String>  useType=adminMapper.getAdminRoleListByAid(admin.getId());
 		List<String>  newType=adminMapper.getAdminRoleListByAid(tadmin.getId());
+		List<String>  useOrderNo=tOrderTaskMapper.selectOrderNoAllByaid(admin.getId());
 		String aid=admin.getId();
 		String transferId=tadmin.getId();
 		if (useType.contains(AFTConstants.TECH)&&newType.contains(AFTConstants.TECH)){
@@ -316,8 +319,45 @@ public class AsyncUtils {
 		}
 		taskAttributionLogMapper.insertList(aid, transferId, date);
 		tTaskLogMapper.updateDimissionTransfer(aid, transferId);
+		updateOrderMidServiceProject(useOrderNo);
 	}
 
+	private void updateOrderMidServiceProject(List<String> useOrderNo) {
+		for (String orderNo : useOrderNo) {
+			updateOrderMidServiceProject(orderNo);
+		}
+	}
+
+	private void updateOrderMidServiceProject(String orderNo) {
+		{
+			List<TOrderTaskBo> taskBos = tOrderTaskMapper.selectOrderTaskAll(orderNo, null);
+			if (!taskBos.isEmpty()){
+				List<String > cp=new ArrayList<>();
+				List<String > cc=new ArrayList<>();
+				StringBuffer ps=new StringBuffer();
+				StringBuffer cs=new StringBuffer();
+				for (TOrderTaskBo taskBo : taskBos) {
+					if (!cp.contains(taskBo.getCommodityName())){
+						cp.add(taskBo.getCommodityName());
+						ps=ps.append(taskBo.getCommodityName());
+						String str= NewProjectStatus.getValueByCode(taskBo.getProjectStatus());
+						ps=ps.append("-").append(str).append("-").append(taskBo.getContacts()).append(",");
+					}
+					if (!cc.contains(taskBo.getCname())){
+						cc.add(taskBo.getCname());
+						cs=cs.append(taskBo.getCname()).append(",");
+					}
+				}
+				TOrderMid tOrderMid = new TOrderMid();
+				tOrderMid.setOrderNo(orderNo);
+				if (ps.length()>1)tOrderMid.setServiceProject(ps.substring(0,ps.length()-1));
+				if (ps.length()>1)tOrderMid.setServiceType(cs.substring(0,cs.length()-1));
+				tOrderMidMapper.updateByOrderNo(tOrderMid);
+			}
+		}
+	}
+
+
 	private void pushChangeProcessZXSJL(List<Integer> list) {
 		if(!list.isEmpty()){
 			Date date =new Date();

+ 1 - 0
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -867,6 +867,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	}
 
 	@Override
+	@Transactional
 	public int pushCompleteOrderChange(NewOrderChangeBo nb) {
 		//变更完成
 		changeAdopt(nb);

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

@@ -327,6 +327,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		tNew.setProcessStatus(getOrderProcessStatus(orderNo));
 		tNew.setExamineName("");
 		tOrderNewMapper.updateByPrimaryKeySelective(tNew);
+		updateMidServiceProject(orderNo);
 	}
 
 	@Override
@@ -1486,8 +1487,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 					cp.add(taskBo.getCommodityName());
 					ps=ps.append(taskBo.getCommodityName());
 					String str= NewProjectStatus.getValueByCode(taskBo.getProjectStatus());
-					ps=ps.append("-").append(str).append(",");
-
+					ps=ps.append("-").append(str).append("-").append(taskBo.getContacts()).append(",");
 				}
 				if (!cc.contains(taskBo.getCname())){
 					cc.add(taskBo.getCname());