From 82d0eace711647315e25823057938bceb356b23f Mon Sep 17 00:00:00 2001 From: pan-houxiang <2663608154@qq.com> Date: Mon, 1 Dec 2025 09:41:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=B5=81=E7=A8=8B=E5=AE=9A=E6=97=B6=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E5=88=B0=E4=B8=9A=E5=8A=A1=E4=B8=AD=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/app/plugin/task/VendorSyncTask.java | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 lc123/cloud/app/plugin/task/VendorSyncTask.java diff --git a/lc123/cloud/app/plugin/task/VendorSyncTask.java b/lc123/cloud/app/plugin/task/VendorSyncTask.java new file mode 100644 index 0000000..eea9f31 --- /dev/null +++ b/lc123/cloud/app/plugin/task/VendorSyncTask.java @@ -0,0 +1,75 @@ +package tqq9.lc123.cloud.app.plugin.task; + +import kd.bos.context.RequestContext; +import kd.bos.dataentity.OperateOption; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.basedata.AssignQueryResponse; +import kd.bos.entity.operate.result.OperationResult; +import kd.bos.exception.KDException; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.schedule.executor.AbstractTask; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.DispatchServiceHelper; +import kd.bos.servicehelper.basedata.BaseDataServiceHelper; +import kd.bos.servicehelper.operation.OperationServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.sdk.plugin.Plugin; + +import javax.json.JsonObject; +import javax.json.JsonValue; +import java.util.*; + +public class VendorSyncTask extends AbstractTask implements Plugin { + private final static Log logger = LogFactory.getLog(VendorSyncTask.class); + + @Override + public void execute(RequestContext requestContext, Map map) throws KDException { + + QFilter qFilter1 = new QFilter("tqq9_pushywzt", QCP.equals, false); + QFilter qFilter2 = new QFilter("status", QCP.equals, "C"); + DynamicObject[] supplierArr = BusinessDataServiceHelper.load("bd_supplier", "number", new QFilter[]{qFilter1,qFilter2}); + if (supplierArr != null || supplierArr.length > 0) { + for (DynamicObject supplier : supplierArr) { + List paras = new ArrayList<>(); + supplier = BusinessDataServiceHelper.loadSingle(supplier.getPkValue(), supplier.getDynamicObjectType().getName()); + List idList = new ArrayList<>(); + idList.add(supplier.getLong("id")); + AssignQueryResponse response = BaseDataServiceHelper.assignQueryByData(idList, "bd_supplier", supplier.getDynamicObject("createorg").getLong("id"), "isvb"); + Map> responseMap = response.getData(); + if (responseMap != null && responseMap.size() > 0) { + DynamicObjectCollection bankEntries = supplier.getDynamicObjectCollection("entry_bank"); + for (DynamicObject bankEntry : bankEntries) { + DynamicObject bank = bankEntry.getDynamicObject("bank"); + if (bank != null) { + bank = BusinessDataServiceHelper.loadSingle(bank.getPkValue(), bank.getDynamicObjectType().getName()); + bankEntry.set("bank", bank); + } + } + paras.add( supplier); + Object o = DispatchServiceHelper.invokeBizService("isc", "iscb", "IscFlowService", + "execute", "midplatHub_mpsup_rg",paras); + //1.解析响应 2.获取结果 out put == 0 成功 3. 放到for循环里面每条判断 4. 复选框 直接用save存数据库 + HashMap o1 = (HashMap) o; + LinkedHashMap output= (LinkedHashMap) o1.get("output"); + if (output.size() == 0) { + logger.info( supplier.getString("number")+"推送业务中台成功"); + supplier.set("tqq9_pushywzt", true); + SaveServiceHelper.save(new DynamicObject[]{supplier}); + } + else { + logger.info(supplier.getString("number")+"推送业务中台失败"); + } + } else { + logger.info("供应商" + supplier.getString("number") + "未进行分配"); + } + } + } + else { + logger.info("无供应商信息"); + } + } +}