diff --git a/lc123/cloud/app/plugin/operate/sys/BGScsOpPlugin.java b/lc123/cloud/app/plugin/operate/sys/BGScsOpPlugin.java new file mode 100644 index 0000000..b20b030 --- /dev/null +++ b/lc123/cloud/app/plugin/operate/sys/BGScsOpPlugin.java @@ -0,0 +1,77 @@ +package tqq9.lc123.cloud.app.plugin.operate.sys; + + +import com.alibaba.fastjson.JSON; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.args.AfterOperationArgs; +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.servicehelper.AttachmentServiceHelper; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import tqq9.lc123.cloud.app.plugin.utils.HttpRequestUtils; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +//北广生产商同步 +public class BGScsOpPlugin extends AbstractOperationServicePlugIn { + private final static Log logger = LogFactory.getLog(BGScsOpPlugin.class); + + @Override + public void afterExecuteOperationTransaction(AfterOperationArgs e) { + super.afterExecuteOperationTransaction(e); + DynamicObject[] dataEntities1 = e.getDataEntities(); + if (null != dataEntities1 && dataEntities1.length > 0) { + for (DynamicObject dataEntity : dataEntities1) { + DynamicObject BJURL = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name", + new QFilter[]{new QFilter("number", QCP.equals, "BJ_POSTURL")}); + String BJ_URL = BJURL.getString("name"); + DynamicObject GZURL = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name", + new QFilter[]{new QFilter("number", QCP.equals, "GZ_POSTURL")}); + String GZ_URL = GZURL.getString("name"); + + HashMap body = new HashMap<>(); + List fj = new ArrayList<>(); + + //获取单据信息,并查询单据中的附件字段 + dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getLong("id"), "tqq9_proxyandfactory"); + String number = dataEntity.getString("number"); + //获取单据中附件面板信息 + List> atts = AttachmentServiceHelper.getAttachments("tqq9_proxyandfactory", dataEntity.getPkValue(), "tqq9_attachmentpanelap"); + for (Map att : atts) { + String url = (String) att.get("url"); + fj.add(url); + } + String[] collectArray = fj.toArray(new String[0]); + String fname = dataEntity.getString("name"); + body.put("MFCode", number); + body.put("MFName", fname); + body.put("lstImageUrls", collectArray); + String jsonBody = JSON.toJSONString(body); + HashMap headMap = new HashMap<>(); + logger.info("北广生产商同步body:" + jsonBody); + try { + String s1 = HttpRequestUtils.postJson(BJ_URL + "/api/BA/Manufacturer", jsonBody, headMap); + logger.info("北京生产商同步结果:" + s1); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + + //广州 + try { + String s2 = HttpRequestUtils.postJson(GZ_URL + "/api/BA/Manufacturer", jsonBody, headMap); + logger.info("广州生产商同步结果:" + s2); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + } + } + } + + +} diff --git a/lc123/cloud/app/plugin/operate/sys/BGZczOpPlugin.java b/lc123/cloud/app/plugin/operate/sys/BGZczOpPlugin.java new file mode 100644 index 0000000..7a95e13 --- /dev/null +++ b/lc123/cloud/app/plugin/operate/sys/BGZczOpPlugin.java @@ -0,0 +1,141 @@ +package tqq9.lc123.cloud.app.plugin.operate.sys; + +import com.alibaba.fastjson.JSON; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.PreparePropertysEventArgs; +import kd.bos.entity.plugin.args.AfterOperationArgs; +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.servicehelper.AttachmentServiceHelper; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.util.StringUtils; +import tqq9.lc123.cloud.app.plugin.utils.HttpRequestUtils; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 注册证推北广 + */ +public class BGZczOpPlugin extends AbstractOperationServicePlugIn { + DynamicObject BJURL = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name", + new QFilter[]{new QFilter("number", QCP.equals, "BJ_POSTURL")}); + String BJ_URL = BJURL.getString("name"); + DynamicObject GZURL = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name", + new QFilter[]{new QFilter("number", QCP.equals, "GZ_POSTURL")}); + String GZ_URL = GZURL.getString("name"); + DynamicObject WMSURL = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name", + new QFilter[]{new QFilter("number", QCP.equals, "Ttx_MainURL")}); + String WMS_URL = WMSURL.getString("name"); + + private final static Log logger = LogFactory.getLog(BGZczOpPlugin.class); + @Override + public void onPreparePropertys(PreparePropertysEventArgs e) { + super.onPreparePropertys(e); + } + + @Override + public void afterExecuteOperationTransaction(AfterOperationArgs e) { + super.afterExecuteOperationTransaction(e); + DynamicObject[] dataEntities1 = e.getDataEntities(); + if (null != dataEntities1 && dataEntities1.length > 0) { + for (DynamicObject dataEntity : dataEntities1) { + HashMap bj_map = new HashMap<>(); + HashMap gz_map = new HashMap<>(); + List bj = new ArrayList<>(); + List gz = new ArrayList<>(); + + String number = dataEntity.getString("number"); + dataEntity=BusinessDataServiceHelper.loadSingle(dataEntity.getLong("id"),"tqq9_registration"); + + DynamicObjectCollection tqq9_entry = dataEntity.getDynamicObjectCollection("tqq9_entry"); + //分录 + ArrayList> bglist = new ArrayList<>(); + for (DynamicObject entry : tqq9_entry) { + DynamicObject tqq9_e_supplier = entry.getDynamicObject("tqq9_e_supplier"); + if (tqq9_e_supplier != null) { + //北广map + HashMap scsmap = new HashMap<>(); + + String number2 = tqq9_e_supplier.getString("number"); + DynamicObject file2 = BusinessDataServiceHelper.loadSingle("tqq9_proxyandfactory", "id,number,name,tqq9_prolicense,tqq9_type", + new QFilter[]{new QFilter("number", QFilter.equals, number2)}); + String MFCode = file2.getString("number"); + String ProLicenceCode = file2.getString("tqq9_prolicense"); + scsmap.put("MFCode", MFCode); + scsmap.put("ProLicenceCode", ProLicenceCode); + String tqq9_type = file2.getString("tqq9_type");//厂商类型 + if (StringUtils.isNotEmpty(tqq9_type) && tqq9_type.contains("B")) { + scsmap.put("isAgent", "1");//代理商 + } else { + scsmap.put("isAgent", "0"); + } + bglist.add(scsmap); + } + } + //123564 + //北京 + //获取单据中附件面板信息 + List> bj_atts = AttachmentServiceHelper.getAttachments("tqq9_registration", dataEntity.getPkValue(), "tqq9_attachmentpanelbj"); + for (Map att : bj_atts) { + String url = (String) att.get("url"); + bj.add(url); + } + String[] bjcollect = bj.toArray(new String[0]); + //广州 + //获取单据中附件面板信息 + List> gz_atts = AttachmentServiceHelper.getAttachments("tqq9_registration", dataEntity.getPkValue(), "tqq9_attachmentpanelgz1"); + for (Map att : gz_atts) { + String url = (String) att.get("url"); + gz.add(url); + } + String[] gzcollect = gz.toArray(new String[0]); + //post请求body + String dEndDate = dataEntity.getString("tqq9_enddate");//有效期至 + String cRemark = dataEntity.getString("tqq9_remark");//备注 + String IsImportation = dataEntity.getString("tqq9_type").equals("A") ? "1" : "0";//是否进口 + bj_map.put("cRegNo", number); + bj_map.put("dEndDate", dEndDate); + bj_map.put("cRemark", cRemark); + bj_map.put("lstImageUrls", bjcollect); + bj_map.put("IsImportation", IsImportation); + bj_map.put("lstManufacturer", bglist);//成产商 + String bjjsonBody = JSON.toJSONString(bj_map); + logger.info("北京注册证body:" + bjjsonBody); + + gz_map.put("cRegNo", number); + gz_map.put("dEndDate", dEndDate); + gz_map.put("cRemark", cRemark); + gz_map.put("lstImageUrls", gzcollect); + gz_map.put("IsImportation", IsImportation); + gz_map.put("lstManufacturer", bglist); + String gzjsonBody = JSON.toJSONString(gz_map); + logger.info("广州注册证body:" + gzjsonBody); + //北京 + try { + String s1 = HttpRequestUtils.postJson(BJ_URL + "/api/BA/Registration", bjjsonBody, null); + logger.info("北京注册证同步结果:" + s1); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + //广州 + try { + String s2 = HttpRequestUtils.postJson(GZ_URL + "/api/BA/Registration", gzjsonBody, null); + logger.info("广州注册证同步结果:" + s2); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + } + } + + } + + +} \ No newline at end of file