public IActionResult GetRegisterDetail(string id = null) { if (string.IsNullOrEmpty(id)) { return(toResponse(StatusCodeType.Error, "Id 不能为空")); } if (!_precontractService.Any(m => m.ID == id && m.Status == 0)) { return(toResponse(StatusCodeType.Error, "当前合同信息不存在,请核对")); } var oacontrcat = _precontractService.GetId(id); if (oacontrcat.ID != null) { MainContractCreateDto maincontract = new MainContractCreateDto(); maincontract.PreContractID = oacontrcat.ID; maincontract.CustomerID = oacontrcat.khid; maincontract.ContractNo = oacontrcat.ContractNo; maincontract.ApplyDate = DateTime.Today; maincontract.ContractCustomerInfo = _customerService.GetId(oacontrcat.khid); maincontract.ContractItemList = new List <ContractItemVM>(); //合同项目结构 maincontract.ContractfcsList = new List <FcsVM>(); //分场所信息 maincontract.ContractFileList = new List <FileVM>(); //附件信息 return(toResponse(maincontract)); } else { return(toResponse(StatusCodeType.Error, "当前合同信息不存在,请核对")); } }
public IActionResult Apply([FromBody] MainContractCreateDto parm) { var userinfo = _tokenManager.GetSessionInfo(); if (!_precontractService.Any(m => m.ID == parm.PreContractID && m.Status == 0)) { return(toResponse(StatusCodeType.Error, $"不存在当前未登记OA合同,请核对!")); } if (_maincontractService.Any(m => m.PreContractID == parm.PreContractID && m.deleted == 0)) { using (SqlSugarClient db = Core.DbContext.Current) { //更新状态为已登记 var i = db.Updateable <Biz_PreContract>() .SetColumns(it => new Biz_PreContract() { Status = 1, RegisterTime = DateTime.Now, RegisterID = userinfo.ID, RegisterName = userinfo.UserName }) .Where(it => it.ID == parm.PreContractID).ExecuteCommand(); } return(toResponse(StatusCodeType.Error, $"当前合同已经受理,不能重复!")); } using (SqlSugarClient db = Core.DbContext.CurrentDB) { Core.DbContext.BeginTran(); try { //从 Dto 映射到 实体 var options = parm.Adapt <Biz_MainContract>().ToCreate(_tokenManager.GetSessionInfo()); options.status = 10000; if (db.Insertable <Biz_MainContract>(options).ExecuteCommand() == 0) { return(toResponse(StatusCodeType.Error, "受理失败,不能重复!")); } //添加合同关联项目信息 List <ContractItemVM> ItemList = parm.ContractItemList_insert; if (ItemList != null) { foreach (var Item in ItemList) { Biz_ContractItem contractitem = new Biz_ContractItem(); contractitem.ID = Guid.NewGuid().ToString(); contractitem.MainContractID = options.ID; contractitem.ItemStandardID = Item.ItemStandardID; //标准ID contractitem.ItemStandardCode = Item.ItemStandardCode; //标准code contractitem.ItemName = Item.ItemName; //标准名称 contractitem.AuditTypeID = Item.AuditTypeID; //审核类型 contractitem.AuditTypeName = Item.AuditTypeName; //审核类型名称 contractitem.PropleNum = Item.PropleNum; //体系人数 contractitem.ApplyRange = Item.ApplyRange; //申请范围 contractitem.ApplyRangeEN = Item.ApplyRangeEN; //申请范围英文 contractitem.OrganizationIn = Item.OrganizationIn; //是否机构转入 contractitem.ReevaluateNum = Item.ReevaluateNum; contractitem.CreateTime = DateTime.Now; contractitem.CreateID = userinfo.ID; contractitem.CreateName = userinfo.UserName; contractitem.deleted = 0; var standard = db.Queryable <Abi_SysStandard>().First(m => m.AutoID == int.Parse(Item.ItemStandardID)); contractitem.ContractItemNo = options.ContractNo + standard.SysStandardNo; db.Insertable <Biz_ContractItem>(contractitem).ExecuteCommand(); } } //添加合同多场所信息 List <FcsVM> FcsList = parm.ContractfcsList_insert; if (FcsList != null) { foreach (var fcs in FcsList) { Biz_ContractFcs contractfcs = new Biz_ContractFcs(); contractfcs.ID = Guid.NewGuid().ToString(); contractfcs.fcsID = fcs.fcsID; contractfcs.MainContractID = options.ID; contractfcs.CustomerID = options.CustomerID; contractfcs.CreateTime = DateTime.Now; contractfcs.CreateID = userinfo.ID; contractfcs.CreateName = userinfo.UserName; db.Insertable <Biz_ContractFcs>(contractfcs).ExecuteCommand(); } } //评审附件 List <FileVM> FileList = parm.ContractFileList_insert; if (FileList != null) { foreach (var file in FileList) { Biz_ContractFile contractfile = new Biz_ContractFile(); contractfile.ID = Guid.NewGuid().ToString(); contractfile.FileID = file.FileID; contractfile.FileName = file.FileName; contractfile.Name = file.FileName; contractfile.MainContractID = options.ID; contractfile.CustomerID = options.CustomerID; contractfile.CreateTime = DateTime.Now; contractfile.CreateID = userinfo.ID; contractfile.CreateName = userinfo.UserName; db.Insertable <Biz_ContractFile>(contractfile).ExecuteCommand(); } } //更新状态为已登记 var i = db.Updateable <Biz_PreContract>() .SetColumns(it => new Biz_PreContract() { Status = 1, RegisterTime = DateTime.Now, RegisterID = userinfo.ID, RegisterName = userinfo.UserName }) .Where(it => it.ID == options.PreContractID).ExecuteCommand(); Core.DbContext.CommitTran(); return(toResponse(options.ID)); } catch (Exception ex) { Core.DbContext.RollbackTran(); return(toResponse(StatusCodeType.Error, ex.Message)); } } }