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("无供应商信息"); + } + } +}