采购入库单审核后将信息写道商品信息中
This commit is contained in:
		
							parent
							
								
									b357c2c27c
								
							
						
					
					
						commit
						eb89b2d052
					
				|  | @ -13,6 +13,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; | ||||||
| import kd.bos.servicehelper.operation.SaveServiceHelper; | import kd.bos.servicehelper.operation.SaveServiceHelper; | ||||||
| import kd.sdk.plugin.Plugin; | import kd.sdk.plugin.Plugin; | ||||||
| 
 | 
 | ||||||
|  | import java.math.BigDecimal; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
| 
 | 
 | ||||||
|  | @ -35,7 +36,7 @@ public class PurInIotManagePlugin extends AbstractOperationServicePlugIn impleme | ||||||
|             String billno = dataEntity.getString("billno"); |             String billno = dataEntity.getString("billno"); | ||||||
|             QFilter qFilter = new QFilter("billno", QCP.equals, billno); |             QFilter qFilter = new QFilter("billno", QCP.equals, billno); | ||||||
|             DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("im_purinbill", |             DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("im_purinbill", | ||||||
|                     "billentry.producedate,billentry.expirydate,billentry.lotnumber,billentry.tqq9_registration,billentry.material", |                     "billentry.producedate,billentry.expirydate,billentry.lotnumber,billentry.tqq9_registration,billentry.material,billentry.warehouse", | ||||||
|                     qFilter.toArray()); |                     qFilter.toArray()); | ||||||
|             DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry"); |             DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry"); | ||||||
| //            DynamicObject[] tqq9_goodlotmanages=new DynamicObject[billentry.size()]; | //            DynamicObject[] tqq9_goodlotmanages=new DynamicObject[billentry.size()]; | ||||||
|  | @ -72,6 +73,58 @@ public class PurInIotManagePlugin extends AbstractOperationServicePlugIn impleme | ||||||
|                     falg = true; |                     falg = true; | ||||||
|                     tqq9_goodlotmanages.add(tqq9_goodlotmanage); |                     tqq9_goodlotmanages.add(tqq9_goodlotmanage); | ||||||
|                 } |                 } | ||||||
|  | 
 | ||||||
|  |                 String warehouseNumber = null; | ||||||
|  |                 DynamicObject warehouse = entry.getDynamicObject("warehouse"); | ||||||
|  |                 if(warehouse != null){ | ||||||
|  |                     warehouseNumber = warehouse.getString("number"); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 //同时将批次信息写到商城商品信息上 | ||||||
|  |                 QFilter f1 = new QFilter("tqq9_mater.id", "=", "material.id"); | ||||||
|  |                 QFilter f2 = new QFilter("tqq9_isauto", "=", true); | ||||||
|  |                 DynamicObject[] goodsArr = BusinessDataServiceHelper.load("tqq9_goodspackage", "id,name.number", new QFilter[]{f1, f2}); | ||||||
|  |                 if(goodsArr != null && goodsArr.length > 0){ | ||||||
|  |                     // 物料已经被封装成了商品 | ||||||
|  |                     boolean isExistEntry = false;//在明细中是否能找到对应的商品信息 | ||||||
|  |                     DynamicObjectCollection entryies = goodsArr[0].getDynamicObjectCollection("tqq9_entry"); | ||||||
|  |                     for (DynamicObject entry1 : entryies) { | ||||||
|  |                         String lotNumber = null; | ||||||
|  |                         DynamicObject tqq9_lot = entry1.getDynamicObject("tqq9_lot"); | ||||||
|  |                         if(tqq9_lot != null){ | ||||||
|  |                             lotNumber = tqq9_lot.getString("number"); | ||||||
|  |                         } | ||||||
|  |                         String whNumber = ""; | ||||||
|  |                         DynamicObject wh = entry1.getDynamicObject("tqq9_basedatafield"); | ||||||
|  |                         if(wh != null){ | ||||||
|  |                             whNumber = wh.getString("number"); | ||||||
|  |                         } | ||||||
|  |                         Date tqq9_productdate = entry1.getDate("tqq9_productdate"); | ||||||
|  |                         Date tqq9_todate = entry1.getDate("tqq9_todate"); | ||||||
|  | 
 | ||||||
|  |                         if(lotNumber.equals(lotnumber) && whNumber.equals(warehouseNumber) | ||||||
|  |                                 && ((tqq9_productdate == null && producedate == null) || (tqq9_productdate.equals(producedate))) | ||||||
|  |                                 && ((tqq9_todate == null && expirydate == null) || (tqq9_todate.equals(expirydate)))){ | ||||||
|  |                             // 如果现有的商品数据存在 | ||||||
|  |                             BigDecimal tqq9_availablestock = entry1.getBigDecimal("tqq9_availablestock"); | ||||||
|  |                             entry1.set("tqq9_availablestock", tqq9_availablestock.add(entry.getBigDecimal("qty"))); | ||||||
|  |                             BigDecimal tqq9_upstock = entry1.getBigDecimal("tqq9_upstock"); | ||||||
|  |                             entry1.set("tqq9_upstock", tqq9_upstock.add(entry.getBigDecimal("qty"))); | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                     if(!isExistEntry){ | ||||||
|  |                         DynamicObject entry1 = entryies.addNew(); | ||||||
|  |                         entry1.set("tqq9_lot", entry.getDynamicObject("lot"));//批号 | ||||||
|  |                         entry1.set("tqq9_basedatafield", warehouse);//仓库 | ||||||
|  |                         entry1.set("tqq9_productdate", producedate);//生产日期 | ||||||
|  |                         entry1.set("tqq9_todate", expirydate);//到期日期 | ||||||
|  |                         entry1.set("tqq9_availablestock", entry.getBigDecimal("qty"));//到期日期 | ||||||
|  |                         entry1.set("tqq9_upstock", entry.getBigDecimal("qty"));//到期日期 | ||||||
|  |                     } | ||||||
|  |                     SaveServiceHelper.save(new DynamicObject[]{goodsArr[0]}); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|             } |             } | ||||||
|             if (falg) { |             if (falg) { | ||||||
|                 DynamicObject[] objects = new DynamicObject[tqq9_goodlotmanages.size()]; |                 DynamicObject[] objects = new DynamicObject[tqq9_goodlotmanages.size()]; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue