Beispiel #1
0
        /// <summary>
        /// 获得实体
        /// </summary>
        /// <returns></returns>
        private IOFormDtsInputPack[] GetEntityDts()
        {
            int Num = 0;

            for (int i = 0; i < ucFabInput1.UCDataSource.Rows.Count; i++)
            {
                if (SysConvert.ToDecimal(ucFabInput1.UCDataSource.Rows[i]["Qty"]) > 0)
                {
                    Num++;
                }
            }
            IOFormDtsInputPack[] entityDts = new IOFormDtsInputPack[Num];
            int index = 0;

            for (int i = 0; i < ucFabInput1.UCDataSource.Rows.Count; i++)
            {
                if (SysConvert.ToDecimal(ucFabInput1.UCDataSource.Rows[i]["Qty"]) > 0)
                {
                    entityDts[index]    = new IOFormDtsInputPack();
                    entityDts[index].ID = SysConvert.ToInt32(ucFabInput1.UCDataSource.Rows[i]["ID"]);
                    entityDts[index].SelectByID();
                    entityDts[index].MainID = m_MainID;
                    entityDts[index].Seq    = m_Seq;
                    entityDts[index].DID    = m_ID;
                    entityDts[index].SubSeq = SysConvert.ToInt32(ucFabInput1.UCDataSource.Rows[i]["SubSeq"]);;
                    entityDts[index].Qty    = SysConvert.ToDecimal(ucFabInput1.UCDataSource.Rows[i]["Qty"]);;
                    index++;
                }
            }

            return(entityDts);
        }
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int Delete(BaseEntity p_Entity)
        {
            try
            {
                IOFormDtsInputPack MasterEntity = (IOFormDtsInputPack)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //删除主表数据
                string Sql = "";
                Sql = "DELETE FROM WH_IOFormDtsInputPack WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID);
                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(Sql);
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(Sql);
                }

                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBDelete), E);
            }
        }
Beispiel #3
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="p_BE">要删除的实体</param>
 /// <param name="sqlTrans">事务类</param>
 public void RDelete(BaseEntity p_BE, IDBTransAccess sqlTrans)
 {
     try
     {
         this.CheckCorrect(p_BE);
         IOFormDtsInputPack    entity  = (IOFormDtsInputPack)p_BE;
         IOFormDtsInputPackCtl control = new IOFormDtsInputPackCtl(sqlTrans);
         control.Delete(entity);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
Beispiel #4
0
 /// <summary>
 /// 新增(传入事务处理)
 /// </summary>
 /// <param name="p_BE">要新增的实体</param>
 /// <param name="sqlTrans">事务类</param>
 public void RAdd(BaseEntity p_BE, IDBTransAccess sqlTrans)
 {
     try
     {
         this.CheckCorrect(p_BE);
         IOFormDtsInputPack    entity  = (IOFormDtsInputPack)p_BE;
         IOFormDtsInputPackCtl control = new IOFormDtsInputPackCtl(sqlTrans);
         entity.ID = (int)EntityIDTable.GetID((long)SysEntity.WH_IOFormDtsInputPack, sqlTrans);
         control.AddNew(entity);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int AddNew(BaseEntity p_Entity)
        {
            try
            {
                IOFormDtsInputPack MasterEntity = (IOFormDtsInputPack)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //新增主表数据
                StringBuilder MasterField = new StringBuilder();
                StringBuilder MasterValue = new StringBuilder();
                MasterField.Append("INSERT INTO WH_IOFormDtsInputPack(");
                MasterValue.Append(" VALUES(");
                MasterField.Append("ID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ID) + ",");
                MasterField.Append("MainID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.MainID) + ",");
                MasterField.Append("Seq" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Seq) + ",");
                MasterField.Append("SubSeq" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.SubSeq) + ",");
                MasterField.Append("PackNo" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.PackNo) + ",");
                MasterField.Append("BoxNo" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.BoxNo) + ",");
                MasterField.Append("Qty" + ",");
                if (MasterEntity.Qty != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.Qty) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("FactQty" + ",");
                if (MasterEntity.FactQty != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.FactQty) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("PDQty" + ",");
                if (MasterEntity.PDQty != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.PDQty) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("Remark" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Remark) + ",");
                MasterField.Append("DID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.DID) + ",");
                MasterField.Append("Unit" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Unit) + ",");
                MasterField.Append("InputQty" + ",");
                if (MasterEntity.InputQty != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.InputQty) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("InputUnit" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.InputUnit) + ",");
                MasterField.Append("InputConvertXS" + ")");
                if (MasterEntity.InputConvertXS != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.InputConvertXS) + ")");
                }
                else
                {
                    MasterValue.Append("null)");
                }



                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString());
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString());
                }
                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBInsert), E);
            }
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int Update(BaseEntity p_Entity)
        {
            try
            {
                IOFormDtsInputPack MasterEntity = (IOFormDtsInputPack)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //更新主表数据
                StringBuilder UpdateBuilder = new StringBuilder();
                UpdateBuilder.Append("UPDATE WH_IOFormDtsInputPack SET ");
                UpdateBuilder.Append(" ID=" + SysString.ToDBString(MasterEntity.ID) + ",");
                UpdateBuilder.Append(" MainID=" + SysString.ToDBString(MasterEntity.MainID) + ",");
                UpdateBuilder.Append(" Seq=" + SysString.ToDBString(MasterEntity.Seq) + ",");
                UpdateBuilder.Append(" SubSeq=" + SysString.ToDBString(MasterEntity.SubSeq) + ",");
                UpdateBuilder.Append(" PackNo=" + SysString.ToDBString(MasterEntity.PackNo) + ",");
                UpdateBuilder.Append(" BoxNo=" + SysString.ToDBString(MasterEntity.BoxNo) + ",");

                if (MasterEntity.Qty != 0)
                {
                    UpdateBuilder.Append(" Qty=" + SysString.ToDBString(MasterEntity.Qty) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" Qty=null,");
                }


                if (MasterEntity.FactQty != 0)
                {
                    UpdateBuilder.Append(" FactQty=" + SysString.ToDBString(MasterEntity.FactQty) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" FactQty=null,");
                }


                if (MasterEntity.PDQty != 0)
                {
                    UpdateBuilder.Append(" PDQty=" + SysString.ToDBString(MasterEntity.PDQty) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" PDQty=null,");
                }

                UpdateBuilder.Append(" Remark=" + SysString.ToDBString(MasterEntity.Remark) + ",");
                UpdateBuilder.Append(" DID=" + SysString.ToDBString(MasterEntity.DID) + ",");
                UpdateBuilder.Append(" Unit=" + SysString.ToDBString(MasterEntity.Unit) + ",");

                if (MasterEntity.InputQty != 0)
                {
                    UpdateBuilder.Append(" InputQty=" + SysString.ToDBString(MasterEntity.InputQty) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" InputQty=null,");
                }

                UpdateBuilder.Append(" InputUnit=" + SysString.ToDBString(MasterEntity.InputUnit) + ",");

                if (MasterEntity.InputConvertXS != 0)
                {
                    UpdateBuilder.Append(" InputConvertXS=" + SysString.ToDBString(MasterEntity.InputConvertXS));
                }
                else
                {
                    UpdateBuilder.Append(" InputConvertXS=null");
                }


                UpdateBuilder.Append(" WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID));



                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(UpdateBuilder.ToString());
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(UpdateBuilder.ToString());
                }
                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBUpdate), E);
            }
        }
Beispiel #7
0
 /// <summary>
 /// 检查将要操作的数据是否符合业务规则
 /// </summary>
 /// <param name="p_BE"></param>
 private void CheckCorrect(BaseEntity p_BE)
 {
     IOFormDtsInputPack entity = (IOFormDtsInputPack)p_BE;
 }
Beispiel #8
0
        /// <summary>
        /// 保存(传入事务处理)
        /// </summary>
        /// <param name="p_BE">要新增的实体</param>
        /// <param name="sqlTrans">事务类</param>
        public void RSave(int p_ID, int p_MainID, int p_Seq, BaseEntity[] p_BE, bool p_UpdateFlag, IDBTransAccess sqlTrans)
        {
            try
            {
                string sql = "";
                if (p_UpdateFlag)                //修改状态下首先清除被删除的码单明细
                {
                    string idStr = string.Empty; //ID字符串
                    idStr = "0";
                    for (int i = 0; i < p_BE.Length; i++)
                    {
                        IOFormDtsInputPack entity = (IOFormDtsInputPack)p_BE[i];
                        if (entity.ID != 0)//有ID
                        {
                            if (idStr != string.Empty)
                            {
                                idStr += ",";
                            }
                            idStr += entity.ID.ToString();
                        }
                    }

                    if (idStr != string.Empty)
                    {
                        sql = "DELETE FROM WH_PackBox WHERE BoxNo IN (SELECT BoxNo FROM WH_IOFormDtsInputPack WHERE DID=" + SysString.ToDBString(p_ID) + " AND ID NOT IN(" + idStr + ") )";
                        sqlTrans.ExecuteNonQuery(sql);                                                                                       //执行条形码删除

                        sql = "DELETE FROM WH_IOFormDtsInputPack WHERE DID=" + SysString.ToDBString(p_ID) + " AND ID NOT IN(" + idStr + ")"; //WH_IOFormDtsPack WH_PackBox
                        sqlTrans.ExecuteNonQuery(sql);
                    }
                }
                else//新增状态
                {
                    sql = "SELECT TOP 1 ID FROM WH_IOFormDtsInputPack WHERE DID=" + SysString.ToDBString(p_ID);
                    DataTable dt = sqlTrans.Fill(sql);
                    if (dt.Rows.Count > 0)
                    {
                        throw new BaseException("不能重复保存!");
                    }
                }


                IOForm p_Main = new IOForm(sqlTrans);
                p_Main.ID = p_MainID;
                p_Main.SelectByID();

                IOFormDts p_MainDts = new IOFormDts(sqlTrans);
                p_MainDts.ID = p_ID;
                p_MainDts.SelectByID();



                //IOFormDtsPackRule rule = new IOFormDtsPackRule();
                //PackBoxRule Brule = new PackBoxRule();
                decimal Qty      = 0;
                decimal PieceQty = 0;
                decimal inputQty = 0;
                for (int i = 0; i < p_BE.Length; i++)
                {
                    //FormNoControlRule frule = new FormNoControlRule();
                    IOFormDtsInputPack entity = (IOFormDtsInputPack)p_BE[i];

                    if (SysConvert.ToBoolean(ProductParamSet.GetIntValueByID(5405)))//转换为默认单位模式开启,目前支持转换为公斤模式
                    {
                        //开始换算单位
                        entity.InputUnit      = p_MainDts.InputUnit;
                        entity.Unit           = p_MainDts.Unit;
                        entity.InputConvertXS = p_MainDts.InputConvertXS;
                        entity.InputQty       = entity.Qty;// ProductCommon.UnitConvertValueAnyUnit(entitydts[index].Unit, entitydts[index].Qty, entitydts[index].InputUnit, entitydts[index].InputConvertXS);
                        if (entity.InputConvertXS != 0)
                        {
                            entity.InputQty = SysConvert.ToDecimal(entity.Qty / entity.InputConvertXS, 2);
                        }
                    }
                    if (entity.ID == 0)
                    {
                        //entity.BoxNo = frule.RGetFormNo((int)FormNoControlEnum.码单箱号, sqlTrans);
                        this.RAdd(entity, sqlTrans);
                        //frule.RAddSort((int)FormNoControlEnum.码单箱号, sqlTrans);
                    }
                    else
                    {
                        this.RUpdate(entity, sqlTrans);
                    }


                    inputQty += entity.InputQty;
                    Qty      += entity.Qty;
                    PieceQty++;
                }

                //if (PieceQty == 0)
                //{
                //    throw new BaseException("请填写细码后点击保存");
                //}

                sql  = "UPDATE WH_IOFormDts SET Qty=" + SysString.ToDBString(Qty);
                sql += ",PieceQty=" + SysString.ToDBString(PieceQty);
                sql += ",InputQty=" + SysString.ToDBString(inputQty);
                sql += ",PackFlag=1 ";
                sql += ",InputAmount= " + SysString.ToDBString(inputQty * p_MainDts.InputSinglePrice + p_MainDts.DYPrice);
                sql += ",Amount= " + SysString.ToDBString(Qty * p_MainDts.SinglePrice + p_MainDts.DYPrice);
                sql += " WHERE ID=" + SysString.ToDBString(p_ID);
                sqlTrans.ExecuteNonQuery(sql);
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }