feat: 打通出库作业链路
This commit is contained in:
@@ -6,7 +6,7 @@ spring:
|
||||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:sqlserver://172.16.4.12:1433;databaseName=flrd-wms;encrypt=false;sendStringParametersAsUnicode=true
|
||||
url: jdbc:sqlserver://172.16.4.12:1433;databaseName=FTC25009-WMS;encrypt=false;sendStringParametersAsUnicode=true
|
||||
username: sa
|
||||
password: Flrd0914.
|
||||
# 从库数据源
|
||||
|
||||
@@ -166,11 +166,11 @@ external:
|
||||
reportMaterialConsume: /material/consume
|
||||
reportQualityCheck: /quality/check
|
||||
WCS:
|
||||
base-url: http://10.0.3.100:9000
|
||||
base-url: http://172.16.4.63:8084
|
||||
token: wcs-token
|
||||
apis:
|
||||
sendPutawayTask: /task/dispatch
|
||||
sendRetrieveTask: /task/dispatch
|
||||
sendPutawayTask: /wcs/api/receiveWmsJob
|
||||
sendRetrieveTask: /wcs/api/receiveWmsJob
|
||||
queryDeviceStatus: /device/status
|
||||
sendCraneMove: /crane/move
|
||||
cancelTask: /task/cancel
|
||||
|
||||
22
ruoyi-admin/src/main/resources/mapper/api/ApiLogMapper.xml
Normal file
22
ruoyi-admin/src/main/resources/mapper/api/ApiLogMapper.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.api.mapper.ApiLogMapper">
|
||||
|
||||
<insert id="insertApiLog" parameterType="com.ruoyi.api.domain.ApiLog">
|
||||
insert into bas_api_log(
|
||||
direction, sys_code, interface_name, request_url, request_method,
|
||||
request_body, response_body, msg_type, http_status, cost_ms,
|
||||
status, error_msg, source_ip, trace_id, create_time
|
||||
) values (
|
||||
#{direction}, #{sysCode}, #{interfaceName}, #{requestUrl}, #{requestMethod},
|
||||
#{requestBody}, #{responseBody}, #{msgType}, #{httpStatus}, #{costMs},
|
||||
#{status}, #{errorMsg}, #{sourceIp}, #{traceId}, getdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<delete id="deleteExpiredApiLog">
|
||||
delete from bas_api_log where create_time < dateadd(day, -30, getdate())
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -69,6 +69,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<select id="lockBarcodeFormatForGenerate" parameterType="Long" resultType="java.lang.Long">
|
||||
select id
|
||||
from bas_barcode_format with (UPDLOCK, HOLDLOCK)
|
||||
where id = #{formatId}
|
||||
</select>
|
||||
|
||||
<select id="selectMaxSerialByFormat" parameterType="java.util.Map" resultType="java.lang.Long">
|
||||
select isnull(max(try_convert(bigint,
|
||||
substring(barcode_no, #{prefixLength} + 1, len(barcode_no) - #{prefixLength} - #{suffixLength})
|
||||
)), 0)
|
||||
from bas_barcode_data
|
||||
where format_id = #{formatId}
|
||||
and len(isnull(barcode_no, '')) > #{prefixLength} + #{suffixLength}
|
||||
and (#{prefixLength} = 0 or left(barcode_no, #{prefixLength}) = #{prefix})
|
||||
and (#{suffixLength} = 0 or right(barcode_no, #{suffixLength}) = #{suffix})
|
||||
and try_convert(bigint,
|
||||
substring(barcode_no, #{prefixLength} + 1, len(barcode_no) - #{prefixLength} - #{suffixLength})
|
||||
) is not null
|
||||
</select>
|
||||
|
||||
<update id="updateBasBarcodeData" parameterType="BasBarcodeData">
|
||||
update bas_barcode_data
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
@@ -92,4 +112,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -13,22 +13,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="unit" column="unit" />
|
||||
<result property="spec" column="spec" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createOrgCode" column="create_org_code" />
|
||||
<result property="createOrgName" column="create_org_name" />
|
||||
<result property="useOrgCode" column="use_org_code" />
|
||||
<result property="useOrgName" column="use_org_name" />
|
||||
<result property="mnemonicCode" column="mnemonic_code" />
|
||||
<result property="oldProductCode" column="old_product_code" />
|
||||
<result property="matchByLot" column="match_by_lot" />
|
||||
<result property="drawingNo" column="drawing_no" />
|
||||
<result property="partCode" column="part_code" />
|
||||
<result property="productType" column="product_type" />
|
||||
<result property="projectNo" column="project_no" />
|
||||
<result property="brand" column="brand" />
|
||||
<result property="purchaseRemark" column="purchase_remark" />
|
||||
<result property="productQualityCode" column="product_quality_code" />
|
||||
<result property="productQualityName" column="product_quality_name" />
|
||||
<result property="erpClass" column="erp_class" />
|
||||
<result property="featureItem" column="feature_item" />
|
||||
<result property="inventoryCategoryCode" column="inventory_category_code" />
|
||||
<result property="inventoryCategoryName" column="inventory_category_name" />
|
||||
<result property="allowPurchase" column="allow_purchase" />
|
||||
<result property="allowInventory" column="allow_inventory" />
|
||||
<result property="allowSubcontract" column="allow_subcontract" />
|
||||
<result property="allowSale" column="allow_sale" />
|
||||
<result property="allowProduce" column="allow_produce" />
|
||||
<result property="allowAsset" column="allow_asset" />
|
||||
<result property="grossWeight" column="gross_weight" />
|
||||
<result property="netWeight" column="net_weight" />
|
||||
<result property="weightUnitCode" column="weight_unit_code" />
|
||||
<result property="weightUnitName" column="weight_unit_name" />
|
||||
<result property="isSuite" column="is_suite" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectBasProductVo">
|
||||
select product_id, product_name, parent_id, price, cargo_no, unit, spec, remark from bas_product
|
||||
select product_id, product_name, parent_id, price, cargo_no, unit, spec, remark,
|
||||
create_org_code, create_org_name, use_org_code, use_org_name,
|
||||
mnemonic_code, old_product_code, match_by_lot, drawing_no, part_code,
|
||||
product_type, project_no, brand, purchase_remark,
|
||||
product_quality_code, product_quality_name, erp_class, feature_item,
|
||||
inventory_category_code, inventory_category_name,
|
||||
allow_purchase, allow_inventory, allow_subcontract, allow_sale,
|
||||
allow_produce, allow_asset, gross_weight, net_weight,
|
||||
weight_unit_code, weight_unit_name, is_suite
|
||||
from bas_product
|
||||
</sql>
|
||||
|
||||
<select id="selectBasProductList" parameterType="BasProduct" resultMap="BasProductResult">
|
||||
<include refid="selectBasProductVo"/>
|
||||
<where>
|
||||
<if test="productId != null and productId != ''"> and product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="parentId != null and parentId != ''"> and parent_id = #{parentId}</if>
|
||||
<if test="price != null and price != ''"> and price = #{price}</if>
|
||||
<if test="cargoNo != null and cargoNo != ''"> and cargo_no = #{cargoNo}</if>
|
||||
<if test="cargoNo != null and cargoNo != ''"> and (cargo_no like concat('%', #{cargoNo}, '%') or drawing_no like concat('%', #{cargoNo}, '%'))</if>
|
||||
<if test="drawingNo != null and drawingNo != ''"> and drawing_no like concat('%', #{drawingNo}, '%')</if>
|
||||
<if test="oldProductCode != null and oldProductCode != ''"> and old_product_code like concat('%', #{oldProductCode}, '%')</if>
|
||||
<if test="unit != null and unit != ''"> and unit = #{unit}</if>
|
||||
<if test="spec != null and spec != ''"> and spec = #{spec}</if>
|
||||
<if test="spec != null and spec != ''"> and spec like concat('%', #{spec}, '%')</if>
|
||||
<if test="mnemonicCode != null and mnemonicCode != ''"> and mnemonic_code like concat('%', #{mnemonicCode}, '%')</if>
|
||||
<if test="productType != null and productType != ''"> and product_type = #{productType}</if>
|
||||
<if test="projectNo != null and projectNo != ''"> and project_no like concat('%', #{projectNo}, '%')</if>
|
||||
<if test="brand != null and brand != ''"> and brand like concat('%', #{brand}, '%')</if>
|
||||
<if test="productQualityName != null and productQualityName != ''"> and product_quality_name like concat('%', #{productQualityName}, '%')</if>
|
||||
</where>
|
||||
order by product_id desc
|
||||
</select>
|
||||
|
||||
<select id="selectBasProductByProductId" parameterType="String" resultMap="BasProductResult">
|
||||
@@ -47,6 +95,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="unit != null">unit,</if>
|
||||
<if test="spec != null">spec,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="createOrgCode != null">create_org_code,</if>
|
||||
<if test="createOrgName != null">create_org_name,</if>
|
||||
<if test="useOrgCode != null">use_org_code,</if>
|
||||
<if test="useOrgName != null">use_org_name,</if>
|
||||
<if test="mnemonicCode != null">mnemonic_code,</if>
|
||||
<if test="oldProductCode != null">old_product_code,</if>
|
||||
<if test="matchByLot != null">match_by_lot,</if>
|
||||
<if test="drawingNo != null">drawing_no,</if>
|
||||
<if test="partCode != null">part_code,</if>
|
||||
<if test="productType != null">product_type,</if>
|
||||
<if test="projectNo != null">project_no,</if>
|
||||
<if test="brand != null">brand,</if>
|
||||
<if test="purchaseRemark != null">purchase_remark,</if>
|
||||
<if test="productQualityCode != null">product_quality_code,</if>
|
||||
<if test="productQualityName != null">product_quality_name,</if>
|
||||
<if test="erpClass != null">erp_class,</if>
|
||||
<if test="featureItem != null">feature_item,</if>
|
||||
<if test="inventoryCategoryCode != null">inventory_category_code,</if>
|
||||
<if test="inventoryCategoryName != null">inventory_category_name,</if>
|
||||
<if test="allowPurchase != null">allow_purchase,</if>
|
||||
<if test="allowInventory != null">allow_inventory,</if>
|
||||
<if test="allowSubcontract != null">allow_subcontract,</if>
|
||||
<if test="allowSale != null">allow_sale,</if>
|
||||
<if test="allowProduce != null">allow_produce,</if>
|
||||
<if test="allowAsset != null">allow_asset,</if>
|
||||
<if test="grossWeight != null">gross_weight,</if>
|
||||
<if test="netWeight != null">net_weight,</if>
|
||||
<if test="weightUnitCode != null">weight_unit_code,</if>
|
||||
<if test="weightUnitName != null">weight_unit_name,</if>
|
||||
<if test="isSuite != null">is_suite,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="productId != null">#{productId},</if>
|
||||
@@ -57,6 +135,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="unit != null">#{unit},</if>
|
||||
<if test="spec != null">#{spec},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="createOrgCode != null">#{createOrgCode},</if>
|
||||
<if test="createOrgName != null">#{createOrgName},</if>
|
||||
<if test="useOrgCode != null">#{useOrgCode},</if>
|
||||
<if test="useOrgName != null">#{useOrgName},</if>
|
||||
<if test="mnemonicCode != null">#{mnemonicCode},</if>
|
||||
<if test="oldProductCode != null">#{oldProductCode},</if>
|
||||
<if test="matchByLot != null">#{matchByLot},</if>
|
||||
<if test="drawingNo != null">#{drawingNo},</if>
|
||||
<if test="partCode != null">#{partCode},</if>
|
||||
<if test="productType != null">#{productType},</if>
|
||||
<if test="projectNo != null">#{projectNo},</if>
|
||||
<if test="brand != null">#{brand},</if>
|
||||
<if test="purchaseRemark != null">#{purchaseRemark},</if>
|
||||
<if test="productQualityCode != null">#{productQualityCode},</if>
|
||||
<if test="productQualityName != null">#{productQualityName},</if>
|
||||
<if test="erpClass != null">#{erpClass},</if>
|
||||
<if test="featureItem != null">#{featureItem},</if>
|
||||
<if test="inventoryCategoryCode != null">#{inventoryCategoryCode},</if>
|
||||
<if test="inventoryCategoryName != null">#{inventoryCategoryName},</if>
|
||||
<if test="allowPurchase != null">#{allowPurchase},</if>
|
||||
<if test="allowInventory != null">#{allowInventory},</if>
|
||||
<if test="allowSubcontract != null">#{allowSubcontract},</if>
|
||||
<if test="allowSale != null">#{allowSale},</if>
|
||||
<if test="allowProduce != null">#{allowProduce},</if>
|
||||
<if test="allowAsset != null">#{allowAsset},</if>
|
||||
<if test="grossWeight != null">#{grossWeight},</if>
|
||||
<if test="netWeight != null">#{netWeight},</if>
|
||||
<if test="weightUnitCode != null">#{weightUnitCode},</if>
|
||||
<if test="weightUnitName != null">#{weightUnitName},</if>
|
||||
<if test="isSuite != null">#{isSuite},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@@ -70,6 +178,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="unit != null">unit = #{unit},</if>
|
||||
<if test="spec != null">spec = #{spec},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="createOrgCode != null">create_org_code = #{createOrgCode},</if>
|
||||
<if test="createOrgName != null">create_org_name = #{createOrgName},</if>
|
||||
<if test="useOrgCode != null">use_org_code = #{useOrgCode},</if>
|
||||
<if test="useOrgName != null">use_org_name = #{useOrgName},</if>
|
||||
<if test="mnemonicCode != null">mnemonic_code = #{mnemonicCode},</if>
|
||||
<if test="oldProductCode != null">old_product_code = #{oldProductCode},</if>
|
||||
<if test="matchByLot != null">match_by_lot = #{matchByLot},</if>
|
||||
<if test="drawingNo != null">drawing_no = #{drawingNo},</if>
|
||||
<if test="partCode != null">part_code = #{partCode},</if>
|
||||
<if test="productType != null">product_type = #{productType},</if>
|
||||
<if test="projectNo != null">project_no = #{projectNo},</if>
|
||||
<if test="brand != null">brand = #{brand},</if>
|
||||
<if test="purchaseRemark != null">purchase_remark = #{purchaseRemark},</if>
|
||||
<if test="productQualityCode != null">product_quality_code = #{productQualityCode},</if>
|
||||
<if test="productQualityName != null">product_quality_name = #{productQualityName},</if>
|
||||
<if test="erpClass != null">erp_class = #{erpClass},</if>
|
||||
<if test="featureItem != null">feature_item = #{featureItem},</if>
|
||||
<if test="inventoryCategoryCode != null">inventory_category_code = #{inventoryCategoryCode},</if>
|
||||
<if test="inventoryCategoryName != null">inventory_category_name = #{inventoryCategoryName},</if>
|
||||
<if test="allowPurchase != null">allow_purchase = #{allowPurchase},</if>
|
||||
<if test="allowInventory != null">allow_inventory = #{allowInventory},</if>
|
||||
<if test="allowSubcontract != null">allow_subcontract = #{allowSubcontract},</if>
|
||||
<if test="allowSale != null">allow_sale = #{allowSale},</if>
|
||||
<if test="allowProduce != null">allow_produce = #{allowProduce},</if>
|
||||
<if test="allowAsset != null">allow_asset = #{allowAsset},</if>
|
||||
<if test="grossWeight != null">gross_weight = #{grossWeight},</if>
|
||||
<if test="netWeight != null">net_weight = #{netWeight},</if>
|
||||
<if test="weightUnitCode != null">weight_unit_code = #{weightUnitCode},</if>
|
||||
<if test="weightUnitName != null">weight_unit_name = #{weightUnitName},</if>
|
||||
<if test="isSuite != null">is_suite = #{isSuite},</if>
|
||||
</trim>
|
||||
where product_id = #{productId}
|
||||
</update>
|
||||
@@ -84,4 +222,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{productId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.bas.stationpoint.mapper.BasStationPointMapper">
|
||||
|
||||
<resultMap type="BasStationPoint" id="BasStationPointResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="pointId" column="point_id" />
|
||||
<result property="pointName" column="point_name" />
|
||||
<result property="warehouseId" column="warehouse_id" />
|
||||
<result property="roadwayId" column="roadway_id" />
|
||||
<result property="pointType" column="point_type" />
|
||||
<result property="pointSize" column="point_size" />
|
||||
<result property="trayType" column="tray_type" />
|
||||
<result property="status" column="status" />
|
||||
<result property="pointStatus" column="point_status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectBasStationPointVo">
|
||||
select id, point_id, point_name, warehouse_id, roadway_id, point_type, point_size, tray_type, status, point_status, remark, create_time, update_time from bas_station_point
|
||||
</sql>
|
||||
|
||||
<select id="selectBasStationPointList" parameterType="BasStationPoint" resultMap="BasStationPointResult">
|
||||
<include refid="selectBasStationPointVo"/>
|
||||
<where>
|
||||
<if test="pointId != null and pointId != ''"> and point_id = #{pointId}</if>
|
||||
<if test="pointName != null and pointName != ''"> and point_name like concat('%', #{pointName}, '%')</if>
|
||||
<if test="warehouseId != null and warehouseId != ''"> and warehouse_id = #{warehouseId}</if>
|
||||
<if test="roadwayId != null and roadwayId != ''"> and roadway_id = #{roadwayId}</if>
|
||||
<if test="pointType != null and pointType != ''"> and point_type = #{pointType}</if>
|
||||
<if test="pointSize != null and pointSize != ''"> and point_size = #{pointSize}</if>
|
||||
<if test="trayType != null and trayType != ''"> and charindex(',' + #{trayType} + ',', ',' + tray_type + ',') > 0</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
<if test="pointStatus != null and pointStatus != ''"> and point_status = #{pointStatus}</if>
|
||||
</where>
|
||||
order by warehouse_id, point_type, roadway_id, point_id
|
||||
</select>
|
||||
|
||||
<select id="selectBasStationPointById" parameterType="Long" resultMap="BasStationPointResult">
|
||||
<include refid="selectBasStationPointVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectBasStationPointByPointId" parameterType="String" resultMap="BasStationPointResult">
|
||||
<include refid="selectBasStationPointVo"/>
|
||||
where point_id = #{pointId}
|
||||
</select>
|
||||
|
||||
<insert id="insertBasStationPoint" parameterType="BasStationPoint" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into bas_station_point
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="pointId != null and pointId != ''">point_id,</if>
|
||||
<if test="pointName != null and pointName != ''">point_name,</if>
|
||||
<if test="warehouseId != null and warehouseId != ''">warehouse_id,</if>
|
||||
<if test="roadwayId != null and roadwayId != ''">roadway_id,</if>
|
||||
<if test="pointType != null and pointType != ''">point_type,</if>
|
||||
<if test="pointSize != null and pointSize != ''">point_size,</if>
|
||||
<if test="trayType != null and trayType != ''">tray_type,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="pointStatus != null and pointStatus != ''">point_status,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
create_time,
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="pointId != null and pointId != ''">#{pointId},</if>
|
||||
<if test="pointName != null and pointName != ''">#{pointName},</if>
|
||||
<if test="warehouseId != null and warehouseId != ''">#{warehouseId},</if>
|
||||
<if test="roadwayId != null and roadwayId != ''">#{roadwayId},</if>
|
||||
<if test="pointType != null and pointType != ''">#{pointType},</if>
|
||||
<if test="pointSize != null and pointSize != ''">#{pointSize},</if>
|
||||
<if test="trayType != null and trayType != ''">#{trayType},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="pointStatus != null and pointStatus != ''">#{pointStatus},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
getdate(),
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateBasStationPoint" parameterType="BasStationPoint">
|
||||
update bas_station_point
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="pointId != null and pointId != ''">point_id = #{pointId},</if>
|
||||
<if test="pointName != null and pointName != ''">point_name = #{pointName},</if>
|
||||
<if test="warehouseId != null and warehouseId != ''">warehouse_id = #{warehouseId},</if>
|
||||
<if test="roadwayId != null and roadwayId != ''">roadway_id = #{roadwayId},</if>
|
||||
<if test="pointType != null and pointType != ''">point_type = #{pointType},</if>
|
||||
<if test="pointSize != null and pointSize != ''">point_size = #{pointSize},</if>
|
||||
<if test="trayType != null and trayType != ''">tray_type = #{trayType},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="pointStatus != null and pointStatus != ''">point_status = #{pointStatus},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
update_time = getdate(),
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteBasStationPointById" parameterType="Long">
|
||||
delete from bas_station_point where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBasStationPointByIds" parameterType="String">
|
||||
delete from bas_station_point where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<update id="occupyBasStationPoint" parameterType="String">
|
||||
update bas_station_point
|
||||
set point_status = '1',
|
||||
update_time = getdate()
|
||||
where point_id = #{pointId}
|
||||
and status = '0'
|
||||
and point_status = '0'
|
||||
</update>
|
||||
|
||||
<update id="releaseBasStationPoint" parameterType="String">
|
||||
update bas_station_point
|
||||
set point_status = '0',
|
||||
update_time = getdate()
|
||||
where point_id = #{pointId}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.bas.stock.mapper.BasStockDetailMapper">
|
||||
|
||||
<resultMap type="BasStockDetail" id="BasStockDetailResult">
|
||||
<result property="detailId" column="detail_id" />
|
||||
<result property="stockId" column="stock_id" />
|
||||
<result property="productStatus" column="product_status" />
|
||||
<result property="lotNo" column="lot_no" />
|
||||
<result property="productId" column="product_id" />
|
||||
<result property="productName" column="product_name" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="outQuantity" column="out_quantity" />
|
||||
<result property="jobDetailId" column="job_detail_id" />
|
||||
<result property="stockinDetailId" column="stockin_detail_id" />
|
||||
<result property="cargoSpaceId" column="cargo_space_id" />
|
||||
<result property="cargoSpaceName" column="cargo_space_name" />
|
||||
<result property="stockStatus" column="stock_status" />
|
||||
<result property="inDate" column="in_date" />
|
||||
<result property="backDate" column="back_date" />
|
||||
<result property="trayCode" column="tray_code" />
|
||||
<result property="warehouseId" column="warehouse_id" />
|
||||
<result property="warehouseName" column="warehouse_name" />
|
||||
<result property="availableQuantity" column="available_quantity" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectBasStockDetailVo">
|
||||
select bsd.detail_id, bsd.stock_id, bsd.product_status, bsd.lot_no, bsd.product_id, bsd.product_name,
|
||||
bsd.quantity, bsd.out_quantity, bsd.job_detail_id, bsd.stockin_detail_id,
|
||||
bs.cargo_space_id, bcs.cargo_space_name, bs.stock_status, bs.in_date, bs.back_date,
|
||||
bs.tray_code, bs.warehouse_id, bs.warehouse_name,
|
||||
ISNULL(bsd.quantity, 0) - ISNULL(bsd.out_quantity, 0) as available_quantity,
|
||||
bsd.create_time, bsd.update_time, bsd.remark
|
||||
from bas_stock_detail bsd
|
||||
left join bas_stock bs on bsd.stock_id = bs.stock_id
|
||||
left join bas_cargo_space bcs on bs.cargo_space_id = bcs.cargo_space_id
|
||||
</sql>
|
||||
|
||||
<select id="selectBasStockDetailList" parameterType="BasStockDetail" resultMap="BasStockDetailResult">
|
||||
<include refid="selectBasStockDetailVo" />
|
||||
<where>
|
||||
<if test="detailId != null and detailId != ''"> and bsd.detail_id = #{detailId}</if>
|
||||
<if test="stockId != null and stockId != ''"> and bsd.stock_id = #{stockId}</if>
|
||||
<if test="productStatus != null and productStatus != ''"> and bsd.product_status = #{productStatus}</if>
|
||||
<if test="lotNo != null and lotNo != ''"> and bsd.lot_no = #{lotNo}</if>
|
||||
<if test="productId != null and productId != ''"> and bsd.product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''"> and bsd.product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="jobDetailId != null and jobDetailId != ''"> and bsd.job_detail_id = #{jobDetailId}</if>
|
||||
<if test="stockinDetailId != null and stockinDetailId != ''"> and bsd.stockin_detail_id = #{stockinDetailId}</if>
|
||||
<if test="cargoSpaceId != null and cargoSpaceId != ''"> and bs.cargo_space_id = #{cargoSpaceId}</if>
|
||||
<if test="stockStatus != null and stockStatus != ''"> and bs.stock_status = #{stockStatus}</if>
|
||||
<if test="trayCode != null and trayCode != ''"> and bs.tray_code = #{trayCode}</if>
|
||||
<if test="warehouseId != null and warehouseId != ''"> and bs.warehouse_id = #{warehouseId}</if>
|
||||
<if test="warehouseName != null and warehouseName != ''"> and bs.warehouse_name like concat('%', #{warehouseName}, '%')</if>
|
||||
<if test="params.beginInDate != null and params.beginInDate != '' and params.endInDate != null and params.endInDate != ''"> and bs.in_date between #{params.beginInDate} and #{params.endInDate}</if>
|
||||
<if test="params.beginBackDate != null and params.beginBackDate != '' and params.endBackDate != null and params.endBackDate != ''"> and bs.back_date between #{params.beginBackDate} and #{params.endBackDate}</if>
|
||||
${params.warehouseScope}
|
||||
</where>
|
||||
order by bs.warehouse_id, bs.cargo_space_id, bs.tray_code, bsd.product_id, bsd.detail_id
|
||||
</select>
|
||||
|
||||
<select id="selectBasStockDetailByDetailId" parameterType="String" resultMap="BasStockDetailResult">
|
||||
<include refid="selectBasStockDetailVo" />
|
||||
where bsd.detail_id = #{detailId}
|
||||
</select>
|
||||
|
||||
<select id="selectStockIdsByDetailIds" parameterType="String" resultType="String">
|
||||
select distinct stock_id from bas_stock_detail where detail_id in
|
||||
<foreach item="detailId" collection="array" open="(" separator="," close=")">
|
||||
#{detailId}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<insert id="insertBasStockDetail" parameterType="BasStockDetail">
|
||||
insert into bas_stock_detail
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="detailId != null">detail_id,</if>
|
||||
<if test="stockId != null">stock_id,</if>
|
||||
<if test="productStatus != null">product_status,</if>
|
||||
<if test="lotNo != null">lot_no,</if>
|
||||
<if test="productId != null">product_id,</if>
|
||||
<if test="productName != null">product_name,</if>
|
||||
<if test="quantity != null">quantity,</if>
|
||||
<if test="outQuantity != null">out_quantity,</if>
|
||||
<if test="jobDetailId != null">job_detail_id,</if>
|
||||
<if test="stockinDetailId != null">stockin_detail_id,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="detailId != null">#{detailId},</if>
|
||||
<if test="stockId != null">#{stockId},</if>
|
||||
<if test="productStatus != null">#{productStatus},</if>
|
||||
<if test="lotNo != null">#{lotNo},</if>
|
||||
<if test="productId != null">#{productId},</if>
|
||||
<if test="productName != null">#{productName},</if>
|
||||
<if test="quantity != null">#{quantity},</if>
|
||||
<if test="outQuantity != null">#{outQuantity},</if>
|
||||
<if test="jobDetailId != null">#{jobDetailId},</if>
|
||||
<if test="stockinDetailId != null">#{stockinDetailId},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateBasStockDetail" parameterType="BasStockDetail">
|
||||
update bas_stock_detail
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="stockId != null">stock_id = #{stockId},</if>
|
||||
<if test="productStatus != null">product_status = #{productStatus},</if>
|
||||
<if test="lotNo != null">lot_no = #{lotNo},</if>
|
||||
<if test="productId != null">product_id = #{productId},</if>
|
||||
<if test="productName != null">product_name = #{productName},</if>
|
||||
<if test="quantity != null">quantity = #{quantity},</if>
|
||||
<if test="outQuantity != null">out_quantity = #{outQuantity},</if>
|
||||
<if test="jobDetailId != null">job_detail_id = #{jobDetailId},</if>
|
||||
<if test="stockinDetailId != null">stockin_detail_id = #{stockinDetailId},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
</trim>
|
||||
where detail_id = #{detailId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteBasStockDetailByDetailId" parameterType="String">
|
||||
delete from bas_stock_detail where detail_id = #{detailId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBasStockDetailByDetailIds" parameterType="String">
|
||||
delete from bas_stock_detail where detail_id in
|
||||
<foreach item="detailId" collection="array" open="(" separator="," close=")">
|
||||
#{detailId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBasStockDetailByStockIds" parameterType="String">
|
||||
delete from bas_stock_detail where stock_id in
|
||||
<foreach item="stockId" collection="array" open="(" separator="," close=")">
|
||||
#{stockId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -30,43 +30,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="suplierId" column="suplier_id" />
|
||||
<result property="suplierName" column="suplier_name" />
|
||||
<result property="detailCount" column="detail_count" />
|
||||
<result property="availableQuantity" column="available_quantity" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectBasStockVo">
|
||||
select stock_id, cargo_space_id, stock_status, product_status, lot_no, in_date, back_date, product_id, product_name, quantity, job_id, job_detail_id, tray_code, out_quantity, stockin_detail_id, stockin_id, in_type, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, suplier_id, suplier_name from bas_stock
|
||||
select stock_id, cargo_space_id, stock_status, product_status, lot_no, in_date, back_date, product_id, product_name, quantity, job_id, job_detail_id, tray_code, out_quantity, stockin_detail_id, stockin_id, in_type, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, supplier_id as suplier_id, supplier_name as suplier_name from bas_stock
|
||||
</sql>
|
||||
|
||||
<select id="selectBasStockList" parameterType="BasStock" resultMap="BasStockResult">
|
||||
select bs.stock_id, bs.cargo_space_id, bs.stock_status, bs.product_status,
|
||||
bs.lot_no, bs.in_date, bs.back_date, bs.product_id, bs.product_name,
|
||||
bs.quantity, bs.job_id, bs.job_detail_id, bs.tray_code, bs.out_quantity,
|
||||
bs.stockin_detail_id, bs.stockin_id, bs.in_type, bs.warehouse_id, bs.warehouse_name,
|
||||
bs.user_id, bs.user_name, bs.dept_id, bs.dept_name, bs.suplier_id, bs.suplier_name
|
||||
select bs.stock_id, bs.cargo_space_id, bs.stock_status,
|
||||
null as product_status, null as lot_no, bs.in_date, bs.back_date,
|
||||
null as product_id, null as product_name,
|
||||
ISNULL(bsa.quantity, 0) as quantity,
|
||||
bs.job_id, null as job_detail_id,
|
||||
bs.tray_code, ISNULL(bsa.out_quantity, 0) as out_quantity,
|
||||
null as stockin_detail_id,
|
||||
bs.stockin_id, bs.in_type, bs.warehouse_id, bs.warehouse_name,
|
||||
bs.user_id, bs.user_name, bs.dept_id, bs.dept_name, bs.supplier_id as suplier_id, bs.supplier_name as suplier_name,
|
||||
ISNULL(bsa.detail_count, 0) as detail_count,
|
||||
ISNULL(bsa.quantity, 0) - ISNULL(bsa.out_quantity, 0) as available_quantity
|
||||
from bas_stock bs
|
||||
left join bas_cargo_space bcs on bs.cargo_space_id = bcs.cargo_space_id
|
||||
left join (
|
||||
select stock_id,
|
||||
count(1) as detail_count,
|
||||
sum(ISNULL(quantity, 0)) as quantity,
|
||||
sum(ISNULL(out_quantity, 0)) as out_quantity
|
||||
from bas_stock_detail
|
||||
group by stock_id
|
||||
) bsa on bsa.stock_id = bs.stock_id
|
||||
where
|
||||
bcs.status = '2'
|
||||
<if test="stockId != null and stockId != ''"> and bs.stock_id = #{stockId}</if>
|
||||
<if test="cargoSpaceId != null and cargoSpaceId != ''"> and bs.cargo_space_id = #{cargoSpaceId}</if>
|
||||
<if test="stockStatus != null and stockStatus != ''"> and bs.stock_status = #{stockStatus}</if>
|
||||
<if test="productStatus != null and productStatus != ''"> and bs.product_status = #{productStatus}</if>
|
||||
<if test="lotNo != null and lotNo != ''"> and bs.lot_no = #{lotNo}</if>
|
||||
<if test="productStatus != null and productStatus != ''"> and exists (select 1 from bas_stock_detail x where x.stock_id = bs.stock_id and x.product_status = #{productStatus})</if>
|
||||
<if test="lotNo != null and lotNo != ''"> and exists (select 1 from bas_stock_detail x where x.stock_id = bs.stock_id and x.lot_no = #{lotNo})</if>
|
||||
<if test="params.beginInDate != null and params.beginInDate != '' and params.endInDate != null and params.endInDate != ''"> and bs.in_date between #{params.beginInDate} and #{params.endInDate}</if>
|
||||
<if test="params.beginBackDate != null and params.beginBackDate != '' and params.endBackDate != null and params.endBackDate != ''"> and bs.back_date between #{params.beginBackDate} and #{params.endBackDate}</if>
|
||||
<if test="productId != null and productId != ''"> and bs.product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''"> and bs.product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="quantity != null "> and bs.quantity = #{quantity}</if>
|
||||
<if test="productId != null and productId != ''"> and exists (select 1 from bas_stock_detail x where x.stock_id = bs.stock_id and x.product_id = #{productId})</if>
|
||||
<if test="productName != null and productName != ''"> and exists (select 1 from bas_stock_detail x where x.stock_id = bs.stock_id and x.product_name like concat('%', #{productName}, '%'))</if>
|
||||
<if test="quantity != null "> and (ISNULL(bsa.quantity, 0) = #{quantity} or exists (select 1 from bas_stock_detail x where x.stock_id = bs.stock_id and x.quantity = #{quantity}))</if>
|
||||
<if test="jobId != null and jobId != ''"> and bs.job_id = #{jobId}</if>
|
||||
<if test="jobDetailId != null and jobDetailId != ''"> and bs.job_detail_id = #{jobDetailId}</if>
|
||||
<if test="jobDetailId != null and jobDetailId != ''"> and exists (select 1 from bas_stock_detail x where x.stock_id = bs.stock_id and x.job_detail_id = #{jobDetailId})</if>
|
||||
<if test="trayCode != null and trayCode != ''"> and bs.tray_code = #{trayCode}</if>
|
||||
<if test="outQuantity != null "> and bs.out_quantity = #{outQuantity}</if>
|
||||
<if test="stockinDetailId != null and stockinDetailId != ''"> and bs.stockin_detail_id = #{stockinDetailId}</if>
|
||||
<if test="outQuantity != null "> and (ISNULL(bsa.out_quantity, 0) = #{outQuantity} or exists (select 1 from bas_stock_detail x where x.stock_id = bs.stock_id and x.out_quantity = #{outQuantity}))</if>
|
||||
<if test="stockinDetailId != null and stockinDetailId != ''"> and exists (select 1 from bas_stock_detail x where x.stock_id = bs.stock_id and x.stockin_detail_id = #{stockinDetailId})</if>
|
||||
<if test="stockinId != null and stockinId != ''"> and bs.stockin_id = #{stockinId}</if>
|
||||
<if test="inType != null and inType != ''"> and bs.in_type = #{inType}</if>
|
||||
<if test="warehouseId != null and warehouseId != ''"> and bs.warehouse_id = #{warehouseId}</if>
|
||||
<if test="warehouseName != null and warehouseName != ''"> and bs.warehouse_name like concat('%', #{warehouseName}, '%')</if>
|
||||
<if test="userName != null and userName != ''"> and bs.user_name like concat('%', #{userName}, '%')</if>
|
||||
<if test="deptName != null and deptName != ''"> and bs.dept_name like concat('%', #{deptName}, '%')</if>
|
||||
<if test="suplierName != null and suplierName != ''"> and bs.suplier_name like concat('%', #{suplierName}, '%')</if>
|
||||
<if test="suplierName != null and suplierName != ''"> and bs.supplier_name like concat('%', #{suplierName}, '%')</if>
|
||||
${params.warehouseScope}
|
||||
order by bs.in_date desc, bs.stock_id desc
|
||||
</select>
|
||||
|
||||
<select id="selectBasStockByStockId" parameterType="String" resultMap="BasStockResult">
|
||||
@@ -100,8 +119,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="userName != null">user_name,</if>
|
||||
<if test="deptId != null">dept_id,</if>
|
||||
<if test="deptName != null">dept_name,</if>
|
||||
<if test="suplierId != null">suplier_id,</if>
|
||||
<if test="suplierName != null">suplier_name,</if>
|
||||
<if test="suplierId != null">supplier_id,</if>
|
||||
<if test="suplierName != null">supplier_name,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="stockId != null">#{stockId},</if>
|
||||
@@ -157,12 +176,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="userName != null">user_name = #{userName},</if>
|
||||
<if test="deptId != null">dept_id = #{deptId},</if>
|
||||
<if test="deptName != null">dept_name = #{deptName},</if>
|
||||
<if test="suplierId != null">suplier_id = #{suplierId},</if>
|
||||
<if test="suplierName != null">suplier_name = #{suplierName},</if>
|
||||
<if test="suplierId != null">supplier_id = #{suplierId},</if>
|
||||
<if test="suplierName != null">supplier_name = #{suplierName},</if>
|
||||
</trim>
|
||||
where stock_id = #{stockId}
|
||||
</update>
|
||||
|
||||
<update id="refreshBasStockSummary" parameterType="String">
|
||||
update bs
|
||||
set bs.product_status = null,
|
||||
bs.lot_no = null,
|
||||
bs.product_id = null,
|
||||
bs.product_name = null,
|
||||
bs.quantity = ISNULL(bsa.quantity, 0),
|
||||
bs.job_detail_id = null,
|
||||
bs.out_quantity = ISNULL(bsa.out_quantity, 0),
|
||||
bs.stockin_detail_id = null
|
||||
from bas_stock bs
|
||||
left join (
|
||||
select stock_id,
|
||||
sum(ISNULL(quantity, 0)) as quantity,
|
||||
sum(ISNULL(out_quantity, 0)) as out_quantity
|
||||
from bas_stock_detail
|
||||
where stock_id = #{stockId}
|
||||
group by stock_id
|
||||
) bsa on bsa.stock_id = bs.stock_id
|
||||
where bs.stock_id = #{stockId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteBasStockByStockId" parameterType="String">
|
||||
delete from bas_stock where stock_id = #{stockId}
|
||||
</delete>
|
||||
@@ -173,4 +214,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{stockId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
111
ruoyi-admin/src/main/resources/mapper/bas/BasTrayRuleMapper.xml
Normal file
111
ruoyi-admin/src/main/resources/mapper/bas/BasTrayRuleMapper.xml
Normal file
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.bas.trayrule.mapper.BasTrayRuleMapper">
|
||||
|
||||
<resultMap type="BasTrayRule" id="BasTrayRuleResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="ruleName" column="rule_name" />
|
||||
<result property="trayType" column="tray_type" />
|
||||
<result property="trayLength" column="tray_length" />
|
||||
<result property="trayWidth" column="tray_width" />
|
||||
<result property="allowedWarehouses" column="allowed_warehouses" />
|
||||
<result property="allowedWarehouseNames" column="allowed_warehouse_names" />
|
||||
<result property="allowedCargoType" column="allowed_cargo_type" />
|
||||
<result property="allowedCargoTypeName" column="allowed_cargo_type_name" />
|
||||
<result property="remark" column="remark" />
|
||||
<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>
|
||||
|
||||
<sql id="selectBasTrayRuleVo">
|
||||
select id, rule_name, tray_type, tray_length, tray_width, allowed_warehouses,
|
||||
allowed_warehouse_names, allowed_cargo_type, allowed_cargo_type_name,
|
||||
remark, create_by, create_time, update_by, update_time
|
||||
from bas_tray_rule
|
||||
</sql>
|
||||
|
||||
<select id="selectBasTrayRuleList" parameterType="BasTrayRule" resultMap="BasTrayRuleResult">
|
||||
<include refid="selectBasTrayRuleVo"/>
|
||||
<where>
|
||||
<if test="ruleName != null and ruleName != ''"> and rule_name like concat('%', #{ruleName}, '%')</if>
|
||||
<if test="trayType != null and trayType != ''"> and tray_type = #{trayType}</if>
|
||||
<if test="allowedWarehouses != null and allowedWarehouses != ''"> and charindex(',' + #{allowedWarehouses} + ',', ',' + allowed_warehouses + ',') > 0</if>
|
||||
<if test="allowedCargoType != null and allowedCargoType != ''"> and allowed_cargo_type = #{allowedCargoType}</if>
|
||||
</where>
|
||||
order by tray_type, id
|
||||
</select>
|
||||
|
||||
<select id="selectBasTrayRuleById" parameterType="Long" resultMap="BasTrayRuleResult">
|
||||
<include refid="selectBasTrayRuleVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertBasTrayRule" parameterType="BasTrayRule">
|
||||
insert into bas_tray_rule
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">id,</if>
|
||||
<if test="ruleName != null and ruleName != ''">rule_name,</if>
|
||||
<if test="trayType != null and trayType != ''">tray_type,</if>
|
||||
<if test="trayLength != null">tray_length,</if>
|
||||
<if test="trayWidth != null">tray_width,</if>
|
||||
<if test="allowedWarehouses != null and allowedWarehouses != ''">allowed_warehouses,</if>
|
||||
<if test="allowedWarehouseNames != null">allowed_warehouse_names,</if>
|
||||
<if test="allowedCargoType != null and allowedCargoType != ''">allowed_cargo_type,</if>
|
||||
<if test="allowedCargoTypeName != null">allowed_cargo_type_name,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">#{id},</if>
|
||||
<if test="ruleName != null and ruleName != ''">#{ruleName},</if>
|
||||
<if test="trayType != null and trayType != ''">#{trayType},</if>
|
||||
<if test="trayLength != null">#{trayLength},</if>
|
||||
<if test="trayWidth != null">#{trayWidth},</if>
|
||||
<if test="allowedWarehouses != null and allowedWarehouses != ''">#{allowedWarehouses},</if>
|
||||
<if test="allowedWarehouseNames != null">#{allowedWarehouseNames},</if>
|
||||
<if test="allowedCargoType != null and allowedCargoType != ''">#{allowedCargoType},</if>
|
||||
<if test="allowedCargoTypeName != null">#{allowedCargoTypeName},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateBasTrayRule" parameterType="BasTrayRule">
|
||||
update bas_tray_rule
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="ruleName != null and ruleName != ''">rule_name = #{ruleName},</if>
|
||||
<if test="trayType != null and trayType != ''">tray_type = #{trayType},</if>
|
||||
<if test="trayLength != null">tray_length = #{trayLength},</if>
|
||||
<if test="trayWidth != null">tray_width = #{trayWidth},</if>
|
||||
<if test="allowedWarehouses != null and allowedWarehouses != ''">allowed_warehouses = #{allowedWarehouses},</if>
|
||||
<if test="allowedWarehouseNames != null">allowed_warehouse_names = #{allowedWarehouseNames},</if>
|
||||
<if test="allowedCargoType != null and allowedCargoType != ''">allowed_cargo_type = #{allowedCargoType},</if>
|
||||
<if test="allowedCargoTypeName != null">allowed_cargo_type_name = #{allowedCargoTypeName},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteBasTrayRuleById" parameterType="Long">
|
||||
delete from bas_tray_rule where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBasTrayRuleByIds" parameterType="String">
|
||||
delete from bas_tray_rule where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -3,57 +3,86 @@
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.in.sotckindetail.mapper.InStockinDetailMapper">
|
||||
|
||||
|
||||
<resultMap type="InStockinDetail" id="InStockinDetailResult">
|
||||
<result property="stockinDetailId" column="stockin_detail_id" />
|
||||
<result property="stockinId" column="stockin_id" />
|
||||
<result property="lotNo" column="lot_no" />
|
||||
<result property="productId" column="product_id" />
|
||||
<result property="productName" column="product_name" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="scanNum" column="scan_num" />
|
||||
<result property="assignNum" column="assign_num" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="stockinDetailId" column="stockin_detail_id" />
|
||||
<result property="stockinId" column="stockin_id" />
|
||||
<result property="lotNo" column="lot_no" />
|
||||
<result property="productId" column="product_id" />
|
||||
<result property="productName" column="product_name" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="scanNum" column="scan_num" />
|
||||
<result property="assignNum" column="assign_num" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="lineN" column="line_n" />
|
||||
<result property="itemCod" column="item_cod" />
|
||||
<result property="itemNam" column="item_nam" />
|
||||
<result property="specMode" column="spec_mode" />
|
||||
<result property="uni" column="uni" />
|
||||
<result property="actualQt" column="actual_qt" />
|
||||
<result property="warehous" column="warehous" />
|
||||
<result property="locatio" column="locatio" />
|
||||
<result property="inventoryStatus" column="inventory_" />
|
||||
<result property="sourceDocN" column="source_doc_n" />
|
||||
<result property="remar" column="remar" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectInStockinDetailVo">
|
||||
select stockin_detail_id, stockin_id, lot_no, product_id, product_name, quantity, scan_num, assign_num, remark from in_stockin_detail
|
||||
select stockin_detail_id, stockin_id, lot_no, product_id, product_name, quantity, scan_num, assign_num, remark,
|
||||
line_n, item_cod, item_nam, spec_mode, uni, actual_qt, warehous, locatio, inventory_, source_doc_n, remar
|
||||
from in_stockin_detail
|
||||
</sql>
|
||||
<sql id="selectInStockinDetailFinishVo">
|
||||
select stockin_detail_id, stockin_id, lot_no, product_id, product_name, quantity, scan_num, assign_num, remark from in_stockin_detail_finish
|
||||
select stockin_detail_id, stockin_id, lot_no, product_id, product_name, quantity, scan_num, assign_num, remark,
|
||||
line_n, item_cod, item_nam, spec_mode, uni, actual_qt, warehous, locatio, inventory_, source_doc_n, remar
|
||||
from in_stockin_detail_finish
|
||||
</sql>
|
||||
|
||||
<select id="selectInStockinDetailList" parameterType="InStockinDetail" resultMap="InStockinDetailResult">
|
||||
<include refid="selectInStockinDetailVo"/>
|
||||
<where>
|
||||
<if test="stockinId != null and stockinId != ''"> and stockin_id = #{stockinId}</if>
|
||||
<if test="lotNo != null and lotNo != ''"> and lot_no = #{lotNo}</if>
|
||||
<if test="productId != null and productId != ''"> and product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="quantity != null "> and quantity = #{quantity}</if>
|
||||
<if test="scanNum != null "> and scan_num = #{scanNum}</if>
|
||||
<if test="assignNum != null "> and assign_num = #{assignNum}</if>
|
||||
<where>
|
||||
<if test="stockinId != null and stockinId != ''">and stockin_id = #{stockinId}</if>
|
||||
<if test="lotNo != null and lotNo != ''">and lot_no = #{lotNo}</if>
|
||||
<if test="productId != null and productId != ''">and product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''">and product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="quantity != null">and quantity = #{quantity}</if>
|
||||
<if test="scanNum != null">and scan_num = #{scanNum}</if>
|
||||
<if test="assignNum != null">and assign_num = #{assignNum}</if>
|
||||
<if test="itemCod != null and itemCod != ''">and item_cod like concat('%', #{itemCod}, '%')</if>
|
||||
<if test="itemNam != null and itemNam != ''">and item_nam like concat('%', #{itemNam}, '%')</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectInStockinDetailByStockinDetailId" parameterType="String" resultMap="InStockinDetailResult">
|
||||
<include refid="selectInStockinDetailVo"/>
|
||||
where stockin_detail_id = #{stockinDetailId}
|
||||
</select>
|
||||
<select id="inboundTaskList" resultMap="InStockinDetailResult">
|
||||
|
||||
<select id="inboundTaskList" parameterType="InStockinDetail" resultMap="InStockinDetailResult">
|
||||
<include refid="selectInStockinDetailVo"/>
|
||||
where quantity > scan_num
|
||||
<where>
|
||||
<!-- PDA 子单列表只返回仍有待绑数量的明细。 -->
|
||||
and ISNULL(quantity, 0) > ISNULL(scan_num, 0)
|
||||
<if test="stockinId != null and stockinId != ''">and stockin_id = #{stockinId}</if>
|
||||
<if test="stockinDetailId != null and stockinDetailId != ''">and stockin_detail_id = #{stockinDetailId}</if>
|
||||
<if test="productId != null and productId != ''">and product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''">and product_name like concat('%', #{productName}, '%')</if>
|
||||
</where>
|
||||
order by line_n asc, stockin_detail_id asc
|
||||
</select>
|
||||
|
||||
<select id="selectInStockinDetailFinishList" parameterType="InStockinDetail" resultMap="InStockinDetailResult">
|
||||
<include refid="selectInStockinDetailFinishVo"/>
|
||||
<where>
|
||||
<if test="stockinId != null and stockinId != ''"> and stockin_id = #{stockinId}</if>
|
||||
<if test="lotNo != null and lotNo != ''"> and lot_no = #{lotNo}</if>
|
||||
<if test="productId != null and productId != ''"> and product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="quantity != null "> and quantity = #{quantity}</if>
|
||||
<if test="scanNum != null "> and scan_num = #{scanNum}</if>
|
||||
<if test="assignNum != null "> and assign_num = #{assignNum}</if>
|
||||
<if test="stockinId != null and stockinId != ''">and stockin_id = #{stockinId}</if>
|
||||
<if test="lotNo != null and lotNo != ''">and lot_no = #{lotNo}</if>
|
||||
<if test="productId != null and productId != ''">and product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''">and product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="quantity != null">and quantity = #{quantity}</if>
|
||||
<if test="scanNum != null">and scan_num = #{scanNum}</if>
|
||||
<if test="assignNum != null">and assign_num = #{assignNum}</if>
|
||||
<if test="itemCod != null and itemCod != ''">and item_cod like concat('%', #{itemCod}, '%')</if>
|
||||
<if test="itemNam != null and itemNam != ''">and item_nam like concat('%', #{itemNam}, '%')</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@@ -69,7 +98,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="scanNum != null">scan_num,</if>
|
||||
<if test="assignNum != null">assign_num,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
</trim>
|
||||
<if test="lineN != null">line_n,</if>
|
||||
<if test="itemCod != null and itemCod != ''">item_cod,</if>
|
||||
<if test="itemNam != null and itemNam != ''">item_nam,</if>
|
||||
<if test="specMode != null and specMode != ''">spec_mode,</if>
|
||||
<if test="uni != null and uni != ''">uni,</if>
|
||||
<if test="actualQt != null">actual_qt,</if>
|
||||
<if test="warehous != null and warehous != ''">warehous,</if>
|
||||
<if test="locatio != null and locatio != ''">locatio,</if>
|
||||
<if test="inventoryStatus != null and inventoryStatus != ''">inventory_,</if>
|
||||
<if test="sourceDocN != null and sourceDocN != ''">source_doc_n,</if>
|
||||
<if test="remar != null and remar != ''">remar,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="stockinDetailId != null">#{stockinDetailId},</if>
|
||||
<if test="stockinId != null and stockinId != ''">#{stockinId},</if>
|
||||
@@ -80,7 +120,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="scanNum != null">#{scanNum},</if>
|
||||
<if test="assignNum != null">#{assignNum},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
</trim>
|
||||
<if test="lineN != null">#{lineN},</if>
|
||||
<if test="itemCod != null and itemCod != ''">#{itemCod},</if>
|
||||
<if test="itemNam != null and itemNam != ''">#{itemNam},</if>
|
||||
<if test="specMode != null and specMode != ''">#{specMode},</if>
|
||||
<if test="uni != null and uni != ''">#{uni},</if>
|
||||
<if test="actualQt != null">#{actualQt},</if>
|
||||
<if test="warehous != null and warehous != ''">#{warehous},</if>
|
||||
<if test="locatio != null and locatio != ''">#{locatio},</if>
|
||||
<if test="inventoryStatus != null and inventoryStatus != ''">#{inventoryStatus},</if>
|
||||
<if test="sourceDocN != null and sourceDocN != ''">#{sourceDocN},</if>
|
||||
<if test="remar != null and remar != ''">#{remar},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateInStockinDetail" parameterType="InStockinDetail">
|
||||
@@ -94,6 +145,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="scanNum != null">scan_num = #{scanNum},</if>
|
||||
<if test="assignNum != null">assign_num = #{assignNum},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="lineN != null">line_n = #{lineN},</if>
|
||||
<if test="itemCod != null and itemCod != ''">item_cod = #{itemCod},</if>
|
||||
<if test="itemNam != null and itemNam != ''">item_nam = #{itemNam},</if>
|
||||
<if test="specMode != null and specMode != ''">spec_mode = #{specMode},</if>
|
||||
<if test="uni != null and uni != ''">uni = #{uni},</if>
|
||||
<if test="actualQt != null">actual_qt = #{actualQt},</if>
|
||||
<if test="warehous != null and warehous != ''">warehous = #{warehous},</if>
|
||||
<if test="locatio != null and locatio != ''">locatio = #{locatio},</if>
|
||||
<if test="inventoryStatus != null and inventoryStatus != ''">inventory_ = #{inventoryStatus},</if>
|
||||
<if test="sourceDocN != null and sourceDocN != ''">source_doc_n = #{sourceDocN},</if>
|
||||
<if test="remar != null and remar != ''">remar = #{remar},</if>
|
||||
</trim>
|
||||
where stockin_detail_id = #{stockinDetailId}
|
||||
</update>
|
||||
@@ -103,9 +165,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</delete>
|
||||
|
||||
<delete id="deleteInStockinDetailByStockinDetailIds" parameterType="String">
|
||||
delete from in_stockin_detail where stockin_detail_id in
|
||||
delete from in_stockin_detail where stockin_detail_id in
|
||||
<foreach item="stockinDetailId" collection="array" open="(" separator="," close=")">
|
||||
#{stockinDetailId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -21,13 +21,43 @@
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="supplierId" column="supplier_id" />
|
||||
<result property="supplierName" column="supplier_name" />
|
||||
<result property="documentN" column="document_n" />
|
||||
<result property="documentDat" column="document_dat" />
|
||||
<result property="projectNam" column="project_nam" />
|
||||
<result property="counterpart" column="counterpart" />
|
||||
<result property="receivingOr" column="receiving_or" />
|
||||
<result property="purchasingOr" column="purchasing_or" />
|
||||
<result property="receivingDep" column="receiving_dep" />
|
||||
<result property="purchasingDep" column="purchasing_dep" />
|
||||
<result property="handle" column="handle" />
|
||||
<result property="creato" column="creato" />
|
||||
<result property="logisticsCompany" column="logistics_" />
|
||||
<result property="logisticsN" column="logistics_n" />
|
||||
<result property="warehous" column="warehous" />
|
||||
<result property="printCoun" column="print_coun" />
|
||||
<result property="tota" column="tota" />
|
||||
<result property="reviewe" column="reviewe" />
|
||||
<result property="createDat" column="create_dat" />
|
||||
<result property="reviewDat" column="review_dat" />
|
||||
<result property="receive" column="receive" />
|
||||
<result property="receiverA" column="receiver_a" />
|
||||
<result property="receiverPhon" column="receiver_phon" />
|
||||
<result property="materialRe" column="material_re" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectInStockinVo">
|
||||
select stockin_id, in_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, supplier_id, supplier_name from in_stockin
|
||||
select stockin_id, in_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, supplier_id, supplier_name,
|
||||
document_n, document_dat, project_nam, counterpart, receiving_or, purchasing_or, receiving_dep, purchasing_dep,
|
||||
handle, creato, logistics_, logistics_n, warehous, print_coun, tota, reviewe, create_dat, review_dat,
|
||||
receive, receiver_a, receiver_phon, material_re
|
||||
from in_stockin
|
||||
</sql>
|
||||
<sql id="selectInStockinFinishVo">
|
||||
select stockin_id, in_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, supplier_id, supplier_name from in_stockin_finish
|
||||
select stockin_id, in_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, supplier_id, supplier_name,
|
||||
document_n, document_dat, project_nam, counterpart, receiving_or, purchasing_or, receiving_dep, purchasing_dep,
|
||||
handle, creato, logistics_, logistics_n, warehous, print_coun, tota, reviewe, create_dat, review_dat,
|
||||
receive, receiver_a, receiver_phon, material_re
|
||||
from in_stockin_finish
|
||||
</sql>
|
||||
|
||||
<select id="selectInStockinList" parameterType="InStockin" resultMap="InStockinResult">
|
||||
@@ -43,14 +73,49 @@
|
||||
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
|
||||
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
|
||||
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
|
||||
<if test="documentN != null and documentN != ''"> and document_n like concat('%', #{documentN}, '%')</if>
|
||||
<if test="projectNam != null and projectNam != ''"> and project_nam like concat('%', #{projectNam}, '%')</if>
|
||||
<if test="counterpart != null and counterpart != ''"> and counterpart like concat('%', #{counterpart}, '%')</if>
|
||||
${params.warehouseScope}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectPdaInboundStockinList" parameterType="InStockin" resultMap="InStockinResult">
|
||||
<include refid="selectInStockinVo"/>
|
||||
<where>
|
||||
<!-- PDA 待处理只展示主单,且主单下必须仍有未绑盘的子单数量。 -->
|
||||
and exists (
|
||||
select 1
|
||||
from in_stockin_detail d
|
||||
where d.stockin_id = in_stockin.stockin_id
|
||||
and ISNULL(d.quantity, 0) > ISNULL(d.scan_num, 0)
|
||||
)
|
||||
<!-- 创建、审核、执行状态下只要仍有待绑子单,PDA 都应能看到主单;完成/作废不再展示。 -->
|
||||
and status in ('1', '2', '3')
|
||||
<if test="stockinId != null and stockinId != ''"> and stockin_id = #{stockinId}</if>
|
||||
<if test="warehouseId != null and warehouseId != ''"> and warehouse_id = #{warehouseId}</if>
|
||||
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
|
||||
<if test="documentN != null and documentN != ''"> and document_n like concat('%', #{documentN}, '%')</if>
|
||||
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
|
||||
${params.warehouseScope}
|
||||
</where>
|
||||
order by create_date desc, stockin_id desc
|
||||
</select>
|
||||
|
||||
<select id="selectInStockinByStockinId" parameterType="String" resultMap="InStockinResult">
|
||||
<include refid="selectInStockinVo"/>
|
||||
where stockin_id = #{stockinId}
|
||||
</select>
|
||||
|
||||
<select id="countUnfinishedDetailByStockinId" parameterType="String" resultType="int">
|
||||
select count(1)
|
||||
from in_stockin_detail
|
||||
where stockin_id = #{stockinId}
|
||||
and (
|
||||
ISNULL(scan_num, 0) != ISNULL(assign_num, 0)
|
||||
or ISNULL(assign_num, 0) < ISNULL(quantity, 0)
|
||||
)
|
||||
</select>
|
||||
<select id="selectInStockinFinishList" parameterType="InStockin" resultMap="InStockinResult">
|
||||
<include refid="selectInStockinFinishVo"/>
|
||||
<where>
|
||||
@@ -64,11 +129,18 @@
|
||||
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
|
||||
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
|
||||
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
|
||||
<if test="documentN != null and documentN != ''"> and document_n like concat('%', #{documentN}, '%')</if>
|
||||
<if test="projectNam != null and projectNam != ''"> and project_nam like concat('%', #{projectNam}, '%')</if>
|
||||
<if test="counterpart != null and counterpart != ''"> and counterpart like concat('%', #{counterpart}, '%')</if>
|
||||
${params.warehouseScope}
|
||||
</where>
|
||||
</select>
|
||||
<select id="selectTop5InStockinList" resultMap="InStockinResult">
|
||||
select TOP 5 stockin_id, in_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, supplier_id, supplier_name from in_stockin
|
||||
select TOP 5 stockin_id, in_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, supplier_id, supplier_name,
|
||||
document_n, document_dat, project_nam, counterpart, receiving_or, purchasing_or, receiving_dep, purchasing_dep,
|
||||
handle, creato, logistics_, logistics_n, warehous, print_coun, tota, reviewe, create_dat, review_dat,
|
||||
receive, receiver_a, receiver_phon, material_re
|
||||
from in_stockin
|
||||
order by create_date desc
|
||||
</select>
|
||||
|
||||
@@ -91,6 +163,28 @@
|
||||
<if test="deptName != null and deptName != ''">dept_name,</if>
|
||||
<if test="supplierId != null">supplier_id,</if>
|
||||
<if test="supplierName != null">supplier_name,</if>
|
||||
<if test="documentN != null and documentN != ''">document_n,</if>
|
||||
<if test="documentDat != null">document_dat,</if>
|
||||
<if test="projectNam != null and projectNam != ''">project_nam,</if>
|
||||
<if test="counterpart != null and counterpart != ''">counterpart,</if>
|
||||
<if test="receivingOr != null and receivingOr != ''">receiving_or,</if>
|
||||
<if test="purchasingOr != null and purchasingOr != ''">purchasing_or,</if>
|
||||
<if test="receivingDep != null and receivingDep != ''">receiving_dep,</if>
|
||||
<if test="purchasingDep != null and purchasingDep != ''">purchasing_dep,</if>
|
||||
<if test="handle != null and handle != ''">handle,</if>
|
||||
<if test="creato != null and creato != ''">creato,</if>
|
||||
<if test="logisticsCompany != null and logisticsCompany != ''">logistics_,</if>
|
||||
<if test="logisticsN != null and logisticsN != ''">logistics_n,</if>
|
||||
<if test="warehous != null and warehous != ''">warehous,</if>
|
||||
<if test="printCoun != null">print_coun,</if>
|
||||
<if test="tota != null">tota,</if>
|
||||
<if test="reviewe != null and reviewe != ''">reviewe,</if>
|
||||
<if test="createDat != null">create_dat,</if>
|
||||
<if test="reviewDat != null">review_dat,</if>
|
||||
<if test="receive != null and receive != ''">receive,</if>
|
||||
<if test="receiverA != null and receiverA != ''">receiver_a,</if>
|
||||
<if test="receiverPhon != null and receiverPhon != ''">receiver_phon,</if>
|
||||
<if test="materialRe != null and materialRe != ''">material_re,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="stockinId != null">#{stockinId},</if>
|
||||
@@ -109,6 +203,28 @@
|
||||
<if test="deptName != null and deptName != ''">#{deptName},</if>
|
||||
<if test="supplierId != null">#{supplierId},</if>
|
||||
<if test="supplierName != null">#{supplierName},</if>
|
||||
<if test="documentN != null and documentN != ''">#{documentN},</if>
|
||||
<if test="documentDat != null">#{documentDat},</if>
|
||||
<if test="projectNam != null and projectNam != ''">#{projectNam},</if>
|
||||
<if test="counterpart != null and counterpart != ''">#{counterpart},</if>
|
||||
<if test="receivingOr != null and receivingOr != ''">#{receivingOr},</if>
|
||||
<if test="purchasingOr != null and purchasingOr != ''">#{purchasingOr},</if>
|
||||
<if test="receivingDep != null and receivingDep != ''">#{receivingDep},</if>
|
||||
<if test="purchasingDep != null and purchasingDep != ''">#{purchasingDep},</if>
|
||||
<if test="handle != null and handle != ''">#{handle},</if>
|
||||
<if test="creato != null and creato != ''">#{creato},</if>
|
||||
<if test="logisticsCompany != null and logisticsCompany != ''">#{logisticsCompany},</if>
|
||||
<if test="logisticsN != null and logisticsN != ''">#{logisticsN},</if>
|
||||
<if test="warehous != null and warehous != ''">#{warehous},</if>
|
||||
<if test="printCoun != null">#{printCoun},</if>
|
||||
<if test="tota != null">#{tota},</if>
|
||||
<if test="reviewe != null and reviewe != ''">#{reviewe},</if>
|
||||
<if test="createDat != null">#{createDat},</if>
|
||||
<if test="reviewDat != null">#{reviewDat},</if>
|
||||
<if test="receive != null and receive != ''">#{receive},</if>
|
||||
<if test="receiverA != null and receiverA != ''">#{receiverA},</if>
|
||||
<if test="receiverPhon != null and receiverPhon != ''">#{receiverPhon},</if>
|
||||
<if test="materialRe != null and materialRe != ''">#{materialRe},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@@ -130,6 +246,28 @@
|
||||
<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
|
||||
<if test="supplierId != null">supplier_id = #{supplierId},</if>
|
||||
<if test="supplierName != null">supplier_name = #{supplierName},</if>
|
||||
<if test="documentN != null and documentN != ''">document_n = #{documentN},</if>
|
||||
<if test="documentDat != null">document_dat = #{documentDat},</if>
|
||||
<if test="projectNam != null and projectNam != ''">project_nam = #{projectNam},</if>
|
||||
<if test="counterpart != null and counterpart != ''">counterpart = #{counterpart},</if>
|
||||
<if test="receivingOr != null and receivingOr != ''">receiving_or = #{receivingOr},</if>
|
||||
<if test="purchasingOr != null and purchasingOr != ''">purchasing_or = #{purchasingOr},</if>
|
||||
<if test="receivingDep != null and receivingDep != ''">receiving_dep = #{receivingDep},</if>
|
||||
<if test="purchasingDep != null and purchasingDep != ''">purchasing_dep = #{purchasingDep},</if>
|
||||
<if test="handle != null and handle != ''">handle = #{handle},</if>
|
||||
<if test="creato != null and creato != ''">creato = #{creato},</if>
|
||||
<if test="logisticsCompany != null and logisticsCompany != ''">logistics_ = #{logisticsCompany},</if>
|
||||
<if test="logisticsN != null and logisticsN != ''">logistics_n = #{logisticsN},</if>
|
||||
<if test="warehous != null and warehous != ''">warehous = #{warehous},</if>
|
||||
<if test="printCoun != null">print_coun = #{printCoun},</if>
|
||||
<if test="tota != null">tota = #{tota},</if>
|
||||
<if test="reviewe != null and reviewe != ''">reviewe = #{reviewe},</if>
|
||||
<if test="createDat != null">create_dat = #{createDat},</if>
|
||||
<if test="reviewDat != null">review_dat = #{reviewDat},</if>
|
||||
<if test="receive != null and receive != ''">receive = #{receive},</if>
|
||||
<if test="receiverA != null and receiverA != ''">receiver_a = #{receiverA},</if>
|
||||
<if test="receiverPhon != null and receiverPhon != ''">receiver_phon = #{receiverPhon},</if>
|
||||
<if test="materialRe != null and materialRe != ''">material_re = #{materialRe},</if>
|
||||
</trim>
|
||||
where stockin_id = #{stockinId}
|
||||
</update>
|
||||
@@ -152,4 +290,4 @@
|
||||
#{stockinId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -56,9 +56,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<include refid="selectMydoJobDetailVo"/>
|
||||
where job_detail_id = #{jobDetailId}
|
||||
</select>
|
||||
<select id="selectMydoJobDetailFinishList" resultType="com.ruoyi.in.jobdetail.domain.MydoJobDetail" resultMap="MydoJobDetailResult">
|
||||
<select id="selectMydoJobDetailFinishList" parameterType="MydoJobDetail" resultMap="MydoJobDetailResult">
|
||||
<include refid="selectMydoJobDetailFinishVo"/>
|
||||
where job_detail_id = #{jobDetailId}
|
||||
<where>
|
||||
<if test="jobId != null and jobId != ''"> and job_id = #{jobId}</if>
|
||||
<if test="stockId != null and stockId != ''"> and stock_id = #{stockId}</if>
|
||||
<if test="lotNo != null and lotNo != ''"> and lot_no = #{lotNo}</if>
|
||||
<if test="inDate != null and inDate != ''"> and in_date = #{inDate}</if>
|
||||
<if test="inOrOutId != null and inOrOutId != ''"> and in_or_out_id = #{inOrOutId}</if>
|
||||
<if test="inOrOutDId != null and inOrOutDId != ''"> and in_or_out_d_id = #{inOrOutDId}</if>
|
||||
<if test="productId != null and productId != ''"> and product_id = #{productId}</if>
|
||||
<if test="productName != null and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
|
||||
<if test="inQuantity != null "> and in_quantity = #{inQuantity}</if>
|
||||
<if test="stockQuantity != null "> and stock_quantity = #{stockQuantity}</if>
|
||||
<if test="outQuantity != null "> and out_quantity = #{outQuantity}</if>
|
||||
<if test="customerName != null and customerName != ''"> and customer_name like concat('%', #{customerName}, '%')</if>
|
||||
<if test="supplierId != null and supplierId != ''"> and supplier_id = #{supplierId}</if>
|
||||
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
|
||||
</where>
|
||||
</select>
|
||||
<insert id="insertMydoJobDetail" parameterType="MydoJobDetail">
|
||||
insert into mydo_job_detail
|
||||
@@ -138,4 +153,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{jobDetailId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -76,11 +76,89 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<include refid="selectMydoJobVo"/>
|
||||
where job_id = #{jobId}
|
||||
</select>
|
||||
|
||||
<select id="selectLatestInMydoJobByTrayCode" parameterType="String" resultMap="MydoJobResult">
|
||||
select top 1 job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name,
|
||||
roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id,
|
||||
target_cargo_space_name, line_type, priority, height, weight, create_time, start_time,
|
||||
finish_time, entrance_id, exit_id, dept_id, dept_name, user_id, user_name, supplier_id,
|
||||
supplier_name, customer_id, customer_name
|
||||
from mydo_job
|
||||
where tray_code = #{trayCode} and in_or_out = 1
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectInMydoJobByTaskNo" parameterType="String" resultMap="MydoJobResult">
|
||||
select top 1 job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name,
|
||||
roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id,
|
||||
target_cargo_space_name, line_type, priority, height, weight, create_time, start_time,
|
||||
finish_time, entrance_id, exit_id, dept_id, dept_name, user_id, user_name, supplier_id,
|
||||
supplier_name, customer_id, customer_name
|
||||
from mydo_job
|
||||
where task_no = #{taskNo} and in_or_out = 1
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectOutMydoJobByTaskNo" parameterType="String" resultMap="MydoJobResult">
|
||||
select top 1 job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name,
|
||||
roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id,
|
||||
target_cargo_space_name, line_type, priority, height, weight, create_time, start_time,
|
||||
finish_time, entrance_id, exit_id, dept_id, dept_name, user_id, user_name, supplier_id,
|
||||
supplier_name, customer_id, customer_name
|
||||
from mydo_job
|
||||
where task_no = #{taskNo} and in_or_out >= 20
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectLatestInMydoJobByTrayCodeAndWarehouseId" parameterType="MydoJob" resultMap="MydoJobResult">
|
||||
select top 1 job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name,
|
||||
roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id,
|
||||
target_cargo_space_name, line_type, priority, height, weight, create_time, start_time,
|
||||
finish_time, entrance_id, exit_id, dept_id, dept_name, user_id, user_name, supplier_id,
|
||||
supplier_name, customer_id, customer_name
|
||||
from mydo_job
|
||||
where tray_code = #{trayCode} and warehouse_id = #{warehouseId} and in_or_out = 1
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectLatestOutMydoJobByTrayCodeAndWarehouseId" parameterType="MydoJob" resultMap="MydoJobResult">
|
||||
select top 1 job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name,
|
||||
roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id,
|
||||
target_cargo_space_name, line_type, priority, height, weight, create_time, start_time,
|
||||
finish_time, entrance_id, exit_id, dept_id, dept_name, user_id, user_name, supplier_id,
|
||||
supplier_name, customer_id, customer_name
|
||||
from mydo_job
|
||||
where tray_code = #{trayCode} and warehouse_id = #{warehouseId} and in_or_out >= 20
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectPendingOutMydoJobsByStockoutDetailId" parameterType="String" resultMap="MydoJobResult">
|
||||
select distinct j.job_id, j.status, j.task_no, j.in_or_out, j.execution_phase, j.tray_code,
|
||||
j.warehouse_id, j.warehouse_name, j.roadway_id, j.cargo_space_id, j.cargo_space_name,
|
||||
j.target_roadway_id, j.target_cargo_space_id, j.target_cargo_space_name, j.line_type,
|
||||
j.priority, j.height, j.weight, j.create_time, j.start_time, j.finish_time, j.entrance_id,
|
||||
j.exit_id, j.dept_id, j.dept_name, j.user_id, j.user_name, j.supplier_id, j.supplier_name,
|
||||
j.customer_id, j.customer_name
|
||||
from mydo_job j
|
||||
inner join mydo_job_detail jd on j.job_id = jd.job_id
|
||||
where jd.in_or_out_d_id = #{stockoutDetailId}
|
||||
and j.in_or_out >= 20
|
||||
and j.status = '1'
|
||||
order by j.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectStockinIdsByJobId" parameterType="String" resultType="String">
|
||||
select distinct stockin_id
|
||||
from mydo_job_detail
|
||||
where job_id = #{jobId}
|
||||
and stockin_id is not null
|
||||
and stockin_id != ''
|
||||
</select>
|
||||
<select id="completeJob" parameterType="java.util.Map" statementType="CALLABLE">
|
||||
{call proc_complete_in_job(
|
||||
#{job_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{dept_id,mode=IN,jdbcType=INTEGER},
|
||||
#{user_id,mode=IN,jdbcType=INTEGER},
|
||||
#{dept_id,mode=IN,jdbcType=INTEGER},
|
||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||
)}
|
||||
@@ -404,4 +482,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
GROUP BY roadway_id
|
||||
ORDER BY roadway_id
|
||||
</select>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -3,30 +3,49 @@
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.out.stockoutdetail.mapper.OutStockoutDetailMapper">
|
||||
|
||||
|
||||
<resultMap type="OutStockoutDetail" id="OutStockoutDetailResult">
|
||||
<result property="stockoutDetailId" column="stockout_detail_id" />
|
||||
<result property="stockoutId" column="stockout_id" />
|
||||
<result property="lotNo" column="lot_no" />
|
||||
<result property="productId" column="product_id" />
|
||||
<result property="productName" column="product_name" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="allotNum" column="allot_num" />
|
||||
<result property="assignNum" column="assign_num" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="status" column="status" />
|
||||
<result property="stockoutDetailId" column="stockout_detail_id" />
|
||||
<result property="stockoutId" column="stockout_id" />
|
||||
<result property="lotNo" column="lot_no" />
|
||||
<result property="productId" column="product_id" />
|
||||
<result property="productName" column="product_name" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="allotNum" column="allot_num" />
|
||||
<result property="assignNum" column="assign_num" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="status" column="status" />
|
||||
<result property="lineN" column="line_n" />
|
||||
<result property="itemCod" column="item_cod" />
|
||||
<result property="itemNam" column="item_nam" />
|
||||
<result property="specMode" column="spec_mode" />
|
||||
<result property="uni" column="uni" />
|
||||
<result property="actualQt" column="actual_qt" />
|
||||
<result property="warehous" column="warehous" />
|
||||
<result property="locatio" column="locatio" />
|
||||
<result property="inventoryStatus" column="inventory_" />
|
||||
<result property="sourceDocN" column="source_doc_n" />
|
||||
<result property="remar" column="remar" />
|
||||
<result property="stockId" column="stock_id" />
|
||||
<result property="stockDetailId" column="stock_detail_id" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectOutStockoutDetailVo">
|
||||
select stockout_detail_id, stockout_id, lot_no, product_id, product_name, quantity, allot_num, assign_num, remark from out_stockout_detail
|
||||
select stockout_detail_id, stockout_id, lot_no, product_id, product_name, quantity, allot_num, assign_num, remark, status,
|
||||
line_n, item_cod, item_nam, spec_mode, uni, actual_qt, warehous, locatio, inventory_, source_doc_n, remar,
|
||||
stock_id, stock_detail_id
|
||||
from out_stockout_detail
|
||||
</sql>
|
||||
<sql id="selectOutStockoutDetailFinishVo">
|
||||
select stockout_detail_id, stockout_id, lot_no, product_id, product_name, quantity, allot_num, assign_num, remark from out_stockout_detail_finish
|
||||
select stockout_detail_id, stockout_id, lot_no, product_id, product_name, quantity, allot_num, assign_num, remark, status,
|
||||
line_n, item_cod, item_nam, spec_mode, uni, actual_qt, warehous, locatio, inventory_, source_doc_n, remar,
|
||||
stock_id, stock_detail_id
|
||||
from out_stockout_detail_finish
|
||||
</sql>
|
||||
|
||||
<select id="selectOutStockoutDetailList" parameterType="OutStockoutDetail" resultMap="OutStockoutDetailResult">
|
||||
<include refid="selectOutStockoutDetailVo"/>
|
||||
<where>
|
||||
<where>
|
||||
<if test="stockoutId != null and stockoutId != ''"> and stockout_id = #{stockoutId}</if>
|
||||
<if test="lotNo != null and lotNo != ''"> and lot_no = #{lotNo}</if>
|
||||
<if test="productId != null and productId != ''"> and product_id = #{productId}</if>
|
||||
@@ -34,9 +53,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="quantity != null "> and quantity = #{quantity}</if>
|
||||
<if test="allotNum != null "> and allot_num = #{allotNum}</if>
|
||||
<if test="assignNum != null "> and assign_num = #{assignNum}</if>
|
||||
<if test="itemCod != null and itemCod != ''"> and item_cod like concat('%', #{itemCod}, '%')</if>
|
||||
<if test="itemNam != null and itemNam != ''"> and item_nam like concat('%', #{itemNam}, '%')</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectOutStockoutDetailByStockoutDetailId" parameterType="String" resultMap="OutStockoutDetailResult">
|
||||
<include refid="selectOutStockoutDetailVo"/>
|
||||
where stockout_detail_id = #{stockoutDetailId}
|
||||
@@ -55,6 +76,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="quantity != null "> and quantity = #{quantity}</if>
|
||||
<if test="allotNum != null "> and allot_num = #{allotNum}</if>
|
||||
<if test="assignNum != null "> and assign_num = #{assignNum}</if>
|
||||
<if test="itemCod != null and itemCod != ''"> and item_cod like concat('%', #{itemCod}, '%')</if>
|
||||
<if test="itemNam != null and itemNam != ''"> and item_nam like concat('%', #{itemNam}, '%')</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@@ -70,6 +93,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="allotNum != null">allot_num,</if>
|
||||
<if test="assignNum != null">assign_num,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="lineN != null">line_n,</if>
|
||||
<if test="itemCod != null and itemCod != ''">item_cod,</if>
|
||||
<if test="itemNam != null and itemNam != ''">item_nam,</if>
|
||||
<if test="specMode != null and specMode != ''">spec_mode,</if>
|
||||
<if test="uni != null and uni != ''">uni,</if>
|
||||
<if test="actualQt != null">actual_qt,</if>
|
||||
<if test="warehous != null and warehous != ''">warehous,</if>
|
||||
<if test="locatio != null and locatio != ''">locatio,</if>
|
||||
<if test="inventoryStatus != null and inventoryStatus != ''">inventory_,</if>
|
||||
<if test="sourceDocN != null and sourceDocN != ''">source_doc_n,</if>
|
||||
<if test="remar != null and remar != ''">remar,</if>
|
||||
<if test="stockId != null and stockId != ''">stock_id,</if>
|
||||
<if test="stockDetailId != null and stockDetailId != ''">stock_detail_id,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="stockoutDetailId != null">#{stockoutDetailId},</if>
|
||||
@@ -81,6 +118,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="allotNum != null">#{allotNum},</if>
|
||||
<if test="assignNum != null">#{assignNum},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="lineN != null">#{lineN},</if>
|
||||
<if test="itemCod != null and itemCod != ''">#{itemCod},</if>
|
||||
<if test="itemNam != null and itemNam != ''">#{itemNam},</if>
|
||||
<if test="specMode != null and specMode != ''">#{specMode},</if>
|
||||
<if test="uni != null and uni != ''">#{uni},</if>
|
||||
<if test="actualQt != null">#{actualQt},</if>
|
||||
<if test="warehous != null and warehous != ''">#{warehous},</if>
|
||||
<if test="locatio != null and locatio != ''">#{locatio},</if>
|
||||
<if test="inventoryStatus != null and inventoryStatus != ''">#{inventoryStatus},</if>
|
||||
<if test="sourceDocN != null and sourceDocN != ''">#{sourceDocN},</if>
|
||||
<if test="remar != null and remar != ''">#{remar},</if>
|
||||
<if test="stockId != null and stockId != ''">#{stockId},</if>
|
||||
<if test="stockDetailId != null and stockDetailId != ''">#{stockDetailId},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@@ -95,6 +146,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="allotNum != null">allot_num = #{allotNum},</if>
|
||||
<if test="assignNum != null">assign_num = #{assignNum},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="lineN != null">line_n = #{lineN},</if>
|
||||
<if test="itemCod != null and itemCod != ''">item_cod = #{itemCod},</if>
|
||||
<if test="itemNam != null and itemNam != ''">item_nam = #{itemNam},</if>
|
||||
<if test="specMode != null and specMode != ''">spec_mode = #{specMode},</if>
|
||||
<if test="uni != null and uni != ''">uni = #{uni},</if>
|
||||
<if test="actualQt != null">actual_qt = #{actualQt},</if>
|
||||
<if test="warehous != null and warehous != ''">warehous = #{warehous},</if>
|
||||
<if test="locatio != null and locatio != ''">locatio = #{locatio},</if>
|
||||
<if test="inventoryStatus != null and inventoryStatus != ''">inventory_ = #{inventoryStatus},</if>
|
||||
<if test="sourceDocN != null and sourceDocN != ''">source_doc_n = #{sourceDocN},</if>
|
||||
<if test="remar != null and remar != ''">remar = #{remar},</if>
|
||||
<if test="stockId != null and stockId != ''">stock_id = #{stockId},</if>
|
||||
<if test="stockDetailId != null and stockDetailId != ''">stock_detail_id = #{stockDetailId},</if>
|
||||
</trim>
|
||||
where stockout_detail_id = #{stockoutDetailId}
|
||||
</update>
|
||||
@@ -104,9 +169,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</delete>
|
||||
|
||||
<delete id="deleteOutStockoutDetailByStockoutDetailIds" parameterType="String">
|
||||
delete from out_stockout_detail where stockout_detail_id in
|
||||
delete from out_stockout_detail where stockout_detail_id in
|
||||
<foreach item="stockoutDetailId" collection="array" open="(" separator="," close=")">
|
||||
#{stockoutDetailId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -3,31 +3,61 @@
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.out.stockout.mapper.OutStockoutMapper">
|
||||
|
||||
|
||||
<resultMap type="OutStockout" id="OutStockoutResult">
|
||||
<result property="stockoutId" column="stockout_id" />
|
||||
<result property="outType" column="out_type" />
|
||||
<result property="stockSource" column="stock_source" />
|
||||
<result property="status" column="status" />
|
||||
<result property="createDate" column="create_date" />
|
||||
<result property="startDate" column="start_date" />
|
||||
<result property="finishDate" column="finish_date" />
|
||||
<result property="erpBill" column="erp_bill" />
|
||||
<result property="warehouseId" column="warehouse_id" />
|
||||
<result property="warehouseName" column="warehouse_name" />
|
||||
<result property="userId" column="user_id" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="customerId" column="customer_id" />
|
||||
<result property="customerName" column="customer_name" />
|
||||
<result property="stockoutId" column="stockout_id" />
|
||||
<result property="outType" column="out_type" />
|
||||
<result property="stockSource" column="stock_source" />
|
||||
<result property="status" column="status" />
|
||||
<result property="createDate" column="create_date" />
|
||||
<result property="startDate" column="start_date" />
|
||||
<result property="finishDate" column="finish_date" />
|
||||
<result property="erpBill" column="erp_bill" />
|
||||
<result property="warehouseId" column="warehouse_id" />
|
||||
<result property="warehouseName" column="warehouse_name" />
|
||||
<result property="userId" column="user_id" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="customerId" column="customer_id" />
|
||||
<result property="customerName" column="customer_name" />
|
||||
<result property="documentN" column="document_n" />
|
||||
<result property="documentDat" column="document_dat" />
|
||||
<result property="projectNam" column="project_nam" />
|
||||
<result property="counterpart" column="counterpart" />
|
||||
<result property="receivingOr" column="receiving_or" />
|
||||
<result property="purchasingOr" column="purchasing_or" />
|
||||
<result property="receivingDep" column="receiving_dep" />
|
||||
<result property="purchasingDep" column="purchasing_dep" />
|
||||
<result property="handle" column="handle" />
|
||||
<result property="creato" column="creato" />
|
||||
<result property="logisticsCompany" column="logistics_" />
|
||||
<result property="logisticsN" column="logistics_n" />
|
||||
<result property="warehous" column="warehous" />
|
||||
<result property="printCoun" column="print_coun" />
|
||||
<result property="tota" column="tota" />
|
||||
<result property="reviewe" column="reviewe" />
|
||||
<result property="createDat" column="create_dat" />
|
||||
<result property="reviewDat" column="review_dat" />
|
||||
<result property="receive" column="receive" />
|
||||
<result property="receiverA" column="receiver_a" />
|
||||
<result property="receiverPhon" column="receiver_phon" />
|
||||
<result property="materialRe" column="material_re" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectOutStockoutVo">
|
||||
select stockout_id, out_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, customer_id, customer_name from out_stockout
|
||||
select stockout_id, out_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, customer_id, customer_name,
|
||||
document_n, document_dat, project_nam, counterpart, receiving_or, purchasing_or, receiving_dep, purchasing_dep,
|
||||
handle, creato, logistics_, logistics_n, warehous, print_coun, tota, reviewe, create_dat, review_dat,
|
||||
receive, receiver_a, receiver_phon, material_re
|
||||
from out_stockout
|
||||
</sql>
|
||||
<sql id="selectOutStockoutFinishVo">
|
||||
select stockout_id, out_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, customer_id, customer_name from out_stockout_finish
|
||||
select stockout_id, out_type, stock_source, status, create_date, start_date, finish_date, erp_bill, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, customer_id, customer_name,
|
||||
document_n, document_dat, project_nam, counterpart, receiving_or, purchasing_or, receiving_dep, purchasing_dep,
|
||||
handle, creato, logistics_, logistics_n, warehous, print_coun, tota, reviewe, create_dat, review_dat,
|
||||
receive, receiver_a, receiver_phon, material_re
|
||||
from out_stockout_finish
|
||||
</sql>
|
||||
|
||||
<select id="selectOutStockoutList" parameterType="OutStockout" resultMap="OutStockoutResult">
|
||||
@@ -44,6 +74,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
|
||||
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
|
||||
<if test="customerName != null and customerName != ''"> and customer_name like concat('%', #{customerName}, '%')</if>
|
||||
<if test="documentN != null and documentN != ''"> and document_n like concat('%', #{documentN}, '%')</if>
|
||||
<if test="projectNam != null and projectNam != ''"> and project_nam like concat('%', #{projectNam}, '%')</if>
|
||||
<if test="counterpart != null and counterpart != ''"> and counterpart like concat('%', #{counterpart}, '%')</if>
|
||||
${params.warehouseScope}
|
||||
</where>
|
||||
</select>
|
||||
@@ -66,6 +99,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
|
||||
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
|
||||
<if test="customerName != null and customerName != ''"> and customer_name like concat('%', #{customerName}, '%')</if>
|
||||
<if test="documentN != null and documentN != ''"> and document_n like concat('%', #{documentN}, '%')</if>
|
||||
<if test="projectNam != null and projectNam != ''"> and project_nam like concat('%', #{projectNam}, '%')</if>
|
||||
<if test="counterpart != null and counterpart != ''"> and counterpart like concat('%', #{counterpart}, '%')</if>
|
||||
${params.warehouseScope}
|
||||
</where>
|
||||
</select>
|
||||
@@ -96,6 +132,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="deptName != null and deptName != ''">dept_name,</if>
|
||||
<if test="customerId != null">customer_id,</if>
|
||||
<if test="customerName != null">customer_name,</if>
|
||||
<if test="documentN != null and documentN != ''">document_n,</if>
|
||||
<if test="documentDat != null">document_dat,</if>
|
||||
<if test="projectNam != null and projectNam != ''">project_nam,</if>
|
||||
<if test="counterpart != null and counterpart != ''">counterpart,</if>
|
||||
<if test="receivingOr != null and receivingOr != ''">receiving_or,</if>
|
||||
<if test="purchasingOr != null and purchasingOr != ''">purchasing_or,</if>
|
||||
<if test="receivingDep != null and receivingDep != ''">receiving_dep,</if>
|
||||
<if test="purchasingDep != null and purchasingDep != ''">purchasing_dep,</if>
|
||||
<if test="handle != null and handle != ''">handle,</if>
|
||||
<if test="creato != null and creato != ''">creato,</if>
|
||||
<if test="logisticsCompany != null and logisticsCompany != ''">logistics_,</if>
|
||||
<if test="logisticsN != null and logisticsN != ''">logistics_n,</if>
|
||||
<if test="warehous != null and warehous != ''">warehous,</if>
|
||||
<if test="printCoun != null">print_coun,</if>
|
||||
<if test="tota != null">tota,</if>
|
||||
<if test="reviewe != null and reviewe != ''">reviewe,</if>
|
||||
<if test="createDat != null">create_dat,</if>
|
||||
<if test="reviewDat != null">review_dat,</if>
|
||||
<if test="receive != null and receive != ''">receive,</if>
|
||||
<if test="receiverA != null and receiverA != ''">receiver_a,</if>
|
||||
<if test="receiverPhon != null and receiverPhon != ''">receiver_phon,</if>
|
||||
<if test="materialRe != null and materialRe != ''">material_re,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="stockoutId != null">#{stockoutId},</if>
|
||||
@@ -114,6 +172,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="deptName != null and deptName != ''">#{deptName},</if>
|
||||
<if test="customerId != null">#{customerId},</if>
|
||||
<if test="customerName != null">#{customerName},</if>
|
||||
<if test="documentN != null and documentN != ''">#{documentN},</if>
|
||||
<if test="documentDat != null">#{documentDat},</if>
|
||||
<if test="projectNam != null and projectNam != ''">#{projectNam},</if>
|
||||
<if test="counterpart != null and counterpart != ''">#{counterpart},</if>
|
||||
<if test="receivingOr != null and receivingOr != ''">#{receivingOr},</if>
|
||||
<if test="purchasingOr != null and purchasingOr != ''">#{purchasingOr},</if>
|
||||
<if test="receivingDep != null and receivingDep != ''">#{receivingDep},</if>
|
||||
<if test="purchasingDep != null and purchasingDep != ''">#{purchasingDep},</if>
|
||||
<if test="handle != null and handle != ''">#{handle},</if>
|
||||
<if test="creato != null and creato != ''">#{creato},</if>
|
||||
<if test="logisticsCompany != null and logisticsCompany != ''">#{logisticsCompany},</if>
|
||||
<if test="logisticsN != null and logisticsN != ''">#{logisticsN},</if>
|
||||
<if test="warehous != null and warehous != ''">#{warehous},</if>
|
||||
<if test="printCoun != null">#{printCoun},</if>
|
||||
<if test="tota != null">#{tota},</if>
|
||||
<if test="reviewe != null and reviewe != ''">#{reviewe},</if>
|
||||
<if test="createDat != null">#{createDat},</if>
|
||||
<if test="reviewDat != null">#{reviewDat},</if>
|
||||
<if test="receive != null and receive != ''">#{receive},</if>
|
||||
<if test="receiverA != null and receiverA != ''">#{receiverA},</if>
|
||||
<if test="receiverPhon != null and receiverPhon != ''">#{receiverPhon},</if>
|
||||
<if test="materialRe != null and materialRe != ''">#{materialRe},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@@ -135,6 +215,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
|
||||
<if test="customerId != null">customer_id = #{customerId},</if>
|
||||
<if test="customerName != null">customer_name = #{customerName},</if>
|
||||
<if test="documentN != null and documentN != ''">document_n = #{documentN},</if>
|
||||
<if test="documentDat != null">document_dat = #{documentDat},</if>
|
||||
<if test="projectNam != null and projectNam != ''">project_nam = #{projectNam},</if>
|
||||
<if test="counterpart != null and counterpart != ''">counterpart = #{counterpart},</if>
|
||||
<if test="receivingOr != null and receivingOr != ''">receiving_or = #{receivingOr},</if>
|
||||
<if test="purchasingOr != null and purchasingOr != ''">purchasing_or = #{purchasingOr},</if>
|
||||
<if test="receivingDep != null and receivingDep != ''">receiving_dep = #{receivingDep},</if>
|
||||
<if test="purchasingDep != null and purchasingDep != ''">purchasing_dep = #{purchasingDep},</if>
|
||||
<if test="handle != null and handle != ''">handle = #{handle},</if>
|
||||
<if test="creato != null and creato != ''">creato = #{creato},</if>
|
||||
<if test="logisticsCompany != null and logisticsCompany != ''">logistics_ = #{logisticsCompany},</if>
|
||||
<if test="logisticsN != null and logisticsN != ''">logistics_n = #{logisticsN},</if>
|
||||
<if test="warehous != null and warehous != ''">warehous = #{warehous},</if>
|
||||
<if test="printCoun != null">print_coun = #{printCoun},</if>
|
||||
<if test="tota != null">tota = #{tota},</if>
|
||||
<if test="reviewe != null and reviewe != ''">reviewe = #{reviewe},</if>
|
||||
<if test="createDat != null">create_dat = #{createDat},</if>
|
||||
<if test="reviewDat != null">review_dat = #{reviewDat},</if>
|
||||
<if test="receive != null and receive != ''">receive = #{receive},</if>
|
||||
<if test="receiverA != null and receiverA != ''">receiver_a = #{receiverA},</if>
|
||||
<if test="receiverPhon != null and receiverPhon != ''">receiver_phon = #{receiverPhon},</if>
|
||||
<if test="materialRe != null and materialRe != ''">material_re = #{materialRe},</if>
|
||||
</trim>
|
||||
where stockout_id = #{stockoutId}
|
||||
</update>
|
||||
@@ -165,4 +267,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{stockoutId}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -6,8 +6,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<insert id="addInJob" parameterType="java.util.Map" statementType="CALLABLE">
|
||||
{call proc_add_in_job(
|
||||
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_dept_id,mode=IN,jdbcType=INTEGER},
|
||||
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_user_id,mode=IN,jdbcType=INTEGER},
|
||||
#{v_dept_id,mode=IN,jdbcType=INTEGER},
|
||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||
)}
|
||||
@@ -15,11 +16,138 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="bindTray" parameterType="java.util.Map" statementType="CALLABLE">
|
||||
{call proc_bind_tray_msg(
|
||||
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_stockin_detail_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
|
||||
#{v_quantity,mode=IN,jdbcType=INTEGER},
|
||||
#{v_user_id,mode=IN,jdbcType=INTEGER},
|
||||
#{v_dept_id,mode=IN,jdbcType=INTEGER},
|
||||
#{v_result,mode=OUT,jdbcType=INTEGER},
|
||||
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
|
||||
)}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
<select id="selectMatchedTrayRule" parameterType="java.util.Map" resultType="java.util.HashMap">
|
||||
select top 1 tray_type, allowed_cargo_type
|
||||
from bas_tray_rule
|
||||
where tray_type = #{v_tray_type}
|
||||
and charindex(',' + #{v_warehouse_id} + ',', ',' + allowed_warehouses + ',') > 0
|
||||
order by id
|
||||
</select>
|
||||
|
||||
<select id="selectAvailableInboundRoadway" parameterType="java.util.Map" resultType="java.util.HashMap">
|
||||
select top 1 roadway_id
|
||||
from bas_cargo_space
|
||||
where warehouse_id = #{v_warehouse_id}
|
||||
and the_type = #{v_cargo_type}
|
||||
and (#{v_roadway_id} is null or #{v_roadway_id} = '' or roadway_id = #{v_roadway_id})
|
||||
and status = '1'
|
||||
and locked = 'N'
|
||||
and (tray_code is null or tray_code = '')
|
||||
order by roadway_id asc, the_floor asc, the_platoon asc, the_column asc
|
||||
</select>
|
||||
|
||||
<update id="lockInboundCargoSpace" parameterType="java.util.Map">
|
||||
update bas_cargo_space
|
||||
set status = '3',
|
||||
locked = 'Y',
|
||||
tray_code = #{v_tray_code}
|
||||
where cargo_space_id = (
|
||||
select top 1 cargo_space_id
|
||||
from bas_cargo_space with (UPDLOCK, READPAST, ROWLOCK)
|
||||
where warehouse_id = #{v_warehouse_id}
|
||||
and the_type = #{v_cargo_type}
|
||||
and (#{v_roadway_id} is null or #{v_roadway_id} = '' or roadway_id = #{v_roadway_id})
|
||||
and status = '1'
|
||||
and locked = 'N'
|
||||
and (tray_code is null or tray_code = '')
|
||||
order by the_floor asc, the_platoon asc, the_column asc
|
||||
)
|
||||
</update>
|
||||
|
||||
<select id="selectLockedCargoSpaceByTrayCode" parameterType="java.util.Map" resultType="java.util.HashMap">
|
||||
select top 1 cargo_space_id, cargo_space_name, roadway_id
|
||||
from bas_cargo_space
|
||||
where warehouse_id = #{v_warehouse_id}
|
||||
and tray_code = #{v_tray_code}
|
||||
and (#{v_roadway_id} is null or #{v_roadway_id} = '' or roadway_id = #{v_roadway_id})
|
||||
and status = '3'
|
||||
and locked = 'Y'
|
||||
order by the_floor asc, the_platoon asc, the_column asc
|
||||
</select>
|
||||
|
||||
<update id="releaseInboundCargoSpace" parameterType="java.util.Map">
|
||||
update bas_cargo_space
|
||||
set status = '1',
|
||||
locked = 'N',
|
||||
tray_code = null
|
||||
where warehouse_id = #{v_warehouse_id}
|
||||
and tray_code = #{v_tray_code}
|
||||
and status = '3'
|
||||
and locked = 'Y'
|
||||
</update>
|
||||
|
||||
<select id="outboundTaskList" parameterType="java.util.Map" resultType="java.util.HashMap">
|
||||
select j.job_id as jobId,
|
||||
j.task_no as taskNo,
|
||||
'confirm' as type,
|
||||
'出库确认' as typeName,
|
||||
'confirm' as typeClass,
|
||||
max(jd.product_id) as materialCode,
|
||||
max(jd.product_name) as materialName,
|
||||
sum(isnull(jd.out_quantity, 0)) as quantity,
|
||||
isnull(j.exit_id, '') as portName,
|
||||
convert(varchar(19), j.create_time, 120) as createTime,
|
||||
j.status as status,
|
||||
case j.status
|
||||
when '1' then '未执行'
|
||||
when '2' then '待执行'
|
||||
when '3' then '执行中'
|
||||
else '待确认'
|
||||
end as statusName,
|
||||
case j.status
|
||||
when '1' then 'pending'
|
||||
when '2' then 'pending'
|
||||
when '3' then 'processing'
|
||||
else 'pending'
|
||||
end as statusClass
|
||||
from mydo_job j
|
||||
inner join mydo_job_detail jd on j.job_id = jd.job_id
|
||||
where j.in_or_out >= 20
|
||||
and j.status in ('1', '2', '3')
|
||||
and (#{taskNo} is null or #{taskNo} = '' or j.task_no = #{taskNo})
|
||||
group by j.job_id, j.task_no, j.exit_id, j.create_time, j.status
|
||||
order by j.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectOutboundDetail" parameterType="java.util.Map" resultType="java.util.HashMap">
|
||||
select top 1 j.job_id as jobId,
|
||||
j.task_no as taskNo,
|
||||
jd.job_detail_id as jobDetailId,
|
||||
jd.stock_id as stockId,
|
||||
jd.stockin_detail_id as stockDetailId,
|
||||
jd.product_id as materialCode,
|
||||
jd.product_name as materialName,
|
||||
jd.lot_no as lotNo,
|
||||
jd.out_quantity as quantity,
|
||||
j.tray_code as trayCode,
|
||||
j.cargo_space_id as locationCode,
|
||||
j.cargo_space_name as locationName,
|
||||
isnull(j.exit_id, '') as portName,
|
||||
'' as spec
|
||||
from mydo_job j
|
||||
inner join mydo_job_detail jd on j.job_id = jd.job_id
|
||||
where j.in_or_out >= 20
|
||||
and j.status in ('1', '2', '3')
|
||||
and (#{taskNo} is null or #{taskNo} = '' or j.task_no = #{taskNo})
|
||||
and (
|
||||
#{barcode} is null or #{barcode} = ''
|
||||
or j.task_no = #{barcode}
|
||||
or j.tray_code = #{barcode}
|
||||
or jd.stock_id = #{barcode}
|
||||
or jd.stockin_detail_id = #{barcode}
|
||||
or jd.product_id = #{barcode}
|
||||
)
|
||||
order by j.create_time desc, jd.job_detail_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user