public IActionResult GetDetail(string id = null)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(toResponse(StatusCodeType.Error, "Id 不能为空"));
            }
            var userinfo = _tokenManager.GetSessionInfo();

            using (SqlSugarClient db = Core.DbContext.CurrentDB)
            {
                var contract = _maincontractService.GetId(id);
                if (contract == null || contract.deleted == 1)
                {
                    return(toResponse(StatusCodeType.Error, "当前合同信息不存在"));
                }

                AuditContractVM maincotract = Api.Common.Helpers.ComHelper.Mapper <AuditContractVM, Biz_MainContract>(contract);

                //获取客户信息
                maincotract.ContractCustomerInfo = _customerService.GetId(maincotract.CustomerID);
                //获取合同体系项目
                List <Biz_ContractItem> itemlist   = _contractitemService.GetWhere(m => m.MainContractID == maincotract.ID && m.deleted == 0);
                List <ContractItemVM>   ItemVMList = new List <ContractItemVM>();
                foreach (var item in itemlist)
                {
                    ContractItemVM itemVM = Api.Common.Helpers.ComHelper.Mapper <ContractItemVM, Biz_ContractItem>(item);

                    //默认赋值基础人日
                    DataTable contrcatitem = db.Ado.GetDataTable("select PropleNum,SystemTypeID from Biz_ContractItem b inner join Abi_SysStandard c on b.ItemStandardID = c.ID where b.ID  =@ID", new { ID = item.ID }); //获取体系人数
                    if (contrcatitem.Rows.Count > 0 && (item.FirstTrialBaseDays == null || item.FirstTrialBaseDays == 0))
                    {
                        //return toResponse(StatusCodeType.Error, "项目信息获取失败");
                        object auditdays = db.Ado
                                           .GetDecimal(@"select AuditDays from Sys_AuditTime where SystemTypeID = @SystemTypeID and (isnull(RiskRegisterID,0) = 0)
                    and (isnull(DownLimt,0) < @PropleNum and isnull(UpLimit,99999) > @PropleNum)", new { SystemTypeID = contrcatitem.Rows[0]["SystemTypeID"].ToString(), PropleNum = contrcatitem.Rows[0]["PropleNum"].ToString() });
                        if (auditdays == null)
                        {
                            return(toResponse(StatusCodeType.Error, "匹配基础人日信息失败,请核对!"));
                        }

                        itemVM.FirstTrialBaseDays      = (decimal)auditdays;                          //初审基础人日
                        itemVM.SupervisionBaseDays     = Math.Round(((decimal)auditdays / 3), 2);     //监督基础人日
                        itemVM.RecertificationBaseDays = Math.Round(((decimal)auditdays / 3) * 2, 2); //再认证基础人日
                    }


                    //增人日依据
                    itemVM.ContractItemAddList = Core.DbContext.Db.Queryable <Biz_ContractItem_Add>().Where(m => m.ContractItemID == item.ID).ToList();

                    //减人日依据
                    itemVM.ContractItemMinusList = Core.DbContext.Db.Queryable <Biz_ContractItem_Minus>().Where(m => m.ContractItemID == item.ID).ToList();

                    //体系业务代码
                    itemVM.ContractItemBizClassificationList = Core.DbContext.Db.Queryable <Biz_ContractItem_BizClassification, Abi_BizClassification>((a, b) => new object[] {
                        JoinType.Left, a.BizClassificationID == b.ID
                    }).Where((a, b) => a.ContractItemID == item.ID && b.Enabled == true).Select((a, b) => new ContractItemBizClassVM
                    {
                        ID                       = a.ID,
                        ContractItemID           = item.ID,
                        BizClassificationID      = a.BizClassificationID,
                        SystemTypeID             = b.SystemTypeID,
                        SystemTypeCode           = b.SystemTypeCode,
                        SystemTypeName           = b.SystemTypeName,
                        ClassificationCode       = b.ClassificationCode,
                        ClassificationReportCode = b.ClassificationReportCode,
                        ClassificationName       = b.ClassificationName,
                        ClassificationNameEN     = b.ClassificationNameEN,
                        Industry                 = b.Industry,
                        RiskRegister             = b.RiskRegister,
                        CNAS                     = b.CNAS
                    }).ToList();


                    ItemVMList.Add(itemVM);
                }
                maincotract.ContractItemList = ItemVMList;
                //获取合同分场所信息
                maincotract.ContractfcsList = Core.DbContext.Db.Queryable <Biz_ContractFcs, uf_fcsxx>((a, b) => new object[] {
                    JoinType.Left, a.fcsID == b.fcsID
                }).OrderBy((a, b) => b.fcslx).Where((a, b) => a.MainContractID == maincotract.ID)
                                              .Select((a, b) => new FcsVM {
                    ID = a.ID, fcsID = (int)a.fcsID, fcslx = b.fcslx, fcslxmc = b.fcslxmc, fcsmc = b.fcsmc, fcsmcy = b.fcsmcy, dz = b.dz, dzy = b.dzy, lxdh = b.lxdh, cz = b.cz, lxr = b.lxr, lxrsj = b.lxrsj, fxcrs = b.fxcrs, jzbjl = b.jzbjl, znbm = b.znbm, fcshd = b.fcshd, bz = b.bz
                }).ToList();                                                                                                                                                                                                                                                                                                //固定场所排序显示
                                                                                                                                                                                                                                                                                                                            //获取合同附件信息
                maincotract.ContractFileList = _contractfileService.GetWhere(m => m.MainContractID == maincotract.ID);

                //支持方式
                if (maincotract.SupportWay != null)
                {
                    string[] IDs = maincotract.SupportWay.Split(',');
                    maincotract.SupportWayList = db.Queryable <Frm_SelectItemObj>().Where(m => IDs.Contains(m.SelectItemIndex.ToString())).ToList();
                }
                return(toResponse(maincotract));
            }
        }
        public IActionResult GetDetail(string id = null)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(toResponse(StatusCodeType.Error, "Id 不能为空"));
            }
            var userinfo = _tokenManager.GetSessionInfo();
            var contract = _maincontractService.GetId(id);

            if (contract == null || contract.deleted == 1)
            {
                return(toResponse(StatusCodeType.Error, "当前合同信息不存在"));
            }

            AuditContractVM maincotract = Api.Common.Helpers.ComHelper.Mapper <AuditContractVM, Biz_MainContract>(contract);

            //获取客户信息
            maincotract.ContractCustomerInfo = _customerService.GetId(maincotract.CustomerID);
            //获取合同体系项目
            List <Biz_ContractItem> itemlist   = _contractitemService.GetWhere(m => m.MainContractID == maincotract.ID && m.deleted == 0);
            List <ContractItemVM>   ItemVMList = new List <ContractItemVM>();

            foreach (var item in itemlist)
            {
                ContractItemVM itemVM = Api.Common.Helpers.ComHelper.Mapper <ContractItemVM, Biz_ContractItem>(item);

                //增人日依据
                itemVM.ContractItemAddList = Core.DbContext.Db.Queryable <Biz_ContractItem_Add>().Where(m => m.ContractItemID == item.ID).ToList();

                //减人日依据
                itemVM.ContractItemMinusList = Core.DbContext.Db.Queryable <Biz_ContractItem_Minus>().Where(m => m.ContractItemID == item.ID).ToList();

                //体系业务代码
                itemVM.ContractItemBizClassificationList = Core.DbContext.Db.Queryable <Biz_ContractItem_BizClassification, Abi_BizClassification>((a, b) => new object[] {
                    JoinType.Left, a.BizClassificationID == b.ID
                }).Where((a, b) => a.ContractItemID == item.ID && b.Enabled == true).Select((a, b) => new ContractItemBizClassVM
                {
                    ID                       = a.ID,
                    ContractItemID           = item.ID,
                    BizClassificationID      = a.BizClassificationID,
                    SystemTypeID             = b.SystemTypeID,
                    SystemTypeCode           = b.SystemTypeCode,
                    SystemTypeName           = b.SystemTypeName,
                    ClassificationCode       = b.ClassificationCode,
                    ClassificationReportCode = b.ClassificationReportCode,
                    ClassificationName       = b.ClassificationName,
                    ClassificationNameEN     = b.ClassificationNameEN,
                    Industry                 = b.Industry,
                    RiskRegister             = b.RiskRegister,
                    CNAS                     = b.CNAS
                }).ToList();

                ItemVMList.Add(itemVM);
            }
            maincotract.ContractItemList = ItemVMList;
            //获取合同分场所信息
            maincotract.ContractfcsList = Core.DbContext.Db.Queryable <Biz_ContractFcs, uf_fcsxx>((a, b) => new object[] {
                JoinType.Left, a.fcsID == b.fcsID
            }).OrderBy((a, b) => b.fcslx).Where((a, b) => a.MainContractID == maincotract.ID)
                                          .Select((a, b) => new FcsVM {
                ID = a.ID, fcsID = (int)a.fcsID, fcslx = b.fcslx, fcslxmc = b.fcslxmc, fcsmc = b.fcsmc, fcsmcy = b.fcsmcy, dz = b.dz, dzy = b.dzy, lxdh = b.lxdh, cz = b.cz, lxr = b.lxr, lxrsj = b.lxrsj, fxcrs = b.fxcrs, jzbjl = b.jzbjl, znbm = b.znbm, fcshd = b.fcshd, bz = b.bz
            }).ToList();                                                                                                                                                                                                                                                                                              //固定场所排序显示
            //获取合同附件信息
            maincotract.ContractFileList = _contractfileService.GetWhere(m => m.MainContractID == maincotract.ID);

            return(toResponse(maincotract));
        }