update接口开发

This commit is contained in:
路 范
2021-09-22 17:04:44 +08:00
parent 6bd974588e
commit 7337c82f3b
26 changed files with 580 additions and 190 deletions

View File

@@ -7,6 +7,11 @@ using System.Threading.Tasks;
namespace Ewide.NbzsZheliban.Entity.Extends
{
public class ZhelibanUserInfo
{
public string CardId { get; set; }
public string Name { get; set; }
}
public class Dcbs
{
public string dcbId { get; set; }
@@ -23,6 +28,7 @@ namespace Ewide.NbzsZheliban.Entity.Extends
public string countValue { get; set; }
public string CreateTime { get; set; }
public string CreateUserName { get; set; }
public string Type { get; set; }
}
public class Bcxy
@@ -37,6 +43,7 @@ namespace Ewide.NbzsZheliban.Entity.Extends
public string SwitchProductionWay { get; set; }
public string countValue { get; set; }
public string SignTime { get; set; }
public string Type { get; set; }
}
@@ -77,6 +84,10 @@ namespace Ewide.NbzsZheliban.Entity.Extends
/// </summary>
public string CurrentState { get; set; }
/// <summary>
/// 项目备案日期
/// </summary>
public string CreateRecordTime { get; set; }
/// <summary>
/// 分户评估集合
/// </summary>
public List<Fhpgs> FhpgList { get; set; }
@@ -99,4 +110,43 @@ namespace Ewide.NbzsZheliban.Entity.Extends
public DateTime? PublicTime { get; set; }
public string Area { get; set; }
}
public class FHPG
{
public string Id { get; set; }
/// <summary>
/// 评估编号
/// </summary>
public string AssessmentNo { get; set; }
/// <summary>
/// 被征收房屋评估金额
/// </summary>
public string HousingAssessmentValue { get; set; }
/// <summary>
/// 被征收房屋评估价值
/// </summary>
public string countValue { get; set; }
/// <summary>
/// 附属物评估金额
/// </summary>
public string AttachedAssessedValue { get; set; }
/// <summary>
/// 装修评估金额
/// </summary>
public string DecorateAssessedValue { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 超容积率土地补偿费
/// </summary>
public string ExceedLandMoney { get; set; }
/// <summary>
/// 阁楼补偿费
/// </summary>
public string AtticAssessedValue { get; set; }
public int ValuationMethod { get; set; }
public int Type { get; set; }
}
}

View File

@@ -4,6 +4,10 @@
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Magick.NET-Q16-AnyCPU" Version="8.3.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\framework\Api\Ewide.Core\Ewide.Core.csproj" />
</ItemGroup>

View File

@@ -7,6 +7,7 @@ using Furion.DataEncryption;
using Furion.FriendlyException;
using Furion.JsonSerialization;
using Furion.UnifyResult;
using ImageMagick;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.StaticFiles;
using Newtonsoft.Json.Linq;
@@ -32,6 +33,144 @@ namespace Ewide.NbzsZheliban.Service
db = repository.Context;
_jsonSerializer = jsonSerializer;
}
/// <summary>
/// 获取当前用户信息
/// </summary>
/// <returns></returns>
[HttpPost("/userinfo")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public dynamic GetUserInfo([FromBody] JObject args)
{
var ticket = args.GetJsonValue("ticket", isThrowExp: true);
var userinfoObj = GetInfoByTicket(ticket);
return new ZhelibanUserInfo
{
CardId = userinfoObj["idnum"].ToString(),
Name = userinfoObj["username"].ToString()
};
}
/// <summary>
/// 被征收人关联的项目列表
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
[HttpPost("/project/list")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public async Task<dynamic> PrjList([FromBody] JObject args)
{
var ticket = args.GetJsonValue("ticket", isThrowExp: true);
//var ticket = Request.Query["ticket"];
var userinfoObj = GetInfoByTicket(ticket);
var cardno = userinfoObj["idnum"].ToString();
var username = userinfoObj["username"].ToString();
//修改测试数据
db.Ado.ExecuteCommand("update InvestigateTable set ExpropriatedCardNo='" + cardno + "' where id ='FF010DD7-C938-46AC-85DD-FAF9DC128BFD' ");
return await GetInfoByCardNoAsync(cardno, username);
}
/// <summary>
/// 被征收人关联的项目列表
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
[HttpPost("/project/list2")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public async Task<dynamic> PrjList2([FromBody] JObject args)
{
var cardno = "341203199206303411";
var username = "张三丰";
return await GetInfoByCardNoAsync(cardno, username);
}
/// <summary>
/// 住宅调查表
/// </summary>
/// <param name="cardno"></param>
/// <returns></returns>
private async Task<List<Dcbs>> GetzzDcbsAsync(string cardno)
{
//住宅调查表
return await db.Ado.SqlQueryAsync<Dcbs>("select ID dcbId,ProjectId PrjId from InvestigateTable b where b.ExpropriatedCardNo=@ExpropriatedCardNo", new List<SugarParameter> { new SugarParameter("ExpropriatedCardNo", cardno, System.Data.DbType.String) }.ToArray());
}
/// <summary>
/// 非住宅调查表
/// </summary>
/// <param name="cardno"></param>
/// <returns></returns>
private async Task<List<Dcbs>> GetfzzDcbsAsync(string cardno)
{
//非住宅调查表
return await db.Ado.SqlQueryAsync<Dcbs>("select ID dcbId,ProjectId PrjId from NonResidentialInvestigateTable b where b.PropertyRightCardNo=@ExpropriatedCardNo", new List<SugarParameter> { new SugarParameter("ExpropriatedCardNo", cardno, System.Data.DbType.String) }.ToArray());
}
/// <summary>
/// 项目列表
/// </summary>
/// <param name="list_dcbs"></param>
/// <returns></returns>
private async Task<List<H5IndexPrjModel>> GetPrjListAsync(IEnumerable<Dcbs> list_dcbs)
{
//项目列表
return await db.Ado.SqlQueryAsync<H5IndexPrjModel>("select a.ID Prjid,a.area,a.AreaID,a.HouseAcquisitionDepartment as zsbm,a.CollectDecisionNo1 as year,(isnull(a.CollectDecisionNoHeadName,'')+'['+cast(a.CollectDecisionNo1 as varchar)+']'+ isnull(cast(a.CollectDecisionNo2 as varchar),'')+'号') zsjdh,dbo.get_current_state(a.ID) CurrentState,NAME,CreateRecordTime from Projects a where ID in ('" + string.Join("','", list_dcbs.Select(p => p.PrjId)) + "') ");
}
/// <summary>
/// 分户评估
/// </summary>
/// <param name="InvestigateTableID_param"></param>
/// <returns></returns>
private async Task<List<Fhpgs>> GetFHPGListAsync(string InvestigateTableID_param)
{
//分户评估
return await db.Ado.SqlQueryAsync<Fhpgs>("select d.id,e.ProjectId as PrjId ,d.AssessmentNo,e.HouseAddress,d.countValue,e.id dcbId,d.CreateTime,d.CreateUserName,1 type from InvestigateTable_Assessment d inner join InvestigateTable e on d.InvestigateTableId=e.ID where d.InvestigateTableID in ( " + InvestigateTableID_param + " ) union all select d.id,e.ProjectId as PrjId ,AssessmentNo, e.HouseAddress, d.countValue,e.id dcbId,d.CreateTime,d.CreateUserName,2 type from NonInvestigateTable_Assessment d inner join NonResidentialInvestigateTable e on d.NonInvestigateTableID = e.ID where d.NonInvestigateTableID in ( " + InvestigateTableID_param + " ) ;");
}
/// <summary>
/// 补偿协议
/// </summary>
/// <param name="InvestigateTableID_param"></param>
/// <returns></returns>
private async Task<List<Bcxy>> GetBCXYListAsync(string InvestigateTableID_param)
{
//补偿协议
return await db.Ado.SqlQueryAsync<Bcxy>("select d.id,isnull(d.CollectDecisionNoHeadName,'')+isnull(d.No1,'')+'-'+isnull(d.No2,'')+(case when (d.No3 is null or d.No3 = '') then '' else ('-'+d.No3) end ) XyNo,d.SwitchProductionWay,e.HouseAddress,d.SummationShouldCompensateMoney,e.ProjectId as PrjId,e.id dcbId,d.SignTime,1 type from ResidentialAgreement d inner join InvestigateTable e on d.InvestigateTableId=e.ID where d.InvestigateTableID in ( " + InvestigateTableID_param + " ) union all select d.id,isnull(d.CollectDecisionNoHeadName, '') + isnull(d.No2, '') + '-' + isnull(d.No3, '') XyNo , d.SwitchProductionWay, e.HouseAddress, d.SummationShouldCompensateMoney, e.ProjectId as PrjId,e.id dcbId,d.SignTime,2 type from NonResidentialAgreement d inner join NonResidentialInvestigateTable e on d.NonInvestigateTableID = e.ID where d.NonInvestigateTableID in ( " + InvestigateTableID_param + " ); ");
}
private async Task<H5IndexModel> GetInfoByCardNoAsync(string cardno, string username)
{
var list_zz_dcb = await GetzzDcbsAsync(cardno);
var list_fzz_dcb = await GetfzzDcbsAsync(cardno);
//调查表集合
var list_dcbs = list_zz_dcb.Concat(list_fzz_dcb);
var list_projects = await GetPrjListAsync(list_dcbs);
var InvestigateTableID_param = "'" + string.Join("','", list_dcbs.Select(p => p.dcbId)) + "'";
var list_fhpgs = await GetFHPGListAsync(InvestigateTableID_param);
var list_bcxys = await GetBCXYListAsync(InvestigateTableID_param);
var listAreas = new List<Guid?> { Guid.Parse("B2A0291C-84C7-4D86-A6D5-CB9FCCF4A2D8") };
list_projects.ForEach(p =>
{
p.FhpgList = list_fhpgs.Where(a => a.PrjId == p.PrjId).ToList();
var bcxy = list_bcxys.Where(a => a.PrjId == p.PrjId).ToList();
bcxy.ForEach(a => a.countValue = list_fhpgs.Where(b => b.dcbId == a.dcbId).First().countValue);
p.BcxyList = bcxy;
listAreas.Add(Guid.Parse(p.AreaID));
});
//政策
var list_PoliciesRegulations = await db.Queryable<Entity.PoliciesRegulations>().Where(a => listAreas.Contains(a.AreaID)).Select(b => new PoliciesRegulation
{
ID = b.ID,
Contents = b.Contents,
PublicTime = b.PublicTime,
Title = b.Title,
Area = b.Area
}).ToListAsync();
H5IndexModel h5IndexModel = new()
{
PrjList = list_projects,
IdCard = cardno,
UserName = username,
PoliciesRegulationsLists = new Entity.Extends.PoliciesRegulations { List = list_PoliciesRegulations, TotalCount = list_PoliciesRegulations.Count }
};
return h5IndexModel;
}
private JObject GetInfoByTicket(string ticket)
{
if (string.IsNullOrWhiteSpace(ticket))
@@ -103,79 +242,6 @@ namespace Ewide.NbzsZheliban.Service
return userinfoObj;
}
}
private async Task<H5IndexModel> GetInfoByCardNoAsync(string cardno, string username)
{
//var cardno = args.GetJsonValue("cardno", isThrowExp: true);
//住宅调查表
var list_zz_dcb = await db.Ado.SqlQueryAsync<Dcbs>("select ID dcbId,ProjectId PrjId from InvestigateTable b where b.ExpropriatedCardNo=@ExpropriatedCardNo", new List<SugarParameter> { new SugarParameter("ExpropriatedCardNo", cardno, System.Data.DbType.String) }.ToArray());
//非住宅调查表
var list_fzz_dcb = await db.Ado.SqlQueryAsync<Dcbs>("select ID dcbId,ProjectId PrjId from NonResidentialInvestigateTable b where b.PropertyRightCardNo=@ExpropriatedCardNo", new List<SugarParameter> { new SugarParameter("ExpropriatedCardNo", cardno, System.Data.DbType.String) }.ToArray());
//调查表集合
var list_dcbs = list_zz_dcb.Concat(list_fzz_dcb);
//项目列表
var list_projects = await db.Ado.SqlQueryAsync<H5IndexPrjModel>("select a.ID Prjid,a.area,a.AreaID,a.HouseAcquisitionDepartment as zsbm,a.CollectDecisionNo1 as year,(isnull(a.CollectDecisionNoHeadName,'')+'['+cast(a.CollectDecisionNo1 as varchar)+']'+ isnull(cast(a.CollectDecisionNo2 as varchar),'')+'号') zsjdh,dbo.get_current_state(a.ID) CurrentState,NAME from Projects a where ID in ('" + string.Join("','", list_dcbs.Select(p => p.PrjId)) + "') ");
//分户评估
var InvestigateTableID_param = "'" + string.Join("','", list_dcbs.Select(p => p.dcbId)) + "'";
var list_fhpgs = await db.Ado.SqlQueryAsync<Fhpgs>("select d.id,e.ProjectId as PrjId ,d.AssessmentNo,e.HouseAddress,d.countValue,e.id dcbId,d.CreateTime,d.CreateUserName from InvestigateTable_Assessment d inner join InvestigateTable e on d.InvestigateTableId=e.ID where d.InvestigateTableID in ( " + InvestigateTableID_param + " ) union all select d.id,e.ProjectId as PrjId ,AssessmentNo, e.HouseAddress, d.countValue,e.id dcbId,d.CreateTime,d.CreateUserName from NonInvestigateTable_Assessment d inner join NonResidentialInvestigateTable e on d.NonInvestigateTableID = e.ID where d.NonInvestigateTableID in ( " + InvestigateTableID_param + " ) ;");
//补偿协议
var list_bcxys = await db.Ado.SqlQueryAsync<Bcxy>("select d.id,isnull(d.CollectDecisionNoHeadName,'')+isnull(d.No1,'')+'-'+isnull(d.No2,'')+(case when (d.No3 is null or d.No3 = '') then '' else ('-'+d.No3) end ) XyNo,d.SwitchProductionWay,e.HouseAddress,d.SummationShouldCompensateMoney,e.ProjectId as PrjId,e.id dcbId,d.SignTime from ResidentialAgreement d inner join InvestigateTable e on d.InvestigateTableId=e.ID where d.InvestigateTableID in ( " + InvestigateTableID_param + " ) union all select d.id,isnull(d.CollectDecisionNoHeadName, '') + isnull(d.No2, '') + '-' + isnull(d.No3, '') XyNo , d.SwitchProductionWay, e.HouseAddress, d.SummationShouldCompensateMoney, e.ProjectId as PrjId,e.id dcbId,d.SignTime from NonResidentialAgreement d inner join NonResidentialInvestigateTable e on d.NonInvestigateTableID = e.ID where d.NonInvestigateTableID in ( " + InvestigateTableID_param + " ); ");
var listAreas = new List<Guid?> { Guid.Parse("B2A0291C-84C7-4D86-A6D5-CB9FCCF4A2D8") };
list_projects.ForEach(p =>
{
p.FhpgList = list_fhpgs.Where(a => a.PrjId == p.PrjId).ToList();
var bcxy = list_bcxys.Where(a => a.PrjId == p.PrjId).ToList();
bcxy.ForEach(a => a.countValue = list_fhpgs.Where(b => b.dcbId == a.dcbId).First().countValue);
p.BcxyList = bcxy;
listAreas.Add(Guid.Parse(p.AreaID));
});
//政策
var list_PoliciesRegulations = await db.Queryable<Entity.PoliciesRegulations>().Where(a => listAreas.Contains(a.AreaID)).Select(b => new PoliciesRegulation
{
ID = b.ID,
Contents = b.Contents,
PublicTime = b.PublicTime,
Title = b.Title,
Area = b.Area
}).ToListAsync();
H5IndexModel h5IndexModel = new()
{
PrjList = list_projects,
IdCard = cardno,
UserName = username,
PoliciesRegulationsLists = new Entity.Extends.PoliciesRegulations { List = list_PoliciesRegulations, TotalCount = list_PoliciesRegulations.Count }
};
return h5IndexModel;
}
/// <summary>
/// 被征收人关联的项目列表
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
[HttpPost("/project/list")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public async Task<dynamic> PrjList([FromBody] JObject args)
{
var ticket = args.GetJsonValue("ticket", isThrowExp: true);
//var ticket = Request.Query["ticket"];
var userinfoObj = GetInfoByTicket(ticket);
var cardno = userinfoObj["idnum"].ToString();
var username = userinfoObj["username"].ToString();
return await GetInfoByCardNoAsync(cardno, username);
}
/// <summary>
/// 被征收人关联的项目列表
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
[HttpPost("/project/list2")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public async Task<dynamic> PrjList2([FromBody] JObject args)
{
var cardno = "341203199206303411";
var username = "张三丰";
return await GetInfoByCardNoAsync(cardno, username);
}
/// <summary>
/// 政策详细
/// </summary>
@@ -198,14 +264,15 @@ namespace Ewide.NbzsZheliban.Service
}).FirstAsync();
return entity;
}
/// <summary>
/// 协议详细
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
[HttpPost("/agreement/info")]
[HttpPost("/agreement/info_s")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public async Task<dynamic> AgreementInfo([FromBody] JObject args)
public IActionResult AgreementInfoStream([FromBody] JObject args)
{
var ticket = args.GetJsonValue("ticket", isThrowExp: true);
var id = args.GetJsonGuidValue("id", isThrowExp: true);
@@ -230,44 +297,84 @@ namespace Ewide.NbzsZheliban.Service
}
if (string.IsNullOrEmpty(XyFile))
throw Oops.Oh("未上传附件");
var filePath = App.Configuration["nbzs_domain"] + XyFile;
return filePath;
var filePath = App.Configuration["nbzs_file_path"] + XyFile;
return new FileStreamResult(new FileStream(filePath, FileMode.Open), "application/octet-stream") { FileDownloadName = new FileInfo(filePath).Name };
}
/// <summary>
/// 协议详细
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
[HttpPost("/agreement/info_p")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public dynamic AgreementInfoPicture([FromBody] JObject args)
{
var ticket = args.GetJsonValue("ticket", isThrowExp: true);
var id = args.GetJsonGuidValue("id", isThrowExp: true);
JObject userInfoObj = GetInfoByTicket(ticket);
var XyFile = "";
//住宅
var entity_zz = db.Queryable<Entity.ResidentialAgreement>().Where(p => p.ID == id).Select(p => new { p.ID, p.XyFile }).First();
if (entity_zz != null)
{
XyFile = entity_zz.XyFile;
}
//非住宅
else
{
var entity_fzz = db.Queryable<Entity.NonResidentialAgreement>().Where(p => p.ID == id).Select(p => new { p.ID, p.XyFile }).First();
if (entity_fzz != null)
{
XyFile = entity_fzz.XyFile;
}
else
throw Oops.Oh("ID错误");
}
if (string.IsNullOrEmpty(XyFile))
throw Oops.Oh("未上传附件");
var pics = new List<string>();
var nbzs_file_path = App.Configuration["nbzs_file_path"];
var nbzs_domain = App.Configuration["nbzs_domain"];
var filePath = nbzs_file_path + XyFile;
var pdfFile = new FileInfo(filePath);
if (File.Exists(pdfFile.Directory + "\\lock"))
{
var picCount = pdfFile.Directory.GetFiles(pdfFile.Name + "-*.jpg").Length;
for (int i = 0; i < picCount; i++)
{
pics.Add(nbzs_domain + XyFile + "-" + i + ".jpg");
}
}
else
{
MagickReadSettings settings = new MagickReadSettings();
settings.Density = new Density(400, 400); //设置质量
using (MagickImageCollection images = new MagickImageCollection())
{
try
{
images.Read(filePath, settings);
for (int i = 0; i < images.Count; i++)
{
MagickImage image = (MagickImage)images[i];
image.Format = MagickFormat.Jpg;
var imagename = filePath + "-" + i + ".jpg";
image.Write(imagename);
pics.Add(nbzs_domain + XyFile + "-" + i + ".jpg");
if (i == 0)
{
File.WriteAllText(pdfFile.Directory.FullName + "\\lock", "lock");
}
}
}
catch (Exception ex)
{
throw Oops.Oh(ex.Message);
}
}
}
return new { pics, pdf = nbzs_domain + XyFile };
}
///// <summary>
///// 协议详细
///// </summary>
///// <param name="args"></param>
///// <returns></returns>
//[HttpPost("/agreement/info")]
//[Microsoft.AspNetCore.Authorization.AllowAnonymous]
//public IActionResult AgreementInfo([FromBody] JObject args)
//{
// var ticket = args.GetJsonValue("ticket", isThrowExp: true);
// var id = args.GetJsonGuidValue("id", isThrowExp: true);
// JObject userInfoObj = GetInfoByTicket(ticket);
// var XyFile = "";
// //住宅
// var entity_zz = db.Queryable<Entity.ResidentialAgreement>().Where(p => p.ID == id).Select(p => new { p.ID, p.XyFile }).First();
// if (entity_zz != null)
// {
// XyFile = entity_zz.XyFile;
// }
// //非住宅
// else
// {
// var entity_fzz = db.Queryable<Entity.NonResidentialAgreement>().Where(p => p.ID == id).Select(p => new { p.ID, p.XyFile }).First();
// if (entity_fzz != null)
// {
// XyFile = entity_fzz.XyFile;
// }
// else
// throw Oops.Oh("ID错误");
// }
// if (string.IsNullOrEmpty(XyFile))
// throw Oops.Oh("未上传附件");
// var filePath = App.Configuration["nbzs_file_path"] + XyFile;
// return new FileStreamResult(new FileStream(filePath, FileMode.Open), "application/octet-stream") { FileDownloadName = new FileInfo(filePath).Name };
//}
/// <summary>
/// 分布评估详细
/// </summary>
@@ -275,95 +382,98 @@ namespace Ewide.NbzsZheliban.Service
/// <returns></returns>
[HttpPost("/house_estimate/info")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public async Task<dynamic> HouseEstimateInfo([FromBody] JObject args)
public dynamic HouseEstimateInfo([FromBody] JObject args)
{
var ticket = args.GetJsonValue("ticket", isThrowExp: true);
var id = args.GetJsonGuidValue("id", isThrowExp: true);
var type = args.GetJsonIntValue("type", isThrowExp: true);
JObject userInfoObj = GetInfoByTicket(ticket);
var entity_zz = db.Queryable<Entity.InvestigateTable_Assessment>().Where(p => p.ID == id).First();
//var cardno = userInfoObj["idnum"].ToString();
FHPG jzlrModel = null;
if (type == 1)
{
jzlrModel = db.Ado.SqlQuery<FHPG>("select a.ID,b.HouseAddress,a.ValuationMethod,a.AssessmentNo,a.HousingAssessmentValue,a.countValue,a.AttachedAssessedValue,a.DecorateAssessedValue,a.Remark,a.ExceedLandMoney,a.AtticAssessedValue,1 Type from InvestigateTable_Assessment a inner join InvestigateTable b on a.InvestigateTableID=b.ID where a.ID=@ID", new { ID = id }).FirstOrDefault();
}
else if (type == 2)
{
//非住宅
jzlrModel = db.Ado.SqlQuery<FHPG>("select b.HouseAddress,a.ValuationMethod,a.AssessmentNo,a.HousingAssessmentValue,a.countValue,a.AttachedAssessedValue,a.DecorateAssessedValue,a.Remark,a.ExceedLandMoney,2 Type from NonInvestigateTable_Assessment a inner join NonResidentialInvestigateTable b on a.NonInvestigateTableID=b.ID where a.ID=@ID", new { ID = id }).FirstOrDefault();
}
if (jzlrModel.ValuationMethod == 0)
{
return jzlrModel;
}
else
{
return GetHouseEstimateFile(Guid.Parse(jzlrModel.Id), jzlrModel.Type, jzlrModel.ValuationMethod);
}
}
private dynamic GetHouseEstimateFile(Guid id, int type, int ValuationMethod)
{
var fileUrl = "";
if (type == 1)
{
//住宅
var entity_zz = db.Queryable<Entity.InvestigateTable_Assessment>().Where(p => p.ID == id).Select(p => new { p.ID, p.File }).First();
if (entity_zz != null)
{
if (entity_zz.ValuationMethod == 0)
{
return null;
fileUrl = entity_zz.File;
}
else
throw Oops.Oh(199, "请使用文件接口");
}
else
else if (type == 2)
{
var entity_fzz = db.Queryable<Entity.NonInvestigateTable_Assessment>().Where(p => p.ID == id).First();
//非住宅
var entity_fzz = db.Queryable<Entity.NonInvestigateTable_Assessment>().Where(p => p.ID == id).Select(p => new { p.ID, p.File }).First();
if (entity_fzz != null)
{
if (entity_fzz.ValuationMethod == 0)
fileUrl = entity_fzz.File;
}
}
if (string.IsNullOrEmpty(fileUrl))
throw Oops.Oh("未评估或未上传附件");
var pics = new List<string>();
var nbzs_file_path = App.Configuration["nbzs_file_path"];
var nbzs_domain = App.Configuration["nbzs_domain"];
var filePath = nbzs_file_path + fileUrl;
var pdfFile = new FileInfo(filePath);
if (File.Exists(pdfFile.Directory + "\\lock"))
{
return null;
var picCount = pdfFile.Directory.GetFiles(pdfFile.Name + "-*.jpg").Length;
for (int i = 0; i < picCount; i++)
{
pics.Add(nbzs_domain + fileUrl + "-" + i + ".jpg");
}
}
else
throw Oops.Oh(199, "请使用文件接口");
{
MagickReadSettings settings = new MagickReadSettings();
settings.Density = new Density(400, 400); //设置质量
using (MagickImageCollection images = new MagickImageCollection())
{
try
{
images.Read(filePath, settings);
for (int i = 0; i < images.Count; i++)
{
MagickImage image = (MagickImage)images[i];
image.Format = MagickFormat.Jpg;
var imagename = filePath + "-" + i + ".jpg";
image.Write(imagename);
pics.Add(nbzs_domain + fileUrl + "-" + i + ".jpg");
if (i == 0)
{
File.WriteAllText(pdfFile.Directory.FullName + "\\lock", "lock");
}
}
}
catch (Exception ex)
{
throw Oops.Oh(ex.Message);
}
}
}
return new { ValuationMethod, pics, pdf = nbzs_domain + fileUrl };
}
else
throw Oops.Oh("ID错误");
}
}
/// <summary>
/// 分布评估详细
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
[HttpPost("/house_estimate/file")]
[Microsoft.AspNetCore.Authorization.AllowAnonymous]
public IActionResult HouseEstimateInfoFile([FromBody] JObject args)
{
var ticket = args.GetJsonValue("ticket", isThrowExp: true);
var id = args.GetJsonGuidValue("id", isThrowExp: true);
JObject userInfoObj = GetInfoByTicket(ticket);
var entity_zz = db.Queryable<Entity.InvestigateTable_Assessment>().Where(p => p.ID == id).First();
if (entity_zz != null)
{
switch (entity_zz.ValuationMethod)
{
//pdf上传
case 1:
case 2:
if (!string.IsNullOrEmpty(entity_zz.File))
{
var filePath = App.Configuration["nbzs_file_path"] + entity_zz.File;
return new FileStreamResult(new FileStream(filePath, FileMode.Open), "application/octet-stream") { FileDownloadName = new FileInfo(filePath).Name };
}
else
throw Oops.Oh("未上传文件");
//金额录入
default:
throw Oops.Oh("无文件");
}
}
else
{
var entity_fzz = db.Queryable<Entity.NonInvestigateTable_Assessment>().Where(p => p.ID == id).First();
if (entity_fzz != null)
{
switch (entity_fzz.ValuationMethod)
{
//pdf上传
case 1:
if (!string.IsNullOrEmpty(entity_fzz.File))
{
var filePath = App.Configuration["nbzs_file_path"] + entity_fzz.File;
return new FileStreamResult(new FileStream(filePath, FileMode.Open), "application/octet-stream") { FileDownloadName = new FileInfo(filePath).Name };
}
else
throw Oops.Oh("未上传文件");
//金额录入
default:
throw Oops.Oh("无文件");
}
}
else
throw Oops.Oh("ID错误");
}
throw Oops.Oh("出错了");
}
}
}

View File

@@ -8,7 +8,8 @@
".NETCoreApp,Version=v5.0": {
"Ewide.NbzsZheliban/1.0.0": {
"dependencies": {
"Ewide.Core": "1.0.0"
"Ewide.Core": "1.0.0",
"Magick.NET-Q16-AnyCPU": "8.3.1"
},
"runtime": {
"Ewide.NbzsZheliban.dll": {}
@@ -144,6 +145,52 @@
}
}
},
"Magick.NET-Q16-AnyCPU/8.3.1": {
"dependencies": {
"Magick.NET.Core": "8.3.1"
},
"runtime": {
"lib/netstandard21/Magick.NET-Q16-AnyCPU.dll": {
"assemblyVersion": "8.3.0.0",
"fileVersion": "8.3.1.0"
}
},
"runtimeTargets": {
"runtimes/linux-musl-x64/native/Magick.Native-Q16-x64.dll.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/Magick.Native-Q16-x64.dll.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/Magick.Native-Q16-x64.dll.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/Magick.Native-Q16-x64.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "7.1.0.7"
},
"runtimes/win-x86/native/Magick.Native-Q16-x86.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "7.1.0.7"
}
}
},
"Magick.NET.Core/8.3.1": {
"runtime": {
"lib/netstandard21/Magick.NET.Core.dll": {
"assemblyVersion": "8.3.0.0",
"fileVersion": "8.3.1.0"
}
}
},
"Mapster/7.2.0": {
"dependencies": {
"Mapster.Core": "1.2.0",
@@ -2129,6 +2176,20 @@
"path": "kendo.dynamiclinqcore/3.1.1",
"hashPath": "kendo.dynamiclinqcore.3.1.1.nupkg.sha512"
},
"Magick.NET-Q16-AnyCPU/8.3.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JSXV0aW1PUJGjVN3fT30QUv0Ya3lkFTjske+WP4Dfizg/oo9HU1jDwN/k/RWz5cF1uu8P12DX0JnIvsFI0o52A==",
"path": "magick.net-q16-anycpu/8.3.1",
"hashPath": "magick.net-q16-anycpu.8.3.1.nupkg.sha512"
},
"Magick.NET.Core/8.3.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kfZsxwz7KD+yGb2VSC54EgjvSWQcszSBf/5zRqTuIQMXPV6UgUqOT9edOyO9T/NxeDkvW4Rq1ozX7u0R/VLawg==",
"path": "magick.net.core/8.3.1",
"hashPath": "magick.net.core.8.3.1.nupkg.sha512"
},
"Mapster/7.2.0": {
"type": "package",
"serviceable": true,

View File

@@ -8,7 +8,8 @@
".NETCoreApp,Version=v5.0": {
"Ewide.NbzsZheliban/1.0.0": {
"dependencies": {
"Ewide.Core": "1.0.0"
"Ewide.Core": "1.0.0",
"Magick.NET-Q16-AnyCPU": "8.3.1"
},
"runtime": {
"Ewide.NbzsZheliban.dll": {}
@@ -144,6 +145,52 @@
}
}
},
"Magick.NET-Q16-AnyCPU/8.3.1": {
"dependencies": {
"Magick.NET.Core": "8.3.1"
},
"runtime": {
"lib/netstandard21/Magick.NET-Q16-AnyCPU.dll": {
"assemblyVersion": "8.3.0.0",
"fileVersion": "8.3.1.0"
}
},
"runtimeTargets": {
"runtimes/linux-musl-x64/native/Magick.Native-Q16-x64.dll.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/Magick.Native-Q16-x64.dll.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/Magick.Native-Q16-x64.dll.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/Magick.Native-Q16-x64.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "7.1.0.7"
},
"runtimes/win-x86/native/Magick.Native-Q16-x86.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "7.1.0.7"
}
}
},
"Magick.NET.Core/8.3.1": {
"runtime": {
"lib/netstandard21/Magick.NET.Core.dll": {
"assemblyVersion": "8.3.0.0",
"fileVersion": "8.3.1.0"
}
}
},
"Mapster/7.2.0": {
"dependencies": {
"Mapster.Core": "1.2.0",
@@ -2129,6 +2176,20 @@
"path": "kendo.dynamiclinqcore/3.1.1",
"hashPath": "kendo.dynamiclinqcore.3.1.1.nupkg.sha512"
},
"Magick.NET-Q16-AnyCPU/8.3.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JSXV0aW1PUJGjVN3fT30QUv0Ya3lkFTjske+WP4Dfizg/oo9HU1jDwN/k/RWz5cF1uu8P12DX0JnIvsFI0o52A==",
"path": "magick.net-q16-anycpu/8.3.1",
"hashPath": "magick.net-q16-anycpu.8.3.1.nupkg.sha512"
},
"Magick.NET.Core/8.3.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kfZsxwz7KD+yGb2VSC54EgjvSWQcszSBf/5zRqTuIQMXPV6UgUqOT9edOyO9T/NxeDkvW4Rq1ozX7u0R/VLawg==",
"path": "magick.net.core/8.3.1",
"hashPath": "magick.net.core.8.3.1.nupkg.sha512"
},
"Mapster/7.2.0": {
"type": "package",
"serviceable": true,

View File

@@ -1 +1 @@
89eb05abc515dde142e869ac1aed2a8f709f046b
ad5333fd9787f96d4c08a3722a762bad8a91584f

View File

@@ -46,6 +46,12 @@
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"dependencies": {
"Magick.NET-Q16-AnyCPU": {
"target": "Package",
"version": "[8.3.1, )"
}
},
"imports": [
"net461",
"net462",

View File

@@ -1 +1 @@
920da96ce33de95cbe4315098a3c69c204fb17a7
5f12d868d489d4519eeb1984207ea80b06709ca4

View File

@@ -150,6 +150,49 @@
"lib/netstandard2.1/Kendo.DynamicLinqCore.dll": {}
}
},
"Magick.NET-Q16-AnyCPU/8.3.1": {
"type": "package",
"dependencies": {
"Magick.NET.Core": "8.3.1"
},
"compile": {
"lib/netstandard21/Magick.NET-Q16-AnyCPU.dll": {}
},
"runtime": {
"lib/netstandard21/Magick.NET-Q16-AnyCPU.dll": {}
},
"runtimeTargets": {
"runtimes/linux-musl-x64/native/Magick.Native-Q16-x64.dll.so": {
"assetType": "native",
"rid": "linux-musl-x64"
},
"runtimes/linux-x64/native/Magick.Native-Q16-x64.dll.so": {
"assetType": "native",
"rid": "linux-x64"
},
"runtimes/osx-x64/native/Magick.Native-Q16-x64.dll.dylib": {
"assetType": "native",
"rid": "osx-x64"
},
"runtimes/win-x64/native/Magick.Native-Q16-x64.dll": {
"assetType": "native",
"rid": "win-x64"
},
"runtimes/win-x86/native/Magick.Native-Q16-x86.dll": {
"assetType": "native",
"rid": "win-x86"
}
}
},
"Magick.NET.Core/8.3.1": {
"type": "package",
"compile": {
"lib/netstandard21/Magick.NET.Core.dll": {}
},
"runtime": {
"lib/netstandard21/Magick.NET.Core.dll": {}
}
},
"Mapster/7.2.0": {
"type": "package",
"dependencies": {
@@ -3274,6 +3317,52 @@
"lib/netstandard2.1/Kendo.DynamicLinqCore.dll"
]
},
"Magick.NET-Q16-AnyCPU/8.3.1": {
"sha512": "JSXV0aW1PUJGjVN3fT30QUv0Ya3lkFTjske+WP4Dfizg/oo9HU1jDwN/k/RWz5cF1uu8P12DX0JnIvsFI0o52A==",
"type": "package",
"path": "magick.net-q16-anycpu/8.3.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Magick.NET.icon.png",
"Notice.linux-musl.txt",
"Notice.linux.txt",
"Notice.osx.txt",
"Notice.win.txt",
"lib/net20/Magick.NET-Q16-AnyCPU.dll",
"lib/net20/Magick.NET-Q16-AnyCPU.xml",
"lib/netstandard20/Magick.NET-Q16-AnyCPU.dll",
"lib/netstandard20/Magick.NET-Q16-AnyCPU.xml",
"lib/netstandard21/Magick.NET-Q16-AnyCPU.dll",
"lib/netstandard21/Magick.NET-Q16-AnyCPU.xml",
"magick.net-q16-anycpu.8.3.1.nupkg.sha512",
"magick.net-q16-anycpu.nuspec",
"runtimes/linux-musl-x64/native/Magick.Native-Q16-x64.dll.so",
"runtimes/linux-x64/native/Magick.Native-Q16-x64.dll.so",
"runtimes/osx-x64/native/Magick.Native-Q16-x64.dll.dylib",
"runtimes/win-x64/native/Magick.Native-Q16-x64.dll",
"runtimes/win-x86/native/Magick.Native-Q16-x86.dll"
]
},
"Magick.NET.Core/8.3.1": {
"sha512": "kfZsxwz7KD+yGb2VSC54EgjvSWQcszSBf/5zRqTuIQMXPV6UgUqOT9edOyO9T/NxeDkvW4Rq1ozX7u0R/VLawg==",
"type": "package",
"path": "magick.net.core/8.3.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Copyright.txt",
"Magick.NET.icon.png",
"lib/net20/Magick.NET.Core.dll",
"lib/net20/Magick.NET.Core.xml",
"lib/netstandard20/Magick.NET.Core.dll",
"lib/netstandard20/Magick.NET.Core.xml",
"lib/netstandard21/Magick.NET.Core.dll",
"lib/netstandard21/Magick.NET.Core.xml",
"magick.net.core.8.3.1.nupkg.sha512",
"magick.net.core.nuspec"
]
},
"Mapster/7.2.0": {
"sha512": "dIXWyCPHrzcQ7Aeblz/bKxsP9ZxGMMbHZTyywZS7/cGa9elPcJiTNeJ4OahzLtATzL13xC4MF8NRNcj49cCIng==",
"type": "package",
@@ -9590,7 +9679,8 @@
},
"projectFileDependencyGroups": {
"net5.0": [
"Ewide.Core >= 1.0.0"
"Ewide.Core >= 1.0.0",
"Magick.NET-Q16-AnyCPU >= 8.3.1"
]
},
"packageFolders": {
@@ -9639,6 +9729,12 @@
"frameworks": {
"net5.0": {
"targetAlias": "net5.0",
"dependencies": {
"Magick.NET-Q16-AnyCPU": {
"target": "Package",
"version": "[8.3.1, )"
}
},
"imports": [
"net461",
"net462",

View File

@@ -1,6 +1,6 @@
{
"version": 2,
"dgSpecHash": "0IMfZyWrfmJdEOCxyzTJ62B5ottopPVDUVlnEWLYxLV215VQiPlNxxDh8MzbhUPyPmnKOaK1lKhu44x1N/O12A==",
"dgSpecHash": "F+lR6QByMivxEi8mdk0/4p7Mth3vh/jVtmUX4ptGAZsOxkzk0t+0Sd167LMYlewKbOoG5MmXRpocMXn6+hbnpg==",
"success": true,
"projectFilePath": "D:\\WORK\\C宁波拆迁\\h5_codegit\\Ewide.NbzsZheliban\\Ewide.NbzsZheliban.csproj",
"expectedPackageFiles": [
@@ -16,6 +16,8 @@
"C:\\Users\\z1303\\.nuget\\packages\\k4os.compression.lz4.streams\\1.1.11\\k4os.compression.lz4.streams.1.1.11.nupkg.sha512",
"C:\\Users\\z1303\\.nuget\\packages\\k4os.hash.xxhash\\1.0.6\\k4os.hash.xxhash.1.0.6.nupkg.sha512",
"C:\\Users\\z1303\\.nuget\\packages\\kendo.dynamiclinqcore\\3.1.1\\kendo.dynamiclinqcore.3.1.1.nupkg.sha512",
"C:\\Users\\z1303\\.nuget\\packages\\magick.net-q16-anycpu\\8.3.1\\magick.net-q16-anycpu.8.3.1.nupkg.sha512",
"C:\\Users\\z1303\\.nuget\\packages\\magick.net.core\\8.3.1\\magick.net.core.8.3.1.nupkg.sha512",
"C:\\Users\\z1303\\.nuget\\packages\\mapster\\7.2.0\\mapster.7.2.0.nupkg.sha512",
"C:\\Users\\z1303\\.nuget\\packages\\mapster.core\\1.2.0\\mapster.core.1.2.0.nupkg.sha512",
"C:\\Users\\z1303\\.nuget\\packages\\mapster.dependencyinjection\\1.0.0\\mapster.dependencyinjection.1.0.0.nupkg.sha512",