|
|
@@ -14,6 +14,7 @@ import com.dk.common.response.ResponseResultVO;
|
|
|
import com.dk.common.service.BaseService;
|
|
|
import com.dk.mdm.infrastructure.convert.ivt.InboundConvert;
|
|
|
import com.dk.mdm.infrastructure.convert.ivt.InboundItemConvert;
|
|
|
+import com.dk.mdm.infrastructure.util.AuthUtils;
|
|
|
import com.dk.mdm.mapper.common.CommonMapper;
|
|
|
import com.dk.mdm.mapper.ivt.InboundItemMapper;
|
|
|
import com.dk.mdm.mapper.ivt.InboundMapper;
|
|
|
@@ -103,6 +104,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
@Autowired
|
|
|
private InventoryMapper inventoryMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private AuthUtils authUtils;
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 条件查询
|
|
|
* @date : 2024/3/7 14:12
|
|
|
@@ -281,6 +285,15 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
purchaseItem.setIntoingAmt(BigDecimal.ZERO);
|
|
|
purchaseItem.setIntoQty(inboundItemVO.getIntoQty());
|
|
|
purchaseItem.setIntoAmt(inboundItemVO.getIntoAmt());
|
|
|
+ //region 免费版本有这个功能 标识为true 可修改明细入库价和采购金额
|
|
|
+ String gradeCode = authUtils.getStaff().getGradeCode();
|
|
|
+ if (Constant.GradeCode.STD.getName().equals(gradeCode)) {
|
|
|
+ if (inboundVO.getUpdatePurchaseOrderFlag() != null && inboundVO.getUpdatePurchaseOrderFlag()) {
|
|
|
+ purchaseItem.setPricePur(inboundItemVO.getPriceInto());
|
|
|
+ purchaseItem.setItemAmt(inboundItemVO.getIntoAmt());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
}
|
|
|
//入库中
|
|
|
else {
|
|
|
@@ -288,7 +301,17 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
purchaseItem.setIntoingAmt(inboundItemVO.getIntoingAmt());
|
|
|
purchaseItem.setIntoQty(BigDecimal.ZERO);
|
|
|
purchaseItem.setIntoAmt(BigDecimal.ZERO);
|
|
|
+ //region 免费版本有这个功能 标识为true 可修改明细入库价和采购金额
|
|
|
+ String gradeCode = authUtils.getStaff().getGradeCode();
|
|
|
+ if (Constant.GradeCode.STD.getName().equals(gradeCode)) {
|
|
|
+ if (inboundVO.getUpdatePurchaseOrderFlag() != null && inboundVO.getUpdatePurchaseOrderFlag()) {
|
|
|
+ purchaseItem.setPricePur(inboundItemVO.getPriceInto());
|
|
|
+ purchaseItem.setItemAmt(inboundItemVO.getIntoingAmt());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //endregion
|
|
|
}
|
|
|
+
|
|
|
//入库状态
|
|
|
String intoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty().add(purchaseItem.getIntoingQty()),
|
|
|
purchaseItemResponse.getIntoQty().add(purchaseItem.getIntoQty()), purchaseItemResponse.getItemQty());
|
|
|
@@ -358,6 +381,14 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
purchase.setIntoQty(BigDecimal.ZERO);
|
|
|
purchase.setIntoAmt(BigDecimal.ZERO);
|
|
|
}
|
|
|
+ //免费版本有这个功能 标识为true 可修改总单合计金额
|
|
|
+ String gradeCode = authUtils.getStaff().getGradeCode();
|
|
|
+ if (Constant.GradeCode.STD.getName().equals(gradeCode)) {
|
|
|
+ if (inboundVO.getUpdatePurchaseOrderFlag() != null && inboundVO.getUpdatePurchaseOrderFlag()) {
|
|
|
+ purchase.setSumAmount(purchaseSumAmt);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//入库状态
|
|
|
String intoStatus = this.setIntoStatus(purchaseResponse.getIntoingQty().add(purchase.getIntoingQty()),
|
|
|
purchaseResponse.getIntoQty().add(purchase.getIntoQty()), purchaseResponse.getSumQuantity());
|
|
|
@@ -451,6 +482,9 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
inboundItem.setItemId(inboundItemVO.getItemId());
|
|
|
inboundItem.setIntoQty(inboundItemVO.getIntoingQty());
|
|
|
inboundItem.setIntoAmt(inboundItemVO.getIntoingAmt());
|
|
|
+ inboundItem.setPriceInto(inboundItemVO.getPriceInto());
|
|
|
+ inboundItem.setWhId(inboundItemVO.getWhId());
|
|
|
+ inboundItem.setNonStdCode(inboundItemVO.getNonStdCode());
|
|
|
//修改
|
|
|
inboundItemMapper.update(inboundItem,
|
|
|
new UpdateWrapper<InboundItem>().lambda()
|
|
|
@@ -492,8 +526,8 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getFromItemId());
|
|
|
PurchaseItem purchaseItem = new PurchaseItem();
|
|
|
purchaseItem.setItemId(inboundItemVO.getFromItemId());
|
|
|
- purchaseItem.setIntoQty(inboundItemResponse.getIntoQty().negate().add(inboundItemVO.getIntoingQty()));
|
|
|
- purchaseItem.setIntoAmt(inboundItemResponse.getIntoAmt().negate().add(inboundItemVO.getIntoingAmt()));
|
|
|
+ purchaseItem.setIntoQty(inboundItemResponse.getIntoQty().negate().add(inboundItemVO.getIntoQty()));
|
|
|
+ purchaseItem.setIntoAmt(inboundItemResponse.getIntoAmt().negate().add(inboundItemVO.getIntoAmt()));
|
|
|
//入库状态
|
|
|
String intoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty(),
|
|
|
purchaseItemResponse.getIntoQty().add(purchaseItem.getIntoQty()), purchaseItemResponse.getItemQty());
|
|
|
@@ -1648,25 +1682,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
// );
|
|
|
//endregion
|
|
|
|
|
|
- //region 销售明细
|
|
|
- if (inboundItemResponse.getFromItemId() != null) {
|
|
|
- //根据id查询
|
|
|
- PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemResponse.getFromItemId());
|
|
|
- PurchaseItem purchaseItem = new PurchaseItem();
|
|
|
- purchaseItem.setItemId(inboundItemResponse.getFromItemId());
|
|
|
- purchaseItem.setIntoQty(inboundItemResponse.getIntoQty().negate());
|
|
|
- purchaseItem.setIntoAmt(inboundItemResponse.getIntoAmt().negate());
|
|
|
- //入库状态
|
|
|
- String intoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty(),
|
|
|
- purchaseItemResponse.getIntoQty().add(purchaseItem.getIntoQty()), purchaseItemResponse.getItemQty());
|
|
|
- purchaseItem.setIntoStatus(intoStatus);
|
|
|
- int countRow = purchaseItemMapper.updateById(purchaseItem);
|
|
|
- //数量超出
|
|
|
- if (countRow == 0) {
|
|
|
- throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
- //endregion
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
@@ -1680,10 +1695,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
);
|
|
|
//endregion
|
|
|
|
|
|
- //region 修改采购总单
|
|
|
- this.updateOrderMessageByRepeal(inboundResponse, inboundItemResponseList);
|
|
|
- //endregion
|
|
|
-
|
|
|
//region 入账
|
|
|
if (inboundResponse.getReceivableId() != null) {
|
|
|
accountService.accPayable(inboundResponse.getIntoId(), Constant.InventoryDocCode.INTOBOUND.getTableName());
|
|
|
@@ -1704,6 +1715,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
|
|
|
//region 修改明细
|
|
|
for (InboundItemResponse inboundItemResponse : inboundItemResponseList) {
|
|
|
+
|
|
|
//region 编辑明细 赋值
|
|
|
InboundItem inboundItem = new InboundItem();
|
|
|
inboundItem.setItemId(inboundItemResponse.getItemId());
|
|
|
@@ -1716,26 +1728,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
.eq(InboundItem::getItemId, UUID.fromString(inboundItem.getItemId()))
|
|
|
);
|
|
|
//endregion
|
|
|
-
|
|
|
- //region 销售明细
|
|
|
- if (inboundItemResponse.getFromItemId() != null) {
|
|
|
- //根据id查询
|
|
|
- PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemResponse.getFromItemId());
|
|
|
- PurchaseItem purchaseItem = new PurchaseItem();
|
|
|
- purchaseItem.setItemId(inboundItemResponse.getFromItemId());
|
|
|
- purchaseItem.setIntoingQty(inboundItemResponse.getIntoingQty().negate());
|
|
|
- purchaseItem.setIntoingAmt(inboundItemResponse.getIntoingAmt().negate());
|
|
|
- //入库状态
|
|
|
- String intoStatus = this.setIntoStatus(purchaseItemResponse.getIntoingQty().add(purchaseItem.getIntoingQty()),
|
|
|
- purchaseItemResponse.getIntoQty(), purchaseItemResponse.getItemQty());
|
|
|
- purchaseItem.setIntoStatus(intoStatus);
|
|
|
- int countRow = purchaseItemMapper.updateById(purchaseItem);
|
|
|
- //数量超出
|
|
|
- if (countRow == 0) {
|
|
|
- throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INVENTORY_QUANTITY_EXCEEDED.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
- //endregion
|
|
|
}
|
|
|
//endregion
|
|
|
|
|
|
@@ -1750,10 +1742,6 @@ public class InboundPurchaseService extends BaseService<Inbound> {
|
|
|
new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
|
|
|
);
|
|
|
//endregion
|
|
|
-
|
|
|
- //region 修改采购总单
|
|
|
- this.updateOrderMessageByRepeal(inboundResponse, inboundItemResponseList);
|
|
|
- //endregion
|
|
|
}
|
|
|
//endregion
|
|
|
}
|