public ActionResult FAApplyAdd(string list, string record, string pri, T_GM_ApplyFixedAsset am)
        {
            List <string>       a            = cw.JsontoList(list);
            List <string>       b            = cw.JsontoList(pri);
            List <string>       c            = cw.JsontoList(record);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.AuditProcess).ToList().FirstOrDefault();

            if (a.Count > 0 && a[0] != "")
            {
                am.GID          = Guid.NewGuid().ToString();
                am.No_Date      = DateTime.Now;
                am.OperateTime  = DateTime.Now;
                am.Operator     = user.EmployeeId;
                am.AuditProcess = cf.Name;
                DB.T_GM_ApplyFixedAsset.Add(am);

                int     i = 0;
                decimal t, f;

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("FAApplyAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        var detail = new T_GM_DM();
                        detail.Remark = am.GID;
                        detail.MFlID  = item;
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);
                        detail.Num   = t;
                        detail.Price = f;
                        detail.NO    = am.ApplyNo;
                        detail.Type  = "SQF";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料!!!").Show();
                return(this.Direct());
            }
        }
        public ActionResult VRSubmit(VacationApply vacation)
        {
            DirectResult r    = new DirectResult();
            string       orid = vacation.ID;

            var prelists = from o in entities.T_HR_Vacation
                           where o.VPDelete == true && o.LastID == orid
                           select o;

            foreach (T_HR_Vacation item in prelists)
            {
                T_HR_Vacation prelist = entities.T_HR_Vacation.Find(item.ID);
                prelist.VPDelete = false;
            }

            T_HR_Vacation orlist = entities.T_HR_Vacation.Find(orid);

            orlist.VPDelete     = true;
            orlist.EditOrDelete = "Delete";

            vacation.ID = Guid.NewGuid().ToString();
            vacation.OperationListID = Guid.NewGuid().ToString();
            vacation.Valid           = false;
            vacation.CreaterName     = new LoginUser().EmployeeId;
            vacation.CreateTime      = DateTime.Now;
            vacation.VPEdit          = false;
            vacation.VPDelete        = true;
            vacation.EditOrDelete    = "";
            vacation.LastID          = orid;

            T_CH_Operation_list newList = new T_CH_Operation_list();

            newList.ID           = vacation.OperationListID;
            newList.State        = (int)CheckState.Checking;//审核中
            newList.Check_flowID = vacation.CheckFlowId;
            newList.Check_funcID = vacation.FuncId;
            newList.CreateTime   = DateTime.Now;
            newList.Creator      = new LoginUser().EmployeeId;
            newList.Url          = Url.Action("CheckVacation", "Vacation", new { id = vacation.ID });

            entities.T_HR_Vacation.Add(vacation.ToDB(1));
            entities.T_CH_Operation_list.Add(newList);
            try
            {
                entities.SaveChanges();
                r.Success = true;
                X.Msg.Alert("提示", "保存成功!", new JFunction {
                    Fn = "closewindow"
                }).Show();
            }
            catch (Exception e)
            {
                X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                    Fn = "closewindow"
                }).Show();
                r.Success = false;
            }
            return(r);
        }
Esempio n. 3
0
        public ActionResult MApplyAdd(string list, string record, string pri, T_GM_ApplyMaterial am)
        {
            List <string>  a     = cw.JsontoList(list);
            List <string>  b     = cw.JsontoList(pri);
            List <string>  c     = cw.JsontoList(record);
            List <decimal> num   = cw.StrtoDec(c);
            List <decimal> price = cw.StrtoDec(b);

            if (!cw.IsPositiveNumArr(num))
            {
                return(this.Direct(false, "数量不能为负数"));
            }
            if (a.Count > 0 && a[0] != "" && a[0] != "null" && a.Count == num.Count && a.Count == price.Count)
            {
                T_CH_Operation_list auditprocess = new T_CH_Operation_list();
                var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.CheckProcess).ToList().FirstOrDefault();
                am.GID          = Guid.NewGuid().ToString();
                am.CheckProcess = cf.Name;
                am.ApplyMan     = user.EmployeeId;
                //am.ApplyMState = "deploying";
                am.ApplyTime = DateTime.Now;
                DB.T_GM_ApplyMaterial.Add(am);

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MApplyAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                int i = 0;
                foreach (var item in a)
                {
                    var detail = new T_GM_DM();
                    detail.Remark = am.GID;
                    detail.MFlID  = item;

                    detail.Num   = num[i];
                    detail.Price = price[i];
                    detail.NO    = am.ApplyMaterialNo;
                    detail.Type  = "SQM";
                    i++;
                    DB.T_GM_DM.Add(detail);
                }
            }
            else
            {
                return(this.Direct());
            }
            DB.SaveChanges();
            return(this.Direct());
        }
Esempio n. 4
0
        /// <summary>
        /// 获取附属离职详细信息,包括审核状态和审核备注
        /// </summary>
        /// <param name="id">离职ID</param>
        /// <returns>异常返回null</returns>

        public VacationApply GetPreVacationDetail(string id)
        {
            V_HR_VacationWithDepName va;

            PreID = id;
            using (Entities db = new Entities())
            {
                va = db.V_HR_VacationWithDepName.Find(id);
                T_CH_Operation_list op = db.T_CH_Operation_list.Find(GetPreOperationListID);
                var task = from o in db.V_CH_TaskOperation
                           where o.OperationID == GetPreOperationListID
                           select o;

                if (va != null && task.Any())
                {
                    PreID              = va.ID;
                    PreStaffID         = va.StaffID;
                    PreName            = va.Name;
                    PreDepartment      = va.Department;
                    PreVPType          = va.VPType;
                    PreStartTime       = Convert.ToDateTime(va.StartTime);
                    PreEndTime         = Convert.ToDateTime(va.EndTime);
                    PreStartTimeStr    = PreStartTime.ToString("yyyy-MM-dd HH:mm");
                    PreEndTimeStr      = PreEndTime.ToString("yyyy-MM-dd HH:mm");
                    PreTimeSpan        = Convert.ToDecimal(va.TimeSpan);
                    PreVPReason        = va.VPReason;
                    PreValid           = Convert.ToBoolean(va.Valid);
                    PreRemark          = va.Remark;
                    PreCreaterName     = va.CreaterName;
                    PreCreateTime      = Convert.ToDateTime(va.CreateTime);
                    PreEditorName      = va.EditorName;
                    PreEditeTime       = Convert.ToDateTime(va.EditeTime);
                    PreOperationListID = va.OperationListID;
                    PreLastID          = va.LastID;
                    PreVPEdit          = Convert.ToBoolean(va.VPEdit);
                    PreVPDelete        = Convert.ToBoolean(va.VPDelete);
                    PreEditOrDelete    = va.EditOrDelete;

                    PreState = op.State;
                    PreDescriptionForCheck = "";
                    foreach (V_CH_TaskOperation items in task)
                    {
                        PreDescriptionForCheck += items.Description;
                    }
                    PreCheckFlowId = op.Check_flowID;
                }
                else
                {
                    return(null);
                }
                return(this);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 获取附属详细信息,包括审核状态和审核备注
        /// </summary>
        /// <param name="id">ID</param>
        /// <returns>异常返回null</returns>

        public BTApply GetPreBusinessTripDetail(string id)
        {
            V_HR_BTWithDepName bt;

            PreID = id;
            using (Entities db = new Entities())
            {
                bt = db.V_HR_BTWithDepName.Find(id);
                T_CH_Operation_list op = db.T_CH_Operation_list.Find(GetPreOperationListID);
                var task = from o in db.V_CH_TaskOperation
                           where o.OperationID == GetPreOperationListID
                           select o;

                if (bt != null && task.Any())
                {
                    PreID              = bt.ID;
                    PreStaffID         = bt.StaffID;
                    PreName            = bt.Name;
                    PreDepartment      = bt.Department;
                    PreBTPlace         = bt.BTPlace;
                    PreStartTime       = Convert.ToDateTime(bt.StartTime);
                    PreEndTime         = Convert.ToDateTime(bt.EndTime);
                    PreStartTimeStr    = PreStartTime.ToString("yyyy-MM-dd HH:mm");
                    PreEndTimeStr      = PreEndTime.ToString("yyyy-MM-dd HH:mm");
                    PreTimeSpan        = bt.TimeSpan;
                    PreBTReason        = bt.BTReason;
                    PreValid           = Convert.ToBoolean(bt.Valid);
                    PreRemark          = bt.Remark;
                    PreCreaterName     = bt.CreaterName;
                    PreCreateTime      = Convert.ToDateTime(bt.CreateTime);
                    PreEditorName      = bt.EditorName;
                    PreEditeTime       = Convert.ToDateTime(bt.EditeTime);
                    PreOperationListID = bt.OperationListID;
                    PreLastID          = bt.LastID;
                    PreBTEdit          = Convert.ToBoolean(bt.BTEdit);
                    PreBTDelete        = Convert.ToBoolean(bt.BTDelete);
                    PreEditOrDelete    = bt.EditOrDelete;

                    PreState = op.State;
                    PreDescriptionForCheck = "";
                    foreach (V_CH_TaskOperation items in task)
                    {
                        PreDescriptionForCheck += items.Description;
                    }
                    PreCheckFlowId = op.Check_flowID;
                }
                else
                {
                    return(null);
                }
                return(this);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 获取离职详细信息,包括审核状态和审核备注
        /// </summary>
        /// <param name="id">离职ID</param>
        /// <returns>异常返回null</returns>

        public DimissionApply GetDimissionDetail(string id)
        {
            V_HR_Dimission di;

            ID = id;
            using (Entities db = new Entities())
            {
                di = db.V_HR_Dimission.Find(id);
                T_CH_Operation_list op = db.T_CH_Operation_list.Find(GetOperationListID);
                var task = from o in db.V_CH_TaskOperation
                           where o.OperationID == GetOperationListID
                           select o;

                if (di != null && task.Any())
                {
                    ID              = di.ID;
                    StaffID         = di.StaffID;
                    Name            = di.Name;
                    Department      = di.Department;
                    DimissionTime   = Convert.ToDateTime(di.DimissionTime);
                    DimissionType   = di.DimissionType;
                    DimissionReason = di.DimissionReason;
                    ReasonType      = di.ReasonType;
                    Num             = Convert.ToInt32(di.Num);
                    IsValid         = Convert.ToBoolean(di.IsValid);
                    Remark          = di.Remark;
                    CreaterName     = di.CreaterName;
                    CreateTime      = Convert.ToDateTime(di.CreateTime);
                    CreateTimeStr   = CreateTime.ToString("yyyy-MM-dd HH:mm:ss");
                    EditorName      = di.EditorName;
                    EditeTime       = Convert.ToDateTime(di.EditeTime);
                    OperationListID = di.OperationListID;

                    State = op.State;
                    DescriptionForCheck = "";
                    foreach (V_CH_TaskOperation item in task)
                    {
                        DescriptionForCheck += item.Description;
                    }
                    CheckFlowId = op.Check_flowID;
                }
                else
                {
                    return(null);
                }
                return(this);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 获取详细信息,包括审核状态和审核备注
        /// </summary>
        /// <param name="id">ID</param>
        /// <returns>异常返回null</returns>

        public OWApply GetOWDetail(string id)
        {
            V_HR_OWApplyWithDepName di;

            ID = id;
            using (Entities db = new Entities())
            {
                di = db.V_HR_OWApplyWithDepName.Find(id);
                T_CH_Operation_list op = db.T_CH_Operation_list.Find(GetOperationListID);
                var task = from o in db.V_CH_TaskOperation
                           where o.OperationID == GetOperationListID
                           select o;

                if (di != null && task.Any())
                {
                    ID              = di.ID;
                    StaffID         = di.StaffID;
                    Name            = di.Name;
                    Department      = di.Department;
                    StartTime       = Convert.ToDateTime(di.StartTime);
                    EndTime         = Convert.ToDateTime(di.EndTime);
                    StartTimeStr    = StartTime.ToString("yyyy-MM-dd HH:mm:ss");
                    EndTimeStr      = EndTime.ToString("yyyy-MM-dd HH:mm:ss");
                    TimeSpan        = Convert.ToDecimal(di.TimeSpan);
                    CheckTimeSpan   = Convert.ToDecimal(di.CheckTimeSpan);
                    Valid           = Convert.ToBoolean(di.Valid);
                    Remark          = di.Remark;
                    CreaterName     = di.CreaterName;
                    CreateTime      = Convert.ToDateTime(di.CreateTime);
                    EditorName      = di.EditorName;
                    EditeTime       = Convert.ToDateTime(di.EditeTime);
                    OperationListID = di.OperationListID;

                    State = op.State;
                    DescriptionForCheck = "";
                    foreach (V_CH_TaskOperation item in task)
                    {
                        DescriptionForCheck += item.Description;
                    }
                    CheckFlowId = op.Check_flowID;
                }
                else
                {
                    return(null);
                }
                return(this);
            }
        }
        public ActionResult AddOrEditVacation(VacationApply vacation)
        {
            try
            {
                vacation.StartTime = Convert.ToDateTime(vacation.StartTimeStr);//计算TimeSpan
                vacation.EndTime   = Convert.ToDateTime(vacation.EndTimeStr);
            }
            catch (FormatException fe)
            {
                X.Msg.Alert("警告", "日期不正确,请检查!").Show();
                return(this.Direct());
            }

            if (vacation.StartTime.Year == vacation.EndTime.Year && vacation.StartTime.Month == vacation.EndTime.Month && vacation.StartTime <= vacation.EndTime)
            {
                DirectResult  r = new DirectResult();
                T_HR_Vacation vacationupdate = entities.T_HR_Vacation.Find(vacation.ID);

                if (vacationupdate == null)//为空为添加
                {
                    vacation.ID = Guid.NewGuid().ToString();
                    vacation.OperationListID = Guid.NewGuid().ToString();
                    vacation.Valid           = true;
                    vacation.CreaterName     = new LoginUser().EmployeeId;
                    vacation.CreateTime      = DateTime.Now;
                    vacation.VPEdit          = false;
                    vacation.VPDelete        = false;

                    T_CH_Operation_list newList = new T_CH_Operation_list();
                    newList.ID           = vacation.OperationListID;
                    newList.State        = (int)CheckState.Checking;//审核中
                    newList.Check_flowID = vacation.CheckFlowId;
                    newList.Check_funcID = vacation.FuncId;
                    newList.CreateTime   = DateTime.Now;
                    newList.Creator      = new LoginUser().EmployeeId;
                    newList.Url          = Url.Action("CheckVacation", "Vacation", new { id = vacation.ID });

                    entities.T_HR_Vacation.Add(vacation.ToDB(1));
                    entities.T_CH_Operation_list.Add(newList);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "保存成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                else//否则为修改
                {
                    vacation.EditorName = new LoginUser().EmployeeId;
                    vacation.EditeTime  = DateTime.Now;

                    vacationupdate.Valid = false;

                    vacation.ID = Guid.NewGuid().ToString();
                    vacation.OperationListID = Guid.NewGuid().ToString();
                    vacation.Valid           = true;
                    vacation.VPEdit          = false;
                    vacation.VPDelete        = false;

                    T_CH_Operation_list newList = new T_CH_Operation_list();
                    newList.ID           = vacation.OperationListID;
                    newList.State        = (int)CheckState.Checking;//审核中
                    newList.Check_flowID = vacation.CheckFlowId;
                    newList.Check_funcID = vacation.FuncId;
                    newList.CreateTime   = DateTime.Now;
                    newList.Creator      = new LoginUser().EmployeeId;
                    newList.Url          = Url.Action("CheckVacation", "Vacation", new { id = vacation.ID });

                    entities.T_HR_Vacation.Add(vacation.ToDB(2));
                    entities.T_CH_Operation_list.Add(newList);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "修改成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                return(r);
            }
            else
            {
                X.Msg.Alert("警告", "请假不可跨月!").Show();
                return(this.Direct());
            }
        }
        public ActionResult MEXWarehouseSave(string list, string record, string pri, string check, T_GM_EXWarehouse am)
        {
            DecResualt dr = new DecResualt();

            dr = cw.Judge(list, pri, record);
            switch (dr.JresualtName)
            {
            case JudgeResualt.IsNumNegative:
                return(this.Direct(false, "数量不能为负数"));

            case JudgeResualt.IsPriceNegative:
                return(this.Direct(false, "价格不能为负数"));

            case JudgeResualt.IsIllegal:
                return(this.Direct());

            case JudgeResualt.IsLegal:
                break;

            default:
                return(this.Direct(false, "非法操作"));
            }
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            //var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == check).ToList().FirstOrDefault();
            var de    = DB.T_GM_ApplyMaterial.Find(am.RefrenceNo);
            var te    = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am.RefrenceNo);
            var stock = DB.T_GM_MaterialStock.Where(m => m.WarehouseID == am.EXWarehouse);

            am.IMWarehouse     = DB.V_GM_DetailProject.First(l => l.ProjectNo == de.ProjectNo).WarehouseID;
            am.OperationListID = Guid.NewGuid().ToString();
            am.Operator        = user.EmployeeId;
            am.OperationTime   = DateTime.Now;
            //am.EXTypeID=2;
            DB.T_GM_EXWarehouse.Add(am);

            auditprocess.ID           = am.OperationListID;
            auditprocess.Check_funcID = "-1";            //cf.CheckfuncID;
            auditprocess.Check_flowID = "-1";            //cf.ID;
            auditprocess.CreateTime   = DateTime.Now;
            auditprocess.State        = (int)CheckState.Approved;
            auditprocess.Url          = Url.Action("MEXWarehouseAudit", "Share", new { gid = am.OperationListID });
            auditprocess.Creator      = user.EmployeeId;
            DB.T_CH_Operation_list.Add(auditprocess);

            int i = 0;

            foreach (var item in dr.Material)
            {
                var detail = new T_GM_DM();
                detail.Remark = am.OperationListID;
                detail.MFlID  = item;

                var test = te.Where(m => m.MFlID == item).ToList().First();
                test.Num -= dr.Num[i];
                if (test.Num < 0)
                {
                    return(this.Direct(false, "调库的数量超过申请单里剩余物料的数量!!!"));
                }
                DB.T_GM_TempDetailMaterial.Attach(test);
                DB.Entry(test).State = EntityState.Modified;

                var stocknum = stock.FirstOrDefault(m => m.MaterialID == item);
                if (stocknum == null)
                {
                    return(this.Direct(false, "物料" + item + "的数量超过仓库里剩余物料的数量!!!"));
                }
                stocknum.PurchaseAmount -= dr.Num[i];
                if (stocknum.PurchaseAmount < 0)
                {
                    return(this.Direct(false, "物料" + item + "的数量超过仓库里剩余物料的数量!!!"));
                }

                DB.T_GM_MaterialStock.Attach(stocknum);
                DB.Entry(stocknum).State = EntityState.Modified;

                detail.Type  = "CGM";
                detail.Num   = dr.Num[i];
                detail.Price = dr.Price[i];
                detail.NO    = am.EXID;
                DB.T_GM_DM.Add(detail);
                i++;
            }
            DB.SaveChanges();
            if (cw.check(am.RefrenceNo))
            {
                de.ApplyMState = "deploying";
                DB.T_GM_ApplyMaterial.Attach(de);
                DB.Entry(de).State = EntityState.Modified;
                DB.SaveChanges();
                X.Msg.Alert("提示", "订单已配置完成,请等待审核", "parent.App.win.close();").Show();
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("提示", "调拨单已配置成功!", "parent.App.win.close();").Show();
            }
            return(this.Direct());
        }
        //don't worry about modify the Apply_No,though modify opreation would use the trigger and modify the num,
        //they can't use modify without audit,audit Apply_No isn't pass,they can't use Purchase_No
        //只有通过审核的申请单才可以进行配置,尽管申请单号有多个,但通过审核的申请单号只有一个
        public ActionResult MPurchaseSave(string list, string record, string pri, T_GM_PurchaseMaterial am)
        {
            DecResualt dr = new DecResualt();

            dr = cw.Judge(list, pri, record);
            switch (dr.JresualtName)
            {
            case JudgeResualt.IsNumNegative:
                return(this.Direct(false, "数量不能为负数"));

            case JudgeResualt.IsPriceNegative:
                return(this.Direct(false, "价格不能为负数"));

            case JudgeResualt.IsIllegal:
                return(this.Direct());

            case JudgeResualt.IsLegal:
                break;

            default:
                return(this.Direct(false, "非法操作"));
            }

            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.CheckProcess).ToList().FirstOrDefault();
            var de = DB.T_GM_ApplyMaterial.Find(am.AMGID);
            var te = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am.AMGID);

            am.GID          = Guid.NewGuid().ToString();
            am.Operator     = user.EmployeeId;
            am.OperateTime  = DateTime.Now;
            am.CheckProcess = cf.Name;
            DB.T_GM_PurchaseMaterial.Add(am);

            auditprocess.ID           = am.GID;
            auditprocess.Check_funcID = cf.CheckfuncID;
            auditprocess.Check_flowID = cf.ID;
            auditprocess.CreateTime   = DateTime.Now;
            auditprocess.State        = 1;
            auditprocess.Url          = Url.Action("MPurchaseAudit", "Share", new { gid = am.GID });
            auditprocess.Creator      = user.EmployeeId;
            DB.T_CH_Operation_list.Add(auditprocess);

            int i = 0;

            foreach (var item in dr.Material)
            {
                var detail = new T_GM_DM();
                detail.Remark = am.GID;
                detail.MFlID  = item;
                var test = te.Where(m => m.MFlID == item).ToList().First();
                test.Num -= dr.Num[i];
                if (test.Num < 0)
                {
                    //X.Msg.Alert("警告", "采购的数量超过申请单里剩余物料的数量!!!").Show();
                    return(this.Direct(false, "采购的数量超过申请单里剩余物料的数量!!!"));
                }
                DB.T_GM_TempDetailMaterial.Attach(test);
                DB.Entry(test).State = EntityState.Modified;
                detail.Type          = "CGM";
                detail.Num           = dr.Num[i];
                detail.Price         = dr.Price[i];
                detail.NO            = am.PurchaseMNo;
                DB.T_GM_DM.Add(detail);
                i++;
            }
            DB.SaveChanges();

            if (cw.check(am.AMGID))
            {
                de.ApplyMState = "deploying";
                DB.T_GM_ApplyMaterial.Attach(de);
                DB.Entry(de).State = EntityState.Modified;
                DB.SaveChanges();
                X.Msg.Alert("提示", "订单已配置完成,请等待审核", "parent.App.win.close();").Show();
                return(this.Direct());
            }
            return(this.Direct());
        }
        public ActionResult ModifySubmit(string list, string record, string price, string gid)
        {
            List <string>       a            = cw.JsontoList(list);
            List <string>       b            = cw.JsontoList(price);
            List <string>       c            = cw.JsontoList(record);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var am_old = DB.T_GM_PurchaseMaterial.Find(gid);
            var de     = DB.T_GM_ApplyMaterial.Find(am_old.AMGID);
            var te     = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am_old.AMGID);
            var am     = new T_GM_PurchaseMaterial();
            var cf     = DB.V_CH_Checkfuncflow.Where(w => w.Name == am_old.CheckProcess).ToList().FirstOrDefault();

            if (a.Count > 0 && a[0] != "")
            {
                am_old.OrderStatu = "modified once";
                DB.T_GM_PurchaseMaterial.Attach(am_old);
                DB.Entry(am_old).State = EntityState.Modified;

                am.GID           = Guid.NewGuid().ToString();
                am.PurchaseMNo   = am_old.PurchaseMNo;
                am.SupplierID    = am_old.SupplierID;
                am.OrderType     = am_old.OrderType;
                am.OperateTime   = DateTime.Now;
                am.Operator      = am_old.Operator;
                am.AMGID         = am_old.AMGID;
                am.ProjectNo     = am_old.ProjectNo;
                am.CheckProcess  = am_old.CheckProcess;
                am.Remark        = am_old.Remark;
                am.ReceiptMethod = am_old.ReceiptMethod;
                DB.T_GM_PurchaseMaterial.Add(am);
                int     i = 0;
                decimal t, f;

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MPurchaseAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        var detail = new T_GM_DM();
                        detail.Remark = am.GID;
                        detail.MFlID  = item;
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);
                        var test = te.Where(m => m.MFlID == item).ToList().First();
                        test.Num -= t;
                        if (test.Num < 0)
                        {
                            //X.Msg.Alert("警告", "采购的数量超过申请单里剩余物料的数量!!!").Show();
                            return(this.Direct(false, "采购的数量超过申请单里剩余物料的数量!!!"));
                        }
                        DB.T_GM_TempDetailMaterial.Attach(test);
                        DB.Entry(test).State = EntityState.Modified;

                        detail.Num   = t;
                        detail.Price = f;
                        detail.NO    = am.PurchaseMNo;
                        detail.Type  = "CGM";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
                if (cw.check(am.AMGID))
                {
                    de.ApplyMState = "deploying";
                    DB.T_GM_ApplyMaterial.Attach(de);
                    DB.Entry(de).State = EntityState.Modified;
                    DB.SaveChanges();
                    X.Msg.Alert("提示", "订单已配置完成,请等待审核", "parent.App.window3.close();").Show();
                    return(this.Direct());
                }
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料!!!").Show();
                return(this.Direct());
            }
        }
Esempio n. 12
0
        public ActionResult AddOrEditOWApply(OWApply owapply)
        {
            owapply.StartTime = Convert.ToDateTime(owapply.StartTimeStr);
            owapply.EndTime   = Convert.ToDateTime(owapply.EndTimeStr);
            if (owapply.StartTime < owapply.EndTime)
            {
                DirectResult       r             = new DirectResult();
                T_HR_OverWorkApply owapplyupdate = entities.T_HR_OverWorkApply.Find(owapply.ID);

                if (owapplyupdate == null)//为空为添加
                {
                    owapply.ID = Guid.NewGuid().ToString();
                    owapply.OperationListID = Guid.NewGuid().ToString();
                    owapply.Valid           = true;
                    owapply.CreaterName     = new LoginUser().EmployeeId;
                    owapply.CreateTime      = DateTime.Now;

                    T_CH_Operation_list newList = new T_CH_Operation_list();
                    newList.ID           = owapply.OperationListID;
                    newList.State        = (int)CheckState.Checking;//审核中
                    newList.Check_flowID = owapply.CheckFlowId;
                    newList.Check_funcID = owapply.FuncId;
                    newList.CreateTime   = DateTime.Now;
                    newList.Creator      = new LoginUser().EmployeeId;
                    newList.Url          = Url.Action("CheckOverWorkApply", "OverWorkApply", new { id = owapply.ID });

                    entities.T_HR_OverWorkApply.Add(owapply.ToDB(1));
                    entities.T_CH_Operation_list.Add(newList);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "保存成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                else//否则为修改
                {
                    owapply.EditorName = new LoginUser().EmployeeId;
                    owapply.EditeTime  = DateTime.Now;

                    owapplyupdate.Valid = false;

                    owapply.ID = Guid.NewGuid().ToString();
                    owapply.OperationListID = Guid.NewGuid().ToString();
                    owapply.Valid           = true;

                    T_CH_Operation_list newList = new T_CH_Operation_list();
                    newList.ID           = owapply.OperationListID;
                    newList.State        = (int)CheckState.Checking;;//审核中
                    newList.Check_flowID = owapply.CheckFlowId;
                    newList.Check_funcID = owapply.FuncId;
                    newList.CreateTime   = DateTime.Now;
                    newList.Creator      = new LoginUser().EmployeeId;
                    newList.Url          = Url.Action("CheckOverWorkApply", "OverWorkApply", new { id = owapply.ID });

                    entities.T_HR_OverWorkApply.Add(owapply.ToDB(2));
                    entities.T_CH_Operation_list.Add(newList);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "保存成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                return(r);
            }
            else
            {
                X.Msg.Alert("警告", "调休加班时段错误!").Show();
                return(this.Direct());
            }
        }
        public ActionResult BudgetEdit(T_GM_Budget am, string list, string record, string pri)
        {
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.Name == am.AuditProgress).ToList().FirstOrDefault();

            auditprocess.ID           = Guid.NewGuid().ToString();
            auditprocess.Check_funcID = cf.CheckfuncID;
            auditprocess.Check_flowID = cf.ID;
            auditprocess.CreateTime   = DateTime.Now;
            auditprocess.State        = 1;
            auditprocess.Url          = Url.Action("ProjectBudgetAudit", "Share", new { gid = auditprocess.ID });
            auditprocess.Creator      = user.EmployeeId;
            DB.T_CH_Operation_list.Add(auditprocess);

            var am_new = new T_GM_Budget();

            am_new.GID           = auditprocess.ID;
            am_new.AgentDate     = DateTime.Now;
            am_new.AgentMan      = user.EmployeeId;
            am_new.AuditProgress = cf.Name;
            am_new.ClientName    = am.ClientName;
            am_new.CostMoney     = am.CostMoney;
            am_new.Extra         = am.Extra;
            am_new.LaborCost     = am.LaborCost;
            am_new.LaborOffer    = am.LaborOffer;
            am_new.MaterialCost  = am.MaterialCost;
            am_new.MaterialOffer = am.MaterialOffer;
            am_new.OfferDate     = am.OfferDate;
            am_new.OfferMoney    = am.OfferMoney;
            am_new.OtherFeeCost  = am.OtherFeeCost;
            am_new.OtherFeeOffer = am.OtherFeeOffer;
            am_new.ProjectName   = am.ProjectName;
            am_new.ProjectNo     = am.ProjectNo;
            am_new.QuotationNo   = am.QuotationNo;
            am_new.TaxRate       = am.TaxRate;
            am_new.Version       = am.Version + 1;

            am_new.RateMargin = am.RateMargin;
            am_new.NetMargin  = am.NetMargin;

            var    uploadfile  = this.GetCmp <FileUploadField>("ModifyAttachmentPath");
            int    filesize    = uploadfile.PostedFile.ContentLength;
            string fileoldname = uploadfile.FileName;

            if (filesize > 20 * 1024 * 1024)
            {
                X.Msg.Alert("提示", "上传文件过大,大小必须低于20M").Show();
                return(this.Direct());
            }
            if (uploadfile.HasFile)
            {
                string filenewname = Guid.NewGuid().ToString() + Path.GetExtension(fileoldname);
                string logicpath   = "~/AttachFile/ProjectBudget/" + filenewname;
                string filepath    = Server.MapPath(logicpath);
                am_new.AttachmentPath = logicpath;
                uploadfile.PostedFile.SaveAs(filepath);
            }

            DB.T_GM_Budget.Add(am_new);

            #region 添加物料
            List <string>  a     = cw.JsontoList(list);
            List <string>  b     = cw.JsontoList(pri);
            List <string>  c     = cw.JsontoList(record);
            List <decimal> num   = cw.StrtoDec(c);
            List <decimal> price = cw.StrtoDec(b);
            if (!cw.IsPositiveNumArr(num))
            {
                return(this.Direct(false, "数量不能为负数"));
            }
            if (a.Count > 0 && a[0] != "" && a[0] != "null" && a.Count == num.Count && a.Count == price.Count)
            {
                int i = 0;
                foreach (var item in a)
                {
                    var detail = new T_GM_DM();
                    detail.Remark = am_new.GID;
                    detail.MFlID  = item;
                    detail.Num    = num[i];
                    detail.Price  = price[i];
                    detail.NO     = am.ProjectNo;
                    detail.Type   = "BJD";
                    i++;
                    DB.T_GM_DM.Add(detail);
                }
            }
            else
            {
                return(this.Direct());
            }
            #endregion

            am = DB.T_GM_Budget.Find(am.GID);
            am.BudgetStatus = "modified once";
            DB.T_GM_Budget.Attach(am);
            DB.Entry(am).State = EntityState.Modified;
            DB.SaveChanges();

            DirectResult re = new DirectResult();
            re.IsUpload = true;
            return(re);
        }
Esempio n. 14
0
        public ActionResult BESubmit(BTApply businesstrip)
        {
            try
            {
                businesstrip.StartTime = Convert.ToDateTime(businesstrip.StartTimeStr);//计算TimeSpan
                businesstrip.EndTime   = Convert.ToDateTime(businesstrip.EndTimeStr);
            }
            catch (FormatException fe)
            {
                X.Msg.Alert("警告", "日期不正确,请检查!").Show();
                return(this.Direct());
            }

            if (businesstrip.StartTime.Year == businesstrip.EndTime.Year && businesstrip.StartTime.Month == businesstrip.EndTime.Month && businesstrip.StartTime <= businesstrip.EndTime)
            {
                DirectResult r    = new DirectResult();
                string       orid = businesstrip.ID;

                var prelists = from o in entities.T_HR_BusinessTrip
                               where o.BTEdit == true && o.LastID == orid
                               select o;
                foreach (T_HR_BusinessTrip item in prelists)
                {
                    T_HR_BusinessTrip prelist = entities.T_HR_BusinessTrip.Find(item.ID);
                    prelist.BTEdit = false;
                }

                T_HR_BusinessTrip orlist = entities.T_HR_BusinessTrip.Find(orid);
                orlist.BTEdit       = true;
                orlist.EditOrDelete = "Edit";

                businesstrip.ID = Guid.NewGuid().ToString();
                businesstrip.OperationListID = Guid.NewGuid().ToString();
                businesstrip.Valid           = false;
                businesstrip.CreaterName     = new LoginUser().EmployeeId;
                businesstrip.CreateTime      = DateTime.Now;
                businesstrip.BTEdit          = true;
                businesstrip.BTDelete        = false;
                businesstrip.EditOrDelete    = "";
                businesstrip.LastID          = orid;
                //businesstrip.TimeSpan = GetTimeSpan(businesstrip.StartTime, businesstrip.EndTime);
                //businesstrip.TiaoxiuHours = GetTH(businesstrip.StartTime, businesstrip.EndTime);

                T_CH_Operation_list newList = new T_CH_Operation_list();
                newList.ID           = businesstrip.OperationListID;
                newList.State        = (int)CheckState.Checking;//审核中
                newList.Check_flowID = businesstrip.CheckFlowId;
                newList.Check_funcID = businesstrip.FuncId;
                newList.CreateTime   = DateTime.Now;
                newList.Creator      = new LoginUser().EmployeeId;
                newList.Url          = Url.Action("CheckBusinessTrip", "BusinessTrip", new { id = businesstrip.ID });

                entities.T_HR_BusinessTrip.Add(businesstrip.ToDB(1));
                entities.T_CH_Operation_list.Add(newList);
                try
                {
                    entities.SaveChanges();
                    r.Success = true;
                    X.Msg.Alert("提示", "保存成功!", new JFunction {
                        Fn = "closewindow"
                    }).Show();
                }
                catch (Exception e)
                {
                    X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                        Fn = "closewindow"
                    }).Show();
                    r.Success = false;
                }
                return(r);
            }
            else
            {
                X.Msg.Alert("警告", "请假不可跨月!").Show();
                return(this.Direct());
            }
        }
Esempio n. 15
0
        public ActionResult OrdinaryMApplyAdd(string list, string record, string pri, T_GM_ApplyMaterial am)
        {
            var re = DB.V_GM_DetailProject.Where(w => w.ProjectNo == am.ProjectNo).ToList().FirstOrDefault();

            am.FPMGID = re.UID;
            string wareid = re.WarehouseID;

            #region 添加物料
            List <string>  a     = cw.JsontoList(list);   //编号
            List <string>  b     = cw.JsontoList(pri);    //价格
            List <string>  c     = cw.JsontoList(record); //数量
            List <decimal> num   = cw.StrtoDec(c);
            List <decimal> price = cw.StrtoDec(b);
            var            te    = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am.FPMGID);
            if (!cw.IsPositiveNumArr(num))
            {
                return(this.Direct(false, "数量不能为负数"));
            }
            if (a.Count > 0 && a[0] != "" && a[0] != "null" && a.Count == num.Count && a.Count == price.Count)
            {
                T_CH_Operation_list auditprocess = new T_CH_Operation_list();
                var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.CheckProcess).ToList().FirstOrDefault();
                am.GID          = Guid.NewGuid().ToString();
                am.CheckProcess = cf.Name;
                am.ApplyMan     = user.EmployeeId;
                //am.ApplyMState = "deploying";
                am.ApplyTime = DateTime.Now;
                DB.T_GM_ApplyMaterial.Add(am);

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MApplyAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                int i = 0;
                foreach (var item in a)
                {
                    var detail = new T_GM_DM();
                    detail.Remark = am.GID;
                    detail.MFlID  = item;
                    var test = te.Where(m => m.MFlID == item).ToList().First();
                    test.Num -= num[i];
                    //var storage = DB.T_GM_MaterialStock.Where(m => m.MaterialID == item).Where(m => m.WarehouseID == wareid).ToList().FirstOrDefault();
                    decimal flag = 1; //--修改 物料申请不需要考虑库存
                                      //if (storage!=null)
                                      //{
                                      //	flag = (test.Num ?? 0) - storage.CurAmount;
                                      //}
                                      //else
                                      //{
                    flag = test.Num ?? 0;
                    //}
                    if (flag < 0)
                    {
                        return(this.Direct(false, "申请的数量超过项目所需物资数量!!!"));
                    }
                    DB.T_GM_TempDetailMaterial.Attach(test);
                    DB.Entry(test).State = EntityState.Modified;
                    detail.Num           = num[i];
                    detail.Price         = price[i];
                    detail.NO            = am.ApplyMaterialNo;
                    detail.Type          = "SQM";
                    i++;
                    DB.T_GM_DM.Add(detail);
                }
            }
            else
            {
                return(this.Direct());
            }
            #endregion
            DB.SaveChanges();
            return(this.Direct());
        }
Esempio n. 16
0
        public ActionResult FAPurchaseSave(string list, string record, string price, string spid, T_GM_PurchaseFixedAsset am)
        {
            List <string>       a            = cw.JsontoList(list);
            List <string>       c            = cw.JsontoList(record);
            List <string>       b            = cw.JsontoList(price);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.AuditProcess).ToList().FirstOrDefault();
            var de = DB.T_GM_ApplyFixedAsset.Find(am.ApplyNo);
            var te = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am.ApplyNo);

            if (a.Count > 0 && cf != null)
            {
                am.GID          = Guid.NewGuid().ToString();
                am.AuditProcess = cf.Name;
                am.Operator     = user.EmployeeId;
                am.OperateTime  = DateTime.Now;
                am.SupplierID   = spid;
                DB.T_GM_PurchaseFixedAsset.Add(am);

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("FAPurchaseAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料").Show();
                return(this.Direct());
            }

            int     i = 0;
            decimal t, f;

            foreach (var item in a)
            {
                if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                {
                    var detail = new T_GM_DM();
                    detail.Remark = am.GID;
                    detail.MFlID  = item;
                    decimal.TryParse(c[i], out t);
                    decimal.TryParse(b[i], out f);
                    var test = te.Where(m => m.MFlID == item).ToList().First();
                    test.Num -= t;
                    if (test.Num < 0)
                    {
                        //X.Msg.Alert("警告", "采购的数量超过申请单里剩余物料的数量!!!").Show();
                        return(this.Direct(false, "采购的数量超过申请单里剩余物料的数量!!!"));
                    }
                    DB.T_GM_TempDetailMaterial.Attach(test);
                    DB.Entry(test).State = EntityState.Modified;
                    detail.Type          = "CGF";
                    detail.Num           = t;
                    detail.Price         = f;
                    detail.NO            = am.PurchaseFNo;
                    DB.T_GM_DM.Add(detail);
                    i++;
                }
                else
                {
                    X.Msg.Alert("警告", "物料数量不能为空").Show();
                    return(this.Direct());
                }
            }
            DB.SaveChanges();

            if (cw.check(am.ApplyNo))
            {
                de.Status = "deploying";
                DB.T_GM_ApplyFixedAsset.Attach(de);
                DB.Entry(de).State = EntityState.Modified;
                DB.SaveChanges();
                X.Msg.Alert("提示", "订单已配置完成,请耐心等待审核", "parent.App.window3.close();").Show();
                return(this.Direct());
            }
            return(this.Direct());
        }
Esempio n. 17
0
        public ActionResult AddOrEditBusinessTrip(BTApply businesstrip)
        {
            try
            {
                businesstrip.StartTime = Convert.ToDateTime(businesstrip.StartTimeStr);//计算TimeSpan
                businesstrip.EndTime   = Convert.ToDateTime(businesstrip.EndTimeStr);
            }
            catch (FormatException fe)
            {
                X.Msg.Alert("警告", "日期不正确,请检查!").Show();
                return(this.Direct());
            }

            if (businesstrip.StartTime.Year == businesstrip.EndTime.Year && businesstrip.StartTime.Month == businesstrip.EndTime.Month && businesstrip.StartTime <= businesstrip.EndTime)
            {
                DirectResult      r = new DirectResult();
                T_HR_BusinessTrip businesstripupdate = entities.T_HR_BusinessTrip.Find(businesstrip.ID);

                if (businesstripupdate == null)//为空为添加
                {
                    //businesstrip.StartTime = Convert.ToDateTime(businesstrip.StartTimeStr);//计算TimeSpan
                    //businesstrip.EndTime = Convert.ToDateTime(businesstrip.EndTimeStr);
                    businesstrip.ID = Guid.NewGuid().ToString();
                    businesstrip.OperationListID = Guid.NewGuid().ToString();
                    businesstrip.Valid           = true;
                    businesstrip.CreaterName     = new LoginUser().EmployeeId;
                    businesstrip.CreateTime      = DateTime.Now;
                    businesstrip.BTEdit          = false;
                    businesstrip.BTDelete        = false;
                    //businesstrip.TimeSpan = GetTimeSpan(businesstrip.StartTime, businesstrip.EndTime);

                    T_CH_Operation_list newList = new T_CH_Operation_list();
                    newList.ID           = businesstrip.OperationListID;
                    newList.State        = (int)CheckState.Checking;//审核中
                    newList.Check_flowID = businesstrip.CheckFlowId;
                    newList.Check_funcID = businesstrip.FuncId;
                    newList.CreateTime   = DateTime.Now;
                    newList.Creator      = new LoginUser().EmployeeId;
                    newList.Url          = Url.Action("CheckBusinessTrip", "BusinessTrip", new { id = businesstrip.ID });

                    entities.T_HR_BusinessTrip.Add(businesstrip.ToDB(1));
                    entities.T_CH_Operation_list.Add(newList);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "保存成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                else//否则为修改
                {
                    //businesstrip.StartTime = Convert.ToDateTime(businesstrip.StartTimeStr);//计算TimeSpan
                    //businesstrip.EndTime = Convert.ToDateTime(businesstrip.EndTimeStr);
                    businesstrip.EditorName = new LoginUser().EmployeeId;
                    businesstrip.EditeTime  = DateTime.Now;

                    businesstripupdate.Valid = false;

                    businesstrip.ID = Guid.NewGuid().ToString();
                    businesstrip.OperationListID = Guid.NewGuid().ToString();
                    businesstrip.Valid           = true;
                    businesstrip.BTEdit          = false;
                    businesstrip.BTDelete        = false;
                    //businesstrip.TimeSpan = GetTimeSpan(businesstrip.StartTime, businesstrip.EndTime);

                    T_CH_Operation_list newList = new T_CH_Operation_list();
                    newList.ID           = businesstrip.OperationListID;
                    newList.State        = (int)CheckState.Checking;//审核中
                    newList.Check_flowID = businesstrip.CheckFlowId;
                    newList.Check_funcID = businesstrip.FuncId;
                    newList.CreateTime   = DateTime.Now;
                    newList.Creator      = new LoginUser().EmployeeId;
                    newList.Url          = Url.Action("CheckBusinessTrip", "BusinessTrip", new { id = businesstrip.ID });

                    entities.T_HR_BusinessTrip.Add(businesstrip.ToDB(2));
                    entities.T_CH_Operation_list.Add(newList);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "修改成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                return(r);
            }
            else
            {
                X.Msg.Alert("警告", "出差申请不可跨月!").Show();
                return(this.Direct());
            }
        }
Esempio n. 18
0
        public bool Save(Controller controller, FileUtility fileUtility)
        {
            if (fileUtility.File.ContentLength != 0)
            {
                if (!fileUtility.SavaData())
                {
                    return(false);
                }
            }

            using (Entities db = new Entities())
            {
                try
                {
                    T_US_DailyWorkReport workReport = new T_US_DailyWorkReport()
                    {
                        ID                 = Guid.NewGuid().ToString(),
                        AttachFile         = AttachFile,
                        CreateTime         = DateTime.Now,
                        Creator            = new LoginUser().EmployeeId,
                        OperationID        = Guid.NewGuid().ToString(),
                        Date               = Date,
                        ProgressPercentage = ProgressPercentage,
                        ProjectID          = ProjectID,
                        ProjectNo          = ProjectNo,
                        ProjectName        = ProjectName,
                        ProjectSite        = ProjectSite,
                        Remark             = Remark
                    };
                    db.T_US_DailyWorkReport.Add(workReport);
                    T_CH_Operation_list operation = new T_CH_Operation_list()
                    {
                        Check_flowID = CheckFlowId,
                        Check_funcID = CheckFucId,
                        CreateTime   = DateTime.Now,
                        Creator      = new LoginUser().EmployeeId,
                        ID           = workReport.OperationID,
                        State        = (int)CheckState.Checking,
                        Url          = controller.Url.Action("Check", "DailyWorkReport", new { id = workReport.ID })
                    };
                    db.T_CH_Operation_list.Add(operation);
                    foreach (var hour in WorkHourses)
                    {
                        T_US_WorkHours workHours = new T_US_WorkHours()
                        {
                            DailyReportID = workReport.ID,
                            DutyHours     = hour.DutyHours,
                            EmployeeID    = hour.EmployeeID,
                            EmployeeName  = hour.EmployeeName,
                            ExtraHours    = hour.ExtraHours,
                            ID            = Guid.NewGuid().ToString()
                        };
                        db.T_US_WorkHours.Add(workHours);
                    }
                    db.SaveChanges();
                    return(true);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
        }
Esempio n. 19
0
        public ActionResult ModifySubmit(string list, string record, string price, string gid)
        {
            //X.GetCmp<ComboBox>("");
            List <string>       a            = cw.JsontoList(list);
            List <string>       b            = cw.JsontoList(price);
            List <string>       c            = cw.JsontoList(record);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var am_old = DB.T_GM_ResidualM.Find(gid);
            var am     = new T_GM_ResidualM();
            var cf     = DB.V_CH_Checkfuncflow.Where(w => w.Name == am_old.AuditProcess).ToList().FirstOrDefault();

            if (a.Count > 0 && a[0] != "")
            {
                am_old.Remark = "modified once";
                DB.T_GM_ResidualM.Attach(am_old);
                DB.Entry(am_old).State = EntityState.Modified;

                am.GID          = Guid.NewGuid().ToString();
                am.SupplierID   = am_old.SupplierID;
                am.ResidualType = am_old.ResidualType;
                am.ResidualNo   = am_old.ResidualNo;
                am.OperateTime  = DateTime.Now;
                am.Operator     = am_old.Operator;
                am.BackDate     = DateTime.Now;
                am.ProjectNo    = am_old.ProjectNo;
                am.AuditProcess = am_old.AuditProcess;
                DB.T_GM_ResidualM.Add(am);
                int     i = 0;
                decimal t, f;

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MResidualAudit", "Share", new { id = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        var detail = new T_GM_DM();
                        detail.Remark = am.GID;
                        detail.MFlID  = item;
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);
                        detail.Num   = t;
                        detail.Price = f;
                        detail.NO    = am.ResidualNo;
                        detail.Type  = "THM";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
            }
            else
            {
                X.Msg.Alert("提示", "您尚未添加任何物料!!!").Show();
            }
            return(this.Direct());
        }
Esempio n. 20
0
        //[VisitAuthorize(Read = false, Delete = false, Create = true, Update = true)]
        public ActionResult MResidualSubmit(string list, string record, string pri, T_GM_ResidualM rm)
        {
            try
            {
                List <string>       a            = cw.JsontoList(list);
                List <string>       c            = cw.JsontoList(record);
                List <string>       b            = cw.JsontoList(pri);
                T_CH_Operation_list auditprocess = new T_CH_Operation_list();
                var     cf = DB.V_CH_Checkfuncflow.Where(w => w.CheckfuncName == checkname).Where(w => w.ID == rm.AuditProcess).ToList().FirstOrDefault();
                int     i = 0;
                decimal t, f;
                if (a.Count > 0 && a[0] != "" && cf != null)
                {
                    rm.GID          = Guid.NewGuid().ToString();
                    rm.AuditProcess = cf.Name;
                    rm.Operator     = user.EmployeeId;
                    rm.OperateTime  = DateTime.Now;
                    rm.BackDate     = DateTime.Now;
                    DB.T_GM_ResidualM.Add(rm);

                    auditprocess.ID           = rm.GID;
                    auditprocess.Check_funcID = cf.CheckfuncID;
                    auditprocess.Check_flowID = cf.ID;
                    auditprocess.CreateTime   = DateTime.Now;
                    auditprocess.State        = 1;
                    auditprocess.Url          = Url.Action("MResidualAudit", "Share", new { id = rm.GID });
                    auditprocess.Creator      = user.EmployeeId;
                    DB.T_CH_Operation_list.Add(auditprocess);

                    foreach (var item in a)
                    {
                        if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                        {
                            T_GM_DM dm = new T_GM_DM();
                            decimal.TryParse(c[i], out t);
                            decimal.TryParse(b[i], out f);
                            dm.NO     = rm.ResidualNo;
                            dm.Type   = "THM";
                            dm.Num    = t;
                            dm.Price  = f;
                            dm.MFlID  = a[i];
                            dm.Remark = rm.GID;
                            i++;
                            DB.T_GM_DM.Add(dm);
                        }
                        else
                        {
                            X.Msg.Alert("警告", "数量或价格不能为空").Show();
                            return(this.Direct());
                        }
                    }
                    DB.SaveChanges();
                    return(this.Direct());
                }
                else
                {
                    X.Msg.Alert("提示", "你尚未选择任何材料").Show();
                    return(this.Direct());
                }
            }
            catch (Exception e)
            {
                return(this.Direct(false, e.Message));
            }
        }
Esempio n. 21
0
        //[VisitAuthorize(Read = false, Delete = false, Create = true, Update = true)]
        public ActionResult FAStorageSubmit(string list, string record, string pri, string wid, T_GM_StorageFixedAsset rm)
        {
            List <string> a  = cw.JsontoList(list);
            List <string> c  = cw.JsontoList(record);
            List <string> b  = cw.JsontoList(pri);
            var           te = DB.T_GM_TempDetailMaterial.Where(w => w.Remark == rm.PFAGID);
            var           de = DB.T_GM_PurchaseFixedAsset.Find(rm.PFAGID);

            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.CheckfuncName == checkname).Where(w => w.ID == rm.AuditProcess).ToList().FirstOrDefault();

            int     i = 0;
            decimal t, f;

            if (a.Count > 0 && a[0] != "")
            {
                rm.GID          = Guid.NewGuid().ToString();
                rm.AuditProcess = cf.Name;
                rm.WarehouseID  = wid;
                rm.Operator     = user.EmployeeId;
                rm.OperateTime  = DateTime.Now;
                rm.No_Date      = DateTime.Now;
                DB.T_GM_StorageFixedAsset.Add(rm);

                auditprocess.ID           = rm.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("Variable", "Share", new { id = rm.GID });//"/gyproject/Share/Variable?id=" + rm.StorageNo + "&title=固定资产入库审核";
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        T_GM_DM dm = new T_GM_DM();
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);

                        var test = te.Where(m => m.MFlID == item).ToList().First();
                        test.Num -= t;
                        if (test.Num < 0)
                        {
                            //X.Msg.Alert("警告", "收货实际数量超过采购数量!!!").Show();
                            return(this.Direct(false, "收货实际数量超过采购数量!!!"));
                        }
                        DB.T_GM_TempDetailMaterial.Attach(test);
                        DB.Entry(test).State = EntityState.Modified;

                        dm.NO     = rm.StorageNo;
                        dm.Type   = "SHF";
                        dm.Num    = t;
                        dm.Price  = f;
                        dm.MFlID  = a[i];
                        dm.Remark = rm.GID;
                        i++;
                        DB.T_GM_DM.Add(dm);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "物料数量不能为空").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();

                bool fl = true;
                foreach (var item in DB.T_GM_TempDetailMaterial.Where(m => m.Remark == rm.PFAGID).ToList())
                {
                    if (item.Num != 0)
                    {
                        fl = false;
                        break;
                    }
                }
                if (fl)
                {
                    de.Status = "delivering";
                    DB.T_GM_PurchaseFixedAsset.Attach(de);
                    DB.Entry(de).State = EntityState.Modified;
                    DB.SaveChanges();
                    X.Msg.Alert("提示", "此采购单货物已完全送达,等待审核中", "parent.App.window2.close();").Show();
                    return(this.Direct());
                }
            }
            else
            {
                X.Msg.Alert("警告", "物料数量不能为空").Show();
            }
            return(this.Direct());
        }
        //[VisitAuthorize(Read=false,Delete=false,Create=true,Update=true)]
        /// <summary>
        /// 注意看注释
        /// </summary>
        /// <param name="list"></param>
        /// <param name="record"></param>
        /// <param name="pri"></param>
        /// <param name="wid"></param>
        /// <param name="rm"></param>
        /// <returns></returns>
        public ActionResult MReceiptSubmit(string list, string record, string pri, T_GM_ReceiptMaterial rm, string AuditProcess)
        {
            List <string> a = cw.JsontoList(list);
            List <string> c = cw.JsontoList(record);
            List <string> b = cw.JsontoList(pri);
            //这里是多张收货单确定一张采购单,与1张申请单配置多张采购单相反,
            //所以数据库中收货表要取采购单的GID才能找到对应记录,而不是订单号
            var     te = DB.T_GM_TempDetailMaterial.Where(w => w.Remark == rm.PMNo);
            var     de = DB.T_GM_PurchaseMaterial.Find(rm.PMNo);
            string  IMNo = "IMW" + DateTime.Now.ToString("yyyyMMdd") + SerialNum.NewSerialNum();
            string  IMOpId = Guid.NewGuid().ToString();
            int     i = 0;
            decimal t, f, totalprice = 0;

            if (a.Count > 0 && a[0] != "")
            {
                //rm.ReceiptPlace = wid;
                rm.ConfirmMan     = user.EmployeeId;
                rm.ConfirmTime    = DateTime.Now;
                rm.OperationLstId = IMOpId;

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        T_GM_DM dm     = new T_GM_DM();
                        T_GM_DM IMWMat = new T_GM_DM();
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);

                        var test = te.FirstOrDefault(m => m.MFlID == item);
                        if (test != null)
                        {
                            test.Num -= t;
                            if (test.Num < 0)
                            {
                                //X.Msg.Alert("警告","" ).Show();
                                return(this.Direct(false, "收货实际数量超过采购数量!!!"));
                            }
                            DB.T_GM_TempDetailMaterial.Attach(test);
                            DB.Entry(test).State = EntityState.Modified;

                            //入库物料
                            IMWMat.NO     = IMNo;
                            IMWMat.Type   = "PURIM";
                            IMWMat.Price  = f;
                            IMWMat.MFlID  = a[i];
                            IMWMat.Num    = t;
                            IMWMat.Remark = IMOpId;
                            DB.T_GM_DM.Add(IMWMat);
                        }
                        //收货的物料
                        dm.NO     = rm.ReceivePMNo;
                        dm.Type   = "SHM";
                        dm.Num    = t;
                        dm.Price  = f;
                        dm.MFlID  = a[i];
                        dm.Remark = rm.ReceivePMNo;
                        DB.T_GM_DM.Add(dm);

                        i++;
                        totalprice += t * f;
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                rm.RMTotalPrice = totalprice;
                DB.T_GM_ReceiptMaterial.Add(rm);

                var project = DB.V_GM_DetailProject.FirstOrDefault(l => l.ProjectNo == rm.ProjectNo);
                if (project == null)
                {
                    return(this.Direct());
                }
                T_GM_IMWarehouse imw = new T_GM_IMWarehouse();
                imw.IMDate          = DateTime.Now;
                imw.IMTypeID        = 3;
                imw.IMID            = IMNo;
                imw.IMWarehouseID   = project.WarehouseID;
                imw.ProjectID       = rm.ProjectNo;
                imw.RefrenceNo      = rm.ReceivePMNo;
                imw.Operator        = user.EmployeeId;
                imw.OperationTime   = DateTime.Now;
                imw.OperationListID = IMOpId;
                DB.T_GM_IMWarehouse.Add(imw);

                T_CH_Operation_list auditprocess = new T_CH_Operation_list();
                var cf = DB.V_CH_Checkfuncflow.Where(w => w.CheckfuncName == checkname).Where(w => w.ID == AuditProcess).ToList().FirstOrDefault();
                auditprocess.ID           = imw.OperationListID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("CheckIMAction", "IMWarehouse", new { id = IMNo });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);


                DB.SaveChanges();

                if (cw.check(rm.PMNo))
                {
                    de.OrderStatu = "delivered";
                    DB.T_GM_PurchaseMaterial.Attach(de);
                    DB.Entry(de).State = EntityState.Modified;
                    DB.SaveChanges();
                    X.Msg.Alert("提示", "此采购单货物已完全送达", "parent.App.win.close();").Show();
                    return(this.Direct());
                }
            }
            else
            {
                X.Msg.Alert("警告", "物料数量不能为空").Show();
            }
            X.Msg.AddScript("parent.App.win.close();");
            return(this.Direct());
        }
Esempio n. 23
0
        public ActionResult ModifySubmit(string list, string record, string price, string gid)
        {
            List <string>       a            = cw.JsontoList(list);
            List <string>       b            = cw.JsontoList(price);
            List <string>       c            = cw.JsontoList(record);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var am_old = DB.T_GM_ApplyMaterial.Find(gid);
            var am     = new T_GM_ApplyMaterial();
            var cf     = DB.V_CH_Checkfuncflow.Where(w => w.Name == am_old.CheckProcess).ToList().FirstOrDefault();

            if (a.Count > 0 && a[0] != "")
            {
                am_old.ApplyMState = "modified once";
                DB.T_GM_ApplyMaterial.Attach(am_old);
                DB.Entry(am_old).State = EntityState.Modified;

                am.GID        = Guid.NewGuid().ToString();
                am.PrepaidDay = am_old.PrepaidDay;
                am.Tel        = am_old.Tel;

                am.ApplyTime       = DateTime.Now;
                am.ApplyMan        = am_old.ApplyMan;
                am.FPMGID          = am_old.FPMGID;
                am.ApplyMaterialNo = am_old.ApplyMaterialNo;
                am.CheckProcess    = am_old.CheckProcess;
                am.ProjectNo       = am_old.ProjectNo;
                am.Remark          = am_old.Remark;
                DB.T_GM_ApplyMaterial.Add(am);
                int     i = 0;
                decimal t, f;

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MApplyAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        var detail = new T_GM_DM();
                        detail.Remark = am.GID;
                        detail.MFlID  = item;
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);
                        detail.Num   = t;
                        detail.Price = f;
                        detail.NO    = am.ApplyMaterialNo;
                        detail.Type  = "SQM";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
                //X.MessageBox.Alert("消息", "操作成功!", "history.go(-1);parent.location.reload();").Show();
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料!!!").Show();
                return(this.Direct());
            }
        }
        public ActionResult AddOrEditDimission(DimissionApply dimission)
        {
            var dt = (from o in entities.T_HR_Dimission
                      where o.StaffID == dimission.StaffID && o.IsValid == true
                      select o).ToList();

            if (!dt.Any())
            {
                DirectResult   r = new DirectResult();
                T_HR_Dimission dimissionupdate = entities.T_HR_Dimission.Find(dimission.ID);

                if (dimissionupdate == null)//为空为添加
                {
                    dimission.ID = Guid.NewGuid().ToString();
                    dimission.OperationListID = Guid.NewGuid().ToString();
                    dimission.Num             = GetDimissionNum(dimission.StaffID);
                    dimission.IsValid         = true;
                    dimission.CreaterName     = new LoginUser().EmployeeId;
                    dimission.CreateTime      = DateTime.Now;

                    T_CH_Operation_list newList = new T_CH_Operation_list();
                    newList.ID           = dimission.OperationListID;
                    newList.State        = 1;//审核中
                    newList.Check_flowID = dimission.CheckFlowId;
                    newList.Check_funcID = dimission.FuncId;
                    newList.CreateTime   = DateTime.Now;
                    newList.Creator      = new LoginUser().EmployeeId;
                    newList.Url          = Url.Action("CheckDimission", "Dimission", new { id = dimission.ID });

                    entities.T_HR_Dimission.Add(dimission.ToT_HR_Dimission(1));
                    entities.T_CH_Operation_list.Add(newList);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "保存成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                else//否则为修改
                {
                    dimission.EditorName = new LoginUser().EmployeeId;
                    dimission.EditeTime  = DateTime.Now;

                    dimission.ID = Guid.NewGuid().ToString();
                    dimission.OperationListID = Guid.NewGuid().ToString();
                    dimission.IsValid         = true;

                    dimissionupdate.IsValid = false;

                    T_CH_Operation_list newList = new T_CH_Operation_list();
                    newList.ID           = dimission.OperationListID;
                    newList.State        = (int)CheckState.Checking;;//审核中
                    newList.Check_flowID = dimission.CheckFlowId;
                    newList.Check_funcID = dimission.FuncId;
                    newList.CreateTime   = DateTime.Now;
                    newList.Creator      = new LoginUser().EmployeeId;
                    newList.Url          = Url.Action("CheckDimission", "Dimission", new { id = dimission.ID });

                    entities.T_HR_Dimission.Add(dimission.ToT_HR_Dimission(2));
                    entities.T_CH_Operation_list.Add(newList);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "保存成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                return(r);
            }
            else
            {
                X.Msg.Alert("警告", "该员工已存在离职记录,不可重复添加!").Show();
                return(this.Direct());
            }
        }