コード例 #1
0
ファイル: ProcessManager.cs プロジェクト: zhaoming35/gs_ims
        private bool DoNewLinkBill(Repository r, Info_OrderMain info)
        {
            Model.Info_link_bill linkBil = new Info_link_bill();
            linkBil.LinkBill_Id       = NewId();
            linkBil.Bill_State        = (int)Enum.LinkState.New;// 0;
            linkBil.Employ_Code       = info.Oper_Code;
            linkBil.Jia_Name          = info.Jia_Name;
            linkBil.Let_Bud_EDate     = info.Let_Bud_EDate;
            linkBil.Let_Bud_SDate     = info.Let_Bud_SDate;
            linkBil.Let_Entry_Date    = info.Let_Entry_Date;
            linkBil.Let_Rm_EDate      = info.Let_Rm_EDate;
            linkBil.Let_Rm_SDate      = info.Let_Rm_SDate;
            linkBil.Let_Use_EDate     = info.Let_Use_EDate;
            linkBil.Let_Use_SDate     = info.Let_Use_SDate;
            linkBil.Odr_Bud_Palce     = info.Odr_Bud_Palce;
            linkBil.Odr_Bud_Party     = info.Odr_Bud_Party;
            linkBil.Odr_Date          = info.Odr_Date;
            linkBil.Odr_Fixed_Mode    = info.Odr_Fixed_Mode;
            linkBil.Odr_Ground_State  = info.Odr_Ground_State;
            linkBil.Odr_No            = info.Odr_No;
            linkBil.Odr_Place_Linkman = info.Odr_Place_Linkman;
            linkBil.Odr_Place_Phone   = info.Odr_Place_Phone;
            linkBil.Odr_Prt_Name      = info.Odr_Prt_Name;
            linkBil.Odr_Trans_Party   = info.Odr_Trans_Party;
            linkBil.Odr_Type          = info.Odr_Type;
            linkBil.Odr_Water_proof   = info.Odr_Water_proof;

            if (!this.Add(r, linkBil))
            {
                return(false);
            }

            foreach (var v in info.Items)
            {
                if (v.Product_Name.Equals("篷房"))
                {
                    Model.Tb_link_bill_tent item = new Tb_link_bill_tent();
                    item.LinkBill_Id = linkBil.LinkBill_Id;
                    item.Item_Id     = NewId();
                    item.Item_Seq    = v.Item_Seq;
                    item.Item_Spec   = v.Item_Spec;
                    if (!this.Add(r, item))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
コード例 #2
0
ファイル: ProcessManager.cs プロジェクト: zhaoming35/gs_ims
        private bool DoTerminationOrder(Repository r, Info_OrderMain info)
        {
            int odrState = (int)Enum.OrderState.Termination;//3;

            info.Odr_State = odrState;
            Model.Tb_order_log log = new Model.Tb_order_log();
            log.Odr_No   = info.Odr_No;
            log.Oper_log = "合同手工终止";
            log.Msg      = "合同手工终止";
            if (!WriteLog(r, log, info))
            {
                return(false);
            }

            if (!UpdateOrderState(r, info))
            {
                return(false);
            }

            //更新合同摘要
            if (r.Update <Tb_fin_order_gen>()
                .Set()
                .Field(Tb_fin_order_gen.Table.Gen_State, (int)Enum.GenState.Termination)
                .EndSet()
                .Where()
                .And(Tb_fin_order_gen.Table.Odr_No, info.Odr_No)
                .EndWhere().Save() < 0)
            {
                return(false);
            }
            //更新项目联络单
            if (r.Update <Tb_link_bill>()
                .Set()
                .Field(Tb_link_bill.Table.Bill_State, (int)Enum.LinkState.Termination)
                .EndSet()
                .Where()
                .And(Tb_link_bill.Table.Odr_No, info.Odr_No)
                .EndWhere().Save() < 0)
            {
                return(false);
            }
            //物流单
            //工程部费用表


            return(true);
        }
コード例 #3
0
ファイル: ProcessManager.cs プロジェクト: zhaoming35/gs_ims
        private bool DoNewFinOrderGen(Repository r, Info_OrderMain info)
        {
            Model.Tb_fin_order_gen gen = new Tb_fin_order_gen();
            gen.Employ_Code       = info.Oper_Code;
            gen.Jia_Adress        = info.Jia_Adress;
            gen.Jia_Fax           = info.Jia_Fax;
            gen.Jia_Name          = info.Jia_Name;
            gen.Jia_Phone         = info.Jia_Phone;
            gen.Odr_Bud_Palce     = info.Odr_Bud_Palce;
            gen.Odr_Fixed_Mode    = info.Odr_Fixed_Mode;
            gen.Odr_Ground_State  = info.Odr_Ground_State;
            gen.Odr_No            = info.Odr_No;
            gen.Odr_Place_Linkman = info.Odr_Place_Linkman;
            gen.Odr_Place_Phone   = info.Odr_Place_Phone;
            gen.Odr_Prt_Name      = info.Odr_Prt_Name;
            gen.Odr_Prt_Purpose   = info.Odr_Prt_Purpose;
            gen.Odr_Sum_Area      = info.Odr_Sum_Area;
            gen.Odr_Tax_Type      = info.Odr_Tax_Type;
            gen.Odr_Trans_Party   = info.Odr_Trans_Party;
            gen.Odr_Type          = info.Odr_Type;
            gen.Odr_Water_proof   = info.Odr_Water_proof;
            gen.Tot_Cost          = info.Tot_Cost;
            gen.Odr_No_Main       = info.Odr_No_Main;

            if (!this.Add(r, gen))
            {
                return(false);
            }

            foreach (var v in info.Items)
            {
                Model.Tb_fin_order_item item = new Tb_fin_order_item();
                item.Item_Id   = v.Item_Id;
                item.Item_Name = v.Product_Name;
                item.Item_Seq  = v.Item_Seq;
                item.Item_Spec = v.Item_Spec;
                item.Item_Type = v.Item_Type;
                item.Odr_No    = v.Odr_No;
                if (!this.Add(r, item))
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #4
0
ファイル: ProcessManager.cs プロジェクト: zhaoming35/gs_ims
        private bool DoRejectOrder(Repository r, Info_OrderMain info)
        {
            int odrState = (int)Enum.OrderState.New;// 0;

            info.Odr_State = odrState;

            Model.Tb_order_log log = new Model.Tb_order_log();
            log.Odr_No   = info.Odr_No;
            log.Oper_log = "合同审核不通过";
            log.Msg      = info.Tag == null?"合同审核不通过":info.Tag.ToString();
            if (!WriteLog(r, log, info))
            {
                return(false);
            }

            if (!UpdateOrderState(r, info))
            {
                return(false);
            }

            return(true);
        }
コード例 #5
0
 public override bool Remove(Info_OrderMain t)
 {
     return(this.BatchTrans().Append <string>(
                (r, id) =>
     {
         if (r.Remove <Model.Tb_order_main>()
             .Where().And(Model.Tb_order_main.Table.Odr_No, t.Odr_No)
             .EndWhere()
             .Save() < 1)
         {
             return false;
         }
         return true;
     }, t.Odr_No).Append <string>(
                (r, id) =>
     {
         if (r.Remove <Model.Tb_order_item>()
             .Where().And(Model.Tb_order_item.Table.Odr_No, t.Odr_No)
             .EndWhere()
             .Save() < 1)
         {
             return false;
         }
         return true;
     }, t.Odr_No)
            .Append <string>(
                (r, id) =>
     {
         if (r.Remove <Model.Tb_order_text>()
             .Where().And(Model.Tb_order_text.Table.Odr_No, t.Odr_No)
             .EndWhere()
             .Save() < 0)
         {
             return false;
         }
         return true;
     }, t.Odr_No).Save());
 }
コード例 #6
0
        public bool SaveOrderAllInfo(Info_OrderMain info, bool isUpdate = false)
        {
            Doc.DocBuilder docBuilder = new Doc.DocBuilder(info);
            Miles.IMSFramework.Model.Sm_employee user = Miles.IMSFramework.AppCache.Employee as Miles.IMSFramework.Model.Sm_employee;
            string Oper_Code = user.Employ_Code;

            ExeBatchTrans batchTrans = this.BatchTrans();

            if (isUpdate)
            {
                batchTrans.Append <string>(
                    (r, id) =>
                {
                    if (r.Remove <Model.Tb_order_main>()
                        .Where().And(Model.Tb_order_main.Table.Odr_No, info.Odr_No)
                        .EndWhere()
                        .Save() < 0)
                    {
                        return(false);
                    }
                    return(true);
                }, info.Odr_No).Append <string>(
                    (r, id) =>
                {
                    if (r.Remove <Model.Tb_order_item>()
                        .Where().And(Model.Tb_order_item.Table.Odr_No, info.Odr_No)
                        .EndWhere()
                        .Save() < 0)
                    {
                        return(false);
                    }
                    return(true);
                }, info.Odr_No)
                .Append <string>(
                    (r, id) =>
                {
                    if (r.Remove <Model.Tb_order_text>()
                        .Where().And(Model.Tb_order_text.Table.Odr_No, info.Odr_No)
                        .EndWhere()
                        .Save() < 0)
                    {
                        return(false);
                    }
                    return(true);
                }, info.Odr_No);
            }

            if (!isUpdate)
            {
                //追加合同
                if (info.Odr_Type == 4)
                {
                    //更新主合同的seq_No
                    batchTrans.Append <string>
                        ((r, oldCode) =>
                    {
                        //更新合同编码生成
                        if (r.Update <Model.Tb_order_main>()
                            .Set()
                            .Increase(Model.Tb_order_main.Table.Odr_Seq, 1)
                            .EndSet()
                            .Where().And(Model.Tb_order_main.Table.Odr_No, oldCode)
                            .EndWhere()
                            .Save() < 0)
                        {
                            return(false);
                        }
                        return(true);
                    }, info.Odr_No_Main);
                }
                else
                {
                    batchTrans.Append <string>
                        ((r, c) =>
                    {
                        //更新合同编码生成
                        if (r.Update <Model.Tb_order_code>()
                            .Set()
                            .Increase(Model.Tb_order_code.Table.Seq_No, 1)
                            .EndSet()
                            .Where().And(Model.Tb_order_code.Table.Employ_Code, c).EndWhere()
                            .Save() < 0)
                        {
                            return(false);
                        }
                        return(true);
                    }, Oper_Code);
                }
            }

            return(batchTrans.Append <Model.Tb_order_main>(
                       (r, t) =>
            {
                return this.Add(r, t);     // r.Add(t);
            }, info
                       ).Append <Model.Info_OrderMain>(
                       (r, t) =>
            {
                foreach (var v in t.Items)
                {
                    v.Odr_No = t.Odr_No;
                    v.Item_Id = NewId();
                    if (!r.Add(v))
                    {
                        return false;
                    }
                }
                return true;
            }, info
                       )
                   .Append <Model.Info_OrderMain>(
                       (r, t) =>
            {
                Model.Tb_order_text orderText = new Tb_order_text();
                orderText.Odr_No = info.Odr_No;
                orderText.Odr_Clause = info.Odr_Clause;
                orderText.Odr_Pay = docBuilder.GetOrderPay();
                orderText.Odr_Text = docBuilder.ToStream(info.Odr_Clause).ToArray();

                return r.Add(orderText);
            }, info
                       )
                   .Save());
        }
コード例 #7
0
 public override bool Add(Info_OrderMain t)
 {
     throw new NotImplementedException();
 }
コード例 #8
0
 public bool OrderTermination(Info_OrderMain info)
 {
     return(processManager.TerminationOrder(info));
 }
コード例 #9
0
 public bool CheckOrderNoPass(Info_OrderMain info, string msg = "合同审核不通过")
 {
     info.Tag = msg;
     return(processManager.RejectOrder(info));
 }
コード例 #10
0
 public bool CheckOrderPass(Info_OrderMain info)
 {
     return(processManager.AdoptOrder(info));
 }
コード例 #11
0
 public bool CommitOrder(Info_OrderMain info)
 {
     return(processManager.CommitOrder(info));
 }
コード例 #12
0
ファイル: ProcessManager.cs プロジェクト: zhaoming35/gs_ims
 internal bool TerminationOrder(Info_OrderMain info)
 {
     return(this.BatchTrans().Append <Model.Info_OrderMain>(DoTerminationOrder, info).Save());
 }
コード例 #13
0
ファイル: ProcessManager.cs プロジェクト: zhaoming35/gs_ims
 public bool NewLinkBill(Info_OrderMain info)
 {
     return(this.BatchTrans().Append <Model.Info_OrderMain>(DoNewLinkBill, info).Save());
 }
コード例 #14
0
 public FmOrderInfo(Info_OrderMain info)
     : this()
 {
     this.info = info;
 }