lzh
2025-06-24 13c4a636539584ab977fddacfae884b3ec250aee
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
ÿþ--[[
    x: WMS-19-07
     Tðy: ¹[hV'ÁTfÆ~-xØv-agx“eQT
    \O€ÿLZH
    åegÿ2024-3-26
 
    §~+RÿúVš[ (ô‹f,gµkãNx(Wy˜îv-N N*YOØSS)
 
    ýQpeÿ NewAfterQRCodeInput
 
    ŸRý€:
        -- (WxØvLub— ÿ“eQagx/kbxT ÿ—‰Çagx·ƒÖS 'ÁT„váOo`
        -- èl: ,gãNx9hnc °etQy˜îv \O:NŸS‹W_ÑS ÿ›OvQƒ[y˜îvÂS€
        --     °etQy˜îv/fÎN
N¶gUSfÆ~-N·ƒÖS/f&T    gå‹agx„v'ÁT,kbÏc„vŒNô~x/f yb!k+wS÷S /fN*N/UN÷S
               (W0
N¶gUSfÆ~0-N/f S_SERIAL_NO §NÁT^R÷S
--]]
 
require("WMS-BASE")
 
function NewAfterQRCodeInput (strLuaDEID)
    local nRet, strRetInfo
    local attrs
 
    -- step1  ·ƒÖS5600xØvLub—-Nhˆ4YLub—„v“eQ„vagx
    nRet, attrs = GetSysInputParameter(strLuaDEID)
    if (nRet ~= 0) then
        Error(strLuaDEID, debug.getinfo(1), "·ƒÖSS_MR“eQb—g̑„v^\'`1Y%! " .. attrs)
    end
    local input_attr = KeyValueAttrsToObjAttr(attrs)
    local qr_code = input_attr.QRCode
    if (qr_code == nil or qr_code == '') then
        return
    end
 
    -- step2 Ç§NÁT/UNxågâ‹0¹[hV'ÁTfÆ~0/f&TŒTXbØvò]Ñ~š[ ÿÑ~š[RÐc:y ÿ*gÑ~š[Rûm R
    -- èl:  Nb—„vågâ‹agöNïSý€ N Ty˜îvO    g@b N T
    local strCondition = "S_SERIAL_NO = '" .. qr_code .. "'"
    local nRet, id, putaway_detail = mobox.getDataObjAttrByKeyAttr(strLuaDEID, "CG_Detail", strCondition)
    if (nRet == 0) then
        -- MRïz>f:yáOo`
        mobox.setInfo(strLuaDEID, "0¹[hV'ÁTfÆ~0-Nò]X[(Wán³îvMRagxagöN„v°‹U_!")
        return
    end
 
    -- ¡‹—{úQïSåNÑ~š[„vpeϑ
    --local total_qty = putaway_detail.qty
    --local alloc_qty = putaway_detail.alloc_qty
    --local acc_c_qty = putaway_detail.acc_c_qty
    --local acc_b_qty = putaway_detail.acc_b_qty
    -- ïSåNÑ~š[„vpeϑ = ;`peϑ - RM‘Ï‘ - ÖSˆmpeϑ - ò]Ï~Ñ~š[peϑ
    --local qty = total_qty - alloc_qty - acc_c_qty - acc_b_qty
 
    --if (qty <= 0) then
        -- MRïz>f:yáOo`
    --    mobox.setInfo(strLuaDEID, "Ñ~š[peϑò]án!")
    --    return
    --end
 
    -- Ä~Ç~ ¹[hV'ÁTfÆ~ pencù[aŒ^\'` -- Ù*N ReQ0R ck(WxØv 
    -- èl:  Nb—„vågâ‹agöNïSý€ N Ty˜îvO    g@b N T
    -- ¾‹náOo`
    local attr_array = {}
    local attrs_array = {}
    local insert_row = {}
    local strCondition = "S_SERIAL_NO = '" .. qr_code .. "'"
    nRet, strRetInfo = QueryDataObject(strLuaDEID,"Putaway_Detail", strCondition)
    if(nRet ~= 0) then
        attr_array[2] = KeyValueObj("S_ITEM_CODE", "81201")
        attr_array[3] = KeyValueObj("S_ITEM_NAME", "Éhˆ”Ç~^")
        attr_array[4] = KeyValueObj("S_SERIAL_NO",qr_code )
        attr_array[10] = KeyValueObj("F_QTY", 1)
    else 
        local attrs = strRetInfo[1].attrs
        local data_object_lua = KeyValueAttrsToObjAttr(attrs)
        Debug(strLuaDEID, debug.getinfo(1), "data_object_lua", data_object_lua)
        attr_array[1] = KeyValueObj("S_PUTAWAY_NO", data_object_lua.S_PUTAWAY_NO)
        attr_array[2] = KeyValueObj("S_ITEM_CODE", data_object_lua.S_ITEM_CODE)
        attr_array[3] = KeyValueObj("S_ITEM_NAME", data_object_lua.S_ITEM_NAME)
        attr_array[4] = KeyValueObj("S_SERIAL_NO",qr_code )
        attr_array[5] = KeyValueObj("S_BS_NO", data_object_lua.S_BS_NO)
        attr_array[6] = KeyValueObj("F_NET_WEIGHT", data_object_lua.F_NET_WEIGHT)
        attr_array[7] = KeyValueObj("F_GROSS_WEIGHT", data_object_lua.F_GROSS_WEIGHT)
        attr_array[8] = KeyValueObj("S_WU", data_object_lua.S_WU)
        attr_array[9] = KeyValueObj("S_UOM", data_object_lua.S_UOM)
        attr_array[10] = KeyValueObj("F_QTY", data_object_lua.F_QTY)
    end
    
    
    attrs_array.attrs = attr_array
    insert_row[1] = attrs_array
 
    Debug(strLuaDEID, debug.getinfo(1), "·ƒÖS0R„v¹[hV'ÁTfÆ~áOo`:", insert_row)
 
    local strDataJson = '{"page_name":"ck(WxØv","clear":true,"content":' .. table2str(insert_row) .. '}'
    local strAction = '[{"action_type":"set_subtable_page_content","value":' .. strDataJson .. '}]'
 
    Debug(strLuaDEID, debug.getinfo(1), "u˜b—áOo`¾‹nMR:", strAction)
 
    -- ¾‹naction
    nRet, strRetInfo = mobox.setAction(strLuaDEID, strAction)
    if (nRet ~= 0) then
        Error(strLuaDEID, debug.getinfo(1), "setAction1Y%! " .. strRetInfo .. ' action = ' .. table2str(action))
    end
end