| 
					
				 | 
			
			
				@@ -1,10 +1,16 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package org.jeecg.modules.splt.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.dynamic.datasource.annotation.DS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.google.gson.JsonArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.google.gson.JsonObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.common.exception.JeecgBootException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.common.util.oConvertUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.config.InterfaceConnUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13,6 +19,7 @@ import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderItemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.syShippingOrder.service.ISyShippingOrderService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.openApi.mapper.PurchaseWarehousingMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.spapl.entity.SizeTable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,8 +100,12 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPreItem.setExcessQuantity(syPreItem.getRemainingQuantity().subtract(item1.getTotal()).negate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setSalesman(syPreItem.getSalesman());//获取业务员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setSalesDepartment(syPreItem.getSalesDepartment());//获取业务部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setSyOrderDataId(syPreItem.getSyOrderDataId());//订单数据主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setSyOrderDataItemId(syPreItem.getSyOrderDataItemId());//订单数据子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setOrderNumber(syPreItem.getOrderNumber());//销售订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setSpurOrSubOrder(syPreItem.getSpurOrSubOrder());//获取采购委外订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setOmpoId(syPreItem.getOmpoId());//获取采购委外主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setOmpoIdItem(syPreItem.getOmpoIdItem());//获取采购委外子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPreAssembledPackingListItemMapper.updateById(syPreItem);//修改剩余数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPackingListTailoringItemMapper.insert(item1);//添加子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -171,6 +182,10 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateWrapper.set("is_Reference","2");//已被预装箱单参照,装箱单不能取消提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateWrapper.eq("id",syPackingListTailoring.getSyPreAssembledPackingListId());//预装箱单主表id做为修改条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListMapper.update(null,updateWrapper);//修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SyPreAssembledPackingList syPreAssembledPackingList=syPreAssembledPackingListMapper.selectById(syPackingListTailoring.getSyPreAssembledPackingListId());//获取订单数据id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(syPreAssembledPackingList!=null&&syPreAssembledPackingList.getSyOrderDataId()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syPackingListTailoring.setSyOrderDataId(syPackingListTailoring.getSyOrderDataId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(syPackingListTailoring.getSyPackingListTailoringItemList()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			BigDecimal box=add(syPackingListTailoring.getSyPackingListTailoringItemList(),syPackingListTailoring.getId(),syPackingListTailoring.getElementsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoring.setTotalBoxes(box); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -189,16 +204,25 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setDelFlag("0");//删除状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setPushState("0");//推送状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setStatus("0");//单据状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPackingListTailoring.setDocumentNo(randomStr());//单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setDocumentNo(randomStr());//获取单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoringMapper.insert(syPackingListTailoring);//往主表添加数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,String> mapId=new HashMap<String, String>();//key为发运明细子表id,value为分组id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for(SyPackingListTailoringItem s1 : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setTotal(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setTotalBoxes(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setTotalVolume(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setTotalPrice(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for(SyPackingListTailoringItem s1 : items){//调整面辅料云工厂接口,导入添加验证,改面辅料金额计算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			s1.setSyPackingListTailoringId(syPackingListTailoring.getId());//获取主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(!mapId.containsKey(s1.getGroupId())){//如果这个发运明细id没有分组id,就生成一个新的分组id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				mapId.put(s1.getGroupId(), org.jeecg.modules.system.util.oConvertUtils.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPackingListTailoring.setTotalBoxes(syPackingListTailoring.getTotalBoxes().add(s1.getBoxNumber()));//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			s1.setGroupId(mapId.get(s1.getGroupId()));//获取id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syPackingListTailoring.setTotalBoxes(s1.getBoxNumber());//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoring.setTotal(syPackingListTailoring.getTotal().add(s1.getTotal()));//总件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoring.setTotalNetWeight(syPackingListTailoring.getTotalNetWeight().add(s1.getTotalNetWeight()));//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoring.setTotalGrossWeight(syPackingListTailoring.getTotalGrossWeight().add(s1.getTotalGrossWeight()));//总毛重 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -592,4 +616,251 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		System.out.println("strs\n"+strs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return strs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private PurchaseWarehousingMapper purchaseWarehousingMapper;//采购入库表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-one") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public JSONArray one(List<SyPackingListTailoring> mains){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return saveBatch(mains ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-two") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public JSONArray two(List<SyPackingListTailoring> mains){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return saveBatch(mains ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-three") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public JSONArray three(List<SyPackingListTailoring> mains){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return saveBatch(mains ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String getOrderDataId(String id){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return syPackingListTailoringMapper.getOrderDataId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	JSONArray saveBatch(List<SyPackingListTailoring> mains ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(mains==null||mains.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return new JSONArray();//为空就传回空对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray mapList=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray mapList2=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray mapList3=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray mapList4=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray mapList5=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray mapList6=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray mapLists=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SyPackingListTailoring main : mains){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String createBy="进出口平台管理员"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String ompoId="";//采购委外id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String orderName="";//采购委外订单名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject map=new JSONObject();//采购(委外)入库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map.put("CVOUCHCODE",purchaseWarehousingMapper.getMaxCode("id+1","RdRecord01","dnmaketime"));//获取单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map.put("DDATE",main.getCreateTime());//日期(格式2015-01-01) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map.put("CMAKER",createBy);//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map.put("cVouchType",1);//传1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map.put("cOrderCode",main.getOrderNumber());//销售订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject map2=new JSONObject();//材料出库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map2.put("CVOUCHCODE",purchaseWarehousingMapper.getMaxCode("ID+1","rdrecord11","dnmaketime"));//单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map2.put("DDATE",main.getCreateTime());//日期(格式2015-01-01) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map2.put("CHANDLER",createBy);//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map2.put("CMAKER",createBy);//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map2.put("cOrderCode",main.getOrderNumber());//销售订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject map3=new JSONObject();//销售发货单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map3.put("CVOUCHCODE",purchaseWarehousingMapper.getMaxCode("DLID+1","DispatchList","dcreatesystime"));//发货单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map3.put("DDATE",main.getCreateTime());//发货日期(yyyy-MM-dd) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map3.put("BRETURNFLAG","0");//退货标识(1:退货,0:发货) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map3.put("CMAKER",createBy);//制单人名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject map4=new JSONObject();//销售出库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map4.put("CVOUCHCODE",purchaseWarehousingMapper.getMaxCode("ID+1","rdrecord32","dnmaketime"));//单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map4.put("DDATE",main.getCreateTime());//订单日期(格式2015-01-01) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map4.put("CMAKER",createBy);//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject map5=new JSONObject();//采购发票 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map5.put("CVOUCHCODE",purchaseWarehousingMapper.getMaxCode("PBVID+1","PurBillVouch","cmaketime"));//发票号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map5.put("DDATE",main.getCreateTime());//发票日期(格式2015-01-01) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map5.put("CTYPE","x");//发票类型(01:专用 02:普票) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map5.put("CMAKER",createBy);//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject map6=new JSONObject();//销售发票 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map6.put("CVOUCHCODE",purchaseWarehousingMapper.getMaxCode("SBVID+1","SaleBillVouch","dcreatesystime"));//发票号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map6.put("DDATE",main.getCreateTime());//发票日期(yyyy-MM-dd) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map6.put("CTYPE","x");//发票类型(普通,专用) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map6.put("CMAKER",createBy);//制单人名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONArray mapItems=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONArray mapItems2=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONArray mapItems3=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONArray mapItems4=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONArray mapItems5=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONArray mapItems6=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(main.getSyOrderDataId()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Map<String,Object> order=syPackingListTailoringMapper.getSoMain(main.getSyOrderDataId().substring(3)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(order!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//cPersonCode,cDepCode,cBusType,cPayCode,cexch_name,nflat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map2.put("CDEPCODE",order.get("cDepCode"));//部门编码(如果传空,取来源单据) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map2.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,接口默认人民币) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map2.put("CPERSONCODE",order.get("cPersonCode"));//业务员编码(如果传空,取来源单据) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map3.put("CBUSTYPE",order.get("cBusType"));//业务类型(普通销售、分期付款)(如果传空,取来源单据) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map4.put("CEXCH_NAME",order.get("cexch_name"));//币种名称(如果传空,传来源单据;无来源单据,默认人民币) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map6.put("CBUSTYPE",order.get("cBusType"));//业务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (SyPackingListTailoringItem item : main.getSyPackingListTailoringItemList()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				JSONObject mapItem=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				JSONObject mapItem2=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				JSONObject mapItem3=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				JSONObject mapItem4=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				JSONObject mapItem5=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				JSONObject mapItem6=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(item.getSupplierCode()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map.put("CVENCODE",item.getSupplierCode());//供应商编码(如果传空,取来源单据) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					String wheCode=syPackingListTailoringMapper.getWhCodeByVenCode(item.getSupplierCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(wheCode!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						map.put("CWHCODE",wheCode);//仓库编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						map2.put("CWHCODE",wheCode);//仓库编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						map4.put("CWHCODE",main.getCreateBy());//仓库编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						mapItem3.put("CWHCODE",wheCode);//仓库编码	这个是子表需要字段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						mapItem6.put("CWHCODE",wheCode);//仓库编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				map.put("CACCID",item.getAcSetNo());//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				map2.put("CACCID",item.getAcSetNo());//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				map3.put("CACCID",item.getAcSetNo());//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				map4.put("CACCID",item.getAcSetNo());//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				map5.put("CACCID",item.getAcSetNo());//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				map6.put("CACCID",item.getAcSetNo());//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(map.get("cOrderCode")==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map.put("cOrderCode",item.getOrderNumber());//销售订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map2.put("cOrderCode",item.getOrderNumber());//销售订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				ompoId=item.getOmpoId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				orderName=item.getSpurOrSubOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(ompoId!=null&&ompoId.length()!=0&&orderName!=null&&orderName.length()!=0&&!map.containsKey("CRDCODE")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					Map<String,Object> orderData=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					orderData=syPackingListTailoringMapper.getOmOrPo("PO_POMAIN","POID='"+ompoId+"'","cPOID='"+orderName+"'"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map.put("CRDCODE","采购入库");//入库类别(采购入库/委外入库) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					map2.put("CRDCODE","采购出库");//出库类别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(orderData==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						orderData=syPackingListTailoringMapper.getOmOrPo("om_momain","MOID='"+ompoId+"'","cCode='"+orderName+"'"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						map.put("CRDCODE","委外入库");//入库类别(采购入库/委外入库) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						map2.put("CRDCODE","委外出库");//出库类别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(orderData!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						map5.put("IEXCHRATE",orderData.get("nflat"));//汇率(如果传空,接口默认1)cPayCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						map5.put("CPAYCODE",orderData.get("cPayCode"));//付款条件编码(如果传空,取来源单据) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(map.containsKey("CRDCODE")&&map.get("CRDCODE").equals("采购入库")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem.put("POAUTOIDCOL","ID");//订单明细ID对应字段名(关联单据类型为采购订单传ID,为采购到货单为Autoid,为委外订单传MODetailsID,为委外到货单为Autoid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}else if(map.containsKey("CRDCODE")&&map.get("CRDCODE").equals("委外入库")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem.put("POAUTOIDCOL","MODetailsID");//订单明细ID对应字段名(关联单据类型为采购订单传ID,为采购到货单为Autoid,为委外订单传MODetailsID,为委外到货单为Autoid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem2.put("AUTOID_ALL",item.getOmpoIdItem());//关联明细ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem2.put("ALLCAUTOIDCOL","AllocateId");//订单明细ID对应字段名(固定AllocateId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Map<String,Object> orderDataItem=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(map.containsKey("CRDCODE")&&map.get("CRDCODE").equals("采购入库")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					orderDataItem=syPackingListTailoringMapper.getOmOrPoItem("PO_PoDetails", "ID='"+item.getOmpoIdItem()+"'"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem5.put("POAUTOIDCOL","ID");//明细ID对应字段名(关联单据类型为采购订单传ID,委外订单传MODetailsID,入库单为Autoid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem5.put("AUTOID_PO",item.getOmpoIdItem());//明细ID(采购订单行ID/委外订单行ID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					orderDataItem=syPackingListTailoringMapper.getOmOrPoItem("OM_MODetails", "MODetailsID='"+item.getOmpoIdItem()+"'"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem5.put("POAUTOIDCOL","MODetailsID");//明细ID对应字段名(关联单据类型为采购订单传ID,委外订单传MODetailsID,入库单为Autoid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem5.put("AUTOID_PO",item.getOmpoIdItem());//明细ID(采购订单行ID/委外订单行ID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem5.put("IORIMONEY",orderDataItem.get("iMoney"));//原币金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem5.put("IMONEY",orderDataItem.get("iNatMoney"));//本币金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(item.getSyOrderDataItemId()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					Map<String,Object> orderDataItem2=syPackingListTailoringMapper.getSoMainItem(item.getSyOrderDataItemId().substring(3)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem3.put("ITAXUNITPRICE",orderDataItem2.get("iTaxUnitPrice"));//原币含税单价(如果传空,取来源单据)(以含税单价为准自动计算相关价格及金额) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mapItem3.put("ITAXRATE",orderDataItem2.get("iTaxRate"));//税率(如果传空,取来源单据,无来源单据,取存货档案对应的销项税率) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem.put("CINVCODE",item.getInventoryCode());//存货编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem.put("IQUANTITY",item.getTotal());//数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem.put("AUTOID_PO",item.getOmpoIdItem());//明细ID(采购订单行ID/委外订单行ID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem.put("cBatch","x");//批号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem2.put("CINVCODE",item.getInventoryCode());//存货编码(如果来源单据是委外订单,此字段需要传该订单的子件编码) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem2.put("IQUANTITY",item.getTotal());//数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem3.put("CINVCODE",item.getInventoryCode());//存货编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem3.put("IQUANTITY",item.getTotal());//数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem3.put("SOAUTOIDCOL","ISOSID");//来源单据明细ID对应字段名(如果取销售订单主键,需传固定值ISOSID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem3.put("AUTOID_SO",item.getSyOrderDataItemId());//来源单据明细ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem4.put("CINVCODE",item.getInventoryCode());//存货编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem4.put("IQUANTITY",item.getTotal());//数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem4.put("SOAUTOIDCOL","x");//订单明细ID对应字段名(关联单据类型为发货单IDLSID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem4.put("AUTOID_PO","x");//关联明细ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem5.put("CINVCODE",item.getInventoryCode());//存货编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem5.put("IQUANTITY",item.getTotal());//数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem6.put("CINVCODE",item.getInventoryCode());//存货编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItem6.put("IQUNTITY",item.getTotal());//数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItems.add(mapItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItems2.add(mapItem2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItems3.add(mapItem3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItems4.add(mapItem4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItems5.add(mapItem5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItems6.add(mapItem6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map.put("DETAILList",mapItems);//明细集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mapList.add(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map2.put("DETAILList",mapItems2);//明细集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mapList2.add(map2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map3.put("DETAILList",mapItems3);//明细集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mapList3.add(map3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map4.put("DETAILList",mapItems4);//明细集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mapList4.add(map4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map5.put("DETAILList",mapItems5);//明细集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mapList5.add(map5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map6.put("DETAILList",mapItems6);//明细集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mapList6.add(map6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mapLists.addAll(mapList);/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mapLists.addAll(mapList2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mapLists.addAll(mapList3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mapLists.addAll(mapList4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mapLists.addAll(mapList5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mapLists.addAll(mapList6);*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("mapList1\n"+mapList);/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("mapList2\n"+mapList2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("mapList3\n"+mapList3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("mapList4\n"+mapList4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("mapList5\n"+mapList5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("mapList6\n"+mapList6);*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	//	JSONArray resturn1 = InterfaceConnUtils.doPost(mapList,"purchasein_import");//采购入库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		/*JSONArray resturn2 = InterfaceConnUtils.doPost(mapList,"materialout_import");//材料出库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray resturn3 = InterfaceConnUtils.doPost(mapList,"consignment_import");//销售发货单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray resturn4 = InterfaceConnUtils.doPost(mapList,"saleout_import");//销售出库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray resturn5 = InterfaceConnUtils.doPost(mapList,"purinvoice_import");//采购发票单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray resturn6 = InterfaceConnUtils.doPost(mapList,"saleinvoice_import");//销售发票单*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	//	System.out.println("调用接口后返回的信息resturn1\n"+resturn1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		/*System.out.println("resturn1\n"+resturn2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("resturn1\n"+resturn3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("resturn1\n"+resturn4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("resturn1\n"+resturn5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("resturn1\n"+resturn6);*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return mapLists; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |