public static bool ConfirmBill(StorageOutRedModel model) { ArrayList lstConfirm = new ArrayList(); StringBuilder sql = new StringBuilder(); sql.AppendLine(" UPDATE officedba.StorageOutRed 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<StorageOutRedDetailModel> modelList = new List<StorageOutRedDetailModel>(); string sqlSele = "select ProductID,CompanyCD,StorageID,UnitPrice,OutNo,BatchNo,UsedUnitCount,ProductCount from officedba.StorageOutRedDetail where CompanyCD='" + model.CompanyCD + "'" + "and OutNo=(select OutNo from officedba.StorageOutRed 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++) { StorageOutRedDetailModel modelDetail = new StorageOutRedDetailModel(); if (dt.Rows[i]["ProductID"].ToString() != "") { modelDetail.ProductID = dt.Rows[i]["ProductID"].ToString(); } if (dt.Rows[i]["StorageID"].ToString() != "") { modelDetail.StorageID = dt.Rows[i]["StorageID"].ToString(); } if (dt.Rows[i]["ProductCount"].ToString() != "") { modelDetail.ProductCount = dt.Rows[i]["ProductCount"].ToString(); } modelDetail.BatchNo = dt.Rows[i]["BatchNo"].ToString(); if (dt.Rows[i]["UsedUnitCount"].ToString() == "") modelDetail.UsedUnitCount = dt.Rows[i]["ProductCount"].ToString(); else modelDetail.UsedUnitCount = dt.Rows[i]["UsedUnitCount"].ToString(); modelList.Add(modelDetail); #region 操作库存流水账 StorageAccountModel AccountM_ = new StorageAccountModel(); AccountM_.BatchNo = dt.Rows[i]["BatchNo"].ToString(); AccountM_.BillNo = dt.Rows[i]["OutNo"].ToString(); AccountM_.BillType = 9; AccountM_.CompanyCD = dt.Rows[i]["CompanyCD"].ToString(); AccountM_.Creator = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).EmployeeID; AccountM_.HappenCount = Convert.ToDecimal(dt.Rows[i]["ProductCount"].ToString()); AccountM_.HappenDate = System.DateTime.Now; AccountM_.PageUrl = "../Office/StorageManager/StorageOutRedAdd.aspx"; AccountM_.Price = Convert.ToDecimal(dt.Rows[i]["UnitPrice"].ToString()); AccountM_.ProductCount = Convert.ToDecimal(dt.Rows[i]["ProductCount"].ToString()); AccountM_.ProductID = Convert.ToInt32(dt.Rows[i]["ProductID"].ToString()); AccountM_.StorageID = Convert.ToInt32(dt.Rows[i]["StorageID"].ToString()); SqlCommand AccountCom_ = StorageAccountDBHelper.InsertStorageAccountCommand(AccountM_,"0"); lstConfirm.Add(AccountCom_); #endregion } } if (modelList != null && modelList.Count > 0)//明细不为空的时候 { for (int i = 0; i < modelList.Count; i++) { SqlCommand commPD = updateStorageProduct(modelList[i].BatchNo, modelList[i].ProductID, modelList[i].StorageID, modelList[i].ProductCount, model, true); lstConfirm.Add(commPD); } } foreach (SqlCommand cmd in GetOutFromBillInfo(model.CompanyCD, model.ID)) { lstConfirm.Add(cmd); } return SqlHelper.ExecuteTransWithArrayList(lstConfirm); }
/// <summary> /// 明细参数设置 /// </summary> /// <param name="comm"></param> /// <param name="model"></param> private static void EditOutRedDetailInfo(SqlCommand comm, StorageOutRedDetailModel model) { //@CompanyCD,@OutNo,@SortNo,@ProductID,@StorageID,@UnitPrice, //@ProductCount,@TotalPrice,@Remark,@FromType,@FromLineNo,getdate(),@ModifiedUserID) comm.Parameters.Add(SqlHelper.GetParameterFromString("@CompanyCD ", model.CompanyCD));//公司代码 comm.Parameters.Add(SqlHelper.GetParameterFromString("@OutNo ", model.OutNo));//出库单编号 comm.Parameters.Add(SqlHelper.GetParameterFromString("@SortNo ", model.SortNo));// comm.Parameters.Add(SqlHelper.GetParameterFromString("@ProductID ", model.ProductID));//物品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("@UnitID ", model.UnitID));//基本单位 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));//批次 comm.Parameters.Add(SqlHelper.GetParameterFromString("@ModifiedUserID ", model.ModifiedUserID));//最后更新用户ID(对应操作用户表中的UserID) comm.Parameters.Add(SqlHelper.GetParameterFromString("@FromType ", model.FromType));// comm.Parameters.Add(SqlHelper.GetParameterFromString("@FromLineNo ", model.FromLineNo));// }