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

Merge remote-tracking branch 'origin/master'

dongke 1 год назад
Родитель
Сommit
2e8647f3a5

+ 8 - 1
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.java

@@ -73,7 +73,14 @@ public interface OutboundItemMapper extends BaseMapper<OutboundItem>{
      * @author : 寇珊珊
      */
     OutboundItemResponse selectById(@Param("id") String id);
-    
+
+    /**
+     * @desc   : 根据id查询
+     * @date   : 2024/3/18 13:41
+     * @author : 寇珊珊
+     */
+    OutboundItemResponse selectItemIndex(@Param("itemIndex") Integer itemIndex,@Param("id") String id);
+
     /**
      * @desc   : 修改退货信息
      * @date   : 2024/3/29 9:05

+ 11 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml

@@ -604,4 +604,15 @@
     </update>
 
 
+    <!-- 根据商品顺序查询表t_psi_outbound_item的一行数据 -->
+    <select id="selectItemIndex" resultMap="BaseResultMapResponse">
+        SELECT
+        <include refid="Base_Column_List_Response"/>
+        FROM dkic_b.t_psi_outbound_item tpoi
+        WHERE tpoi.item_index = #{itemIndex}
+             and tpoi.out_id=#{id}::uuid
+    </select>
+
+
+
 </mapper>

+ 5 - 0
src/main/java/com/dk/mdm/model/vo/ivt/InOutRecordVO.java

@@ -1,5 +1,6 @@
 package com.dk.mdm.model.vo.ivt;
 
+import cn.afterturn.easypoi.excel.annotation.Excel;
 import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.dk.common.infrastructure.handler.TimestampTypeHandler;
@@ -214,6 +215,10 @@ public class InOutRecordVO  {
     @ApiModelProperty(value = "业务单单号")
     private String biznisNo;
 
+    @ApiModelProperty(value = "出库商品顺序-库存调整给入库价")
+    private Integer itemIndex;
+
+
 
 
 

+ 6 - 1
src/main/java/com/dk/mdm/model/vo/ivt/InboundItemVO.java

@@ -238,7 +238,12 @@ public class InboundItemVO  {
 
     @ApiModelProperty(value = "新建编辑标识true:新建,false:编辑")
     private Boolean addOrEditFlag;
-
+    /**
+     * 出库ID
+     */
+    @ApiModelProperty(value = "出库ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String outId;
 
     private static final long serialVersionUID = 1L;
 

+ 40 - 0
src/main/java/com/dk/mdm/service/ivt/FreezeService.java

@@ -216,4 +216,44 @@ public class FreezeService extends BaseService<Freeze> {
 		return ResponseResultUtil.success(super.updateByUuid(freeze));
 	}
 
+
+	@Transactional(
+			rollbackFor = {Exception.class}
+	)
+	public ResponseResultVO<?> updateFreeze(FreezeVO freezeVO) {
+
+		// 赋值全部解冻
+		String freezeStatus=Constant.FreezeStatusType.ALLUNFREEZE.getName();
+		// 查询冻结单明细
+
+		// 解冻
+		for (FreezeItemVO freezeItemVO : freezeVO.getItemList()) {
+
+			FreezeItem freezeItem = new FreezeItem();
+			// 赋值实体
+			freezeItem.setItemId(freezeItemVO.getItemId()).setUnfreezeQty(freezeItemVO.getSurplusQty())
+					.setSurplusQty(BigDecimal.ZERO);
+			// 修改冻结单明细解冻量
+			freezeItemService.updateByUuid(freezeItem);
+			// 查询库存信息
+			Inventory inventoryForUpdate=inventoryMapper.selectByIdForUpdate(freezeItemVO.getInvId());
+			// 库存冻结量=库存冻结量-实际解冻量
+			BigDecimal freezeqty=inventoryForUpdate.getFreezeQty().subtract(freezeItemVO.getSurplusQty());
+			// 库存可售量=库存可售量+实际解冻量
+			BigDecimal usableQt=inventoryForUpdate.getUsableQty().add(freezeItemVO.getSurplusQty());
+			// 更新修改内容信息
+			Inventory inventoryUpdate = new Inventory();
+			// 赋值库存可售量、冻结量和库存ID值
+			inventoryUpdate.setInvId(freezeItemVO.getInvId()).setFreezeQty(freezeqty).setUsableQty(usableQt);
+			// 修改库存冻结量、可售量
+			inventoryService.updateByUuid(inventoryUpdate);
+		}
+		// 赋值冻结表状态和ID
+		Freeze freeze=new Freeze();
+		freeze.setFreezeId(freezeVO.getFreezeId()).setFreezeStatus(freezeStatus);
+		// 更新主表冻结状态
+		return ResponseResultUtil.success(super.updateByUuid(freeze));
+	}
+
+
 }

+ 39 - 34
src/main/java/com/dk/mdm/service/ivt/TransferService.java

@@ -149,37 +149,20 @@ public class TransferService extends BaseService<Transfer> {
 			List<OutboundItemVO> outboundItemVOList=new ArrayList<>();
 			// 仓库调整
 			if(transferVO.getTransferType().equals(Constant.transferType.CHECK_TYPE_WH.getName())) {
-				// 赋值入库实体
-				inboundVO.setOrgId(transferVO.getOrgId()).setStaffId(transferVO.getStaffId())
-						.setMakeStaff(transferVO.getMakeStaff()).setIntoingQty(transferQtySum)
-						.setFromId(transfer.getTransferId()).setFromNo(transfer.getTransferNo())
-						.setMakeTime(LocalDateTime.now()).setIntoDate(LocalDate.now()).setWhId(transferVO.getWhId())
-						.setFlgAutoHandle(true).setIntoingAmt(BigDecimal.ZERO)
-						.setIntoType(Constant.IntoType.REMOVE.getName());
 				// 赋值出库实体
 				outboundVO.setOrgId(transferVO.getOrgId()).setStaffId(transferVO.getStaffId())
 						.setMakeStaff(transferVO.getMakeStaff()).setOutingQty(transferQtySum)
 						.setFromId(transfer.getTransferId()).setFromNo(transfer.getTransferNo())
 						.setMakeTime(LocalDateTime.now()).setOutDate(LocalDate.now())
 						.setOutingAmt(BigDecimal.ZERO).setOutType(Constant.OutType.REMOVE.getName());
-				// 获取库明细实体
+				// 获取出库明细实体
 				for (TransferItemVO transferItemVO : transferVO.getItemList()) {
-					// 赋值入库明细实体
-					InboundItemVO inboundItemVO=new InboundItemVO();
-					inboundItemVO.setItemIndex(transferItemVO.getItemIndex()).setSkuId(transferItemVO.getSkuId())
-							.setIntoingQty(transferItemVO.getTransferQty()).setFromId(transfer.getTransferId())
-							.setIntoingAmt(BigDecimal.ZERO).setPriceInto(BigDecimal.ZERO)
-							.setWhId(transferItemVO.getWhId()).setNonStdCode(transferItemVO.getONonStdCode());
-
-					inboundItemVOList.add(inboundItemVO);
-
 					// 赋值出库明细信息。
 					OutboundItemVO outboundItemVO =new OutboundItemVO();
 					outboundItemVO.setItemIndex(transferItemVO.getItemIndex()).setSkuId(transferItemVO.getSkuId())
 							.setOutingQty(transferItemVO.getTransferQty()).setFromId(transfer.getTransferId())
 							.setOutingAmt(BigDecimal.ZERO).setPriceOut(BigDecimal.ZERO).setInvId(transferItemVO.getOInvId())
 							.setWhId(transferItemVO.getOWhId()).setNonStdCode(transferItemVO.getONonStdCode());
-
 					outboundItemVOList.add(outboundItemVO);
 				}
 
@@ -189,6 +172,25 @@ public class TransferService extends BaseService<Transfer> {
 				// 调用盘点出库接口
 				OutboundVO outboundTransferVO = outboundCheckService.otherOutboundInsert(outboundCheckMap);
 
+				// 赋值入库实体
+				inboundVO.setOrgId(transferVO.getOrgId()).setStaffId(transferVO.getStaffId())
+						.setMakeStaff(transferVO.getMakeStaff()).setIntoingQty(transferQtySum)
+						.setFromId(transfer.getTransferId()).setFromNo(transfer.getTransferNo())
+						.setMakeTime(LocalDateTime.now()).setIntoDate(LocalDate.now()).setWhId(transferVO.getWhId())
+						.setFlgAutoHandle(true).setIntoingAmt(BigDecimal.ZERO)
+						.setIntoType(Constant.IntoType.REMOVE.getName());
+
+				// 获取入库明细实体
+				for (TransferItemVO transferItemVO : transferVO.getItemList()) {
+					// 赋值入库明细实体
+					InboundItemVO inboundItemVO=new InboundItemVO();
+					inboundItemVO.setItemIndex(transferItemVO.getItemIndex()).setSkuId(transferItemVO.getSkuId())
+							.setIntoingQty(transferItemVO.getTransferQty()).setFromId(transfer.getTransferId())
+							.setIntoingAmt(BigDecimal.ZERO).setPriceInto(BigDecimal.ZERO).setOutId(outboundTransferVO.getOutId())
+							.setWhId(transferItemVO.getWhId()).setNonStdCode(transferItemVO.getONonStdCode());
+					inboundItemVOList.add(inboundItemVO);
+				}
+
 				// 赋值入库接口参数 总表和明细
 				inboundMap.put("total", inboundVO);
 				inboundMap.put("detail", inboundItemVOList);
@@ -226,29 +228,14 @@ public class TransferService extends BaseService<Transfer> {
 			}
 			// 非标号调整
 			else{
-				// 赋值入库实体
-				inboundVO.setOrgId(transferVO.getOrgId()).setStaffId(transferVO.getStaffId())
-						.setMakeStaff(transferVO.getMakeStaff()).setIntoingQty(transferQtySum)
-						.setFromId(transfer.getTransferId()).setFromNo(transfer.getTransferNo())
-						.setMakeTime(LocalDateTime.now()).setIntoDate(LocalDate.now()).setWhId(transferVO.getOWhId())
-						.setFlgAutoHandle(true).setIntoingAmt(BigDecimal.ZERO)
-						.setIntoType(Constant.IntoType.REMOVE.getName());
 				// 赋值出库实体
 				outboundVO.setOrgId(transferVO.getOrgId()).setStaffId(transferVO.getStaffId())
 						.setMakeStaff(transferVO.getMakeStaff()).setOutingQty(transferQtySum)
 						.setFromId(transfer.getTransferId()).setFromNo(transfer.getTransferNo())
 						.setMakeTime(LocalDateTime.now()).setOutDate(LocalDate.now()).setOutingAmt(BigDecimal.ZERO)
 						.setOutType(Constant.OutType.REMOVE.getName());;
-				// 获取库明细实体
+				// 获取出库明细实体
 				for (TransferItemVO transferItemVO : transferVO.getItemList()) {
-					// 赋值入库明细实体
-					InboundItemVO inboundItemVO=new InboundItemVO();
-					inboundItemVO.setItemIndex(transferItemVO.getItemIndex()).setSkuId(transferItemVO.getSkuId())
-							.setIntoingQty(transferItemVO.getTransferQty()).setFromId(transfer.getTransferId())
-							.setIntoingAmt(BigDecimal.ZERO).setPriceInto(BigDecimal.ZERO)
-							.setWhId(transferItemVO.getOWhId()).setNonStdCode(transferItemVO.getNonStdCode());
-					inboundItemVOList.add(inboundItemVO);
-
 					// 赋值出库明细信息。
 					OutboundItemVO outboundItemVO =new OutboundItemVO();
 					outboundItemVO.setItemIndex(transferItemVO.getItemIndex()).setSkuId(transferItemVO.getSkuId())
@@ -263,6 +250,24 @@ public class TransferService extends BaseService<Transfer> {
 				// 调用盘点出库接口
 				OutboundVO outboundTransferVO = outboundCheckService.otherOutboundInsert(outboundCheckMap);
 
+				// 赋值入库实体
+				inboundVO.setOrgId(transferVO.getOrgId()).setStaffId(transferVO.getStaffId())
+						.setMakeStaff(transferVO.getMakeStaff()).setIntoingQty(transferQtySum)
+						.setFromId(transfer.getTransferId()).setFromNo(transfer.getTransferNo())
+						.setMakeTime(LocalDateTime.now()).setIntoDate(LocalDate.now()).setWhId(transferVO.getOWhId())
+						.setFlgAutoHandle(true).setIntoingAmt(BigDecimal.ZERO)
+						.setIntoType(Constant.IntoType.REMOVE.getName());
+
+				// 获取入库明细实体
+				for (TransferItemVO transferItemVO : transferVO.getItemList()) {
+					// 赋值入库明细实体
+					InboundItemVO inboundItemVO=new InboundItemVO();
+					inboundItemVO.setItemIndex(transferItemVO.getItemIndex()).setSkuId(transferItemVO.getSkuId())
+							.setIntoingQty(transferItemVO.getTransferQty()).setFromId(transfer.getTransferId())
+							.setIntoingAmt(BigDecimal.ZERO).setPriceInto(BigDecimal.ZERO).setOutId(outboundTransferVO.getOutId())
+							.setWhId(transferItemVO.getOWhId()).setNonStdCode(transferItemVO.getNonStdCode());
+					inboundItemVOList.add(inboundItemVO);
+				}
 				// 赋值入库接口参数 总表和明细
 				inboundMap.put("total", inboundVO);
 				inboundMap.put("detail", inboundItemVOList);

+ 25 - 26
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -342,7 +342,6 @@ public class InventoryService extends BaseService<Inventory> {
                     this.updateOutbound(outList);
                 } else if (outDetail.size() == 0 && intoDetail.size() == 0 ) {
                     throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.NO_DATA_MOVED_OUT.getMessage());
-
                 }
                 //后入
                 if (intoDetail.size() > 0) {
@@ -1565,28 +1564,6 @@ public class InventoryService extends BaseService<Inventory> {
     }
 
     /**
-     * @desc : 根据来源id和来源明细id查找出库单获取单价,金额等信息
-     * @date : 2024/4/16 10:19
-     * @author : 寇珊珊
-     */
-    @Transactional(
-            rollbackFor = {Exception.class}
-    )
-    public List<InOutRecordVO> selectOutbound(List<InOutRecordVO> inOutRecordVOList) {
-        for (InOutRecordVO inOutRecordVO : inOutRecordVOList) {
-            OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(inOutRecordVO.getSOutItemId());
-            //单价
-            inOutRecordVO.setPriceInto(outboundItemResponse.getPriceOut());
-            //金额
-            inOutRecordVO.setIntoAmt(outboundItemResponse.getOutAmt());
-            //成本单价
-            inOutRecordVO.setCostPrice(outboundItemResponse.getCostPrice());
-        }
-
-        return inOutRecordVOList;
-    }
-
-    /**
      * @desc : 修改入库单---单价、金额、成本等信息
      * @date : 2024/4/16 10:18
      * @author : 寇珊珊
@@ -1598,7 +1575,7 @@ public class InventoryService extends BaseService<Inventory> {
         BigDecimal sumOutQty = inOutRecordVOList.stream().map(InOutRecordVO::getIntoQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
         BigDecimal sumOutAmt = inOutRecordVOList.stream().map(InOutRecordVO::getIntoAmt).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(6, BigDecimal.ROUND_HALF_UP);
         //region  编辑入库单数量
-        InboundResponse inboundResponse = inboundMapper.selectMessageByOtherQuery(new InboundQuery().setFromId(inOutRecordVOList.get(0).getBiznisId()));
+        InboundResponse inboundResponse = inboundMapper.selectMessageByOtherQuery(new InboundQuery().setIntoId(inOutRecordVOList.get(0).getBiznisId()));
         Inbound inbound = new Inbound();
         inbound.setIntoId(inboundResponse.getIntoId());
         inbound.setIntoQty(sumOutQty.abs());
@@ -1611,8 +1588,8 @@ public class InventoryService extends BaseService<Inventory> {
 
         //region 明细
         for (InOutRecordVO inOutRecordVO : inOutRecordVOList) {
-            List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().
-                    setFromId(inOutRecordVO.getBiznisId()).setFromItemId(inOutRecordVO.getBiznisItemId()));
+            List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery()
+                    .setItemId(inOutRecordVO.getBiznisItemId()));
             InboundItemResponse inboundItemResponse = inboundItemResponses.get(0);
             InboundItem inboundItem = new InboundItem();
             //总单id
@@ -1638,6 +1615,28 @@ public class InventoryService extends BaseService<Inventory> {
     }
 
     /**
+     * @desc : 根据来源id和来源明细id查找出库单获取单价,金额等信息
+     * @date : 2024/4/16 10:19
+     * @author : 寇珊珊
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public List<InOutRecordVO> selectOutbound(List<InOutRecordVO> inOutRecordVOList) {
+        for (InOutRecordVO inOutRecordVO : inOutRecordVOList) {
+            OutboundItemResponse outboundItemResponse = outboundItemMapper.selectItemIndex(inOutRecordVO.getItemIndex(),inOutRecordVO.getOutId());
+            //单价
+            inOutRecordVO.setPriceInto(outboundItemResponse.getPriceOut());
+            //金额
+            inOutRecordVO.setIntoAmt(outboundItemResponse.getOutAmt());
+            //成本单价
+            inOutRecordVO.setCostPrice(outboundItemResponse.getCostPrice());
+        }
+
+        return inOutRecordVOList;
+    }
+
+    /**
      * @desc : 调整仓库-入库删除
      * @date : 2024/4/10 13:09
      * @author : 寇珊珊

+ 1 - 1
src/main/java/com/dk/mdm/service/mst/SaleChannelService.java

@@ -98,7 +98,7 @@ public class SaleChannelService extends BaseService<SaleChannel> {
 			return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.SALECHANNEL_NAME_NOT.getMessage());
 		}else{
 			//新建如果是默认取消其他默认
-			if(saleChannelVO.getFlgDefault()){
+			if(saleChannelVO.getFlgDefault() != null && saleChannelVO.getFlgDefault()){
 				//默认  把其他置为非默认
 				saleChannelMapper.updateFlgDefault(authUtils.getStaff().getCpId());
 			}