Ejemplo n.º 1
0
        public void UpdateAssignLog(AssignDetail detail, OperLog operLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
//
//					AssignDetail detail = new AssignDetail();
//					detail.cnnAssignSerialNo = detailLog.cnnAssignSerialNo;
//					detail.cnnOrderSerialNo = detailLog.cnnOrderSerialNo;
//					detail.cnvcProductCode = detailLog.cnvcProductCode;
                    AssignDetail detailOld = EntityMapping.Get(detail, trans) as AssignDetail;
                    if (detail.cnnCount != detailOld.cnnCount)
                    {
                        string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                        DateTime dtSysTime  = DateTime.Parse(strSysTime);

                        OrderSerialNo serialNo = new OrderSerialNo();
                        serialNo.cnvcFill    = "0";
                        serialNo.cnnSerialNo = Convert.ToDecimal(EntityMapping.Create(serialNo, trans));

                        detailOld.cnnCount = detail.cnnCount;
                        detailOld.cnnSum   = Math.Round(detail.cnnCount * detailOld.cnnPrice, 2);
                        EntityMapping.Update(detailOld, trans);

                        AssignDetailLog detailLog = new AssignDetailLog(detailOld.ToTable());
                        detailLog.cnvcOperID  = operLog.cnvcOperID;
                        detailLog.cndOperDate = dtSysTime;
                        detailLog.cnnSerialNo = serialNo.cnnSerialNo;
                        EntityMapping.Create(detailLog, trans);

                        operLog.cndOperDate  = dtSysTime;
                        operLog.cnvcComments = "生产流水:" + detail.cnnAssignSerialNo.ToString() + ",日志流水:" + serialNo.cnnSerialNo.ToString();
                        EntityMapping.Create(operLog, trans);
                    }


                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
        private bool CheckPassword(string username, string password, bool updateLastLoginActivityDate)
        {
            string   passwdFromDB;
            int      failedPasswordAttemptCount;
            bool     isPasswordCorrect;
            DateTime lastLoginDate, lastActivityDate;

            DataTable dt = SqlHelper.ExecuteDataTable(CommandType.Text, "select * from tbOper where cnvcOperName='" + username + "'");

            if (dt.Rows.Count == 0)
            {
                throw new BusinessException("操作员登录", "未找到操作员!");
            }
            Oper oper = new Oper(dt);

            GetPasswordWithFormat(oper, updateLastLoginActivityDate, out passwdFromDB, out failedPasswordAttemptCount,
                                  out lastLoginDate, out lastActivityDate);

            //string encodedPasswd = EncodePassword(password);

            isPasswordCorrect = UnEncodePassword(passwdFromDB).Equals(password);

            if (isPasswordCorrect)
            {
                return(true);
            }
            oper.FailedPasswordAttemptCount       = oper.FailedPasswordAttemptCount + 1;
            oper.FailedPasswordAttemptWindowStart = DateTime.Now;

            EntityMapping.Update(oper);
            return(isPasswordCorrect);
        }
Ejemplo n.º 3
0
        public void UpdateOrder(OrderBook order, OperLog operLog)       //,BusiLog busiLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    OrderBook oldOrder = new OrderBook();
                    oldOrder.cnnOrderSerialNo = order.cnnOrderSerialNo;
                    oldOrder = EntityMapping.Get(oldOrder, trans) as OrderBook;
                    if (oldOrder == null)
                    {
                        throw new Exception("订单未找到");
                    }
                    oldOrder.cnvcOrderOperID   = order.cnvcOrderOperID;
                    oldOrder.cnvcOrderType     = order.cnvcOrderType;
                    oldOrder.cnvcProduceDeptID = order.cnvcProduceDeptID;
                    oldOrder.cnvcOrderDeptID   = order.cnvcOrderDeptID;

                    if (oldOrder.cnvcOrderType == "WDO")
                    {
                        oldOrder.cndArrivedDate  = order.cndArrivedDate;
                        oldOrder.cnvcLinkPhone   = order.cnvcLinkPhone;
                        oldOrder.cnvcShipAddress = order.cnvcShipAddress;
                        oldOrder.cnvcCustomName  = order.cnvcCustomName;
                    }
                    //order.cnnOrderSerialNo = decimal.Parse(txtOrderSerialNo.Text);
                    oldOrder.cndShipDate = order.cndShipDate;
                    EntityMapping.Update(oldOrder, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "订单流水:" + oldOrder.cnnOrderSerialNo;
                    EntityMapping.Create(operLog, trans);

                    //EntityMapping.Create(busiLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 4
0
        public void ModifyDept(Dept dept)
        {
            try
            {
                conn  = ConnectionPool.BorrowConnection();
                trans = conn.BeginTransaction();
                EntityMapping.Update(dept, trans);

                trans.Commit();
            }
            catch (BusinessException bex)             //业务异常
            {
                //LogAdapter.WriteBusinessException(bex);
                trans.Rollback();
                throw new BusinessException(bex.Type, bex.Message);
            }
            catch (SqlException sex)               //数据库异常
            {
                //事务回滚
                trans.Rollback();
                //LogAdapter.WriteDatabaseException(sex);
                throw new BusinessException("数据库异常", sex.Message);
            }
            catch (Exception ex)                         //其他异常
            {
                //事务回滚
                trans.Rollback();
                //LogAdapter.WriteFeaturesException(ex);
                throw new BusinessException("其它异常", ex.Message);
            }
            finally
            {
                ConnectionPool.ReturnConnection(conn);
            }
        }
Ejemplo n.º 5
0
        public void UpdateBook(Book book, OperLog operLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    Entity.Book oldbook = new Book();
                    oldbook.cnnSerialNo = book.cnnSerialNo;
                    oldbook             = EntityMapping.Get(oldbook, trans) as Book;
                    if (oldbook == null)
                    {
                        throw new Exception("未找到留言内容!");
                    }
                    if (oldbook.cnvcState != "0")
                    {
                        throw new Exception("已确认的留言不能修改!");
                    }
                    oldbook.cnvcBook        = book.cnvcBook;
                    oldbook.cmvcPublishID   = book.cmvcPublishID;
                    oldbook.cnvcPublishName = book.cnvcPublishName;
                    oldbook.cndPublishDate  = dtSysTime;
                    oldbook.cnvcCheckDept   = book.cnvcCheckDept;

                    oldbook.cnvcCheckID   = string.Empty;
                    oldbook.cnvcCheckName = string.Empty;
                    oldbook.cndcheckDate  = DateTime.MinValue;

                    EntityMapping.Update(oldbook, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "留言本流水号:" + oldbook.cnnSerialNo.ToString();
                    EntityMapping.Create(operLog, trans);

                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
 public void UpdateUser(Oper user)
 {
     if (user == null)
     {
         throw new ArgumentNullException("user");
     }
     EntityMapping.Update(user);
 }
Ejemplo n.º 7
0
        private void SyncGoods(Entity.Inventory inv, SqlTransaction trans)
        {
            //string strsql = "SELECT * FROM tbProductClass where cnvcproductclasscode='"+inv.cnvcInvCCode+"'";
            //DataTable dtpc = SqlHelper.ExecuteDataTable(trans,CommandType.Text,strsql);
            //			if(dtpc.Rows.Count>0)
            //			{
            //Entity.ProductClass pc = new ProductClass(dtpc);
            //				if(pc.cnvcProductType == "FINALPRODUCT")
            //				{

            string    strsql  = "select * from tbGoods where vcGoodsID='" + inv.cnvcInvCode + "'";
            DataTable dtGoods = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strsql);

            if (inv.cnbSale)
            {
                if (dtGoods.Rows.Count == 0)
                {
                    Entity.Goods gs = new Goods();
                    gs.vcGoodsID   = inv.cnvcInvCode;
                    gs.vcGoodsName = inv.cnvcInvName;
                    gs.vcSpell     = Helper.GetChineseSpell(inv.cnvcInvName);
                    gs.nPrice      = Convert.ToDecimal(inv.cnfRetailPrice);
                    gs.nRate       = 0;
                    gs.iIgValue    = -1;
                    gs.cNewFlag    = "0";
                    gs.vcComments  = "存货档案添加同步";
                    EntityMapping.Create(gs, trans);
                }
                else
                {
                    Entity.Goods gs = new Goods(dtGoods);
                    if (gs.vcGoodsName != inv.cnvcInvName)
                    {
                        gs.vcGoodsName = inv.cnvcInvName;
                        gs.vcSpell     = Helper.GetChineseSpell(inv.cnvcInvName);
                    }
                    if (inv.cnfRetailPrice > 0)
                    {
                        gs.nPrice = Convert.ToDecimal(inv.cnfRetailPrice);
                    }
                    gs.vcComments = "存货档案修改同步";
                    EntityMapping.Update(gs, trans);
                }
            }
            else
            {
                if (dtGoods.Rows.Count > 0)
                {
                    Entity.Goods gs = new Goods(dtGoods);
                    EntityMapping.Delete(gs, trans);
                }
            }
            //}
            //}
        }
Ejemplo n.º 8
0
        public int UpdateWareHouse(OperLog operLog, Entity.Warehouse wh)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    Entity.Warehouse oldwh = new AMSApp.zhenghua.Entity.Warehouse();
                    oldwh.cnvcWhCode = wh.cnvcWhCode;

                    oldwh                  = EntityMapping.Get(oldwh, trans) as AMSApp.zhenghua.Entity.Warehouse;
                    oldwh.cnvcWhName       = wh.cnvcWhName;
                    oldwh.cnvcDepCode      = wh.cnvcDepCode;
                    oldwh.cnvcWhAddress    = wh.cnvcWhAddress;
                    oldwh.cnvcWhPhone      = wh.cnvcWhPhone;
                    oldwh.cnvcWhPerson     = wh.cnvcWhPerson;
                    oldwh.cnvcWhValueStyle = wh.cnvcWhValueStyle;
                    oldwh.cnbFreeze        = wh.cnbFreeze;
                    oldwh.cnnFrequency     = wh.cnnFrequency;
                    oldwh.cnvcFrequency    = wh.cnvcFrequency;
                    oldwh.cnvcWhProperty   = wh.cnvcWhProperty;
                    oldwh.cnbShop          = wh.cnbShop;
                    EntityMapping.Update(oldwh, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "仓库编码:" + oldwh.cnvcWhCode;
                    EntityMapping.Create(operLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    return(-1);
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    return(-1);
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
                return(1);
            }
        }
Ejemplo n.º 9
0
        public void BatchUpdateProduceCheck(ArrayList alCheck, string strProduceSerialNo, OperLog operLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    for (int i = 0; i < alCheck.Count; i++)
                    {
                        ProduceCheckLog check    = alCheck[i] as ProduceCheckLog;
                        ProduceCheckLog oldCheck = new ProduceCheckLog();
                        oldCheck.cnnProduceSerialNo = check.cnnProduceSerialNo;
                        oldCheck.cnvcCode           = check.cnvcCode;
                        oldCheck = EntityMapping.Get(oldCheck, trans) as ProduceCheckLog;
                        if (oldCheck == null)
                        {
                            throw new Exception("未找到指定产品生产库存");
                        }
                        oldCheck.cnnCheckCount = check.cnnCheckCount;
                        oldCheck.cnvcOperID    = check.cnvcOperID;
                        oldCheck.cndOperDate   = dtSysTime;
                        EntityMapping.Update(oldCheck, trans);
                    }

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "生产流水:" + strProduceSerialNo;
                    EntityMapping.Create(operLog, trans);

                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 10
0
        public void AdjustProductLostSerial_Add(LostSerial ls, OperLog operLog)       //,BusiLog busiLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    LostSerial oldls = EntityMapping.Get(ls, trans) as LostSerial;
                    if (oldls == null)
                    {
                        throw new Exception("未找到对应报损流水的产品!");
                    }

                    oldls.cnnAddCount    = ls.cnnAddCount;
                    oldls.cnnReduceCount = ls.cnnReduceCount;
                    oldls.cnvcOperID     = operLog.cnvcOperID;
                    oldls.cndOperDate    = dtSysTime;
                    EntityMapping.Update(oldls, trans);

//					ProductLostSerialLog productLostSerialLog = new ProductLostSerialLog(oldProductLostSerial.ToTable());
//					productLostSerialLog.cnnProductLostSerialNo = oldProductLostSerial.cnnSerialNo;
//					EntityMapping.Create(productLostSerialLog, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "生产产品报损调整,报损流水:" + oldls.cnnLostSerialNo.ToString() + ",产品编码:" + ls.cnvcInvCode;

                    EntityMapping.Create(operLog, trans);

                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 11
0
        public void AdjustCheckSerial_Reduce(CheckSerial CheckSerial, OperLog operLog)       //,BusiLog busiLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    CheckSerial oldCheckSerial = EntityMapping.Get(CheckSerial, trans) as CheckSerial;
                    if (oldCheckSerial == null)
                    {
                        throw new Exception("未找到对应盘点流水的产品!");
                    }

                    oldCheckSerial.cnnReduceCount = CheckSerial.cnnReduceCount;
                    oldCheckSerial.cnvcOperID     = operLog.cnvcOperID;
                    oldCheckSerial.cndOperDate    = dtSysTime;
                    EntityMapping.Update(oldCheckSerial, trans);

                    CheckSerialLog checkSerialLog = new CheckSerialLog(oldCheckSerial.ToTable());
                    checkSerialLog.cnnCheckSerialNo = oldCheckSerial.cnnSerialNo;
                    EntityMapping.Create(checkSerialLog, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "盘点调减,盘点流水:" + oldCheckSerial.cnnSerialNo.ToString() + ",产品编码:" + CheckSerial.cnvcCode;

                    EntityMapping.Create(operLog, trans);

                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
        public Oper GetUser(int userid, bool userIsOnline)
        {
            Oper oper = new Oper();

            oper.cnnOperID = userid;
            oper           = EntityMapping.Get(oper) as Oper;
            if (userIsOnline)
            {
                oper.LastActivityDate = DateTime.Now;
                EntityMapping.Update(oper);
            }
            return(oper);
        }
Ejemplo n.º 13
0
        public static void UpdatePwd(Oper oper)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    Oper oldOper = new Oper();
                    oldOper.cnvcOperID = oper.cnvcOperID;
                    oldOper            = EntityMapping.Get(oldOper, trans) as Oper;
                    if (null == oldOper)
                    {
                        throw new Exception("无此用户");
                    }
                    oldOper.cnvcOperPwd = oper.cnvcOperPwd;                    //DataSecurity.Encrypt(oper.cnvcOperPwd);
                    EntityMapping.Update(oldOper, trans);

                    BusiLog busiLog = new BusiLog();
                    busiLog.cndOperDate     = dtSysTime;
                    busiLog.cnnBusiSerialNo = Helper.GetSerialNo(trans);
                    busiLog.cnvcComments    = "修改密码";
                    busiLog.cnvcFuncCode    = "修改密码";
                    busiLog.cnvcOperID      = oper.cnvcOperID;
                    busiLog.cnvcIPAddress   = "";
                    EntityMapping.Create(busiLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 14
0
        public int UpdateComputationUnit(OperLog operLog, Entity.ComputationUnit cu)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    Entity.ComputationUnit oldcu = new Entity.ComputationUnit();
                    oldcu.cnvcComunitCode = cu.cnvcComunitCode;

                    oldcu = EntityMapping.Get(oldcu, trans) as Entity.ComputationUnit;
                    if (oldcu == null)
                    {
                        throw new Exception("无法定位计量单位:" + cu.cnvcComunitCode);
                    }
                    oldcu.cnvcComUnitName = cu.cnvcComUnitName;
                    oldcu.cnbMainUnit     = cu.cnbMainUnit;
                    oldcu.cniChangRate    = cu.cniChangRate;
                    EntityMapping.Update(oldcu, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "计量单位编码:" + cu.cnvcComunitCode;
                    EntityMapping.Create(operLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    return(-1);
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    return(-1);
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
                return(1);
            }
        }
Ejemplo n.º 15
0
/// <summary>
/// 专供油合同修改
/// </summary>
/// <param name="so">合同对象</param>
/// <param name="bl">日志</param>
        public void SOMOD(Entity.SpecialOilDept so, Entity.BusiLog bl)
        {
            ConnectionPool.IsCenter = true;
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();
                SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);
                    Guid     gd         = Guid.NewGuid();

                    EntityMapping.Update(so, trans);
                    //日志
                    bl.cnnSerial    = gd;
                    bl.cnvcComments = "专供油合同修改";
                    bl.cnvcOperType = OperType.OP205;
                    bl.cndOperDate  = dtSysTime;
                    bl.cnvcSource   = InSource.cs;
                    EntityMapping.Create(bl, trans);

                    trans.Commit();
                }
                catch (BusinessException bex)
                {
                    trans.Rollback();
                    LogAdapter.WriteBusinessException(bex);
                    throw bex;
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 16
0
        //订单更新产品
        public void UpdateDetail(OrderBookDetail detail, OperLog operLog)       //,BusiLog busiLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    OrderBookDetail oldDetail = new OrderBookDetail();
                    oldDetail.cnnOrderSerialNo = detail.cnnOrderSerialNo;
                    oldDetail.cnvcProductCode  = detail.cnvcProductCode;
                    oldDetail = EntityMapping.Get(oldDetail, trans) as OrderBookDetail;

                    oldDetail.cnnOrderCount = detail.cnnOrderCount;
                    oldDetail.cnnSum        = detail.cnnOrderCount * oldDetail.cnnPrice;
                    oldDetail.cnvcOperID    = detail.cnvcOperID;
                    oldDetail.cndOperDate   = dtSysTime;
                    EntityMapping.Update(oldDetail, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "订单流水:" + detail.cnnOrderSerialNo.ToString();
                    EntityMapping.Create(operLog, trans);

                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 17
0
        public void UpdatePriority(Dept dept, OperLog operLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    Dept oldDept = new Dept();
                    oldDept.cnvcDeptID = dept.cnvcDeptID;
                    oldDept            = EntityMapping.Get(oldDept, trans) as Dept;
                    if (oldDept == null)
                    {
                        throw new Exception("未找到相应的部门");
                    }
                    oldDept.cnnPriority = dept.cnnPriority;
                    EntityMapping.Update(oldDept, trans);

                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "部门ID:" + dept.cnvcDeptID;
                    EntityMapping.Create(operLog, trans);

                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 18
0
        public static void UpdateProject(Project project, Oper oper)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    project.cnvcOperID  = oper.cnvcOperID;
                    project.cndOperDate = dtSysTime;
                    //project.cnnProjectID = Helper.GetSerialNo(trans);
                    EntityMapping.Update(project, trans);

                    BusiLog busiLog = new BusiLog();
                    busiLog.cndOperDate     = dtSysTime;
                    busiLog.cnnBusiSerialNo = Helper.GetSerialNo(trans);
                    busiLog.cnvcComments    = project.cnvcProjectName;
                    busiLog.cnvcFuncCode    = " 修改商机";
                    busiLog.cnvcOperID      = oper.cnvcOperID;
                    busiLog.cnvcIPAddress   = "";
                    EntityMapping.Create(busiLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 19
0
        public int UpdateProductClass(OperLog operLog, ProductClass pc)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    ProductClass oldpc = new ProductClass();
                    oldpc.cnvcProductClassCode = pc.cnvcProductClassCode;

                    oldpc = EntityMapping.Get(oldpc, trans) as ProductClass;
                    oldpc.cnvcComments         = pc.cnvcComments;
                    oldpc.cnvcProductClassName = pc.cnvcProductClassName;
                    oldpc.cnvcProductType      = pc.cnvcProductType;
                    EntityMapping.Update(pc, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "产品分类:" + pc.cnvcProductClassCode;
                    EntityMapping.Create(operLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    return(-1);
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    return(-1);
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
                return(1);
            }
        }
Ejemplo n.º 20
0
        public int UpdateProducer(OperLog operLog, Entity.Producer producer)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    Entity.Producer oldproducer = new AMSApp.zhenghua.Entity.Producer();
                    oldproducer.cnnProducerID = producer.cnnProducerID;

                    oldproducer = EntityMapping.Get(oldproducer, trans) as AMSApp.zhenghua.Entity.Producer;
                    oldproducer.cnvcProducerName = producer.cnvcProducerName;
                    EntityMapping.Update(oldproducer, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "生产员编码:" + oldproducer.cnnProducerID.ToString();
                    EntityMapping.Create(operLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    return(-1);
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    return(-1);
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
                return(1);
            }
        }
        private void GetPasswordWithFormat(Oper oper,
                                           bool updateLastLoginActivityDate,
                                           out string password,
                                           out int failedPasswordAttemptCount,
                                           out DateTime lastLoginDate,
                                           out DateTime lastActivityDate)
        {
            failedPasswordAttemptCount = oper.FailedPasswordAttemptCount;
            lastActivityDate           = oper.LastActivityDate;
            lastLoginDate = oper.LastLoginDate;
            password      = oper.cnvcPwd;

            if (updateLastLoginActivityDate)
            {
                oper.LastLoginDate    = DateTime.Now;
                oper.LastActivityDate = DateTime.Now;
                EntityMapping.Update(oper);
            }
        }
Ejemplo n.º 22
0
        public int UpdateComputationGroup(OperLog operLog, ComputationGroup cg)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    ComputationGroup oldcg = new ComputationGroup();
                    oldcg.cnvcGroupCode = cg.cnvcGroupCode;

                    oldcg = EntityMapping.Get(oldcg, trans) as ComputationGroup;
                    oldcg.cnvcGroupName = cg.cnvcGroupName;
                    EntityMapping.Update(cg, trans);

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "计量单位组编码:" + cg.cnvcGroupCode;
                    EntityMapping.Create(operLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    return(-1);
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    return(-1);
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
                return(1);
            }
        }
Ejemplo n.º 23
0
        public void CancelCard(Oper opers)
        {
            try
            {
                conn = ConnectionPool.BorrowConnection();

                trans = conn.BeginTransaction();
                Oper oldOper = EntityMapping.Get(opers, trans) as Oper;
                //DataTable dtOper = SqlHelper.ExecuteDataTable(trans,CommandType.Text,"select * from tbOper where cnvcCardNo is not null and cnvcCardNo = 'aaa"+opers.cnvcCardNo+"'");
                if (null == oldOper)
                {
                    throw new BusinessException("操作员管理", "未找到操作员!");
                }
                oldOper.cnvcCardNo = "";
                EntityMapping.Update(opers, trans);
                trans.Commit();
            }
            catch (BusinessException bex)             //业务异常
            {
                //LogAdapter.WriteBusinessException(bex);
                trans.Rollback();
                throw new BusinessException(bex.Type, bex.Message);
            }
            catch (SqlException sex)               //数据库异常
            {
                //事务回滚
                trans.Rollback();
                //LogAdapter.WriteDatabaseException(sex);
                throw new BusinessException("数据库异常", sex.Message);
            }
            catch (Exception ex)                         //其他异常
            {
                //事务回滚
                trans.Rollback();
                //LogAdapter.WriteFeaturesException(ex);
                throw new BusinessException("其它异常", ex.Message);
            }
            finally
            {
                ConnectionPool.ReturnConnection(conn);
            }
        }
Ejemplo n.º 24
0
        public static void UpdateVCust(Cust newcust, Oper oper)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    DateTime dtSysTime = Helper.GetSysTime(trans);
                    newcust.cndCreateDate = dtSysTime;
                    newcust.cndOperDate   = dtSysTime;
                    EntityMapping.Update(newcust, trans);

                    BusiLog busiLog = new BusiLog();
                    busiLog.cndOperDate     = dtSysTime;
                    busiLog.cnnBusiSerialNo = Helper.GetSerialNo(trans);
                    busiLog.cnvcComments    = "修改大客户信息";
                    busiLog.cnvcFuncCode    = " 客户档案管理";
                    busiLog.cnvcOperID      = oper.cnvcOperID;
                    busiLog.cnvcIPAddress   = "";
                    EntityMapping.Create(busiLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 25
0
 public void UpdateNT77(List <NT77> lnt)
 {
     try
     {
         conn  = ConnectionPool.BorrowConnection();
         trans = conn.BeginTransaction();
         foreach (NT77 nt in lnt)
         {
             NT77 oldnt = EntityMapping.Get(nt, trans) as NT77;
             oldnt.bIsUse   = nt.bIsUse;
             oldnt.OperName = nt.OperName;
             EntityMapping.Update(oldnt, trans);
         }
         trans.Commit();
     }
     catch (BusinessException bex) //业务异常
     {
         //LogAdapter.WriteBusinessException(bex);
         trans.Rollback();
         throw new BusinessException(bex.Type, bex.Message);
     }
     catch (SqlException sex)   //数据库异常
     {
         //事务回滚
         trans.Rollback();
         //LogAdapter.WriteDatabaseException(sex);
         throw new BusinessException("数据库异常", sex.Message);
     }
     catch (Exception ex)                 //其他异常
     {
         //事务回滚
         trans.Rollback();
         //LogAdapter.WriteFeaturesException(ex);
         throw new BusinessException("其它异常", ex.Message);
     }
     finally
     {
         ConnectionPool.ReturnConnection(conn);
     }
 }
        public Oper  GetUser2(string username, bool userIsOnline)
        {
            SecUtility.CheckParameter(
                ref username,
                true,
                false,
                true,
                256,
                "username");
            DataTable dt = SqlHelper.ExecuteDataTable(CommandType.Text, "select * from tbOper where cnvcOperName='" + username + "'");

            if (dt.Rows.Count == 0)
            {
                throw new BusinessException("查找操作员", "操作员没找到");
            }
            Oper oper = new Oper(dt);

            if (userIsOnline)
            {
                oper.LastActivityDate = DateTime.Now;
                EntityMapping.Update(oper);
            }
            return(oper);
        }
Ejemplo n.º 27
0
        public void AddOrder(OrderBook orderBook, DataTable dtOrderBookDetail, OperLog operLog)      //,BusiLog busiLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);


                    if (orderBook.cnnOrderSerialNo > 0)
                    {
                        OrderBook oldOrder = new OrderBook();
                        oldOrder.cnnOrderSerialNo = orderBook.cnnOrderSerialNo;
                        oldOrder = EntityMapping.Get(oldOrder, trans) as OrderBook;
                        if (oldOrder == null)
                        {
                            throw new Exception("订单未找到");
                        }
                        oldOrder.cnvcOperID        = orderBook.cnvcOperID;
                        oldOrder.cnvcOrderType     = orderBook.cnvcOrderType;
                        oldOrder.cnvcProduceDeptID = orderBook.cnvcProduceDeptID;
                        oldOrder.cnvcOrderDeptID   = orderBook.cnvcOrderDeptID;

                        if (oldOrder.cnvcOrderType == "WDO" || oldOrder.cnvcOrderType == "WDOSELF")
                        {
                            oldOrder.cndArrivedDate  = orderBook.cndArrivedDate;
                            oldOrder.cnvcLinkPhone   = orderBook.cnvcLinkPhone;
                            oldOrder.cnvcShipAddress = orderBook.cnvcShipAddress;
                            oldOrder.cnvcCustomName  = orderBook.cnvcCustomName;
                        }
                        oldOrder.cndShipDate  = orderBook.cndShipDate;
                        oldOrder.cndOrderDate = orderBook.cndOrderDate;
                        EntityMapping.Update(oldOrder, trans);

                        SqlHelper.ExecuteNonQuery(trans, CommandType.Text, "delete from tborderbookdetail where cnnorderserialno=" + orderBook.cnnOrderSerialNo.ToString());
                        foreach (DataRow drOrderBookDetail in dtOrderBookDetail.Rows)
                        {
                            OrderBookDetail detail = new OrderBookDetail(drOrderBookDetail);
                            detail.cnnOrderSerialNo = orderBook.cnnOrderSerialNo;
                            EntityMapping.Create(detail, trans);
                        }
                    }
                    else
                    {
                        OrderSerialNo serialNo = new OrderSerialNo();
                        serialNo.cnvcFill    = "0";
                        serialNo.cnnSerialNo = Convert.ToDecimal(EntityMapping.Create(serialNo, trans));

                        orderBook.cnnOrderSerialNo = serialNo.cnnSerialNo;
                        orderBook.cndOperDate      = dtSysTime;
                        orderBook.cnvcOperID       = operLog.cnvcOperID;
                        EntityMapping.Create(orderBook, trans);

                        //SqlHelper.ExecuteNonQuery(trans,CommandType.Text,"delete from tborderbookdetail where cnnorderserialno="+orderBook.cnnOrderSerialNo.ToString())	;
                        foreach (DataRow drOrderBookDetail in dtOrderBookDetail.Rows)
                        {
                            OrderBookDetail detail = new OrderBookDetail(drOrderBookDetail);
                            detail.cnnOrderSerialNo = serialNo.cnnSerialNo;
                            EntityMapping.Create(detail, trans);
                        }
                    }

                    operLog.cndOperDate  = dtSysTime;
                    operLog.cnvcComments = "订单流水:" + orderBook.cnnOrderSerialNo;
                    EntityMapping.Create(operLog, trans);

                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 28
0
        private void UpdatePrice(SqlTransaction trans, Entity.Formula formula, ref DataTable dtDosage, ref DataTable dtFormula)
        {
            DataRow[] drIsMaterial =
                dtDosage.Select("cnvcProductCode='" + formula.cnvcProductCode +
                                "' and cnvcProductType in ('SEMIPRODUCT','FINALPRODUCT')");
            //有半成品

            foreach (DataRow drMaterial in drIsMaterial)
            {
                Dosage         dosage    = new Dosage(drMaterial);
                DataRow[]      drFormula = dtFormula.Select("cnvcProductCode='" + dosage.cnvcCode + "'");
                Entity.Formula formula2  = new AMSApp.zhenghua.Entity.Formula(drFormula[0]);
                UpdatePrice(trans, formula2, ref dtDosage, ref dtFormula);
            }

            //配料全为原材料
            DataRow[] drDosages = dtDosage.Select("cnvcProductCode='" + formula.cnvcProductCode + "'");
            if (drDosages.Length > 0)
            {
                decimal dMaterialCostSum = 0;
                decimal dPackingCostSum  = 0;
                foreach (DataRow drDosage in drDosages)
                {
                    Dosage dosage = new Dosage(drDosage);
                    if (dosage.cnvcProductType == "Pack")
                    {
                        dPackingCostSum += dosage.cnnSum;
                    }
                    else
                    {
                        dMaterialCostSum += dosage.cnnSum;
                    }
                    //dSum += dosage.cnnSum;
                }
                if (dMaterialCostSum != formula.cnnMaterialCostSum || dPackingCostSum != formula.cnnPackingCostSum)
                {
                    formula.cnnMaterialCostSum = dMaterialCostSum;
                    formula.cnnPackingCostSum  = dPackingCostSum;
                    formula.cnnCostSum         = formula.cnnMaterialCostSum + formula.cnnPackingCostSum;
                    SqlHelper.ExecuteNonQuery(trans, CommandType.Text,
                                              "update tbFormula set cnnMaterialCostSum=" + formula.cnnMaterialCostSum +
                                              ",cnnPackingCostSum=" + formula.cnnPackingCostSum + ",cnnCostSum=" +
                                              formula.cnnCostSum + " where cnvcProductCode='" +
                                              formula.cnvcProductCode + "'");
                    DataRow[] drFormula = dtFormula.Select("cnvcProductCode='" + formula.cnvcProductCode + "'");
                    drFormula[0]["cnnMaterialCostSum"] = formula.cnnMaterialCostSum;
                    drFormula[0]["cnnPackingCostSum"]  = formula.cnnPackingCostSum;
                    drFormula[0]["cnnCostSum"]         = formula.cnnCostSum;
                }
                DataRow[] drDosage_Semi = dtDosage.Select("cnvcCode='" + formula.cnvcProductCode + "'");
                foreach (DataRow dr in drDosage_Semi)
                {
                    Dosage  dosage = new Dosage(dr);
                    decimal dPrice = 0;
                    if (formula.cnnPortionCount == 0)
                    {
                        dPrice = formula.cnnCostSum;
                    }
                    else
                    {
                        dPrice = Math.Round(formula.cnnCostSum / formula.cnnPortionCount, 4);
                    }
                    if (dosage.cnnPrice != dPrice)
                    {
                        dosage.cnnPrice = dPrice;
                        dosage.cnnSum   = Math.Round(dosage.cnnPrice * dosage.cnnCount, 4);
                        EntityMapping.Update(dosage, trans);
                        dr["cnnPrice"] = dPrice;//dosage.cnnPrice;
                        dr["cnnSum"]   = dosage.cnnSum;
                    }
                }
            }
        }
Ejemplo n.º 29
0
        public void BOMMOD(Entity.BillOfMaterials bom, Entity.BusiLog bl, bool isHis)
        {
            ConnectionPool.IsCenter = false;
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();
                SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    Entity.OilStorage os = new OilStorage(bl.ToTable());
                    os.cnvcGoodsName = bom.cnvcGoodsName;
                    os.cnvcGoodsType = bom.cnvcGoodsType;
                    os = EntityMapping.Get(os, trans) as OilStorage;
                    if (null == os)
                    {
                        throw new BusinessException(bexType.noobject, "库存获取错误");
                    }

                    Guid gd = Guid.NewGuid();

                    //判断修改操作类型 改多为入库 改少为出库
                    //专供油出库
                    Entity.BillOfMaterials oldbom = new BillOfMaterials(bom.GetOriginalValue());
                    string strOperType            = "";
                    if (oldbom.cnnCount > bom.cnnCount)
                    {
                        strOperType = InType.BOMModIn;
                    }
                    else
                    {
                        strOperType = InType.BOMModOut;
                    }

                    //验收单
                    //bom.cnvcInType = strOperType;
                    bom.cndOperDate = dtSysTime;
                    if (isHis)
                    {
                        Entity.BillOfMaterialsHis bomhis = new BillOfMaterialsHis(bom.GetOriginalValue());
                        EntityMapping.Delete(bomhis, trans);

                        //bomhis.SynchronizeModifyValue(bom);
                        EntityMapping.Create(bom, trans);
                    }
                    else
                    {
                        EntityMapping.Update(bom, trans);
                    }
                    if (bom.cnnCount != oldbom.cnnCount)
                    {
                        //库存日志
                        Entity.OilStorageLog ol = new OilStorageLog(bom.ToTable());
                        ol.cnvcDeptName  = bl.cnvcDeptName;
                        ol.cnvcOperType  = strOperType;
                        ol.cnnSerial     = gd;
                        ol.cnnLastCount  = os.cnnStorageCount;
                        ol.cnnInOutCount = oldbom.cnnCount - bom.cnnCount;                      //bom.cnnCount-oldbom.cnnCount;
                        ol.cnnCurCount   = os.cnnStorageCount + oldbom.cnnCount - bom.cnnCount;
                        EntityMapping.Create(ol, trans);

                        //库存
                        os.cnnStorageCount = ol.cnnCurCount;
                        EntityMapping.Update(os, trans);
                    }
                    //日志
                    bl.cnnSerial    = gd;
                    bl.cnvcComments = "领料单修改,出入库量:" + (oldbom.cnnCount - bom.cnnCount);
                    bl.cnvcOperType = OperType.OP203;
                    bl.cndOperDate  = dtSysTime;
                    bl.cnvcSource   = InSource.cs;
                    EntityMapping.Create(bl, trans);

                    trans.Commit();
                }
                catch (BusinessException bex)
                {
                    trans.Rollback();
                    LogAdapter.WriteBusinessException(bex);
                    throw bex;
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }
Ejemplo n.º 30
0
        public void UpdateCost(OperLog operLog)//,BusiLog busiLog)
        {
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();

                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    //tbMaterial
                    DataTable dtMaterial = SingleTableQuery.ExcuteQuery("tbMaterial", trans);
                    DataTable dtDosage   = SingleTableQuery.ExcuteQuery("tbDosage", trans);
                    DataTable dtFormula  = SqlHelper.ExecuteDataTable(trans, CommandType.Text, "select cnvcProductType,cnvcProductClass,cnvcProductCode,cnnMaterialCostSum,cnnPackingCostSum,cnnCostSum,cnnPortionCount from tbFormula");
                    //DataRow[] drDosage_Raw_Pack = dtDosage.Select("cnvcProductType<>'SEMIPRODUCT'");
                    //DataRow[] drDosage_Semi = dtDosage.Select("cnvcProductType='SEMIPRODUCT'");
                    //更新原料材料价格
                    foreach (DataRow drDosage in dtDosage.Rows)
                    {
                        Dosage    dosage     = new Dosage(drDosage);
                        DataRow[] drMaterial = dtMaterial.Select("cnvcMaterialCode='" + dosage.cnvcCode + "'");
                        if (drMaterial.Length > 0)
                        {
                            Material material = new Material(drMaterial[0]);
                            if (dosage.cnnPrice != material.cnnPrice)
                            {
                                dosage.cnnPrice = material.cnnPrice;
                                dosage.cnnSum   = Math.Round(dosage.cnnPrice * dosage.cnnCount, 4);
                                EntityMapping.Update(dosage, trans);
                                drDosage["cnnPrice"] = dosage.cnnPrice;
                                drDosage["cnnSum"]   = dosage.cnnSum;
                            }
                        }
                    }
                    foreach (DataRow drFormula in dtFormula.Rows)
                    {
                        Entity.Formula formula = new AMSApp.zhenghua.Entity.Formula(drFormula);
                        if (formula.cnvcProductClass == "")
                        {
                            continue;
                        }
                        UpdatePrice(trans, formula, ref dtDosage, ref dtFormula);
                    }

                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    operLog.cndOperDate = dtSysTime;
                    EntityMapping.Create(operLog, trans);
                    //EntityMapping.Create(busiLog, trans);
                    trans.Commit();
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }