Browse Source

修改订单跳过审核修改开发

anderx 1 year ago
parent
commit
45775f0a3f

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

@@ -131,4 +131,5 @@ public interface DepartmentMapper {
     void updateExpenseFinanceNotExamine(@Param("newFinanceId") String newFinanceId, @Param("useFinanceId") String useFinanceId);
 
     void updateNull(InputDep in);
+
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/TOrderExamineMapper.java

@@ -33,4 +33,6 @@ public interface TOrderExamineMapper {
     List<TOrderExamine> selectExamineBytidAndAid(@Param("list")List<Integer> ids,@Param("aid") String aid);
 
     void deleteByTid(Integer tid);
+
+    void deleteExamineFinance(String aid);
 }

+ 3 - 0
src/main/java/com/goafanti/common/mapper/DepartmentMapper.xml

@@ -630,6 +630,9 @@
             <if test="operationGuaranteeId ==null">
                 operation_guarantee_id=null,
             </if>
+            <if test="retrialFinanceId==null">
+                retrial_finance_id=null,
+            </if>
         </set>
         where id=#{id}
     </update>

+ 7 - 1
src/main/java/com/goafanti/common/mapper/TOrderExamineMapper.xml

@@ -167,7 +167,8 @@
     delete from t_order_examine
     where tid = #{tid}
   </delete>
-  <select id="selectExamineBytidAndAid" resultMap="BaseResultMap">
+
+    <select id="selectExamineBytidAndAid" resultMap="BaseResultMap">
     select
     <include refid="Base_Column_List" />
     from t_order_examine a
@@ -178,4 +179,9 @@
     and a.aid= #{aid}
   </select>
 
+  <delete id="deleteExamineFinance">
+    delete from t_order_examine
+    where aid = #{aid} and status=0
+  </delete>
+
 </mapper>

+ 2 - 2
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -2101,7 +2101,7 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
     <foreach collection="list" item="e" close=")" open="(" separator=",">
       #{e}
     </foreach>
-    and x.order_no =y.order_no
+    and x.order_no =y.order_no and x.process_status=3
   </update>
 
   <select id="selectAidAndDate" resultType="java.lang.Integer">
@@ -2134,7 +2134,7 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
     where b.order_no= #{orderNo}
   </select>
   <select id="selectByFinanceNotExamine" resultType="string">
-    select a.order_no orderNo,a.process_status processStatus
+    select a.order_no orderNo
     from t_order_new a left join t_order_examine b on a.order_no=b.order_no
     where b.status=0 and b.aid = #{financeId} and a.process_status = 3
   </select>

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

@@ -608,7 +608,6 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 	}
 
 	private void addTorderLog(TOrderNew t) {
-		boolean flag=judgeOrderExamine(t.getOrderNo());
 		TOrderLog tl=new TOrderLog();
 		tl.setAid(AFTConstants.SUPERADMIN_ID);
 		tl.setProcess(OrderLogProcess.TP.getCode());

+ 107 - 34
src/main/java/com/goafanti/organization/service/impl/OrganizationServiceImpl.java

@@ -1,17 +1,18 @@
 package com.goafanti.organization.service.impl;
 
 import com.goafanti.admin.bo.AdminListBo;
-import com.goafanti.common.dao.DepartmentMapper;
-import com.goafanti.common.dao.ExpenseConfigDetailsMapper;
-import com.goafanti.common.dao.TOrderMidMapper;
-import com.goafanti.common.dao.TOrderNewMapper;
-import com.goafanti.common.model.Department;
-import com.goafanti.common.model.ExpenseConfigDetails;
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.dao.*;
+import com.goafanti.common.enums.OrderLogProcess;
+import com.goafanti.common.model.*;
 import com.goafanti.common.utils.AsyncUtils;
 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.order.bo.TOrderNewBo;
+import com.goafanti.order.enums.ApprovalNewState;
+import com.goafanti.order.enums.ProcessStatus;
 import com.goafanti.organization.bo.DepOut;
 import com.goafanti.organization.bo.InputDep;
 import com.goafanti.organization.bo.OrganizationListOut;
@@ -35,6 +36,11 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 	private TOrderNewMapper torderNewMapper;
 	@Autowired
 	private TOrderMidMapper torderMidMapper;
+	@Autowired
+	private TOrderExamineMapper torderExamineMapper;
+	@Autowired
+	private TOrderLogMapper tOrderLogMapper;
+
 
 	@Autowired
 	private AsyncUtils asyncUtils;
@@ -232,24 +238,88 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 		//财务与复审切换的时候要切换所有未审核的财务
 		boolean updateFinance=false;
 		boolean updateRetrialFinance=false;
-		if(StringUtils.isNotBlank(in.getFinanceId())&&!in.getFinanceId().equals(useDep.getFinanceId())){
-			dep.setFinanceId(in.getFinanceId());
-			//处理订单
-			departmentMapper.updateOrderDepFinanceNotExamine(in.getFinanceId(),useDep.getFinanceId());
-			List<String> list = torderNewMapper.selectByFinanceNotExamine(in.getFinanceId());
-			if (!list.isEmpty()){
-				torderNewMapper.updateOrderDepFinanceExamineName(list);
-			}
+		//获取需要重新刷新的财务
+		List<String> aids =new ArrayList<>();
+		if(!in.getFinanceId().equals(useDep.getFinanceId())){
+			if(StringUtils.isBlank(in.getFinanceId())){
+				//先将旧的查出来
+				List<String> list = torderNewMapper.selectByFinanceNotExamine(useDep.getFinanceId());
+				//再删除旧单需要审核的
+				torderExamineMapper.deleteExamineFinance(useDep.getFinanceId());
+				if (!list.isEmpty()){
+					torderNewMapper.updateOrderDepFinanceExamineName(list);
+				}
+			}else {
+				dep.setFinanceId(in.getFinanceId());
+				//审核人切换
+				departmentMapper.updateOrderDepFinanceNotExamine(in.getFinanceId(),useDep.getFinanceId());
+				//查询切换后的订单刷新审核人
+				List<String> list = torderNewMapper.selectByFinanceNotExamine(in.getFinanceId());
+				if (!list.isEmpty()){
+					torderNewMapper.updateOrderDepFinanceExamineName(list);
+				}
 
-			updateFinance=true;
+			}
+				updateFinance=true;
 		}
-		if (StringUtils.isNotBlank(in.getRetrialFinanceId())&&
-				!in.getRetrialFinanceId().equals(useDep.getRetrialFinanceId())){
-			dep.setRetrialFinanceId(in.getRetrialFinanceId());
-			departmentMapper.updateOrderDepFinanceNotExamine(in.getRetrialFinanceId(),useDep.getRetrialFinanceId());
-			List<String> list = torderNewMapper.selectByFinanceNotExamine(in.getRetrialFinanceId());
-			if (!list.isEmpty()){
-				torderNewMapper.updateOrderDepFinanceExamineName(list);
+		if (StringUtils.isBlank(in.getTechAdminId())||StringUtils.isBlank(in.getOperationGuaranteeId())
+				||StringUtils.isBlank(in.getRetrialFinanceId())){
+			if(StringUtils.isBlank(in.getTechAdminId()))in.setTechAdminId(null);
+			if(StringUtils.isBlank(in.getOperationGuaranteeId()))in.setOperationGuaranteeId(null);
+			if(StringUtils.isBlank(in.getRetrialFinanceId()))in.setRetrialFinanceId(null);
+			departmentMapper.updateNull(in);
+		}
+		if (!in.getRetrialFinanceId().equals(useDep.getRetrialFinanceId())){
+			if(StringUtils.isBlank(in.getRetrialFinanceId())) {
+				//先将旧的查出来
+				List<String> list = torderNewMapper.selectByFinanceNotExamine(useDep.getRetrialFinanceId());
+				//再删除旧单需要审核的
+				torderExamineMapper.deleteExamineFinance(useDep.getRetrialFinanceId());
+				if (!list.isEmpty()) {
+					//先把药推送到下个流程的查出来
+					for (String s : list) {
+						List<TOrderExamine> tOrderExamines = torderExamineMapper.selectByOrderNo(s, 0);
+						int i = 0;
+						for (TOrderExamine e : tOrderExamines) {
+							if (e.getStatus() == 1) i++;
+						}
+						if (i == tOrderExamines.size()) {
+							//推送订单流程
+							addOrderLog(s,OrderLogProcess.TP.getCode(),"订单修改财务复审,判定审核通过");
+							StringBuilder str = new StringBuilder();
+							TOrderNew tOrderNew = torderNewMapper.selectByPrimaryKey(s);
+							TOrderNewBo order = torderNewMapper.getSaleIdByOno(s);
+							TOrderNew newOrder = new TOrderNew();
+							//如果订单是特批
+							if (tOrderNew.getApproval() == ApprovalNewState.TPDSH.getCode() || tOrderNew.getApproval() == ApprovalNewState.TPBH.getCode()) {
+								if (StringUtils.isNotEmpty(in.getOperationGuaranteeId())) {
+									newOrder.setProcessStatus(ProcessStatus.YYBZSH.getCode());
+									str.append(order.getOperationGuaranteeName()).append(",");
+									aids.add(order.getOperationGuaranteeId());
+								} else if (order.getApprovalStatus() == 0) {
+									newOrder.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
+									newOrder.setApproval(ApprovalNewState.TPTG.getCode());
+									addOrderLog(s,OrderLogProcess.TP.getCode(),"部门特批审核人未设置,系统自动通过");
+								} else {
+									newOrder.setProcessStatus(ProcessStatus.YPTPSH.getCode());
+									aids.add(order.getApprovalAid());
+									str.append(order.getApprovalName()).append(",");
+									addOrderLog(s,OrderLogProcess.TP.getCode(),"运营保障审核人未设置,系统自动通过");
+								}
+							}
+							newOrder.setExamineName(str.substring(0,str.length()-1));
+							torderNewMapper.updateByPrimaryKeySelective(newOrder);
+						}
+						torderNewMapper.updateOrderDepFinanceExamineName(list);
+					}
+				}
+			}else {
+				dep.setRetrialFinanceId(in.getRetrialFinanceId());
+				departmentMapper.updateOrderDepFinanceNotExamine(in.getRetrialFinanceId(),useDep.getRetrialFinanceId());
+				List<String> list = torderNewMapper.selectByFinanceNotExamine(in.getRetrialFinanceId());
+				if (!list.isEmpty()){
+					torderNewMapper.updateOrderDepFinanceExamineName(list);
+				}
 			}
 			updateRetrialFinance=true;
 		}
@@ -257,13 +327,8 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 			dep.setExpenseFinanceId(in.getExpenseFinanceId());
 			departmentMapper.updateExpenseFinanceNotExamine(in.getExpenseFinanceId(),useDep.getExpenseFinanceId());
 		}
-
-		//获取需要重新刷新的财务
-		List<String> aids =new ArrayList<>();
 		if (updateFinance){
-			if (aids.contains(in.getFinanceId())){
-				aids.add(in.getFinanceId());
-			}
+			aids.add(in.getFinanceId());
 			if(!aids.contains(useDep.getFinanceId())){
 				aids.add(useDep.getFinanceId());
 			}
@@ -271,7 +336,7 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 			asyncUtils.updateFinanceExamine(in.getFinanceId());
 		}
 		if(updateRetrialFinance){
-			if (aids.contains(in.getRetrialFinanceId())){
+			if (!aids.contains(in.getRetrialFinanceId())){
 				aids.add(in.getRetrialFinanceId());
 			}
 			if(!aids.contains(useDep.getRetrialFinanceId())){
@@ -295,18 +360,26 @@ public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> im
 		if (in.getCashierExamine()==1){
 			dep.setCashierExamine(in.getCashierExamine());
 		}
-		if (in.getTechAdminId()==null){
-			departmentMapper.updateNull(in);
-		}
+
         return departmentMapper.updateByPrimaryKeySelective(dep);
 	}
 
+	private void addOrderLog(String orderNo, Integer process, String remarks) {
+		TOrderLog tl=new TOrderLog();
+		tl.setAid(AFTConstants.SUPERADMIN_ID);
+		tl.setProcess(process);
+		tl.setOrderNo(orderNo);
+		tl.setRemarks(remarks);
+		tOrderLogMapper.insertSelective(tl);
+	}
+
 	/**
 	 * 如果更换了负责人刷新中间表
 	 */
 	private void checkFinaceUpdate(List<String> aids) {
-		asyncUtils.financeCoutSwitch(aids);
-
+		if (!aids.isEmpty()){
+			asyncUtils.financeCoutSwitch(aids);
+		}
 	}
 
 	@Override

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

@@ -1,8 +1,8 @@
 dev.name=local
 jdbc.driverClassName=com.mysql.jdbc.Driver
 
-#static.host=//static.jishutao.com/1.3.18
-static.host=//172.16.1.187/1.3.18
+static.host=//static.jishutao.com/1.3.18
+#static.host=//172.16.1.187/1.3.18
 
 #jdbc.url=jdbc\:mysql://localhost:3306/aft20240430?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 #jdbc.url=jdbc\:mysql://localhost:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false