北广生产商、注册证同步

This commit is contained in:
sez 2025-10-29 16:01:20 +08:00
parent 9043bf6ce1
commit bae67f370a
2 changed files with 218 additions and 0 deletions

View File

@ -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<String, Object> body = new HashMap<>();
List<String> fj = new ArrayList<>();
//获取单据信息并查询单据中的附件字段
dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getLong("id"), "tqq9_proxyandfactory");
String number = dataEntity.getString("number");
//获取单据中附件面板信息
List<Map<String, Object>> atts = AttachmentServiceHelper.getAttachments("tqq9_proxyandfactory", dataEntity.getPkValue(), "tqq9_attachmentpanelap");
for (Map<String, Object> 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<String, String> 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);
}
}
}
}
}

View File

@ -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<String, Object> bj_map = new HashMap<>();
HashMap<String, Object> gz_map = new HashMap<>();
List<String> bj = new ArrayList<>();
List<String> gz = new ArrayList<>();
String number = dataEntity.getString("number");
dataEntity=BusinessDataServiceHelper.loadSingle(dataEntity.getLong("id"),"tqq9_registration");
DynamicObjectCollection tqq9_entry = dataEntity.getDynamicObjectCollection("tqq9_entry");
//分录
ArrayList<HashMap<String, String>> bglist = new ArrayList<>();
for (DynamicObject entry : tqq9_entry) {
DynamicObject tqq9_e_supplier = entry.getDynamicObject("tqq9_e_supplier");
if (tqq9_e_supplier != null) {
//北广map
HashMap<String, String> 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<Map<String, Object>> bj_atts = AttachmentServiceHelper.getAttachments("tqq9_registration", dataEntity.getPkValue(), "tqq9_attachmentpanelbj");
for (Map<String, Object> att : bj_atts) {
String url = (String) att.get("url");
bj.add(url);
}
String[] bjcollect = bj.toArray(new String[0]);
//广州
//获取单据中附件面板信息
List<Map<String, Object>> gz_atts = AttachmentServiceHelper.getAttachments("tqq9_registration", dataEntity.getPkValue(), "tqq9_attachmentpanelgz1");
for (Map<String, Object> 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);
}
}
}
}
}