|
@@ -3611,10 +3611,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
}
|
|
|
//校验计费日期是等于库存总帐计费日,如果不相等则报错
|
|
|
checkWhgenleg(wbItem, tWhgenle);
|
|
|
- // 库存 < 出库件数
|
|
|
- if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {
|
|
|
- throw new WarehouseException("库存明细第" + i + "行库存不足");
|
|
|
- }
|
|
|
+ // 1、 库存 < 调拨件数 提示库存不足
|
|
|
+ judgeItemQty(tWhgenle, wbItem, i);
|
|
|
// 更新库存总账
|
|
|
updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
|
|
|
wbItem.setfBillstatus(40L);
|
|
@@ -3622,11 +3620,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
//校验计费日期是等于库存总帐计费日,如果不相等则报错
|
|
|
checkWhgenleg(wbItem, tWhgenle);
|
|
|
if (!Objects.equals(wbItem.getfWarehouselocid(), wbItem.getfTransferWarehouselocid())) {
|
|
|
- if (tWhgenle.getfQtyblc() < wbItem.getfQty()) { // 1、 库存 < 调拨件数 提示库存不足
|
|
|
- throw new WarehouseException("库存明细第" + i + "行库存不足");
|
|
|
- } else { // 2、 库存足够 先 进行出库操作
|
|
|
- updateTWhgenlegData(wbItem, tWhgenle.getfId(), WarehouseTypeEnum.SJCK.getType());
|
|
|
- }
|
|
|
+ // 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());
|
|
|
if (StringUtils.isNull(tWhgenle1)) { // 5、 不存在 进行新增库存
|
|
@@ -3641,11 +3638,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
wbItem.setfBillingway(tWarehouseBills.getfBillingway());
|
|
|
//校验计费日期是等于库存总帐计费日,如果不相等则报错
|
|
|
checkWhgenleg(wbItem, tWhgenle);
|
|
|
- if (tWhgenle.getfQtyblc() < wbItem.getfQty()) { // 1、 库存 < 调拨件数 提示库存不足
|
|
|
- throw new WarehouseException("库存明细第" + i + "行库存不足");
|
|
|
- } else { // 2、 库存足够 先 进行出库操作
|
|
|
- updateTWhgenlegData(wbItem, tWhgenle.getfId(), WarehouseTypeEnum.SJCK.getType());
|
|
|
- }
|
|
|
+ // 1、 库存 < 调拨件数 提示库存不足
|
|
|
+ judgeItemQty(tWhgenle, wbItem, i);
|
|
|
+ updateTWhgenlegData(wbItem, tWhgenle.getfId(), WarehouseTypeEnum.SJCK.getType());
|
|
|
long corpId = tWarehouseBills.getfCorpid();
|
|
|
tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid());
|
|
|
// 3、 进行入库操作 查询是否存在库存
|
|
@@ -3661,7 +3656,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
int num = 0;
|
|
|
wbItem.setfPid(fPid);
|
|
|
wbItem.setfBillno(tWarehouseBills.getfBillno());
|
|
|
-// wbItem.setfBsdate(tWarehouseBills.getfBsdate());
|
|
|
if (StringUtils.isNotNull(wbItem.getfId())) {
|
|
|
wbItem.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
wbItem.setUpdateTime(new Date());
|
|
@@ -3751,6 +3745,27 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 判断数量、毛重、净重是否超出库存总帐
|
|
|
+ * @param whgenleg 库存总账
|
|
|
+ * @param wbItem 明细
|
|
|
+ * @param line 行号
|
|
|
+ */
|
|
|
+ private void judgeItemQty(TWhgenleg whgenleg, TWarehousebillsitems wbItem, int line) {
|
|
|
+ // 库存 < 出库件数
|
|
|
+ if (whgenleg.getfQtyblc() < wbItem.getfQty()) {
|
|
|
+ throw new WarehouseException("库存明细第" + line + "行库存数量不足");
|
|
|
+ }
|
|
|
+ // 库存 < 出库净重
|
|
|
+ if (whgenleg.getfNetweightblc().compareTo(wbItem.getfNetweight()) < 0) {
|
|
|
+ throw new WarehouseException("库存明细第" + line + "行库存净重不足");
|
|
|
+ }
|
|
|
+ // 库存 < 出库毛重
|
|
|
+ if (whgenleg.getfGrossweightblc().compareTo(wbItem.getfGrossweight()) < 0) {
|
|
|
+ throw new WarehouseException("库存明细第" + line + "行库存毛重不足");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 校验计费日期是等于库存总帐计费日,如果不相等则报错
|
|
|
*
|
|
|
* @param wbItem
|