|
|
@@ -12,6 +12,7 @@ import com.dk.mdm.infrastructure.convert.ivt.IntoReturnItemConvert;
|
|
|
import com.dk.mdm.infrastructure.util.AuthUtils;
|
|
|
import com.dk.mdm.mapper.ivt.InboundItemMapper;
|
|
|
import com.dk.mdm.mapper.ivt.InboundMapper;
|
|
|
+import com.dk.mdm.mapper.ivt.IntoReturnItemMapper;
|
|
|
import com.dk.mdm.mapper.pur.PurchaseItemMapper;
|
|
|
import com.dk.mdm.mapper.pur.PurchaseMapper;
|
|
|
import com.dk.mdm.model.pojo.ivt.Inbound;
|
|
|
@@ -31,18 +32,18 @@ import com.dk.mdm.model.response.ivt.IntoReturnItemResponse;
|
|
|
import com.dk.mdm.model.response.ivt.IntoReturnResponse;
|
|
|
import com.dk.mdm.model.response.pur.PurchaseItemResponse;
|
|
|
import com.dk.mdm.model.response.pur.PurchaseResponse;
|
|
|
-import com.dk.mdm.model.vo.ivt.IntoReturnItemVO;
|
|
|
-import com.dk.mdm.model.vo.ivt.IntoReturnVO;
|
|
|
-import com.dk.mdm.model.vo.ivt.OutboundItemVO;
|
|
|
-import com.dk.mdm.model.vo.ivt.OutboundVO;
|
|
|
+import com.dk.mdm.model.vo.ivt.*;
|
|
|
import com.dk.mdm.service.common.CommonService;
|
|
|
import com.dk.mdm.service.ivt.inbound.InboundItemService;
|
|
|
+import com.dk.mdm.service.ivt.inbound.InboundPurchaseReturnService;
|
|
|
+import com.dk.mdm.service.ivt.inbound.InboundPurchaseService;
|
|
|
import com.dk.mdm.service.ivt.outbound.OutboundService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -74,6 +75,11 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
@Autowired
|
|
|
private IntoReturnItemService intoReturnItemService;
|
|
|
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IntoReturnItemMapper intoReturnItemMapper;
|
|
|
+
|
|
|
+
|
|
|
@Autowired
|
|
|
private CommonService commonService;
|
|
|
|
|
|
@@ -92,6 +98,9 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
@Autowired
|
|
|
private InboundItemService inboundItemService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InboundPurchaseReturnService inboundPurchaseReturnService;
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 查询
|
|
|
* @author : 于继渤
|
|
|
@@ -120,6 +129,8 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
}
|
|
|
//查询采购订单
|
|
|
PurchaseResponse purchaseResponse = purchaseMapper.selectById(intoReturnVO.getPurId());
|
|
|
+ intoReturnVO.setSumQuantity(intoReturnVO.getSumQuantity().abs());
|
|
|
+ intoReturnVO.setSumAmount(intoReturnVO.getSumAmount().abs());
|
|
|
//设置总单
|
|
|
intoReturnVO = this.insertTotal(intoReturnVO, purchaseResponse);
|
|
|
//设置明细
|
|
|
@@ -165,43 +176,41 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
|
|
|
);
|
|
|
}
|
|
|
-
|
|
|
- //新建出库单
|
|
|
- OutboundVO outboundVO = new OutboundVO();
|
|
|
- //来源ID
|
|
|
- outboundVO.setFromId(intoReturnVO.getReturnId());
|
|
|
- //来源单号
|
|
|
- outboundVO.setFromNo(intoReturnVO.getReturnNo());
|
|
|
- //部门
|
|
|
- outboundVO.setOrgId(intoReturnVO.getOrgId());
|
|
|
- //员工
|
|
|
- outboundVO.setStaffId(intoReturnVO.getStaffId());
|
|
|
- //出库状态 待出库
|
|
|
- outboundVO.setOutStatus(Constant.OutStatus.CHUKUZHONG.getName());
|
|
|
- //供应商
|
|
|
- outboundVO.setSupId(intoReturnVO.getSupId());
|
|
|
- outboundVO.setMakeStaff(authUtils.getStaff().getStaffId());
|
|
|
- outboundVO.setCpId(authUtils.getStaff().getCpId());
|
|
|
-
|
|
|
- outboundVO.setFromId(intoReturnVO.getReturnId());
|
|
|
- List<OutboundItemVO> itemList = new ArrayList<>();
|
|
|
- Integer itemIndex = 0;
|
|
|
+ //生成逆向 负数的 入库单
|
|
|
+
|
|
|
+
|
|
|
+ InboundVO inboundVO = new InboundVO();
|
|
|
+ //自动标识
|
|
|
+ inboundVO.setAutomaticFlg(intoReturnVO.getAutomaticFlg());
|
|
|
+
|
|
|
+ inboundVO.setFromId(intoReturnVO.getReturnId());
|
|
|
+ inboundVO.setFromNo(intoReturnVO.getReturnNo());
|
|
|
+ inboundVO.setStaffId(intoReturnVO.getStaffId());
|
|
|
+ inboundVO.setOrgId(intoReturnVO.getOrgId());
|
|
|
+ inboundVO.setMakeStaff(authUtils.getStaff().getStaffId());
|
|
|
+ inboundVO.setMakeTime(LocalDateTime.now());
|
|
|
+ inboundVO.setIntoingQty(intoReturnVO.getSumQuantity());
|
|
|
+ inboundVO.setIntoingAmt(intoReturnVO.getSumAmount());
|
|
|
+ List<InboundItemVO> list = new ArrayList<>();
|
|
|
for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
|
|
|
- //来源单ID 入库退货
|
|
|
- OutboundItemVO outboundItemVO = new OutboundItemVO();
|
|
|
-
|
|
|
- outboundItemVO.setFromId(intoReturnItemVO.getReturnId());
|
|
|
- outboundItemVO.setFromItemId(intoReturnItemVO.getItemId());
|
|
|
- outboundItemVO.setSkuId(intoReturnItemVO.getSkuId());
|
|
|
- outboundItemVO.setItemIndex(itemIndex + 1);
|
|
|
- outboundItemVO.setPriceOut(intoReturnItemVO.getPriceReturn());
|
|
|
- outboundItemVO.setInvId(intoReturnItemVO.getInvId());
|
|
|
- itemList.add(outboundItemVO);
|
|
|
+ System.out.println("'id==='"+intoReturnItemVO.getItemId());
|
|
|
+ InboundItemVO inboundItemVO = new InboundItemVO();
|
|
|
+ inboundItemVO.setIntoingQty(intoReturnItemVO.getItemQty());
|
|
|
+ inboundItemVO.setIntoingAmt(intoReturnItemVO.getItemAmt());
|
|
|
+ inboundItemVO.setPriceInto(intoReturnItemVO.getPriceReturn());
|
|
|
+ inboundItemVO.setFromItemId(intoReturnItemVO.getItemId());
|
|
|
+ inboundItemVO.setSkuId(intoReturnItemVO.getSkuId());
|
|
|
+ inboundItemVO.setItemIndex(intoReturnItemVO.getItemIndex());
|
|
|
+ inboundItemVO.setNonStdCode(intoReturnItemVO.getNonStdCode());
|
|
|
+ inboundItemVO.setReturnQty(intoReturnItemVO.getItemQty());
|
|
|
+ inboundItemVO.setReturnAmt(intoReturnItemVO.getItemAmt());
|
|
|
+ list.add(inboundItemVO);
|
|
|
}
|
|
|
|
|
|
- outboundVO.setItemList(itemList);
|
|
|
- //新建出库单
|
|
|
- outboundService.insertOutBound(outboundVO);
|
|
|
+ inboundVO.setItemList(list);
|
|
|
+
|
|
|
+ inboundPurchaseReturnService.purchaseReturnInboundInsert(inboundVO);
|
|
|
+
|
|
|
|
|
|
return ResponseResultUtil.success();
|
|
|
}
|
|
|
@@ -211,10 +220,10 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
* @date : 2023/9/28 16:20
|
|
|
* @author : 于继渤
|
|
|
*/
|
|
|
- @Transactional(rollbackFor = {Exception.class})
|
|
|
+
|
|
|
public IntoReturnVO insertTotal(IntoReturnVO intoReturnVO, PurchaseResponse purchaseResponse) {
|
|
|
// 获取单号
|
|
|
- Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.OUTBOUND.getName(), false);
|
|
|
+ Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.PURCHASEOUT.getName(), false);
|
|
|
intoReturnVO.setReturnId(codeMap.get("outId").toString()).setReturnNo(codeMap.get("outNote").toString())
|
|
|
.setReturnType(Constant.returnType.PURRETURN.getName());
|
|
|
|
|
|
@@ -248,13 +257,15 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
* @date : 2023/9/28 16:20
|
|
|
* @author : 于继渤
|
|
|
*/
|
|
|
- @Transactional(rollbackFor = {Exception.class})
|
|
|
+
|
|
|
public List<IntoReturnItemVO> insertDetail(IntoReturnVO intoReturnVO, List<IntoReturnItemVO> intoReturnItemVOList) {
|
|
|
for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
|
|
|
//总单Id
|
|
|
intoReturnItemVO.setReturnId(intoReturnVO.getReturnId());
|
|
|
//公司Id
|
|
|
intoReturnItemVO.setCpId(intoReturnVO.getCpId());
|
|
|
+ intoReturnItemVO.setPriceReturn(intoReturnItemVO.getPriceReturn().abs());
|
|
|
+ intoReturnItemVO.setItemQty(intoReturnItemVO.getItemQty().abs());
|
|
|
//根据分销订单明细Id查询数据
|
|
|
//查询明细数据
|
|
|
PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(intoReturnItemVO.getFromItemId());
|
|
|
@@ -262,7 +273,8 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
intoReturnItemVO.setPurId(purchaseItemResponse.getPurId());
|
|
|
intoReturnItemVO.setPurItemId(purchaseItemResponse.getItemId());
|
|
|
intoReturnItemVO.setIntoItemId(intoReturnItemVO.getIntoItemId());
|
|
|
- intoReturnItemVO.setItemId(null);
|
|
|
+ Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.PURCHASEOUT.getName(), false);
|
|
|
+ intoReturnItemVO.setItemId(codeMap.get("outId").toString());
|
|
|
//标价
|
|
|
intoReturnItemVO.setPriceStd(purchaseItemResponse.getPriceStd());
|
|
|
//标价金额 (商品数量*标价)
|
|
|
@@ -272,20 +284,20 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
//退货金额 (商品数量*退货价)
|
|
|
intoReturnItemVO.setItemAmt(intoReturnItemVO.getItemQty().multiply(intoReturnItemVO.getPriceReturn()).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
//自动]出库赋值 已入库数量、已入库金额
|
|
|
- if (intoReturnVO.getFlgAutoIvt() != null && intoReturnVO.getFlgAutoIvt()) {
|
|
|
- intoReturnItemVO.setOutQty(intoReturnItemVO.getItemQty().abs());
|
|
|
- intoReturnItemVO.setOutAmt(intoReturnItemVO.getItemAmt().abs());
|
|
|
- intoReturnItemVO.setOutStatus(Constant.OutStatus.YICHUKU.getName());
|
|
|
-
|
|
|
-
|
|
|
- } else {
|
|
|
- intoReturnItemVO.setOutingQty(intoReturnItemVO.getItemQty().abs());
|
|
|
- intoReturnItemVO.setOutingAmt(intoReturnItemVO.getItemAmt().abs());
|
|
|
+// if (intoReturnVO.getFlgAutoIvt() != null && intoReturnVO.getFlgAutoIvt()) {
|
|
|
+// intoReturnItemVO.setOutQty(intoReturnItemVO.getItemQty().abs());
|
|
|
+// intoReturnItemVO.setOutAmt(intoReturnItemVO.getItemAmt().abs());
|
|
|
+// intoReturnItemVO.setOutStatus(Constant.OutStatus.YICHUKU.getName());
|
|
|
+//
|
|
|
+//
|
|
|
+// } else {
|
|
|
+ intoReturnItemVO.setOutingQty(intoReturnItemVO.getItemQty());
|
|
|
+ intoReturnItemVO.setOutingAmt(intoReturnItemVO.getItemAmt());
|
|
|
intoReturnItemVO.setOutStatus(Constant.OutStatus.CHUKUZHONG.getName());
|
|
|
- }
|
|
|
- //新建明细
|
|
|
+// }
|
|
|
+// //新建明细
|
|
|
IntoReturnItem intoReturnItem = intoReturnItemConvert.convertToPo(intoReturnItemVO);
|
|
|
- intoReturnItemService.insert(intoReturnItem);
|
|
|
+ intoReturnItemMapper.insert(intoReturnItem);
|
|
|
|
|
|
}
|
|
|
return intoReturnItemVOList;
|