期初生产订单、半成品生产订单不推QMS,其余生产订单类型推QMS

This commit is contained in:
lihao 2025-10-22 09:40:09 +08:00
parent ac8c321931
commit e5c5cdc764
2 changed files with 32 additions and 6 deletions

View File

@ -41,7 +41,7 @@ public class PmoToQmsAction implements ICommonAction {
private static final String LOG_INFO_NAME = "qyMesLog"; private static final String LOG_INFO_NAME = "qyMesLog";
private static final Log logger = Log.getInstance(LOG_INFO_NAME); private static final Log logger = Log.getInstance(LOG_INFO_NAME);
private static final String reqUrl = "/IF_QyErpApi.ashx?action=addsjd"; private static final String reqUrl = "/IF_QyErpApi.ashx?action=addscjh";
private Map<String, String> configParams; private Map<String, String> configParams;
public BaseDAO dao; public BaseDAO dao;
@ -87,9 +87,10 @@ public class PmoToQmsAction implements ICommonAction {
if (checkIfOrg(orgCode, configParams)) { if (checkIfOrg(orgCode, configParams)) {
continue; continue;
} }
// 期初生产订单半成品生产订单不推QMS其余生产订单类型推QMS
String billType = vo.getParentVO().getVtrantypecode(); String billType = vo.getParentVO().getVtrantypecode();
if (checkBillType(billType, configParams)) { if (checkBillType(billType, configParams)) {
continue; throw new BusinessException("订单类型不符合条件");
} }
if (vo.getChildrenVO().length >= 0) { if (vo.getChildrenVO().length >= 0) {
if (null != vo.getChildrenVO()[0].getAttributeValue("vdef32") && vo.getChildrenVO()[0].getAttributeValue("vdef32").equals("Y")) { if (null != vo.getChildrenVO()[0].getAttributeValue("vdef32") && vo.getChildrenVO()[0].getAttributeValue("vdef32").equals("Y")) {
@ -216,16 +217,16 @@ public class PmoToQmsAction implements ICommonAction {
return true; return true;
} }
private boolean checkBillType(String code, Map<String, String> configParams) throws BusinessException { private boolean checkBillType(String code, Map<String, String> configParams) throws BusinessException {
String targetCode = configParams.get("xbBillType"); String targetCode = configParams.get("pmoBillType");
if (targetCode == null || nc.vo.am.common.util.StringUtils.isEmpty(targetCode)) { if (targetCode == null || nc.vo.am.common.util.StringUtils.isEmpty(targetCode)) {
throw new BusinessException("δÅäÖõ¥¾ÝÀàÐͲÎÊý"); throw new BusinessException("δÅäÖõ¥¾ÝÀàÐͲÎÊý");
} }
String[] types = targetCode.split(","); String[] types = targetCode.split(",");
for (String type : types) { for (String type : types) {
if (!type.isEmpty() && type.equals(code)) { if (!type.isEmpty() && type.equals(code)) {
return false; return true;
} }
} }
return true; return false;
} }
} }

View File

@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.SerializerFeature;
import nc.bs.dao.BaseDAO; import nc.bs.dao.BaseDAO;
import nc.bs.dao.DAOException;
import nc.bs.logging.Log; import nc.bs.logging.Log;
import nc.bs.uapbd.util.MyHelper; import nc.bs.uapbd.util.MyHelper;
import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; import nc.bs.uapbd.util.ThirdPartyPostRequestUtil;
@ -62,6 +63,11 @@ public class AfterApproveSyncQMSRule implements IRule<PMOAggVO> {
if (checkIfOrg(orgCode, configParams)) { if (checkIfOrg(orgCode, configParams)) {
continue; continue;
} }
// 期初生产订单半成品生产订单不推QMS其余生产订单类型推QMS
String billType = vo.getParentVO().getVtrantypecode();
if (checkBillType(billType, configParams)) {
continue;
}
// ×é×°Êý¾Ý // ×é×°Êý¾Ý
JSONObject singleObj = new JSONObject(); JSONObject singleObj = new JSONObject();
PMOHeadVO pmoHeadVO = vo.getParentVO(); PMOHeadVO pmoHeadVO = vo.getParentVO();
@ -109,8 +115,15 @@ public class AfterApproveSyncQMSRule implements IRule<PMOAggVO> {
} }
singleObj.put("Content", contentArray); singleObj.put("Content", contentArray);
pushData(singleObj); pushData(singleObj);
updatePmo(vo.getParentVO().getCpmohid());
} }
} }
private void updatePmo(String cpmohid) throws DAOException {
BaseDAO dao = new BaseDAO();
String sql = "update mm_mo set vdef32='Y' where cpmohid='"
+ cpmohid + "'";
dao.executeUpdate(sql);
}
/** /**
* ÍÆËÍͬ²½Êý¾Ý * ÍÆËÍͬ²½Êý¾Ý
@ -151,5 +164,17 @@ public class AfterApproveSyncQMSRule implements IRule<PMOAggVO> {
return true; return true;
} }
private boolean checkBillType(String code, Map<String, String> configParams) throws BusinessException {
String targetCode = configParams.get("pmoBillType");
if (targetCode == null || nc.vo.am.common.util.StringUtils.isEmpty(targetCode)) {
throw new BusinessException("未配置单据类型参数");
}
String[] types = targetCode.split(",");
for (String type : types) {
if (!type.isEmpty() && type.equals(code)) {
return true;
}
}
return false;
}
} }