|
@@ -4842,6 +4842,22 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
} else { // 4、 存在 进行跟新库存
|
|
|
updateTWhgenlegData(wbItem, tWhgenle1.getfId(), WarehouseTypeEnum.SJRK.getType());
|
|
|
}
|
|
|
+ } else {
|
|
|
+ if (WarehouseTypeEnum.HWTG.getType().equals(billsType)) {
|
|
|
+ /*// 1、 库存 < 调拨件数 提示库存不足
|
|
|
+ judgeItemQty(tWhgenle, wbItem, i);
|
|
|
+ // 2、 库存足够 先 进行出库操作
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle.getfId(), WarehouseTypeEnum.SJCK.getType());*/
|
|
|
+ // 3、 进行入库操作 查询是否存在库存
|
|
|
+ TWhgenleg tWhgenle1 = queryWhgenlegService.secondStockWhgenleg(tWarehouseBills, wbItem, goods.getIfCntrno(), WarehouseTypeEnum.NOT_JUDGE_BOX.getType());
|
|
|
+// throw new RuntimeException("......");
|
|
|
+ if (StringUtils.isNull(tWhgenle1)) { // 5、 不存在 进行新增库存
|
|
|
+ throw new RuntimeException("未查到库存");
|
|
|
+// instalTWhgenleg(tWarehouseBills, wbItem);
|
|
|
+ } else { // 4、 存在 进行跟新库存
|
|
|
+ updateTWhgenlegDataNew(tWarehouseBills, wbItem, tWhgenle1.getfId(), WarehouseTypeEnum.SJRK.getType());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
wbItem.setfBillstatus(40L);
|
|
|
} else if (WarehouseTypeEnum.HQZY.getType().equals(billsType)) { // 货转
|
|
@@ -5087,6 +5103,16 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
return AjaxResult.success("成功", map);
|
|
|
}
|
|
|
|
|
|
+ @Transactional
|
|
|
+ public int updateTWhgenlegDataNew(TWarehouseBills tWarehouseBills, TWarehousebillsitems warehousebillsitems, long whgenlegId, String billtype) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("whgenlegId", whgenlegId);
|
|
|
+ map.put("billType", billtype);
|
|
|
+ map.put("tWarehouseBills", tWarehouseBills);
|
|
|
+ map.put("warehousebillsitems", warehousebillsitems);
|
|
|
+ return tWhgenlegMapper.updateTWhgenlegDataNew(map);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 判断数量、毛重、净重是否超出库存总帐
|
|
|
*
|
|
@@ -5691,7 +5717,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
BigDecimal grossweightblc;
|
|
|
if (Objects.equals(item.getfTransferWarehouselocid(), whgenleg.getfWarehouseid())) {
|
|
|
// 修改数量
|
|
|
- whgenleg.setfQtyblc(whgenleg.getfQtyblc().subtract(item.getfQty()) );
|
|
|
+ whgenleg.setfQtyblc(whgenleg.getfQtyblc().subtract(item.getfQty()));
|
|
|
// 修改毛重
|
|
|
grossweightblc = whgenleg.getfGrossweightblc().subtract(item.getfGrossweight()).setScale(2, RoundingMode.HALF_UP);
|
|
|
// 修改净重
|
|
@@ -5715,7 +5741,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
|
|
|
if (Objects.equals(item.getfTocorpid(), whgenleg.getfCorpid())) {
|
|
|
// 修改数量
|
|
|
- whgenleg.setfQtyblc(whgenleg.getfQtyblc().subtract(item.getfQty()) );
|
|
|
+ whgenleg.setfQtyblc(whgenleg.getfQtyblc().subtract(item.getfQty()));
|
|
|
// 修改毛重
|
|
|
grossweightblc = whgenleg.getfGrossweightblc().subtract(item.getfGrossweight()).setScale(2, RoundingMode.HALF_UP);
|
|
|
// 修改净重
|
|
@@ -7646,6 +7672,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
// 查询库存总账
|
|
|
TWhgenleg whgenleg = queryWhgenlegService.stockWhgenleg(tWarehousebills, wb, goods.getIfCntrno(), WarehouseTypeEnum.UNDO_OPERATION.getType());
|
|
|
updateTWhgenlegData(wb, whgenleg.getfId(), WarehouseTypeEnum.SJCK_REVOKE.getType());
|
|
|
+ }else{
|
|
|
+ TWhgenleg whgenleg = queryWhgenlegService.stockWhgenleg(tWarehousebills, wb, goods.getIfCntrno(), WarehouseTypeEnum.UNDO_OPERATION.getType());
|
|
|
+ if (StringUtils.isNotNull(whgenleg) && (wb.getfQty().compareTo(whgenleg.getfQtyblc()) <= 0)) {
|
|
|
+ updateTWhgenlegDataNew(tWarehousebills,wb, whgenleg.getfId(), WarehouseTypeEnum.SJRK_REVOKE.getType());
|
|
|
+ } else {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
|
|
|
+ }
|
|
|
+ /* // 2、原货权方撤销出库
|
|
|
+ // 查询库存总账
|
|
|
+ updateTWhgenlegData(wb, whgenleg.getfId(), WarehouseTypeEnum.SJCK_REVOKE.getType());*/
|
|
|
}
|
|
|
wb.setfBillstatus(10L);
|
|
|
} else if (WarehouseTypeEnum.HQZY_REVOKE.getType().equals(billsType)) { // 货转撤销
|
|
@@ -7658,7 +7695,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
// 查询库存总账
|
|
|
tWarehousebills.setfCorpid(fTocorpid);
|
|
|
TWhgenleg tWhgenle1 = queryWhgenlegService.secondStockWhgenleg(tWarehousebills, wb, goods.getIfCntrno(), WarehouseTypeEnum.CONFIRM_OPERATION.getType());
|
|
|
- if (StringUtils.isNotNull(tWhgenle1) && (wb.getfQty().compareTo(tWhgenle1.getfQtyblc()) <=0 )) {
|
|
|
+ if (StringUtils.isNotNull(tWhgenle1) && (wb.getfQty().compareTo(tWhgenle1.getfQtyblc()) <= 0)) {
|
|
|
updateTWhgenlegData(wb, tWhgenle1.getfId(), WarehouseTypeEnum.SJRK_REVOKE.getType());
|
|
|
} else {
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
@@ -9020,7 +9057,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
//校验计费日期是等于库存总帐计费日,如果不相等则报错
|
|
|
checkWhgenleg(item, tWhgenle);
|
|
|
// 库存 < 出库件数
|
|
|
- if (tWhgenle.getfQtyblc().compareTo(item.getfQty()) <0 ) {
|
|
|
+ if (tWhgenle.getfQtyblc().compareTo(item.getfQty()) < 0) {
|
|
|
throw new WarehouseException("库存明细第" + line + "行库存不足");
|
|
|
}
|
|
|
// 更新库存总账
|
|
@@ -10177,7 +10214,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWarehousebillsitemsElabel.setfType(1);
|
|
|
tWarehousebillsitemsElabel.setfStatus(2);
|
|
|
List<TWarehousebillsitemsElabel> tWarehousebillsitemsElabelList = elabelMapper.selectList(tWarehousebillsitemsElabel);
|
|
|
- if (!warehousebillsitems.getfQty().equals(new BigDecimal(tWarehousebillsitemsElabelList.size())) ) {
|
|
|
+ if (!warehousebillsitems.getfQty().equals(new BigDecimal(tWarehousebillsitemsElabelList.size()))) {
|
|
|
return AjaxResult.error("入库件数:" + warehousebillsitems.getfQty() + "与标签码数量:" + tWarehousebillsitemsElabelList.size() + "不一致,不允许入库");
|
|
|
}
|
|
|
|
|
@@ -10238,7 +10275,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWarehousebillsitemsElabel.setfType(2);
|
|
|
tWarehousebillsitemsElabel.setfStatus(2);
|
|
|
List<TWarehousebillsitemsElabel> tWarehousebillsitemsElabelList = elabelMapper.selectList(tWarehousebillsitemsElabel);
|
|
|
- if (!warehousebillsitems.getfQty().equals(new BigDecimal(tWarehousebillsitemsElabelList.size())) ) {
|
|
|
+ if (!warehousebillsitems.getfQty().equals(new BigDecimal(tWarehousebillsitemsElabelList.size()))) {
|
|
|
return AjaxResult.error("出库件数:" + warehousebillsitems.getfQty() + "与标签码数量:" + tWarehousebillsitemsElabelList.size() + "不一致,不允许出库");
|
|
|
}
|
|
|
// 跟新库存总账
|