|  | @@ -628,7 +628,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if ("SJRK".equals(billsType)) {
 | 
	
		
			
				|  |  |                      if ("1".equals(warehouseBills.getfChargetype())) {
 | 
	
		
			
				|  |  | -                        wbItem.setfChargedate(new Date());
 | 
	
		
			
				|  |  | +                        wbItem.setfChargedate(wbItem.getfBsdate());
 | 
	
		
			
				|  |  |                      } else if ("0".equals(warehouseBills.getfChargetype())){
 | 
	
		
			
				|  |  |                          Date fchargedate = tWarehousebillsitemsMapper.getFchargedate(fPid);
 | 
	
		
			
				|  |  |                          if (fchargedate != null){
 | 
	
	
		
			
				|  | @@ -641,7 +641,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if (null != wbItem.getfId()) {
 | 
	
		
			
				|  |  | -                    wbItem.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +                    wbItem.setUpdateTime(wbItem.getfBsdate());
 | 
	
		
			
				|  |  |                      wbItem.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |                      tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
 | 
	
		
			
				|  |  |                  } else {
 | 
	
	
		
			
				|  | @@ -2898,17 +2898,32 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
 | 
	
		
			
				|  |  |          // 查询最新明细表
 | 
	
		
			
				|  |  |          TWarehousebillsitems warehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(tWarehousebillsitems.getfId());
 | 
	
		
			
				|  |  | +        String billsType = warehousebillsitems.getfBilltype();
 | 
	
		
			
				|  |  | +        if ("SJRK".equals(billsType)  && "0".equals(warehouseBills.getfChargetype()) && tWarehousebillsitems.getBsdate() != null ){
 | 
	
		
			
				|  |  | +            boolean fchargedate = this.getFchargedate(warehousebillsitems.getfPid(), tWarehousebillsitems.getBsdate());
 | 
	
		
			
				|  |  | +            if (fchargedate == false){
 | 
	
		
			
				|  |  | +                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                return AjaxResult.error("入库日期不能小于最小仓储费计算日期");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          Date time = new Date();
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(warehouseBills.getfChargetype()) && "0".equals(warehouseBills.getfChargetype())) {
 | 
	
		
			
				|  |  |              time = tWarehousebillsitemsMapper.selecMinBsDateByFPid(tWarehousebillsitems.getfPid());
 | 
	
		
			
				|  |  | +            if (tWarehousebillsitems.getBsdate() !=null){
 | 
	
		
			
				|  |  | +                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }else if (StringUtils.isNotEmpty(warehouseBills.getfChargetype()) && "1".equals(warehouseBills.getfChargetype())){
 | 
	
		
			
				|  |  | -            time = warehousebillsitems.getfBsdate();
 | 
	
		
			
				|  |  | +            if (tWarehousebillsitems.getBsdate()!= null){
 | 
	
		
			
				|  |  | +                time = tWarehousebillsitems.getBsdate();
 | 
	
		
			
				|  |  | +                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
 | 
	
		
			
				|  |  | +            }else {
 | 
	
		
			
				|  |  | +                time = warehousebillsitems.getfBsdate();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          tWarehousebillsitems.setfChargedate(time);//仓储费计算日期
 | 
	
		
			
				|  |  |          if (StringUtils.isNull(warehousebillsitems) || warehousebillsitems.getfBillstatus() != 30L) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("请确认是该明细数据是否存在,或该明细数据状态异常");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        String billsType = warehousebillsitems.getfBilltype();
 | 
	
		
			
				|  |  |          TGoods goods = tGoodsMapper.selectTGoodsById(warehousebillsitems.getfGoodsid());
 | 
	
		
			
				|  |  |          if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(warehousebillsitems.getfCntrno())) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("仓库明细第未找到箱号");
 | 
	
	
		
			
				|  | @@ -2969,7 +2984,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              tWarehousebillsitems.setfBillstatus(40L);
 | 
	
		
			
				|  |  |              tWarehousebillsitems.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |              tWarehousebillsitems.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | -            tWarehousebillsitems.setfBsdate(warehouseBills.getfBsdate());
 | 
	
		
			
				|  |  | +            if (tWarehousebillsitems.getBsdate() != null){
 | 
	
		
			
				|  |  | +                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
 | 
	
		
			
				|  |  | +            }else {
 | 
	
		
			
				|  |  | +                tWarehousebillsitems.setfBsdate(warehouseBills.getfBsdate());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              tWarehousebillsitems.setfBillno(warehouseBills.getfBillno());
 | 
	
		
			
				|  |  |              tWarehousebillsitems.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |              tWarehousebillsitems.setfSerialNumber(warehousebillsitems.getfSerialNumber());
 | 
	
	
		
			
				|  | @@ -3044,6 +3063,30 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          if (warehousebillsitems.getfBillstatus() > 20L) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("该仓库明细状态异常,请确认状态信息");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        TWarehouseBills bills = tWarehouseBillsMapper.selectTWarehousebillsById(warehousebillsitems.getfPid());
 | 
	
		
			
				|  |  | +        if (tWarehousebillsitems.getBsdate() != null  && "0".equals(bills.getfChargetype())){
 | 
	
		
			
				|  |  | +            boolean fchargedate = this.getFchargedate(warehousebillsitems.getfPid(), tWarehousebillsitems.getBsdate());
 | 
	
		
			
				|  |  | +            if (fchargedate == false){
 | 
	
		
			
				|  |  | +                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                return AjaxResult.error("入库日期不能小于最小仓储费计算日期");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Date time = new Date();
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotEmpty(bills.getfChargetype()) && "0".equals(bills.getfChargetype())) {
 | 
	
		
			
				|  |  | +            time = tWarehousebillsitemsMapper.selecMinBsDateByFPid(tWarehousebillsitems.getfPid());
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfChargedate(time);
 | 
	
		
			
				|  |  | +            if (tWarehousebillsitems.getBsdate() != null){
 | 
	
		
			
				|  |  | +                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }else if (StringUtils.isNotEmpty(bills.getfChargetype()) && "1".equals(bills.getfChargetype())){
 | 
	
		
			
				|  |  | +            if (tWarehousebillsitems.getBsdate()!= null){
 | 
	
		
			
				|  |  | +                time = tWarehousebillsitems.getBsdate();
 | 
	
		
			
				|  |  | +                tWarehousebillsitems.setfBsdate(tWarehousebillsitems.getBsdate());
 | 
	
		
			
				|  |  | +            }else {
 | 
	
		
			
				|  |  | +                time = warehousebillsitems.getfBsdate();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfChargedate(time);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          tWarehousebillsitems.setfBillstatus(30L);
 | 
	
		
			
				|  |  |          tWarehousebillsitems.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |          tWarehousebillsitems.setUpdateBy(SecurityUtils.getUsername());
 |