|  | @@ -314,13 +314,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  |      public int instalTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, SysUser user) {
 | 
	
		
			
				|  |  |          TWhgenleg tWhgenleg = new TWhgenleg();
 | 
	
		
			
				|  |  | -        if ("SJRK".equals(warehouseBills.getfBilltype()) || "HQZY".equals(warehouseBills.getfBilltype())) {
 | 
	
		
			
				|  |  | +        if ("SJRK".equals(warehouseBills.getfBilltype())) {
 | 
	
		
			
				|  |  |              tWhgenleg.setfOriginalbilldate(warehousebillsitems.getfBsdate());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if ("HQZY".equals(warehouseBills.getfBilltype()) || "CKDB".equals(warehouseBills.getfBilltype())) {
 | 
	
		
			
				|  |  | +            tWhgenleg.setfOriginalbilldate(warehousebillsitems.getfOriginalbilldate());
 | 
	
		
			
				|  |  |              if ("CKDB".equals(warehouseBills.getfBilltype())) {
 | 
	
		
			
				|  |  |                  tWhgenleg.setfCorpid(warehouseBills.getfCorpid());
 | 
	
		
			
				|  |  | -                tWhgenleg.setfOriginalbilldate(warehousebillsitems.getfOriginalbilldate());
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  // 客户
 | 
	
		
			
				|  |  |                  tWhgenleg.setfCorpid(warehouseBills.getfTocorpid());
 | 
	
	
		
			
				|  | @@ -449,7 +449,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      // 添加主表 业务单号
 | 
	
		
			
				|  |  |                      wbItem.setfBillno(warehouseBills.getfBillno());
 | 
	
		
			
				|  |  |                      if (!warehouseStatus) {
 | 
	
		
			
				|  |  | -                        wbItem.setfMblno(warehouseBills.getfMblno());
 | 
	
		
			
				|  |  | +//                        wbItem.setfMblno(warehouseBills.getfMblno());
 | 
	
		
			
				|  |  |                          wbItem.setfBillstatus(1L);
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          wbItem.setfBillstatus(10L);
 | 
	
	
		
			
				|  | @@ -1215,10 +1215,19 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到库存总账的计费单位,请确认");
 | 
	
		
			
				|  |  |                  return map;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            long fGoodsid = Long.parseLong((String) item.get("fTypeid"));
 | 
	
		
			
				|  |  | +            long fInventoryDays = 0L;
 | 
	
		
			
				|  |  |              long fCorpid = warehouseBills.getfCorpid();
 | 
	
		
			
				|  |  | +            String fBilltype = (String) item.get("fBilltype");
 | 
	
		
			
				|  |  | +            long fGoodsid = Long.parseLong((String) item.get("fTypeid"));
 | 
	
		
			
				|  |  | +            long fId = Long.valueOf(String.valueOf(item.get("fId"))).longValue();
 | 
	
		
			
				|  |  | +            // 要计费天数
 | 
	
		
			
				|  |  |              long dateDay = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | -            long fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | +            // 累计计费天数
 | 
	
		
			
				|  |  | +            if ("KCZZ".equals(fBilltype)) {
 | 
	
		
			
				|  |  | +                fInventoryDays = DateUtils.getDateDay((Date) item.get("fChargedate"), (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                fInventoryDays = Long.valueOf(String.valueOf(item.get("fBillingDays")));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              Long dictLabel = Long.valueOf(String.valueOf(item.get("fBillingway")));
 | 
	
		
			
				|  |  |              BigDecimal fQty = acquiredQuantity(item, dictLabel);
 | 
	
		
			
				|  |  |              if (fQty.equals(BigDecimal.ZERO)) {
 | 
	
	
		
			
				|  | @@ -1231,9 +1240,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到仓储费协议,请确认");
 | 
	
		
			
				|  |  |                  return map;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            String fBilltype = (String) item.get("fBilltype");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              String remark = objectMap.get("remark").toString();
 | 
	
		
			
				|  |  | -            long fId = Long.valueOf(String.valueOf(item.get("fId"))).longValue();
 | 
	
		
			
				|  |  |              feeId = Long.valueOf(String.valueOf(objectMap.get("feeId"))).longValue();
 | 
	
		
			
				|  |  |              BigDecimal amt = (BigDecimal) objectMap.get("amt");
 | 
	
		
			
				|  |  |              map.put("feeId", feeId);
 | 
	
	
		
			
				|  | @@ -1661,6 +1669,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     *  撤销入库
 | 
	
		
			
				|  |  | +     * @param fId
 | 
	
		
			
				|  |  | +     * @param loginUser
 | 
	
		
			
				|  |  | +     * @param billsType
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public AjaxResult revokeTWarehousebillsById(Long fId, LoginUser loginUser, String billsType) {
 | 
	
		
			
				|  |  |          // 查询 仓库主表信息、库存明细信息
 | 
	
	
		
			
				|  | @@ -1668,7 +1683,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          // 修改主表信息
 | 
	
		
			
				|  |  |          tWarehousebills.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |          tWarehousebills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -        tWarehousebills.setfBillstatus(3L); //撤销状态
 | 
	
		
			
				|  |  | +        tWarehousebills.setfBillstatus(2L); //撤销状态
 | 
	
		
			
				|  |  | +        tWarehousebills.setfItemsStatus(1L); //撤销状态
 | 
	
		
			
				|  |  |          tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
 | 
	
		
			
				|  |  |          // 查询库存明细从表数据
 | 
	
		
			
				|  |  |          TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
 | 
	
	
		
			
				|  | @@ -1687,6 +1703,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                          TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |                          return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | +                    wb.setfBillstatus(10L);
 | 
	
		
			
				|  |  |                  } else if ("SJCKRevoke".equals(billsType)) { // 撤销出库
 | 
	
		
			
				|  |  |                      if (StringUtils.isNotNull(tWhgenle)) { // 非空
 | 
	
		
			
				|  |  |                          updateTWhgenlegData(wb, tWhgenle.getfId(), billsType);
 | 
	
	
		
			
				|  | @@ -1694,25 +1711,27 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                          TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |                          return AjaxResult.error("第" + i + "行未查询到库存信息");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | +                    wb.setfBillstatus(10L);
 | 
	
		
			
				|  |  |                  } else if ("CKDBRevoke".equals(billsType)) { // 调拨 撤销
 | 
	
		
			
				|  |  | -                    Long fCorpid = tWarehousebills.getfCorpid();// 原货权方
 | 
	
		
			
				|  |  | -                    Long fTocorpid = tWarehousebills.getfTocorpid(); // 新货权方
 | 
	
		
			
				|  |  | +                    Long warehouselocid = wb.getfWarehouselocid();// 原货仓库
 | 
	
		
			
				|  |  | +                    Long transferWarehouselocid = wb.getfTransferWarehouselocid(); // 新仓库
 | 
	
		
			
				|  |  |                      //  1、新货权方撤销入库
 | 
	
		
			
				|  |  |                      // 查询库存总账
 | 
	
		
			
				|  |  | -                    tWarehousebills.setfCorpid(fTocorpid);
 | 
	
		
			
				|  |  | +                    wb.setfWarehouselocid(transferWarehouselocid);
 | 
	
		
			
				|  |  |                      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 + "行撤销数大于库存结余数");
 | 
	
		
			
				|  |  | +                        return AjaxResult.error("第" + i + "行撤销数大于库存结余数") ;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      //  2、原货权方撤销出库
 | 
	
		
			
				|  |  |                      // 查询库存总账
 | 
	
		
			
				|  |  | -                    tWarehousebills.setfCorpid(fCorpid);
 | 
	
		
			
				|  |  | +                    wb.setfWarehouselocid(warehouselocid);
 | 
	
		
			
				|  |  |                      TWhgenleg tWhgenle2 = queryTWhgenleg(tWarehousebills, wb);
 | 
	
		
			
				|  |  |                      updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
 | 
	
		
			
				|  |  | -                } else if ("HQZYRevoke".equals(billsType)) { // 货转撤销 HQZYRevoke
 | 
	
		
			
				|  |  | +                    wb.setfBillstatus(1L);
 | 
	
		
			
				|  |  | +                } else if ("HQZYRevoke".equals(billsType)) { // 货转撤销
 | 
	
		
			
				|  |  |                      Long fCorpid = tWarehousebills.getfCorpid();// 原货权方
 | 
	
		
			
				|  |  |                      Long fTocorpid = tWarehousebills.getfTocorpid(); // 新货权方
 | 
	
		
			
				|  |  |                      //  1、新货权方撤销入库
 | 
	
	
		
			
				|  | @@ -1730,8 +1749,27 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      tWarehousebills.setfCorpid(fCorpid);
 | 
	
		
			
				|  |  |                      TWhgenleg tWhgenle2 = queryTWhgenleg(tWarehousebills, wb);
 | 
	
		
			
				|  |  |                      updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
 | 
	
		
			
				|  |  | +                    wb.setfBillstatus(1L);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  i++;
 | 
	
		
			
				|  |  | +                wb.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +                wb.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +                if (tWarehousebillsitemsMapper.updateTWarehousebillsitems(wb) <= 0) {
 | 
	
		
			
				|  |  | +                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                    return AjaxResult.error("新增库存明细失败");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        TWarehousebillsfees warehousebillsfees = new TWarehousebillsfees();
 | 
	
		
			
				|  |  | +        warehousebillsfees.setfPid(fId);
 | 
	
		
			
				|  |  | +        List<TWarehousebillsfees> billsFees = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(warehousebillsfees);
 | 
	
		
			
				|  |  | +        // 收款明细添加
 | 
	
		
			
				|  |  | +        if (billsFees.size() != 0) {
 | 
	
		
			
				|  |  | +            for (TWarehousebillsfees wbDr : billsFees) {
 | 
	
		
			
				|  |  | +                wbDr.setfBillstatus(1L);
 | 
	
		
			
				|  |  | +                wbDr.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +                wbDr.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +                tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return AjaxResult.success();
 | 
	
	
		
			
				|  | @@ -1757,7 +1795,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              return AjaxResult.error("未找到入账信息");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          TWarehouseBills tWarehousebills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
 | 
	
		
			
				|  |  | -        tWarehousebills.setfItemsStatus(1L);
 | 
	
		
			
				|  |  | +        tWarehousebills.setfItemsStatus(2L);
 | 
	
		
			
				|  |  | +        tWarehousebills.setfItemsStatus(1L); //撤销状态
 | 
	
		
			
				|  |  |          tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
 | 
	
		
			
				|  |  |          tEnclosureMapper.deleteByFPid(tWarehousebills.getfId());
 | 
	
		
			
				|  |  |          tWarehousebillsfeesMapper.deleteByFPid(tWarehousebills.getfId());
 |