fix:供应商中增加物料清单和采购记录相关接口开发。

This commit is contained in:
zhangxuanming 2025-01-22 10:57:51 +08:00
parent fb3c63922a
commit 9f405b5aa0
6 changed files with 315 additions and 1 deletions

View File

@ -235,4 +235,16 @@ public class WmItemRecptController extends BaseController
return toAjax(wmItemRecptService.deleteWmItemRecptByRecptIds(recptIds));
}
@GetMapping("/getItem/{vendorId}")
@Log(title = "根据供应商Id查询物料数据")
public AjaxResult getItem(@PathVariable Long vendorId) {
return wmItemRecptService.getItem(vendorId);
}
@GetMapping("/getProcurementRecord/{vendorId}")
@Log(title = "根据供应商Id查询采购记录")
public AjaxResult getProcurementRecord(@PathVariable Long vendorId) {
return wmItemRecptService.getProcurementRecord(vendorId);
}
}

View File

@ -0,0 +1,156 @@
package com.ktg.mes.wm.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktg.common.annotation.Excel;
import com.ktg.mes.wm.domain.WmItemRecptLine;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class ProcurementRecordVO extends WmItemRecptLine {
private static final long serialVersionUID = 1L;
/** 入库单ID */
@Excel(name = "入库单ID")
private Long recptId;
/**
* 到货通知单行ID
*/
private Long noticeLineId;
/** 产品物料ID */
@Excel(name = "产品物料ID")
private Long itemId;
/** 产品物料编码 */
@Excel(name = "产品物料编码")
private String itemCode;
/** 产品物料名称 */
@Excel(name = "产品物料名称")
private String itemName;
/** 规格型号 */
@Excel(name = "规格型号")
private String specification;
/** 单位 */
@Excel(name = "单位")
private String unitOfMeasure;
/** 入库数量 */
@Excel(name = "入库数量")
private BigDecimal quantityRecived;
/** 入库批次号 */
@Excel(name = "入库批次号")
private String batchCode;
/** 仓库ID */
@Excel(name = "仓库ID")
private Long warehouseId;
/** 仓库编码 */
@Excel(name = "仓库编码")
private String warehouseCode;
/** 仓库名称 */
@Excel(name = "仓库名称")
private String warehouseName;
/** 库区ID */
@Excel(name = "库区ID")
private Long locationId;
/** 库区编码 */
@Excel(name = "库区编码")
private String locationCode;
/** 库区名称 */
@Excel(name = "库区名称")
private String locationName;
/** 库位ID */
@Excel(name = "库位ID")
private Long areaId;
/** 库位编码 */
@Excel(name = "库位编码")
private String areaCode;
/** 库位名称 */
@Excel(name = "库位名称")
private String areaName;
/** 有效期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "有效期", width = 30, dateFormat = "yyyy-MM-dd")
private Date expireDate;
/**
* 是否来料检验
*/
private String iqcCheck;
/**
* 来料检验单ID
*/
private Long iqcId;
/**
* 来料检验单编码
*/
private String iqcCode;
/** 入库单编号 */
@Excel(name = "入库单编号")
private String recptCode;
/** 入库单名称 */
@Excel(name = "入库单名称")
private String recptName;
/**
* 到货通知单ID
*/
private Long noticeId;
/**
* 到货通知单编号
*/
private String noticeCode;
/** 采购订单编号 */
@Excel(name = "采购订单编号")
private String poCode;
/** 供应商ID */
@Excel(name = "供应商ID")
private Long vendorId;
/** 供应商编码 */
@Excel(name = "供应商编码")
private String vendorCode;
/** 供应商名称 */
@Excel(name = "供应商名称")
private String vendorName;
/** 供应商简称 */
@Excel(name = "供应商简称")
private String vendorNick;
/** 入库日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date recptDate;
/** 单据状态 */
@Excel(name = "单据状态")
private String status;
}

View File

@ -1,8 +1,12 @@
package com.ktg.mes.wm.mapper;
import java.util.List;
import com.ktg.mes.wm.domain.vo.ProcurementRecordVO;
import com.ktg.mes.wm.domain.WmItemRecpt;
import com.ktg.mes.wm.domain.WmItemRecptLine;
import com.ktg.mes.wm.domain.tx.ItemRecptTxBean;
import org.apache.ibatis.annotations.Param;
/**
* 物料入库单Mapper接口
@ -64,4 +68,13 @@ public interface WmItemRecptMapper
* @return 结果
*/
public int deleteWmItemRecptByRecptIds(Long[] recptIds);
/**
* 查询所有跟当前供应商相关的物料数据
* @param vendorId
* @return
*/
List<WmItemRecptLine> getItem(@Param("vendorId") Long vendorId);
List<ProcurementRecordVO> getProcurementRecord(@Param("vendorId") Long vendorId);
}

View File

@ -1,6 +1,8 @@
package com.ktg.mes.wm.service;
import java.util.List;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.mes.wm.domain.WmItemRecpt;
import com.ktg.mes.wm.domain.tx.ItemRecptTxBean;
@ -76,4 +78,17 @@ public interface IWmItemRecptService
public List<ItemRecptTxBean> getTxBeans(Long receptId);
/**
* 根据供应商Id查询物料数据
* @param vendorId
* @return
*/
AjaxResult getItem(Long vendorId);
/**
* 根据供应商Id查询采购记录
* @param vendorId
* @return
*/
AjaxResult getProcurementRecord(Long vendorId);
}

View File

@ -1,11 +1,17 @@
package com.ktg.mes.wm.service.impl;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.utils.DateUtils;
import com.ktg.common.utils.StringUtils;
import com.ktg.mes.wm.domain.vo.ProcurementRecordVO;
import com.ktg.mes.wm.domain.WmItemRecptLine;
import com.ktg.mes.wm.domain.tx.ItemRecptTxBean;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktg.mes.wm.mapper.WmItemRecptMapper;
@ -112,4 +118,24 @@ public class WmItemRecptServiceImpl implements IWmItemRecptService
public List<ItemRecptTxBean> getTxBeans(Long receptId) {
return wmItemRecptMapper.getTxBeans(receptId);
}
@Override
public AjaxResult getItem(Long vendorId) {
// 查询所有跟当前供应商相关的物料数据
List<WmItemRecptLine> itemRecptLines = wmItemRecptMapper.getItem(vendorId);
List<WmItemRecptLine> collect = itemRecptLines.stream()
.collect(Collectors.toMap(
WmItemRecptLine::getItemId,
Function.identity(),
(existing, replacement) -> existing
)).values().stream().collect(Collectors.toList());
return AjaxResult.success(collect);
}
@Override
public AjaxResult getProcurementRecord(Long vendorId) {
// 查询所有跟当前供应商相关的采购记录
List<ProcurementRecordVO> recordVOS = wmItemRecptMapper.getProcurementRecord(vendorId);
return AjaxResult.success(recordVOS);
}
}

View File

@ -39,6 +39,87 @@
<result property="updateTime" column="update_time" />
</resultMap>
<resultMap type="WmItemRecptLine" id="WmItemRecptLineResult">
<result property="lineId" column="line_id" />
<result property="recptId" column="recpt_id" />
<result property="noticeLineId" column="notice_line_id" />
<result property="itemId" column="item_id" />
<result property="itemCode" column="item_code" />
<result property="itemName" column="item_name" />
<result property="specification" column="specification" />
<result property="unitOfMeasure" column="unit_of_measure" />
<result property="quantityRecived" column="quantity_recived" />
<result property="batchCode" column="batch_code" />
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="locationId" column="location_id" />
<result property="locationCode" column="location_code" />
<result property="locationName" column="location_name" />
<result property="areaId" column="area_id" />
<result property="areaCode" column="area_code" />
<result property="areaName" column="area_name" />
<result property="expireDate" column="expire_date" />
<result property="iqcCheck" column="iqc_check" ></result>
<result property="iqcId" column="iqc_id"></result>
<result property="iqcCode" column="iqc_code"></result>
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<resultMap id="ProcurementRecordVOResult" type="ProcurementRecordVO">
<result property="recptId" column="recpt_id" />
<result property="recptCode" column="recpt_code" />
<result property="recptName" column="recpt_name" />
<result property="iqcId" column="iqc_id" />
<result property="iqcCode" column="iqc_code" />
<result property="noticeId" column="notice_id" />
<result property="noticeCode" column="notice_code" />
<result property="poCode" column="po_code" />
<result property="vendorId" column="vendor_id" />
<result property="vendorCode" column="vendor_code" />
<result property="vendorName" column="vendor_name" />
<result property="vendorNick" column="vendor_nick" />
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="locationId" column="location_id" />
<result property="locationCode" column="location_code" />
<result property="locationName" column="location_name" />
<result property="areaId" column="area_id" />
<result property="areaCode" column="area_code" />
<result property="areaName" column="area_name" />
<result property="recptDate" column="recpt_date" />
<result property="status" column="status" />
<result property="lineId" column="line_id" />
<result property="recptId" column="recpt_id" />
<result property="noticeLineId" column="notice_line_id" />
<result property="itemId" column="item_id" />
<result property="itemCode" column="item_code" />
<result property="itemName" column="item_name" />
<result property="specification" column="specification" />
<result property="unitOfMeasure" column="unit_of_measure" />
<result property="quantityRecived" column="quantity_recived" />
<result property="batchCode" column="batch_code" />
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="locationId" column="location_id" />
<result property="locationCode" column="location_code" />
<result property="locationName" column="location_name" />
<result property="areaId" column="area_id" />
<result property="areaCode" column="area_code" />
<result property="areaName" column="area_name" />
<result property="expireDate" column="expire_date" />
</resultMap>
<resultMap type="ItemRecptTxBean" id="ItemRecptTxBeanResult">
<result property="itemId" column="item_id"></result>
<result property="itemCode" column="item_code"></result>
@ -129,6 +210,17 @@
ON ir.recpt_id = irl.`recpt_id`
WHERE ir.`recpt_id` = #{recptId}
</select>
<select id="getItem" resultType="com.ktg.mes.wm.domain.WmItemRecptLine" resultMap="WmItemRecptLineResult">
select * from wm_item_recpt_line
where recpt_id in ( select recpt_id from wm_item_recpt where vendor_id = #{vendorId} )
</select>
<select id="getProcurementRecord" resultType="com.ktg.mes.wm.domain.vo.ProcurementRecordVO" resultMap="ProcurementRecordVOResult">
SELECT * FROM wm_item_recpt_line wl
LEFT JOIN (select * from wm_item_recpt) wr ON wr.recpt_id = wl.recpt_id
WHERE
wr.vendor_id = #{vendorId}
</select>
<insert id="insertWmItemRecpt" parameterType="WmItemRecpt" useGeneratedKeys="true" keyProperty="recptId">