Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

于继渤 2 лет назад
Родитель
Сommit
51e3d8c42c

+ 21 - 0
src/main/java/com/dk/mdm/infrastructure/convert/pur/PurChaseItemConvert.java

@@ -0,0 +1,21 @@
+package com.dk.mdm.infrastructure.convert.pur;
+
+import com.dk.mdm.model.pojo.pur.PurchaseItem;
+import com.dk.mdm.model.vo.pur.PurchaseItemVO;
+import org.mapstruct.Mapper;
+
+/**
+ * @desc   : PurChaseItem转换类
+ * @author : 常皓宁
+ * @date   : 2024/2/28 11:08
+ */
+@Mapper(componentModel = "spring")
+public interface PurChaseItemConvert {
+
+    /**
+     * @desc   : 转换vo为pojo
+     * @author : 常皓宁
+     * @date   : 2024/2/28 11:09
+     */
+    PurchaseItem convertToPo(PurchaseItemVO purchaseItemVO);
+}

+ 4 - 0
src/main/java/com/dk/mdm/model/pojo/pur/Purchase.java

@@ -7,6 +7,7 @@ import java.io.Serializable;
 import com.dk.common.infrastructure.annotaiton.ExportTitle;
 import com.dk.common.infrastructure.handler.*;
 import com.dk.common.model.pojo.PageInfo;
+import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.AllArgsConstructor;
@@ -360,6 +361,9 @@ public class Purchase extends PageInfo<Purchase> implements Serializable {
     @TableField(typeHandler = UuidTypeHandler.class)
     private String whId;
 
+    //@ApiModelProperty(value = "采购订单明细")
+    //private List<PurchaseItem> purchaseItemList;
+
 
     /*
      * 相关属性

+ 5 - 0
src/main/java/com/dk/mdm/model/vo/pur/PurchaseVO.java

@@ -11,6 +11,7 @@ import com.dk.common.infrastructure.handler.JsonTypeHandler;
 import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
+import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,6 +25,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  *  采购订单
@@ -363,6 +365,9 @@ public class PurchaseVO extends PageInfo<PurchaseVO> implements Serializable {
     @TableField(typeHandler = UuidTypeHandler.class)
     private String whId;
 
+    @ApiModelProperty(value = "采购订单明细")
+    private List<PurchaseItemVO> purchaseItemVOList;
+
 
     /*
      * 相关属性

+ 26 - 1
src/main/java/com/dk/mdm/service/pur/PurchaseService.java

@@ -10,6 +10,7 @@ import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.pur.PurChaseConvert;
+import com.dk.mdm.infrastructure.convert.pur.PurChaseItemConvert;
 import com.dk.mdm.mapper.common.CommonMapper;
 import com.dk.mdm.mapper.pur.PurchaseItemMapper;
 import com.dk.mdm.model.pojo.mst.Staff;
@@ -17,11 +18,13 @@ import com.dk.mdm.model.pojo.pur.Purchase;
 import com.dk.mdm.mapper.pur.PurchaseMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.pojo.pur.PurchaseItem;
 import com.dk.mdm.model.query.pur.PurchaseItemQuery;
 import com.dk.mdm.model.query.pur.PurchaseQuery;
 import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.dk.mdm.model.response.pur.PurchaseResponse;
 import com.dk.mdm.model.vo.mst.StaffVO;
+import com.dk.mdm.model.vo.pur.PurchaseItemVO;
 import com.dk.mdm.model.vo.pur.PurchaseVO;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,10 +32,12 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 @Service
 @Transactional
@@ -50,6 +55,9 @@ public class PurchaseService extends BaseService<Purchase> {
 	private PurChaseConvert purChaseConvert;
 
 	@Autowired
+	private PurChaseItemConvert purchaseItemConvert;
+
+	@Autowired
 	private PurchaseItemMapper purchaseItemMapper;
 
 	@Autowired
@@ -90,10 +98,11 @@ public class PurchaseService extends BaseService<Purchase> {
 		}
 		//endregion
 
-		//region 设置销售订单总单信息并新建
+		//region 设置采购订单总单信息并新建
 		purchasevo.setPurId(null);
 		purchasevo.setMakeTime(LocalDateTime.now());
 		purchasevo.setPurType(Constant.DocumentType.PUR_CHASE.getName());
+		purchasevo.setIntoStatus(Constant.IntoStatus.DAIRUKU.getName());
 		Purchase purchase = purChaseConvert.convertToPo(purchasevo);
 		purchase.setPurNo("CS");//先随便塞个值 要不不能新建
 		purchaseMapper.insert(purchase);
@@ -101,6 +110,22 @@ public class PurchaseService extends BaseService<Purchase> {
 		purchasevo.setPurNo(commonMapper.getDocNo(purchasevo.getCpId(),purchase.getPurId(),Constant.DocumentType.PUR_CHASE.getName()));
 		purchaseMapper.updatePurNO(purchasevo);
 		//endregion
+		//region 设置采购订单明细信息并新建
+		List<PurchaseItemVO> purchaseItemVOList = purchasevo.getPurchaseItemVOList().stream().filter(it -> it.getItemId() == null).collect(Collectors.toList());
+		// 商品顺序
+		int num = 0;
+		for (PurchaseItemVO purchaseItemVO : purchaseItemVOList) {
+			PurchaseItem purchaseItem = purchaseItemConvert.convertToPo(purchaseItemVO);
+			purchaseItem.setPurId(purchase.getPurId());
+			purchaseItem.setIntoingQty(BigDecimal.ZERO);
+			purchaseItem.setIntoAmt(BigDecimal.ZERO);
+			num++;
+			purchaseItem.setItemIndex(num);
+			purchaseItem.setIntoStatus(Constant.IntoStatus.DAIRUKU.getName());
+			purchaseItem.setCpId(purchase.getCpId());
+			purchaseItemMapper.insert(purchaseItem);
+		}
+		//endregion
 		return ResponseResultUtil.success();
 	}