From 9aba447f085676b9bf32c2daa4d5bcf413c72b73 Mon Sep 17 00:00:00 2001 From: lihao Date: Mon, 20 Oct 2025 20:39:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E9=80=81=E8=AF=B7=E8=B4=AD=E6=97=B6?= =?UTF-8?q?=E5=80=99=E9=83=A8=E5=88=86=E9=83=A8=E9=97=A8=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E5=A4=84=E7=90=86=E8=BF=9B=E5=85=A5=E6=B5=81=E7=A8=8B=E4=B8=AD?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pickm/action/PickmToBuyingreqAction.java | 46 ++++++++++++++++++- .../action/QCRptDataPushtoQmsAction.java | 6 +-- 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java index 485b3e97..ba077cd5 100644 --- a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java +++ b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java @@ -1,14 +1,18 @@ package nccloud.web.mmpac.pickm.action; + import nc.bs.dao.BaseDAO; import nc.bs.dao.DAOException; import nc.bs.framework.common.InvocationInfoProxy; +import nc.bs.framework.common.NCLocator; import nc.bs.uapbd.util.MyHelper; import nc.itf.ic.m4a.IGeneralInMaintain; import nc.itf.mmpac.pickm.IPickmQueryService; import nc.itf.pu.m20.IPraybillApprove; import nc.itf.pu.m20.IPraybillMaintain; import nc.itf.scctpub.reference.uap.pf.PfServiceScmUtil; +import nc.itf.uap.pf.IPFBusiAction; +import nc.itf.uap.pf.IWorkflowMachine; import nc.itf.uap.pf.busiflow.PfButtonClickContext; import nc.jdbc.framework.processor.ColumnProcessor; import nc.jdbc.framework.processor.MapListProcessor; @@ -29,6 +33,8 @@ import nc.vo.pub.ISuperVO; import nc.vo.pub.compiler.PfParameterVO; import nc.vo.pub.lang.UFDate; import nc.vo.pub.lang.UFDouble; +import nc.vo.pub.pf.workflow.IPFActionName; +import nc.vo.pub.workflownote.WorkflownoteVO; import nccloud.api.rest.utils.ResultMessageUtil; import nccloud.dto.mmpac.pickm.pub.entity.PickmQueryInfoDTO; import nccloud.framework.core.exception.ExceptionUtils; @@ -37,6 +43,7 @@ import nccloud.framework.service.ServiceLocator; import nccloud.framework.web.action.itf.ICommonAction; import nccloud.framework.web.container.IRequest; import nccloud.framework.web.json.JsonFactory; +import nccloud.pubitf.riart.approve.IApproveService; import java.util.*; @@ -106,7 +113,31 @@ public class PickmToBuyingreqAction implements ICommonAction { updetaPmoNum(updateList); } IPraybillApprove approve= ServiceLocator.find(IPraybillApprove.class); - Object res= PfServiceScmUtil.processBatch("APPROVE", "20", insertVos, null, null); + List approveVos=new ArrayList<>(); + Map configParams = MyHelper.getConfigParams("zdh-config", null); + for (PraybillVO prayVO : insertVos) { + String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, prayVO.getHVO().getPk_org()); + if (!checkIfOrg(orgCode, configParams)) { + IApproveService appService = NCLocator.getInstance().lookup(IApproveService.class); + boolean flag=appService.hasApproveFlow(prayVO.getHVO().getVtrantypecode(), prayVO.getHVO().getPk_praybill()); + if(flag){ + Object res1= PfServiceScmUtil.processBatch("SAVE", "20", new PraybillVO[]{prayVO}, null, null); + }else{ + approveVos.add(prayVO); + } + + }else{ + approveVos.add(prayVO); + } + } + if(approveVos.isEmpty()){ + Map returnMap = new HashMap<>(); + returnMap.put("data", insertVos); + returnMap.put("success", true); + + return returnMap; + } + Object res= PfServiceScmUtil.processBatch("APPROVE", "20", approveVos.toArray(new PraybillVO[0]), null, null); Map returnMap = new HashMap<>(); returnMap.put("data", res); @@ -122,6 +153,19 @@ public class PickmToBuyingreqAction implements ICommonAction { } } + private boolean checkIfOrg(String code, Map configParams) throws BusinessException { + String targetCode = configParams.get("org"); + if (targetCode == null || nc.vo.am.common.util.StringUtils.isEmpty(targetCode)) { + throw new BusinessException("未配置组织参数"); + } + String[] orgItem = targetCode.split(","); + for (String orgCode : orgItem) { + if (!orgCode.isEmpty() && orgCode.equals(code)) { + return false; + } + } + return true; + } private void updetaPmoNum(List> updateList) throws DAOException { BaseDAO dao = new BaseDAO(); for (Map updateMap : updateList) { diff --git a/pu/src/client/nccloud/web/pu/arrival/action/QCRptDataPushtoQmsAction.java b/pu/src/client/nccloud/web/pu/arrival/action/QCRptDataPushtoQmsAction.java index 41587652..927086a6 100644 --- a/pu/src/client/nccloud/web/pu/arrival/action/QCRptDataPushtoQmsAction.java +++ b/pu/src/client/nccloud/web/pu/arrival/action/QCRptDataPushtoQmsAction.java @@ -84,8 +84,8 @@ public class QCRptDataPushtoQmsAction implements ICommonAction { if (bvos != null && bvos.length > 0) { for (ArriveItemVO itemVO : bvos) { // 获取vbdef23字段值,处理null情况 - String vbdef23 = (String) itemVO.getAttributeValue("vbdef23"); - if (vbdef23 != null && "Y".equalsIgnoreCase(vbdef23)) { + String vbdef32 = (String) itemVO.getAttributeValue("vbdef32"); + if (vbdef32 != null && "Y".equalsIgnoreCase(vbdef32)) { needSkip = true; break; // 只要有一个明细符合,直接跳出明细循环 } @@ -181,7 +181,7 @@ public class QCRptDataPushtoQmsAction implements ICommonAction { private void updateArrveOrder(String pkArriveorder) throws DAOException { BaseDAO dao = new BaseDAO(); - String sql = "update po_arriveorder_b set vbdef23='Y' where pk_arriveorder='" + String sql = "update po_arriveorder_b set vbdef32='Y' where pk_arriveorder='" + pkArriveorder + "'"; dao.executeUpdate(sql); }