Exemplo n.º 1
0
 public ActionResult DeleteOrganize(Guid id)
 {
     try
     {
         string        url   = string.Format("{0}/Account/GetOrganize?id={1}", ConfigurationManager.AppSettings["APIAddress"], id);
         OrganizeModel model = HttpClientHelpClass.GetResponse <OrganizeModel>(url, ConfigurationManager.AppSettings["APIToken"]);
         if (model.depth == 0)
         {
             return(Json(new OperationResult(OperationResultType.Warning, "无法删除根节点!")));
         }
         string statusCode = "";
         url = string.Format("{0}/Account/DeleteOrganize?id={1}", ConfigurationManager.AppSettings["APIAddress"], id);
         bool isSuccess = Convert.ToBoolean(HttpClientHelpClass.GetResponse(url, ConfigurationManager.AppSettings["APIToken"], out statusCode));
         if (isSuccess)
         {
             return(Json(new OperationResult(OperationResultType.Success, "删除成功!")));
         }
         else
         {
             return(Json(new OperationResult(OperationResultType.Warning, "删除失败!")));
         }
     }
     catch (Exception e)
     {
         return(Json(new OperationResult(OperationResultType.Warning, "删除失败!", e.Message)));
     }
 }
Exemplo n.º 2
0
        public ActionResult ModifyOrganize(Guid Id)
        {
            string        url   = string.Format("{0}/Account/GetOrganize?id={1}", ConfigurationManager.AppSettings["APIAddress"], Id);
            OrganizeModel model = HttpClientHelpClass.GetResponse <OrganizeModel>(url, ConfigurationManager.AppSettings["APIToken"]);

            return(PartialView("OrganizeForm", model));
        }
Exemplo n.º 3
0
 /// <summary>
 /// 给组织树加上上报信息
 /// </summary>
 /// <param name="organize">组织对象</param>
 /// <param name="ysAccountMsts">预决算主表集合</param>
 /// <returns></returns>
 public OrganizeModel GetOrgVerify(OrganizeModel organize, IList <YsAccountMstModel> ysAccountMsts)
 {
     if (organize != null)
     {
         YsAccountMstModel ysAccount = new YsAccountMstModel();
         ysAccount = ysAccountMsts.ToList().Find(t => t.Orgid == organize.PhId);
         if (ysAccount != null)
         {
             organize.VerifyEnd        = ysAccount.VerifyEnd;
             organize.VerifyEndTime    = ysAccount.VerifyEndTime;
             organize.VerifyMiddle     = ysAccount.VerifyMiddle;
             organize.VerifyMiddleTime = ysAccount.VerifyMiddleTime;
             organize.VerifyStart      = organize.VerifyStart;
             organize.VerifyStartTime  = organize.VerifyStartTime;
         }
         if (organize.children != null && organize.children.Count > 0)
         {
             foreach (var child in organize.children)
             {
                 GetOrgVerify(child, ysAccountMsts);
             }
         }
     }
     return(organize);
 }
Exemplo n.º 4
0
        public string Init()
        {
            List <PlatFormModel> list = PlatFormDal.Instance.GetAll().ToList();

            foreach (PlatFormModel model in list)
            {
                OrganizeModel m = new OrganizeModel();
                m.FID         = model.ID.ToString();
                m.CODE        = model.CODE;
                m.NAME        = model.NAME;
                m.SHORTNAME   = model.SHORTNAME;
                m.LINKMAN     = model.LINKMAN;
                m.PHONE       = model.PHONE;
                m.FAX         = model.FAX;
                m.EMAIL       = model.EMAIL;
                m.ADDRESS     = model.ADDRESS;
                m.POSTCODE    = model.POSTCODE;
                m.DISABLED    = model.DISABLED;
                m.DESCRIPTION = model.DESCRIPTION;
                m.TYPE        = 0;
                OrganizeDal.Instance.Insert(m);
            }

            return("1");
        }
        /// <summary>
        /// 根据项目代码获取对应归口部门
        /// </summary>
        /// <param name="Dwdm"></param>
        /// <returns></returns>
        public List <OrganizeModel> GetBMListDYGXdtl(string Dwdm)
        {
            List <OrganizeModel> result = new List <OrganizeModel>();
            var dicWhere = new Dictionary <string, object>();

            new CreateCriteria(dicWhere).
            Add(ORMRestrictions <string> .Eq("Dylx", "GKBM")).
            Add(ORMRestrictions <string> .Eq("Dwdm", Dwdm));

            IList <CorrespondenceSettings2Model> correspondenceSettings2s = CorrespondenceSettings2Facade.Find(dicWhere, new string[] { "Dydm Asc" }).Data;

            if (correspondenceSettings2s.Count > 0)
            {
                var dicWhereOrg = new Dictionary <string, object>();
                new CreateCriteria(dicWhereOrg).
                Add(ORMRestrictions <string> .Eq("IfCorp", "N")).
                Add(ORMRestrictions <string> .Eq("IsActive", "1"));
                IList <OrganizeModel> OrgList = OrganizationFacade.Find(dicWhereOrg).Data;
                foreach (CorrespondenceSettings2Model a in correspondenceSettings2s)
                {
                    OrganizeModel b = new OrganizeModel();
                    b.PhId  = a.PhId;
                    b.OCode = a.Dydm;
                    b.OName = OrgList.ToList().Find(x => x.OCode == a.Dydm).OName;
                    result.Add(b);
                }
            }

            return(result);
        }
Exemplo n.º 6
0
        public TreeData GetOrganizeData(List <OrganizeModel> nodes, OrganizeModel currentNode = null)
        {
            if (currentNode == null)
            {
                currentNode = nodes.Where(t => t.depth == 0 && (t.parentID == Guid.Empty || t.parentID == null)).FirstOrDefault();
                if (currentNode == null)
                {
                    return(null);
                }
            }
            TreeData data = new TreeData()
            {
                id   = currentNode.organizeID,
                link = "",
                name = currentNode.organizeName,
                pid  = currentNode.parentID
            };
            List <TreeData>             children = new List <TreeData>();
            IEnumerable <OrganizeModel> subNodes = nodes.Where(t => t.parentID == currentNode.organizeID);

            foreach (OrganizeModel node in subNodes)
            {
                TreeData cdata = GetOrganizeData(nodes, node);
                children.Add(cdata);
            }
            data.childrens = children;
            return(data);
        }
Exemplo n.º 7
0
        public ActionResult Edit(OrganizeModel model)
        {
            model.UpdateTime   = DateTime.Now;
            model.UpdateUserId = Operator.UserId;
            var result = OrganizeService.UpdateById(model) ? SuccessTip("修改成功") : ErrorTip("修改失败");

            return(Json(result));
        }
Exemplo n.º 8
0
        public ActionResult AddOrganize(Guid pid)
        {
            OrganizeModel model = new OrganizeModel {
                organizeID = Guid.NewGuid(), parentID = pid
            };

            return(PartialView("OrganizeForm", model));
        }
Exemplo n.º 9
0
        public bool UpdateOrganize([FromBody] OrganizeModel model)
        {
            IAccountLogic IComponent = container.Resolve <IAccountLogic>();

            Mapper.CreateMap <OrganizeModel, Organize>();                    // 配置
            Organize organize = Mapper.Map <OrganizeModel, Organize>(model); // 使用AutoMapper自动映射

            return(IComponent.UpdateOrganize(organize));
        }
Exemplo n.º 10
0
        /// <summary>
        /// 增加组织名称传给前端
        /// </summary>
        /// <param name="bankAccounts"></param>
        /// <param name="OrgId"></param>
        /// <returns></returns>
        public List <BankAccountModel> GetOrgName(List <BankAccountModel> bankAccounts, long OrgId)
        {
            OrganizeModel organize = OrganizationFacade.Find(OrgId).Data;

            foreach (BankAccountModel bankAccount in bankAccounts)
            {
                bankAccount.OrgName = organize.OName;
            }
            return(bankAccounts);
        }
Exemplo n.º 11
0
        public OrganizeModel GetOrganize(Guid id)
        {
            IAccountLogic IComponent = container.Resolve <IAccountLogic>();
            Organize      organize   = IComponent.GetOrganize(id);

            Mapper.CreateMap <Organize, OrganizeModel>();                         // 配置
            OrganizeModel model = Mapper.Map <Organize, OrganizeModel>(organize); // 使用AutoMapper自动映射

            return(model);
        }
Exemplo n.º 12
0
        public ActionResult Add(OrganizeModel model)
        {
            model.CreateTime   = DateTime.Now;
            model.CreateUserId = Operator.UserId;
            model.UpdateTime   = DateTime.Now;
            model.UpdateUserId = Operator.UserId;
            var result = OrganizeService.Insert(model) ? SuccessTip("添加成功") : ErrorTip("添加失败");

            return(Json(result));
        }
Exemplo n.º 13
0
 /// <summary>
 /// 根据id获取组织
 /// </summary>
 /// <param name="orgid"></param>
 /// <returns></returns>
 public OrganizeModel GetOrg(long orgid)
 {
     if (orgid != 0)
     {
         OrganizeModel organize = OrganizationFacade.Find(orgid).Data;
         return(organize);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 14
0
        public string GetAllReportExcel([FromUri] BaseListModel param)
        {
            if (param.orgid == 0)
            {
                return(DCHelper.ErrorMessage("组织id不能为空!"));
            }
            if (param.uid == 0)
            {
                return(DCHelper.ErrorMessage("用户id不能为空!"));
            }
            if (string.IsNullOrEmpty(param.orgCode))
            {
                return(DCHelper.ErrorMessage("组织编码不能为空!"));
            }
            if (string.IsNullOrEmpty(param.Year))
            {
                return(DCHelper.ErrorMessage("年份参数不能为空!"));
            }
            try
            {
                string            result       = "";
                YsAccountMstModel ysAccountMst = new YsAccountMstModel();
                ysAccountMst = this.YsAccountMstService.GetAllYsAccountList(param.orgid, param.orgCode, param.Year, param.ChooseOwn, param.value);
                if (ysAccountMst.YsAccounts != null && ysAccountMst.YsAccounts.Count > 0)
                {
                    //获取组织和用户信息
                    User2Model    userModel     = new User2Model();
                    OrganizeModel organizeModel = new OrganizeModel();
                    userModel     = this.BudgetMstService.GetUser(param.uid);
                    organizeModel = this.BudgetMstService.GetOrganize(param.orgid);


                    if (param.value == "1")
                    {
                        result = this.YsAccountMstService.GetBeginExcel(ysAccountMst.YsAccounts.ToArray(), null, userModel, organizeModel);
                    }
                    else if (param.value == "2")
                    {
                        result = this.YsAccountMstService.GetMiddleExcel(ysAccountMst.YsAccounts.ToArray(), null, userModel, organizeModel);
                    }
                    else if (param.value == "3")
                    {
                        result = this.YsAccountMstService.GetEndExcel(ysAccountMst.YsAccounts.ToArray(), null, userModel, organizeModel);
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                return(DCHelper.ErrorMessage(ex.Message));
            }
        }
Exemplo n.º 15
0
        public string GetOrg_tree([FromUri] Parameter parameters)
        {
            if (string.IsNullOrEmpty(parameters.orgid))
            {
                return(DCHelper.ErrorMessage("组织主键为空!"));
            }
            OrganizeModel             org           = CorrespondenceSettingsService.GetOrg_tree(long.Parse(parameters.orgid));
            IList <YsAccountMstModel> ysAccountMsts = new List <YsAccountMstModel>();

            ysAccountMsts = this.YsAccountMstService.Find(t => t.PhId > (long)0).Data;
            org           = GetOrgVerify(org, ysAccountMsts);
            return(DataConverterHelper.SerializeObject(org));
        }
Exemplo n.º 16
0
        /// <summary>
        /// 页面功能控制
        /// </summary>
        /// <param name="Setcode"></param>
        /// <param name="SetPhId"></param>
        /// <param name="mydelete"></param>
        /// <param name="myinsert"></param>
        /// <returns></returns>
        public CommonResult UpdateControlSet(string Setcode, string SetPhId, List <CorrespondenceSettings2Model> mydelete, List <OrganizeModel> myinsert)
        {
            CommonResult result = new CommonResult();

            if (mydelete != null && mydelete.Count > 0)
            {
                for (int i = 0; i < mydelete.Count; i++)
                {
                    CorrespondenceSettings2Model delete = mydelete[i];
                    var Deleteid = delete.PhId;
                    try
                    {
                        base.Delete <System.Int64>(Deleteid);
                    }
                    catch (Exception e)
                    {
                        result.Status = ResponseStatus.Error;
                        result.Msg    = "设置失败,请重新设置!";
                    }
                }
            }
            if (myinsert != null && myinsert.Count > 0)
            {
                for (int i = 0; i < myinsert.Count; i++)
                {
                    OrganizeModel insert  = myinsert[i];
                    var           Dwdm    = SetPhId;
                    var           Dydm    = insert.OCode;
                    var           Dylx    = "button";
                    var           DefStr1 = Setcode;
                    var           DefStr2 = insert.OName;
                    try
                    {
                        CorrespondenceSettings2Model correspondence = new CorrespondenceSettings2Model();
                        correspondence.PersistentState = SUP.Common.Base.PersistentState.Added;
                        correspondence.Dwdm            = Dwdm;
                        correspondence.Dydm            = Dydm;
                        correspondence.Dylx            = Dylx;
                        correspondence.DefStr1         = DefStr1;
                        correspondence.DefStr2         = DefStr2;
                        SavedResult <Int64> savedResult2 = base.Save <Int64>(correspondence, "");
                    }
                    catch (Exception e)
                    {
                        result.Status = ResponseStatus.Error;
                        result.Msg    = "设置失败,请重新设置!";
                    }
                }
            }
            return(result);
        }
Exemplo n.º 17
0
        public object Put([FromBody] OrganizeModel organize)
        {
            var updateorganize = new Sys_Organize
            {
                F_Id        = organize.F_Id,
                F_ParentId  = organize.F_ParentId,
                F_Layers    = organize.F_Layers,
                F_FullName  = organize.F_FullName,
                F_EnCode    = organize.F_CategoryId,
                F_ManagerId = organize.F_ManagerId,
            };
            var ret = Repository.Update(updateorganize).Result;

            return(ret.ToJson());
        }
Exemplo n.º 18
0
        public string PostExportMiddleYear([FromBody] BaseInfoModel <YsAccountMstModel> param)
        {
            if (param.uid == 0)
            {
                return(DCHelper.ErrorMessage("用户id不能为空!"));
            }
            if (param.orgid == 0)
            {
                return(DCHelper.ErrorMessage("组织id不能为空!"));
            }
            if (param.infoData == null)
            {
                return(DCHelper.ErrorMessage("参数传递有误!"));
            }
            try
            {
                if (param.infoData.YsAccounts != null && param.infoData.YsAccounts.Count > 0)
                {
                    IList <YsAccountModel> ysAccounts = new List <YsAccountModel>();
                    foreach (var acc in param.infoData.YsAccounts)
                    {
                        ysAccounts.Add(acc);
                        GetYsAccountsChilds(acc, ysAccounts);
                    }
                    param.infoData.YsAccounts = ysAccounts;
                }
                else
                {
                    return(DCHelper.ErrorMessage("导出参数传递有误!"));
                }
                //获取组织和用户信息
                User2Model    userModel     = new User2Model();
                OrganizeModel organizeModel = new OrganizeModel();
                userModel     = this.BudgetMstService.GetUser(param.uid);
                organizeModel = this.BudgetMstService.GetOrganize(param.orgid);

                //string result = "";
                // ysAccountMst = new YsAccountMstModel();
                //ysAccountMst = this.YsAccountMstService.GetMiddleAccounts(488181024000002,"101", "2019");
                string result = this.YsAccountMstService.GetMiddleExcel(param.infoData.YsAccounts.ToArray(), null, userModel, organizeModel);
                return(result);
            }
            catch (Exception e)
            {
                return(DCHelper.ErrorMessage(e.Message));
            }
        }
Exemplo n.º 19
0
        public object Post([FromBody] OrganizeModel organize)
        {
            var addorganize = new Sys_Organize
            {
                F_Id       = Common.GuId(),
                F_ParentId = organize.F_ParentId,
                F_Layers   = 2,
                F_FullName = organize.F_FullName,
                F_EnCode   = organize.F_CategoryId,

                F_ManagerId   = organize.F_ManagerId,
                F_CreatorTime = DateTime.Now
            };
            var ret = Repository.Add(addorganize).Result;

            return(ret.ToJson());
        }
Exemplo n.º 20
0
        public string AddFranchisee(FranchiseeModel u)
        {
            string uid = "0";
            string msg = "加盟商添加失败!";

            if (HasFranchiseeNo(u.COMPANY_NAME, u.FID))
            {
                uid = "-2";
                msg = "加盟商已存在。";
            }
            else
            {
                uid = FranchiseeDal.Instance.Insert(u);
                if (uid != "")
                {
                    OrganizeModel model = new OrganizeModel();
                    model.CODE        = uid;
                    model.NAME        = u.COMPANY_NAME;
                    model.SHORTNAME   = u.COMPANY_NAME;
                    model.LINKMAN     = u.LINK_MAN;
                    model.PHONE       = u.TEL;
                    model.FAX         = "";
                    model.EMAIL       = "";
                    model.ADDRESS     = u.ADDRESS;
                    model.POSTCODE    = u.ZIP_CODE;
                    model.DISABLED    = 1;
                    model.DESCRIPTION = u.REMARK;
                    model.TYPE        = 1;
                    OrganizeDal.Instance.Insert(model);

                    msg = "添加加盟商成功!";
                    LogBll <FranchiseeModel> log = new LogBll <FranchiseeModel>();
                    u.FID = uid;
                    log.AddLog(u);
                }
            }
            return(new JsonMessage {
                Data = uid.ToString(), Message = msg, Success = uid != ""
            }.ToString());
        }
Exemplo n.º 21
0
 public ActionResult ModifyOrganize(OrganizeModel model)
 {
     UpdateBaseData(model);
     try
     {
         string url        = string.Format("{0}/Account/UpdateOrganize", ConfigurationManager.AppSettings["APIAddress"]);
         string statusCode = string.Empty;
         bool   isSuccess  = Convert.ToBoolean(HttpClientHelpClass.PostResponse <OrganizeModel>(url, model, ConfigurationManager.AppSettings["APIToken"], out statusCode));
         if (isSuccess)
         {
             return(Json(new OperationResult(OperationResultType.Success, "修改成功!")));
         }
         else
         {
             return(Json(new OperationResult(OperationResultType.Warning, "修改失败!")));
         }
     }
     catch (Exception e)
     {
         return(Json(new OperationResult(OperationResultType.Warning, "修改失败!", e.Message)));
     }
 }
Exemplo n.º 22
0
 public string PostNewAppvalProcList([FromBody] BillRequestModel billRequest)
 {
     if (billRequest == null || string.IsNullOrEmpty(billRequest.OrgCode))
     {
         return(DCHelper.ErrorMessage("组织id为空!"));
     }
     if (string.IsNullOrEmpty(billRequest.BType))
     {
         return(DCHelper.ErrorMessage("单据类型为空!"));
     }
     try
     {
         //根据组织code获取组织id
         OrganizeModel organize = this.BudgetMstService.GetOrganizeByCode(billRequest.OrgCode);
         if (organize == null)
         {
             return(DCHelper.ErrorMessage("组织查询失败!"));
         }
         List <GAppvalProcModel> procModels = GAppvalProcService.GetAppvalProc(organize.PhId, billRequest.BType, 0);
         if (procModels != null && procModels.Count == 1)
         {
             return(DataConverterHelper.SerializeObject(new
             {
                 Status = "success",
                 Data = procModels
             }));
         }
         else
         {
             return(DCHelper.ErrorMessage("您所选的单据的审批流程不唯一,不能进行批量筛选!"));
         }
     }
     catch (Exception e)
     {
         return(DCHelper.ErrorMessage(e.Message));
     }
 }
Exemplo n.º 23
0
        /// <summary>
        /// 根据绩效主键获取单个绩效的数据
        /// </summary>
        /// <param name="phid">绩效主键</param>
        /// <returns></returns>
        public PerformanceAllData GetPerformanceMst(long phid)
        {
            PerformanceAllData performanceAll = new PerformanceAllData();
            var result = this.PerformanceMstFacade.Find(t => t.PhId == phid).Data;

            if (result != null && result.Count > 0)
            {
                performanceAll.PerformanceMst = result[0];
            }
            else
            {
                throw new Exception("绩效查询失败!");
            }
            performanceAll.PerformanceDtlBuDtls = this.PerformanceDtlBuDtlFacade.Find(t => t.MstPhid == phid).Data;
            if (performanceAll.PerformanceDtlBuDtls != null && performanceAll.PerformanceDtlBuDtls.Count > 0)
            {
                RichHelpDac helpdac = new RichHelpDac();
                helpdac.CodeToName <PerformanceDtlBuDtlModel>(performanceAll.PerformanceDtlBuDtls, "FSourceOfFunds", "FSourceOfFunds_EXName", "GHSourceOfFunds", "");
            }
            performanceAll.PerformanceDtlTarImpls = this.PerformanceDtlTarImplFacade.Find(t => t.MstPhid == phid).Data;
            if (performanceAll.PerformanceDtlTarImpls != null && performanceAll.PerformanceDtlTarImpls.Count > 0)
            {
                //根据申报组织获取绩效基础数据,为后续数据准备
                var allTypes   = this.PerformEvalTargetTypeFacade.Find(t => t.Orgcode == result[0].FDeclarationUnit).Data;
                var allClasses = this.PerformEvalTargetClassFacade.Find(t => t.Orgcode == result[0].FDeclarationUnit).Data;
                //绩效主表的绩效数据
                performanceAll.PerformanceMst.FTargetTypeCode = performanceAll.PerformanceDtlTarImpls[0].FTargetTypeCode;
                if (allTypes != null && allTypes.Count > 0)
                {
                    var typeModel1 = allTypes.ToList().FindAll(t => t.FCode == performanceAll.PerformanceDtlTarImpls[0].FTargetTypeCode);
                    if (typeModel1 != null && typeModel1.Count > 0)
                    {
                        performanceAll.PerformanceMst.FTargetTypeCode_EXName = typeModel1[0].FName;
                    }
                }

                //绩效单据的绩效数据
                for (int i = 0; i < performanceAll.PerformanceDtlTarImpls.Count; i++)
                {
                    PerformanceDtlTarImplModel model = performanceAll.PerformanceDtlTarImpls[i];
                    string typeCode  = model.FTargetTypeCode;
                    string classCode = model.FTargetClassCode;
                    //Dictionary<string, object> dicWhere1 = new Dictionary<string, object>();
                    //Dictionary<string, object> dicWhere2 = new Dictionary<string, object>();
                    //new CreateCriteria(dicWhere1).Add(ORMRestrictions<string>.Eq("FCode", typeCode));
                    //FindedResults<PerformEvalTargetTypeModel> typeModel = PerformEvalTargetTypeFacade.Find(dicWhere1);
                    //new CreateCriteria(dicWhere2).Add(ORMRestrictions<string>.Eq("FCode", classCode));
                    //FindedResults<PerformEvalTargetClassModel> classModel = PerformEvalTargetClassFacade.Find(dicWhere2);
                    if (allTypes != null && allTypes.Count > 0)
                    {
                        var typeModel = allTypes.ToList().FindAll(t => t.FCode == typeCode);
                        if (typeModel != null && typeModel.Count > 0)
                        {
                            model.FTargetTypeName = typeModel[0].FName;
                        }
                    }
                    if (allClasses != null && allClasses.Count > 0)
                    {
                        var classModel = allClasses.ToList().FindAll(t => t.FCode == classCode);
                        if (classModel != null && classModel.Count > 0)
                        {
                            model.FTargetClassName = classModel[0].FName;
                        }
                    }
                }
            }
            IList <OrganizeModel> organizes = this.OrganizationFacade.Find(t => t.OCode == performanceAll.PerformanceMst.FDeclarationUnit).Data;

            if (organizes != null && organizes.Count > 0)
            {
                OrganizeModel organize = organizes[0];
                performanceAll.PerformanceDtlTarImpls = this.PerformanceMstFacade.GetNewProPerformTargets(performanceAll.PerformanceDtlTarImpls.ToList(), performanceAll.PerformanceMst.FPerformType, organize.PhId, organize.OCode);
            }

            //var contexts = this.PerformanceDtlTextContFacade.Find(t => t.MstPhid == phid).Data;
            //if(contexts != null && contexts.Count > 0)
            //{
            //    performanceAll.PerformanceDtlTextCont = contexts[0];
            //}
            performanceAll.PerformanceDtlTextConts = this.PerformanceDtlTextContFacade.Find(t => t.MstPhid == phid).Data;
            performanceAll.ThirdAttachmentModels   = this.ThirdAttachmentFacade.Find(t => t.MstPhid == phid).Data;
            if (performanceAll.ThirdAttachmentModels != null && performanceAll.ThirdAttachmentModels.Count > 0)
            {
                RichHelpDac helpdac = new RichHelpDac();
                helpdac.CodeToName <ThirdAttachmentModel>(performanceAll.ThirdAttachmentModels, "FDeclarationUnit", "FDeclarationUnit_EXName", "sb_orglist", "");

                var phids      = performanceAll.ThirdAttachmentModels.Select(t => t.PhId).Distinct().ToList();
                var allAttachs = this.QtAttachmentFacade.Find(t => phids.Contains(t.RelPhid) && t.BTable == "JX3_THIRDATTACHMENT").Data;
                if (allAttachs != null && allAttachs.Count > 0)
                {
                    foreach (var third in performanceAll.ThirdAttachmentModels)
                    {
                        third.ThirdQtAttachments = allAttachs.ToList().FindAll(t => t.RelPhid == third.PhId);
                    }
                }
            }
            performanceAll.QtAttachments = this.QtAttachmentFacade.Find(t => t.RelPhid == phid && t.BTable == "JX3_PERFORMANCEMST").Data;
            //performanceAll.ThirdQtAttachments = this.QtAttachmentFacade.Find(t => t.RelPhid == phid && t.BTable == "JX3_THIRDATTACHMENT").Data;
            return(performanceAll);
        }
Exemplo n.º 24
0
        /// <summary>
        /// 是否为申报单位的设置
        /// </summary>
        /// <returns>返回Json串</returns>
        public CommonResult <CorrespondenceSettings2Model> UpdateIfSBOrg(List <OrganizeModel> models, List <CorrespondenceSettings2Model> DeleteData, List <OrganizeModel> InsertData)
        {
            //末级组织保存对应关系
            string OrgCode;
            string OrgPhId;
            var    selectresult = new PagedResult <CorrespondenceSettings2Model>();
            CommonResult <CorrespondenceSettings2Model> result = new CommonResult <CorrespondenceSettings2Model>();

            if (models != null && models.Count > 0)
            {
                for (int i = 0; i < models.Count; i++)
                {
                    var           dicWhere = new Dictionary <string, object>();
                    OrganizeModel organize = models[i];
                    OrgCode = organize.OCode;
                    OrgPhId = organize.PhId.ToString();
                    new CreateCriteria(dicWhere).
                    Add(ORMRestrictions <string> .Eq("Dwdm", OrgCode)).
                    Add(ORMRestrictions <string> .Eq("Dydm", OrgCode)).
                    Add(ORMRestrictions <string> .Eq("Dylx", "ZC")).
                    Add(ORMRestrictions <string> .Eq("DefStr2", OrgPhId));
                    selectresult = base.ServiceHelper.LoadWithPageInfinity("GQT3.QT.DYGX2_All", dicWhere);
                    if (selectresult.TotalItems == 0)
                    {
                        try
                        {
                            CorrespondenceSettings2Model correspondence = new CorrespondenceSettings2Model();
                            correspondence.PersistentState = SUP.Common.Base.PersistentState.Added;
                            correspondence.Dwdm            = OrgCode;
                            correspondence.Dydm            = OrgCode;
                            correspondence.Dylx            = "ZC";
                            correspondence.DefStr2         = OrgPhId;
                            SavedResult <Int64> savedResult = base.Save <Int64>(correspondence, "");
                        }
                        catch (Exception e)
                        {
                            result.Status = ResponseStatus.Error;
                            result.Msg    = "设置失败,请重新设置!";
                            return(result);
                        }
                    }
                }
            }

            long Deleteid;  //主表主键

            if (DeleteData != null && DeleteData.Count > 0)
            {
                for (int i = 0; i < DeleteData.Count; i++)
                {
                    CorrespondenceSettings2Model delete = DeleteData[i];
                    Deleteid = delete.PhId;

                    try
                    {
                        //判断当前组织是否在项目中被使用,如果使用则不能删除
                        Dictionary <string, object> where1 = new Dictionary <string, object>();
                        new CreateCriteria(where1).Add(ORMRestrictions <string> .Eq("FDeclarationUnit", delete.Dwdm));
                        FindedResults <ProjectMstModel> findedResults = ProjectMstFacade.Find(where1);
                        if (findedResults.Data.Count > 0)
                        {
                            result.Status = ResponseStatus.Error;
                            result.Msg    = "设置失败,组织已被引用!";
                            return(result);
                        }
                        else
                        {
                            Dictionary <string, object> where2 = new Dictionary <string, object>();
                            new CreateCriteria(where2).Add(ORMRestrictions <string> .Eq("FOcode", delete.Dwdm));
                            DeletedResult deletedResult = BudgetProcessCtrlFacade.Delete(where2);
                        }

                        base.Delete <System.Int64>(Deleteid);
                    }
                    catch (Exception e)
                    {
                        result.Status = ResponseStatus.Error;
                        result.Msg    = "设置失败,请重新设置!";
                        return(result);
                    }
                }
            }

            if (InsertData != null && InsertData.Count > 0)
            {
                for (int i = 0; i < InsertData.Count; i++)
                {
                    OrganizeModel insertorganize = InsertData[i];
                    var           insertOrgCode  = insertorganize.OCode;
                    var           insertOrgPhId  = insertorganize.PhId.ToString();
                    try
                    {
                        CorrespondenceSettings2Model correspondence2 = new CorrespondenceSettings2Model();
                        correspondence2.PersistentState = SUP.Common.Base.PersistentState.Added;
                        correspondence2.Dwdm            = insertOrgCode;
                        correspondence2.Dylx            = "SB";
                        correspondence2.DefStr2         = insertOrgPhId;
                        SavedResult <Int64> savedResult2 = base.Save <Int64>(correspondence2, "");

                        //向预算进度控制表添加相应的记录
                        Dictionary <string, object> where1 = new Dictionary <string, object>();
                        new CreateCriteria(where1).Add(ORMRestrictions <string> .Eq("FOcode", insertorganize.OCode));
                        FindedResults <BudgetProcessCtrlModel> findedResults = BudgetProcessCtrlFacade.Find(where1);
                        //判断进度表中是否已经存在
                        if (findedResults.Data.Count == 0)
                        {
                            List <BudgetProcessCtrlModel> budgetProcessList = new List <BudgetProcessCtrlModel>();
                            Dictionary <string, object>   where2            = new Dictionary <string, object>();
                            Dictionary <string, object>   where3            = new Dictionary <string, object>();
                            Dictionary <string, object>   where4            = new Dictionary <string, object>();
                            new CreateCriteria(where2).Add(ORMRestrictions <Int64> .Eq("ParentOrgId", insertorganize.PhId));
                            new CreateCriteria(where3).Add(ORMRestrictions <string> .Eq("OCode", insertorganize.OCode));
                            new CreateCriteria(where4).Add(ORMRestrictions.Or(where2, where3));
                            List <OrganizeModel> organizeList = OrganizationFacade.Find(where4).Data.ToList();
                            //获得组织对象,前端传过来的组织对象可能没有组织名称
                            OrganizeModel organizeModel = organizeList.Find(t => t.IfCorp == "Y");
                            if (organizeList.Count > 1)
                            {
                                for (int j = 0; j < organizeList.Count; j++)
                                {
                                    if ("N".Equals(organizeList[j].IfCorp))
                                    {
                                        BudgetProcessCtrlModel budgetProcessCtrlModel = new BudgetProcessCtrlModel();
                                        budgetProcessCtrlModel.PersistentState = PersistentState.Added;
                                        budgetProcessCtrlModel.FOcode          = organizeModel.OCode;
                                        budgetProcessCtrlModel.FOname          = organizeModel.OName;
                                        budgetProcessCtrlModel.FDeptCode       = organizeList[j].OCode;
                                        budgetProcessCtrlModel.FDeptName       = organizeList[j].OName;
                                        budgetProcessCtrlModel.FProcessStatus  = "1";
                                        budgetProcessList.Add(budgetProcessCtrlModel);
                                    }
                                }
                            }
                            else
                            {
                                BudgetProcessCtrlModel budgetProcessCtrlModel = new BudgetProcessCtrlModel();
                                budgetProcessCtrlModel.PersistentState = PersistentState.Added;
                                budgetProcessCtrlModel.FOcode          = organizeModel.OCode;
                                budgetProcessCtrlModel.FOname          = organizeModel.OName;
                                budgetProcessCtrlModel.FProcessStatus  = "1";
                                budgetProcessList.Add(budgetProcessCtrlModel);
                            }
                            BudgetProcessCtrlFacade.Save <Int64>(budgetProcessList);
                        }
                    }
                    catch (Exception e)
                    {
                        result.Status = ResponseStatus.Error;
                        result.Msg    = "设置失败,请重新设置!";
                        return(result);
                    }
                }
            }

            return(result);
        }
Exemplo n.º 25
0
        /// <summary>
        /// 导入数据
        /// </summary>
        /// <param name="fileExtension"></param>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public SavedResult <Int64> ImportData(string fileExtension, string filePath)
        {
            SavedResult <Int64>    result      = new SavedResult <Int64>();
            IList <QtOrgDygxModel> qtOrgDygxes = new List <QtOrgDygxModel>();
            List <string>          xmorglist   = new List <string>(); //数据库的所有对象的项目库组织代码的list

            string message = "";                                      //存储重复的项目库组织代码

            Dictionary <string, object> dicwhere = new Dictionary <string, object>();

            new CreateCriteria(dicwhere)
            .Add(ORMRestrictions <System.Int64> .NotEq("PhId", 0));
            IList <QtOrgDygxModel> data = QtOrgDygxFacade.Find(dicwhere).Data;//数据库的所有数据

            for (int j = 0; j < data.Count; j++)
            {
                xmorglist.Add(data[j].Xmorg);
            }


            using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
            {
                if (".xls".Equals(fileExtension))
                {
                    HSSFWorkbook workbook = new HSSFWorkbook(fs);
                    ISheet       sheet    = workbook.GetSheetAt(0);
                    int          rowCount = sheet.LastRowNum;
                    for (int i = 1; i <= rowCount; i++)
                    {
                        QtOrgDygxModel qtOrgDygx = new QtOrgDygxModel();
                        IRow           row       = sheet.GetRow(i);
                        ICell          cell1     = row.GetCell(0);
                        ICell          cell2     = row.GetCell(1);
                        cell1.SetCellType(CellType.String);
                        cell2.SetCellType(CellType.String);
                        string Xmorg  = cell1.StringCellValue;
                        string Oldorg = cell2.StringCellValue;
                        if (Xmorg != "" && Oldorg != "")
                        {
                            if (xmorglist.Contains(Xmorg))
                            {
                                message += Xmorg + "/";
                            }
                            else
                            {
                                Dictionary <string, object> dicwhere2 = new Dictionary <string, object>();
                                new CreateCriteria(dicwhere2)
                                .Add(ORMRestrictions <System.String> .Eq("OCode", Xmorg));
                                OrganizeModel Org = OrganizationFacade.Find(dicwhere2).Data[0];

                                qtOrgDygx.ParentOrgId     = Org.ParentOrgId;
                                qtOrgDygx.IfCorp          = Org.IfCorp;
                                qtOrgDygx.Xmorg           = Xmorg;
                                qtOrgDygx.Oldorg          = Oldorg;
                                qtOrgDygx.PersistentState = PersistentState.Added;
                                qtOrgDygxes.Add(qtOrgDygx);
                            }
                        }
                    }
                }
                else if (".xlsx".Equals(fileExtension))
                {
                    XSSFWorkbook workbook = new XSSFWorkbook(fs);
                    ISheet       sheet    = workbook.GetSheetAt(0);
                    int          rowCount = sheet.LastRowNum;
                    for (int i = 1; i <= rowCount; i++)
                    {
                        QtOrgDygxModel qtOrgDygx = new QtOrgDygxModel();
                        IRow           row       = sheet.GetRow(i);
                        ICell          cell1     = row.GetCell(0);
                        ICell          cell2     = row.GetCell(1);
                        cell1.SetCellType(CellType.String);
                        cell2.SetCellType(CellType.String);
                        string Xmorg  = cell1.StringCellValue;
                        string Oldorg = cell2.StringCellValue;
                        if (Xmorg != "" && Oldorg != "")
                        {
                            if (xmorglist.Contains(Xmorg))
                            {
                                message += Xmorg + "/";
                            }
                            else
                            {
                                Dictionary <string, object> dicwhere2 = new Dictionary <string, object>();
                                new CreateCriteria(dicwhere2)
                                .Add(ORMRestrictions <System.String> .Eq("OCode", Xmorg));
                                OrganizeModel Org = OrganizationFacade.Find(dicwhere2).Data[0];

                                qtOrgDygx.ParentOrgId = Org.ParentOrgId;
                                qtOrgDygx.IfCorp      = Org.IfCorp;

                                qtOrgDygx.Xmorg           = Xmorg;
                                qtOrgDygx.Oldorg          = Oldorg;
                                qtOrgDygx.PersistentState = PersistentState.Added;
                                qtOrgDygxes.Add(qtOrgDygx);
                            }
                        }
                    }
                }
            }
            if (message.Length == 0)
            {
                result = base.Save <Int64>(qtOrgDygxes, "");
            }
            else
            {
                result.Status = ResponseStatus.Error;
                result.Msg    = "导入失败,重复的项目库组织代码:" + message;
            }

            return(result);
        }
Exemplo n.º 26
0
        public string GetYearStartCover([FromUri] BaseListModel parameter)
        {
            if (parameter == null)
            {
                return(DCHelper.ErrorMessage("请求参数为空!"));
            }

            if (parameter.orgid == 0)
            {
                return(DCHelper.ErrorMessage("组织id为空!"));
            }

            if (parameter.uid == 0)
            {
                return(DCHelper.ErrorMessage("用户id为空!"));
            }

            if (String.IsNullOrEmpty(parameter.Year))
            {
                return(DCHelper.ErrorMessage("年度为空!"));
            }
            //value来判断是年初,年中,年末预算说明说
            if (String.IsNullOrEmpty(parameter.value))
            {
                return(DCHelper.ErrorMessage("判断年初,年中,年末的value条件为空!"));
            }

            //获取组织和用户信息
            User2Model    userModel     = new User2Model();
            OrganizeModel organizeModel = new OrganizeModel();

            try
            {
                userModel = this.BudgetMstService.GetUser(parameter.uid);
            }
            catch (Exception e)
            {
                return(DCHelper.ErrorMessage("获取用户信息失败!"));
            }

            try
            {
                organizeModel = this.BudgetMstService.GetOrganize(parameter.orgid);
            }
            catch (Exception e)
            {
                return(DCHelper.ErrorMessage("获取组织信息失败!"));
            }
            FileStream fs     = null;
            FileStream output = null;

            try
            {
                string title    = "";
                string content1 = "";
                string content2 = "";
                if ("1".Equals(parameter.value))
                {
                    title    = "预算表";
                    content1 = "预算说明书";
                    content2 = "经费收支预算表";
                }
                else if ("2".Equals(parameter.value))
                {
                    title    = "预算表(年中调整)";
                    content1 = "预算说明书(年中调整)";
                    content2 = "经费收支预算表(年中调整)";
                }
                else if ("3".Equals(parameter.value))
                {
                    title    = "决算表";
                    content1 = "决算说明书";
                    content2 = "经费决算预算表";
                }

                string filename = DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".docx";
                string filePath = HostingEnvironment.MapPath("~/DownLoadFiles/SubjectBudget");
                if (!Directory.Exists(filePath))
                {
                    Directory.CreateDirectory(filePath);
                }
                File.Copy(HostingEnvironment.MapPath("~" + "/DownLoadFiles/template/预算封面.docx"), filePath + "/" + filename, true);

                fs = new FileStream(filePath + "/" + filename, FileMode.Open, FileAccess.Read);

                XWPFDocument document = new XWPFDocument(fs);
                foreach (var para in document.Paragraphs)
                {
                    string oldContext = para.ParagraphText;
                    if (String.IsNullOrEmpty(oldContext))
                    {
                        continue;
                    }
                    string context = para.ParagraphText;
                    if (context.Contains("{$date}"))
                    {
                        context = context.Replace("{$date}", DateTime.Now.ToString("yyyy/MM/dd"));
                    }
                    if (context.Contains("{$chairman}"))
                    {
                        context = context.Replace("{$chairman}", userModel.UserName);
                    }
                    if (context.Contains("{$treasurer}"))
                    {
                        context = context.Replace("{$treasurer}", userModel.UserName);
                    }
                    if (context.Contains("{$maker}"))
                    {
                        context = context.Replace("{$maker}", userModel.UserName);
                    }
                    if (context.Contains("{$checker}"))
                    {
                        context = context.Replace("{$checker}", "");
                    }
                    if (context.Contains("{$year}"))
                    {
                        context = context.Replace("{$year}", DateTime.Now.Year.ToString());
                    }
                    if (context.Contains("{$month}"))
                    {
                        context = context.Replace("{$month}", DateTime.Now.Month.ToString());
                    }
                    if (context.Contains("{$day}"))
                    {
                        context = context.Replace("{$day}", DateTime.Now.Day.ToString());
                    }
                    if (context.Contains("{$title}"))
                    {
                        context = context.Replace("{$title}", title);
                    }
                    if (context.Contains("{$content1}"))
                    {
                        context = context.Replace("{$content1}", content1);
                    }
                    if (context.Contains("{$content2}"))
                    {
                        context = context.Replace("{$content2}", content2);
                    }

                    if (oldContext != context)
                    {
                        para.ReplaceText(oldContext, context);
                    }
                }
                output = new FileStream(filePath + "/" + filename, FileMode.Create);
                document.Write(output);
                fs.Close();
                fs.Dispose();
                output.Close();
                output.Dispose();

                return(DataConverterHelper.SerializeObject(new { path = filePath, filename = filename }));
            }
            catch (Exception ex)
            {
                if (fs != null)
                {
                    fs.Close();
                    fs.Dispose();
                }
                if (output != null)
                {
                    output.Close();
                    output.Dispose();
                }
                return(DCHelper.ErrorMessage("导出年初申报的封面失败!" + ex.Message));
            }
        }
Exemplo n.º 27
0
        /// <summary>
        /// 保存预决算报表
        /// </summary>
        /// <param name="ysAccountMst">对象</param>
        /// <param name="orgId">组织id</param>
        /// <param name="orgCode">组织code</param>
        /// <param name="year">年份</param>
        /// <param name="uid">用户id</param>
        /// <param name="verify">用来判断年初,年中,年末(1、年初,2、年中,3、年末)</param>
        /// <returns></returns>
        public SavedResult <long> SaveYsAccount(YsAccountMstModel ysAccountMst, long orgId, string orgCode, string year, long uid, string verify)
        {
            //根据用户id获取用户对象
            User2Model user = new User2Model();

            if (this.UserRule.Find(t => t.PhId == uid) != null && this.UserRule.Find(t => t.PhId == uid).Count > 0)
            {
                user = this.UserRule.Find(t => t.PhId == uid)[0];
            }
            else
            {
                throw new Exception("用户查询失败!");
            }
            //根据组织id获取组织对象
            OrganizeModel org = new OrganizeModel();

            if (this.OrganizationRule.Find(t => t.PhId == orgId) != null && this.OrganizationRule.Find(t => t.PhId == orgId).Count > 0)
            {
                org = this.OrganizationRule.Find(t => t.PhId == orgId)[0];
            }
            else
            {
                throw new Exception("组织查询失败!");
            }
            SavedResult <long>        savedResult   = new SavedResult <long>();
            IList <YsAccountMstModel> ysAccountMsts = new List <YsAccountMstModel>();

            ysAccountMsts = this.YsAccountMstRule.Find(t => t.Orgid == orgId && t.Uyear == year);
            if (ysAccountMsts != null && ysAccountMsts.Count > 0)
            {
                if (ysAccountMst.PhId == 0)
                {
                    throw new Exception("主表主键传递有误!");
                }
                if ("1".Equals(verify) && ysAccountMsts[0].VerifyStart == 1)
                {
                    throw new Exception("年初申报数据已上报,不能修改!");
                }
                else if ("2".Equals(verify) && ysAccountMsts[0].VerifyMiddle == 1)
                {
                    throw new Exception("年中调整数据已上报,不能修改!");
                }
                else if ("3".Equals(verify) && ysAccountMsts[0].VerifyEnd == 1)
                {
                    throw new Exception("年末决算数据已上报,不能修改!");
                }
                ysAccountMst.PersistentState = PersistentState.Modified;
                if ("1".Equals(verify) && ysAccountMst.VerifyStart == 1)
                {
                    ysAccountMst.VerifyStartTime = DateTime.Now;
                    ysAccountMst.StartReportDate = DateTime.Now;
                    ysAccountMst.StartReportMan  = user.UserName;
                }
                else if ("2".Equals(verify) && ysAccountMst.VerifyMiddle == 1)
                {
                    if (ysAccountMsts[0].VerifyStart != 1)
                    {
                        throw new Exception("年初还未上报,不能进行年中的上报!");
                    }
                    ysAccountMst.VerifyMiddleTime = DateTime.Now;
                    ysAccountMst.MiddleReportDate = DateTime.Now;
                    ysAccountMst.MiddleReportMan  = user.UserName;
                }
                else if ("3".Equals(verify) && ysAccountMst.VerifyEnd == 1)
                {
                    if (ysAccountMsts[0].VerifyStart != 1 || ysAccountMsts[0].VerifyMiddle != 1)
                    {
                        throw new Exception("年初或者年中还未上报,不能进行年末的上报!");
                    }
                    ysAccountMst.VerifyEndTime = DateTime.Now;
                    ysAccountMst.EndReportDate = DateTime.Now;
                    ysAccountMst.EndReportMan  = user.UserName;
                }
                //保存主表数据
                savedResult = this.YsAccountMstRule.Save <long>(ysAccountMst);

                IList <YsAccountModel> ysAccounts = new List <YsAccountModel>();
                //已存在的明细数据
                ysAccounts = this.YsAccountRule.Find(t => t.PHIDMST == ysAccountMst.PhId && t.UYEAR == year && t.ORGID == org.PhId);
                if (ysAccountMst.YsAccounts != null && ysAccountMst.YsAccounts.Count > 0)
                {
                    foreach (var account in ysAccountMst.YsAccounts)
                    {
                        account.PHIDMST = savedResult.KeyCodes[0];
                        if (ysAccounts != null && ysAccounts.Count > 0)
                        {
                            if (ysAccounts.ToList().Find(t => t.PhId == account.PhId) != null)
                            {
                                account.PersistentState = PersistentState.Modified;
                            }
                            else
                            {
                                account.PersistentState = PersistentState.Added;
                            }
                            if ("1".Equals(verify))
                            {
                                account.VERIFYSTART     = ysAccountMst.VerifyStart;
                                account.VERIFYSTARTTIME = ysAccountMst.VerifyStartTime;
                            }
                            else if ("2".Equals(verify))
                            {
                                account.VERIFYMIDDLE     = ysAccountMst.VerifyMiddle;
                                account.VERIFYMIDDLETIME = ysAccountMst.VerifyMiddleTime;
                            }
                            else if ("3".Equals(verify))
                            {
                                account.VERIFYEND     = ysAccountMst.VerifyEnd;
                                account.VERIFYENDTIME = ysAccountMst.VerifyEndTime;
                            }
                        }
                        else
                        {
                            throw new Exception("原明细数据有误!");
                        }
                    }
                    //保存明细表数据
                    this.YsAccountRule.Save <long>(ysAccountMst.YsAccounts);
                }
                else
                {
                    throw new Exception("明细表数据不能为空!");
                }
            }
            else
            {
                ysAccountMst.PersistentState = PersistentState.Added;
                if ("1".Equals(verify) && ysAccountMst.VerifyStart == 1)
                {
                    ysAccountMst.VerifyStartTime = DateTime.Now;
                    ysAccountMst.StartReportDate = DateTime.Now;
                    ysAccountMst.StartReportMan  = user.UserName;
                }
                else if ("2".Equals(verify) && ysAccountMst.VerifyMiddle == 1)
                {
                    throw new Exception("年初还未上报,不能进行年中的上报!");
                    //ysAccountMst.VerifyMiddleTime = DateTime.Now;
                    //ysAccountMst.MiddleReportDate = DateTime.Now;
                    //ysAccountMst.MiddleReportMan = user.UserName;
                }
                else if ("3".Equals(verify) && ysAccountMst.VerifyEnd == 1)
                {
                    throw new Exception("年初或者年中还未上报,不能进行年末的上报!");
                    //ysAccountMst.VerifyEndTime = DateTime.Now;
                    //ysAccountMst.EndReportDate = DateTime.Now;
                    //ysAccountMst.EndReportMan = user.UserName;
                }
                //保存主表数据
                savedResult = this.YsAccountMstRule.Save <long>(ysAccountMst);

                if (ysAccountMst.YsAccounts != null && ysAccountMst.YsAccounts.Count > 0)
                {
                    foreach (var account in ysAccountMst.YsAccounts)
                    {
                        account.PersistentState = PersistentState.Added;
                        account.PHIDMST         = savedResult.KeyCodes[0];
                        if ("1".Equals(verify))
                        {
                            account.VERIFYSTART     = ysAccountMst.VerifyStart;
                            account.VERIFYSTARTTIME = ysAccountMst.VerifyStartTime;
                        }
                        else if ("2".Equals(verify))
                        {
                            account.VERIFYMIDDLE     = ysAccountMst.VerifyMiddle;
                            account.VERIFYMIDDLETIME = ysAccountMst.VerifyMiddleTime;
                        }
                        else if ("3".Equals(verify))
                        {
                            account.VERIFYEND     = ysAccountMst.VerifyEnd;
                            account.VERIFYENDTIME = ysAccountMst.VerifyEndTime;
                        }
                    }
                    //保存明细表数据
                    this.YsAccountRule.Save <long>(ysAccountMst.YsAccounts);
                }
                else
                {
                    throw new Exception("明细表数据不能为空!");
                }
            }
            return(savedResult);
        }
Exemplo n.º 28
0
        /// <summary>
        /// 获取资金拨付支付单信息
        /// </summary>
        /// <param name="phid">支付单主键</param>
        /// <returns></returns>
        public GKPayment4ZjbfModel GetPayment4Zjbf(Int64 phid)
        {
            GKPayment4ZjbfModel ret = null;

            GKPaymentMstModel mst = this.EntRule.Find(phid);

            if (mst != null)
            {
                ret = new GKPayment4ZjbfModel();
                //去业务单查部门名称
                PaymentMstModel paymentMst = PaymentMstRule.Find(mst.RefbillPhid);
                mst.fdepname = paymentMst.FDepname;
                mst.FOrgname = paymentMst.FOrgname;

                Dictionary <string, object> where = new Dictionary <string, object>();
                new CreateCriteria(where).Add(ORMRestrictions <Int64> .Eq("MstPhid", mst.PhId));
                //查询相关明细数据
                var dtlList = this.GKPaymentDtlRule.Find(where, new string[] { "QtKmdm Asc" }); //PVoucherDelService.Find(where, new string[] { "SortCode Asc" }).Data.ToList();QtKmdm

                if (dtlList.Count > 0)
                {
                    long mstPhid = mst.RefbillPhid;
                    Dictionary <string, object> where2 = new Dictionary <string, object>();
                    new CreateCriteria(where2).Add(ORMRestrictions <Int64> .Eq("MstPhid", mstPhid));

                    //资金拨付单对应项目信息
                    var bfXmList = this.PaymentXmRule.Find(where2);

                    //资金拨付单明细表
                    var bfDtlList = this.PaymentDtlRule.Find(where2);


                    var       newCodeDt = this.GetPaymentNewCodeDataTable(mst.RefbillPhid);
                    DataRow[] drs       = null;
                    Dictionary <string, string> dicNewCode = null;
                    Dictionary <string, string> dicNewCodeMstPhid = null;
                    string fNewCode = string.Empty, fNewCodeMstPhid = string.Empty;
                    string old_phid = string.Empty;

                    //给明细表赋值,写入扩展字段信息

                    ret.Mst  = mst;
                    ret.Dtls = new List <GKPaymentDtl4ZjbfModel>();

                    GKPaymentDtl4ZjbfModel        dtl4Zjbf = null;
                    PaymentDtlModel               bfDtl    = null;
                    PaymentXmModel                bfXm     = null;
                    IEnumerable <PaymentDtlModel> enuDtl   = null;
                    IEnumerable <PaymentXmModel>  enuXm    = null;


                    Dictionary <string, object> dicOrg = new Dictionary <string, object>();
                    new CreateCriteria(dicOrg)
                    .Add(ORMRestrictions <long> .NotEq("PhId", 0));
                    IList <OrganizeModel> OrgList = OrganizationRule.Find2(dicOrg);
                    //补充完善明细信息
                    foreach (GKPaymentDtlModel dtl in dtlList)
                    {
                        dtl4Zjbf = CommonUtils.TransReflection <GKPaymentDtlModel, GKPaymentDtl4ZjbfModel>(dtl);

                        if (bfDtlList.Count > 0)
                        {
                            enuDtl = bfDtlList.Where(x => x.PhId == dtl.RefbillDtlPhid && x.BudgetdtlPhid == dtl.RefbillDtlPhid2);
                            if (enuDtl.Count() > 0)
                            {
                                bfDtl = enuDtl.First();
                                if (string.IsNullOrEmpty(dtl.QtKmdm))
                                {
                                    dtl4Zjbf.QtKmdm = bfDtl.QtKmdm; //预算科目
                                    dtl4Zjbf.QtKmmc = bfDtl.QtKmmc; //预算科目名称
                                }

                                dtl4Zjbf.FDepartmentcode = bfDtl.FDepartmentcode;   //补助单位/部门代码
                                OrganizeModel Org = OrgList.ToList().Find(x => x.OCode == bfDtl.FDepartmentcode);
                                dtl4Zjbf.FDepartmentphid = Org.PhId;
                                dtl4Zjbf.FDepartmentname = bfDtl.FDepartmentname;   //补助单位/部门名称
                                if (Org.IfCorp == "N")
                                {
                                    OrganizeModel Org2 = OrgList.ToList().Find(x => x.PhId == Org.ParentOrgId);
                                    dtl4Zjbf.FDepartmentParentcode = Org2.OCode;
                                    dtl4Zjbf.FDepartmentParentphid = Org2.PhId;
                                    dtl4Zjbf.FDepartmentParentname = Org2.OName;
                                }

                                dtl4Zjbf.BudgetdtlName = bfDtl.BudgetdtlName;       //预算明细项目名称

                                //预算项目
                                enuXm = bfXmList.Where(x => x.PhId == bfDtl.PayXmPhid);
                                if (enuXm.Count() > 0)
                                {
                                    bfXm = enuXm.First();
                                    dtl4Zjbf.XmProjcode = bfXm.XmProjcode;
                                    dtl4Zjbf.XmProjname = bfXm.XmProjname;
                                    dtl4Zjbf.FSeq       = bfXm.FSeq;
                                }
                            }
                        }

                        //写重新支付单的单号
                        if (newCodeDt != null && newCodeDt.Rows.Count > 0)
                        {
                            dicNewCode         = new Dictionary <string, string>();
                            dicNewCodeMstPhid  = new Dictionary <string, string>();
                            dtl4Zjbf.FNewCodes = "";

                            //drs = newCodeDt.Select("ng_insert_dt>=#" + dtl.NgInsertDt.ToString("yyyy-MM-dd HH:mm:ss") + "#");
                            drs = newCodeDt.Select(string.Format("phid ={0}", dtl.PhId));
                            while (drs.Length > 0)
                            {
                                foreach (var row in drs)
                                {
                                    fNewCode = row["f_new_code"].ToString();
                                    if (!string.IsNullOrEmpty(fNewCode))
                                    {
                                        if (!dicNewCode.ContainsKey(fNewCode))
                                        {
                                            dicNewCode.Add(fNewCode, fNewCode);
                                        }
                                    }
                                }
                                old_phid = drs[0]["phid"].ToString();
                                if (!string.IsNullOrEmpty(old_phid))
                                {
                                    drs = newCodeDt.Select(string.Format("old_dtl_phid={0}", old_phid));
                                    if (drs.Length > 0)
                                    {
                                        fNewCodeMstPhid = drs[0]["mst_phid"].ToString();
                                        if (!dicNewCodeMstPhid.ContainsKey(fNewCodeMstPhid))
                                        {
                                            dicNewCodeMstPhid.Add(fNewCodeMstPhid, fNewCodeMstPhid);
                                        }
                                    }
                                }
                                else
                                {
                                    drs = newCodeDt.Select("1=2");
                                }
                            }

                            dtl4Zjbf.FNewCodes        = string.Join(",", dicNewCode.Values.ToArray());
                            dtl4Zjbf.FNewCodesMstPhid = string.Join(",", dicNewCodeMstPhid.Values.ToArray());
                        }

                        ret.Dtls.Add(dtl4Zjbf);
                    }
                }
                ret.Dtls = ret.Dtls.OrderBy(t => t.FSeq).ToList();
            }


            return(ret);
        }
Exemplo n.º 29
0
        ///// <summary>
        ///// 方法实例
        ///// </summary>
        ///// <returns></returns>
        //public IList<BudgetProcessCtrlModel> ExampleMethod<BudgetProcessCtrlModel>(string param)
        //{
        //    //编写代码
        //}

        /// <summary>
        /// 保存进度控制数据
        /// </summary>
        /// <returns></returns>
        public SavedResult <Int64> UpdateBudgetProcess(List <OrganizeModel> allOrganizeList, List <BudgetProcessCtrlModel> existOrganizeList, OrganizeModel findOrgModel, string focode)
        {
            List <BudgetProcessCtrlModel> budgetProcessesList = new List <BudgetProcessCtrlModel>();

            for (int i = 0; i < allOrganizeList.Count; i++)
            {
                if (!existOrganizeList.Exists(t => t.FDeptCode == allOrganizeList[i].OCode))
                {
                    BudgetProcessCtrlModel budgetProcessCtrlModel = new BudgetProcessCtrlModel();
                    budgetProcessCtrlModel.PersistentState = PersistentState.Added;
                    budgetProcessCtrlModel.FOcode          = focode;
                    budgetProcessCtrlModel.FOname          = findOrgModel.OName;
                    budgetProcessCtrlModel.FDeptCode       = allOrganizeList[i].OCode;
                    budgetProcessCtrlModel.FDeptName       = allOrganizeList[i].OName;
                    budgetProcessCtrlModel.FProcessStatus  = "1";
                    budgetProcessesList.Add(budgetProcessCtrlModel);
                }
            }
            SavedResult <Int64> savedResult = base.Save <Int64>(budgetProcessesList);

            return(savedResult);
        }
Exemplo n.º 30
0
        /// <summary>
        /// 修改后的获取审批单据列表的接口
        /// </summary>
        /// <param name="payment">参数结合</param>
        /// <returns></returns>
        public IList <PaymentMstModel> GetPaymentList(PaymentMstModel payment)
        {
            IList <PaymentMstModel> paymentList = new List <PaymentMstModel>();

            Dictionary <string, object> dic = new Dictionary <string, object>();

            if (!string.IsNullOrEmpty(payment.FName))
            {
                Dictionary <string, object> dicCode = new Dictionary <string, object>();
                Dictionary <string, object> dicName = new Dictionary <string, object>();
                new CreateCriteria(dicCode).
                Add(ORMRestrictions <string> .Like("FCode", payment.FName));
                new CreateCriteria(dicName).
                Add(ORMRestrictions <string> .Like("FName", payment.FName));
                new CreateCriteria(dic).
                Add(ORMRestrictions.Or(dicCode, dicName));
            }
            if (payment.ApprovalBzs != null && payment.ApprovalBzs.Count > 0)
            {
                new CreateCriteria(dic).
                Add(ORMRestrictions <List <byte> > .In("FApproval", payment.ApprovalBzs));
            }
            if (payment.PayBzs != null && payment.PayBzs.Count > 0)
            {
                new CreateCriteria(dic).
                Add(ORMRestrictions <List <byte> > .In("IsPay", payment.PayBzs));
            }
            if (!string.IsNullOrEmpty(payment.StartDate.ToString()) && !string.IsNullOrEmpty(payment.EndDate.ToString()))
            {
                new CreateCriteria(dic).
                Add(ORMRestrictions <DateTime> .Ge("FDate", DateTime.Parse(payment.StartDate.ToString()))).
                Add(ORMRestrictions <DateTime> .Le("FDate", DateTime.Parse(payment.EndDate.Value.AddDays(1).ToString())));
            }
            if (!string.IsNullOrEmpty(payment.MaxAmount) && !string.IsNullOrEmpty(payment.MinAmount))
            {
                decimal max = decimal.Parse(payment.MaxAmount);
                decimal min = decimal.Parse(payment.MinAmount);
                if (max < min)
                {
                    throw new Exception("申请金额传递错误!");
                }
                new CreateCriteria(dic).
                Add(ORMRestrictions <decimal> .Ge("FAmountTotal", min)).
                Add(ORMRestrictions <decimal> .Le("FAmountTotal", max));
            }
            new CreateCriteria(dic).
            Add(ORMRestrictions <long> .Eq("FOrgphid", payment.FOrgphid)).
            Add(ORMRestrictions <long> .Eq("FDepphid", payment.FDepphid)).
            Add(ORMRestrictions <string> .Eq("FYear", payment.FYear));
            //获取符合条件的审批单据
            paymentList = this.PaymentMstRule.Find(dic, new string[] { "IsPay asc", "FCode desc" });

            if (paymentList != null && paymentList.Count > 0)
            {
                //获取单据类型与单据类型主键
                IList <QTSysSetModel> models        = QTSysSetRule.RuleHelper.Find(t => t.DicType == "splx" && t.TypeCode == "1");
                List <AppvalRecordVo> appvalRecords = new List <AppvalRecordVo>();
                SqlDao sqlDao = new SqlDao();
                if (models.Count > 0)
                {
                    OrganizeModel Org = this.OrganizationRule.Find(payment.FOrgphid);
                    payment.FOrgcode = Org.OCode;
                    appvalRecords    = sqlDao.GetRecords(payment.FYear, long.Parse(payment.UserId), models[0].Value, payment.FOrgcode, "1", models[0].PhId);
                    if (appvalRecords != null && appvalRecords.Count > 0)
                    {
                        appvalRecords = appvalRecords.FindAll(t => t.DepId == payment.FDepphid);
                    }
                }
                //该部门下存在自己未审核的数据要放最前面
                if (appvalRecords != null && appvalRecords.Count > 0)
                {
                    var refbillPhids = appvalRecords.Select(t => t.RefbillPhid);
                    var pays1        = paymentList.ToList().FindAll(t => refbillPhids.Contains(t.PhId));
                    if (pays1.Count > 0)
                    {
                        foreach (var pay in pays1)
                        {
                            pay.IsApprovalNow = 1;
                            var appvalRecord = appvalRecords.Find(t => t.RefbillPhid == pay.PhId);
                            if (appvalRecord == null)
                            {
                                throw new Exception("单据审批流查询失败!");
                            }
                            pay.RefbillPhid = appvalRecord.RefbillPhid;
                            pay.FBilltype   = appvalRecord.FBilltype;
                            pay.PostPhid    = appvalRecord.PostPhid;
                            pay.ProcPhid    = appvalRecord.ProcPhid;
                            pay.OperaPhid   = appvalRecord.OperaPhid;
                            pay.AppvalPhid  = appvalRecord.PhId;
                        }
                    }
                    var pays2 = paymentList.ToList().FindAll(t => (!refbillPhids.Contains(t.PhId)));
                    if (pays2.Count > 0)
                    {
                        foreach (var pay in pays2)
                        {
                            pay.IsApprovalNow = 0;
                        }
                    }
                    pays1.AddRange(pays2);
                    paymentList = pays1;
                }
                var payPhids = paymentList.Select(t => t.PhId).ToList();
                if (payPhids.Count > 0)
                {
                    dic.Clear();
                    new CreateCriteria(dic).
                    Add(ORMRestrictions <List <long> > .In("RefbillPhid", payPhids));
                    var GkPayments = this.GKPaymentMstRule.Find(dic);
                    if (GkPayments.Count > 0)
                    {
                        foreach (var per in paymentList)
                        {
                            var Gks = GkPayments.ToList().FindAll(t => t.RefbillPhid == per.PhId);
                            if (Gks.Count > 0)
                            {
                                per.GkPaymentCode = Gks.OrderByDescending(t => t.FCode).ToList()[0].FCode;
                            }
                        }
                    }
                }
            }
            return(paymentList);
        }