/// <summary> /// 明细参数设置 /// </summary> /// <param name="comm"></param> /// <param name="model"></param> private static void EditInOtherDetailInfo(SqlCommand comm, StorageInOtherDetailModel model) { comm.Parameters.Add(SqlHelper.GetParameterFromString("@CompanyCD ", model.CompanyCD));//公司代码 comm.Parameters.Add(SqlHelper.GetParameterFromString("@InNo ", model.InNo));//入库单编号 comm.Parameters.Add(SqlHelper.GetParameterFromString("@ProductID ", model.ProductID));//物品ID comm.Parameters.Add(SqlHelper.GetParameterFromString("@UnitID ", model.UnitID));//单位ID comm.Parameters.Add(SqlHelper.GetParameterFromString("@StorageID ", model.StorageID));//仓库ID comm.Parameters.Add(SqlHelper.GetParameterFromString("@UnitPrice ", model.UnitPrice));//入库单价 comm.Parameters.Add(SqlHelper.GetParameterFromString("@ProductCount ", model.ProductCount));//入库数量 comm.Parameters.Add(SqlHelper.GetParameterFromString("@TotalPrice ", model.TotalPrice));//入库金额 comm.Parameters.Add(SqlHelper.GetParameterFromString("@Remark ", model.Remark));//备注 comm.Parameters.Add(SqlHelper.GetParameterFromString("@ModifiedUserID ", model.ModifiedUserID));//最后更新用户ID(对应操作用户表中的UserID) //comm.Parameters.Add(SqlHelper.GetParameterFromString("@FromType ", model.FromType));// //comm.Parameters.Add(SqlHelper.GetParameterFromString("@FromBillID ", model.FromBillID));// comm.Parameters.Add(SqlHelper.GetParameterFromString("@FromLineNo ", model.FromLineNo));// comm.Parameters.Add(SqlHelper.GetParameterFromString("@SortNo ", model.SortNo));// comm.Parameters.Add(SqlHelper.GetParameterFromString("@UsedUnitID ", model.UsedUnitID)); comm.Parameters.Add(SqlHelper.GetParameterFromString("@UsedUnitCount ", model.UsedUnitCount)); comm.Parameters.Add(SqlHelper.GetParameterFromString("@UsedPrice ", model.UsedPrice)); comm.Parameters.Add(SqlHelper.GetParameterFromString("@ExRate ", model.ExRate)); comm.Parameters.Add(SqlHelper.GetParameterFromString("@BatchNo ", model.BatchNo)); }
public static bool ConfirmBill(StorageInOtherModel model, out string Msg) { ArrayList lstConfirm = new ArrayList(); StringBuilder sql = new StringBuilder(); sql.AppendLine(" UPDATE officedba.StorageInOther SET"); sql.AppendLine(" Confirmor = @Confirmor,"); sql.AppendLine(" confirmDate = getdate(),"); sql.AppendLine(" BillStatus = 2,"); sql.AppendLine(" ModifiedUserID = @ModifiedUserID,"); sql.AppendLine(" ModifiedDate = getdate()"); sql.AppendLine(" Where CompanyCD=@CompanyCD and ID=@ID"); SqlCommand comm = new SqlCommand(); comm.CommandText = sql.ToString(); comm.Parameters.Add(SqlHelper.GetParameterFromString("@Confirmor", model.Confirmor)); comm.Parameters.Add(SqlHelper.GetParameterFromString("@ModifiedUserID", model.ModifiedUserID)); comm.Parameters.Add(SqlHelper.GetParameterFromString("@CompanyCD", model.CompanyCD)); comm.Parameters.Add(SqlHelper.GetParameterFromString("@ID", model.ID)); lstConfirm.Add(comm); List<StorageInOtherDetailModel> modelList = new List<StorageInOtherDetailModel>(); string sqlSele = "select a.CompanyCD,a.ProductID,a.StorageID,a.BatchNo,a.InNo,a.UnitPrice,a.UsedUnitCount,b.OtherCorpID," + "convert(varchar(10),b.EnterDate,23) HappenDate,a.ProductCount,a.Remark,a.FromLineNo from officedba.StorageInOtherDetail a " + " left join officedba.StorageInOther b on b.InNo = a.InNo and a.CompanyCD = b.CompanyCD " + " where a.CompanyCD='" + model.CompanyCD + "' and a.InNo=(select InNo from officedba.StorageInOther where ID=" + model.ID + ")"; DataTable dt = SqlHelper.ExecuteSql(sqlSele); if (dt != null && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { StorageInOtherDetailModel modelDetail = new StorageInOtherDetailModel(); StorageAccountModel StorageAccountM = new StorageAccountModel(); if (dt.Rows[i]["ProductID"].ToString() != "") { modelDetail.ProductID = dt.Rows[i]["ProductID"].ToString(); StorageAccountM.ProductID = Convert.ToInt32(dt.Rows[i]["ProductID"].ToString()); } if (dt.Rows[i]["StorageID"].ToString() != "") { modelDetail.StorageID = dt.Rows[i]["StorageID"].ToString(); StorageAccountM.StorageID = Convert.ToInt32(dt.Rows[i]["StorageID"].ToString()); } if (dt.Rows[i]["ProductCount"].ToString() != "") { modelDetail.ProductCount = dt.Rows[i]["ProductCount"].ToString(); StorageAccountM.ProductCount = Convert.ToDecimal(dt.Rows[i]["ProductCount"].ToString()); StorageAccountM.HappenCount = Convert.ToDecimal(dt.Rows[i]["ProductCount"].ToString()); } if (dt.Rows[i]["UsedUnitCount"].ToString() != "") { modelDetail.UsedUnitCount = dt.Rows[i]["UsedUnitCount"].ToString(); } if (dt.Rows[i]["FromLineNo"].ToString() != "") { modelDetail.FromLineNo = dt.Rows[i]["FromLineNo"].ToString(); } StorageAccountM.CompanyCD = dt.Rows[i]["CompanyCD"].ToString(); StorageAccountM.BillType = 5; if (dt.Rows[i]["BatchNo"].ToString() != "") { modelDetail.BatchNo = dt.Rows[i]["BatchNo"].ToString(); StorageAccountM.BatchNo = dt.Rows[i]["BatchNo"].ToString(); } modelList.Add(modelDetail); StorageAccountM.BillNo = dt.Rows[i]["InNo"].ToString(); StorageAccountM.Price = Convert.ToDecimal(dt.Rows[i]["UnitPrice"].ToString()); StorageAccountM.HappenDate = Convert.ToDateTime(dt.Rows[i]["HappenDate"].ToString()); StorageAccountM.Creator = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).EmployeeID; StorageAccountM.PageUrl = "../Office/StorageManager/StorageInOtherAdd.aspx"; StorageAccountM.ReMark = dt.Rows[i]["Remark"].ToString(); SqlCommand commSA = new SqlCommand(); commSA = StorageAccountDBHelper.InsertStorageAccountCommand(StorageAccountM, "0"); lstConfirm.Add(commSA); } } if (modelList != null && modelList.Count > 0)//明细不为空的时候 { StringBuilder strAddSBDetail = new StringBuilder(); strAddSBDetail.AppendLine("update officedba.SellBackDetail set "); strAddSBDetail.AppendLine(" InNumber =ISNULL(InNumber,0)+@ReBackNum where "); strAddSBDetail.AppendLine(" BackNo=(select BackNo from officedba.SellBack where ID=(select FromBillID from officedba.StorageInOther where ID=" + model.ID + "))"); strAddSBDetail.AppendLine(" and SortNo=@SortNo"); for (int i = 0; i < modelList.Count; i++) { SqlCommand commReSB = new SqlCommand(); commReSB.CommandText = strAddSBDetail.ToString(); if (modelList[i].UsedUnitCount != null) { commReSB.Parameters.Add(SqlHelper.GetParameterFromString("@ReBackNum", modelList[i].UsedUnitCount));//回写增加的数量 } else { commReSB.Parameters.Add(SqlHelper.GetParameterFromString("@ReBackNum", modelList[i].ProductCount));//回写增加的数量 } commReSB.Parameters.Add(SqlHelper.GetParameterFromString("@SortNo", modelList[i].FromLineNo)); lstConfirm.Add(commReSB);//循环加入数组(把SellbackDetail已经入库数量增加) SqlCommand commPD = new SqlCommand(); if (Exists(modelList[i].BatchNo,modelList[i].StorageID, modelList[i].ProductID, model.CompanyCD)) { commPD = updateStorageProduct(modelList[i].BatchNo, modelList[i].ProductID, modelList[i].StorageID, modelList[i].ProductCount, model, true); } else { commPD = InsertStorageProduct(modelList[i].BatchNo,modelList[i].ProductID, modelList[i].StorageID, modelList[i].ProductCount, model.CompanyCD); } lstConfirm.Add(commPD); } } bool IsOK = true; IsOK = SqlHelper.ExecuteTransWithArrayList(lstConfirm); string retstrval = ""; if (IsOK) { string IsVoucher = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).IsVoucher ? "1" : "0"; string IsApply = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).IsApply ? "1" : "0"; decimal TotalPri = Convert.ToDecimal(model.TotalPrice); DataTable dtCurrtype = XBase.Data.Office.FinanceManager.CurrTypeSettingDBHelper.GetMasterCurrency(((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD); string CurrencyInfo = dtCurrtype.Rows[0]["ID"].ToString(); string ExchangeRate = dtCurrtype.Rows[0]["ExchangeRate"].ToString(); int ProviderID = 0; if (dt.Rows[0]["OtherCorpID"].ToString() != "") { ProviderID = Convert.ToInt32(dt.Rows[0]["OtherCorpID"].ToString()); } bool IsTure = XBase.Data.Office.FinanceManager.AutoVoucherDBHelper.AutoVoucherInsert(8, ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD, IsVoucher, IsApply, TotalPri, "officedba.StorageInOther," + model.ID, CurrencyInfo+","+ExchangeRate, ProviderID, out retstrval); if (IsTure) retstrval = "确认成功!"; else retstrval = "确认成功!" + retstrval; Msg = retstrval; } else { Msg = "确认失败!"; } return IsOK; }