| 
					
				 | 
			
			
				@@ -547,28 +547,80 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public int revokeTWarehousebillsById(Long fId, LoginUser loginUser, String billsType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public AjaxResult revokeTWarehousebillsById(Long fId, LoginUser loginUser, String billsType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 查询 仓库主表信息、库存明细信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 修改主表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tWarehousebills.setUpdateBy(loginUser.getUser().getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tWarehousebills.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tWarehousebills.setfBillstatus("3"); //撤销状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 查询库存明细从表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tWarehousebillsitems.setfPid(fId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TWarehousebillsitems> warehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 撤销 库存总账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (StringUtils.isNotEmpty(warehousebillsitems)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int i=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (TWarehousebillsitems wb : warehousebillsitems) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 查询库存总账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 TWhgenleg tWhgenle=queryTWhgenleg(tWarehousebills,wb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(!StringUtils.isNull(tWhgenle)){ // 非空修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    updateTWhgenlegData(wb,tWhgenle.getfId(),billsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if("SJRKRevoke".equals(billsType)){ // 撤销 入库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(StringUtils.isNotNull(tWhgenle) && (wb.getfQty() <= tWhgenle.getfQtyblc()) ){ // 非空 且 撤销数 <= 结余数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        updateTWhgenlegData(wb,tWhgenle.getfId(),billsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else{ // 撤销数>结余数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return AjaxResult.error("第"+i+"行撤销数大于库存结余数"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if("SJCKRevoke".equals(billsType)){ // 撤销出库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(StringUtils.isNotNull(tWhgenle) ){ // 非空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        updateTWhgenlegData(wb,tWhgenle.getfId(),billsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return AjaxResult.error("第"+i+"行未查询到库存信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if("CKDBRevoke".equals(billsType)){ // 调拨 撤销 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Long fCorpid=tWarehousebills.getfCorpid();// 原货权方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Long fTocorpid=tWarehousebills.getfTocorpid(); // 新货权方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //  1、新货权方撤销入库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 查询库存总账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tWarehousebills.setfCorpid(fTocorpid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    TWhgenleg tWhgenle1=queryTWhgenleg(tWarehousebills,wb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(StringUtils.isNotNull(tWhgenle1) && (wb.getfQty() <= tWhgenle1.getfQtyblc())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        updateTWhgenlegData(wb,tWhgenle1.getfId(),"SJRKRevoke"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return AjaxResult.error("第"+i+"行撤销数大于库存结余数"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //  2、原货权方撤销出库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 查询库存总账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tWarehousebills.setfCorpid(fCorpid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    TWhgenleg tWhgenle2=queryTWhgenleg(tWarehousebills,wb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateTWhgenlegData(wb,tWhgenle2.getfId(),"SJCKRevoke"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else if("HQZYRevoke".equals(billsType)){ // 货转撤销 HQZYRevoke 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Long fCorpid=tWarehousebills.getfCorpid();// 原货权方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Long fTocorpid=tWarehousebills.getfTocorpid(); // 新货权方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //  1、新货权方撤销入库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 查询库存总账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tWarehousebills.setfCorpid(fTocorpid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    TWhgenleg tWhgenle1=queryTWhgenleg(tWarehousebills,wb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(StringUtils.isNotNull(tWhgenle1) && (wb.getfQty() <= tWhgenle1.getfQtyblc())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        updateTWhgenlegData(wb,tWhgenle1.getfId(),"SJRKRevoke"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return AjaxResult.error("第"+i+"行撤销数大于库存结余数"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //  2、原货权方撤销出库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // 查询库存总账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    tWarehousebills.setfCorpid(fCorpid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    TWhgenleg tWhgenle2=queryTWhgenleg(tWarehousebills,wb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    updateTWhgenlegData(wb,tWhgenle2.getfId(),"SJCKRevoke"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 修改主表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tWarehousebills.setUpdateBy(loginUser.getUser().getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tWarehousebills.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tWarehousebills.setfBillstatus("3"); //撤销状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return AjaxResult.success(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |