|
@@ -1,5 +1,6 @@
|
|
|
package com.dk.mdm.service.ivt;
|
|
package com.dk.mdm.service.ivt;
|
|
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.dk.common.infrastructure.annotaiton.Pagination;
|
|
import com.dk.common.infrastructure.annotaiton.Pagination;
|
|
|
import com.dk.common.infrastructure.constant.Constant;
|
|
import com.dk.common.infrastructure.constant.Constant;
|
|
|
import com.dk.common.infrastructure.enums.ErrorCodeEnum;
|
|
import com.dk.common.infrastructure.enums.ErrorCodeEnum;
|
|
@@ -35,16 +36,14 @@ import com.dk.mdm.model.vo.ivt.InboundItemVO;
|
|
|
import com.dk.mdm.model.vo.ivt.InboundVO;
|
|
import com.dk.mdm.model.vo.ivt.InboundVO;
|
|
|
import com.dk.mdm.model.vo.ivt.IntoReturnVO;
|
|
import com.dk.mdm.model.vo.ivt.IntoReturnVO;
|
|
|
import com.dk.mdm.service.common.CommonService;
|
|
import com.dk.mdm.service.common.CommonService;
|
|
|
|
|
+import com.dk.mdm.service.ivt.inbound.InboundPurchaseReturnService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.HashMap;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
@Service("inboundReturn")
|
|
@Service("inboundReturn")
|
|
|
@Transactional
|
|
@Transactional
|
|
@@ -75,6 +74,8 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private InboundItemConvert inboundItemConvert;
|
|
private InboundItemConvert inboundItemConvert;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private InboundPurchaseReturnService inboundPurchaseReturnService;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private CommonMapper commonMapper;
|
|
private CommonMapper commonMapper;
|
|
@@ -97,7 +98,7 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
ErrorCodeEnum.INBOUND_CANNOT_BE_EMPTY.getMessage());
|
|
ErrorCodeEnum.INBOUND_CANNOT_BE_EMPTY.getMessage());
|
|
|
}
|
|
}
|
|
|
//查询明细
|
|
//查询明细
|
|
|
- List<InboundItemResponse> inboundItemResponselist = inboundItemMapper.selectByCond(new InboundItemQuery().setIntoId(intoId));
|
|
|
|
|
|
|
+ List<InboundItemResponse> inboundItemResponselist = inboundItemMapper.selectByInboundReturnCond(new InboundItemQuery().setIntoId(intoId));
|
|
|
inboundResponse.setGoodsList(inboundItemResponselist);
|
|
inboundResponse.setGoodsList(inboundItemResponselist);
|
|
|
return ResponseResultUtil.success(inboundResponse);
|
|
return ResponseResultUtil.success(inboundResponse);
|
|
|
}
|
|
}
|
|
@@ -131,6 +132,8 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
|
|
|
|
|
//反写入库订单明细、反写订单明细
|
|
//反写入库订单明细、反写订单明细
|
|
|
for (InboundItemVO inboundItemVO : itemList) {
|
|
for (InboundItemVO inboundItemVO : itemList) {
|
|
|
|
|
+ inboundItemVO.setReturnQty(inboundItemVO.getReturnQty().abs());
|
|
|
|
|
+ inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt().abs());
|
|
|
//根据退货明细中入库明细id查询入库明细数据
|
|
//根据退货明细中入库明细id查询入库明细数据
|
|
|
InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getItemId()); //原入库单明细id
|
|
InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getItemId()); //原入库单明细id
|
|
|
BigDecimal returnQty = inboundItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
BigDecimal returnQty = inboundItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
@@ -156,24 +159,12 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
.setItemId(inboundItemVO.getFromItemId())
|
|
.setItemId(inboundItemVO.getFromItemId())
|
|
|
.setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
.setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
.setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
.setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
-
|
|
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
inboundVO.setIntoingQty(inboundVO.getReturnQty().multiply(new BigDecimal(-1)));
|
|
inboundVO.setIntoingQty(inboundVO.getReturnQty().multiply(new BigDecimal(-1)));
|
|
|
inboundVO.setIntoingAmt(inboundVO.getReturnAmt().multiply(new BigDecimal(-1)));
|
|
inboundVO.setIntoingAmt(inboundVO.getReturnAmt().multiply(new BigDecimal(-1)));
|
|
|
List<InboundItemVO> list = new ArrayList<>();
|
|
List<InboundItemVO> list = new ArrayList<>();
|
|
|
for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
|
|
for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
|
|
|
-
|
|
|
|
|
- inboundItemVO.setIntoingQty(inboundItemVO.getReturnQty().multiply(new BigDecimal(-1)));
|
|
|
|
|
- inboundItemVO.setIntoingAmt(inboundItemVO.getReturnAmt().multiply(new BigDecimal(-1)));
|
|
|
|
|
- inboundItemVO.setPriceInto(inboundItemVO.getPriceInto());
|
|
|
|
|
- inboundItemVO.setFromItemId(inboundItemVO.getItemId());
|
|
|
|
|
- inboundItemVO.setSkuId(inboundItemVO.getSkuId());
|
|
|
|
|
- inboundItemVO.setItemIndex(inboundItemVO.getItemIndex());
|
|
|
|
|
- inboundItemVO.setNonStdCode(inboundItemVO.getNonStdCode());
|
|
|
|
|
- inboundItemVO.setReturnQty(inboundItemVO.getReturnQty());
|
|
|
|
|
- inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt());
|
|
|
|
|
-
|
|
|
|
|
//源入库单ID(采购退货时记录)
|
|
//源入库单ID(采购退货时记录)
|
|
|
inboundItemVO.setSIntoId(inboundItemVO.getIntoId());
|
|
inboundItemVO.setSIntoId(inboundItemVO.getIntoId());
|
|
|
//源入库单明细ID(采购退货时记录)
|
|
//源入库单明细ID(采购退货时记录)
|
|
@@ -182,97 +173,122 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
inboundItemVO.setSPurId(inboundItemVO.getFromId());
|
|
inboundItemVO.setSPurId(inboundItemVO.getFromId());
|
|
|
//源采购明细ID(采购退货时记录)
|
|
//源采购明细ID(采购退货时记录)
|
|
|
inboundItemVO.setSPurItemId(inboundItemVO.getFromItemId());
|
|
inboundItemVO.setSPurItemId(inboundItemVO.getFromItemId());
|
|
|
|
|
+ inboundItemVO.setIntoingQty(inboundItemVO.getReturnQty().multiply(new BigDecimal(-1)));
|
|
|
|
|
+ inboundItemVO.setIntoingAmt(inboundItemVO.getReturnAmt().multiply(new BigDecimal(-1)));
|
|
|
|
|
+ inboundItemVO.setPriceInto(inboundItemVO.getPriceInto());
|
|
|
|
|
+ inboundItemVO.setFromItemId(inboundItemVO.getItemId());
|
|
|
|
|
+ inboundItemVO.setSkuId(inboundItemVO.getSkuId());
|
|
|
|
|
+ inboundItemVO.setItemIndex(inboundItemVO.getItemIndex());
|
|
|
|
|
+ inboundItemVO.setNonStdCode(inboundItemVO.getNonStdCode());
|
|
|
|
|
+ inboundItemVO.setReturnQty(inboundItemVO.getReturnQty().multiply(new BigDecimal(-1)));
|
|
|
|
|
+ inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt().multiply(new BigDecimal(-1)));
|
|
|
|
|
+
|
|
|
inboundItemVO.setItemId(null);
|
|
inboundItemVO.setItemId(null);
|
|
|
list.add(inboundItemVO);
|
|
list.add(inboundItemVO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
inboundVO.setItemList(list);
|
|
inboundVO.setItemList(list);
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
|
|
- map.put("cpId", inboundVO.getCpId());
|
|
|
|
|
- map.put("code", "IVT_001");
|
|
|
|
|
- //自动办理标识
|
|
|
|
|
- String flgHandleSetting = commonMapper.getSettingValue(map);
|
|
|
|
|
- //自动办理标识为1 自动办理入库
|
|
|
|
|
- if(Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)){
|
|
|
|
|
- inboundVO.setFlgHandleSetting(Constant.FlgHandleSetting.TRUE.getValue());
|
|
|
|
|
- }
|
|
|
|
|
- //region 总单
|
|
|
|
|
- //获取 id/单号
|
|
|
|
|
- Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.SALERETURN.getName(), false);
|
|
|
|
|
- inboundVO.setIntoId(codeMap.get("outId").toString()).
|
|
|
|
|
- setIntoNo(codeMap.get("outNote").toString());
|
|
|
|
|
- //入库类型
|
|
|
|
|
- inboundVO.setIntoType(Constant.IntoType.PURRETURN_RETURN.getName());
|
|
|
|
|
- //自动入库标识
|
|
|
|
|
- if (inboundVO.getFlgAutoHandle()) {
|
|
|
|
|
- //已入库
|
|
|
|
|
- inboundVO.setIntoStatus(Constant.IntoStatus.YIRUKU.getName());
|
|
|
|
|
- } else {
|
|
|
|
|
- //入库中
|
|
|
|
|
- inboundVO.setIntoStatus(Constant.IntoStatus.RUKUZHONG.getName());
|
|
|
|
|
- }
|
|
|
|
|
- //退货数量
|
|
|
|
|
- inboundVO.setReturnQty(inboundVO.getIntoingQty());
|
|
|
|
|
- //退货金额
|
|
|
|
|
- inboundVO.setReturnAmt(inboundVO.getIntoingAmt());
|
|
|
|
|
- //入库状态等于已入库 更新合计入库数量/金额 = 入库中数量/入库中金额
|
|
|
|
|
- if (Constant.IntoStatus.YIRUKU.getName().equals(inboundVO.getIntoStatus())) {
|
|
|
|
|
- inboundVO
|
|
|
|
|
- .setIntoQty(inboundVO.getIntoingQty())
|
|
|
|
|
- .setIntoAmt(inboundVO.getIntoingAmt())
|
|
|
|
|
- .setIntoingQty(BigDecimal.ZERO)
|
|
|
|
|
- .setIntoingAmt(BigDecimal.ZERO)
|
|
|
|
|
- ;
|
|
|
|
|
- } else {
|
|
|
|
|
- inboundVO
|
|
|
|
|
- .setIntoQty(BigDecimal.ZERO)
|
|
|
|
|
- .setIntoAmt(BigDecimal.ZERO)
|
|
|
|
|
- ;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ inboundPurchaseReturnService.purchaseReturnInboundInsert(inboundVO);
|
|
|
|
|
+ return ResponseResultUtil.success();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @desc : 编辑
|
|
|
|
|
+ * @date : 2022/6/28 16:58
|
|
|
|
|
+ * @author : 于继渤
|
|
|
|
|
+ */
|
|
|
|
|
+ @Transactional(rollbackFor = {Exception.class})
|
|
|
|
|
+ public ResponseResultVO<String> update(InboundVO inboundVO) {
|
|
|
|
|
+ inboundVO.setReturnQty(inboundVO.getReturnQty().abs());
|
|
|
|
|
+ inboundVO.setReturnAmt(inboundVO.getReturnAmt().abs());
|
|
|
|
|
+ //查询编辑之前的采退单
|
|
|
|
|
+ InboundResponse inboundReturnResponse = inboundMapper.selectById(inboundVO.getIntoId());
|
|
|
|
|
+ inboundReturnResponse.setReturnQty(inboundReturnResponse.getReturnQty().abs());
|
|
|
|
|
+ inboundReturnResponse.setReturnAmt(inboundReturnResponse.getReturnAmt().abs());
|
|
|
|
|
+
|
|
|
|
|
+ inboundVO.setReturnAmt(inboundVO.getReturnAmt().abs());
|
|
|
|
|
+ //查询采购订单
|
|
|
|
|
+ PurchaseResponse purchaseResponse = purchaseMapper.selectById(inboundVO.getFromId());
|
|
|
|
|
+ //采购订单原始退货数量 - 原始退货单退货数量
|
|
|
|
|
+ BigDecimal purchaseReturnQty = purchaseResponse.getReturnQty().subtract(inboundReturnResponse.getReturnQty());
|
|
|
|
|
+ BigDecimal purchaseReturnAmt = purchaseResponse.getReturnAmt().subtract(inboundReturnResponse.getReturnAmt());
|
|
|
|
|
+ //反写采购订单已入库退货数量、金额
|
|
|
|
|
+ purchaseMapper.updateAmount(new Purchase().setPurId(inboundVO.getFromId())
|
|
|
|
|
+ .setReturnQty(purchaseReturnQty.add(inboundVO.getReturnAmt()))
|
|
|
|
|
+ .setReturnAmt(purchaseReturnAmt.add(inboundVO.getReturnQty()))
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
|
|
|
- //实体转换
|
|
|
|
|
- Inbound inbound = inboundConvert.convertToPo(inboundVO);
|
|
|
|
|
- inboundMapper.insert(inbound);
|
|
|
|
|
- //endregion
|
|
|
|
|
|
|
|
|
|
- //region 明细
|
|
|
|
|
//校验明细
|
|
//校验明细
|
|
|
- if (inboundVO.getItemList().size() == 0) {
|
|
|
|
|
- return ResponseResultUtil.error(ErrorCodeEnum.INBOUND_ITEM_NOT_EXIST.getCode(),
|
|
|
|
|
- ErrorCodeEnum.INBOUND_ITEM_NOT_EXIST.getMessage());
|
|
|
|
|
- }
|
|
|
|
|
- for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
|
|
|
|
|
- //总单id
|
|
|
|
|
- inboundItemVO.setIntoId(inboundVO.getIntoId());
|
|
|
|
|
- //入库类型
|
|
|
|
|
- inboundItemVO.setIntoType(inboundVO.getIntoType());
|
|
|
|
|
- //入库状态等于已入库 更新合计入库数量/金额 = 入库中数量/入库中金额
|
|
|
|
|
- if (Constant.IntoStatus.YIRUKU.getName().equals(inboundVO.getIntoStatus())) {
|
|
|
|
|
- inboundItemVO
|
|
|
|
|
- .setIntoQty(inboundItemVO.getIntoingQty())
|
|
|
|
|
- .setIntoAmt(inboundItemVO.getIntoingAmt())
|
|
|
|
|
- .setIntoingQty(BigDecimal.ZERO)
|
|
|
|
|
- .setIntoingAmt(BigDecimal.ZERO)
|
|
|
|
|
- .setCostPrice(inboundItemVO.getPriceInto())
|
|
|
|
|
- .setCostAmt(inboundItemVO.getIntoQty().multiply(inboundItemVO.getPriceInto()).setScale(2, BigDecimal.ROUND_HALF_UP))
|
|
|
|
|
- ;
|
|
|
|
|
- } else {
|
|
|
|
|
- inboundItemVO
|
|
|
|
|
- .setIntoQty(BigDecimal.ZERO)
|
|
|
|
|
- .setIntoAmt(BigDecimal.ZERO);
|
|
|
|
|
|
|
+ if(inboundVO.getItemList() != null && inboundVO.getItemList().size() > 0){
|
|
|
|
|
+ for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
|
|
|
|
|
+ InboundItemResponse inboundItemReturnResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
|
|
|
|
|
+ inboundItemReturnResponse.setReturnQty(inboundItemReturnResponse.getReturnQty().abs());
|
|
|
|
|
+ inboundItemReturnResponse.setReturnAmt(inboundItemReturnResponse.getReturnAmt().abs());
|
|
|
|
|
+ inboundItemVO.setReturnQty(inboundItemVO.getReturnQty().abs());
|
|
|
|
|
+ inboundItemVO.setReturnAmt(inboundItemVO.getReturnAmt().abs());
|
|
|
|
|
+ //查询采购订单明细数据
|
|
|
|
|
+ PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(inboundItemVO.getSPurItemId());
|
|
|
|
|
+ BigDecimal purchaseItemReturnQty = purchaseItemResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
|
|
+ BigDecimal purchaseItemReturnAmt = purchaseItemResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
|
|
+ //反写采购订单明细退货数量和退货金额
|
|
|
|
|
+ purchaseItemMapper.updateAmount(
|
|
|
|
|
+ new PurchaseItem()
|
|
|
|
|
+ .setItemId(inboundItemVO.getSPurItemId())
|
|
|
|
|
+ .setReturnQty(purchaseItemReturnQty.add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
|
|
+ .setReturnAmt(purchaseItemReturnAmt.add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
|
|
+ );
|
|
|
|
|
+ //根据退货明细中入库明细id查询入库明细数据
|
|
|
|
|
+ InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVO.getSIntoItemId());
|
|
|
|
|
+ BigDecimal inboundItemReturnQty = inboundItemResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
|
|
+ BigDecimal inboundItemReturnAmt = inboundItemResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ BigDecimal ReturnQty = inboundItemReturnQty.add(inboundItemVO.getReturnQty().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
+ BigDecimal ReturnAm = inboundItemReturnAmt.add(inboundItemVO.getReturnAmt().setScale(6, BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
+ //反写原始入库单明细 不是负向的入库单
|
|
|
|
|
+ inboundItemMapper.updateAmount(
|
|
|
|
|
+ new InboundItem()
|
|
|
|
|
+ .setItemId(inboundItemResponse.getItemId())
|
|
|
|
|
+ .setReturnQty(ReturnQty)
|
|
|
|
|
+ .setReturnAmt(ReturnAm)
|
|
|
|
|
+ );
|
|
|
|
|
+ //反写原始入库单
|
|
|
|
|
+ InboundResponse inboundResponse = inboundMapper.selectById(inboundItemVO.getSIntoId());
|
|
|
|
|
+ BigDecimal inboundReturnQty = inboundResponse.getReturnQty().subtract(inboundItemReturnResponse.getReturnQty());
|
|
|
|
|
+ BigDecimal inboundReturnAmt = inboundResponse.getReturnAmt().subtract(inboundItemReturnResponse.getReturnAmt());
|
|
|
|
|
+ inboundMapper.updateAmount(new Inbound().setIntoId(inboundItemVO.getSIntoId())
|
|
|
|
|
+ .setReturnQty(inboundReturnQty.add(inboundItemVO.getReturnQty()))
|
|
|
|
|
+ .setReturnAmt(inboundReturnAmt.add(inboundItemVO.getReturnAmt())));
|
|
|
|
|
+
|
|
|
|
|
+ //修改采退明细
|
|
|
|
|
+ InboundItem inboundItem = new InboundItem();
|
|
|
|
|
+ inboundItem.setItemId(inboundItemVO.getItemId());
|
|
|
|
|
+ inboundItem.setReturnQty(inboundItemVO.getReturnQty().multiply(new BigDecimal(-1)));
|
|
|
|
|
+ inboundItem.setReturnAmt(inboundItemVO.getReturnAmt().multiply(new BigDecimal(-1)));
|
|
|
|
|
+ //修改
|
|
|
|
|
+ inboundItemMapper.update(inboundItem,
|
|
|
|
|
+ new UpdateWrapper<InboundItem>().lambda()
|
|
|
|
|
+ .eq(InboundItem::getItemId, UUID.fromString(inboundItem.getItemId()))
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
- //入库状态
|
|
|
|
|
- inboundItemVO.setIntoStatus(inboundVO.getIntoStatus());
|
|
|
|
|
- //实体转换
|
|
|
|
|
- InboundItem inboundItem = inboundItemConvert.convertToPo(inboundItemVO);
|
|
|
|
|
- inboundItemMapper.insert(inboundItem);
|
|
|
|
|
- //endregion
|
|
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
- return ResponseResultUtil.success();
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
+ //修改采退总单
|
|
|
|
|
+ Inbound inbound = new Inbound();
|
|
|
|
|
+ inbound.setIntoId(inboundVO.getIntoId());
|
|
|
|
|
+ inbound.setReturnQty(inboundVO.getReturnQty().multiply(new BigDecimal(-1)));
|
|
|
|
|
+ inbound.setReturnAmt(inboundVO.getReturnAmt().multiply(new BigDecimal(-1)));
|
|
|
|
|
+ //修改
|
|
|
|
|
+ inboundMapper.update(inbound,
|
|
|
|
|
+ new UpdateWrapper<Inbound>().lambda().eq(Inbound::getIntoId, UUID.fromString(inbound.getIntoId()))
|
|
|
|
|
+ );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ inboundPurchaseReturnService.purchaseReturnInboundUpdate(inboundVO);
|
|
|
|
|
+ return ResponseResultUtil.success();
|
|
|
|
|
+ }
|
|
|
/**
|
|
/**
|
|
|
* @desc : 作废
|
|
* @desc : 作废
|
|
|
* @date : 2022/6/28 16:58
|
|
* @date : 2022/6/28 16:58
|
|
@@ -291,18 +307,16 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
|
|
|
|
|
//region 查询当前公司的系统参数 自动办理信息 并赋值
|
|
//region 查询当前公司的系统参数 自动办理信息 并赋值
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("cpId", inboundResponse.getCpId());
|
|
|
|
|
|
|
+ map.put("cpId", inboundVO.getCpId());
|
|
|
map.put("code", "IVT_001");
|
|
map.put("code", "IVT_001");
|
|
|
//自动办理标识
|
|
//自动办理标识
|
|
|
String flgHandleSetting = commonMapper.getSettingValue(map);
|
|
String flgHandleSetting = commonMapper.getSettingValue(map);
|
|
|
//自动办理标识为1 自动办理入库
|
|
//自动办理标识为1 自动办理入库
|
|
|
if(Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)){
|
|
if(Constant.FlgAutoHandleStringType.ONE.getValue().equals(flgHandleSetting)){
|
|
|
- inboundResponse.setFlgHandleSetting(Constant.FlgHandleSetting.TRUE.getValue());
|
|
|
|
|
|
|
+ inboundVO.setFlgHandleSetting(Constant.FlgHandleSetting.TRUE.getValue());
|
|
|
|
|
+ inboundVO.setFlgAutoHandle(Constant.FlgAutoHandle.TRUE.getValue());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
//TODO //系统参数自动出入库办理 已出库(未退款)可以作废,已出库(已退款)不可以作废
|
|
//TODO //系统参数自动出入库办理 已出库(未退款)可以作废,已出库(已退款)不可以作废
|
|
|
if(inboundResponse.getFlgHandleSetting() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())){
|
|
if(inboundResponse.getFlgHandleSetting() && inboundResponse.getIntoStatus().equals(Constant.IntoStatus.YIRUKU.getName())){
|
|
|
return ResponseResultUtil.error(ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getCode(),
|
|
return ResponseResultUtil.error(ErrorCodeEnum.NO_WAIT_INTO_RETURN_CANCEL.getCode(),
|
|
@@ -320,11 +334,14 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
}
|
|
}
|
|
|
//修改采购单 已入库数量/金额
|
|
//修改采购单 已入库数量/金额
|
|
|
|
|
+ //TODO 如果 退货存的 退货数量是负数的话
|
|
|
|
|
+ System.out.println(purchaseResponse.getReturnQty().subtract(inboundResponse.getReturnQty()));
|
|
|
|
|
+
|
|
|
purchaseMapper.updateAmount(
|
|
purchaseMapper.updateAmount(
|
|
|
- new Purchase().setReturnQty(purchaseResponse.getReturnQty().subtract(inboundResponse.getReturnQty()))
|
|
|
|
|
- .setReturnAmt(purchaseResponse.getReturnAmt().subtract(inboundResponse.getReturnAmt())).setPurId(purchaseResponse.getPurId())
|
|
|
|
|
|
|
+ new Purchase().setReturnQty(purchaseResponse.getReturnQty().add(inboundResponse.getReturnQty()))
|
|
|
|
|
+ .setReturnAmt(purchaseResponse.getReturnAmt().add(inboundResponse.getReturnAmt())).setPurId(purchaseResponse.getPurId())
|
|
|
);
|
|
);
|
|
|
-
|
|
|
|
|
|
|
+ //查询退货明细
|
|
|
List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().setIntoId(inboundResponse.getIntoId()));
|
|
List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().setIntoId(inboundResponse.getIntoId()));
|
|
|
for (InboundItemResponse inboundItemRespons : inboundItemResponses) {
|
|
for (InboundItemResponse inboundItemRespons : inboundItemResponses) {
|
|
|
|
|
|
|
@@ -337,8 +354,8 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
//修改入库单明细 已入库退货数量/金额
|
|
//修改入库单明细 已入库退货数量/金额
|
|
|
inboundItemMapper.updateAmount(new InboundItem()
|
|
inboundItemMapper.updateAmount(new InboundItem()
|
|
|
.setItemId(inboundItemResponse.getSIntoItemId())
|
|
.setItemId(inboundItemResponse.getSIntoItemId())
|
|
|
- .setReturnQty(inboundItemResponse.getReturnQty().subtract(inboundItemResponse.getReturnQty()))
|
|
|
|
|
- .setReturnAmt(inboundItemResponse.getReturnAmt().subtract(inboundItemResponse.getReturnAmt()))
|
|
|
|
|
|
|
+ .setReturnQty(inboundItemResponse.getReturnQty().add(inboundItemResponse.getReturnQty()))
|
|
|
|
|
+ .setReturnAmt(inboundItemResponse.getReturnAmt().add(inboundItemResponse.getReturnAmt()))
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
@@ -349,8 +366,8 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
|
|
|
}
|
|
}
|
|
|
inboundMapper.updateAmount(new Inbound().setIntoId(inboundRes.getIntoId())
|
|
inboundMapper.updateAmount(new Inbound().setIntoId(inboundRes.getIntoId())
|
|
|
- .setReturnQty(inboundResponse.getReturnQty().subtract(inboundItemRespons.getReturnQty()))
|
|
|
|
|
- .setReturnAmt(inboundResponse.getReturnAmt().subtract(inboundItemRespons.getReturnAmt())));
|
|
|
|
|
|
|
+ .setReturnQty(inboundResponse.getReturnQty().add(inboundItemRespons.getReturnQty()))
|
|
|
|
|
+ .setReturnAmt(inboundResponse.getReturnAmt().add(inboundItemRespons.getReturnAmt())));
|
|
|
|
|
|
|
|
|
|
|
|
|
//查询采购单明细
|
|
//查询采购单明细
|
|
@@ -363,8 +380,8 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
purchaseItemMapper.updateAmount(
|
|
purchaseItemMapper.updateAmount(
|
|
|
new PurchaseItem()
|
|
new PurchaseItem()
|
|
|
.setItemId(purchaseItemResponse.getItemId())
|
|
.setItemId(purchaseItemResponse.getItemId())
|
|
|
- .setReturnQty(purchaseItemResponse.getReturnQty().subtract(inboundItemRespons.getReturnQty()))
|
|
|
|
|
- .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(inboundItemRespons.getReturnAmt()))
|
|
|
|
|
|
|
+ .setReturnQty(purchaseItemResponse.getReturnQty().add(inboundItemRespons.getReturnQty()))
|
|
|
|
|
+ .setReturnAmt(purchaseItemResponse.getReturnAmt().add(inboundItemRespons.getReturnAmt()))
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
//修改 负向入库单 状态为作废
|
|
//修改 负向入库单 状态为作废
|
|
@@ -377,6 +394,16 @@ public class InboundReturnService extends BaseService<Inbound> {
|
|
|
inboundItemMapper.updateIntoStatus(new InboundItem().setItemId(inboundItemRespons.getItemId()).setIntoStatus(Constant.IntoStatus.ZUOFEI.getName()));
|
|
inboundItemMapper.updateIntoStatus(new InboundItem().setItemId(inboundItemRespons.getItemId()).setIntoStatus(Constant.IntoStatus.ZUOFEI.getName()));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ inboundPurchaseReturnService.purchaseReturnInboundRepeal(inboundVO.getIntoId());
|
|
|
return ResponseResultUtil.success();
|
|
return ResponseResultUtil.success();
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
|
+ BigDecimal a = new BigDecimal(5);
|
|
|
|
|
+ BigDecimal b = new BigDecimal(-5);
|
|
|
|
|
+ System.out.println(a.add(b));
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|