提交人:陈绍鑫

日期:2025/01/04 10:30
内容:推送公享前端按钮
This commit is contained in:
陈绍鑫 2026-01-04 12:59:50 +08:00
parent 1191470f6e
commit 22d2759d1f
2 changed files with 56 additions and 6 deletions

View File

@ -27,6 +27,7 @@ import org.apache.http.util.EntityUtils;
import shkd.sys.sys.mservice.ApiService;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URI;
import java.nio.file.Path;
import java.nio.file.Paths;
@ -46,6 +47,8 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
private static final Log logger = LogFactory.getLog(tsgxApiMappingBillPlugin.class);
// 日期格式化器
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
String sourcebillnumber = "";
@Override
public void registerListener(EventObject e) {
Toolbar tbmain = this.getView().getControl("tbmain");
@ -76,7 +79,10 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
dzhdqFilter=dzhdqFilter.and(zdyqFilter);
}
logger.info("dzhdqFilter:"+dzhdqFilter);
DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load("bei_elecreceipt", "id", dzhdqFilter.toArray());
DynamicObject shkd_sourcebill = shkd_apimapping.getDynamicObject("shkd_sourcebill");
sourcebillnumber = shkd_sourcebill.getString("number");
DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load(sourcebillnumber, "id", dzhdqFilter.toArray());
logger.info("符合推送条件数据有:{}条", bei_elecreceiptids.length);
String shkd_url = shkd_apimapping.getString("shkd_url");
@ -88,7 +94,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
DynamicObjectCollection shkd_mapping = shkd_apimapping.getDynamicObjectCollection("shkd_mapping");
for (DynamicObject bei_elecreceiptid : bei_elecreceiptids) {
DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt");
DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), sourcebillnumber);
String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json
logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody);
Map<String, Object> resultMap = new HashMap<>();
@ -314,13 +320,16 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
}else {
IFormView viewByDynamicObj = ApiService.createViewByDynamicObj(bei_elecreceipt);
List<String> errMsgList = new ArrayList<>();
DynamicObjectCollection receipts = QueryServiceHelper.query("bei_elecreceipt", "id,bank," +
DynamicObjectCollection receipts = QueryServiceHelper.query(sourcebillnumber, "id,bank," +
"fileflag,filepath,biztype,bankcheckflag,fileserverurl,tcpurl,uploadfilename,username,password," +
"bank.bank_cate bankcate", new QFilter[]{new QFilter("id", QCP.equals, bei_elecreceipt.getPkValue())});
value = ApiService.getPdfUrl(viewByDynamicObj.getPageId(), receipts, errMsgList);
logger.info("单据编号:"+bei_elecreceipt.getString("billno")+"对应url"+value);
}
break;
case "特殊处理":
value=tscl(bei_elecreceipt,shkd_jsontartype,shkd_djzdms,shkd_mrz);
break;
case "默认值":
value=shkd_mrz;
break;
@ -332,6 +341,24 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
return value;
}
private String tscl(DynamicObject bei_elecreceipt, String shkd_jsontartype, String shkd_djzdms, String shkd_mrz) {
String value = null;
switch (shkd_djzdms){
case "incomeOrExpenditure":
BigDecimal debitamount = bei_elecreceipt.getBigDecimal("debitamount");//付款金额
if (debitamount.compareTo(BigDecimal.ZERO)>0){
value="1";
}else {
value="2";
}
break;
default:
break;
}
return value;
}
/*
* 根据字段类型或默认值获取字段
* */

View File

@ -27,6 +27,7 @@ import shkd.sys.sys.mservice.ApiService;
import shkd.sys.sys.utils.EmptyUtil;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URI;
import java.nio.file.Path;
import java.nio.file.Paths;
@ -46,6 +47,7 @@ public class SharePushTaskPlugin extends AbstractTask {
private static final Log logger = LogFactory.getLog(SharePushTaskPlugin.class);
// 日期格式化器
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
String sourcebillnumber = "";
@Override
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
//获取司库电子回单推送共享系统的对应映射
@ -72,7 +74,10 @@ public class SharePushTaskPlugin extends AbstractTask {
dzhdqFilter=dzhdqFilter.and(zdyqFilter);
}
logger.info("dzhdqFilter:"+dzhdqFilter);
DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load("bei_elecreceipt", "id", dzhdqFilter.toArray());
DynamicObject shkd_sourcebill = shkd_apimapping.getDynamicObject("shkd_sourcebill");
sourcebillnumber = shkd_sourcebill.getString("number");
DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load(sourcebillnumber, "id", dzhdqFilter.toArray());
logger.info("符合推送条件数据有:{}条", bei_elecreceiptids.length);
String shkd_url = shkd_apimapping.getString("shkd_url");
@ -84,7 +89,7 @@ public class SharePushTaskPlugin extends AbstractTask {
DynamicObjectCollection shkd_mapping = shkd_apimapping.getDynamicObjectCollection("shkd_mapping");
for (DynamicObject bei_elecreceiptid : bei_elecreceiptids) {
DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt");
DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), sourcebillnumber);
String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json
logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody);
Map<String, Object> resultMap = new HashMap<>();
@ -309,13 +314,15 @@ public class SharePushTaskPlugin extends AbstractTask {
}else {
IFormView viewByDynamicObj = ApiService.createViewByDynamicObj(bei_elecreceipt);
List<String> errMsgList = new ArrayList<>();
DynamicObjectCollection receipts = QueryServiceHelper.query("bei_elecreceipt", "id,bank," +
DynamicObjectCollection receipts = QueryServiceHelper.query(sourcebillnumber, "id,bank," +
"fileflag,filepath,biztype,bankcheckflag,fileserverurl,tcpurl,uploadfilename,username,password," +
"bank.bank_cate bankcate", new QFilter[]{new QFilter("id", QCP.equals, bei_elecreceipt.getPkValue())});
value = ApiService.getPdfUrl(viewByDynamicObj.getPageId(), receipts, errMsgList);
logger.info("单据编号:"+bei_elecreceipt.getString("billno")+"对应url"+value);
}
break;
case "特殊处理":
value=tscl(bei_elecreceipt,shkd_jsontartype,shkd_djzdms,shkd_mrz);
case "默认值":
value=shkd_mrz;
break;
@ -327,6 +334,22 @@ public class SharePushTaskPlugin extends AbstractTask {
return value;
}
private String tscl(DynamicObject bei_elecreceipt, String shkd_jsontartype, String shkd_djzdms, String shkd_mrz) {
String value = null;
switch (shkd_djzdms){
case "incomeOrExpenditure":
BigDecimal debitamount = bei_elecreceipt.getBigDecimal("debitamount");//付款金额
if (debitamount.compareTo(BigDecimal.ZERO)>0){
value="1";
}else {
value="2";
}
break;
default:
break;
}
return value;
}
/*
* 根据字段类型或默认值获取字段
* */