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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
 
namespace DAL
{
    //接口类  物料
    public class ClsIF_Material_View : DBUtility.ClsGy_Base_View
    {
         //
        public Model.ClsGy_Material_Model omodel = new Model.ClsGy_Material_Model();
        public List<Model.ClsGy_Material_Model> omodelList = new List<Model.ClsGy_Material_Model>();
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        public ClsIF_Material_View()
        {
            base.MvarReportTitle = "物料设置";
            base.MvarItemKey = "h_v_IF_Material";
            base.SQLName = "Select HItemID,Hnumber 物料代码,Hname 物料名称,HModel 规格型号,HPicNo 图号,HUnitNumber 单位代码,Hunitname 计量单位,HUnitID from h_v_IF_Material where HStopflag=0 Order by HItemID ";
            base.SQLList = "Select top 50  * from " + MvarItemKey + " ";
            //下拉SQL
            base.SQLNameForDown = " Select top 30 HItemID,HNumber 物料代码,HName 物料名称,HModel 规格型号,HUnitNumber 单位代码,HUnitName  计量单位 from h_v_IF_Material  "; //,HSubjoin 图号1,HSubjoin2 图号2,HColor 颜色
            base.SQLOrderForDown = "  Order by HNumber ";
            base.SQLWhereForDown = "  where   HStopflag=0 and HEndFlag<>0 ";
            //HlpInfoForBig
            base.sBillColName = "物料名称";
            base.sBillColNumber = "物料代码";
            base.sBillShowItem = " * ";
            base.sBillView = "h_v_IF_MaterialList";
            base.sBillOrder = " order by 物料代码 desc ";
        }
        //
        public void Dispose()
        {
            GC.SuppressFinalize(this);
        }
        //
         
        //返回项目信息
        public override bool GetInfoByID(Int64 sItemID)
        {
            DataSet DS ;
            try
            {
                DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HItemID='" + sItemID + "'", MvarItemKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count  == 0)
                    return false;
                else
                {
                    return GetInfo(DS);
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
 
        //根据代码返回项目信息
        public override bool GetInfoByNumber(string sNumber)
        {
            DataSet DS;
            try
            {
                DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HNumber='" + sNumber + "' and HUSEORGID="+ DBUtility.ClsPub.HOrgID, MvarItemKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count == 0)
                    return false;
                else
                {
                    return GetInfo(DS);
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
 
        //根据代码返回项目信息
        public bool GetInfoByShortNum(string sShortNum)
        {
            DataSet DS;
            try
            {
                DS = oCn.RunProcReturn("Select * from h_v_IF_Material Where HShortNumber='" + sShortNum + "'", MvarItemKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count == 0)
                    return false;
                else
                {
                    return GetInfo(DS);
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
 
        //根据代码返回项目信息
        public bool GetInfoByPicNo(string sPicNo)
        {
            DataSet DS;
            try
            {
                DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HPicNo='" + sPicNo + "'", MvarItemKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count == 0)
                    return false;
                else
                {
                    return GetInfo(DS);
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
 
        //得到该物料库存
        public bool GetStockQty(Int64 HMaterID, ref string s)
        {
            try
            {
                DataSet DS;
                DS = oCn.RunProcReturn("exec h_p_IF_GetMaterStockQty  " + HMaterID.ToString() + ",0", "h_p_IF_GetMaterStockQty");
                if (DS.Tables[0].Rows.Count == 0)
                    return false;
                else
                {
                    s = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["sSQL"]);
                    return true;
                }
            }
            catch (Exception e)
            {
                return false;
            }
        }
 
        //返回项目信息
        public override bool GetInfo(DataSet DS)
        {
            try
            {
                omodel = new Model.ClsGy_Material_Model();
                omodel.HItemID = Convert.ToInt64(DS.Tables[0].Rows[0]["HItemID"]);
                omodel.HNumber = DS.Tables[0].Rows[0]["HNumber"].ToString().Trim();
                omodel.HName = DS.Tables[0].Rows[0]["HName"].ToString().Trim();
                omodel.HModel = DS.Tables[0].Rows[0]["HModel"].ToString().Trim();
                omodel.HUnitID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HUnitID"]);
                omodel.HUnitNumber = DS.Tables[0].Rows[0]["HUnitNumber"].ToString().Trim();
                omodel.HUnitName = DS.Tables[0].Rows[0]["HUnitName"].ToString().Trim();
                omodel.HShortNumber = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HShortNumber"]);
                omodel.HParentID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HParentID"]);
                omodel.HLevel = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HLevel"]);
                omodel.HEndFlag = DBUtility.ClsPub.isBool(DS.Tables[0].Rows[0]["HEndFlag"]);
                omodel.HStopflag = DBUtility.ClsPub.isBool(DS.Tables[0].Rows[0]["HStopflag"]);
                omodel.HBarCode = DS.Tables[0].Rows[0]["HBarCode"].ToString().Trim();
                omodel.HPicNo = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HPicNo"]);
                omodel.HRemark = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
                omodel.HQtyMin = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HMinPickQty"]);
                return true;
 
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
 
        //帮助
        public override bool RefreshView()
        {
            try
            {//
                Pub_Control.frmHlpInfo ofrm = new Pub_Control.frmHlpInfo();
                //
                string sSQL = SQLName;
                //编辑ofrm
                ofrm.sTitle = MvarReportTitle;
                ofrm.sBill = "h_v_IF_Material";
                ofrm.txtFindInfo.Text = WherePart;
                //编辑 
                ofrm.grdShow.RowTemplate.Height = 20;
                ofrm.ShowDialog();
                //得到对应列  
                //
                if (ofrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
                {
                    if (ofrm.grdShow.CurrentRow == null)
                    {
                        return false;
                    }
                    this.omodel.HItemID = Pub_Class.ClsPub.isLong(ofrm.grdShow.Rows[ofrm.grdShow.CurrentRow.Index].Cells[0].Value);
                    this.omodel.HNumber = DBUtility.ClsPub.isStrNull(ofrm.grdShow.Rows[ofrm.grdShow.CurrentRow.Index].Cells[1].Value);
                    this.omodel.HName = DBUtility.ClsPub.isStrNull(ofrm.grdShow.Rows[ofrm.grdShow.CurrentRow.Index].Cells[2].Value);
                    this.omodel.HModel = DBUtility.ClsPub.isStrNull(ofrm.grdShow.Rows[ofrm.grdShow.CurrentRow.Index].Cells[3].Value);
                    this.omodel.HUnitID = DBUtility.ClsPub.isLong(ofrm.grdShow.Rows[ofrm.grdShow.CurrentRow.Index].Cells[6].Value.ToString());
                    this.omodel.HUnitNumber = DBUtility.ClsPub.isStrNull(ofrm.grdShow.Rows[ofrm.grdShow.CurrentRow.Index].Cells[4].Value);
                    this.omodel.HUnitName = DBUtility.ClsPub.isStrNull(ofrm.grdShow.Rows[ofrm.grdShow.CurrentRow.Index].Cells[5].Value);
                }
                else
                {
                    return false;
                }
                //
                ofrm.Dispose();
                ofrm = null;
                //
                return true;
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
 
 
        //审核代码合理性
        public  bool AllowNumber(string sCode)
        {
            sCode = sCode.Trim();
            if (sCode == "")
            {
                return true;
            }
            ////第末位不能为【.】
            //if (sCode.Substring(sCode.Length - 1, 1) == ".")
            //{
            //    return false;
            //}
            ////第一位不能为【.】
            //if (sCode.Substring(0, 1) == ".")
            //{
            //    return false;
            //}
            //不能包含【.】
            if (sCode.Contains("."))
            {
                return false;
            }
            return true;
        }
 
        //根据代码返回项目信息 根据图号
        public bool GetInfoByChartNum(string sShortNum)
        {
            DataSet DS;
            try
            {
                //如果存在【.】则替换为【。】
                sShortNum = sShortNum.Replace(Convert.ToChar("."), Convert.ToChar("。"));
                DS = oCn.RunProcReturn("Select HItemID,HNumber,Hname,HModel,HUnitID,HUnitNumber,HUnitName,HErpclsID,HParentID,HPicNo,HShortNumber,HUnitGroupID,HRemark from h_v_IF_Material Where HStopflag=0 and HPicNo='" + sShortNum + "'", MvarItemKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count == 0 || DS.Tables[0].Rows.Count >=2) //必须是唯一的图号
                    return false;
                else
                {
                    return GetInfo(DS);
 
                    //omodel.HItemID = Convert.ToInt64(DS.Tables[0].Rows[0]["HItemID"]);
                    //omodel.HNumber = DS.Tables[0].Rows[0]["HNumber"].ToString().Trim();
                    //omodel.HName = DS.Tables[0].Rows[0]["Hname"].ToString().Trim();
                    //omodel.HModel = DS.Tables[0].Rows[0]["HModel"].ToString().Trim();
                    //omodel.HUnitID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HUnitID"]);
                    //omodel.HUnitNumber = DS.Tables[0].Rows[0]["HUnitNumber"].ToString().Trim();
                    //omodel.HUnitName = DS.Tables[0].Rows[0]["HUnitName"].ToString().Trim();
                    //omodel.HErpclsID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HErpclsID"]);
                    //omodel.HParentID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HParentID"]);
                    //omodel.HPicNo = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HPicNo"]);
                    //omodel.HShortNumber = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HShortNumber"]);
                    //omodel.HUnitGroupID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HUnitGroupID"]);
                    //omodel.HRemark = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
 
    }
}