Jianw
2025-05-14 29f8b36ebb718d2051bf0e7e701973ec4419ee80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
--[[
    编码: WMS-16-07
    名称: 盘点单-查询面板-盘点类型变化
    作者:HAN  
    日期:2025-1-29
 
    级别:固定 (说明本段代码在项目中不太会变化)
    
    函数: StockCheckTypeChange
 
    功能:
        -- 盘点类型选择变化后,查询输入面板的一些输入控件需要变化
 
    更改记录:
        V2.0 HAN 20250212
             -- 增加了一种盘点类型 “容器盘点”
--]]
 
wms_base = require("wms_base")
 
function StockCheckTypeChange(strLuaDEID)
    local nRet, strRetInfo
    local check_type
 
    -- 获取盘点类型
    nRet, check_type = m3.GetSysCurEditDataOneAttr(strLuaDEID, "N_TYPE")
    if (nRet ~= 0) then
        lua.Error(strLuaDEID, debug.getinfo(1), "GetSysCurEditDataOneAttr失败! " .. check_type)
    end
 
    local action_list = {}
    local action = {}
    local value = {}
    local query_cls_id = ""
 
    action.action_type = "set_dlg_attr_show"
    if (lua.StrToNumber(check_type) == wms_base.Get_nConst(strLuaDEID, "盘点类型-货品盘点")) then
        -- 货品盘点:显示物料相关控件,隐藏货位和容器相关控件
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_Location"
        ctrl_attr.show = false
        value[1] = ctrl_attr
 
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_Material"
        ctrl_attr.show = true
        value[2] = ctrl_attr
 
        -- V2.0
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_cntr_code"
        ctrl_attr.show = false
        value[3] = ctrl_attr
 
        query_cls_id = "WH_Inventory"
 
    elseif (lua.StrToNumber(check_type) == wms_base.Get_nConst(strLuaDEID, "盘点类型-货位盘点")) then
        -- 货位盘点:显示货位相关控件,隐藏物料和容器相关控件
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_Location"
        ctrl_attr.show = true
        value[1] = ctrl_attr
 
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_Material"
        ctrl_attr.show = false
        value[2] = ctrl_attr
        --V2.0
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_cntr_code"
        ctrl_attr.show = false
        value[3] = ctrl_attr
 
        query_cls_id = "Location"
    -- V2.0
    else
        -- 容器盘点:显示容器相关控件,隐藏物料和货位相关控件
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_Location"
        ctrl_attr.show = false
        value[1] = ctrl_attr
 
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_Material"
        ctrl_attr.show = false
        value[2] = ctrl_attr
 
        local ctrl_attr = {}
        ctrl_attr.attr = "Layout_cntr_code"
        ctrl_attr.show = true
        value[3] = ctrl_attr
 
        query_cls_id = "Container"
    end
 
    action.value = value
    action_list[1] = action
 
    -- 设置查询面板
    local action = {}
    local value = {}
    action.action_type = "set_query_panel"
    value.cls_id = query_cls_id
    action.value = value
    action_list[2] = action
 
    -- 类型变动后把仓库库区输入框内容清空
    local action = {
        action_type = "set_dlg_attr",
        value = {
            { attr = "S_WH_CODE", value = "" },
            { attr = "S_AREA_CODE", value = "" }            
        }
    }
    action_list[3] = action
 
    -- 执行动作
    nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action_list))
    if (nRet ~= 0) then
        lua.Error(strLuaDEID, debug.getinfo(1), "setAction失败! " .. strRetInfo .. " action = " .. lua.table2str(action_list))
    end
end