收款单、预提记账单、定期预提、上划、下拨核算维度传值sap优化
This commit is contained in:
parent
22e9e10298
commit
595d59dd59
|
|
@ -28,6 +28,7 @@ import shjh.jhzj7.fi.fi.utils.domin.ResponseData;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定期预提记账处理 shjh_cim_depositprein_ext-单据推送sap操作插件
|
* 定期预提记账处理 shjh_cim_depositprein_ext-单据推送sap操作插件
|
||||||
|
|
@ -75,13 +76,15 @@ public class DepositpreintSapOperation extends AbstractOperationServicePlugIn im
|
||||||
DynamicObject prinfo;//定期预提记账处理单
|
DynamicObject prinfo;//定期预提记账处理单
|
||||||
JSONObject sapReturnData;
|
JSONObject sapReturnData;
|
||||||
ResponseData respdata;
|
ResponseData respdata;
|
||||||
|
//组装核算维度与sap凭证item字段对应关系map
|
||||||
|
Map<String, String> sapMap = SapUtils.getAsstacttypeMap();
|
||||||
for (int i = 0; i < dos.length; i++) {
|
for (int i = 0; i < dos.length; i++) {
|
||||||
prinfo = BusinessDataServiceHelper.loadSingle(dos[i].getPkValue(), dos[i].getDataEntityType().getName());
|
prinfo = BusinessDataServiceHelper.loadSingle(dos[i].getPkValue(), dos[i].getDataEntityType().getName());
|
||||||
if(prinfo.getBoolean("shjh_needvoucher") && !prinfo.getBoolean("shjh_sendsap")){
|
if(prinfo.getBoolean("shjh_needvoucher") && !prinfo.getBoolean("shjh_sendsap")){
|
||||||
//如果预提记账处理单需要生成凭证且未推送sap的才推送sap
|
//如果预提记账处理单需要生成凭证且未推送sap的才推送sap
|
||||||
//判断原蓝单和红单,调用sap不同接口 操作类别 冲销预提收益-红单 预提收益-蓝单
|
//判断原蓝单和红单,调用sap不同接口 操作类别 冲销预提收益-红单 预提收益-蓝单
|
||||||
if("preint".equals(prinfo.getString("operatetype"))){
|
if("preint".equals(prinfo.getString("operatetype"))){
|
||||||
sapReturnData = sendBlueVoucher(prinfo);//蓝单
|
sapReturnData = sendBlueVoucher(prinfo,sapMap);//蓝单
|
||||||
if(sapReturnData != null && "0".equals(sapReturnData.getString("code"))){
|
if(sapReturnData != null && "0".equals(sapReturnData.getString("code"))){
|
||||||
//解析sap凭证接口返回值
|
//解析sap凭证接口返回值
|
||||||
respdata = ApiUtils.getResponseData(sapReturnData);
|
respdata = ApiUtils.getResponseData(sapReturnData);
|
||||||
|
|
@ -169,7 +172,7 @@ public class DepositpreintSapOperation extends AbstractOperationServicePlugIn im
|
||||||
return sapReturnData;
|
return sapReturnData;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JSONObject sendBlueVoucher(DynamicObject prinfo){
|
private JSONObject sendBlueVoucher(DynamicObject prinfo, Map<String, String> sapMap){
|
||||||
//SAP定期预提收益凭证接口入参组装和调用
|
//SAP定期预提收益凭证接口入参组装和调用
|
||||||
JSONObject IS_HEADER = new JSONObject();//抬头
|
JSONObject IS_HEADER = new JSONObject();//抬头
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式化工具
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式化工具
|
||||||
|
|
@ -252,11 +255,39 @@ public class DepositpreintSapOperation extends AbstractOperationServicePlugIn im
|
||||||
hsxminfo = QueryServiceHelper.queryOne(ccName, "id,name,number",
|
hsxminfo = QueryServiceHelper.queryOne(ccName, "id,name,number",
|
||||||
new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值
|
new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值
|
||||||
item.put("KOSTL",hsxminfo.getString("number"));//成本中心_成本中心
|
item.put("KOSTL",hsxminfo.getString("number"));//成本中心_成本中心
|
||||||
|
}else if("f000054".equals(asstype) || "f000014".equals(asstype)){
|
||||||
|
//原因码 f000014
|
||||||
|
//付款原因代码 f000054
|
||||||
|
hsxminfo = QueryServiceHelper.queryOne("gl_cashflowitem", "id,name,number",
|
||||||
|
new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值
|
||||||
|
item.put("RSTGR",hsxminfo.getString("number"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gl_assist_bd = QueryServiceHelper.query("gl_assist_txt", "asstype,assval",
|
||||||
|
new QFilter[]{new QFilter("hg.id", QCP.equals, assgrpinfo.getPkValue())});//核算项目组合纵表-文本
|
||||||
|
for (int j = 0; j < gl_assist_bd.size(); j++) {
|
||||||
|
glassistbd = gl_assist_bd.get(j);
|
||||||
|
asstype = glassistbd.getString("asstype");//核算项目类型-对应核算维度的字段名
|
||||||
|
if("f000054".equals(asstype)){
|
||||||
|
//原因码 f000054
|
||||||
|
item.put("RSTGR",glassistbd.getString("assval"));
|
||||||
|
}else if("f000056".equals(asstype)){
|
||||||
|
//分配编号 f000056
|
||||||
|
item.put("ZUONR",glassistbd.getString("assval"));
|
||||||
|
}else if("f000023".equals(asstype)){
|
||||||
|
//税码 f000023
|
||||||
|
item.put("MWSKZ",glassistbd.getString("assval"));
|
||||||
|
}else if("f000031".equals(asstype)){
|
||||||
|
//税基 f000031
|
||||||
|
item.put("FWBAS",glassistbd.getString("assval"));
|
||||||
|
}else if("f000060".equals(asstype)){
|
||||||
|
//行项目的参考码
|
||||||
|
item.put("XREF3",glassistbd.getString("assval"));
|
||||||
|
}else if(sapMap.containsKey(asstype)){
|
||||||
|
item.put(sapMap.get(asstype),glassistbd.getString("assval"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// item.put("RSTGR", "014");//原因代码_原因码
|
|
||||||
// item.put("SGTXT", SGTXT);//行项目文本_SAP会计科目行项目号
|
|
||||||
IT_ITEM.add(item);
|
IT_ITEM.add(item);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,9 @@ import shjh.jhzj7.fi.fi.utils.domin.ResponseData;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static shjh.jhzj7.fi.fi.utils.SapUtils.getAsstacttypeMap;
|
||||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.sap_accounVoucher;
|
import static shjh.jhzj7.fi.fi.utils.SapUtils.sap_accounVoucher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -152,6 +154,8 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
|
||||||
if (StringUtils.equals(KEY_PUSH_VOUCHER, operationKey)) {
|
if (StringUtils.equals(KEY_PUSH_VOUCHER, operationKey)) {
|
||||||
DynamicObject[] dataEntities = e.getDataEntities();
|
DynamicObject[] dataEntities = e.getDataEntities();
|
||||||
if (dataEntities != null && dataEntities.length >= 1) {
|
if (dataEntities != null && dataEntities.length >= 1) {
|
||||||
|
//组装核算维度与sap凭证item字段对应关系map
|
||||||
|
Map<String, String> sapMap = getAsstacttypeMap();
|
||||||
for (DynamicObject dataEntity : dataEntities) {
|
for (DynamicObject dataEntity : dataEntities) {
|
||||||
DynamicObject recBill = BusinessDataServiceHelper.loadSingle(dataEntity.getLong("id"), "cas_recbill");
|
DynamicObject recBill = BusinessDataServiceHelper.loadSingle(dataEntity.getLong("id"), "cas_recbill");
|
||||||
if (null != recBill) {
|
if (null != recBill) {
|
||||||
|
|
@ -160,14 +164,15 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
|
||||||
JSONObject json_HEADER = getIS_HEADER(recBill);
|
JSONObject json_HEADER = getIS_HEADER(recBill);
|
||||||
data.put("IS_HEADER", json_HEADER);
|
data.put("IS_HEADER", json_HEADER);
|
||||||
//详细,参考《IT_ITEM》
|
//详细,参考《IT_ITEM》
|
||||||
JSONArray itItem = getIT_ITEM(recBill,json_HEADER);
|
JSONArray itItem = getIT_ITEM(recBill,json_HEADER,sapMap);
|
||||||
if (itItem == null){
|
if (itItem == null){
|
||||||
this.getOperationResult().setSuccess(false);//成功true;失败false
|
this.getOperationResult().setSuccess(false);//成功true;失败false
|
||||||
this.getOperationResult().setMessage("金蝶凭证不存在或未审核"); // 提示内容
|
this.getOperationResult().setMessage("金蝶凭证不存在或未审核"); // 提示内容
|
||||||
this.getOperationResult().setShowMessage(true); // 是否显示提示消息
|
this.getOperationResult().setShowMessage(true); // 是否显示提示消息
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
data.put("IT_ITEM", getIT_ITEM(recBill,json_HEADER));
|
// data.put("IT_ITEM", getIT_ITEM(recBill,json_HEADER));
|
||||||
|
data.put("IT_ITEM", itItem);
|
||||||
//收款类型=推预付款、员工还款需要传清账数据
|
//收款类型=推预付款、员工还款需要传清账数据
|
||||||
String receivingType = recBill.getString("receivingtype.number");
|
String receivingType = recBill.getString("receivingtype.number");
|
||||||
if ("103".equals(receivingType) || "109".equals(receivingType)) {
|
if ("103".equals(receivingType) || "109".equals(receivingType)) {
|
||||||
|
|
@ -340,7 +345,7 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
|
||||||
* @param recBill 收款单动态对象
|
* @param recBill 收款单动态对象
|
||||||
* @return 包含行项目信息的JSONArray
|
* @return 包含行项目信息的JSONArray
|
||||||
*/
|
*/
|
||||||
private JSONArray getIT_ITEM(DynamicObject recBill , JSONObject json_HEADER) {
|
private JSONArray getIT_ITEM(DynamicObject recBill , JSONObject json_HEADER, Map<String, String> sapMap) {
|
||||||
JSONArray IT_ITEM = new JSONArray();
|
JSONArray IT_ITEM = new JSONArray();
|
||||||
//源单类型
|
//源单类型
|
||||||
String sourceBillType = recBill.getString("sourcebilltype");
|
String sourceBillType = recBill.getString("sourcebilltype");
|
||||||
|
|
@ -467,6 +472,8 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl
|
||||||
}else if("f000060".equals(asstype)){
|
}else if("f000060".equals(asstype)){
|
||||||
//行项目的参考码 f000031
|
//行项目的参考码 f000031
|
||||||
IT_ITEMS.put("XREF3",glassistbd.getString("assval"));
|
IT_ITEMS.put("XREF3",glassistbd.getString("assval"));
|
||||||
|
}else if(sapMap.containsKey(asstype)){
|
||||||
|
IT_ITEMS.put(sapMap.get(asstype),glassistbd.getString("assval"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ import shjh.jhzj7.fi.fi.utils.domin.ResponseData;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 理财预提记账处理 shjh_cim_intbill_reve_ext-单据推送sap操作插件
|
* 理财预提记账处理 shjh_cim_intbill_reve_ext-单据推送sap操作插件
|
||||||
|
|
@ -75,13 +76,15 @@ public class RevenueBillOperation extends AbstractOperationServicePlugIn impleme
|
||||||
DynamicObject prinfo;//预提记账处理单
|
DynamicObject prinfo;//预提记账处理单
|
||||||
JSONObject sapReturnData;
|
JSONObject sapReturnData;
|
||||||
ResponseData respdata;
|
ResponseData respdata;
|
||||||
|
//组装核算维度与sap凭证item字段对应关系map
|
||||||
|
Map<String, String> sapMap = SapUtils.getAsstacttypeMap();
|
||||||
for (int i = 0; i < dos.length; i++) {
|
for (int i = 0; i < dos.length; i++) {
|
||||||
prinfo = BusinessDataServiceHelper.loadSingle(dos[i].getPkValue(), dos[i].getDataEntityType().getName());
|
prinfo = BusinessDataServiceHelper.loadSingle(dos[i].getPkValue(), dos[i].getDataEntityType().getName());
|
||||||
if(prinfo.getBoolean("shjh_needvoucher") && !prinfo.getBoolean("shjh_sendsap")){
|
if(prinfo.getBoolean("shjh_needvoucher") && !prinfo.getBoolean("shjh_sendsap")){
|
||||||
//如果预提记账处理单需要生成凭证且未推送sap的才推送sap
|
//如果预提记账处理单需要生成凭证且未推送sap的才推送sap
|
||||||
//判断原蓝单和红单,调用sap不同接口 操作类别 冲销预提收益-红单 预提收益-蓝单
|
//判断原蓝单和红单,调用sap不同接口 操作类别 冲销预提收益-红单 预提收益-蓝单
|
||||||
if("interestrev".equals(prinfo.getString("operatype"))){
|
if("interestrev".equals(prinfo.getString("operatype"))){
|
||||||
sapReturnData = sendBlueVoucher(prinfo);//蓝单
|
sapReturnData = sendBlueVoucher(prinfo,sapMap);//蓝单
|
||||||
if(sapReturnData != null && "0".equals(sapReturnData.getString("code"))){
|
if(sapReturnData != null && "0".equals(sapReturnData.getString("code"))){
|
||||||
//解析sap凭证接口返回值
|
//解析sap凭证接口返回值
|
||||||
respdata = ApiUtils.getResponseData(sapReturnData);
|
respdata = ApiUtils.getResponseData(sapReturnData);
|
||||||
|
|
@ -176,7 +179,7 @@ public class RevenueBillOperation extends AbstractOperationServicePlugIn impleme
|
||||||
return sapReturnData;
|
return sapReturnData;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JSONObject sendBlueVoucher(DynamicObject prinfo){
|
private JSONObject sendBlueVoucher(DynamicObject prinfo, Map<String, String> sapMap){
|
||||||
//SAP预提收益凭证接口入参组装和调用
|
//SAP预提收益凭证接口入参组装和调用
|
||||||
JSONObject IS_HEADER = new JSONObject();//抬头
|
JSONObject IS_HEADER = new JSONObject();//抬头
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式化工具
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式化工具
|
||||||
|
|
@ -259,11 +262,39 @@ public class RevenueBillOperation extends AbstractOperationServicePlugIn impleme
|
||||||
hsxminfo = QueryServiceHelper.queryOne(ccName, "id,name,number",
|
hsxminfo = QueryServiceHelper.queryOne(ccName, "id,name,number",
|
||||||
new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值
|
new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值
|
||||||
item.put("KOSTL",hsxminfo.getString("number"));//成本中心_成本中心
|
item.put("KOSTL",hsxminfo.getString("number"));//成本中心_成本中心
|
||||||
|
}else if("f000054".equals(asstype) || "f000014".equals(asstype)){
|
||||||
|
//原因码 f000014
|
||||||
|
//付款原因代码 f000054
|
||||||
|
hsxminfo = QueryServiceHelper.queryOne("gl_cashflowitem", "id,name,number",
|
||||||
|
new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值
|
||||||
|
item.put("RSTGR",hsxminfo.getString("number"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gl_assist_bd = QueryServiceHelper.query("gl_assist_txt", "asstype,assval",
|
||||||
|
new QFilter[]{new QFilter("hg.id", QCP.equals, assgrpinfo.getPkValue())});//核算项目组合纵表-文本
|
||||||
|
for (int j = 0; j < gl_assist_bd.size(); j++) {
|
||||||
|
glassistbd = gl_assist_bd.get(j);
|
||||||
|
asstype = glassistbd.getString("asstype");//核算项目类型-对应核算维度的字段名
|
||||||
|
if("f000054".equals(asstype)){
|
||||||
|
//原因码 f000054
|
||||||
|
item.put("RSTGR",glassistbd.getString("assval"));
|
||||||
|
}else if("f000056".equals(asstype)){
|
||||||
|
//分配编号 f000056
|
||||||
|
item.put("ZUONR",glassistbd.getString("assval"));
|
||||||
|
}else if("f000023".equals(asstype)){
|
||||||
|
//税码 f000023
|
||||||
|
item.put("MWSKZ",glassistbd.getString("assval"));
|
||||||
|
}else if("f000031".equals(asstype)){
|
||||||
|
//税基 f000031
|
||||||
|
item.put("FWBAS",glassistbd.getString("assval"));
|
||||||
|
}else if("f000060".equals(asstype)){
|
||||||
|
//行项目的参考码
|
||||||
|
item.put("XREF3",glassistbd.getString("assval"));
|
||||||
|
}else if(sapMap.containsKey(asstype)){
|
||||||
|
item.put(sapMap.get(asstype),glassistbd.getString("assval"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// item.put("RSTGR", "014");//原因代码_原因码
|
|
||||||
// item.put("SGTXT", SGTXT);//行项目文本_SAP会计科目行项目号
|
|
||||||
IT_ITEM.add(item);
|
IT_ITEM.add(item);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@ public class TransdownbillOperation extends AbstractOperationServicePlugIn imple
|
||||||
private static final String glbdName = "gl_assist_bd";//核算项目组合纵表
|
private static final String glbdName = "gl_assist_bd";//核算项目组合纵表
|
||||||
|
|
||||||
private final static Log logger = LogFactory.getLog(TransdownbillOperation.class);
|
private final static Log logger = LogFactory.getLog(TransdownbillOperation.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
|
public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
|
||||||
super.beforeExecuteOperationTransaction(e);
|
super.beforeExecuteOperationTransaction(e);
|
||||||
|
|
@ -73,11 +74,13 @@ public class TransdownbillOperation extends AbstractOperationServicePlugIn imple
|
||||||
DynamicObject prinfo;//下拨处理单
|
DynamicObject prinfo;//下拨处理单
|
||||||
JSONObject sapReturnData;
|
JSONObject sapReturnData;
|
||||||
ResponseData respdata;
|
ResponseData respdata;
|
||||||
|
//组装核算维度与sap凭证item字段对应关系map
|
||||||
|
Map<String, String> sapMap = SapUtils.getAsstacttypeMap();
|
||||||
for (int i = 0; i < dos.length; i++) {
|
for (int i = 0; i < dos.length; i++) {
|
||||||
prinfo = BusinessDataServiceHelper.loadSingle(dos[i].getPkValue(), dos[i].getDataEntityType().getName());
|
prinfo = BusinessDataServiceHelper.loadSingle(dos[i].getPkValue(), dos[i].getDataEntityType().getName());
|
||||||
if(!prinfo.getBoolean("shjh_sendsap")){
|
if(!prinfo.getBoolean("shjh_sendsap")){
|
||||||
//如果下拨处理单需要生成凭证且未推送sap的才推送sap
|
//如果下拨处理单需要生成凭证且未推送sap的才推送sap
|
||||||
sapReturnData = sendBlueVoucher(prinfo);//蓝单
|
sapReturnData = sendBlueVoucher(prinfo,sapMap);
|
||||||
if(sapReturnData != null && "0".equals(sapReturnData.getString("code"))){
|
if(sapReturnData != null && "0".equals(sapReturnData.getString("code"))){
|
||||||
//解析sap凭证接口返回值
|
//解析sap凭证接口返回值
|
||||||
respdata = ApiUtils.getResponseData(sapReturnData);
|
respdata = ApiUtils.getResponseData(sapReturnData);
|
||||||
|
|
@ -97,7 +100,8 @@ public class TransdownbillOperation extends AbstractOperationServicePlugIn imple
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private JSONObject sendBlueVoucher(DynamicObject prinfo){
|
|
||||||
|
private JSONObject sendBlueVoucher(DynamicObject prinfo, Map<String, String> sapMap){
|
||||||
//SAP下拨处理单凭证接口入参组装和调用
|
//SAP下拨处理单凭证接口入参组装和调用
|
||||||
JSONObject IS_HEADER = new JSONObject();//抬头
|
JSONObject IS_HEADER = new JSONObject();//抬头
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式化工具
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式化工具
|
||||||
|
|
@ -139,8 +143,7 @@ public class TransdownbillOperation extends AbstractOperationServicePlugIn imple
|
||||||
String asstype;
|
String asstype;
|
||||||
DynamicObject glassistbd;
|
DynamicObject glassistbd;
|
||||||
DynamicObject hsxminfo;
|
DynamicObject hsxminfo;
|
||||||
//组装核算维度map
|
|
||||||
Map<String, String> sapMap = SapUtils.getAsstacttypeMap();
|
|
||||||
for (DynamicObject entry : entries) {
|
for (DynamicObject entry : entries) {
|
||||||
item = new JSONObject();
|
item = new JSONObject();
|
||||||
account = entry.getDynamicObject("account");//科目
|
account = entry.getDynamicObject("account");//科目
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ public class TransupbillOperation extends AbstractOperationServicePlugIn impleme
|
||||||
private static final String glbdName = "gl_assist_bd";//核算项目组合纵表
|
private static final String glbdName = "gl_assist_bd";//核算项目组合纵表
|
||||||
|
|
||||||
private final static Log logger = LogFactory.getLog(TransdownbillOperation.class);
|
private final static Log logger = LogFactory.getLog(TransdownbillOperation.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
|
public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
|
||||||
super.beforeExecuteOperationTransaction(e);
|
super.beforeExecuteOperationTransaction(e);
|
||||||
|
|
@ -74,11 +75,13 @@ public class TransupbillOperation extends AbstractOperationServicePlugIn impleme
|
||||||
DynamicObject prinfo;//上划处理单
|
DynamicObject prinfo;//上划处理单
|
||||||
JSONObject sapReturnData;
|
JSONObject sapReturnData;
|
||||||
ResponseData respdata;
|
ResponseData respdata;
|
||||||
|
//组装核算维度与sap凭证item字段对应关系map
|
||||||
|
Map<String, String> sapMap = SapUtils.getAsstacttypeMap();
|
||||||
for (int i = 0; i < dos.length; i++) {
|
for (int i = 0; i < dos.length; i++) {
|
||||||
prinfo = BusinessDataServiceHelper.loadSingle(dos[i].getPkValue(), dos[i].getDataEntityType().getName());
|
prinfo = BusinessDataServiceHelper.loadSingle(dos[i].getPkValue(), dos[i].getDataEntityType().getName());
|
||||||
if(!prinfo.getBoolean("shjh_sendsap")){
|
if(!prinfo.getBoolean("shjh_sendsap")){
|
||||||
//如果上划处理单需要生成凭证且未推送sap的才推送sap
|
//如果上划处理单需要生成凭证且未推送sap的才推送sap
|
||||||
sapReturnData = sendBlueVoucher(prinfo);
|
sapReturnData = sendBlueVoucher(prinfo,sapMap);
|
||||||
if(sapReturnData != null && "0".equals(sapReturnData.getString("code"))){
|
if(sapReturnData != null && "0".equals(sapReturnData.getString("code"))){
|
||||||
//解析sap凭证接口返回值
|
//解析sap凭证接口返回值
|
||||||
respdata = ApiUtils.getResponseData(sapReturnData);
|
respdata = ApiUtils.getResponseData(sapReturnData);
|
||||||
|
|
@ -99,7 +102,7 @@ public class TransupbillOperation extends AbstractOperationServicePlugIn impleme
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private JSONObject sendBlueVoucher(DynamicObject prinfo){
|
private JSONObject sendBlueVoucher(DynamicObject prinfo, Map<String, String> sapMap){
|
||||||
//SAP上划处理单凭证接口入参组装和调用
|
//SAP上划处理单凭证接口入参组装和调用
|
||||||
JSONObject IS_HEADER = new JSONObject();//抬头
|
JSONObject IS_HEADER = new JSONObject();//抬头
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式化工具
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//日期格式化工具
|
||||||
|
|
@ -141,8 +144,6 @@ public class TransupbillOperation extends AbstractOperationServicePlugIn impleme
|
||||||
String asstype;
|
String asstype;
|
||||||
DynamicObject glassistbd;
|
DynamicObject glassistbd;
|
||||||
DynamicObject hsxminfo;
|
DynamicObject hsxminfo;
|
||||||
//组装核算维度map
|
|
||||||
Map<String, String> sapMap = SapUtils.getAsstacttypeMap();
|
|
||||||
for (DynamicObject entry : entries) {
|
for (DynamicObject entry : entries) {
|
||||||
item = new JSONObject();
|
item = new JSONObject();
|
||||||
account = entry.getDynamicObject("account");//科目
|
account = entry.getDynamicObject("account");//科目
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue