using Dto; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.ViewFeatures; using Microsoft.Win32; using Newtonsoft.Json; using System.Collections.Specialized; using System.Data; using System.Dynamic; using System.Net.Http; using System.Net.Http.Headers; using System.Reflection.Metadata; using System.Runtime; using System.Runtime.Serialization; using System.Text; using System.Web; using test; using WebApplication1.Models; namespace WebApplication1.Controllers { [ApiController] [Route("[controller]/[action]")] public class TwentySystemController : ControllerBase { private readonly HttpClient httpClient; private string ip, port; public TwentySystemController(IHttpClientFactory httpClientFactory, IConfiguration configuration) { ip = configuration.GetSection("Configs:SystemIp").Value; port = configuration.GetSection("Configs:Port").Value; httpClient = httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri("http://143.120.5.116:8080"); // new Uri($"http://{ip}:{port}"); httpClient.DefaultRequestHeaders.Add("Accept", "application/json"); httpClient.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample"); httpClient.DefaultRequestHeaders.ConnectionClose = true; } [HttpGet] public async Task> GetJZXX(string dwbm, string bmsah) { try { MDossier dossier = new MDossier(dwbm, $"{ip}:{port}"); var data = await dossier.GetJZXX(dwbm, bmsah); return new Result() { IsSucceed = true, Message = "操作成功", result = data }; } catch (Exception ex) { return new Result() { IsSucceed = false, Message = "操作失败" + ex.Message }; } } [HttpGet] public async Task>> GetCaseInfo(string? casename, string? bmsah, string? dwbm, DateTime? starttime, DateTime? endtime, int page, int size) { await Task.Delay(10); var param = new { ksslrq = starttime?.ToString("yyyy-MM-dd") ?? DateTime.Now.AddDays(-100).ToString("yyyy-MM-dd"), jsslrq = endtime?.ToString("yyyy-MM-dd") ?? DateTime.Now.ToString("yyyy-MM-dd"), bmsah = bmsah, zzzt = "", ajlbbms = new string[] { "2801", "2802", "2803", "1602", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2009", "2010", "2011", "2012", "2013", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025", "2026", "2027", "2029", "2031", "2032", "2033", "2034", "2035", "2036", "2037", "2039", "2040", "2041", "2042", "2043", "2044", "2048", "2049", "2050", "2051", "2052", "2053", "2054", "2055", "2056", "2058", "2059", "2062", "2077", "2078", "1603", "1604", "1608", "1611", "1614", "1619", "1621", "1622", "1625", "1626", "1630", "1631", "1632", "1633", "1634", "1635", "1636", "1637", "1638", "1650", "1801", "1802", "1803", "1805", "1806", "1807", "1808", "1809", "1810", "1812", "1813", "1901", "1902", "1903", "1904", "1905", "1906", "1907", "1908", "1909", "1910", "1911", "1912", "1913", "1914", "1915", "1916", "1917", "1918", "1919", "0701", "0702", "0703", "0704", "0705", "0706", "0707", "0708", "0709", "0710", "0711", "0712", "0713", "0714", "0715", "0716", "0717", "0718", "0719", "0720", "0721", "0722", "0723", "0724", "0725", "0726", "0727", "1701", "1702", "1703", "1704", "1705", "1706", "1708", "1709", "1710", "1711", "1712", "1713", " 1714", "1715", "1716", "1718", "1719", "1720", "1722", "1723", "1724", "1725", "1726", "1727", "1728", "1729", "1730", "1731", "1732", "1733", "1734", "1736", "1737", "1738", "1740", "1741", "1742", "1743", "1744", "1745", "1747", "1748", "1749", "1750", "1752", "1753", "1754", "1756", "1757", "1758", "1759", "1760", "1761", "1762", "1768", "1769", "1770", "1771", "1772", "1773", "1774", "1775", "1778", "1779", "1780", "1781", "1782", "1784", "1785", "1786", "1787", "1788", "1789", "1790", "1791", "1792", "2701", "2702", "2703", "2704", "2705", "2706", "2707", "2708", "2710", "2711", "2712", "2713", "2714", "2715", "2716", "2717", "2718", "2719", "2721", "2722", "2723", "2724", "2726", "2727", "2728", "2729", "2730", "2731", "2732", "2733", "2734", "2735", "2736", "2737", "0801", "0802", "0803", "0804", "0805", "0806", "0808", "0809", "0810", "0811", "0812", "0813", "0814", "0815", "0816", "0817", "0818", "0819", "0820", "0821", "0822", "0823", "0824", "0825", "0826", "0827", "0828", "1401", "1402", "1403", "1404", "1405", "1406", "1408", "1409", "1410", "1411", "1412", "1413", "1414", "1415", "1101", "1102", "1103", "1104", "1105", "1107", "1108", "1109", "1111", "1112", "1302", "1303", "1304", "1305", "2202", "2203", "2204", "2205", "2207", "2209", "2301", "2302", "2303", "2401", "2402", "2101", "2102", "2103", "2104", "2105", "2106", "2107", "2108", "2109", "2110", "2111", "2112", "2113", "2114", "2115", "2116", "2117", "2118", "2119", "2120", "2122", "2123", "2124", "2130", "2501", "2502", "2509", "2601", "2602", "2603", "2604", "0301", "3001", "3002" }, ajmc = casename, sfsy = "", sfbd = "", dwbms = new string[] { dwbm }, page = page.ToString(), size = size.ToString() }; httpClient.DefaultRequestHeaders.Add("X-IDENTITY", "eyJkbGJtIjoi5rGk6Lev5bmzIiwicnlibSI6IjQxMDUwMzAwNzQiLCJkd2JtIjoiNDEwNTAzIiwiZHdtYyI6IuWMl+WFs+WMuumZoiIsInJ5bWMiOiLmsaTot6/lubMifQ=="); var request = await httpClient.PostAsJsonAsync("/dzjzzz-service/api/dzjzzz/dzjzzzYxJzjbxx/getDzzjzList", param); var data = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var result = data.ConvertToAnonymousType(new { code = default(string), success = default(bool), message = default(string), data = new { pageNum = default(int), pageSize = default(int), total = default(int), pages = default(int), list = new[] { default(JZInfo) } } }); if (result.success == true) { if (result.data == null) { return new Result>() { IsSucceed = true, Message = result.message ?? "查询成功" }; } else { var res = new Result>() { IsSucceed = true, Message = "操作成功", result = new Paging() { pageNum = result?.data?.pageNum, pageSize = result?.data?.pageSize, total = result?.data?.total, pages = result?.data?.pages, List = result?.data?.list?.ToList() } }; return res; } } else { return new Result>() { IsSucceed = false, Message = result.message ?? "查询失败" }; } } public static string? dttjMapdata; /// /// 案件协同添加 /// /// 部门受案号 /// 单位编码 /// [HttpGet] public async Task> CaseAdd(string bmsah, string dwbm) { // 测试参数 // string bmsah = "安北检未捕受[2023]410503000012号"; // string dwbm = "410503"; List list = new List(); try { List untis = new List(); // 接口地址 127.0.0.1:8080 var list_da = new List(); //案件信息 var list_dad = new List(); //案件信息案卡 var list_xxk = new List(); //案件信息案卡选项卡信息 var list_akdad = new List(); //添加数据到案件信息案卡 var infolist = new List(); var detail = new List(); string dqjdbh = string.Empty; string dqjdmc = string.Empty; // 案件信息参数 var lcJson = new { bmsah = bmsah // 部门受案号 }; // 案件信息接口 //var lcUrl = HttpHelper.Post("http://ajmx-service/api/caseCommon/getCaseBaseInfoAndSendLog", lcJson); var request = await httpClient.PostAsJsonAsync("/ajmx-service/api/caseCommon/getCaseBaseInfoAndSendLog", lcJson); var lcUrl = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var lcModel = JsonConvert.DeserializeObject>(lcUrl); if (lcModel.code == "0" && lcModel.success == true) { dqjdmc = lcModel.Data.dqjdmc; dqjdbh = lcModel.Data.dqjdbh; } var uniquedata = infolist.Where(q => q.case_bmsah == bmsah).ToList(); if (uniquedata.Count == 0) { // 获取模型编码接口参数 var mxbmparm = new { dwbm = dwbm, // 单位编码 mxbm = lcModel.Data.ajmxbm // 案件模型编码 }; // 案件模型接口 //var mxbmstr = HttpHelper.Post("http://" + ajUrl + "/ajmx-service/api/model/getModelBaseInfo", mxbmparm); var requestmxbmstr = await httpClient.PostAsJsonAsync("/ajmx-service/api/model/getModelBaseInfo", mxbmparm); var mxbmstr = await requestmxbmstr.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var mxbm = JsonConvert.DeserializeObject>>(mxbmstr); if (mxbm.code == "0" && mxbm.success == true) { foreach (var mxbmDto in mxbm.Data) { var mxbmsjmxbm = mxbmDto.sjmxbm; // 案卡树信息参数 var akparm = new { mxbm = mxbm.Data[0].mxbm, // 模型编码 rootData = bmsah // 部门受案号 }; // 案卡树信息接口 var requestmxbmstra = await httpClient.PostAsJsonAsync("/ajmx-service/api/caseForm/getRunningTreetData", akparm); var akstr = await requestmxbmstra.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var akdata = JsonConvert.DeserializeObject>>(akstr); if (akdata.code == "0" && akdata.success == true) { foreach (var ak in akdata.Data) { if (ak.stbmList == null || ak.stbmList.Count == 0) { if (ak.children != null && ak.children.Count > 0) { foreach (var children in ak.children) { // 案件案卡信息参数 var xxk = new { zbZjMap = new { bmsah = bmsah }, dwbm = dwbm, sjmxbm = mxbmsjmxbm, stbmjh = children.stbmList, xtbs = children.bdbs, dttjMap = dttjMapdata, zjMap = children.zjjh }; #region 获取嫌疑人编号 // 获取嫌疑人编号 var xyrbm = ""; try { xyrbm = children.zjjh.ZRRBM; } catch (Exception ex) { xyrbm = ""; } #endregion // 案件案卡信息接口 //var xxkstr = HttpHelper.Post("http://" + ajUrl + "/ajmx-service/api/caseForm/getAkFormData", xxk); var requestmxbmstrb = await httpClient.PostAsJsonAsync("/ajmx-service/api/caseForm/getAkFormData", xxk); var xxkstr = await requestmxbmstrb.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var my_obj = JsonConvert.DeserializeObject>>(xxkstr); if (my_obj.code == "0" && my_obj.success == true) { string case_yszm = string.Empty; string case_yszm_code = string.Empty; for (var i = 0; i < my_obj.Data[0].zdsj.Count; i++) { if (my_obj.Data[0].zdsj[i].zdmc == "YSAY") // 移送案由代码 { case_yszm = my_obj.Data[0].zdsj[i].bgqzdwbz; // 移诉罪名名称 case_yszm_code = my_obj.Data[0].zdsj[i].bgqzdbmz; // 移诉罪名编码 list.Add(new { yszmmc = case_yszm, yszmbm = case_yszm_code // 在线标识 }); break; } } } } } } } } } } } //ret.IsSucceed = true; //return Json(ret); } catch (Exception ex) { //ret.IsSucceed = false; //ret.Message = "添加失败请联系技术人员!"; //return Json(ret); } return list; } /// /// 申请人资格资料 /// /// [HttpPost("UploadImage")] public async Task UploadImage([FromBody] UploadDto dto) { // var client = new HttpClient(); Result result = new Result(); if (dto == null) { result.IsSucceed = false; result.Message = "接收数据失败"; return result; } if (string.IsNullOrEmpty(dto.Code) || dto.Code == "0") { result.IsSucceed = false; result.Message = "类型编码不能为空"; return result; } if (string.IsNullOrEmpty(dto.ImageStr) || dto.ImageStr == "0") { result.IsSucceed = false; result.Message = "base64图片不能为空"; return result; } if (string.IsNullOrEmpty(dto.Bmsah) || dto.Bmsah == "0") { result.IsSucceed = false; result.Message = "部门受案号不能为空"; return result; } if (string.IsNullOrEmpty(dto.UnitCode) || dto.UnitCode == "0") { result.IsSucceed = false; result.Message = "单位编码不能为空"; return result; } if (string.IsNullOrEmpty(dto.FileName) || dto.FileName == "0") { result.IsSucceed = false; result.Message = "文件名称不能为空"; return result; } if (string.IsNullOrEmpty(dto.UnitName) || dto.UnitName == "0") { result.IsSucceed = false; result.Message = "单位名称不能为空"; return result; } UploadImageDto uploadImageDto = new UploadImageDto() { pageSize = 10, pageNum = 1, blzt = 0, dwbm = "410503", bmsah = dto.Bmsah, ajmc = "", gjz = "", jsrq = null, ksrq = null, sqrxm = "", sxlxdm = "", zrrxm = "", }; // 事项跟踪信息 var request = await httpClient.PostAsJsonAsync("/bhdl-service/api/bhdlGl/findBhdlGzbl", uploadImageDto); var findBhdlGzbl = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var resultGzbl = JsonConvert.DeserializeObject(findBhdlGzbl); if (resultGzbl.success == false && resultGzbl.code != "0") { result.IsSucceed = false; result.Message = "数据不存在"; return result; } if (resultGzbl.data != null && resultGzbl.data.coumment != null && resultGzbl.data.coumment.Count > 0) { foreach (var item in resultGzbl.data.coumment) { //文件名称 string fileName = dto.FileName.Split('.')[0]; //后缀 string suffix = dto.FileName.Split('.')[1]; string id = Guid.NewGuid().ToString().Replace("-", null); //重要参数 //item.bhdlbh string dir = "yxsj/" + dto.UnitCode + "/bhdl-service/cl/" + dto.Bmsah + "/" + item.bhdlbh; ///解码 // var base64Iamge = HttpUtility.UrlDecode(dto.ImageStr); byte[] DocBytes = Convert.FromBase64String(dto.ImageStr); var memoryStream = new MemoryStream(DocBytes); System.IO.File.WriteAllBytes(id + "." + suffix, DocBytes); var content = new MultipartFormDataContent(); var fileContent = new StreamContent(memoryStream); content.Add(fileContent, "file", id + "." + suffix); content.Add(new StringContent(dir), "dir"); content.Add(new StringContent(id + "." + suffix), "name"); content.Add(new StringContent("true"), "overrideOnExists"); var responses = await httpClient.PostAsync("/wjfw-service/raw/file/save", content); var sresponse = await responses.Content.ReadAsStringAsync(); if (!string.IsNullOrEmpty(sresponse)) { var fileResultDto = JsonConvert.DeserializeObject(sresponse); if (fileResultDto.success == true && fileResultDto.code == "0") { SaveBhdlclxxDto saveBhdlclxxDto = new SaveBhdlclxxDto() { bhdlbh = item.bhdlbh, bmsah = dto.Bmsah, dwbm = dto.UnitCode, dwmc = dto.UnitName, sxbh = "", }; if (dto.Code == "1423000000100") { saveBhdlclxxDto.cllxdm = "1423000000100"; saveBhdlclxxDto.cllxmc = "律师执业证书"; } else if (dto.Code == "1423000000200") { saveBhdlclxxDto.cllxdm = "1423000000200"; saveBhdlclxxDto.cllxmc = "律师事务所证"; } else if (dto.Code == "1423000000300") { saveBhdlclxxDto.cllxdm = "1423000000300"; saveBhdlclxxDto.cllxmc = "授权委托书"; } else if (dto.Code == "1423000000400") { saveBhdlclxxDto.cllxdm = "1423000000400"; saveBhdlclxxDto.cllxmc = "法律援助公函"; } else if (dto.Code == "1423000000500") { saveBhdlclxxDto.cllxdm = "1423000000500"; saveBhdlclxxDto.cllxmc = "身份证件"; } else if (dto.Code == "1423000000600") { saveBhdlclxxDto.cllxdm = "1423000000600"; saveBhdlclxxDto.cllxmc = "关系证明材料"; } else if (dto.Code == "1423000000700") { saveBhdlclxxDto.cllxdm = "1423000000700"; saveBhdlclxxDto.cllxmc = "其他"; } List bhdlClxxInputDTOLists = new List(); bhdlClxxInputDTOLists.Add(new BhdlClxxInputDTOList() { clbh = id, fwqwjmc = id + "." + suffix,// dto.FileName, md5 = fileResultDto.data.storageResult.md5, wjkzm = suffix, wjlj = dir, wjmc = fileName, wjzjs = fileResultDto.data.size }); saveBhdlclxxDto.bhdlClxxInputDTOList = bhdlClxxInputDTOLists; var httpResponse = await httpClient.PostAsJsonAsync("/bhdl-service/api/bhdlCl/saveBhdlclxx", saveBhdlclxxDto); var resultDataDto = await httpResponse.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var dataDto = JsonConvert.DeserializeObject>(resultDataDto); if (dataDto.success == true && dataDto.code == "0") { result.IsSucceed = true; result.Message = "上传成功"; } else { result.IsSucceed = false; result.Message = dataDto.message; } } } } } else { result.IsSucceed = false; result.Message = resultGzbl.message; } return result; } /// /// 等级 /// /// /// [HttpPost("Register")] public async Task Register([FromBody] RegisterDto dto) { Result result = new Result(); #region 判断 if (dto != null) { result.IsSucceed = false; result.Message = "接收数据失败"; return result; } if (string.IsNullOrEmpty(dto.UnitName)) { result.IsSucceed = false; result.Message = "单位名称不能为空"; return result; } if (string.IsNullOrEmpty(dto.UnitCode)) { result.IsSucceed = false; result.Message = "单位编码不能为空"; return result; } if (string.IsNullOrEmpty(dto.Bmsah)) { result.IsSucceed = false; result.Message = "部门受案号不能为空"; return result; } if (string.IsNullOrEmpty(dto.PartyIdCard)) { result.IsSucceed = false; result.Message = "当事人身份证不能为空"; return result; } if (string.IsNullOrEmpty(dto.ProposerSCC)) { result.IsSucceed = false; result.Message = "律师事务所统一社会信用代码不能为空"; return result; } if (string.IsNullOrEmpty(dto.ProposerTel)) { result.IsSucceed = false; result.Message = "申请人联系电话不能为空"; return result; } if (string.IsNullOrEmpty(dto.ProposerIdCard)) { result.IsSucceed = false; result.Message = "申请人身份证不能为空"; return result; } #endregion var findAjgldsrxx = new { bmsah = dto.Bmsah, dwbm = dto.UnitCode, gjz = dto.PartyIdCard, pageNum = 1, pageSize = 20 }; var request = await httpClient.PostAsJsonAsync("/bhdl-service/api/bhdlGl/findAjgldsrxx", findAjgldsrxx); var findBhdlGzbl = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); var resultGzbl = JsonConvert.DeserializeObject(findBhdlGzbl); return result; } /// 将 Stream 转成 byte[] private static byte[] StreamToBytes(Stream stream) { byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin); return bytes; } /// 将 byte[] 转成 Stream private static Stream BytesToStream(byte[] bytes) { Stream stream = new MemoryStream(bytes); return stream; } } public class Paging { public int? pageNum { get; set; } public int? pageSize { get; set; } public int? total { get; set; } public int? pages { get; set; } public IEnumerable? List { get; set; } } public class Result { /// /// 成功/失败 /// [DataMember] public bool IsSucceed { get; set; } /// /// 消息 /// [DataMember] public string Message { get; set; } /// /// 消息 /// [DataMember] public dynamic result { get; set; } } public class Result : Result { /// /// 扩展数据 /// [DataMember] public new T result { get; set; } } public class JZInfo { public string? jzbh { get; set; } public string? ajmc { get; set; } public string? bmsah { get; set; } public string? cbdwbm { get; set; } public string? rybm { get; set; } public string? rymc { get; set; } public int? cs { get; set; } public int? ys { get; set; } public DateTime? cjsj { get; set; } public DateTime? cjrq { get; set; } public string? zzr { get; set; } public string? zzrbm { get; set; } public string? zzzt { get; set; } public string? jzms { get; set; } public string? jzxh { get; set; } public string? nfbd { get; set; } public string? jzsd { get; set; } public string? ajlbbm { get; set; } public string? ajlbmc { get; set; } public DateTime? slrq { get; set; } public string? jzocrzt { get; set; } public string? id { get; set; } public string? yjzmc { get; set; } public string? sfck { get; set; } public string? sfkcz { get; set; } public string? qlzt { get; set; } } }