|  | @@ -19,6 +19,7 @@ import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.documents.shippingDetails.mapper.SyShippingDetailsItemMapper;
 | 
	
		
			
				|  |  | +import org.jeecg.modules.documents.shippingDetails.mapper.SyShippingDetailsMapper;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.documents.shippingDetails.service.impl.SyShippingDetailsItemServiceImpl;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
 | 
	
		
			
				|  |  |  import org.jeecg.modules.openApi.entity.DxpDataPlan;
 | 
	
	
		
			
				|  | @@ -48,6 +49,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.interceptor.TransactionAspectSupport;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import javax.annotation.Resource;
 | 
	
		
			
				|  |  |  import java.io.FileWriter;
 | 
	
		
			
				|  |  |  import java.io.Serializable;
 | 
	
		
			
				|  |  |  import java.lang.reflect.Array;
 | 
	
	
		
			
				|  | @@ -70,6 +72,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private SyPackingListFabricItemMapper syPackingListFabricItemMapper;
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  | +	private SyShippingDetailsMapper syShippingDetailsMapper;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  |  	private SyShippingDetailsItemMapper syShippingDetailsItemMapper;
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private SyDeclarationElementsMapper syDeclarationElementsMapper;
 | 
	
	
		
			
				|  | @@ -132,6 +136,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  			entity.setFactoryUnitPrice(detailsItem.getFactoryUnitPrice());//工厂单价
 | 
	
		
			
				|  |  |  			entity.setTotalPrice(entity.getActualDeclaredQuantity().multiply(entity.getPrice()));//实际报关数量*单价
 | 
	
		
			
				|  |  |  			if((entity.getInventoryCode().indexOf("03")!=-1&&!entity.getInventoryCode().equals("0399")) ||
 | 
	
		
			
				|  |  | +					(entity.getInventoryCcode().indexOf("02")!=-1&&!entity.getInventoryCcode().equals("0299"))||
 | 
	
		
			
				|  |  |  					(entity.getInventoryCode().indexOf("04")!=-1&&!entity.getInventoryCode().equals("0499"))){
 | 
	
		
			
				|  |  |  				if(entity.getMasterMetering()!=null&&entity.getMasterMetering().equals("KG")){//当单位为KG时
 | 
	
		
			
				|  |  |  					entity.setTotalPrice(entity.getNetWeight().multiply(entity.getPrice()));//净重*单价
 | 
	
	
		
			
				|  | @@ -173,6 +178,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  				syShippingDetailsItemMapper.updateById(s1);*/
 | 
	
		
			
				|  |  |  				entity.setTotalPrice(entity.getActualDeclaredQuantity().multiply(entity.getPrice()));//实际报关数量*单价
 | 
	
		
			
				|  |  |  				if((entity.getInventoryCode().indexOf("03")!=-1&&!entity.getInventoryCode().equals("0399")) ||
 | 
	
		
			
				|  |  | +						(entity.getInventoryCcode().indexOf("02")!=-1&&!entity.getInventoryCcode().equals("0299"))||
 | 
	
		
			
				|  |  |  						(entity.getInventoryCode().indexOf("04")!=-1&&!entity.getInventoryCode().equals("0499"))){
 | 
	
		
			
				|  |  |  					if(entity!=null&&entity.getMasterMetering().equals("KG")){//当单位为KG时
 | 
	
		
			
				|  |  |  						entity.setTotalPrice(entity.getNetWeight().multiply(entity.getPrice()));//净重*单价
 | 
	
	
		
			
				|  | @@ -518,6 +524,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  			syPackingListFabric.setStatus("0");
 | 
	
		
			
				|  |  |  			syPackingListFabric.setDelFlag("0");
 | 
	
		
			
				|  |  |  			syPackingListFabricMapper.insert(syPackingListFabric);
 | 
	
		
			
				|  |  | +			//客户名
 | 
	
		
			
				|  |  | +			//客户简称
 | 
	
		
			
				|  |  |  			for (SyPackingListFabricItem s1 : syPackingListFabric.getSyPackingListFabricItem()) {
 | 
	
		
			
				|  |  |  				s1.setId(null);
 | 
	
		
			
				|  |  |  				s1.setDelFlag("0");
 | 
	
	
		
			
				|  | @@ -526,28 +534,62 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  				if(item!=null){
 | 
	
		
			
				|  |  |  					//规格型号	超发	发运明细剩余数量	业务部门		价格	总价(计算)
 | 
	
		
			
				|  |  |  					s1.setSalesDepartment(item.getSalesDepartment());//业务部门
 | 
	
		
			
				|  |  | +					syPackingListFabric.setGarmentFactory(item.getGarmentFactory());//主表的成衣
 | 
	
		
			
				|  |  | +					syPackingListFabric.setCustomerAbbreviation(item.getCustomerAbbreviation());//客户简称
 | 
	
		
			
				|  |  |  					s1.setPrice(item.getSalesUnitPrice());//销售单价
 | 
	
		
			
				|  |  | -					s1.setSpecificationAndModel(item.getSpecificationAndModel());//规格型号
 | 
	
		
			
				|  |  | -					s1.setExcessQuantity(s1.getActualDeclaredQuantity().subtract(item.getSurplusQuantity()));//超发数量
 | 
	
		
			
				|  |  | -					s1.setSurplusQuantity(item.getSurplusQuantity().subtract(s1.getActualDeclaredQuantity()).intValue());//剩余数量
 | 
	
		
			
				|  |  | -					item.setExcessQuantity(s1.getActualDeclaredQuantity().subtract(item.getSurplusQuantity()));
 | 
	
		
			
				|  |  | -					item.setSurplusQuantity(item.getSurplusQuantity().subtract(s1.getActualDeclaredQuantity()));
 | 
	
		
			
				|  |  | +					s1.setInventoryCcode(item.getInventoryCcode());//物料分类
 | 
	
		
			
				|  |  |  					s1.setMasterMetering(item.getMasterMetering());//单位
 | 
	
		
			
				|  |  | -					syShippingDetailsItemMapper.updateById(item);
 | 
	
		
			
				|  |  | +					syPackingListFabric.setSyDeclarationElementsId(item.getShippingDetailsId());//出运明细主表id
 | 
	
		
			
				|  |  | +					s1.setSpecificationAndModel(item.getSpecificationAndModel());//规格型号
 | 
	
		
			
				|  |  |  					if(s1.getActualDeclaredQuantity()!=null){
 | 
	
		
			
				|  |  |  						s1.setTotalPrice(s1.getActualDeclaredQuantity().multiply(s1.getPrice()));//实际报关数量*单价
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  | -					if((s1.getInventoryCode().indexOf("03")!=-1&&!s1.getInventoryCode().equals("0399")) ||
 | 
	
		
			
				|  |  | -						(s1.getInventoryCode().indexOf("04")!=-1&&!s1.getInventoryCode().equals("0499"))){
 | 
	
		
			
				|  |  | +					if((s1.getInventoryCcode().indexOf("03")!=-1&&!s1.getInventoryCcode().equals("0399")) ||
 | 
	
		
			
				|  |  | +							(s1.getInventoryCcode().indexOf("02")!=-1&&!s1.getInventoryCcode().equals("0299"))||
 | 
	
		
			
				|  |  | +						(s1.getInventoryCcode().indexOf("04")!=-1&&!s1.getInventoryCcode().equals("0499"))){
 | 
	
		
			
				|  |  |  						if(s1.getMasterMetering()!=null&&s1.getMasterMetering().equals("KG")){//当单位为KG时
 | 
	
		
			
				|  |  |  							s1.setTotalPrice(s1.getNetWeight().multiply(s1.getPrice()));//净重*单价
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +							s1.setActualDeclaredQuantity(s1.getNetWeight());//净重为报关数量
 | 
	
		
			
				|  |  |  						}else if(s1.getMasterMetering()!=null&&s1.getMasterMetering().equals("M")){
 | 
	
		
			
				|  |  | -							s1.setTotalPrice(s1.getMeter().multiply(s1.getPrice()));//米数*单价
 | 
	
		
			
				|  |  | +							if(s1.getMeter()!=null){
 | 
	
		
			
				|  |  | +								s1.setTotalPrice(s1.getMeter().multiply(s1.getPrice()));//米数*单价
 | 
	
		
			
				|  |  | +								s1.setActualDeclaredQuantity(s1.getNetWeight());//净重为报关数量
 | 
	
		
			
				|  |  | +							}
 | 
	
		
			
				|  |  |  						}
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  | +					if(item.getInventoryCcode()!=null&&item.getInventoryCcode().indexOf("04")>-1
 | 
	
		
			
				|  |  | +							&&!item.getInventoryCcode().equals("0499")){
 | 
	
		
			
				|  |  | +						//满足条件
 | 
	
		
			
				|  |  | +						s1.setSupplierCodeDyeingPlant(item.getRSupplierCode());//染厂编码
 | 
	
		
			
				|  |  | +						s1.setSupplierCodePrintingPlant(item.getSupplierCode());//染厂
 | 
	
		
			
				|  |  | +						s1.setSupplierCodePrintingPlant(item.getSupplierCode());//印厂编码
 | 
	
		
			
				|  |  | +						s1.setSupplierPrintingPlant(item.getSupplier());//印厂
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					if(item.getInventoryCcode()!=null&&item.getInventoryCcode().indexOf("03")>-1
 | 
	
		
			
				|  |  | +							&&!item.getInventoryCcode().equals("0399")){
 | 
	
		
			
				|  |  | +						//满足条件
 | 
	
		
			
				|  |  | +						s1.setSupplierCodeDyeingPlant(item.getSupplierCode());//染厂编码
 | 
	
		
			
				|  |  | +						s1.setSupplierDyeingPlant(item.getSupplier());//染厂
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					s1.setSpecificationAndModel(item.getSpecificationAndModel());//规格型号
 | 
	
		
			
				|  |  | +					s1.setExcessQuantity(s1.getActualDeclaredQuantity().subtract(item.getSurplusQuantity()));//超发数量
 | 
	
		
			
				|  |  | +					s1.setSurplusQuantity(item.getSurplusQuantity().subtract(s1.getActualDeclaredQuantity()).intValue());//剩余数量
 | 
	
		
			
				|  |  | +					item.setExcessQuantity(s1.getActualDeclaredQuantity().subtract(item.getSurplusQuantity()));
 | 
	
		
			
				|  |  | +					item.setSurplusQuantity(item.getSurplusQuantity().subtract(s1.getActualDeclaredQuantity()));
 | 
	
		
			
				|  |  | +					syShippingDetailsItemMapper.updateById(item);
 | 
	
		
			
				|  |  | +				}else{
 | 
	
		
			
				|  |  | +					throw new JeecgBootException("出运明细未找到对应数据");
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  				syPackingListFabricItemMapper.insert(s1);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | +			if(syPackingListFabric.getSyDeclarationElementsId()!=null){
 | 
	
		
			
				|  |  | +				SyShippingDetails syShippingDetails=syShippingDetailsMapper.selectById(syPackingListFabric.getSyDeclarationElementsId());
 | 
	
		
			
				|  |  | +				if(syShippingDetails!=null){
 | 
	
		
			
				|  |  | +					syPackingListFabric.setCustomer(syShippingDetails.getCustomer());
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -575,7 +617,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  				List<SyPackingListFabricItem> items=syPackingListFabric.getSyPackingListFabricItem();
 | 
	
		
			
				|  |  |  				for(SyPackingListFabricItem item :items){
 | 
	
		
			
				|  |  |  					SyShippingDetailsItem syShippingDetailsItem=syShippingDetailsItemMapper.selectById(item.getSyShippingDetailsItemId());//itemid
 | 
	
		
			
				|  |  | -					if(item==null){
 | 
	
		
			
				|  |  | +					if(syShippingDetailsItem==null){
 | 
	
		
			
				|  |  |  						throw new JeecgBootException("出运明细未找到对应数据");
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  					if(item.getActualDeclaredQuantity()!=null){
 | 
	
	
		
			
				|  | @@ -583,6 +625,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  						item.setTotalPrice(item.getActualDeclaredQuantity().multiply(syShippingDetailsItem.getSalesUnitPrice()));//实际报关数量*单价
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  					if((syShippingDetailsItem.getInventoryCode().indexOf("03")!=-1&&!syShippingDetailsItem.getInventoryCode().equals("0399")) ||
 | 
	
		
			
				|  |  | +							(syShippingDetailsItem.getInventoryCcode().indexOf("02")!=-1&&!syShippingDetailsItem.getInventoryCcode().equals("0299"))||
 | 
	
		
			
				|  |  |  							(syShippingDetailsItem.getInventoryCode().indexOf("04")!=-1&&!syShippingDetailsItem.getInventoryCode().equals("0499"))){
 | 
	
		
			
				|  |  |  						if( item.getMasterMetering().equals("KG")){//当单位为KG时
 | 
	
		
			
				|  |  |  							item.setTotalPrice(item.getNetWeight().multiply(syShippingDetailsItem.getSalesUnitPrice()));//净重*单价
 | 
	
	
		
			
				|  | @@ -652,6 +695,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  					if(syOrderDataItem!=null){//不为null
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  						if((item.getInventoryCcode().indexOf("03")!=-1&&!item.getInventoryCcode().equals("0399")) ||
 | 
	
		
			
				|  |  | +								(item.getInventoryCcode().indexOf("02")!=-1&&!item.getInventoryCcode().equals("0299"))||
 | 
	
		
			
				|  |  |  								(item.getInventoryCcode().indexOf("04")!=-1&&!item.getInventoryCcode().equals("0499"))){//面料
 | 
	
		
			
				|  |  |  							//米数计算公式 净重/(门幅/100)/(克重/1000)
 | 
	
		
			
				|  |  |  							if(item.getNetWeight()!=null&&item.getGramWeight()!=null&&item.getWidth()!=null){
 |