|
|
@@ -10,8 +10,12 @@ import com.dk.common.response.ResponseResultVO;
|
|
|
import com.dk.mdm.infrastructure.convert.ivt.IntoReturnConvert;
|
|
|
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.pur.PurchaseItemMapper;
|
|
|
import com.dk.mdm.mapper.pur.PurchaseMapper;
|
|
|
+import com.dk.mdm.model.pojo.ivt.Inbound;
|
|
|
+import com.dk.mdm.model.pojo.ivt.InboundItem;
|
|
|
import com.dk.mdm.model.pojo.ivt.IntoReturn;
|
|
|
import com.dk.mdm.mapper.ivt.IntoReturnMapper;
|
|
|
import com.dk.common.service.BaseService;
|
|
|
@@ -25,6 +29,7 @@ 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.service.common.CommonService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -33,6 +38,7 @@ 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;
|
|
|
|
|
|
@@ -71,6 +77,16 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
|
|
|
@Autowired
|
|
|
private OutboundService outboundService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private InboundService inboundService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private InboundMapper inboundMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private InboundItemMapper inboundItemMapper;
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 查询
|
|
|
* @author : 于继渤
|
|
|
@@ -102,25 +118,75 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
//设置明细
|
|
|
intoReturnItemVOList = this.insertDetail(intoReturnVO, intoReturnItemVOList);
|
|
|
|
|
|
- //新建出库单
|
|
|
- OutboundVO outboundVO = new OutboundVO();
|
|
|
- //来源ID
|
|
|
- outboundVO.setFromId(intoReturnVO.getReturnId());
|
|
|
- //来源单号
|
|
|
- outboundVO.setFromNo(intoReturnVO.getReturnNo());
|
|
|
- //部门
|
|
|
- outboundVO.setOrgId(intoReturnVO.getOrgId());
|
|
|
- //员工
|
|
|
- outboundVO.setStaffId(intoReturnVO.getStaffId());
|
|
|
- //供应商
|
|
|
- outboundVO.setSupId(intoReturnVO.getSupId());
|
|
|
- //出库状态
|
|
|
- outboundVO.setOutStatus("出库状态-出库中");
|
|
|
- outboundService.insert(outboundVO);
|
|
|
+ //反写入库单 反写退货数量金额
|
|
|
+ Inbound inbound = inboundMapper.selectById(intoReturnVO.getIntoId());
|
|
|
+ inboundMapper.updateAmount(new Inbound().setIntoId(intoReturnVO.getIntoId())
|
|
|
+ .setReturnQty(inbound.getReturnQty().add(intoReturnVO.getSumQuantity()))
|
|
|
+ .setReturnAmt(inbound.getReturnAmt().add(intoReturnVO.getSumAmount())));
|
|
|
+
|
|
|
+
|
|
|
+ //反写入库订单明细、反写订单明细
|
|
|
+ for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
|
|
|
+
|
|
|
+ //根据退货明细中入库明细id查询入库明细数据
|
|
|
+ InboundItem inboundItem = inboundItemMapper.selectById(intoReturnItemVO.getIntoItemId());
|
|
|
+ inboundItemMapper.updateAmount(
|
|
|
+ new InboundItem()
|
|
|
+ .setItemId(inboundItem.getItemId())
|
|
|
+ .setReturnQty(inboundItem.getReturnQty().add(intoReturnItemVO.getItemQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ .setReturnAmt(inboundItem.getReturnAmt().add(intoReturnItemVO.getItemAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ );
|
|
|
+ //TODO 反写订单出库明细 退货数量和退货金额
|
|
|
+ //查询采购订单明细数据
|
|
|
+ PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(intoReturnItemVO.getPurItemId());
|
|
|
+ //反写订单明细退货数量和退货金额
|
|
|
+ purchaseItemMapper.updateAmount(
|
|
|
+ new PurchaseItem()
|
|
|
+ .setItemId(intoReturnItemVO.getPurItemId())
|
|
|
+ .setReturnQty(purchaseItemResponse.getReturnQty().add(intoReturnItemVO.getItemQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+ .setReturnAmt(purchaseItemResponse.getReturnAmt().add(intoReturnItemVO.getItemAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
|
|
|
+
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+// //新建出库单
|
|
|
+// OutboundVO outboundVO = new OutboundVO();
|
|
|
+// //来源ID
|
|
|
+// outboundVO.setFromId(intoReturnVO.getReturnId());
|
|
|
+// //来源单号
|
|
|
+// outboundVO.setFromNo(intoReturnVO.getReturnNo());
|
|
|
+// //部门
|
|
|
+// outboundVO.setOrgId(intoReturnVO.getOrgId());
|
|
|
+// //员工
|
|
|
+// outboundVO.setStaffId(intoReturnVO.getStaffId());
|
|
|
+// //供应商
|
|
|
+// outboundVO.setSupId(intoReturnVO.getSupId());
|
|
|
+// //出库状态
|
|
|
+// outboundVO.setOutStatus("出库状态-出库中");
|
|
|
+// outboundVO.setMakeStaff(authUtils.getStaff().getStaffId());
|
|
|
+// outboundVO.setCpId(authUtils.getStaff().getCpId());
|
|
|
+// List<OutboundItemVO> itemList = new ArrayList<>();
|
|
|
+// Integer itemIndex = 0;
|
|
|
+//
|
|
|
+// for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
|
|
|
+// OutboundItemVO outboundItemVO = new OutboundItemVO();
|
|
|
+// outboundItemVO.setSkuId(intoReturnItemVO.getSkuId());
|
|
|
+// outboundItemVO.setItemIndex(itemIndex +1);
|
|
|
+// outboundItemVO.setPriceOut(intoReturnItemVO.getPriceReturn());
|
|
|
+// outboundItemVO.setInvId("10112024-0305-0000-0000-000009593bb6");
|
|
|
+// itemList.add(outboundItemVO);
|
|
|
+// }
|
|
|
+//
|
|
|
+// outboundVO.setItemList(itemList);
|
|
|
+//
|
|
|
+//
|
|
|
+//
|
|
|
+// outboundService.insert(outboundVO);
|
|
|
|
|
|
|
|
|
return ResponseResultUtil.success();
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 设置总单信息
|
|
|
* @date : 2023/9/28 16:20
|
|
|
@@ -137,7 +203,8 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
//部门Id
|
|
|
intoReturnVO.setOrgId(purchaseResponse.getOrgId());
|
|
|
intoReturnVO.setReturnStatus("退货状态-通过");
|
|
|
- intoReturnVO.setOutStatus("出库状态-未出");
|
|
|
+ //出库状态
|
|
|
+ intoReturnVO.setOutStatus(Constant.OutStatus.DAICHUKU.getName());
|
|
|
//制单员
|
|
|
intoReturnVO.setMakeStaff(authUtils.getStaff().getStaffId());
|
|
|
//业务员
|
|
|
@@ -239,6 +306,4 @@ public class IntoReturnService extends BaseService<IntoReturn> {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
}
|