Exemplo n.º 1
0
        public static bool ConfirmPuechaseOrder(string CompanyCD, string ID, string FromType, string OrderNo, out string Reason, List<ProductModel> ProductMList, List<ProductModel> ProductMStorList)
        {
            try
            {

                if (!PurchaseOrderDBHelper.CanConfirm(CompanyCD, OrderNo, int.Parse(ID), FromType, out Reason))
                    return false;
                ArrayList lstConfirm = new ArrayList();
                //写确认人,确认时间,单据状态
                lstConfirm.Add(PurchaseOrderDBHelper.ConfirmPurchaseOrder(ID));
                //回写合同表
                if (FromType == "4")
                {
                    foreach (ProductModel ProductM in ProductMList)
                    {
                        lstConfirm.Add(PurchaseOrderDBHelper.WritePurContract(ProductM));
                    }
                }
                else if (FromType == "2")
                {//回写计划表
                    foreach (ProductModel ProductM in ProductMList)
                    {
                        lstConfirm.Add(PurchaseOrderDBHelper.WritePurPlanConfirm(ProductM));
                    }
                }
                //回写库存分仓存量表
                foreach (ProductModel ProductM in ProductMStorList)
                {
                    lstConfirm.Add(PurchaseOrderDBHelper.WriteStorge(ProductM));
                }

                //获取登陆用户信息
                UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"];
                //定义返回变量
                bool isSucc = false;
                /* 
                 * 定义日志内容变量 
                 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库
                 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件
                 */

                //执行插入操作
                try
                {
                    isSucc = SqlHelper.ExecuteTransWithArrayList(lstConfirm);
                }
                catch (Exception ex)
                {
                    //输出日志
                    WriteSystemLog(userInfo, ex);
                }
                //定义变量
                string remark;
                //成功时
                if (isSucc)
                {
                    //设置操作成功标识
                    remark = ConstUtil.LOG_PROCESS_SUCCESS;
                }
                else
                {
                    //设置操作成功标识 
                    remark = ConstUtil.LOG_PROCESS_FAILED;
                }

                LogInfoModel logModel = InitLogInfo(OrderNo);
                //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空
                logModel.Element = ConstUtil.LOG_PROCESS_CONFIRM;
                //设置操作成功标识
                logModel.Remark = remark;

                //登陆日志
                LogDBHelper.InsertLog(logModel);
                return isSucc;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }