diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/DepositpreintSapOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/DepositpreintSapOperation.java index 3c1e72b..9ba9417 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/DepositpreintSapOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/DepositpreintSapOperation.java @@ -196,7 +196,7 @@ public class DepositpreintSapOperation extends AbstractOperationServicePlugIn im QFilter voucherFilters = new QFilter("sourcebill", QCP.equals, prinfo.getPkValue());//凭证源单ID为预提单 voucherFilters.and(new QFilter("billstatus",QCP.equals,"C"));//凭证状态已审核 DynamicObject gl_voucher = BusinessDataServiceHelper.loadSingle(voucherName, - "id,description,sourcebill,entries,entries.account,entries.assgrp,entries.debitlocal,entries.creditlocal,entries.entrydc,entries.edescription,vouchertype", + "id,description,shjh_fjz,sourcebill,entries,entries.account,entries.assgrp,entries.debitlocal,entries.creditlocal,entries.entrydc,entries.edescription,vouchertype", voucherFilters.toArray()); if (null != gl_voucher) { IS_HEADER.put("BLART", gl_voucher.getString("vouchertype.number"));//根据金蝶凭证类型设置 @@ -219,6 +219,10 @@ public class DepositpreintSapOperation extends AbstractOperationServicePlugIn im item.put("UMSKZ", JhzjUtils.getUMSKZ(account.getString("number")));//特殊总账标识 } item.put("SGTXT", entry.getString("edescription"));//凭证行摘要 + //凭证反记账标识判断,如果凭证上已勾选,则传X给sap + if(gl_voucher.getBoolean("shjh_fjz")){ + item.put("XNEGP", "X"); + } //获取贷方金额 creditlocal = entry.getBigDecimal("creditlocal");//贷方 //获取分录借贷方向 @@ -249,7 +253,6 @@ public class DepositpreintSapOperation extends AbstractOperationServicePlugIn im new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值 item.put("KOSTL",hsxminfo.getString("number"));//成本中心_成本中心 } - } } // item.put("RSTGR", "014");//原因代码_原因码 diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java index f5db13e..0b1006b 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java @@ -254,7 +254,7 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl QFilter q1 = new QFilter("sourcebill", QCP.equals, bill.getPkValue()); QFilter q2 = new QFilter("billstatus",QCP.equals,"C"); DynamicObject gl_voucher = BusinessDataServiceHelper.loadSingle("gl_voucher", - "id,description,sourcebill,entries,entries.account,entries.debitlocal,entries.creditlocal,entries.entrydc,entries.edescription,vouchertype,entries.assgrp", + "id,description,shjh_fjz,sourcebill,entries,entries.account,entries.debitlocal,entries.creditlocal,entries.entrydc,entries.edescription,vouchertype,entries.assgrp", new QFilter[]{q1, q2}); if (null != gl_voucher) { //todo:对header 凭证类型重新赋值 @@ -286,6 +286,10 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl IT_ITEMS.put("KOSTL", KOSTL);//成本中心_成本中心(付款单shjh_costcenter) IT_ITEMS.put("PRCTR", PRCTR);//利润中心_利润中心(付款单shjh_pc) IT_ITEMS.put("SGTXT", entry.getString("edescription"));//SAP凭证行摘要 + //凭证反记账标识判断,如果凭证上已勾选,则传X给sap + if(gl_voucher.getBoolean("shjh_fjz")){ + IT_ITEMS.put("XNEGP", "X"); + } assgrpinfo = entry.getDynamicObject("assgrp");//核算维度(弹性域) if(assgrpinfo != null){ @@ -330,6 +334,12 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl }else if("f000056".equals(asstype)){ //分配编号 f000056 IT_ITEMS.put("ZUONR",glassistbd.getString("assval")); + }else if("f000023".equals(asstype)){ + //税码 f000023 + IT_ITEMS.put("MWSKZ",glassistbd.getString("assval")); + }else if("f000031".equals(asstype)){ + //税基 f000031 +// IT_ITEMS.put("MWSBP",glassistbd.getString("assval")); } } } diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecPushVoucherOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecPushVoucherOperation.java index b8e2ff9..8ef32f9 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecPushVoucherOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecPushVoucherOperation.java @@ -458,6 +458,7 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl }else if("f000031".equals(asstype)){ //税基 f000031 // IT_ITEMS.put("MWSBP",glassistbd.getString("assval")); + } } } diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/RevenueBillOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/RevenueBillOperation.java index 186a4f1..409a2a9 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/RevenueBillOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/RevenueBillOperation.java @@ -203,7 +203,7 @@ public class RevenueBillOperation extends AbstractOperationServicePlugIn impleme QFilter voucherFilters = new QFilter("sourcebill", QCP.equals, prinfo.getPkValue());//凭证源单ID为预提单 voucherFilters.and(new QFilter("billstatus",QCP.equals,"C"));//凭证状态已审核 DynamicObject gl_voucher = BusinessDataServiceHelper.loadSingle(voucherName, - "id,description,sourcebill,entries,entries.account,entries.assgrp,entries.debitlocal,entries.creditlocal,entries.entrydc,entries.edescription,vouchertype", + "id,description,shjh_fjz,sourcebill,entries,entries.account,entries.assgrp,entries.debitlocal,entries.creditlocal,entries.entrydc,entries.edescription,vouchertype", voucherFilters.toArray()); if (null != gl_voucher) { IS_HEADER.put("BLART", gl_voucher.getString("vouchertype.number"));//根据金蝶凭证类型设置 @@ -226,6 +226,10 @@ public class RevenueBillOperation extends AbstractOperationServicePlugIn impleme item.put("UMSKZ", JhzjUtils.getUMSKZ(account.getString("number")));//特殊总账标识 } item.put("SGTXT", entry.getString("edescription"));//凭证行摘要 + //凭证反记账标识判断,如果凭证上已勾选,则传X给sap + if(gl_voucher.getBoolean("shjh_fjz")){ + item.put("XNEGP", "X"); + } //获取贷方金额 creditlocal = entry.getBigDecimal("creditlocal");//贷方 //获取分录借贷方向 @@ -256,7 +260,6 @@ public class RevenueBillOperation extends AbstractOperationServicePlugIn impleme new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值 item.put("KOSTL",hsxminfo.getString("number"));//成本中心_成本中心 } - } } // item.put("RSTGR", "014");//原因代码_原因码 diff --git a/main/java/shjh/jhzj7/fi/fi/webapi/AspAccountControler.java b/main/java/shjh/jhzj7/fi/fi/webapi/AspAccountControler.java index 471942d..4eb253c 100644 --- a/main/java/shjh/jhzj7/fi/fi/webapi/AspAccountControler.java +++ b/main/java/shjh/jhzj7/fi/fi/webapi/AspAccountControler.java @@ -213,7 +213,7 @@ public class AspAccountControler { JSONArray companysJson = json_obj.getJSONArray("companys"); //处理科目分配 EsbUtils.handleAssignNew(companysJson, acctids, entityName); - //处理科目在每个公司生成 + //处理科目在每个公司生成 2211开头的科目统一在科目接口上设置税基和税码的核算维度 Map companyAcctMaps = handleAccountCompany(accountMaps,companysJson); //处理每个公司下科目的核算维度和禁用状态 JSONArray asstacttypesJson = json_obj.getJSONArray("asstacttypes"); @@ -390,10 +390,22 @@ public class AspAccountControler { bbiso = dess[j]; bbInfo = BusinessDataServiceHelper.loadSingleFromCache(bbName,new QFilter[]{new QFilter("number","=",bbiso)}); if(bbInfo != null){ - docbb.addNew().set("currency",bbInfo.getLong("id")); + docbb.addNew().set("currency",bbInfo); } } } + if(olddo.getString("number").startsWith("2211")){ + //2211开头的科目统一在科目接口上设置税基和税码的核算维度 + DynamicObjectCollection dochswd = newAcctInfo.getDynamicObjectCollection("checkitementry"); + DynamicObject itementryInfo = dochswd.addNew(); + itementryInfo.set("asstactitem",getHsxmInfo("税基")); + itementryInfo.set("isdetail", true);//明细 + itementryInfo.set("isrequire", false);//必录 + DynamicObject itementryInfo1 = dochswd.addNew(); + itementryInfo1.set("asstactitem",getHsxmInfo("税码")); + itementryInfo1.set("isdetail", true);//明细 + itementryInfo1.set("isrequire", false);//必录 + } //损益类型 newAcctInfo.set("pltype", olddo.getString("pltype")); newAcctInfo.set("parent", olddo.getDynamicObject("parent"));