Explorar o código

【反馈编号:2024090142】【功能完善】【设计变更评审单 支持流程中审批】

DINGYL hai 1 semana
pai
achega
6794bc31c3
Modificáronse 1 ficheiros con 31 adicións e 4 borrados
  1. 31 4
      src/com/uas/erp/service/pm/impl/PmAfterEventListener.java

+ 31 - 4
src/com/uas/erp/service/pm/impl/PmAfterEventListener.java

@@ -2,6 +2,9 @@ package com.uas.erp.service.pm.impl;
 
 import java.util.Date;
 
+import com.uas.erp.core.BaseUtil;
+import com.uas.erp.service.pm.CheckECRService;
+import com.uas.erp.service.scm.SaleService;
 import org.jbpm.api.listener.EventListener;
 import org.jbpm.api.listener.EventListenerExecution;
 
@@ -34,13 +37,37 @@ public class PmAfterEventListener implements EventListener {
 			String caller = (String) execution.getVariable("caller");
 			int keyValue = Integer.parseInt(execution.getVariable("id").toString());
 			JNode jnode = processDao.getJNodeBy(processInstanceId, nodeName);
-			if (caller.equals("Make!Base")||caller.equals("Make")) {
-				/** updateMake **/
-				updateMakeBase(caller, keyValue, jnode);
+			String master = BaseUtil.getXmlSetting("defaultSob");
+			Object outcome[]=baseDao.getFieldsDataByCondition("(select outcome_,ROWNUM from (select outcome_ from "+master+".jbpm4_hist_task   " +
+					"where execution_='"+processInstanceId+"' order by dbid_  desc))", new String[]{"outcome_"}, "ROWNUM = 1");
+			if(!outcome[0].equals("不同意")) {
+				if (caller.equals("Make!Base")||caller.equals("Make")) {
+					/** updateMake **/
+					updateMakeBase(caller, keyValue, jnode);
+				}else if (caller.equals("ECR!Check")) {
+					auditECRCheck(keyValue, caller);
+				}
 			}
+
 		}
 	}
-
+	/**
+	 * 销售订单审核
+	 * */
+	private void auditECRCheck(final int keyValue,final String caller ) {
+		final String master = SpObserver.getSp();
+		new Thread() {
+			@Override
+			public void run() {
+				try {
+					SpObserver.putSp(master);
+					CheckECRService checkECRService = (CheckECRService) ContextUtil.getBean("checkECRService");
+					checkECRService.auditCheck(keyValue,caller);
+				}catch(Exception e){
+					baseDao.logger.others("审批自动审核","审批失败",caller,"sa_id",keyValue);
+				}
+			}}.start();
+	}
 	/**
 	 * 制造单维护 审核之后要更新批准人,批准时间,批准状态
 	 * */