|  | @@ -1748,12 +1748,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              tWarehousebillsitems.setUpdateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  |              tWarehousebillsitemsMapper.updateTWarehousebillsitems(tWarehousebillsitems);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<String> urlList = tEnclosureMapper.selectUrlByPId(tWarehousebillsitems.getfPid());
 | 
	
		
			
				|  |  |          tEnclosureMapper.deleteByFPid(tWarehousebillsitems.getfPid());
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
 | 
	
		
			
				|  |  |              //  附件添加
 | 
	
		
			
				|  |  |              JSONArray jsonDrArray = JSONArray.parseArray(attachs);
 | 
	
		
			
				|  |  |              List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
 | 
	
		
			
				|  |  |              for (TEnclosure enclosure : tEnclosureList) {
 | 
	
		
			
				|  |  | +                if (!urlList.contains(enclosure.getfUrl())) {
 | 
	
		
			
				|  |  | +                    enclosure.setSrcId(tWarehousebillsitems.getfId());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  enclosure.setfStatus("2");
 | 
	
		
			
				|  |  |                  enclosure.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                  enclosure.setfPid(tWarehousebillsitems.getfPid());
 | 
	
	
		
			
				|  | @@ -2968,11 +2973,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          map.put("item", itemMap);
 | 
	
		
			
				|  |  |          if (itemMap.containsKey("fPid") && StringUtils.isNotNull(itemMap.get("fPid"))) {
 | 
	
		
			
				|  |  | -            long fPid = Long.valueOf(String.valueOf(itemMap.get("fPid")));
 | 
	
		
			
				|  |  | +            long fPid = Long.parseLong(String.valueOf(itemMap.get("fPid")));
 | 
	
		
			
				|  |  |              TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fPid);
 | 
	
		
			
				|  |  |              map.put("warehouseBills", tWarehouseBills);
 | 
	
		
			
				|  |  |              // 查询附件
 | 
	
		
			
				|  |  | -            map.put("enclosure", tEnclosureMapper.selectTEnclosureByPId(tWarehouseBills.getfId()));
 | 
	
		
			
				|  |  | +            List<TEnclosure> tEnclosures = tEnclosureMapper.selectTEnclosureListByPId(tWarehouseBills.getfId());
 | 
	
		
			
				|  |  | +            tEnclosures.addAll(tEnclosureMapper.selectTEnclosureListBySrcId(fId));
 | 
	
		
			
				|  |  | +            map.put("enclosure", tEnclosures);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return AjaxResult.success(map);
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -3088,7 +3095,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          tWarehousebillsitems.setfChargedate(time);//仓储费计算日期
 | 
	
		
			
				|  |  | -        if (StringUtils.isNull(warehousebillsitems) || warehousebillsitems.getfBillstatus() != 30L) {
 | 
	
		
			
				|  |  | +        if (warehousebillsitems.getfBillstatus() != 30L) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("请确认是该明细数据是否存在,或该明细数据状态异常");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          TGoods goods = tGoodsMapper.selectTGoodsById(warehousebillsitems.getfGoodsid());
 | 
	
	
		
			
				|  | @@ -3163,12 +3170,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              // 添加状态log
 | 
	
		
			
				|  |  |              insertTWarehousebillsLog(tWarehousebillsitems, 40L);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<String> urlList = tEnclosureMapper.selectUrlByPId(tWarehousebillsitems.getfPid());
 | 
	
		
			
				|  |  |          tEnclosureMapper.deleteByFPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  |          //  附件添加
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
 | 
	
		
			
				|  |  |              JSONArray jsonDrArray = JSONArray.parseArray(attachs);
 | 
	
		
			
				|  |  |              List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
 | 
	
		
			
				|  |  |              for (TEnclosure enclosure : tEnclosureList) {
 | 
	
		
			
				|  |  | +                if (!urlList.contains(enclosure.getfUrl())) {
 | 
	
		
			
				|  |  | +                    enclosure.setSrcId(tWarehousebillsitems.getfId());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  enclosure.setfStatus("6");
 | 
	
		
			
				|  |  |                  enclosure.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                  enclosure.setfPid(warehouseBills.getfId());
 | 
	
	
		
			
				|  | @@ -3233,12 +3245,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          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) {
 | 
	
		
			
				|  |  | +            if (!fchargedate) {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |                  return AjaxResult.error("入库日期不能小于最小仓储费计算日期");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        Date time = new Date();
 | 
	
		
			
				|  |  | +        Date time;
 | 
	
		
			
				|  |  |          if (StringUtils.isNotEmpty(bills.getfChargetype()) && "0".equals(bills.getfChargetype())) {
 | 
	
		
			
				|  |  |              time = tWarehousebillsitemsMapper.selecMinBsDateByFPid(tWarehousebillsitems.getfPid());
 | 
	
		
			
				|  |  |              tWarehousebillsitems.setfChargedate(time);
 | 
	
	
		
			
				|  | @@ -3286,19 +3298,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          warehouseBills.setfNetweight(itemInFo.getfNetweight());
 | 
	
		
			
				|  |  |          warehouseBills.setfGrossweight(itemInFo.getfGrossweight());
 | 
	
		
			
				|  |  |          tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  | -        tEnclosureMapper.deleteByFPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | -        //  附件添加
 | 
	
		
			
				|  |  | -        if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
 | 
	
		
			
				|  |  | -            JSONArray jsonDrArray = JSONArray.parseArray(attachs);
 | 
	
		
			
				|  |  | -            List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
 | 
	
		
			
				|  |  | -            for (TEnclosure enclosure : tEnclosureList) {
 | 
	
		
			
				|  |  | -                enclosure.setfStatus("6");
 | 
	
		
			
				|  |  | -                enclosure.setCreateTime(new Date());
 | 
	
		
			
				|  |  | -                enclosure.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | -                enclosure.setCreateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | -                tEnclosureMapper.insertTEnclosure(enclosure);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |          return AjaxResult.success();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -4506,25 +4505,26 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              storageFeesDto.setfGoodsid(fGoodsid);
 | 
	
		
			
				|  |  |              long fId = Long.parseLong(String.valueOf(item.get("fId")));
 | 
	
		
			
				|  |  |              // 累计计费天数
 | 
	
		
			
				|  |  | -            storageFeesDto.setEarlySumDays(DateUtils.getDateDay((Date) item.get("fChargedate"), (Date) item.get("fOriginalbilldate")));
 | 
	
		
			
				|  |  | +            storageFeesDto.setEarlySumDays(DateUtils.getDateDay((Date) item.get("fChargedate"), (Date) item.get("fOriginalbilldate")) - 1);
 | 
	
		
			
				|  |  |              // 库存天数
 | 
	
		
			
				|  |  |              long fInventoryDays;
 | 
	
		
			
				|  |  |              // 要计费天数
 | 
	
		
			
				|  |  |              long fBillingDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  |              if ("SJCK".equals(fBilltype)) {
 | 
	
		
			
				|  |  | -                fInventoryDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | -                fBillingDays = DateUtils.getDateDay((Date) item.get("fChargedate"), (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | +                fInventoryDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | +                fBillingDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  |                  storageFeesDto.setStartTime((Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  |                  storageFeesDto.setEndTime(fBsdate);
 | 
	
		
			
				|  |  |              } else if (WarehouseTypeEnum.HQZY.getType().equals(fBilltype)) {
 | 
	
		
			
				|  |  | -                fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), fBsdate);
 | 
	
		
			
				|  |  | -                storageFeesDto.setStartTime(fBsdate);
 | 
	
		
			
				|  |  | -                storageFeesDto.setEndTime(warehouseBills.getfBillingDeadline());
 | 
	
		
			
				|  |  | +                fInventoryDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | +                fBillingDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | +                storageFeesDto.setStartTime((Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | +                storageFeesDto.setEndTime(fBsdate);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  | -                storageFeesDto.setStartTime((Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | -                storageFeesDto.setEndTime(warehouseBills.getfBillingDeadline());
 | 
	
		
			
				|  |  | -                fBillingDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  |                  fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | +                fBillingDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | +                storageFeesDto.setStartTime((Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | +                storageFeesDto.setEndTime(warehouseBills.getfBillingDeadline());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (fBillingDays <= 0) {
 | 
	
		
			
				|  |  |                  continue;
 | 
	
	
		
			
				|  | @@ -4533,7 +4533,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              storageFeesDto.setfMblno((String) item.get("fMblno"));
 | 
	
		
			
				|  |  |              // 赋值要计算的数量单位
 | 
	
		
			
				|  |  |              storageFeesDto.setfQty(new BigDecimal(String.valueOf(item.get("fQty"))));
 | 
	
		
			
				|  |  | -            storageFeesDto.setfVolumn(new BigDecimal(String.valueOf(item.get("fQty"))));
 | 
	
		
			
				|  |  | +            storageFeesDto.setfVolumn(new BigDecimal(String.valueOf(item.get("fVolumn"))));
 | 
	
		
			
				|  |  |              storageFeesDto.setfNetweight(new BigDecimal(String.valueOf(item.get("fNetweight"))));
 | 
	
		
			
				|  |  |              storageFeesDto.setfGrossweight(new BigDecimal(String.valueOf(item.get("fGrossweight"))));
 | 
	
		
			
				|  |  |              // 计算仓储费明细
 |