用友畅捷通ERP对接电商吉克云系统-销售出库单下推并自动审核

1.对接背景,ERP:sqlserver版用友畅捷通  ,电商系统:吉克云OMS

2.涉及接口:

吉克云:jackyun.tradenotsensitiveinfos.list.get(吉克云销售单查询)

用友sqlserver数据库表: Sa_Saleorder  ,Sa_Saleorder_B 销售出库单主子表

Aa_Unit 单位表,Aa_Inventory 物料表 ,Eap_User 用户表 Aa_Partner 客户对象表 

Aa_Warehouse 仓库表,Eap_Operationlog 操作日志表,St_Currentstock 库存信息表

sa_creditoccupancy 客户信贷率对象, sa_creditoccupancyhistory  客户历史信贷率对象

3.开发思路

从上游吉克云接口获取销售出库单后,经过中台进行数据转换,对应物料、仓库、客户信息,拼接后同步到畅捷通销售出库单,并自动审核,库存扣减。

4.核心代码:

public List<Long> insertIntoFahuo(Map<String, GyWarehouse> warsMap, Map<String, GyCustomer> csMap,
			List<JkySalesout> list, String purchaseCode, String begincredate, String endcredate, int type) {

		// TODO Auto-generated method stub
		  List<Long> ids=new ArrayList<>();
 
        List<AaUnit> units=unitService.selectAaUnitList(new AaUnit() );
        
        Map<Long,AaUnit> unitMap=units.stream()
 		   .collect(Collectors.toMap(AaUnit::getId, Function.identity(),	 
 				   (key1 , key2) -> key1 ));    
 	   
        
    
	       for(JkySalesout fahuo:list) {
	    	   //先看是否已存在云星空中,存在则跳过
	           if(!testQueryFahuo(fahuo.getTradeNo()).equals("")) {
	               //单据已经存在金蝶数据库了,把中间表数据直接改为已传递,结束当前循环
	        	   jkySalesoutService.updateStatusByCode(fahuo.getId(),"",""); 
	                   continue;
	               }

	           //获取该主单明细表,循环插入
	           JSONObject json=JSONObject.parseObject( fahuo.getJkyRes());
	           
	           //没有明细,该条主细单全部不插入金蝶
	           if(!json.containsKey("goodsDetail")) {
	        	   jkySalesoutService.UpdateReturnInfo(fahuo.getId(),"发货细单不存在");
	               continue;
	           }  
//	           if(json.getString("stockoutNo")==null) {
//	        	   jkySalesoutService.UpdateReturnInfo(fahuo.getId(),"出库单号空");
//
//	        	    continue;
//	           }
	           JSONArray itemList=json.getJSONArray("goodsDetail");
	           
	           boolean flag=false;
 
	           if(flag) {
	               continue;
	           }
	           
	   			//JSONObject fahuos=getFahuos(json.getString("orderNo"),fahuo.getConginTime());
	   		   Date date=new Date();
	   		   SaSaleorder xsddhz=new SaSaleorder();
	           xsddhz.setCode(json.getString("tradeNo"));
	           xsddhz.setMakerid(21l);
	           xsddhz.setRecivetype(7l);
	           xsddhz.setIscarriedforwardin(0);
	        
	           xsddhz.setCreatedtime(date );//生单日期
	          
	           xsddhz.setMadedate(date  );//制单日期
	           xsddhz.setVoucherdate(date );//  单据日期

	           xsddhz.setAuditor("");
	           xsddhz.setIdbusinesstype(65l);
	           
	  
	           
	           xsddhz.setIscarriedforwardout(0);
	           xsddhz.setMemberaddress("");
	           xsddhz.setPrintcount(0l);
	           xsddhz.setIsseparatebywarehouse(0);
	           xsddhz.setMaker("DEMO");
	           xsddhz.setOrigearnestmoney(new BigDecimal(0));
	           xsddhz.setIdmarketingorgan(1l);
	           xsddhz.setVoucherstate(181l);//数据床头
	           xsddhz.setIsmodifiedcode( 0);
	    
	           
	           xsddhz.setIdcustomer(Long.valueOf(csMap.get(json.getString("shopName")).getOfinterid()) );
	           xsddhz.setIdclerk(18l);
	           xsddhz.setDiscountrate(new BigDecimal(1) );
	           xsddhz.setEarnestmoney(new BigDecimal(0) );
	           xsddhz.setMobilephone(" ");
	       
	           xsddhz.setExternalvouchercode("");
	           if(StringUtil.isNotEmpty( json.getString("sellerMemo"))&&json.getString("sellerMemo").length()>200) {
	           xsddhz.setMemo( json.getString("sellerMemo").substring(0,199));
	           }else {
		           xsddhz.setMemo( json.getString("sellerMemo"));

	           }
	           xsddhz.setIdcurrency( 4l);
	           xsddhz.setOrigdiscountamount( null);
	           xsddhz.setChanger("" );
	           xsddhz.setIsautogeneratesaleorderbom(0 );
	           xsddhz.setCustomerphone( "");
	           xsddhz.setIdsettlecustomer(Long.valueOf(csMap.get(json.getString("shopName")).getOfinterid()) );
	           xsddhz.setIsautowarehouse( 0);
	           xsddhz.setDatasource( 1531l);
	           xsddhz.setContractcode("" );
	           xsddhz.setIsautogeneraterouting(0 );
	           xsddhz.setReceiveamount( new BigDecimal(0) );
	           xsddhz.setAddress( "");
	           xsddhz.setContactphone( "");
	           xsddhz.setIdwarehouse(Long.valueOf(warsMap.get(json.getString("warehouseName")).getBeiYonga()) );
	           xsddhz.setLinkman( "");
	           xsddhz.setOrigreceiveamount(new BigDecimal(0)  );
	           xsddhz.setDiscountamount( null);
	           xsddhz.setCollaboratevouchercode("" );
 
	           xsddhz.setExchangerate(new BigDecimal(1)  );
	           xsddhz.setReviser("" );
	           xsddhz.setUpdated(new Date() );
	           xsddhz.setUpdatedBy("demo");


	   //发货单明细

	  /** 销售明细信息 */
	 List<SaSaleorderB> xsddmxList=new ArrayList<>();

	   
	//明细表
       for( int i=0;i<itemList.size();i++) {
    	   JSONObject item=itemList.getJSONObject(i);
 
    	     //根据管易code查出对应的店铺客户映射
    	   
    	   AaInventory query=new AaInventory();
    	   query.setCode(item.getString("goodsNo") );
           List<AaInventory> items=inventoryService.selectAaInventoryList(query);
           Map<String,AaInventory> itemMap=items.stream()
    		   .collect(Collectors.toMap(AaInventory::getCode, Function.identity(),	 
    				   (key1 , key2) -> key1 ));     
        

    	   BigDecimal tax=itemMap.get(item.getString("goodsNo")).getTax() ;
    	   BigDecimal tax1=tax.add(new BigDecimal(1));
			SaSaleorderB Entitys=new SaSaleorderB();
  
				  Entitys.setUpdated( new Date());
				  Entitys.setPricestrategyschemeids("" );
				  
				  //找不到,先弄新增,再人工审核
//				  Entitys.setSingleinvgrossprofit(new BigDecimal(59.83));//参考毛利				
//				  Entitys.setGrossprofitrate(new BigDecimal(0.7) );
//				  Entitys.setGrossprofit( new BigDecimal(59.83));
//				  Entitys.setLatestcost( new BigDecimal(25.64));//销售单位结存成本
				  
				  
				  Entitys.setUpdatedby( "demo");
				
			 
				  Entitys.setExecutedquantity2( null);
				  Entitys.setTaxflag(1 );
			
				  Entitys.setPromotionvouchercodes( "");
				  
				  //Entitys.setIdsaleorderdto(13l );//主表id
				  Entitys.setIdwarehouse(Long.valueOf(warsMap.get(json.getString("warehouseName")).getBeiYonga()) );//仓库
				  Entitys.setIdinventory( itemMap.get(item.getString("goodsNo")).getId());//产品
				
				  Long idunit=itemMap.get(item.getString("goodsNo")).getIdunit();
				  Entitys.setIdunit(idunit );//单位
				  Entitys.setIdbaseunit( idunit);//单位id
				  Entitys.setIdsubunit( idunit);//单位id

				  String dwmc= unitMap.get(idunit).getName();
				  Entitys.setCompositionquantity(item.getBigDecimal("sellCount")+dwmc );//计量单位组合
				  
				  
				  Entitys.setManufacturequantity2(null );
				  Entitys.setSaleoutquantity2( null);
			
				  Entitys.setIspromotionpresent(0 );
				  Entitys.setPricestrategyschemenames("");
				  Entitys.setPurchasequantity(null );
				  
				  if(json.getBigDecimal("receivedPostFee").compareTo(new BigDecimal(0))>0) {
					  //运费不为0的时候
					 if(item.containsKey("divideSellTotal")) {
				  Entitys.setOrigtaxamount(item.getBigDecimal("divideSellTotal") );
				  Entitys.setBasetaxprice( null);
				  
				  Entitys.setTaxprice(  item.getBigDecimal("divideSellTotal")
						  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP) );//含税单价
				
				  Entitys.setOrigtaxprice( item.getBigDecimal("divideSellTotal")
						  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP) ); //含税单价
				 
				  Entitys.setTaxamount( item.getBigDecimal("divideSellTotal") );//含税金额
				
				  Entitys.setDiscountprice( item.getBigDecimal("divideSellTotal")
						  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP)
						  .divide( tax1,4,BigDecimal.ROUND_HALF_UP));//单价
			
				  Entitys.setOrigdiscountprice( item.getBigDecimal("divideSellTotal")
						  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP).
						  divide(tax1,4,BigDecimal.ROUND_HALF_UP));//单价
				  						  
				  Entitys.setOrigdiscountamount( item.getBigDecimal("divideSellTotal")
						  .divide(tax1,2,BigDecimal.ROUND_HALF_UP));//金额
				  
				  Entitys.setDiscountamount( item.getBigDecimal("divideSellTotal")
						  .divide(tax1,2,BigDecimal.ROUND_HALF_UP));//金额 
				  
				  Entitys.setTax( item.getBigDecimal("divideSellTotal")
						  .divide(tax1,2,BigDecimal.ROUND_HALF_UP).multiply(tax) );//税额=金额*税率
				  Entitys.setOrigtax(item.getBigDecimal("divideSellTotal")
						  .divide(tax1,2,BigDecimal.ROUND_HALF_UP).multiply(tax));//税额=金额*税率
				  				    				  
				  //取辅助单位,再取换算率,没有则不填
				 Long idunit2=itemMap.get(item.getString("goodsNo")).getIdsubunitbyreport();
				  
				 if(idunit2!=null) {
				  AaUnit idunit2Obj= unitMap.get(idunit2);
				  
				  Entitys.setUnitexchangerate( idunit2Obj.getChangerate());//换算率	
				  
				  Entitys.setQuantity2( item.getBigDecimal("divideSellTotal")
						  .divide( idunit2Obj.getChangerate(),4,BigDecimal.ROUND_HALF_UP ));//换算后的
				
				   Entitys.setIdunit2(idunit2);
				  }
				  }else {
					  //不包含divideSellTotal。则取sellTotal
					  Entitys.setOrigtaxamount(item.getBigDecimal("sellTotal") );
					  Entitys.setBasetaxprice( null);
					  
					  Entitys.setTaxprice(  item.getBigDecimal("sellTotal")
							  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP) );//含税单价
					
					  Entitys.setOrigtaxprice( item.getBigDecimal("sellTotal")
							  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP) ); //含税单价
					 
					  Entitys.setTaxamount( item.getBigDecimal("sellTotal") );//含税金额
					
					  Entitys.setDiscountprice( item.getBigDecimal("sellTotal")
							  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP)
							  .divide( tax1,4,BigDecimal.ROUND_HALF_UP));//单价
				
					  Entitys.setOrigdiscountprice( item.getBigDecimal("sellTotal")
							  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP).
							  divide(tax1,4,BigDecimal.ROUND_HALF_UP));//单价
					  						  
					  Entitys.setOrigdiscountamount( item.getBigDecimal("sellTotal")
							  .divide(tax1,2,BigDecimal.ROUND_HALF_UP));//金额
					  
					  Entitys.setDiscountamount( item.getBigDecimal("sellTotal")
							  .divide(tax1,2,BigDecimal.ROUND_HALF_UP));//金额 
					  
					  Entitys.setTax( item.getBigDecimal("sellTotal")
							  .divide(tax1,2,BigDecimal.ROUND_HALF_UP).multiply(tax) );//税额=金额*税率
					  Entitys.setOrigtax(item.getBigDecimal("sellTotal")
							  .divide(tax1,2,BigDecimal.ROUND_HALF_UP).multiply(tax));//税额=金额*税率
					  				    				  
					  //取辅助单位,再取换算率,没有则不填
					 Long idunit2=itemMap.get(item.getString("goodsNo")).getIdsubunitbyreport();
					  
					 if(idunit2!=null) {
					  AaUnit idunit2Obj= unitMap.get(idunit2);
					  
					  Entitys.setUnitexchangerate( idunit2Obj.getChangerate());//换算率	
					  
					  Entitys.setQuantity2( item.getBigDecimal("sellTotal")
							  .divide( idunit2Obj.getChangerate(),4,BigDecimal.ROUND_HALF_UP ));//换算后的
					
					   Entitys.setIdunit2(idunit2);
					  }
					  
				  }
				 
				 
				 
				  }else {
					  //运费为0的时候,取shareFavourableAfterFee
					  Entitys.setOrigtaxamount(item.getBigDecimal("shareFavourableAfterFee") );
					  Entitys.setBasetaxprice( null);
					  
					  Entitys.setTaxprice(  item.getBigDecimal("shareFavourableAfterFee")
							  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP) );//含税单价
					
					  Entitys.setOrigtaxprice( item.getBigDecimal("shareFavourableAfterFee")
							  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP) ); //含税单价
					 
					  Entitys.setTaxamount( item.getBigDecimal("shareFavourableAfterFee") );//含税金额
					
					  Entitys.setDiscountprice( item.getBigDecimal("shareFavourableAfterFee")
							  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP)
							  .divide( tax1,4,BigDecimal.ROUND_HALF_UP));//单价
				
					  Entitys.setOrigdiscountprice( item.getBigDecimal("shareFavourableAfterFee")
							  .divide(item.getBigDecimal("sellCount"),4,BigDecimal.ROUND_HALF_UP).
							  divide(tax1,4,BigDecimal.ROUND_HALF_UP));//单价
					  						  
					  Entitys.setOrigdiscountamount( item.getBigDecimal("shareFavourableAfterFee")
							  .divide(tax1,2,BigDecimal.ROUND_HALF_UP));//金额
					  
					  Entitys.setDiscountamount( item.getBigDecimal("shareFavourableAfterFee")
							  .divide(tax1,2,BigDecimal.ROUND_HALF_UP));//金额 
					  
					  Entitys.setTax( item.getBigDecimal("shareFavourableAfterFee")
							  .divide(tax1,2,BigDecimal.ROUND_HALF_UP).multiply(tax) );//税额=金额*税率
					  Entitys.setOrigtax(item.getBigDecimal("shareFavourableAfterFee")
							  .divide(tax1,2,BigDecimal.ROUND_HALF_UP).multiply(tax));//税额=金额*税率
					  				    				  
					  //取辅助单位,再取换算率,没有则不填
					 Long idunit2=itemMap.get(item.getString("goodsNo")).getIdsubunitbyreport();
					  
					 if(idunit2!=null) {
					  AaUnit idunit2Obj= unitMap.get(idunit2);
					  
					  Entitys.setUnitexchangerate( idunit2Obj.getChangerate());//换算率	
					  
					  Entitys.setQuantity2( item.getBigDecimal("shareFavourableAfterFee")
							  .divide( idunit2Obj.getChangerate(),4,BigDecimal.ROUND_HALF_UP ));//换算后的
					
					   Entitys.setIdunit2(idunit2);
					  }				 
					    
					  
					  
				  }
				 
				  Entitys.setDiscount( new BigDecimal(0));
				  Entitys.setDatasource(1531l );
				  Entitys.setDiscountrate( new BigDecimal(1));
				  Entitys.setDeliveryquantity( null);
	
				  Entitys.setCode("0000");
	
				  
				  Entitys.setManufacturequantity( null );
				  Entitys.setPricestrategytypename("" );
				  Entitys.setTaxrate( itemMap.get(item.getString("goodsNo")).getTax() );//税率
				  Entitys.setBasequantity( item.getBigDecimal("sellCount"));//数量
				  Entitys.setBasediscountprice(null );
				  Entitys.setPromotionsinglevouchercode("" );
		
				  Entitys.setExecutedquantity(null );
				  Entitys.setSaleoutquantity( null);
				  Entitys.setQuantity( item.getBigDecimal("sellCount"));
				  Entitys.setSubquantity(item.getBigDecimal("sellCount") );
				  Entitys.setIspresent( item.getInteger("isGift"));//0不是,是否赠品
		
				
				  Entitys.setPrarequiretimes(0l );
				
				  Entitys.setOrigprice(null );
				  Entitys.setIsmemberintegral(0 );
			
				  Entitys.setHaspra(0 );
	
				  Entitys.setPurchasequantity2(null );
				  Entitys.setOrigdiscount(null );
				  Entitys.setIsmodifiedprice(1 );

				  Entitys.setIsclose(0 );
				  Entitys.setDeliveryquantity2(null );
				  Entitys.setBaseprice( null);
				  Entitys.setPromotionvoucherids( "");
	  
				  Entitys.setPrice(null );
 
				  xsddmxList.add(Entitys);	
 
		   }
 
       //邮费存在,且大于0
       if(json.containsKey("receivedPostFee")  &&
    	  json.getBigDecimal("receivedPostFee").compareTo(new BigDecimal(0))>0 ) {
     //根据管易code查出对应的店铺客户映射
    	   
    	   AaInventory query=new AaInventory();
    	   query.setCode("YF" );
           List<AaInventory> items=inventoryService.selectAaInventoryList(query);
           Map<String,AaInventory> itemMap=items.stream()
    		   .collect(Collectors.toMap(AaInventory::getCode, Function.identity(),	 
    				   (key1 , key2) -> key1 ));     
        

    	   BigDecimal tax=itemMap.get("YF" ).getTax() ;
    	   BigDecimal tax1=tax.add(new BigDecimal(1));
			SaSaleorderB Entitys=new SaSaleorderB();
  
				  Entitys.setUpdated( new Date());
				  Entitys.setPricestrategyschemeids("" );
				  
 
				  Entitys.setUpdatedby( "demo");
				
			 
				  Entitys.setExecutedquantity2( null);
				  Entitys.setTaxflag(1 );
			
				  Entitys.setPromotionvouchercodes( "");
				  
				  //Entitys.setIdsaleorderdto(13l );//主表id
				  Entitys.setIdwarehouse(Long.valueOf(warsMap.get(json.getString("warehouseName")).getBeiYonga()) );//仓库
				  Entitys.setIdinventory( itemMap.get("YF").getId());//产品
				
				  Long idunit=itemMap.get("YF").getIdunit();
				  Entitys.setIdunit(idunit );//单位
				  Entitys.setIdbaseunit( idunit);//单位id
				  Entitys.setIdsubunit( idunit);//单位id

				  String dwmc= unitMap.get(idunit).getName();
				  Entitys.setCompositionquantity(1+dwmc );//计量单位组合
				  
				  
				  Entitys.setManufacturequantity2(null );
				  Entitys.setSaleoutquantity2( null);
			
				  Entitys.setIspromotionpresent(0 );
				  Entitys.setPricestrategyschemenames("");
				  Entitys.setPurchasequantity(null );
				  
				  Entitys.setOrigtaxamount(json.getBigDecimal("receivedPostFee"));
				  Entitys.setBasetaxprice( null);
				  
				  Entitys.setTaxprice( json.getBigDecimal("receivedPostFee")
						   );//含税单价
				
				  Entitys.setOrigtaxprice(json.getBigDecimal("receivedPostFee")
						  ); //含税单价
				 
				  Entitys.setTaxamount(json.getBigDecimal("receivedPostFee") );//含税金额
				
				  Entitys.setDiscountprice( json.getBigDecimal("receivedPostFee"));//单价
			
				  Entitys.setOrigdiscountprice( json.getBigDecimal("receivedPostFee"));//单价
				  
		
				  
				  Entitys.setOrigdiscountamount(json.getBigDecimal("receivedPostFee"));//金额
				  
				  Entitys.setDiscountamount( json.getBigDecimal("receivedPostFee"));//金额 
				    
				  
				  Entitys.setDiscount( new BigDecimal(0));
				  Entitys.setDatasource(1531l );
				  Entitys.setDiscountrate( new BigDecimal(1));
				  Entitys.setDeliveryquantity( null);
	
				  Entitys.setCode("0000");
				  

				  
				  Entitys.setManufacturequantity( null );
				  Entitys.setPricestrategytypename("" );
				  Entitys.setTaxrate( itemMap.get("YF").getTax() );//税率
				  Entitys.setBasequantity( new BigDecimal(1));//数量
				  Entitys.setBasediscountprice(null );
				  Entitys.setPromotionsinglevouchercode("" );
		
				  Entitys.setExecutedquantity(null );
				  Entitys.setSaleoutquantity( null);
				  Entitys.setQuantity(  new BigDecimal(1));
				  Entitys.setSubquantity( new BigDecimal(1));
				  Entitys.setIspresent( 0);//0不是,是否赠品
				  
				  Entitys.setTax( new BigDecimal(0));//税额=金额*税率
				  Entitys.setOrigtax( new BigDecimal(0));//税额=金额*税率
				  
				
				
				  Entitys.setPrarequiretimes(0l );
				
				  Entitys.setOrigprice(null );
				  Entitys.setIsmemberintegral(0 );
			
				  Entitys.setHaspra(0 );
	
				  Entitys.setPurchasequantity2(null );
				  Entitys.setOrigdiscount(null );
				  Entitys.setIsmodifiedprice(1 );

				  Entitys.setIsclose(0 );
				  Entitys.setDeliveryquantity2(null );
				  Entitys.setBaseprice( null);
				  Entitys.setPromotionvoucherids( "");
	  
				  Entitys.setPrice(null );
 
				  xsddmxList.add(Entitys);	
 
		      
       }
       
       
       BigDecimal result2 = xsddmxList.stream().map(SaSaleorderB::getTaxamount).reduce(BigDecimal.ZERO,BigDecimal::add);
       BigDecimal result3 = xsddmxList.stream().map(SaSaleorderB::getDiscountamount).reduce(BigDecimal.ZERO,BigDecimal::add);

       xsddhz.setOrigamount(result3 );
       xsddhz.setTaxamount(result2 );//含税金额
       xsddhz.setOrigtaxamount(result2 );//含税金额
      xsddhz.setAmount(result3);
       
       
       xsddhz.setSaSaleorderBList(xsddmxList);
      
       if(xsddmxList==null||xsddmxList.size()==0) {
    	   jkySalesoutService.UpdateReturnInfo(fahuo.getId(), "明细不符合");  
    	   continue;
       }
 

       insertSaSaleorder(xsddhz);
     
       
       Long logid=logService.getMaxId(); 
       //畅捷通插入完之后,插入日志
       EapOperationlog log=new EapOperationlog();
       log.setOperatetype(0);
       log.setAccountid("1");
       log.setAccountname("开发测试");
       log.setModulecode("SA");
       log.setFunctioncode("SA03");
       log.setFunctionname("");
       log.setOperate("新增");
       log.setUserid("18201931851");
       log.setUsername("DEMO");
       log.setMachinename("157.0.162.182");
       log.setTime( new Date());//CONVERT(DateTime, N'2023-06-19 22:53:53',120),  
       log.setDocno(json.getString("tradeNo"));
       log.setStatus(1);
       log.setDescription("id="+logid);
       log.setFunctiondate(new Date());//  CONVERT(DateTime, N'2023-06-19 00:00:00',120)  )
       logService.insertEapOperationlog(log);
       
       //畅捷通插入完之后,逐条更新明细库存
//       for(int x=0;x<xsddmxList.size();x++) {
//    	   //需要先查出库存id, 仓库id+货品id去查 库存id
//    	   Long id=   stockService.getId(xsddmxList.get(x).getIdwarehouse(),xsddmxList.get(x).getIdinventory());
//    	   BigDecimal qty=getQtyById(xsddmxList.get(x).getIdwarehouse(),xsddmxList.get(x).getIdinventory());
//    	   StCurrentstock stock=new StCurrentstock();
//    	   stock.setForsaleorderbasequantity(qty );//销售订单占用主数量 
//    	 //  stock.setPurchaseforreceivebasequantity( );//采购入库待入主数量 
//    	   stock.setUpdateBy("18201931851");
//    	//   stock.setBasequantity();//主计量数量 
//    	   stock.setUpdated(new Date());
//    	   stock.setId(id );//库存id
//    	   stock.setTs(new Date());
//    	   stockService.updateStCurrentstock(stock);
//       }
             
       // 更新客户信用率相关信息:
       SaCreditoccupancyhistory his=new SaCreditoccupancyhistory();
       his.setIdcustomer(Long.valueOf(csMap.get(json.getString("shopName")).getOfinterid())  );//客户id
      // his.setIdclerk( );
       his.setOperationtype( "新增");
       his.setVouchercode( json.getString("tradeNo"));
       his.setUpdated(new Date());//,CONVERT(DateTime, N'2023-06-19 22:53:53',120
       his.setOrderunoutamount( result2);//
       his.setOutunsettleamount(new BigDecimal(0)  );
       his.setSalesettleamount( new BigDecimal(0) );
       his.setIncomeunsettleamount(new BigDecimal(0) );
       his.setReceiveuncancelamount(new BigDecimal(0)  );
       his.setExpensesettleamount(new BigDecimal(0)  );
       his.setOrderunoutamountforaudit(new BigDecimal(0)  );
       his.setOutunsettleamountforaudit(new BigDecimal(0)  );
       his.setSalesettleamountforaudit( new BigDecimal(0) );
       his.setIncomeunsettleamountforaudit(new BigDecimal(0) );
       his.setReceiveuncancelamountforaudit(new BigDecimal(0)  );
       his.setExpensesettleamountforaudit(new BigDecimal(0) );
       sacreditService.insertSaCreditoccupancyhistory(his);
       
       jkySalesoutService.updateStatusByCode(fahuo.getId(),"同步成功","同步成功");

       ids.add(fahuo.getId());
     
	   }
	       return ids;
	   
	}

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值