コード例 #1
0
        //[Authorization(Power = "PRIV_COMPANY_CREATE")]
        public IActionResult Create([FromBody] CompanyCreateDto parm)
        {
            if (_companyService.Any(m => m.CompanyNo == parm.CompanyNo))
            {
                return(toResponse(StatusCodeType.Error, $"添加公司编码 {parm.CompanyNo} 已存在,不能重复!"));
            }

            var helper = new Common.SerialNoHelper();

            var serialno = helper.Generate("N20"); //生成编码

            //从 Dto 映射到 实体
            var company = parm.Adapt <Base_Company>().ToCreate(_tokenManager.GetSessionInfo());

            return(toResponse(_companyService.Add(company)));
        }
コード例 #2
0
        public IActionResult Create([FromBody] ItemPlanVM parm)
        {
            var userinfo = _tokenManager.GetSessionInfo();

            using (SqlSugarClient db = Core.DbContext.CurrentDB)
            {
                Core.DbContext.BeginTran();
                try
                {
                    List <SugarParameter> parameters = new List <SugarParameter>();
                    parameters.Add(new SugarParameter("UserID", userinfo.UserID));
                    parameters.Add(new SugarParameter("UserName", userinfo.UserName));

                    //体系项目信息
                    List <Biz_ContractItem_Sub> subitemlist = parm.ContractItem_SubList;
                    if (subitemlist.Count == 0)
                    {
                        throw new Exception("提交数据不包含体系项目信息,请核对!");
                    }
                    string IDs = string.Join(",", subitemlist.Select(m => m.AutoID));

                    if (db.Ado.GetScalar("select 1 from Biz_ContractItem_Sub where status > 20000 and ContractItemSubID in (@ids)", new { ids = IDs }) != null)
                    {
                        throw new Exception("提交项目包含已经安排项目,请核对!");
                    }

                    //匹配任务信息
                    Biz_Contract_Plan plan = new Biz_Contract_Plan();
                    Api.Common.Helpers.ComHelper.MapperMatch <Biz_Contract_Plan, ItemPlanVM>(plan, parm, "ID", "status");

                    var helper   = new Common.SerialNoHelper();
                    var serialno = helper.Generate("N20"); //生成任务编号

                    plan.ContractPlanNo = serialno;

                    plan = plan.Adapt <Biz_Contract_Plan>().ToCreate(_tokenManager.GetSessionInfo());
                    int ContractPlanID = db.Insertable <Biz_Contract_Plan>(plan).ExecuteReturnIdentity();

                    //处理项目信息
                    foreach (var subitem in subitemlist)
                    {
                        //subitem.ContractPlanID = plan.ID;

                        db.Updateable <Biz_ContractItem_Sub>().SetColumns(m => new Biz_ContractItem_Sub()
                        {
                            ContractPlanID       = plan.ID,
                            MultiSiteAddDays     = subitem.MultiSiteAddDays,
                            AuditCombinDegree    = subitem.AuditCombinDegree,
                            DeletionScale        = subitem.DeletionScale,
                            PlanTotalDays        = subitem.PlanTotalDays,
                            OffSiteDays          = subitem.OffSiteDays,
                            FirstDays            = subitem.FirstDays,
                            SecondDays           = subitem.SecondDays,
                            MultiSitetTravelDays = subitem.MultiSitetTravelDays,
                            OtherAddDays         = subitem.OtherAddDays,
                            TrueFirstDays        = subitem.TrueFirstDays,
                            TrueSecondDays       = subitem.TrueSecondDays,
                        }).Where(m => m.ID == subitem.ID).ExecuteCommand();

                        //提交
                        Step.Submit(db, subitem, "Biz_ContractItem_Sub", "ID", "status", "201", parameters, UpdateBizEntityAfterSubmitted, "提交安排");
                    }

                    //审核员信息
                    List <PlanAuditorVM> auditorlist = parm.PlanAuditorList;
                    foreach (var auditorVM in auditorlist)
                    {
                        Biz_Contract_PlanAuditor auditor = Api.Common.Helpers.ComHelper.Mapper <Biz_Contract_PlanAuditor, PlanAuditorVM>(auditorVM);
                        auditor = auditor.Adapt <Biz_Contract_PlanAuditor>().ToCreate(_tokenManager.GetSessionInfo());
                        auditor.ContractPlanID = plan.ID;
                        db.Insertable(auditor).AS("Biz_Contract_PlanAuditor").ExecuteCommand();

                        foreach (var auditoritem in auditorVM.PlanAuditItemList)
                        {
                            auditoritem.ID             = Guid.NewGuid().ToString();
                            auditoritem.PlanAuditorID  = auditor.ID;
                            auditoritem.ContractPlanID = plan.ID;

                            db.Insertable(auditoritem).AS("Biz_Contract_PlanAuditor_Item").ExecuteCommand();
                        }
                    }
                    Core.DbContext.CommitTran();

                    return(toResponse(plan.ID));
                }
                catch (Exception ex)
                {
                    Core.DbContext.RollbackTran();
                    return(toResponse(StatusCodeType.Error, ex.Message));
                }
            }
        }