白玉兰
ERP
立库系统
概述
成品入库流程
在立库门口有挂墙触摸屏,扫描货架号+货架上的多个细码单(一个货架可以有多个细码单,即存放了多规格多颜色的成品)进行绑定,然后操作进入立库
发货流程
- 在
成品管理 > 成品库存明细表中通过工具栏按钮生成预发货单 - 在
预发货单序时表打开单据后通过工具栏按钮生成发货单,同时,以前的在成品发货中直接生成发货单功能仍可用
生成预发货单流程
- 在
成品库存明细表多选库存生成预发货单,请求pallet/selectLikushelves,后台查询state=3的货架记录并返回数组 - 如后台有返回货架记录数组,则请求
sw/ceshi01写日志,记录发送给立库系统的货架号 - 异步请求立库
http://192.168.1.251:8083/BYL/PostPalletGetOutPackInfo,传入的参数同上面步骤2。即发送立库后台系统出库任务,指定出库的货架号 - 异步请求
cpmainpre/insertmainPre.do生成预发货单,生成过程中会设置货架号state = 1,表示空闲可用
发货人到立库执行发货时手动点击要出库的任务,出指定的货架号。
绑定托盘号细码单
托盘(清单表 pallet)在入库立库之前必须先扫描托盘号条码+细码单条码进行绑定后才可以入立库,一个托盘号可以绑定多个细码单,绑定数据表示 g_jrktolk_log(图片每次状态变更都会写入日志表 pallet_state_change_log)
托盘出库后会清除 g_jrkbill.shelves ,即解除细码单和托盘号的绑定关系
2024年10月26日 在厂里服务器上制作了下面存储过程通过 g_jrktolk_log.jrkcode 查询获取对应的计划单
# MYSQL
DROP PROCEDURE IF EXISTS `usp_lkGetPlan8Jrkcode`;
delimiter $
# 下面的 `root`@`%`表示允许任意机器上通过用户root使用本存储过程
CREATE DEFINER=`root`@`%` PROCEDURE `usp_lkGetPlan8Jrkcode`(IN jrkcode INT)
BEGIN
# 2024年10月26日 16:05:27
# 传入参数 jrkcode = g_jrktolk_log.jrkcode
# 查询获取对应的计划单
set @planId = (select B_ID from g_jrkbill where B_JRKBillDraftID=jrkcode);# 2024-10-25 08:47:25
select * from plan where id=@planId;
END;$
计划单
染色计划单要素的字段对应: 定型描述:B_Desc01
- 缸号规则 例如
R14123456,R表示染色,1表示染色,4表示2024年,后面的6位是自增数字,所以白玉兰的缸号日期上只到年份,没有月份。2024年12月24日 09:39:19查看ERP数据,如果填充到月份则4位自增数字不够用。
删除成品入库数据
-- 将2020年5月27日测试的成品数据(生成了发货单还没发货)
-- 转存临时表,下面的表a是成品入库单的主键和外键(外键对应G_JRKBill.B_ItemID)
select a.B_ItemID,a.B_BelongItemID
into delcp2020年5月28日
from
(
select B_ItemID,B_BelongItemID -- 下面括号里是成品入库单主键
from g_billdetailcp where b_id in (439582,439583,439586,439600)
) a
left outer join G_BillDetailCP b
on a.B_ItemID = b.B_BelongItemID
where b.B_BelongItemID is null
-- 删除入库数据
delete from g_billdetailcp where B_ItemID in
(
select B_ItemID from delcp2020年5月28日
)
-- 删除库存数据(成品打卷数据)
delete from G_JRKBill where b_itemid in
(
select B_BelongItemID from delcp2020年5月28日
)
--查询获取所有没有明细数据的成品表中的主表数据
select a.B_ID,b.B_Count
from g_billcp a
left outer join (
select b_id,count(*) as B_Count from g_billdetailcp
group by b_id
) b
on a.B_ID = b.B_ID
where isnull(b.B_Count,0)=0
单价表中添加工序
insert into [G_CJProcessCraftD]
(B_CraftD,B_ProcessName,B_Order,B_Price)
select distinct B_CraftD,'六连轧',110,0
from [dbo].[G_CJProcessCraftD]
流量计
流量计电脑长期连接公网和ERP不在一个局域网,所以在本机部署了 Java 环境和项目 flux_trans 2021年10月13日 14:16:50 检查流量计触摸屏本身没有执行任何 java ,数据传输用后台服务 flux_trans 运行在服务器 lenovo-byl 上,运行端口号7071,映射到云端的端口号是 11106。通过 WinSW.NET 执行了外部配置文件
工序产量表
工程报表对象编号是 130122 ,使用的存储过程是 P_GetProcessCL。表 G_JRKBill 中保存打卷的明细数据,该表的触发器 usp_TriUsp_UpdateDepartment 在新增之后会参照表 G_CNConvertor 中的配置向 G_JRKBill 的字段 B_Department 中写入是否是宝宝绒车间,工序产量表中查询打卷数据表该字段如果是宝宝绒则在前端显示为宝宝绒车间打卷产量
服务器
2024年9月20日 16:24:05 制作了开机启动 GoReplay 的批处理工具,开启后监听立库系统发送给ERP的请求记录到日志文件 c:\windows\GoReplay 下
