|
@@ -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"))));
|
|
|
// 计算仓储费明细
|