using Common; using Model; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Text; namespace BLL { public class DALErpIn : IDALErpIn { public IList GetList() { try { IList ls = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("Select RoleName from Roles where IsDel !=1"); IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql); ls = ModelConvertHelper.DataReaderToModel(dt); return ls; } catch { throw new NotImplementedException(); } } public IList GetList(AjaxErpInList Json, ref PageInfo page) { try { IList list = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT DISTINCT guid,OrdNo,BatchNo,BatchDemo,Statu,CompletionTime,CreateUser,CreateTime,"); strSql.Append($"UpdateUser,UpdateTime,Demo FROM View_ErpIn where 1=1 and DepartGuid='{Json.DepartGuid}' "); List para = new List(); if (!string.IsNullOrEmpty(Json.OrdNo)) { strSql.Append($"and OrdNo like '%{Json.OrdNo}%' "); //para.Add(new SqlParam("@OrdNo", Json.OrdNo)); } if (!string.IsNullOrEmpty(Json.Statu)) { strSql.Append($"and StatuCode= '{Json.Statu}' "); //para.Add(new SqlParam("@Statu", Json.Statu)); } if (!string.IsNullOrEmpty(Json.BatchNo)) { strSql.Append($"and BatchNo like '%{Json.BatchNo}%' "); //para.Add(new SqlParam("@BatchNo", Json.BatchNo)); } if (!string.IsNullOrEmpty(Json.BatchDemo)) { strSql.Append($"and BatchDemo like '%{Json.BatchDemo}%' "); //para.Add(new SqlParam("@BatchDemo", Json.BatchDemo)); } if (!string.IsNullOrEmpty(Json.DepartGuid)) // 部门 { strSql.Append($"and DepartGuid= '{Json.DepartGuid}' "); //para.Add(new SqlParam("@DepartGuid", Json.DepartGuid)); } // 根据物料属性检索入库单 if (!string.IsNullOrEmpty(Json.MatNo)) { strSql.Append($"and MatNo like '%{Json.MatNo}%' "); //para.Add(new SqlParam("@MatNo", Json.MatNo)); } if (!string.IsNullOrEmpty(Json.MatName)) { strSql.Append($"and MatName like '%{Json.MatName}%' "); //para.Add(new SqlParam("@MatName", Json.MatName)); } if (!string.IsNullOrEmpty(Json.LingNo)) { strSql.Append($"and LingNo like '%{Json.LingNo}%' "); //para.Add(new SqlParam("@LingNo", Json.LingNo)); } if (!string.IsNullOrEmpty(Json.TuNo)) { strSql.Append($"and TuNo like '%{Json.TuNo}%' "); //para.Add(new SqlParam("@TuNo", Json.TuNo)); } if (Json.BeginTime != DateTime.MinValue && Json.BeginTime != null && Json.BeginTime != DateTime.MaxValue) { strSql.Append("and CreateTime >= @CreateTime1 "); para.Add(new SqlParam("@CreateTime1", Convert.ToDateTime(Json.BeginTime).ToShortDateString())); } if (Json.EndTime != DateTime.MinValue && Json.EndTime != null && Json.EndTime != DateTime.MaxValue) { strSql.Append("and CreateTime <= @CreateTime2 "); para.Add(new SqlParam("@CreateTime2", Convert.ToDateTime(Json.EndTime).ToShortDateString() + " 23:59:59.999")); } SqlParam[] param = null; if (para != null) { param = para.ToArray(); } DataTable dt = DataFactory.SqlDataBase().GetPageList(strSql.ToString(), param, "CreateTime", "desc", ref page); return list = ModelConvertHelper.DataTableToModel(dt); } catch (Exception ex) { throw ex; } } public Erp GetModel(string OrdNo) { try { Erp us = null; StringBuilder strSql = new StringBuilder(); strSql.Append(" Select * from View_ErpIn where OrdNo = @OrdNo;"); SqlParam[] para = new SqlParam[] { new SqlParam("@OrdNo", OrdNo), }; IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql, para); us = ModelConvertHelper.ReaderToModel(dt); return us; } catch (Exception ex) { throw ex; } } public ErpIn GetModel(string OrdNo, ref IList erpMats) { try { ErpIn us = null; StringBuilder strSql = new StringBuilder(); strSql.Append(" Select * from View_ErpIn where "); strSql.Append("OrdNo = @OrdNo "); //strSql.Append("and IsDel != 1"); SqlParam[] para = new SqlParam[] { new SqlParam("@OrdNo", OrdNo), }; IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql, para); us = ModelConvertHelper.ReaderToModel(dt); IDALErpInDetail erpInDetail = new DALErpInDetail(); erpMats = erpInDetail.GetList(OrdNo); return us; } catch { throw new NotImplementedException(); } } public bool Add(Erp model, List Mats) { bool bl = false; try { // 获取入库单号 string ordNo = GetOrdNo(); if (ordNo != "") { model.OrdNo = ordNo; // 保存入库表 Hashtable ht = new Hashtable(); ht.Add("OrdNo", "'" + model.OrdNo + "'"); ht.Add("Statu", "'" + model.Statu + "'"); ht.Add("BatchNo", "'" + model.BatchNo + "'"); ht.Add("BatchDemo", "'" + model.BatchDemo + "'"); ht.Add("DepartGuid", "'" + model.DepartGuid + "'"); ht.Add("Demo", "'" + model.Demo + "'"); ht.Add("CreateUser", "'" + model.CreateUser + "'"); int rowCount = DataFactory.SqlDataBase().InsertByHashtableNullParam("Erp_In", ht); if (rowCount == 1) { // 保存入库明细表 foreach (ErpDetails detail in Mats) { Hashtable htitems = new Hashtable(); htitems.Add("OrdNo", "'" + model.OrdNo + "'"); htitems.Add("MatNo", "'" + detail.MatGuid + "'"); htitems.Add("DepartGuid", "'" + model.DepartGuid + "'"); htitems.Add("PlanQuant", "'" + detail.PlanQuant + "'"); htitems.Add("CurQuant", "'" + detail.CurQuant + "'"); htitems.Add("LingNo", "'" + detail.LingNo + "'"); htitems.Add("TuNo", "'" + detail.TuNo + "'"); htitems.Add("PageNo", "'" + detail.PageNo + "'"); htitems.Add("Certificate", "'" + detail.Certificate + "'"); htitems.Add("Demo", "'" + detail.DetailDemo + "'"); htitems.Add("CreateUser", "'" + model.CreateUser + "'"); htitems.Add("BatchNo", "'" + detail.BatchNo + "'"); htitems.Add("BatchDemo", "'" + detail.BatchDemo + "'"); DataFactory.SqlDataBase().InsertByHashtableNullParam("ErpInDetail", htitems); } bl = true; } else { bl = false; } } return bl; } catch (Exception ex) { throw ex; } } public bool Update(Erp model, List Mats) { bool result = false; try { // 保存入库单 Hashtable ht = new Hashtable(); ht.Add("BatchNo", "'" + model.BatchNo + "'"); ht.Add("BatchDemo", "'" + model.BatchDemo + "'"); ht.Add("Demo", "'" + model.Demo + "'"); ht.Add("UpdateTime", "getdate()"); ht.Add("UpdateUser", "'" + model.CreateUser + "'"); string OrdNo = "'" + model.OrdNo + "'"; int rowCount = DataFactory.SqlDataBase().UpdateByHashtable("Erp_In", nameof(model.OrdNo), OrdNo, ht); // 保存入库单明细 if (rowCount == 1) { foreach (ErpDetails detail in Mats) { Hashtable htitems = new Hashtable(); if (string.IsNullOrEmpty(detail.guid)) { htitems.Add("OrdNo", "'" + model.OrdNo + "'"); htitems.Add("MatNo", "'" + detail.MatGuid + "'"); htitems.Add("DepartGuid", "'" + model.DepartGuid + "'"); htitems.Add("PlanQuant", "'" + detail.PlanQuant + "'"); htitems.Add("CurQuant", "'" + detail.CurQuant + "'"); htitems.Add("LingNo", "'" + detail.LingNo + "'"); htitems.Add("TuNo", "'" + detail.TuNo + "'"); htitems.Add("PageNo", "'" + detail.PageNo + "'"); htitems.Add("Certificate", "'" + detail.Certificate + "'"); htitems.Add("Demo", "'" + detail.DetailDemo + "'"); htitems.Add("CreateUser", "'" + detail.CreateUser + "'"); htitems.Add("BatchNo", "'" + detail.BatchNo + "'"); htitems.Add("BatchDemo", "'" + detail.BatchDemo + "'"); DataFactory.SqlDataBase().InsertByHashtableNullParam("ErpInDetail", htitems); } else { htitems.Add("PlanQuant", "'" + detail.PlanQuant + "'"); htitems.Add("CurQuant", "'" + detail.CurQuant + "'"); htitems.Add("LingNo", "'" + detail.LingNo + "'"); htitems.Add("TuNo", "'" + detail.TuNo + "'"); htitems.Add("PageNo", "'" + detail.PageNo + "'"); htitems.Add("Certificate", "'" + detail.Certificate + "'"); htitems.Add("Demo", "'" + detail.DetailDemo + "'"); htitems.Add("UpdateTime", "getdate()"); htitems.Add("UpdateUser", "'" + detail.CreateUser + "'"); htitems.Add("BatchNo", "'" + detail.BatchNo + "'"); htitems.Add("BatchDemo", "'" + detail.BatchDemo + "'"); string guid = "'" + detail.guid + "'"; DataFactory.SqlDataBase().UpdateByHashtable("ErpInDetail", nameof(model.guid), guid, htitems); } } result = true; } return result; } catch (Exception ex) { throw ex; } } public void DelOrdDetail(string guid) { try { if (!string.IsNullOrEmpty(guid)) { DataFactory.SqlDataBase().DeleteData("ErpInDetail", "guid", guid); } } catch (Exception ex) { throw ex; } } public ErpDetails GetMatNo(string matNo) { try { StringBuilder strSql = new StringBuilder(); strSql.Append("select guid as matGuid,MatNo,MatName,MatType "); strSql.Append("from view_Material where IsDel = '0' and MatNo = '" + matNo + "';"); IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql); IList matLists = new List(); matLists = ModelConvertHelper.DataReaderToModel(dt); return matLists[0]; } catch (Exception ex) { throw ex; } } public bool UpdateAudit(string[] OrdNo, string AuditFlag, string User) { bool result = false; try { Hashtable ht = new Hashtable(); ht["AuditFlag"] = string.IsNullOrEmpty(AuditFlag) ? "'AD01'" : "'" + AuditFlag + "'"; // ht["Statu"] = "'ER02'"; ht["AuditUser"] = string.IsNullOrEmpty(User) ? "''" : "'" + User + "'"; ; ht["AuditTime"] = "getdate()"; int _ret = DataFactory.SqlDataBase().UpdateByHashtableA("Erp_In", nameof(OrdNo), OrdNo, ht); if (_ret == 1) result = true; return result; } catch { return result; } } public bool UpdateClose(string[] OrdNo, string Statu) { bool result = false; try { Hashtable ht = new Hashtable(); ht["Statu"] = "'" + Statu + "'"; ht["COMDAT"] = "getDate()"; int dt = DataFactory.SqlDataBase().IsExist("Erp_In", "OrdNo", OrdNo); if (dt >= OrdNo.Length) { int _ret = DataFactory.SqlDataBase().UpdateByHashtable("Erp_In", "OrdNo", OrdNo, ht); if (_ret >= OrdNo.Length) result = true; } return result; } catch { return result; } } public bool IsExist(string name, string value) { bool result = false; try { string[] para = new string[] { value }; int dt = DataFactory.SqlDataBase().IsExist("ErpIn", name, para); if (dt > 0) result = true; return result; } catch { return result; } } public DataTable GetDataTable(string[] strWhere) { DataTable dt = null; try { int index = 0; string str = "@RoleNum" + index; SqlParam[] param = new SqlParam[strWhere.Length]; StringBuilder sql = new StringBuilder(); sql.Append("Select RoleNum as 角色编号, RoleName as 角色名,CreatUser as 创建人,CreatTime as 创建时间,UpdateUser as 更新人,UpdateTime as 更新时间,Demo as 备注 FROM View_GetRoles where RoleNum in ("); for (int i = 0; i < param.Length - 1; i++) { string obj2 = strWhere[i]; str = "@RoleNum" + index; sql.Append(str).Append(","); param[index] = new SqlParam(str, obj2); index++; } str = "@RoleNum" + index; sql.Append(str); param[index] = new SqlParam(str, strWhere[index]); sql.Append(")"); dt = DataFactory.SqlDataBase().GetDataTableBySQL(sql, param, ""); return dt; } catch { throw new NotImplementedException(); } } public bool BatchDelete(string[] OrdNo) { bool result = false; try { Hashtable ht = new Hashtable(); ht["Statu"] = "01"; int dt = DataFactory.SqlDataBase().IsExist("Erp_In", "OrdNo", OrdNo, ht); if (dt >= OrdNo.Length) { int _ret = DataFactory.SqlDataBase().BatchDeleteData("Erp_In", "OrdNo", OrdNo); if (_ret >= OrdNo.Length) { int dt1 = DataFactory.SqlDataBase().IsExist("ErpInDetail", "OrdNo", OrdNo); if (dt1 > 0) { int _ret1 = DataFactory.SqlDataBase().BatchDeleteData("ErpInDetail", "OrdNo", OrdNo); if (_ret1 >= dt1) result = true; } } } return result; } catch { return result; } } public bool DeleteOrdNo(string[] OrdNo) { try { bool bl = false; Hashtable ht = new Hashtable(); ht.Add("Statu", "01"); int rowCount = DataFactory.SqlDataBase().IsExist("Erp_In", "OrdNo", OrdNo, ht); if (rowCount >= OrdNo.Length) { StringBuilder sbStr = new StringBuilder(); sbStr.Append("Update Erp_In set IsDel = '1' where OrdNo='" + OrdNo[0] + "';"); sbStr.Append("Update ErpInDetail set IsDel = '1' where OrdNo='" + OrdNo[0] + "';"); int rowNum = DataFactory.SqlDataBase().ExecuteBySql(sbStr); if (rowNum > 0) { bl = true; } } return bl; } catch (Exception ex) { throw ex; } } public DataSet GetPrintData(string OrdNo) { DataSet ds = new DataSet(); ; try { StringBuilder strSql = new StringBuilder(); strSql.Append(" Select DISTINCT Ordno,BatchNo,BatchDemo,Demo,CreateTime,CreateUser "); strSql.Append("from View_ErpIn where OrdNo = @OrdNo "); SqlParam[] para = new SqlParam[] { new SqlParam("@OrdNo", OrdNo), }; DataTable dt = DataFactory.SqlDataBase().GetDataTableBySQL(strSql, para, "table1"); if (dt != null) ds.Tables.Add(dt); DALErpInDetail purDetail = new DALErpInDetail(); DataTable dts = purDetail.GetPrintData(OrdNo); if (dts != null) ds.Tables.Add(dts); return ds; } catch { return null; } } /// /// 订单状态查询 /// /// public IList GetErpStatuList() { try { IList ls = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("Select StatuNo,StatuName from ErpStatu "); IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql); ls = ModelConvertHelper.DataReaderToModel(dt); return ls; } catch { throw new NotImplementedException(); } } /// ///根据货位查询托盘 /// public IList GetList(string addre) { IList ls = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("select Palno from log_Store_Palno where Addre='" + addre + "'"); IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql); ls = ModelConvertHelper.DataReaderToModel(dt); return ls; } /// ///将DataTable中数据写入数据库中 /// /// public static string ImportExcel(DataTable dt, string CreateUser) { int ret = 0; if (dt == null || dt.Rows.Count == 0) { return "Excel无内容"; } //获取要插入列的名字(为动态,由Excel列数决定) string colNames = ""; //循环获取列名 for (int i = 0; i < dt.Columns.Count; i++) { if (dt.Columns[i].ColumnName.Equals("单号") || dt.Columns[i].ColumnName.Equals("生产令号") || dt.Columns[i].ColumnName.Equals("物料编码") || dt.Columns[i].ColumnName.Equals("图号") || dt.Columns[i].ColumnName.Equals("序号") || dt.Columns[i].ColumnName.Equals("类型") || dt.Columns[i].ColumnName.Equals("合格证") || dt.Columns[i].ColumnName.Equals("单数") || dt.Columns[i].ColumnName.Equals("总数") || dt.Columns[i].ColumnName.Equals("备注")) { if (dt.Columns[i].ColumnName.Equals("单号")) { dt.Columns[i].ColumnName = "OrdNo"; } if (dt.Columns[i].ColumnName.Equals("生产令号")) { dt.Columns[i].ColumnName = "LingNo"; } if (dt.Columns[i].ColumnName.Equals("物料编码")) { dt.Columns[i].ColumnName = "MatNo"; } if (dt.Columns[i].ColumnName.Equals("图号")) { dt.Columns[i].ColumnName = "TuNo"; } if (dt.Columns[i].ColumnName.Equals("序号")) { dt.Columns[i].ColumnName = "PageNo"; } if (dt.Columns[i].ColumnName.Equals("类型")) { dt.Columns[i].ColumnName = "MatType"; } if (dt.Columns[i].ColumnName.Equals("合格证")) { dt.Columns[i].ColumnName = "HeGeZheng"; } if (dt.Columns[i].ColumnName.Equals("单数")) { dt.Columns[i].ColumnName = "PlanQuant"; } if (dt.Columns[i].ColumnName.Equals("总数")) { dt.Columns[i].ColumnName = "CurQuant"; } if (dt.Columns[i].ColumnName.Equals("备注")) { dt.Columns[i].ColumnName = "Demo"; } } else { //删除多余的列 dt.Columns.Remove(dt.Columns[i]); i--; } } int ordno1 = 0; //判断入库单单号是否已经存在 for (int i = 0; i < dt.Rows.Count; i++) { StringBuilder hql = new StringBuilder(); hql.Append("select * from Erp_in where Ordno = '" + dt.Rows[i]["OrdNo"].ToString() + "'"); DataTable dd = DataFactory.SqlDataBase().GetDataTableBySQL(hql); if (dd.Rows.Count > 0) { ordno1 = 1; } } if (ordno1 == 1) { return "已有入库单号存在,请核实后重新导入"; } string MatNoName = ""; //第一个循环,遍历每一行 for (int i = 0; i < dt.Rows.Count; i++) { int sum = 0; StringBuilder hql = new StringBuilder(); hql.Append("select * from Material where MatNo='" + dt.Rows[i]["MatNo"].ToString() + "'"); DataTable Mat = DataFactory.SqlDataBase().GetDataTableBySQL(hql); if (Mat.Rows.Count > 0) { StringBuilder eql = new StringBuilder(); eql.Append("insert into ErpInDetail(OrdNo,MatNo,PlanQuant,CurQuant,Demo,LingNo,TuNo,PageNo,MatType,HeGeZheng)" + "values('" + dt.Rows[i]["OrdNo"].ToString() + "','" + dt.Rows[i]["MatNo"].ToString() + "','" + dt.Rows[i]["PlanQuant"].ToString() + "'," + "'" + dt.Rows[i]["CurQuant"].ToString() + "','" + dt.Rows[i]["Demo"].ToString() + "','" + dt.Rows[i]["LingNo"].ToString() + "'," + "'" + dt.Rows[i]["TuNo"].ToString() + "','" + dt.Rows[i]["PageNo"].ToString() + "','" + dt.Rows[i]["MatType"].ToString() + "','" + dt.Rows[i]["HeGeZheng"].ToString() + "')"); sum = DataFactory.SqlDataBase().ExecuteBySql(eql); } else { MatNoName += dt.Rows[i]["MatNo"].ToString() + ','; } StringBuilder sql = new StringBuilder(); //向主表Erp_In插入数据 if (sum != 0) { sql.Append("select Ordno from Erp_in where Ordno='" + dt.Rows[i]["OrdNo"].ToString() + "'"); DataTable ordno = DataFactory.SqlDataBase().GetDataTableBySQL(sql); if (ordno.Rows.Count <= 0) { sql.Clear(); sql.Append("insert into Erp_In(Ordno,Statu,CreateUser) values('" + dt.Rows[i]["OrdNo"] + "','01','" + CreateUser + "')"); ret = DataFactory.SqlDataBase().ExecuteBySql(sql); } } } try { if (MatNoName != "") { return "该物料" + MatNoName + "无法找到请先添加物料明细,其余物料导入成功!"; } } catch (Exception e) { return "导入失败,请检查匹配"; } return "导入成功"; throw new NotImplementedException(); } /// /// 关单时向库存表更新数量 /// /// /// public bool inMat(List ErpMat) { for (int i = 0; i < ErpMat.Count; i++) { StringBuilder hql = new StringBuilder(); hql.Append("select * from Log_Stroe_Mat where MatNo='" + ErpMat[i].MatNo + "'"); DataTable dt = DataFactory.SqlDataBase().GetDataTableBySQL(hql); if (dt.Rows.Count > 0) { int quant = int.Parse(dt.Rows[0]["Quant"].ToString()) + int.Parse(ErpMat[i].CurQuant); hql.Append("Update Log_Stroe_Mat set Quant='" + quant + "' where MatNo='" + ErpMat[i].MatNo + "'"); DataFactory.SqlDataBase().ExecuteBySql(hql); } else { hql.Append("insert into Log_Stroe_Mat (MatNo,Quant)values('" + ErpMat[i].MatNo + "','" + ErpMat[i].CurQuant + "')"); DataFactory.SqlDataBase().ExecuteBySql(hql); } } return true; } public bool IsExist(string MatGuid) { bool result = false; try { StringBuilder sbStr = new StringBuilder(); sbStr.Append("select count(id) from Material "); sbStr.Append("where IsDel = 0 "); sbStr.Append(" and guid = '" + MatGuid + "';"); DataRow dr = DataFactory.SqlDataBase().GetDataRowBySQL(sbStr); if (dr[0].ToString() == "0") { result = true; } return result; } catch { return result; } } /// /// 便携组盘成功 /// /// /// /// public string AddIPalletBind(string PalletNo, string OrdNo, string user, string LoginDepartNum) { try { string messAgestr = ""; DataTable dt = this.GetOrdNoDetails(OrdNo); if (dt.Rows.Count > 0) { int rowCount = 0; StringBuilder sqlString = new StringBuilder(); //sqlString.Append("select GETDATE() as CreateTime;"); //DataTable dtt = DataFactory.SqlDataBase().GetDataTableBySQL(sqlString); //string CreateTime = dtt.Rows[0][0].ToString(); foreach (DataRow row in dt.Rows) { sqlString.Clear(); sqlString.Append($@" INSERT INTO IPalletBind ( Palno, MatNo, MatGuid, MatCount, OrdNo, LocationCode, Statu, Demo, DepartGuid, CreateUser, CreateTime, IsDel ) SELECT '{PalletNo}', '{row["MatNo"].ToString()}', '{row["MatGuid"].ToString()}', '{row["CurQuant"].ToString()}', '{OrdNo}', '', '01', '', '{LoginDepartNum}', '{user}', GETDATE(), '0'; "); //sqlString.Append("Insert into IPalletBind (PalletNo,MatNo,MatCount,OrdNo,LingNo,"); //sqlString.Append("TuNo,GoodsPos,Statu,CreateUser,CreateTime,isDel) values "); //sqlString.Append("('" + PalletNo + "','" + row["MatNo"].ToString() + "','"); //sqlString.Append(row["CurQuant"].ToString() + "','" + row["OrdNo"].ToString() + "','"); //sqlString.Append(row["LingNo"].ToString() + "','" + row["TuNo"].ToString() + "','"); //sqlString.Append("','01','" + user + "','" + CreateTime + "','0');"); rowCount += DataFactory.SqlDataBase().ExecuteBySql(sqlString); } if (rowCount >= dt.Rows.Count) { sqlString.Clear(); sqlString.Append("update Erp_in set Statu = '02' where Ordno = '" + OrdNo + "'"); DataFactory.SqlDataBase().ExecuteBySql(sqlString); messAgestr = "组盘成功!"; } else { messAgestr = "组盘失败,请检查入库单。!"; } } else { messAgestr = "组盘失败,请检查入库单。"; } return messAgestr; } catch { return "系统异常,请重试!"; } } public DataTable GetOrdNoDetails(string Ordno) { try { StringBuilder sqlString = new StringBuilder(); sqlString.Append($@" SELECT tb2.MatNo AS MatGuid, tb3.MatNo, tb2.CurQuant, tb1.Ordno, tb2.LingNo, tb2.TuNo, tb2.PageNo FROM Erp_in AS tb1 LEFT JOIN ErpInDetail AS tb2 ON tb1.Ordno = tb2.OrdNo LEFT JOIN Material AS tb3 ON tb3.guid = tb2.MatNo WHERE tb1.Statu = '01' AND tb1.Ordno = '{Ordno}'; "); //sqlString.Append("select tb2.MatNo,tb2.CurQuant,tb1.Ordno,tb2.LingNo,tb2.TuNo,tb2.PageNo "); //sqlString.Append("from Erp_in as tb1 left join ErpInDetail as tb2 on tb1.Ordno = tb2.OrdNo "); //sqlString.Append("where tb1.Statu = '01' and tb1.Ordno = '" + Ordno + "'"); return DataFactory.SqlDataBase().GetDataTableBySQL(sqlString); } catch { throw new NotImplementedException(); } } /// /// 判断是否存在正在执行的组盘信息 /// /// /// public bool IsIpallets(string ordNo) { bool result = false; try { StringBuilder sbStr = new StringBuilder(); sbStr.Append("select COUNT(*) from IPalletBind where OrdNo = '" + ordNo + "' "); sbStr.Append("and Statu = '2' and isdel = '0';"); DataRow dr = DataFactory.SqlDataBase().GetDataRowBySQL(sbStr); if (dr[0].ToString() == "0") { result = true; } return result; } catch { return result; } } /// /// 删除指定单据的组盘信息 /// /// /// public void DelIpallets(string ordNo) { StringBuilder sbStr = new StringBuilder(); sbStr.Append("update IPalletBind set IsDel = '1',Demo='关单移除' "); sbStr.Append("where OrdNo = '" + ordNo + "' and Statu = '1' and IsDel = '0';"); DataFactory.SqlDataBase().ExecuteBySql(sbStr); } private string GetOrdNo() { try { string ordNo = ""; Hashtable ht1 = new Hashtable(); ht1.Add("sCode", "IDNO"); ht1.Add("OUT_sResult", ""); Hashtable rs = new Hashtable(); if (DataFactory.SqlDataBase().ExecuteByProcReturn("GetSerialNo", ht1, ref rs) != 0) { ordNo = rs["OUT_sResult"].ToString(); } return ordNo; } catch (Exception ex) { throw ex; } } } }