Jelajahi Sumber

库存调整单完善

songyang 2 tahun lalu
induk
melakukan
d6d44e768c

+ 22 - 0
src/main/java/com/dk/mdm/controller/ivt/TransferItemController.java

@@ -1,8 +1,17 @@
 package com.dk.mdm.controller.ivt;
 
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.ivt.TransferItem;
 import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
+import com.dk.mdm.model.query.ivt.CheckItemQuery;
+import com.dk.mdm.model.query.ivt.TransferItemQuery;
+import com.dk.mdm.model.response.ivt.CheckItemResponse;
+import com.dk.mdm.model.response.ivt.TransferItemResponse;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
@@ -21,4 +30,17 @@ public class TransferItemController{
     @Autowired
     private TransferItemService transferItemService;
 
+    /**
+     * @desc   : desc
+     * @author : 宋扬
+     * @date   : 2024/4/18 14:50
+     */
+    @ApiOperation(
+            value = "分页、关联、条件查询",
+            notes = "分页、关联、条件查询"
+    )
+    @PostMapping({"list_by"})
+    public ResponseResultVO<PageList<TransferItemResponse>> selectByCond(@RequestBody TransferItemQuery transferItemQuery) {
+        return transferItemService.selectByCond(transferItemQuery);
+    }
 }

+ 29 - 1
src/main/java/com/dk/mdm/mapper/ivt/TransferItemMapper.java

@@ -2,13 +2,41 @@ package com.dk.mdm.mapper.ivt;
 
 import com.dk.mdm.model.pojo.ivt.TransferItem;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.ivt.CheckItemQuery;
+import com.dk.mdm.model.query.ivt.TransferItemQuery;
+import com.dk.mdm.model.response.ivt.CheckItemResponse;
+import com.dk.mdm.model.response.ivt.TransferItemResponse;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
 *  调整单明细 Mapper
 */
 @Repository
 public interface TransferItemMapper extends BaseMapper<TransferItem>{
-	
+
+    /**
+     * @desc   : 查询盘点信息
+     * @author : 宋扬
+     * @date   : 2024/3/15 16:42
+     */
+    List<TransferItemResponse> selectByCond(TransferItemQuery transferItemQuery);
+
+
+    /**
+     * @desc   : 根据Id进行查询
+     * @author : 宋扬
+     * @date   : 2024/3/19 16:15
+     */
+    TransferItemResponse selectById(@Param("id") String id);
+
+    /**
+     * @desc   : 根据条件进行查询(数量)
+     * @author : 宋扬
+     * @date   : 2024/3/18 17:09
+     */
+    Long countByCond(TransferItemQuery transferItemQuery);
 }
 

+ 52 - 62
src/main/java/com/dk/mdm/mapper/ivt/TransferItemMapper.xml

@@ -8,6 +8,14 @@
         item_id, transfer_id, transfer_date, item_index, sku_id, o_inv_id, inv_id, o_wh_id, transfer_qty, wh_id, o_non_std_code, non_std_code, price_into, intoing_amt, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
     </sql>
 
+    <!-- 一览查询列 -->
+    <sql id="Base_Column_List_Response">
+        item.item_id, item.transfer_id, item.transfer_date, item.item_index, item.sku_id, item.o_inv_id, item.inv_id
+        , item.o_wh_id, item.transfer_qty, item.wh_id, item.o_non_std_code, item.non_std_code, item.price_into, item.intoing_amt
+        ,inv.non_std_code,oinv.non_std_code AS "oNonStdCode",wh.wh_Name AS "whName",owh.wh_Name AS "oWhName",item.flg_valid
+        ,sku.sku_code,sku.sku_name,sku.sku_model,brand.short_name
+    </sql>
+
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.ivt.TransferItem">
         <id column="item_id" property="itemId"/>
@@ -35,11 +43,37 @@
                 <result column="op_db_user" property="opDbUser"/>
     </resultMap>
 
+    <!-- 一览查询映射结果 -->
+    <resultMap id="BaseResultMap_Response" type="com.dk.mdm.model.response.ivt.TransferItemResponse">
+        <id column="item_id" property="itemId"/>
+        <result column="transfer_id" property="transferId" typeHandler="UuidTypeHandler"/>
+        <result column="transfer_date" property="transferDate" typeHandler="TimestampTypeHandler"/>
+        <result column="item_index" property="itemIndex"/>
+        <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+        <result column="o_inv_id" property="oInvId" typeHandler="UuidTypeHandler"/>
+        <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
+        <result column="o_wh_id" property="oWhId" typeHandler="UuidTypeHandler"/>
+        <result column="wh_id" property="whId" typeHandler="UuidTypeHandler"/>
+        <result column="o_non_std_code" property="oNonStdCode"/>
+        <result column="non_std_code" property="nonStdCode"/>
+        <result column="price_into" property="priceInto"/>
+        <result column="intoing_amt" property="intoingAmt"/>
+        <result column="transfer_qty" property="transferQty"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+        <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+        <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+        <result column="op_app_code" property="opAppCode"/>
+        <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+        <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
     <!-- 通用条件列 -->
     <sql id="Condition">
         <where>
             <if test="transferId != null and transferId != ''">
-                AND transfer_id = #{transferId}
+                AND transfer_id = #{transferId}::uuid
             </if>
             <if test="transferDate != null">
                 AND transfer_date = #{transferDate}
@@ -104,20 +138,27 @@
         </where>
     </sql>
 
-    <sql id="idsForeach">
-        <!-- 根据主键itemId批量操作 -->
-        WHERE item_id in
-        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
-            #{item}
-        </foreach>
+    <!-- 一览条件列 -->
+    <sql id="Condition_Response">
+        <where>
+            <if test="transferId != null and transferId != ''">
+                AND item.transfer_id = #{transferId}::uuid
+            </if>
+        </where>
     </sql>
 
     <!-- 查询表t_psi_transfer_item,(条件查询+分页)列表 -->
-    <select id="selectByCond" resultMap="BaseResultMap">
+    <select id="selectByCond" resultMap="BaseResultMap_Response">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_psi_transfer_item
-        <include refid="Condition"/>
+        <include refid="Base_Column_List_Response"/>
+        FROM t_psi_transfer_item AS item
+        LEFT JOIN dkic_b.t_mst_goods_sku AS sku ON item.sku_id=sku.sku_id
+        LEFT JOIN dkic_b.t_psi_inventory AS inv ON inv.inv_id=item.inv_id
+        LEFT JOIN dkic_b.t_mst_warehouse AS wh ON wh.wh_id=inv.wh_id
+        LEFT JOIN dkic_b.t_psi_inventory AS oinv ON oinv.inv_id=item.o_inv_id
+        LEFT JOIN dkic_b.t_mst_warehouse AS owh ON owh.wh_id=item.o_wh_id
+        LEFT JOIN dkic_b.t_mst_goods_brand AS brand ON brand.brand_id=sku.brand_id
+        <include refid="Condition_Response"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
         </if>
@@ -148,55 +189,4 @@
         for update
     </select>
 
-    <!-- 根据主键锁定表t_psi_transfer_item的多行数据 -->
-    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
-        SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_psi_transfer_item
-        <include refid="idsForeach"/>
-        for update
-    </select>
-
-    <insert id="insertBatch">
-        insert into t_psi_transfer_item
-        (
-        <trim suffixOverrides=",">
-            transfer_id,
-            transfer_date,
-            item_index,
-            sku_id,
-            o_inv_id,
-            inv_id,
-            o_wh_id,
-            wh_id,
-            o_non_std_code,
-            non_std_code,
-            price_into,
-            intoing_amt,
-            cp_id,
-            op_app_code,
-        </trim>
-        )
-        values
-        <foreach collection="list" index="index" item="item" separator=",">
-            (
-            <trim suffixOverrides=",">
-                #{item.transferId}::uuid,
-                #{item.transferDate},
-                #{item.itemIndex},
-                #{item.skuId}::uuid,
-                #{item.oInvId}::uuid,
-                #{item.invId}::uuid,
-                #{item.oWhId}::uuid,
-                #{item.whId}::uuid,
-                #{item.oNonStdCode},
-                #{item.nonStdCode},
-                #{item.priceInto},
-                #{item.intoingAmt},
-                #{item.cpId},
-                #{item.opAppCode},
-            </trim>
-            )
-        </foreach>
-    </insert>
 </mapper>

+ 1 - 1
src/main/java/com/dk/mdm/mapper/ivt/TransferMapper.xml

@@ -219,7 +219,7 @@
         SELECT
         <include refid="Base_Column_List"/>
         FROM dkic_b.t_psi_transfer
-        WHERE transfer_id = #{transferId}
+        WHERE transfer_id = #{id}::uuid
         for update
     </select>
 

+ 34 - 0
src/main/java/com/dk/mdm/model/query/ivt/TransferQuery.java

@@ -19,6 +19,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  *  调整单
@@ -239,6 +240,39 @@ public class TransferQuery extends PageInfo<TransferQuery> implements Serializab
     private String opDbUser;
 
 
+    /**
+     * @desc   : 有效标识List
+     * @author : 宋扬
+     * @date   : 2024/3/19 10:37
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private List<Boolean> flgValidList;
+
+    /**
+     * @desc   : 组织名称
+     * @author : 宋扬
+     * @date   : 2024/3/19 10:44
+     */
+    @ApiModelProperty(value = "组织名称")
+    private List<String> orgIdList;
+
+    /**
+     * @desc   : 员工
+     * @author : 宋扬
+     * @date   : 2024/3/19 10:46
+     */
+    @ApiModelProperty(value = "员工姓名")
+    private List<String> staffIdList;
+
+    /**
+     * @desc   : 调整状态
+     * @author : 宋扬
+     * @date   : 2024/3/19 11:08
+     */
+    @ApiModelProperty(value = "调整状态")
+    private List<String> transferStatusList;
+
     /*
      * 相关属性
      * @TableField(exist = false)

+ 51 - 2
src/main/java/com/dk/mdm/model/response/ivt/TransferItemResponse.java

@@ -7,6 +7,7 @@ import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -17,6 +18,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -59,9 +61,9 @@ public class TransferItemResponse extends PageInfo<TransferItemResponse> impleme
      */
     @Excel(name = "调整日期")
     @ApiModelProperty(value = "调整日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime transferDate;
+    private LocalDate transferDate;
 
 
     /**
@@ -122,6 +124,7 @@ public class TransferItemResponse extends PageInfo<TransferItemResponse> impleme
      */
     @Excel(name = "源批号")
     @ApiModelProperty(value = "源批号")
+    @JsonProperty(value = "oNonStdCode")
     private String oNonStdCode;
 
 
@@ -130,6 +133,7 @@ public class TransferItemResponse extends PageInfo<TransferItemResponse> impleme
      */
     @Excel(name = "目标批号")
     @ApiModelProperty(value = "目标批号")
+    @JsonProperty(value = "nonStdCode")
     private String nonStdCode;
 
 
@@ -229,6 +233,51 @@ public class TransferItemResponse extends PageInfo<TransferItemResponse> impleme
     private String opDbUser;
 
 
+    /**
+     * 商品名称
+     */
+    @Excel(name = "商品名称")
+    @ApiModelProperty(value = "商品名称")
+    private String skuName;
+
+    /**
+     * 商品编码
+     */
+    @Excel(name = "商品编码")
+    @ApiModelProperty(value = "商品编码")
+    private String skuCode;
+
+    /**
+     * 商品型号
+     */
+    @Excel(name = "商品型号")
+    @ApiModelProperty(value = "商品型号")
+    private String skuModel;
+
+    /**
+     * 品牌简称
+     */
+    @Excel(name = "品牌简称")
+    @ApiModelProperty(value = "品牌简称")
+    private String shortName;
+
+
+    /**
+     * 仓库名称
+     */
+    @Excel(name = "仓库名称")
+    @ApiModelProperty(value = "仓库名称")
+    private String whName;
+
+    /**
+     * 原仓库名称
+     */
+    @Excel(name = "原仓库名称")
+    @ApiModelProperty(value = "原仓库名称")
+    @JsonProperty(value = "oWhName")
+    private String oWhName;
+
+
     /*
      * 相关属性
      * @TableField(exist = false)

+ 28 - 0
src/main/java/com/dk/mdm/model/response/ivt/TransferResponse.java

@@ -239,6 +239,34 @@ public class TransferResponse extends PageInfo<TransferResponse> implements Seri
     @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
     private String opDbUser;
 
+    /**
+     * 调整单状态
+     */
+    @Excel(name = "调整单状态")
+    @ApiModelProperty(value = "调整单状态")
+    private String transferStatusName;
+
+    /**
+     * 调整人员
+     */
+    @Excel(name = "调整人员")
+    @ApiModelProperty(value = "调整人员")
+    private String transferStaff;
+
+    /**
+     * 调整部门
+     */
+    @Excel(name = "调整部门")
+    @ApiModelProperty(value = "调整部门")
+    private String transferOrg;
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    private String makeStaffName;
+
 
     /*
      * 相关属性

+ 27 - 0
src/main/java/com/dk/mdm/service/ivt/TransferItemService.java

@@ -1,9 +1,16 @@
 package com.dk.mdm.service.ivt;
 
+import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.ivt.TransferItem;
 import com.dk.mdm.mapper.ivt.TransferItemMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.ivt.CheckItemQuery;
+import com.dk.mdm.model.query.ivt.TransferItemQuery;
+import com.dk.mdm.model.response.ivt.CheckItemResponse;
+import com.dk.mdm.model.response.ivt.TransferItemResponse;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -20,4 +27,24 @@ public class TransferItemService extends BaseService<TransferItem> {
 	@Autowired
 	private TransferItemMapper transferItemMapper;
 
+	/**
+	 * @desc   : 重新主键
+	 * @author : 宋扬
+	 * @date   : 2024/3/28 14:00
+	 */
+	@Override
+	public String getPrimaryKey() {
+		return "item_id";
+	}
+
+	/**
+	 * @desc   : 盘点明细
+	 * @author : 宋扬
+	 * @date   : 2024/3/28 14:00
+	 */
+	@Pagination
+	public ResponseResultVO<PageList<TransferItemResponse>> selectByCond(TransferItemQuery transferItemQuery) {
+		return super.mergeListWithCount(transferItemMapper, transferItemMapper.selectByCond(transferItemQuery)
+				, transferItemMapper.countByCond(transferItemQuery));
+	}
 }

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

@@ -212,7 +212,7 @@ public class TransferService extends BaseService<Transfer> {
 
 							// 获取调整主表uuidhe
 							transferItem.setTransferId(transfer.getTransferId()).setTransferDate(LocalDate.now())
-									.setInvId(inboundItemVOList.get(0).getInvId());
+									.setInvId(inboundItemVOList.get(0).getInvId()).setNonStdCode(transferItemVO.getONonStdCode());
 							// 插入调整单明细数据
 							transferItemMapper.insert(transferItem);
 							// 赋值入库明细值 并修改入库明细from_item_id值
@@ -239,13 +239,13 @@ public class TransferService extends BaseService<Transfer> {
 							.setFromId(transfer.getTransferId()).setFromNo(transfer.getTransferNo())
 							.setMakeTime(LocalDateTime.now()).setIntoDate(LocalDate.now()).setWhId(transferVO.getOWhId())
 							.setFlgAutoHandle(true).setIntoingAmt(BigDecimal.ZERO)
-							.setIntoStatus(Constant.InventoryDocCode.MOVE.getTableName());
+							.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)
-							.setOutStatus(Constant.InventoryDocCode.MOVE.getTableName());
+							.setOutType(Constant.OutType.REMOVE.getName());;
 					// 获取入库明细实体
 					for (TransferItemVO transferItemVO : transferVO.getItemList()) {
 						// 赋值入库明细实体
@@ -286,7 +286,7 @@ public class TransferService extends BaseService<Transfer> {
 
                             // 获取调整主表uuid
                             transferItem.setTransferId(transfer.getTransferId()).setTransferDate(LocalDate.now())
-                                    .setInvId(inboundItemVOList.get(0).getInvId());
+                                    .setInvId(inboundItemVOList.get(0).getInvId()).setWhId(transferItemVO.getOWhId());
                             // 插入调整单明细数据
                             transferItemMapper.insert(transferItem);
                             // 赋值入库明细值 并修改入库明细from_item_id值