parent
							
								
									da79adb2d3
								
							
						
					
					
						commit
						4718f5f05e
					
				|  | @ -26,10 +26,7 @@ import shjh.jhzj7.fi.fi.utils.domin.ResponseData; | |||
| 
 | ||||
| import java.math.BigDecimal; | ||||
| import java.text.SimpleDateFormat; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Arrays; | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
| import java.util.*; | ||||
| import java.util.concurrent.atomic.AtomicReference; | ||||
| import java.util.stream.Collectors; | ||||
| 
 | ||||
|  | @ -93,18 +90,25 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl | |||
|                 bill = BusinessDataServiceHelper.loadSingle(bill.getPkValue(), "cas_paybill"); | ||||
|                 String shjhSourcesystem = bill.getString("shjh_sourcesystem");//来源系统 | ||||
|                 //主动:{1.fk:不清帐,直传付款凭证给sap;2.SAP:要清账,都传}   被动:{不用传清账} FKZJ2025030040 | ||||
|                 //todo:付款单是由票据直接生成,凭证如何推送 | ||||
|                 JSONObject data = new JSONObject(); | ||||
|                 //抬头 | ||||
|                 JSONObject isHeader = getIS_HEADER(bill); | ||||
| 
 | ||||
|                 //组装核算维度map | ||||
|                 Map<String, String> sapMap = new HashMap<>(); | ||||
|                 QFilter filter1 = new QFilter("enable", QCP.equals, "1"); | ||||
|                 QFilter filter2 = new QFilter("shjh_sap", QCP.not_equals, ""); | ||||
|                 DynamicObject[] bdAsstacttypes = BusinessDataServiceHelper.load("bd_asstacttype", "id,shjh_sap,enable,flexfield", new QFilter[]{filter1, filter2}); | ||||
|                 for (DynamicObject bdAsstacttype : bdAsstacttypes) { | ||||
|                     sapMap.put(bdAsstacttype.getString("flexfield"), bdAsstacttype.getString("shjh_sap")); | ||||
|                 } | ||||
| //              时间问题代码未优化提取公共方法 | ||||
| //				前提:若无凭证,校验 | ||||
| //				票: | ||||
| //				1.遍历付款单明细分录,若任意一行中存在SAP凭证号:组装明细XX,拿号调方法(W);遍历票据分录,拿票据号,查收款单(将表头凭证信息)_无行编号,SAP会计科目(从收款单对应凭证取借方),清张金额取票据(转让金额) | ||||
| //				2.若无SAP凭证号:联查凭证(遍历,借方iteam{SGTXT:凭证行摘要},遍历票_查收款单(将表头凭证信息):行没有) | ||||
| //				非票: | ||||
| //				1.来源SAP :(iteam{}) | ||||
| //				2.else | ||||
| //				1.来源SAP :(付款单查凭证:遍历分录:if贷iteam{钱取贷方} 遍历明细clear{}) | ||||
| //				2.else(item:付款单联查凭证:遍历分录{原逻辑}) | ||||
|                 QFilter q1 = new QFilter("sourcebill", QCP.equals, bill.getPkValue()); | ||||
|                 QFilter q2 = new QFilter("billstatus",QCP.equals,"C"); | ||||
|                 DynamicObject gl_voucher = BusinessDataServiceHelper.loadSingle("gl_voucher", | ||||
|  | @ -343,6 +347,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl | |||
|                                         }else if("f000060".equals(asstype)){ | ||||
|                                             //行项目的参考码 | ||||
|                                             IT_ITEMS.put("XREF3",glassistbd.getString("assval")); | ||||
|                                         }else if(sapMap.containsKey(asstype)){ | ||||
|                                             IT_ITEMS.put(sapMap.get(asstype),glassistbd.getString("assval")); | ||||
|                                         } | ||||
|                                     } | ||||
|                                 } | ||||
|  | @ -532,6 +538,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl | |||
|                                         }else if("f000060".equals(asstype)){ | ||||
|                                             //行项目的参考码 | ||||
|                                             IT_ITEMS.put("XREF3",glassistbd.getString("assval")); | ||||
|                                         }else if(sapMap.containsKey(asstype)){ | ||||
|                                             IT_ITEMS.put(sapMap.get(asstype),glassistbd.getString("assval")); | ||||
|                                         } | ||||
|                                     } | ||||
|                                 } | ||||
|  | @ -679,6 +687,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl | |||
|                                         }else if("f000060".equals(asstype)){ | ||||
|                                             //行项目的参考码 | ||||
|                                             IT_ITEMS.put("XREF3",glassistbd.getString("assval")); | ||||
|                                         }else if(sapMap.containsKey(asstype)){ | ||||
|                                             IT_ITEMS.put(sapMap.get(asstype),glassistbd.getString("assval")); | ||||
|                                         } | ||||
|                                     } | ||||
|                                 } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue