Merge remote-tracking branch 'refs/remotes/origin/feature/20260727/lms-rawfoil' into huachuang_ls
# Conflicts: # nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/lms/LmsTaskCommonApi.java # nl-framework/nl-spring-boot-starter-execute/src/main/java/cn/code/nl/framework/execute/biz/api/wms/WmsTaskCommonApi.java # nl-gateway/src/main/resources/application-dev.yaml # nl-module-base/nl-module-base-server/src/main/resources/application-dev.yaml # nl-module-infra/nl-module-infra-server/src/main/resources/application-dev.yaml # nl-module-lms/nl-module-lms-server/src/main/java/cn/code/nl/module/lms/demo/DemoApi.java # nl-module-system/nl-module-system-server/src/main/resources/application-dev.yaml
This commit is contained in:
@@ -3,16 +3,16 @@
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: http://192.168.81.193:8848 # Nacos 服务器地址
|
||||
server-addr: 192.168.81.193:8848 # Nacos 服务器地址
|
||||
username: nacos
|
||||
password: nacos
|
||||
discovery: # 【配置中心】配置项
|
||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
||||
namespace: 91c8ac41-7fb0-423b-947e-2caad4c87d41 # 命名空间。这里使用 dev 开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
metadata:
|
||||
version: 1.0.0 # 服务实例的版本号,可用于灰度发布
|
||||
config: # 【注册中心】配置项
|
||||
namespace: dev # 命名空间。这里使用 dev 开发环境
|
||||
namespace: 91c8ac41-7fb0-423b-947e-2caad4c87d41 # 命名空间。这里使用 dev 开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
|
||||
--- #################### 数据库相关配置 ####################
|
||||
@@ -57,14 +57,14 @@ spring:
|
||||
primary: master
|
||||
datasource:
|
||||
master:
|
||||
url: jdbc:mysql://192.168.81.193:3306/huachuang_lms_dev?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
|
||||
url: jdbc:mysql://127.0.0.1:3306/huachuang_lms_dev?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
|
||||
username: root
|
||||
password: root123
|
||||
password: root
|
||||
slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
|
||||
lazy: true # 开启懒加载,保证启动速度
|
||||
url: jdbc:mysql://192.168.81.193:3306/huachuang_lms_dev?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
|
||||
url: jdbc:mysql://127.0.0.1:3306/huachuang_lms_dev?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
|
||||
username: root
|
||||
password: root123
|
||||
password: root
|
||||
|
||||
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
|
||||
data:
|
||||
@@ -76,7 +76,6 @@ spring:
|
||||
|
||||
--- #################### MQ 消息队列相关配置 ####################
|
||||
|
||||
# rocketmq 配置项,对应 RocketMQProperties 配置类
|
||||
rocketmq:
|
||||
name-server: 127.0.0.1:9876 # RocketMQ Namesrv
|
||||
|
||||
@@ -95,11 +94,11 @@ spring:
|
||||
xxl:
|
||||
job:
|
||||
admin:
|
||||
addresses: http://localhost:8080/xxl-job-admin # 调度中心部署跟地址
|
||||
accessToken: 123456 # 执行器通讯TOKEN
|
||||
addresses: http://192.168.81.193:8080/xxl-job-admin # 调度中心部署跟地址
|
||||
accessToken: default_token # 执行器通讯TOKEN
|
||||
executor:
|
||||
ip: localhost
|
||||
port: 9995
|
||||
port: 8995
|
||||
|
||||
--- #################### 服务保障相关配置 ####################
|
||||
|
||||
@@ -140,4 +139,6 @@ logging:
|
||||
|
||||
# 芋道配置项,设置当前项目所有自定义的配置
|
||||
nl:
|
||||
demo: false # 开启演示模式
|
||||
demo: false # 开启演示模式
|
||||
websocket:
|
||||
enable: false # 本地开发禁用 WebSocket(避免 RocketMQ consumer 连不上报错)
|
||||
@@ -0,0 +1,11 @@
|
||||
--- #################### MQ 消息队列相关配置 ####################
|
||||
# rocketmq 配置项,对应 RocketMQProperties 配置类
|
||||
rocketmq:
|
||||
name-server: 192.168.81.193:9876
|
||||
producer:
|
||||
group: wms_producer_dev_group # 事务消息需要配置一样
|
||||
send-message-timeout: 3000
|
||||
consumer:
|
||||
wms-task-operate:
|
||||
group: wms_task_status_change_dev_group
|
||||
topic: wms_task_status_change_dev_topic
|
||||
@@ -0,0 +1,8 @@
|
||||
--- #################### MQ 消息队列相关配置 ####################
|
||||
# rocketmq 配置项,对应 RocketMQProperties 配置类
|
||||
rocketmq:
|
||||
name-server: 127.0.0.1:9876
|
||||
consumer:
|
||||
wms-task-operate:
|
||||
group: wms-task-status-change-test-group
|
||||
topic: wms-task-status-change-test-topic
|
||||
@@ -59,12 +59,12 @@ spring:
|
||||
master:
|
||||
url: jdbc:mysql://192.168.81.193:3306/huachuang_lms_dev?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
|
||||
username: root
|
||||
password: root123
|
||||
password: root
|
||||
slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
|
||||
lazy: true # 开启懒加载,保证启动速度
|
||||
url: jdbc:mysql://192.168.81.193:3306/huachuang_lms_dev?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
|
||||
username: root
|
||||
password: root123
|
||||
password: root
|
||||
|
||||
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
|
||||
data:
|
||||
|
||||
@@ -13,6 +13,7 @@ spring:
|
||||
import:
|
||||
- optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
|
||||
- optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
|
||||
- optional:classpath:application-mq-${spring.profiles.active}.yaml # 加载 MQ 配置
|
||||
|
||||
# Servlet 配置
|
||||
servlet:
|
||||
@@ -64,7 +65,7 @@ mybatis-plus:
|
||||
map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。
|
||||
global-config:
|
||||
db-config:
|
||||
#id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。
|
||||
# id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。
|
||||
# id-type: AUTO # 自增 ID,适合 MySQL 等直接自增的数据库
|
||||
# id-type: INPUT # 用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库
|
||||
id-type: ASSIGN_ID # 分配 ID,默认使用雪花算法。注意,Oracle、PostgreSQL、Kingbase、DB2、H2 数据库时,需要去除实体类上的 @KeySequence 注解
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.groupplate.GroupPlateMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.iostorinv.IostorInvMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.iostorinvdis.IostorinvDisMapper">
|
||||
|
||||
<select id="selectAllocationList"
|
||||
resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.OutboundAllocationRespVO">
|
||||
SELECT dis.iostorinvdis_id,
|
||||
dis.iostorinvdtl_id,
|
||||
dis.work_status,
|
||||
dis.material_code,
|
||||
mb.material_name,
|
||||
dis.pcsn,
|
||||
dis.storagevehicle_code,
|
||||
dis.plan_qty,
|
||||
dis.qty_unit_name,
|
||||
dis.sect_id,
|
||||
dis.sect_name,
|
||||
dis.struct_id,
|
||||
dis.struct_code,
|
||||
dis.struct_name,
|
||||
dis.point_code,
|
||||
dis.task_id
|
||||
FROM wms_iostorinvdis dis
|
||||
LEFT JOIN base_materialbase mb
|
||||
ON mb.material_id = dis.material_id
|
||||
AND mb.deleted = 0
|
||||
WHERE dis.iostorinv_id = #{iostorinvId}
|
||||
<if test="iostorinvdtlId != null">
|
||||
AND dis.iostorinvdtl_id = #{iostorinvdtlId}
|
||||
</if>
|
||||
<if test="sectId != null and sectId != ''">
|
||||
AND dis.sect_id = #{sectId}
|
||||
</if>
|
||||
ORDER BY dis.seq_no, dis.iostorinvdis_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,212 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.iostorinvdtl.IostorinvDtlMapper">
|
||||
|
||||
<sql id="availableInventoryColumns">
|
||||
gp.group_id AS group_id,
|
||||
gp.vehicle_code AS vehicle_code,
|
||||
gp.pcsn AS pcsn,
|
||||
gp.material_id AS material_id,
|
||||
gp.material_code AS material_code,
|
||||
mb.material_name AS material_name,
|
||||
gp.qty - COALESCE(gp.frozen_qty, 0) AS available_qty,
|
||||
gp.qty_unit_id AS qty_unit_id,
|
||||
gp.qty_unit_name AS qty_unit_name,
|
||||
gp.ext_code AS ext_code,
|
||||
gp.ext_type AS ext_type,
|
||||
gp.ext_dtl_code AS ext_dtl_code,
|
||||
sa.stor_id AS stor_id,
|
||||
sa.stor_code AS stor_code,
|
||||
sa.stor_name AS stor_name
|
||||
</sql>
|
||||
|
||||
<select id="selectAvailableInventoryPage"
|
||||
resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.AvailableInventoryRespVO">
|
||||
SELECT <include refid="availableInventoryColumns"/>
|
||||
FROM wms_group_plate gp
|
||||
INNER JOIN (
|
||||
SELECT stor_id, storagevehicle_code, MAX(stor_code) AS stor_code, MAX(stor_name) AS stor_name
|
||||
FROM wms_structattr
|
||||
WHERE deleted = 0
|
||||
GROUP BY stor_id, storagevehicle_code
|
||||
) sa ON sa.storagevehicle_code = gp.vehicle_code
|
||||
LEFT JOIN base_materialbase mb ON mb.material_id = gp.material_id AND mb.deleted = 0
|
||||
WHERE sa.stor_id = #{reqVO.storId}
|
||||
AND gp.status = '02'
|
||||
AND gp.qty - COALESCE(gp.frozen_qty, 0) > 0
|
||||
AND gp.deleted = 0
|
||||
<if test="reqVO.materialCode != null and reqVO.materialCode != ''">
|
||||
AND gp.material_code LIKE CONCAT('%', #{reqVO.materialCode}, '%')
|
||||
</if>
|
||||
<if test="reqVO.vehicleCode != null and reqVO.vehicleCode != ''">
|
||||
AND gp.vehicle_code LIKE CONCAT('%', #{reqVO.vehicleCode}, '%')
|
||||
</if>
|
||||
<if test="reqVO.pcsn != null and reqVO.pcsn != ''">
|
||||
AND gp.pcsn LIKE CONCAT('%', #{reqVO.pcsn}, '%')
|
||||
</if>
|
||||
ORDER BY gp.vehicle_code, gp.group_id
|
||||
</select>
|
||||
|
||||
<select id="selectAvailableInventoryByVehicleCodes"
|
||||
resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.AvailableInventoryRespVO">
|
||||
SELECT <include refid="availableInventoryColumns"/>
|
||||
FROM wms_group_plate gp
|
||||
INNER JOIN (
|
||||
SELECT stor_id, storagevehicle_code, MAX(stor_code) AS stor_code, MAX(stor_name) AS stor_name
|
||||
FROM wms_structattr
|
||||
WHERE deleted = 0
|
||||
GROUP BY stor_id, storagevehicle_code
|
||||
) sa ON sa.storagevehicle_code = gp.vehicle_code
|
||||
LEFT JOIN base_materialbase mb ON mb.material_id = gp.material_id AND mb.deleted = 0
|
||||
WHERE sa.stor_id = #{storId}
|
||||
AND gp.status = '02'
|
||||
AND gp.qty - COALESCE(gp.frozen_qty, 0) > 0
|
||||
AND gp.deleted = 0
|
||||
AND gp.vehicle_code IN
|
||||
<foreach collection="vehicleCodes" item="vehicleCode" open="(" separator="," close=")">
|
||||
#{vehicleCode}
|
||||
</foreach>
|
||||
ORDER BY gp.vehicle_code, gp.group_id
|
||||
</select>
|
||||
|
||||
<select id="selectAvailableInventoryByVehicleCodesForUpdate"
|
||||
resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.AvailableInventoryRespVO">
|
||||
SELECT <include refid="availableInventoryColumns"/>
|
||||
FROM wms_group_plate gp
|
||||
INNER JOIN (
|
||||
SELECT stor_id, storagevehicle_code, MAX(stor_code) AS stor_code, MAX(stor_name) AS stor_name
|
||||
FROM wms_structattr
|
||||
WHERE deleted = 0
|
||||
GROUP BY stor_id, storagevehicle_code
|
||||
) sa ON sa.storagevehicle_code = gp.vehicle_code
|
||||
LEFT JOIN base_materialbase mb ON mb.material_id = gp.material_id AND mb.deleted = 0
|
||||
WHERE sa.stor_id = #{storId}
|
||||
AND gp.status = '02'
|
||||
AND gp.qty - COALESCE(gp.frozen_qty, 0) > 0
|
||||
AND gp.deleted = 0
|
||||
AND gp.vehicle_code IN
|
||||
<foreach collection="vehicleCodes" item="vehicleCode" open="(" separator="," close=")">
|
||||
#{vehicleCode}
|
||||
</foreach>
|
||||
ORDER BY gp.vehicle_code, gp.group_id
|
||||
FOR UPDATE
|
||||
</select>
|
||||
|
||||
<select id="selectEditDetails"
|
||||
resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.IostorInvDetailRespVO">
|
||||
SELECT d.iostorinvdtl_id,
|
||||
d.seq_no,
|
||||
d.bill_status,
|
||||
d.assign_qty,
|
||||
d.unassign_qty,
|
||||
d.material_code,
|
||||
d.material_id,
|
||||
mb.material_name,
|
||||
d.pcsn,
|
||||
d.plan_qty,
|
||||
d.qty_unit_id,
|
||||
d.source_bill_code,
|
||||
d.source_bill_type,
|
||||
d.source_billdtl_id,
|
||||
d.source_load_port AS vehicle_code,
|
||||
d.remark
|
||||
FROM wms_iostorinvdtl d
|
||||
LEFT JOIN base_materialbase mb
|
||||
ON mb.material_id = d.material_id
|
||||
WHERE d.iostorinv_id = #{iostorinvId}
|
||||
ORDER BY d.seq_no, d.iostorinvdtl_id
|
||||
</select>
|
||||
|
||||
<select id="selectAllocationInventoryForUpdate"
|
||||
resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.AllocationInventoryRespVO">
|
||||
SELECT gp.group_id,
|
||||
gp.vehicle_code,
|
||||
gp.material_id,
|
||||
gp.material_code,
|
||||
gp.pcsn,
|
||||
gp.qty - COALESCE(gp.frozen_qty, 0) AS available_qty,
|
||||
gp.qty_unit_id,
|
||||
gp.qty_unit_name,
|
||||
sa.sect_id,
|
||||
sa.sect_code,
|
||||
sa.sect_name,
|
||||
sa.struct_id,
|
||||
sa.struct_code,
|
||||
sa.struct_name
|
||||
FROM wms_group_plate gp
|
||||
INNER JOIN wms_structattr sa
|
||||
ON sa.storagevehicle_code = gp.vehicle_code
|
||||
AND sa.deleted = 0
|
||||
WHERE gp.deleted = 0
|
||||
AND gp.status = '02'
|
||||
AND gp.qty - COALESCE(gp.frozen_qty, 0) > 0
|
||||
AND sa.stor_id = #{storId}
|
||||
AND (sa.lock_type IS NULL OR sa.lock_type IN ('0', '1'))
|
||||
<if test="sectId != null and sectId != ''">
|
||||
AND sa.sect_id = #{sectId}
|
||||
</if>
|
||||
AND gp.material_id = #{materialId}
|
||||
<choose>
|
||||
<when test="pcsn != null and pcsn != ''">AND gp.pcsn = #{pcsn}</when>
|
||||
<otherwise>AND (gp.pcsn IS NULL OR gp.pcsn = '')</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="sourceBillCode != null and sourceBillCode != ''">AND gp.ext_code = #{sourceBillCode}</when>
|
||||
<otherwise>AND (gp.ext_code IS NULL OR gp.ext_code = '')</otherwise>
|
||||
</choose>
|
||||
ORDER BY gp.create_time, gp.group_id
|
||||
FOR UPDATE
|
||||
</select>
|
||||
|
||||
<select id="selectManualAllocationInventory"
|
||||
resultType="cn.code.nl.module.wms.controller.admin.iostorinv.vo.AllocationInventoryRespVO">
|
||||
SELECT gp.group_id,
|
||||
gp.vehicle_code,
|
||||
gp.material_id,
|
||||
gp.material_code,
|
||||
mb.material_name,
|
||||
gp.pcsn,
|
||||
gp.qty - COALESCE(gp.frozen_qty, 0) AS available_qty,
|
||||
gp.qty_unit_id,
|
||||
gp.qty_unit_name,
|
||||
sa.sect_id,
|
||||
sa.sect_code,
|
||||
sa.sect_name,
|
||||
sa.struct_id,
|
||||
sa.struct_code,
|
||||
sa.struct_name
|
||||
FROM wms_group_plate gp
|
||||
INNER JOIN wms_structattr sa
|
||||
ON sa.storagevehicle_code = gp.vehicle_code
|
||||
AND sa.deleted = 0
|
||||
LEFT JOIN base_materialbase mb
|
||||
ON mb.material_id = gp.material_id
|
||||
AND mb.deleted = 0
|
||||
WHERE gp.deleted = 0
|
||||
AND gp.status = '02'
|
||||
AND gp.qty - COALESCE(gp.frozen_qty, 0) > 0
|
||||
AND sa.stor_id = #{storId}
|
||||
AND (sa.lock_type IS NULL OR sa.lock_type IN ('0', '1'))
|
||||
AND gp.material_id = #{materialId}
|
||||
<if test="sectId != null and sectId != ''">
|
||||
AND sa.sect_id = #{sectId}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="pcsn != null and pcsn != ''">AND gp.pcsn = #{pcsn}</when>
|
||||
<otherwise>AND (gp.pcsn IS NULL OR gp.pcsn = '')</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="sourceBillCode != null and sourceBillCode != ''">AND gp.ext_code = #{sourceBillCode}</when>
|
||||
<otherwise>AND (gp.ext_code IS NULL OR gp.ext_code = '')</otherwise>
|
||||
</choose>
|
||||
<if test="groupIds != null and !groupIds.isEmpty()">
|
||||
AND gp.group_id IN
|
||||
<foreach collection="groupIds" item="groupId" open="(" separator="," close=")">
|
||||
#{groupId}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER BY gp.vehicle_code, gp.group_id
|
||||
<if test="forUpdate">FOR UPDATE</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.moveinvdtl.MoveInvDtlMapper">
|
||||
|
||||
<select id="selectByMoveinvId"
|
||||
resultType="cn.code.nl.module.wms.dal.dataobject.moveinvdtl.MoveInvDtlDO">
|
||||
SELECT *
|
||||
FROM wms_moveinvdtl
|
||||
WHERE moveinv_id = #{moveinvId}
|
||||
ORDER BY seq_no
|
||||
</select>
|
||||
|
||||
<delete id="deleteByMoveinvId">
|
||||
DELETE FROM wms_moveinvdtl WHERE moveinv_id = #{moveinvId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.sectattr.SectAttrMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.storagevehicleext.StorageVehicleExtMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.storagevehicleinfo.StorageVehicleInfoMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,107 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.structAttr.StrucAttrMapper">
|
||||
|
||||
<select id="selectMoveAvailableInventory"
|
||||
resultType="cn.code.nl.module.wms.controller.admin.moveinv.vo.MoveInvInventoryRespVO">
|
||||
SELECT sa.struct_id,
|
||||
sa.struct_code,
|
||||
sa.struct_name,
|
||||
sa.sect_id,
|
||||
sa.sect_code,
|
||||
sa.sect_name,
|
||||
sa.stor_id,
|
||||
sa.storagevehicle_code,
|
||||
sa.layer_num,
|
||||
MAX(gp.material_code) AS material_code,
|
||||
MAX(gp.pcsn) AS pcsn,
|
||||
MAX(gp.qty_unit_id) AS qty_unit_id,
|
||||
MAX(gp.qty_unit_name) AS qty_unit_name,
|
||||
SUM(gp.qty) AS qty,
|
||||
MAX(gp.ext_code) AS source_bill_code
|
||||
FROM wms_structattr sa
|
||||
JOIN wms_group_plate gp
|
||||
ON gp.vehicle_code = sa.storagevehicle_code
|
||||
AND gp.deleted = 0
|
||||
AND gp.status = '02'
|
||||
WHERE sa.deleted = '0'
|
||||
AND sa.is_used = 1
|
||||
AND sa.lock_type = '1'
|
||||
AND sa.storagevehicle_code IS NOT NULL
|
||||
AND sa.storagevehicle_code != ''
|
||||
<if test="storId != null and storId != ''">
|
||||
AND sa.stor_id = #{storId}
|
||||
</if>
|
||||
<if test="sectId != null and sectId != ''">
|
||||
AND sa.sect_id = #{sectId}
|
||||
</if>
|
||||
<if test="vehicleCodes != null and vehicleCodes.size() > 0">
|
||||
AND sa.storagevehicle_code IN
|
||||
<foreach collection="vehicleCodes" item="code" open="(" separator="," close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
GROUP BY sa.struct_id, sa.struct_code, sa.struct_name, sa.sect_id, sa.sect_code,
|
||||
sa.sect_name, sa.stor_id, sa.storagevehicle_code, sa.layer_num
|
||||
ORDER BY sa.struct_id DESC
|
||||
</select>
|
||||
|
||||
<select id="selectMoveTargetCandidates"
|
||||
resultType="cn.code.nl.module.wms.dal.dataobject.structAttr.StrucAttrDO">
|
||||
SELECT *
|
||||
FROM wms_structattr
|
||||
WHERE deleted = '0'
|
||||
AND is_used = 1
|
||||
AND lock_type = '1'
|
||||
AND (storagevehicle_code IS NULL OR storagevehicle_code = '')
|
||||
AND stor_id = #{storId}
|
||||
AND sect_id = #{sectId}
|
||||
AND layer_num = #{layerNum}
|
||||
ORDER BY row_num, col_num, block_num, struct_id
|
||||
</select>
|
||||
|
||||
<select id="selectByStructCode"
|
||||
resultType="cn.code.nl.module.wms.dal.dataobject.structAttr.StrucAttrDO">
|
||||
SELECT *
|
||||
FROM wms_structattr
|
||||
WHERE deleted = '0'
|
||||
AND struct_code = #{structCode}
|
||||
</select>
|
||||
|
||||
<update id="lockForMoveOut">
|
||||
UPDATE wms_structattr
|
||||
SET lock_type = '4',
|
||||
inv_type = '3',
|
||||
inv_id = #{invId},
|
||||
inv_code = #{invCode}
|
||||
WHERE deleted = '0'
|
||||
AND struct_code = #{structCode}
|
||||
AND lock_type = '1'
|
||||
AND storagevehicle_code IS NOT NULL
|
||||
AND storagevehicle_code != ''
|
||||
</update>
|
||||
|
||||
<update id="lockForMoveIn">
|
||||
UPDATE wms_structattr
|
||||
SET lock_type = '5',
|
||||
inv_type = '3',
|
||||
inv_id = #{invId},
|
||||
inv_code = #{invCode}
|
||||
WHERE deleted = '0'
|
||||
AND struct_code = #{structCode}
|
||||
AND lock_type = '1'
|
||||
AND (storagevehicle_code IS NULL OR storagevehicle_code = '')
|
||||
</update>
|
||||
|
||||
<update id="unlockMoveInv">
|
||||
UPDATE wms_structattr
|
||||
SET lock_type = '1',
|
||||
inv_type = NULL,
|
||||
inv_id = NULL,
|
||||
inv_code = NULL
|
||||
WHERE deleted = '0'
|
||||
AND inv_id = #{invId}
|
||||
AND lock_type IN ('4', '5')
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.warehousestrategy.WarehouseStrategyMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?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="cn.code.nl.module.wms.dal.mysql.warehousestrategyconfig.WarehouseStrategyConfigMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user