public SqlDataReader GetLastProdDetails() { string strSql = string.Empty; strSql = string.Format("select 1 from T_TransferMain where ISNULL(OrderState,0)<2"); object oRes = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); if (oRes == null || Convert.ToInt32(oRes) > 1) { return(null); } strSql = string.Format(@"SELECT [id] ,[mID] ,[RowNo] ,[cInvCode] ,[BuildingNo] ,[QtyReq] ,[QtyTransfer] ,[iOperate] ,[sOperate] ,[sInvType] ,[WorkShopStock] FROM [Barcode].[dbo].[T_TRANSFERDETAIL] where mID=(SELECT [id] FROM [Barcode].[dbo].[T_TransferMain] where ISNULL(OrderState,0)<2)"); return(OperationSql.ExecuteReader(CommandType.Text, strSql, null)); }
internal bool AreaOfCheck(int checkID, AreaInfo area) { string strSql = string.Empty; strSql = string.Format("select count(1) from t_check where id = {0} and checktype in (1,2,3,5)", checkID); object obj = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); if (obj.ToInt32() <= 0) { return(true); } int checktype = 0; strSql = string.Format("select CheckType from t_check where id = {0}", checkID); checktype = OperationSql.ExecuteScalar(CommandType.Text, strSql, null).ToInt32(); switch (checktype) { case 1: strSql = string.Format("select count(1) from v_CheckDetails where checkid = {0} and warehouseno = '{1}' ", checkID, area.WarehouseNo); obj = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); if (obj.ToInt32() <= 0) { return(false); } break; case 2: strSql = string.Format("select count(1) from v_CheckDetails where checkid = {0} and warehouseno = '{1}' and houseno = '{2}' ", checkID, area.WarehouseNo, area.HouseNo); obj = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); if (obj.ToInt32() <= 0) { return(false); } break; case 3: strSql = string.Format("select count(1) from v_CheckDetails where checkid = {0} and areano = '{1}' ", checkID, area.AreaNo); obj = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); if (obj.ToInt32() <= 0) { return(false); } break; case 5: //strSql = string.Format("select count(1) from v_CheckDetails A join v_area B on A.WAREHOUSENO = B.warehouseno where A.checkid = {0} and A.warehouseno = '{1}' and B.areano = '{2}' ", checkID, area.WarehouseNo, area.AreaNo); strSql = string.Format("select count(1) from v_CheckDetails where checkid = {0} and nvl(warehouseno,'{1}') = '{1}' ", checkID, area.WarehouseNo); obj = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); if (obj.ToInt32() <= 0) { return(false); } break; } return(true); }
public int CheckDeliveryNoIsExist(string strDeliveryNo) { try { string strSql = string.Format("select count(1) from t_receive where deliveryno = '{0}'", strDeliveryNo); return(Convert.ToInt32(OperationSql.ExecuteScalar(System.Data.CommandType.Text, strSql))); } catch (Exception ex) { throw ex; } }
public int CheckAreaIsLock(string strAreaNo) { try { string strSql = string.Format("select count(1) from t_area where areano = '{0}' and areastatus = '1'", strAreaNo); return(Convert.ToInt32(OperationSql.ExecuteScalar(System.Data.CommandType.Text, strSql))); } catch (Exception ex) { throw new Exception(ex.Message + ex.TargetSite); } }
public int CheckBarCodeIsInStock(string strBarcode) { try { string strSql = string.Format("select count(1) from t_stock where serialno = '{0}'", strBarcode); return(Convert.ToInt32(OperationSql.ExecuteScalar(System.Data.CommandType.Text, strSql))); } catch (Exception ex) { throw new Exception(ex.Message + ex.TargetSite); } }
internal bool VerifyCheckStockChange(CheckInfo model) { string strSql = string.Empty; strSql = string.Format("select COUNT(1) from t_stock S join t_checkdetaillist L on L.checkid = {0} and S.SERIALNO = L.SERIALNO and (S.Areano <> L.AREANO or S.QTY <> L.QTY)", model.ID); object obj = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); if (obj.ToInt32() <= 0) { return(false); } return(true); }
public Task_Model GetTaskDetailsInfo(string strTaskNo) { try { Task_Model TM = new Task_Model(); TM.lstTaskDetails = new List <TaskDetails_Model>(); string strSql = string.Format("select * from V_GETTASKDETAILSINFO where taskno = '{0}'", strTaskNo); using (SqlDataReader dr = OperationSql.ExecuteReader(System.Data.CommandType.Text, strSql)) { while (dr.Read()) { TM.ID = dr["task_id"].ToInt32(); TM.TaskNo = dr["taskno"].ToDBString(); TM.TaskStatus = dr["taskstatus"].ToInt32(); TM.IsShelvePost = dr["isshelvepost"].ToInt32(); TM.IsQuality = dr["isquality"].ToInt32(); TM.VoucherType = dr["VoucherType"].ToInt32(); TM.Plant = dr["plant"].ToDBString(); TM.DeliveryNo = dr["deliveryno"].ToDBString(); TaskDetails_Model TDM = new TaskDetails_Model(); TDM.ID = dr["id"].ToInt32(); TDM.MaterialNo = dr["materialno"].ToDBString(); TDM.MaterialDesc = dr["materialdesc"].ToDBString(); TDM.MaterialStd = dr["MaterialStd"].ToDBString(); TDM.TaskQty = dr["taskqty"].ToDecimal(); TDM.QuanlityQty = dr["qualityqty"].ToDecimal(); TDM.RemainQty = dr["remainqty"].ToDecimal(); TDM.ShelveQty = dr["shelveqty"].ToDecimal(); TDM.RowNo = dr["RowNo"].ToDBString(); TDM.VoucherNo = dr["VoucherNo"].ToDBString(); TDM.PackCount = dr["PackCount"].ToDecimal(); TDM.ShelvePackCount = dr["ShelvePackCount"].ToDecimal(); TDM.RemainPackCount = dr["RemainPackCount"].ToDecimal(); TM.lstTaskDetails.Add(TDM); } } strSql = string.Format(@"SELECT A.warehouseno FROM T_WAREHOUSE A JOIN T_TASKWAREHOUSE B ON A.id=B.warehouse_id JOIN T_TASK C ON B.task_id=C.id WHERE C.taskno = '{0}'", strTaskNo); TM.WareHouseNo = OperationSql.ExecuteScalar(CommandType.Text, strSql, null).ToString(); return(TM); } catch (Exception ex) { throw ex; } }
/// <summary> /// 查看物料被哪个用户锁定 /// </summary> /// <param name="taskDetailsMdl"></param> /// <param name="userMdl"></param> /// <returns></returns> public string QueryUserNameByTaskDetails(TaskDetails_Model taskDetailsMdl, BLL.Basic.User.UserInfo userMdl) { try { string strUserName = string.Empty; string strSql = "select b.UserName from t_taskdetails a left join t_user b on a.operatoruserno = b.userno where a.id = {0} " + " and a.operatoruserno!='{1}'"; strSql = string.Format(strSql, taskDetailsMdl.ID, userMdl.UserNo); return((string)OperationSql.ExecuteScalar(System.Data.CommandType.Text, strSql)); } catch (Exception ex) { throw new Exception(ex.Message + ex.TargetSite); } }
public string GetMenuNo(MenuInfo model) { string strSql = string.Empty; if (model.ID <= 0) { strSql = "SELECT CONVERT(nvarchar,CONVERT(decimal(20,0),(ISNULL(MAX(MENUNO),10000000000000000000)))+ 1) FROM T_MENU"; } else { strSql = string.Format("SELECT menuno FROM T_Menu WHERE ID = {0}", model.ID); } object o; o = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); return(o.ToDBString()); }
public string GetTempMaterialNo(TempMaterialInfo model) { string strSql = string.Empty; if (model.ID <= 0) { strSql = "SELECT 'L' || TO_CHAR(SYSDATE,'YYYYMM') || CONCAT(SUBSTR('00000',1,5-LENGTH(SEQ_TEMPMATERIALNO.NEXTVAL)),SEQ_TEMPMATERIALNO.NEXTVAL) FROM DUAL"; } else { strSql = string.Format("SELECT TempMaterialNo FROM T_TEMPMATERIAL WHERE ID = {0}", model.ID); } object o; o = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); return(o.ToDBString()); }
public bool InStock(string strToAreaNo, string strTaskXml, UserInfo userModel, ref string strErrMsg) { #region 验证货位是否合法 string strsql = string.Format("select 1 from v_area where AREATYPE=1 and AREANO='{0}'", strToAreaNo); if (OperationSql.ExecuteScalar(CommandType.Text, strsql, null) == null) { strErrMsg = "货位不存在或者不是正式货位!"; return(false); } #endregion try { int iResult = 0; SqlParameter[] cmdParms = new SqlParameter[] { new SqlParameter("strToAreaNo", SqlDbType.NVarChar), new SqlParameter("Task_xml", SqlDbType.Xml), new SqlParameter("strUserNo", SqlDbType.NVarChar), //new SqlParameter("bResult", SqlDbType.Int,ParameterDirection.Output), new SqlParameter("bResult", SqlDbType.Int), //new SqlParameter("strErrMsg", SqlDbType.NVarChar,1000,strErrMsg,ParameterDirection.Output) new SqlParameter("strErrMsg", SqlDbType.NVarChar, 1000, strErrMsg) }; cmdParms[0].Value = strToAreaNo; cmdParms[1].Value = strTaskXml; cmdParms[2].Value = userModel.UserNo; cmdParms[3].Direction = ParameterDirection.Output; cmdParms[4].Direction = ParameterDirection.Output; OperationSql.ExecuteNonQuery2(CommandType.StoredProcedure, "p_instock", cmdParms); iResult = Convert.ToInt32(cmdParms[3].Value.ToString()); strErrMsg = cmdParms[4].Value.ToString(); return(iResult == 1 ? true : false); } catch (Exception ex) { throw ex; } }
internal bool IsChecking(Barcode_Model barcodeMdl, ref string strErrorMsg) { string strSql = ""; if (barcodeMdl.iFlag != 0 && barcodeMdl.iFlag != 10) { if (barcodeMdl.labeltype.Equals("10") || barcodeMdl.labeltype.Equals("14")) { strSql = string.Format("select a.serialno from T_OUTBARCODE a join T_INNERBARCODE b on a.id=b.outbox_id where b.serialno = '{0}'", barcodeMdl.SERIALNO); string oSerialno = OperationSql.ExecuteScalar(CommandType.Text, strSql, null).ToDBString(); if (string.IsNullOrEmpty(oSerialno)) { return(false); } barcodeMdl.SERIALNO = oSerialno; } strSql = string.Format("select b.areastatus,b.CheckID [ACheckID],a.status,a.CheckID [SCheckID] from t_stock a join T_AREA b on a.areano=b.areano where serialno='{0}'", barcodeMdl.SERIALNO); using (SqlDataReader sdr = OperationSql.ExecuteReader(CommandType.Text, strSql, null)) { if (sdr.Read()) { if (sdr[0].ToInt32() != 1 && !string.IsNullOrEmpty(sdr[1].ToString())) { strErrorMsg = "该条码所在货位正在盘点!"; return(true); } if (sdr[2].ToInt32() != 1 && !string.IsNullOrEmpty(sdr[3].ToString())) { strErrorMsg = "该物料正在盘点!"; return(true); } } else { if (barcodeMdl.iFlag != 4 && barcodeMdl.iFlag != 5) { strErrorMsg = "该条码库存有误!"; return(true); } } } } return(false); }
public SqlDataReader GetLastProdHead() { string strSql = string.Empty; strSql = string.Format("select count(1) from T_TransferMain where ISNULL(OrderState,0)<2"); object oRes = OperationSql.ExecuteScalar(CommandType.Text, strSql, null); if (oRes == null || Convert.ToInt32(oRes) > 1) { return(null); } strSql = string.Format(@"SELECT [id] ,[AllotNo] ,[dTime] ,[UserCode] ,[OrderState] FROM [Barcode].[dbo].[T_TransferMain] where ISNULL(OrderState,0)<2"); return(OperationSql.ExecuteReader(CommandType.Text, strSql, null)); }
public Barcode_Model GetBarCodeInfoForReturn(string strSerialNo, string labeltype) { try { string strSql = string.Format("select ID,VOUCHERTYPE,DELIVERYNO,VOUCHERNO,ROWNO,QTY, OUTPACKQTY,BARCODE,BARCODETYPE,SERIALNO,MATERIALNO,MATERIALDESC,MATERIALSTD,BATCHNO,ROWNO,TrayID,ISNULL(iFlag,0) iFlag,[ProductLineNo] cProductLineCode,SoCode from t_outbarcode where serialno = '{0}'", strSerialNo); Barcode_Model barcodeMdl = new Barcode_Model(); using (SqlDataReader dr = OperationSql.ExecuteReader(System.Data.CommandType.Text, strSql)) { if (dr.Read()) { barcodeMdl.ID = dr["id"].ToDecimal(); barcodeMdl.DELIVERYNO = dr["DELIVERYNO"].ToDBString(); barcodeMdl.VOUCHERNO = dr["VOUCHERNO"].ToDBString(); barcodeMdl.ROWNO = dr["ROWNO"].ToDBString(); barcodeMdl.OUTPACKQTY = dr["OUTPACKQTY"].ToDecimal(); barcodeMdl.labeltype = dr["BARCODETYPE"].ToDBString(); barcodeMdl.QTY = dr["QTY"].ToDecimal(); barcodeMdl.BARCODE = dr["barcode"].ToDBString(); barcodeMdl.SERIALNO = dr["serialno"].ToDBString(); barcodeMdl.MATERIALNO = dr["materialno"].ToDBString(); barcodeMdl.MATERIALDESC = dr["materialdesc"].ToDBString(); barcodeMdl.MATERIALSTD = dr["materialstd"].ToDBString();//规格型号 barcodeMdl.BATCHNO = dr["batchno"].ToDBString(); barcodeMdl.ROWNO = dr["rowno"].ToDBString(); barcodeMdl.VOUCHERTYPE = dr["VOUCHERTYPE"].ToDBString(); barcodeMdl.TrayID = dr["TrayID"].ToInt32(); barcodeMdl.iFlag = dr["iFlag"].ToInt32(); barcodeMdl.cProductLineCode = dr["cProductLineCode"].ToDBString();//产线 barcodeMdl.SoCode = dr["SoCode"].ToDBString(); } } if (string.IsNullOrEmpty(barcodeMdl.SERIALNO)) { strSql = string.Format(" select a.ID,b.VOUCHERTYPE,b.DELIVERYNO,a.VOUCHERNO,a.QTY, a.OUTPACKQTY,a.BARCODE,a.BARCODETYPE,a.SERIALNO,a.MATERIALNO,a.MATERIALDESC,a.MATERIALSTD,a.BATCHNO,b.ROWNO,0 TrayID,ISNULL(iFlag,0) iFlag,[ProductLineNo] cProductLineCode,a.SoCode from T_INNERBARCODE a join T_OUTBARCODE b on a.outbox_id=b.id where a.serialno = '{0}'", strSerialNo); using (SqlDataReader dr = OperationSql.ExecuteReader(System.Data.CommandType.Text, strSql)) { if (dr.Read()) { barcodeMdl.ID = dr["id"].ToDecimal(); barcodeMdl.DELIVERYNO = dr["DELIVERYNO"].ToDBString(); barcodeMdl.VOUCHERNO = dr["VOUCHERNO"].ToDBString(); barcodeMdl.ROWNO = dr["ROWNO"].ToDBString(); barcodeMdl.OUTPACKQTY = dr["OUTPACKQTY"].ToDecimal(); barcodeMdl.labeltype = dr["BARCODETYPE"].ToDBString(); barcodeMdl.QTY = dr["QTY"].ToDecimal(); barcodeMdl.BARCODE = dr["barcode"].ToDBString(); barcodeMdl.SERIALNO = dr["serialno"].ToDBString(); barcodeMdl.MATERIALNO = dr["materialno"].ToDBString(); barcodeMdl.MATERIALDESC = dr["materialdesc"].ToDBString(); barcodeMdl.MATERIALSTD = dr["materialstd"].ToDBString();//规格型号 barcodeMdl.BATCHNO = dr["batchno"].ToDBString(); barcodeMdl.ROWNO = dr["rowno"].ToDBString(); barcodeMdl.VOUCHERTYPE = dr["VOUCHERTYPE"].ToDBString(); barcodeMdl.TrayID = dr["TrayID"].ToInt32(); barcodeMdl.iFlag = dr["iFlag"].ToInt32(); barcodeMdl.cProductLineCode = dr["cProductLineCode"].ToDBString();//产线 barcodeMdl.SoCode = dr["SoCode"].ToDBString(); } } if (string.IsNullOrEmpty(barcodeMdl.SERIALNO)) { return(null); } else { if (!string.IsNullOrEmpty(labeltype) && !labeltype.Equals("10") && !labeltype.Equals("14")) { throw new Exception("本次扫描必须都为外箱条码!"); } } } else { if (!string.IsNullOrEmpty(labeltype) && !labeltype.Equals("11") && !labeltype.Equals("15")) { throw new Exception("本次扫描必须都为内盒条码!"); } } //strSql = string.Format("select ISNULL(orderseq,'') sorowno,ISNULL(ordercode,'') socode from v_st_mom_orderdetail where mocode = '{0}' and MoSeq={1}", barcodeMdl.VOUCHERNO, barcodeMdl.ROWNO); //using (SqlDataReader dr = OperationSql.ExecuteReaderForU8(System.Data.CommandType.Text, strSql)) //{ // if (dr.Read()) // { // if (!string.IsNullOrEmpty(dr["socode"].ToDBString())) // barcodeMdl.SoCode = dr["socode"].ToDBString(); // barcodeMdl.sorowno = dr["sorowno"].ToDBString(); // } //} strSql = string.Format("select 1 from t_stockoutdetails where serialno='{0}'", barcodeMdl.SERIALNO); object oResult = OperationSql.ExecuteScalar(CommandType.Text, strSql); if (oResult == null || oResult == DBNull.Value) { strSql = string.Format("select a.serialno from t_stockoutdetails a join T_INNERBARCODE b on a.serialno=b.serialno where b.serialno='{0}'", barcodeMdl.SERIALNO); oResult = OperationSql.ExecuteScalar(CommandType.Text, strSql); if (barcodeMdl.iFlag != 4 || oResult == null || oResult == DBNull.Value) { barcodeMdl = null; throw new Exception("该条码并未出库!"); } else if (!char.IsLetter(oResult.ToString().Last())) { barcodeMdl = null; throw new Exception("违规操作,该条码是按外箱出库的,不能还回内箱!"); } else { strSql = string.Format(@"select a.areano from T_STOCK a join T_OUTBARCODE b on a.serialno=b.serialno join T_SplitRecord c on c.old_outboxid = b.id join T_SplitDetails d on c.id = d.id where d.serialno = '{0}' order by c.createrdate desc", barcodeMdl.SERIALNO); oResult = OperationSql.ExecuteScalar(CommandType.Text, strSql); barcodeMdl.AndalaNo = oResult.ToString(); } } else { if (barcodeMdl.iFlag != 4) { barcodeMdl = null; throw new Exception("该条码并未出库!"); } } if (barcodeMdl.TrayID != 0) { Tray_Func tf = new Tray_Func(); Tray_Model tray = new Tray_Model(); if (tf.GetTrayInfoByTrayIDForOutStock(barcodeMdl, ref tray)) { barcodeMdl.tray_Model = tray; } } return(barcodeMdl); } catch (Exception ex) { throw ex; } }
public int GetIsUrgent(string strMaterialNo) { string strSql = string.Format("select count(1) from t_stock where materialno = '{0}'", strMaterialNo); return(Convert.ToInt32(OperationSql.ExecuteScalar(System.Data.CommandType.Text, strSql))); }
public bool UserLogin(ref UserInfo user, ref string strError) { if (DateTime.Today >= Convert.ToDateTime("2016-10-15") && !securityAndRegister.EncryptionHelper.CheckRegist()) { strError = "登陆异常!该用户不存在"; return(false); } if (string.IsNullOrEmpty(user.LoginDevice)) { user.LoginDevice = user.LoginIP; } string LoginIP = user.LoginIP; DateTime CurrentTime; string strSql = string.Empty; if (user.UserNo.ToUpper() != "ADMIN") { UFSoft.U8.Framework.Login.UI.clsLogin netLogin = new UFSoft.U8.Framework.Login.UI.clsLogin(); user.Password = netLogin.EnPassWord(user.Password); strSql = string.Format("SELECT GETDATE() CurrentTime,V_User.* FROM V_User WHERE UserNo = '{0}' AND password = '******'", user.UserNo, user.Password); } else { strSql = string.Format("SELECT GETDATE() CurrentTime,V_User.* FROM V_User WHERE UserNo = '{0}' ", user.UserNo); } //strSql = string.Format("SELECT GETDATE() CurrentTime,V_User.* FROM V_User WHERE UserNo = '{0}'", user.UserNo); UserInfo model; using (SqlDataReader odr = OperationSql.ExecuteReader(CommandType.Text, strSql)) { if (odr.Read()) { User_Func func = new User_Func(); model = func.GetModelFromDataReader(odr); CurrentTime = odr["CurrentTime"].ToDateTime(); if (model == null) { strError = "用户实例化失败"; return(false); } else if (model.UserStatus == 2) { strError = string.Format("用户【{0}】已停用", model.UserName); return(false); } else if (model.IsDel == 2) { strError = string.Format("用户【{0}】已删除", model.UserName); return(false); } if (model.BIsOnline) { if (model.UserType == 1) { if (!string.IsNullOrEmpty(user.LoginIP) && model.LoginIP.Length + user.LoginIP.Length >= 100 && model.LoginIP.IndexOf(user.LoginIP) <= -1) { strError = string.Format("超级管理员用户【{0}】已超过登录次数上限,目前共【{1}】处登录{2}请先登出或联系管理员清除后重试", model.UserName, model.LoginIP.Split(';').Length, Environment.NewLine); return(false); } else if (!string.IsNullOrEmpty(user.LoginDevice) && model.LoginDevice.Length + user.LoginDevice.Length >= 200 && model.LoginDevice.IndexOf(user.LoginDevice) <= -1) { strError = string.Format("超级管理员用户【{0}】已超过登录次数上限,目前共【{1}】处登录{2}请先登出或联系管理员清除后重试", model.UserName, model.LoginDevice.Split(';').Length, Environment.NewLine); return(false); } } else { if (model.LoginIP != user.LoginIP) { string LoginAddress = string.IsNullOrEmpty(model.LoginDevice) ? model.LoginIP : model.LoginDevice; if (!model.LoginIP.StartsWith("PC")) { strError = string.Format("用户【{0}】已于【{1}】在【{2}】处登录{3}请先登出或联系管理员清除后重试", model.UserName, model.LoginTime, LoginAddress, Environment.NewLine); return(false); } else if ((CurrentTime - model.LoginTime.ToDateTime()).TotalMilliseconds < 1500000) { strError = string.Format("用户【{0}】正在【{1}】处使用{2}请先登出或联系管理员清除后重试", model.UserName, LoginAddress, Environment.NewLine); return(false); } } } } model.LoginTime = CurrentTime; model.LoginIP = user.LoginIP; model.LoginDevice = user.LoginDevice; user = model; } else { strSql = string.Format("SELECT COUNT(1) FROM V_User WHERE UserNo = '{0}' ", user.UserNo); int i = OperationSql.ExecuteScalar(CommandType.Text, strSql).ToInt32(); if (i <= 0) { strError = "登陆异常!该用户不存在"; return(false); } else { strError = "密码输入错误"; return(false); } } } return(true); }
public bool GetSaleBillDetailsForTrans(SaleBillDetails_Model detail, out List <SaleBillDetails_Model> list, out string strErrMsg) { try { list = new List <SaleBillDetails_Model>(); string strSql = @"select cSOCode,iRowNo,iQuantity from SO_SODetails where dbclosedate is null and cInvCode = '" + detail.cinvcode + "' and cSOCode != '" + detail.ssocode + "'"; using (SqlDataReader dr = OperationSql.ExecuteReaderForERP(System.Data.CommandType.Text, strSql)) { while (dr.Read()) { strSql = "select * from T_temptrans where RealQty < " + detail.qty + " and ssocode = '" + dr["cSOCode"].ToDBString() + "' and cinvcode = '" + detail.cinvcode + "'"; if (OperationSql.ExecuteReader(System.Data.CommandType.Text, strSql).Read()) { break; } strSql = "select SUM(qty) from T_temptrans where cinvcode = '" + detail.cinvcode + "' and dsocode = '" + dr["cSOCode"].ToDBString() + "'"; decimal sum = OperationSql.ExecuteScalar(System.Data.CommandType.Text, strSql).ToDecimal(); if (sum != null && (dr["iQuantity"].ToDecimal() - sum < detail.qty)) { continue; } strSql = "select SUM(T_STOCK.qty) from T_OUTBARCODE join T_STOCK on T_STOCK.serialno = T_OUTBARCODE.serialno where T_STOCK.warehouseno = '14' and T_OUTBARCODE.materialno = '" + detail.cinvcode + "' and SoCode = '" + dr["cSOCode"].ToDBString() + "'"; sum = OperationSql.ExecuteScalar(System.Data.CommandType.Text, strSql).ToDecimal(); if (sum == null) { continue; } else if (sum < detail.qty) { continue; } SaleBillDetails_Model SM = new SaleBillDetails_Model(); SM.autoid = detail.autoid; SM.cinvcode = detail.cinvcode; SM.cinvname = detail.cinvname; SM.cinvstd = detail.cinvstd; SM.ssorowno = detail.ssorowno; SM.ssbvrowno = detail.ssbvrowno; SM.cWhCode = detail.cWhCode; SM.cWhName = detail.cWhName; SM.ssoqty = detail.ssoqty; SM.ssbvqty = detail.ssbvqty; SM.ssocode = detail.ssocode; SM.ssbvcode = detail.ssbvcode; SM.dsocode = dr["cSOCode"].ToDBString(); SM.dsorowno = dr["iRowNo"].ToDBString(); SM.dsoqty = sum; SM.qty = detail.qty; //SM.dsoqty = dr["iQuantity"].ToDecimal(); list.Add(SM); } } strErrMsg = ""; return(true); } catch (Exception ex) { strErrMsg = ex.Message; list = null; return(false); } }