public void CancelInStockSR(SRInfo oParam) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { //�����˻��� this.UpdateSRMaster(oParam); //������Ʒ��������Ϣ foreach (SRItemInfo item in oParam.ItemHash.Values) { InventoryManager.GetInstance().SetInStockQty2(oParam.StockSysNo, item.ProductSysNo, -1 * item.Quantity); } SOInfo soInfo = SaleManager.GetInstance().LoadSO(oParam.SOSysNo); //�۳��ͻ�֧������ if (soInfo.Status == (int)AppEnum.SOStatus.Return)//ȫ���˻��۳�����,�����˻����۳����� { PointManager.GetInstance().SetScore(soInfo.CustomerSysNo, soInfo.PointPay * (-1), (int)AppEnum.PointLogType.CancelReturn, soInfo.SysNo.ToString()); } //����л������������pointDelay,���Ķ������ͻ��� int PointAmt = 0; foreach (SOItemInfo oItem in soInfo.ItemHash.Values) { if (oItem.ReturnQty > 0 && oItem.Point > 0) { PointAmt += oItem.ReturnQty * oItem.Point; } } if (PointAmt > 0) { int soPointAmt = soInfo.PointAmt + PointAmt; Hashtable ht = new Hashtable(); ht.Add("SysNo", soInfo.SysNo); ht.Add("PointAmt", soPointAmt); SaleManager.GetInstance().UpdateSOMaster(ht); } SalePointDelayInfo spInfo = new SalePointDelayInfo(); spInfo.SOSysNo = soInfo.SysNo; spInfo.CreateTime = DateTime.Now; spInfo.Status = (int)AppEnum.TriStatus.Origin; PointManager.GetInstance().InsertPointDelay(spInfo); scope.Complete(); } }
public void CancelAbandonSR(SRInfo oParam) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { //�����˻���״̬ oParam.Status = (int)AppEnum.SRStatus.Origin; this.UpdateSRMaster(oParam); scope.Complete(); } }
public int InsertMaster(SRInfo oParam) { string sql = @"INSERT INTO SR_Master ( SysNo, SRID, SOSysNo, Status, ReturnType, StockSysNo, CreateUserSysNo, CreateTime, ReceiveUserSysNo, ReceiveTime, InstockTime, InstockUserSysNo, ShelveTime, ShelveUserSysNo, UpdateUserSysNo, UpdateTime, Note ) VALUES ( @SysNo, @SRID, @SOSysNo, @Status, @ReturnType, @StockSysNo, @CreateUserSysNo, @CreateTime, @ReceiveUserSysNo, @ReceiveTime, @InstockTime, @InstockUserSysNo, @ShelveTime, @ShelveUserSysNo, @UpdateUserSysNo, @UpdateTime, @Note )"; SqlCommand cmd = new SqlCommand(sql); SqlParameter paramSysNo = new SqlParameter("@SysNo", SqlDbType.Int, 4); SqlParameter paramSRID = new SqlParameter("@SRID", SqlDbType.Char, 10); SqlParameter paramSOSysNo = new SqlParameter("@SOSysNo", SqlDbType.Int, 4); SqlParameter paramStatus = new SqlParameter("@Status", SqlDbType.Int, 4); SqlParameter paramReturnType = new SqlParameter("@ReturnType", SqlDbType.Int, 4); SqlParameter paramStockSysNo = new SqlParameter("@StockSysNo", SqlDbType.Int, 4); SqlParameter paramCreateUserSysNo = new SqlParameter("@CreateUserSysNo", SqlDbType.Int, 4); SqlParameter paramCreateTime = new SqlParameter("@CreateTime", SqlDbType.DateTime); SqlParameter paramReceiveUserSysNo = new SqlParameter("@ReceiveUserSysNo", SqlDbType.Int, 4); SqlParameter paramReceiveTime = new SqlParameter("@ReceiveTime", SqlDbType.DateTime); SqlParameter paramInstockTime = new SqlParameter("@InstockTime", SqlDbType.DateTime); SqlParameter paramInstockUserSysNo = new SqlParameter("@InstockUserSysNo", SqlDbType.Int, 4); SqlParameter paramShelveTime = new SqlParameter("@ShelveTime", SqlDbType.DateTime); SqlParameter paramShelveUserSysNo = new SqlParameter("@ShelveUserSysNo", SqlDbType.Int, 4); SqlParameter paramUpdateUserSysNo = new SqlParameter("@UpdateUserSysNo", SqlDbType.Int, 4); SqlParameter paramUpdateTime = new SqlParameter("@UpdateTime", SqlDbType.DateTime); SqlParameter paramNote = new SqlParameter("@Note", SqlDbType.NVarChar, 500); if (oParam.SysNo != AppConst.IntNull) paramSysNo.Value = oParam.SysNo; else paramSysNo.Value = System.DBNull.Value; if (oParam.SRID != AppConst.StringNull) paramSRID.Value = oParam.SRID; else paramSRID.Value = System.DBNull.Value; if (oParam.SOSysNo != AppConst.IntNull) paramSOSysNo.Value = oParam.SOSysNo; else paramSOSysNo.Value = System.DBNull.Value; if (oParam.Status != AppConst.IntNull) paramStatus.Value = oParam.Status; else paramStatus.Value = System.DBNull.Value; if (oParam.ReturnType != AppConst.IntNull) paramReturnType.Value = oParam.ReturnType; else paramReturnType.Value = System.DBNull.Value; if (oParam.StockSysNo != AppConst.IntNull) paramStockSysNo.Value = oParam.StockSysNo; else paramStockSysNo.Value = System.DBNull.Value; if (oParam.CreateUserSysNo != AppConst.IntNull) paramCreateUserSysNo.Value = oParam.CreateUserSysNo; else paramCreateUserSysNo.Value = System.DBNull.Value; if (oParam.CreateTime != AppConst.DateTimeNull) paramCreateTime.Value = oParam.CreateTime; else paramCreateTime.Value = System.DBNull.Value; if (oParam.ReceiveUserSysNo != AppConst.IntNull) paramReceiveUserSysNo.Value = oParam.ReceiveUserSysNo; else paramReceiveUserSysNo.Value = System.DBNull.Value; if (oParam.ReceiveTime != AppConst.DateTimeNull) paramReceiveTime.Value = oParam.ReceiveTime; else paramReceiveTime.Value = System.DBNull.Value; if (oParam.InstockTime != AppConst.DateTimeNull) paramInstockTime.Value = oParam.InstockTime; else paramInstockTime.Value = System.DBNull.Value; if (oParam.InstockUserSysNo != AppConst.IntNull) paramInstockUserSysNo.Value = oParam.InstockUserSysNo; else paramInstockUserSysNo.Value = System.DBNull.Value; if (oParam.ShelveTime != AppConst.DateTimeNull) paramShelveTime.Value = oParam.ShelveTime; else paramShelveTime.Value = System.DBNull.Value; if (oParam.ShelveUserSysNo != AppConst.IntNull) paramShelveUserSysNo.Value = oParam.ShelveUserSysNo; else paramShelveUserSysNo.Value = System.DBNull.Value; if (oParam.UpdateUserSysNo != AppConst.IntNull) paramUpdateUserSysNo.Value = oParam.UpdateUserSysNo; else paramUpdateUserSysNo.Value = System.DBNull.Value; if (oParam.UpdateTime != AppConst.DateTimeNull) paramUpdateTime.Value = oParam.UpdateTime; else paramUpdateTime.Value = System.DBNull.Value; if (oParam.Note != AppConst.StringNull) paramNote.Value = oParam.Note; else paramNote.Value = System.DBNull.Value; cmd.Parameters.Add(paramSysNo); cmd.Parameters.Add(paramSRID); cmd.Parameters.Add(paramSOSysNo); cmd.Parameters.Add(paramStatus); cmd.Parameters.Add(paramReturnType); cmd.Parameters.Add(paramStockSysNo); cmd.Parameters.Add(paramCreateUserSysNo); cmd.Parameters.Add(paramCreateTime); cmd.Parameters.Add(paramReceiveUserSysNo); cmd.Parameters.Add(paramReceiveTime); cmd.Parameters.Add(paramInstockTime); cmd.Parameters.Add(paramInstockUserSysNo); cmd.Parameters.Add(paramShelveTime); cmd.Parameters.Add(paramShelveUserSysNo); cmd.Parameters.Add(paramUpdateUserSysNo); cmd.Parameters.Add(paramUpdateTime); cmd.Parameters.Add(paramNote); return SqlHelper.ExecuteNonQuery(cmd); }
private int InsertSRMaster(SRInfo oParam) { oParam.SRID = this.BuildSRID(oParam.SysNo); return new SRDac().InsertMaster(oParam); }
private void map(SRInfo oParam, DataRow tempdr) { oParam.SysNo = Util.TrimIntNull(tempdr["SysNo"]); oParam.SRID = Util.TrimNull(tempdr["SRID"]); oParam.SOSysNo = Util.TrimIntNull(tempdr["SOSysNo"]); oParam.Status = Util.TrimIntNull(tempdr["Status"]); oParam.ReturnType = Util.TrimIntNull(tempdr["ReturnType"]); oParam.StockSysNo = Util.TrimIntNull(tempdr["StockSysNo"]); oParam.CreateUserSysNo = Util.TrimIntNull(tempdr["CreateUserSysNo"]); oParam.CreateTime = Util.TrimDateNull(tempdr["CreateTime"]); oParam.ReceiveUserSysNo = Util.TrimIntNull(tempdr["ReceiveUserSysNo"]); oParam.ReceiveTime = Util.TrimDateNull(tempdr["ReceiveTime"]); oParam.InstockTime = Util.TrimDateNull(tempdr["InstockTime"]); oParam.InstockUserSysNo = Util.TrimIntNull(tempdr["InstockUserSysNo"]); oParam.ShelveTime = Util.TrimDateNull(tempdr["ShelveTime"]); oParam.ShelveUserSysNo = Util.TrimIntNull(tempdr["ShelveUserSysNo"]); oParam.UpdateUserSysNo = Util.TrimIntNull(tempdr["UpdateUserSysNo"]); oParam.UpdateTime = Util.TrimDateNull(tempdr["UpdateTime"]); oParam.Note = Util.TrimNull(tempdr["Note"]); }
public void UpdateSRMaster(SRInfo oParam) { new SRDac().UpdateMaster(oParam); }
private void InsertSRItem(SRItemInfo oParam, SRInfo srInfo) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { new SRDac().InsertItem(oParam); scope.Complete(); } }
public void ShelveSR(SRInfo oParam) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { //�����˻��� this.UpdateSRMaster(oParam); //������Ʒ���ÿ����Ϣ foreach (SRItemInfo item in oParam.ItemHash.Values) { InventoryManager.GetInstance().SetAvailableQty2(oParam.StockSysNo, item.ProductSysNo, item.Quantity); } scope.Complete(); } }
public void ReceiveSR(SRInfo oParam) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { //���¶���״̬ if (oParam.ReturnType == (int)AppEnum.SRReturnType.PartlyReturn) { Hashtable ht = new Hashtable(); ht.Add("SysNo", oParam.SOSysNo); ht.Add("Status", (int)AppEnum.SOStatus.PartlyReturn); SaleManager.GetInstance().UpdateSOMaster(ht); } else if (oParam.ReturnType == (int)AppEnum.SRReturnType.Return) { Hashtable ht = new Hashtable(); ht.Add("SysNo", oParam.SOSysNo); ht.Add("Status", (int)AppEnum.SOStatus.Return); SaleManager.GetInstance().UpdateSOMaster(ht); } SOInfo soInfo = SaleManager.GetInstance().LoadSO(oParam.SOSysNo); //����SOItemReturnQty foreach (SRItemInfo sritem in oParam.ItemHash.Values) { foreach (SOItemInfo item in soInfo.ItemHash.Values) { if (item.ProductSysNo == sritem.ProductSysNo) { SaleManager.GetInstance().UpdateSOItemReturnQty(oParam.SOSysNo, item.ProductSysNo, sritem.Quantity); } } } //�����˻��� this.UpdateSRMaster(oParam); scope.Complete(); } }
public SRInfo Load(int sysno) { try { SRInfo oInfo = new SRInfo(); string sql = "select * from SR_Master (NOLOCK) where sysno=" + sysno; DataSet ds = SqlHelper.ExecuteDataSet(sql); if (Util.HasMoreRow(ds)) { DataRow dr = ds.Tables[0].Rows[0]; map(oInfo, dr); string itemSql = @"select SR_Item.* from SR_Master (NOLOCK) inner join SR_Item (NOLOCK) on SR_Item.SRSysNo = SR_Master.SysNo where SR_Master.sysno=" + sysno; DataSet itemds = SqlHelper.ExecuteDataSet(itemSql); if (Util.HasMoreRow(itemds)) { foreach (DataRow itemdr in itemds.Tables[0].Rows) { SRItemInfo oSRItem = new SRItemInfo(); map(oSRItem, itemdr); oInfo.ItemHash.Add(Util.TrimIntNull(itemdr["SysNo"]), oSRItem); } } } return oInfo; } catch { throw new BizException("Load SRInfo Error!"); } }
public void InStockSR(SRInfo oParam) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { //�����˻��� this.UpdateSRMaster(oParam); //������Ʒ��������Ϣ foreach (SRItemInfo item in oParam.ItemHash.Values) { InventoryManager.GetInstance().SetInStockQty2(oParam.StockSysNo, item.ProductSysNo, item.Quantity); } SOInfo soInfo = SaleManager.GetInstance().LoadSO(oParam.SOSysNo); //�����ͻ�֧������ if (soInfo.Status == (int)AppEnum.SOStatus.Return)//ȫ���˻�����,�����˻����������� { PointManager.GetInstance().SetScore(soInfo.CustomerSysNo, soInfo.PointPay, (int)AppEnum.PointLogType.ReturnProduct, soInfo.SysNo.ToString()); } //�Ķ������͵Ļ��� int soPointAmt = 0; int PointAmt = 0; if (soInfo.Status == (int)AppEnum.SOStatus.PartlyReturn) { foreach (SOItemInfo oItem in soInfo.ItemHash.Values) { if (oItem.ReturnQty > 0 && oItem.Point > 0) { PointAmt += oItem.ReturnQty * oItem.Point; } } soPointAmt = soInfo.PointAmt - PointAmt; } else if (soInfo.Status == (int)AppEnum.SOStatus.Return) { soPointAmt = 0; } Hashtable ht = new Hashtable(); ht.Add("SysNo", soInfo.SysNo); ht.Add("PointAmt", soPointAmt); SaleManager.GetInstance().UpdateSOMaster(ht); //�۳����ͻ��� SalePointDelayInfo spInfo = PointManager.GetInstance().LoadValid(soInfo.SysNo); if (spInfo != null) { if (spInfo.Status == (int)AppEnum.TriStatus.Handled)//�����Ѿ�����ͻ��˻����۳���Ӧ���� { PointManager.GetInstance().SetScore(soInfo.CustomerSysNo, soPointAmt * (-1), (int)AppEnum.PointLogType.ReturnProduct, soInfo.SysNo.ToString()); } //���»������ͼ�¼״̬ spInfo.Status = (int)AppEnum.TriStatus.Abandon; PointManager.GetInstance().UpdatePointDelay(spInfo); } scope.Complete(); } }
public void CreateSR(SRInfo srInfo) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { //�����˻������� srInfo.SysNo = SequenceDac.GetInstance().Create("SR_Sequence"); this.InsertSRMaster(srInfo); //�����˻�����Ʒ��ϸ int itemCount = 0; foreach (SRItemInfo item in srInfo.ItemHash.Values) { if (item.Quantity > 0) //�ų�����Ϊ������ { item.SRSysNo = srInfo.SysNo; this.InsertSRItem(item, srInfo); itemCount++; } } if (itemCount == 0) //���˻���Ʒ { throw new BizException("��ѡ����˻���Ʒ����Ϊ0��"); } scope.Complete(); } }