Commit 70150fbe by Neo Turing

优化

parent 4b1207bb
......@@ -242,31 +242,36 @@ namespace Kivii.Third.Scjgj.Entities
/// 经济类型内资
/// 1:国有,2:集体,3:股份合作,4:联营,5:有限责任公司,6:股份有限公司,7:私营,8:其他企业
/// </summary>
public char? ECO_INSIDE { get; set; }
[StringLength(100)]
public string ECO_INSIDE { get; set; }
/// <summary>
/// 生产单位质量认证体系
/// 1:工业产品生产许可证,3:CCC,4:其他,5:强制性产品认证,6:特种设备制造许可
/// </summary>
public char? PRO_QUALITY_PASS { get; set; }
[StringLength(50)]
public string PRO_QUALITY_PASS { get; set; }
/// <summary>
/// 经济类型港澳台
/// 1:合资经营,2:合作经营,3:港澳台独资经营,4:澳台投资股份有限公司
/// </summary>
public char? ECO_HMT { get; set; }
[StringLength(50)]
public string ECO_HMT { get; set; }
/// <summary>
/// 经济类型外资
/// 1:中外合资,2:中外合作,3:外资企业,4:外商投资股份有限公司,5:有限责任公司
/// </summary>
public char? ECO_OUTSIDE { get; set; }
[StringLength(50)]
public string ECO_OUTSIDE { get; set; }
/// <summary>
/// 经济类型个体
/// 1:个体户,2:个人合作,3:个人独资
/// </summary>
public char? ECO_SINGLE { get; set; }
[StringLength(50)]
public string ECO_SINGLE { get; set; }
/// <summary>
/// 生产单位证书编码
......@@ -277,7 +282,8 @@ namespace Kivii.Third.Scjgj.Entities
/// <summary>
/// 生产单位企业规模类型
/// </summary>
public char? PRO_SACLE_TYPE { get; set; }
[StringLength(100)]
public string PRO_SACLE_TYPE { get; set; }
/// <summary>
/// 组织机构代码
......@@ -854,22 +860,23 @@ namespace Kivii.Third.Scjgj.Entities
public class TaskSource : Entity, IEntityIgnoreCreateTable, IEntityInAssemblyDb
{
#region IEntity Ignore
[Ignore]
[PrimaryKey]
[IgnoreUpdate]
[Alias("UUID")]
public new Guid Kvid { get; set; }
[Ignore]
[Alias("CREATEDATE")]
public new DateTime CreateTime { get; set; }
/// <summary>
///// 结果通知日期
/// </summary>
//[Ignore]
[Ignore]
[Alias("NOTICE_TIME")]
public new DateTime UpdateTime { get; set; }
//[Ignore]
[Ignore]
/// <summary>
///// 任务状态(1.未下达 2.已下达 3.已领取 4.已完成 0.已撤回 5.已上传)
/// </summary>
......
......@@ -134,7 +134,8 @@ namespace Kivii.Third.Scjgj.Entities
/// </summary>
[StringLength(20)]
public string TASK_SOURCE { get; set; }
[Ignore]
public TaskSource TaskSource { get; set; }
/// <summary>
/// 实施季度
/// </summary>
......@@ -322,7 +323,7 @@ namespace Kivii.Third.Scjgj.Entities
public new DateTime CreateTime { get; set; }
[Ignore]
public new DateTime UpdateTime { get; set; }
//[Ignore]
[Ignore]
/// 抽检任务状态 0:抽样人员待上传 1:抽样人员已上传 2:抽样信息上传照片未上传 3:抽样信息上传照片已上传 4:已提交(提交省公司) 5:提交审批 6:审批通过 7:驳回 8:无效 9:删除
[Alias("STATE")]
public new int Status { get; set; }
......@@ -346,6 +347,8 @@ namespace Kivii.Third.Scjgj.Entities
[StringLength(30)]
public string PLAN_CODE { get; set; }
[Ignore]
public Plan Plan { get; set; }
/// <summary>
/// 抽检批次号
/// </summary>
......@@ -972,8 +975,9 @@ namespace Kivii.Third.Scjgj.Entities
/// <summary>
/// 直播平台ID
/// </summary>
public int LIVE_ID { get; set; }
public int? LIVE_ID { get; set; }
[Ignore]
public Live Live { get; set; }
/// <summary>
/// 主播展示页面(直播抽样必填)
/// </summary>
......
......@@ -13,6 +13,50 @@ namespace Kivii.Third.Scjgj
{
internal static class Extensions
{
internal static Report ConvertTo(this PlanDetail item)
{
var rtns = new Report();
rtns.Metadata = new Dictionary<string, string>();
switch (item.CHECK_TYPE)
{
case "1":
rtns.ConvertGetSUB(item);
rtns.ConvertGetOther(item);
rtns.ConvertGetCary(item);
rtns.ConvertGetPro(item);
rtns.ConvertGetGoods(item);
rtns.ConvertGetRemarks(item);
break;
case "2":
rtns.ConvertGetSUB(item);
rtns.ConvertGetOther(item);
rtns.ConvertGetCary(item);
rtns.ConvertGetPro(item);
rtns.ConvertGetGoods(item);
rtns.ConvertGetRemarks(item);
break;
case "3":
rtns.ConvertGetSUB(item);
rtns.ConvertGetOther(item);
rtns.ConvertGetEc(item);
rtns.ConvertGetPro(item);
rtns.ConvertGetGoods(item);
rtns.ConvertGetSampling(item);
rtns.ConvertGetRemarks(item);
break;
case "4":
rtns.ConvertGetSUB(item);
rtns.ConvertGetOther(item);
rtns.ConvertGetCary(item);
rtns.ConvertGetPro(item);
rtns.ConvertGetGoods(item);
rtns.ConvertGetRemarks(item);
break;
default:
break;
}
return rtns;
}
internal static PlanDetail ConvertTo(this PlanDetail item, IDbConnection conn = null)
{
PlanDetail rtns = new PlanDetail();
......@@ -20,32 +64,235 @@ namespace Kivii.Third.Scjgj
if (conn == null)
{
connDispose = true;
var factory = Kivii.Linq.LinqUtils.GetLinqConnectionFactory("Data Source=218.94.159.228:8083/sjdb;User Id=sjqzsfzydbl;Password=admin;", "Oracle");
var factory = Kivii.Linq.LinqUtils.GetLinqConnectionFactory(Configs.ConnectionString, Configs.ConnectionProviderName);
conn = factory.OpenDbConnection();
}
switch (item.CHECK_STATE)
item.Plan = GetPlan(conn, item.PLAN_CODE);
item.Plan.TaskSource = GetTaskSource(conn, item.Plan.TASK_SOURCE);
if (item.Plan != null)
{
switch (item.Plan.CHECK_KIND_PRO)
{
case "1":
rtns = item.ConvertToNormal(conn);
item.Plan.CHECK_KIND_PRO = "省级监督抽查";
break;
case "2":
rtns = item.ConvertToReject(conn);
item.Plan.CHECK_KIND_PRO = "产品质量风险监测";
break;
case "3":
rtns = item.ConvertToUnable(conn);
item.Plan.CHECK_KIND_PRO = "省级联动监督抽查";
break;
case "4":
rtns = item.ConvertToFinished(conn);
item.Plan.CHECK_KIND_PRO = "省级专项监督抽查";
break;
case "5":
rtns = item.ConvertToMarket(conn);
item.Plan.CHECK_KIND_PRO = "国家联动监督抽查";
break;
case "6":
rtns = item.ConvertToOther(conn);
item.Plan.CHECK_KIND_PRO = "省级监督抽查(产品质量风险监测)";
break;
case "7":
item.Plan.CHECK_KIND_PRO = "联动监督抽查和其他";
break;
case "08":
item.Plan.CHECK_KIND_PRO = "01:定期监督抽查";
break;
case "09":
item.Plan.CHECK_KIND_PRO = "02:省级专项监督抽查";
break;
case "10":
item.Plan.CHECK_KIND_PRO = "03:省级联动监督抽查";
break;
case "11":
item.Plan.CHECK_KIND_PRO = "04:省级产品质量风险监测";
break;
case "12":
item.Plan.CHECK_KIND_PRO = "10:市级监督抽查";
break;
case "13":
item.Plan.CHECK_KIND_PRO = "11:市级专项监督抽查";
break;
case "14":
item.Plan.CHECK_KIND_PRO = "12:市级联动监督抽查";
break;
case "15":
item.Plan.CHECK_KIND_PRO = "13:市级产品质量风险监测";
break;
default:
break;
}
switch (item.Plan.CHECK_KIND_ECO)
{
case "1":
item.Plan.CHECK_KIND_ECO = "省级监督抽查";
break;
case "2":
item.Plan.CHECK_KIND_ECO = "产品质量风险监测";
break;
case "3":
item.Plan.CHECK_KIND_ECO = "省级联动监督抽查";
break;
case "4":
item.Plan.CHECK_KIND_ECO = "省级专项监督抽查";
break;
case "5":
item.Plan.CHECK_KIND_ECO = "国家联动监督抽查";
break;
case "6":
item.Plan.CHECK_KIND_ECO = "省级监督抽查(产品质量风险监测)";
break;
case "7":
item.Plan.CHECK_KIND_ECO = "联动监督抽查和其他";
break;
case "08":
item.Plan.CHECK_KIND_ECO = "01:定期监督抽查";
break;
case "09":
item.Plan.CHECK_KIND_ECO = "02:省级专项监督抽查";
break;
case "10":
item.Plan.CHECK_KIND_ECO = "03:省级联动监督抽查";
break;
default:
break;
}
switch (item.Plan.CHECK_KIND_STORE)
{
case "1":
item.Plan.CHECK_KIND_STORE = "省级监督抽查";
break;
case "2":
item.Plan.CHECK_KIND_STORE = "产品质量风险监测";
break;
case "3":
item.Plan.CHECK_KIND_STORE = "省级联动监督抽查";
break;
case "4":
item.Plan.CHECK_KIND_STORE = "省级专项监督抽查";
break;
case "5":
item.Plan.CHECK_KIND_STORE = "国家联动监督抽查";
break;
case "6":
item.Plan.CHECK_KIND_STORE = "省级监督抽查(产品质量风险监测)";
break;
case "7":
item.Plan.CHECK_KIND_STORE = "联动监督抽查和其他";
break;
case null:
case "08":
item.Plan.CHECK_KIND_STORE = "01:定期监督抽查";
break;
case "09":
item.Plan.CHECK_KIND_STORE = "02:省级专项监督抽查";
break;
case "10":
item.Plan.CHECK_KIND_STORE = "03:省级联动监督抽查";
break;
default:
break;
}
switch (item.Plan.TYPE)
{
case "1 ":
item.Plan.TYPE = "抽查并检验";
break;
case "2 ":
item.Plan.TYPE = "抽查";
break;
case "3 ":
item.Plan.TYPE = "检验";
break;
default: break;
}
switch (item.Plan.PLAN_INFO_SYN_TYPE)
{
case "01":
item.Plan.PLAN_INFO_SYN_TYPE = "工业品";
break;
case "02":
item.Plan.PLAN_INFO_SYN_TYPE = "消费品";
break;
default: break;
}
}
switch (item.GOODS_SALE_MODE)
{
case "1":
item.GOODS_SALE_MODE = "实体店";
break;
case "2":
item.GOODS_SALE_MODE = "电商平台";
break;
case "3":
item.GOODS_SALE_MODE = "其他";
break;
default: break;
}
switch (item.GOODS_CHECK_LEVEL)
{
case "1":
item.GOODS_CHECK_LEVEL = "工业产品生产许可证";
break;
case "3":
item.GOODS_CHECK_LEVEL = "CCC";
break;
case "4":
item.GOODS_CHECK_LEVEL = "其他";
break;
case "5":
item.GOODS_CHECK_LEVEL = "强制性产品认证";
break;
case "6":
item.GOODS_CHECK_LEVEL = "特种设备制造许可";
break;
default: break;
}
if (item.ProduceUnit != null)
{
switch (item.ProduceUnit.ECO_INSIDE)
{
case "1":
item.ProduceUnit.ECO_INSIDE = "国有";
break;
case "2":
item.ProduceUnit.ECO_INSIDE = "集体";
break;
case "3":
item.ProduceUnit.ECO_INSIDE = "股份合作";
break;
case "4":
item.ProduceUnit.ECO_INSIDE = "联营";
break;
case "5":
item.ProduceUnit.ECO_INSIDE = "有限责任公司";
break;
case "6":
item.ProduceUnit.ECO_INSIDE = "股份有限公司";
break;
case "7":
item.ProduceUnit.ECO_INSIDE = "私营";
break;
case "8":
item.ProduceUnit.ECO_INSIDE = "其他企业";
break;
default: break;
}
}
switch (item.CHECK_TYPE)
{
case "1":
rtns = item.ConvertToNormal(conn);
break;
case "2":
rtns = item.ConvertToMarket(conn);
break;
case "3":
rtns = item.ConvertToCommerce(conn);
break;
case "4":
rtns = item.ConvertToOther(conn);
break;
default:
break;
}
......@@ -54,7 +301,7 @@ namespace Kivii.Third.Scjgj
return rtns;
}
/// <summary>
/// 正常抽样
/// 现场抽样
/// </summary>
/// <param name="item"></param>
/// <param name="conn"></param>
......@@ -78,37 +325,7 @@ namespace Kivii.Third.Scjgj
return item;
}
/// <summary>
/// 拒绝采样
/// </summary>
/// <param name="item"></param>
/// <param name="conn"></param>
/// <returns></returns>
internal static PlanDetail ConvertToReject(this PlanDetail item, IDbConnection conn)
{
return item;
}
/// <summary>
/// 无法抽样
/// </summary>
/// <param name="item"></param>
/// <param name="conn"></param>
/// <returns></returns>
internal static PlanDetail ConvertToUnable(this PlanDetail item, IDbConnection conn)
{
return item;
}
/// <summary>
/// 成品油抽样
/// </summary>
/// <param name="item"></param>
/// <param name="conn"></param>
/// <returns></returns>
internal static PlanDetail ConvertToFinished(this PlanDetail item, IDbConnection conn)
{
return item;
}
/// <summary>
/// 市场抽样
/// 市场买样
/// </summary>
/// <param name="item"></param>
/// <param name="conn"></param>
......@@ -132,12 +349,12 @@ namespace Kivii.Third.Scjgj
return item;
}
/// <summary>
/// 其他抽
/// 电商买
/// </summary>
/// <param name="item"></param>
/// <param name="conn"></param>
/// <returns></returns>
internal static PlanDetail ConvertToOther(this PlanDetail item, IDbConnection conn)
internal static PlanDetail ConvertToCommerce(this PlanDetail item, IDbConnection conn)
{
if (item.CARY_ID != null)
{
......@@ -149,19 +366,25 @@ namespace Kivii.Third.Scjgj
item.ExecUint = GetExecUintById(conn, item.EXEC_ID);
}
if (item.OTHER_ID != null)
if (item.EC_ID != null)
{
item.Other = GetOtherById(conn, item.OTHER_ID);
item.EcPlatform = GetEcPlatformById(conn, item.EC_ID);
}
if (item.PRO_ID != null)
{
item.ProduceUnit = GetProduceUnitById(conn, item.PRO_ID);
}
return item;
}
/// <summary>
/// 电商买
/// 其他抽
/// </summary>
/// <param name="item"></param>
/// <param name="conn"></param>
/// <returns></returns>
internal static PlanDetail ConvertToCommerce(this PlanDetail item, IDbConnection conn)
internal static PlanDetail ConvertToOther(this PlanDetail item, IDbConnection conn)
{
if (item.CARY_ID != null)
{
......@@ -173,19 +396,32 @@ namespace Kivii.Third.Scjgj
item.ExecUint = GetExecUintById(conn, item.EXEC_ID);
}
if (item.EC_ID != null)
if (item.OTHER_ID != null)
{
item.EcPlatform = GetEcPlatformById(conn, item.EC_ID);
item.Other = GetOtherById(conn, item.OTHER_ID);
}
if (item.PRO_ID != null)
{
item.ProduceUnit = GetProduceUnitById(conn, item.PRO_ID);
}
return item;
}
/// <summary>
/// 任务表
/// </summary>
/// <param name="conn"></param>
/// <param name="planCode"></param>
/// <returns></returns>
internal static Plan GetPlan(IDbConnection conn, string plancode)
{
var query = conn.From<Plan>();
query.Where(o => o.PLAN_CODE == plancode);
return conn.Single(query);
}
/// <summary>
/// 受检单位信息
/// </summary>
/// <param name="conn"></param>
......@@ -255,5 +491,236 @@ namespace Kivii.Third.Scjgj
query.Where(o => o.ID == otherId);
return conn.Single(query);
}
/// <summary>
/// 直播平台信息
/// </summary>
/// <param name="conn"></param>
/// <param name="liveId"></param>
/// <returns></returns>
internal static Live GetLiveById(IDbConnection conn, int? liveId)
{
if (liveId == null) return null;
var query = conn.From<Live>();
query.Where(o => o.LIVE_ID == liveId);
return conn.Single(query);
}
/// <summary>
/// 任务来源对照表
/// </summary>
/// <param name="conn"></param>
/// <param name="TaskSource"></param>
/// <returns></returns>
internal static TaskSource GetTaskSource(IDbConnection conn, string TaskSource)
{
var query = conn.From<TaskSource>();
query.Where(o => o.TASK_SOURCE == TaskSource);
return conn.Single(query);
}
/// <summary>
/// 报告编号等信息
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
internal static Report ConvertGetSUB(this Report rtns, PlanDetail item)
{
if(rtns.Metadata.IsNullOrEmpty())rtns.Metadata = new Dictionary<string, string>();
rtns.Metadata["SamplingOrderID"] = $"{item.PLAN_CODE}{item.LOT_NUM}"; // 抽样单号
rtns.TypeName = item.Plan.CHECK_KIND_PRO; // 检验类型
rtns.Type = item.Plan.QT_CPDL_NAME; // 检验分类
rtns.SampleSourceBatchNumber = item.PLAN_CODE; // 计划编号
rtns.Metadata["TaskSource"] = item.Plan.TaskSource.PM_CITY; // 任务来源
rtns.SupplierName = item.Plan.CCJG_NAME; // 检验单位
rtns.Metadata["SamplingOrgName"] = item.ExecUint.EXEC_NAME; // 抽样单位
rtns.DemanderName = item.Plan.TaskSource.PM_CITY; // 委托单位
//rtns.DemanderContactAddress = // 通讯地址
//rtns.Category = // 编码
return rtns;
}
/// <summary>
/// 受检单位
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
internal static Report ConvertGetOther(this Report rtns, PlanDetail item)
{
if (rtns.Metadata.IsNullOrEmpty()) rtns.Metadata = new Dictionary<string, string>();
rtns.Metadata["InspectedUnitName"] = item.Other.OTHER_NAME; // 受检单位
rtns.Metadata["InspectedUnitContactName"] = item.Other.OTHER_LINKMAN; // 联系人
rtns.Metadata["InspectedUnitContactOfficeNumber"] = item.Other.OTHER_TEL; // 联系电话
//rtns.Metadata["InspectedUnitZipCode"] = // 邮编
rtns.Metadata["InspectedUnitAddress"] = item.Other.OTHER_ADDR; // 通讯地址
rtns.Metadata["InspectedUnitLegalPerson"] = item.Other.OTHER_PRESENT; // 法人代表
rtns.Metadata["InspectedUnitLicense"] = item.Other.OTHER_UNIFIED_SOCIAL_CREDIT; // 营业执照
return rtns;
}
/// <summary>
/// 销售单位信息 (现场抽样)
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
internal static Report ConvertGetCary(this Report rtns, PlanDetail item)
{
if (rtns.Metadata.IsNullOrEmpty()) rtns.Metadata = new Dictionary<string, string>();
rtns.Metadata["SalesUnitName"] = item.Cary.CARY_NAME; // 销售单位
rtns.Metadata["SalesUnitContactName"] = item.Cary.CARY_LINKMAN; // 联系人
rtns.Metadata["SalesUnitContactOfficeNumber"] = item.Cary.CARY_TEL; // 联系电话
//rtns.Metadata["SalesUnitZipCode"] = // 邮编
rtns.Metadata["SalesUnitAddress"] = item.Cary.CARY_ADDR; // 通讯地址
rtns.Metadata["SalesUnitLegalPerson"] = item.Cary.CARY_PRESENT; // 法人代表
rtns.Metadata["SalesUnitLicense"] = item.Cary.UNIFIED_SOCIAL_CREDIT_CODE; // 营业执照
//rtns.Metadata["SalesUnitSoure"] = // 样品来源
//rtns.Metadata["SalesUnitLocationCode"] = // 所属地代码
rtns.Metadata["SalesUnitLocation"] = item.Cary.CARY_OWNERSHIP; // 所属地
return rtns;
}
/// <summary>
/// 销售单位信息 (电商买样)
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
internal static Report ConvertGetEc(this Report rtns, PlanDetail item)
{
if (rtns.Metadata.IsNullOrEmpty()) rtns.Metadata = new Dictionary<string, string>();
rtns.Metadata["SalesUnitName"] = item.EcPlatform.ONLINE_STORE_NAME; // 销售单位
//rtns.Metadata["SalesUnitContactName"] = // 联系人
//rtns.Metadata["SalesUnitContactOfficeNumber"] = // 联系电话
rtns.Metadata["SalesUnitAddress"] = item.EcPlatform.ONLINE_STORE_ADDR; // 通讯地址
//rtns.Metadata["SalesUnitLegalPerson"] = // 法人代表
rtns.Metadata["SalesUnitLicense"] = item.EcPlatform.ONLINE_STORE_POLL_CODE; // 营业执照
//rtns.Metadata["SalesUnitSoure"] = // 样品来源
//rtns.Metadata["SalesUnitLocationCode"] = // 所属地代码
rtns.Metadata["SalesUnitLocation"] = item.EcPlatform.ONLINE_OWNERSHIP; // 所属地
return rtns;
}
/// <summary>
/// 生产单位
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
internal static Report ConvertGetPro(this Report rtns, PlanDetail item)
{
if (rtns.Metadata.IsNullOrEmpty()) rtns.Metadata = new Dictionary<string, string>();
rtns.SampleManufacturerName = item.ProduceUnit.PRO_NAME; // 生产单位
rtns.SampleManufacturerContactName = item.ProduceUnit.PRO_LINKMAN; // 联系人
rtns.SampleManufacturerContactNumber = item.ProduceUnit.PRO_PHONE; // 手机号码
rtns.Metadata["SampleManufacturerContactOfficePhone"] = item.ProduceUnit.PRO_TEL; // 固定电话
rtns.SampleManufacturerAddress = item.ProduceUnit.PRO_ADDR; // 通讯地址
rtns.Metadata["SampleManufacturerLegalPerson"] = item.ProduceUnit.PRO_PRESENT; // 法人代表
rtns.Metadata["SampleManufacturerLicense"] = item.ProduceUnit.PRO_BUS_LICENCE; // 营业执照
rtns.Metadata["SampleManufacturerPostcode"] = item.ProduceUnit.PRO_ZIP_CODE; // 邮编
rtns.Metadata["SampleManufacturerEconomicType"] = item.ProduceUnit.ECO_INSIDE; // 经济类型
rtns.Metadata["SampleManufacturerScale"] = item.ProduceUnit.PRO_SACLE_TYPE; // 企业规模
rtns.Metadata["SampleManufacturerLocation"] = item.ProduceUnit.PRO_OWNERSHIP; // 地区
//rtns.Metadata["SampleManufacturerLocationCode"] = // 地区代码
//rtns.Metadata["EntrustedEnterprise"] = // 委托企业
//rtns.Metadata["SampleManufacturerEconomicTypeCode"] = // 代码
rtns.Metadata["SampleManufacturerScaleCode"] = item.ProduceUnit.PRO_SACLE_TYPE; // 规模代码
//rtns.Metadata["SampleManufacturerIsCertified"] = // 认证情况
//rtns.Metadata["SampleManufacturerCertificateCode"] = // 证书编码
//rtns.Metadata["ReturnMethod"] = // 退样方式
rtns.Metadata["SalesRegion"] = item.GOODS_SALE_AREA; // 销售地区
rtns.Metadata["SalesMethod"] = item.GOODS_SALE_MODE; // 销售方式
rtns.Metadata["PreSales"] = item.LAST_YEAR_SALE; // 上年销售额
rtns.Metadata["Protection"] = item.GOODS_PROTECTION_REQ; // 防护保存
rtns.Metadata["IsExport"] = item.GOODS_EXPORT; // 是否出口
rtns.Metadata["IsReturn"] = item.GOODS_NEEDS_RETREAT; // 是否退样
rtns.Metadata["IsQualifiedAndPending"] = item.GOODS_CAN_SALE; // 合格待销
rtns.Metadata["IsCommissionProcess"] = item.GOODS_MAN_CONSIGNMENT; // 委托加工
return rtns;
}
/// <summary>
/// 产品分类信息
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
internal static Report ConvertGetGoods(this Report rtns, PlanDetail item)
{
if (rtns.Metadata.IsNullOrEmpty()) rtns.Metadata = new Dictionary<string, string>();
//rtns.Metadata["SampleCategory"] = // 产品分类
//rtns.Metadata["SampleType"] = // 产品种类
//rtns.SampleSerialNumber = // 产品代码
rtns.Metadata["RegularCategory"] = item.GOODS_CHECK_LEVEL; // 监管类别
//rtns.Metadata["RCCode"] = // 类别代码
rtns.SampleName = item.GOODS_NAME; // 产品名称
rtns.SampleModel = item.GOODS_SCALE; // 规格型号
rtns.SampleBatchNumber = item.GOODS_PRO_LOT; // 批号/货号/款号
//rtns.SampleGrade = item.GOODS_LEVEL; // 产品等级
//rtns.SampleGradeSafety = item.GOODS_LEVEL; // 安全类别
rtns.SampleBrand = item.GOODS_BRAND; // 商标
rtns.Metadata["ProductDate"] = item.GOODS_PRO_TIME; // 生产日期
//rtns.Metadata["SamplingWay"] = // 抽样方式
rtns.SampleQuantityUnit = item.GOODS_CHECK_NUM; // 抽样数量
rtns.Metadata["SamplePreNumber"] = item.GOODS_COPY_NUM; // 备样量
rtns.Metadata["PackagePlace"] = item.GOODS_COPY_LOCAL; // 封存地点
rtns.Metadata["SamplingDate"] = item.GOODS_CHECK_TIME; // 抽样日期
//rtns.Metadata["SamplingMember"] = // 抽样人员
rtns.Metadata["SamplingBase"] = item.GOODS_BASE_NUM; // 抽样基数
rtns.Metadata["SamplingSize"] = item.GOODS_CHECK_LOT; // 抽样批量
rtns.Metadata["SamplingLocation"] = item.GOODS_CHECK_LOCAL; // 抽样地点
//rtns.Metadata["SampleEffectiveDate"] = // 到样日期
//rtns.Metadata["CheckMemberName"] = // 检查封样人员
//rtns.Metadata["SampleCondition"] = // 样品状态
rtns.Metadata["PackageStatus"] = item.GOODS_SEAL_STATE; // 封样状态
//rtns.Metadata["ProductAcceptStatus"] = // 样品接收状态
//rtns.Metadata["PurchaseAmount"] = item.PRO_JH_KC; // 进货量
//rtns.Metadata["InventoryAmount"] = item.PRO_JH_KC; // 存货量
//rtns.Metadata["SalesAmount"] = // 销售量
rtns.Metadata["SalesPrice"] = item.GOODS_UNIT_PRICE; // 销售价
//rtns.Metadata["TechParameter"] = // 工艺参数
return rtns;
}
/// <summary>
/// 采样信息
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
internal static Report ConvertGetSampling(this Report rtns, PlanDetail item)
{
if (rtns.Metadata.IsNullOrEmpty()) rtns.Metadata = new Dictionary<string, string>();
//rtns.Metadata["InvoiceNo"] = // 发票号
//rtns.Metadata["BillingCompany"] = // 开票单位
//rtns.Metadata["ShopLicense"] = // 直播 ID 号
//rtns.Metadata["MarketingName"] = // 直播昵称
rtns.Metadata["SamplingPlatform"] = item.EcPlatform.EC_PLATFORM_NAME; // 所属平台
//rtns.Metadata["PlatformAddress"] = // 平台地址
rtns.Metadata["PlatformLocation"] = item.EcPlatform.EC_PLATFORM_OWNERSHIP; // 平台所属地
//rtns.Metadata["PlatformLocationCode"] = // 平台地区代码
//rtns.Metadata["OtherContact"] = // 联系方式
rtns.Metadata["SamplingLink"] = item.LINKS_WEB_SITES; // 链接地址
rtns.Metadata["EcommerceLocation"] = item.EcPlatform.ONLINE_OWNERSHIP; // 店铺所属地
//rtns.Metadata["EcommerceLocationCode"] = // 店铺地区代码
//rtns.Metadata["GoodsBarcodeId"] = // 商品条码
//rtns.Metadata["VideoNumber"] = // 抽样视频单号
//rtns.Metadata["EmployedNumber"] = // 从业人员数
//rtns.Metadata["OperatingRevenue"] = // 营业收入
return rtns;
}
/// <summary>
/// 检验、受理人、备注信息
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
internal static Report ConvertGetRemarks(this Report rtns, PlanDetail item)
{
if (rtns.Metadata.IsNullOrEmpty()) rtns.Metadata = new Dictionary<string, string>();
rtns.TestStandards = item.GOODS_STANDARD; // 检验/判定依据
//rtns.Metadata["JudgeOverView"] = // 判定依据 (国抽)
//rtns.TestDetections = // 检验项目
//rtns.OperatorName = // 受理人
//rtns.AmountTestPlan = // 检验费
//rtns.AmountTest = // 折后费
//rtns.Quantity = // 报告份数
//rtns.TemplateName = // 报告格式
//rtns.Metadata["TestDate"] = // 检验日期
//rtns.DeadDate = // 报告日期
//rtns.Metadata["ResultIsPost"] = // 结果通知书是否寄存
//rtns.Metadata["TestResultIsConfirm"] = // 检验结果是否确认
rtns.Remark = item.REMARKS; // 首页备注
//rtns.Metadata["RemarkEx"] = // 附页备注
return rtns;
}
}
}
......@@ -124,6 +124,7 @@ namespace Kivii.Third.Scjgj
}
}
[RequiresAnyRole(MemberRoles.Everyone)]
public class PlanDetailConvert : RestfulExecution<PlanDetail>
{
public string BatchNumber { get; set; }//计划编号PLAN_CODE
......@@ -144,6 +145,7 @@ namespace Kivii.Third.Scjgj
var query = conn.From<PlanDetail>();
query.Where(o => o.PLAN_CODE == BatchNumber && o.LOT_NUM == PlanNumber);
var planDetail = conn.Single(query);
if (planDetail == null) throw new Exception("未找到此任务单");
var result = planDetail.ConvertTo(conn);
rtns.Results.Add(result);
}
......@@ -156,4 +158,18 @@ namespace Kivii.Third.Scjgj
return rtns;
}
}
//[RequiresAnyRole(MemberRoles.Everyone)]
public class PlanDetailConvertToReport : RestfulExecution<PlanDetail>
{
public PlanDetail Item { get; set; }
public override object OnExecution(IRequest req, IResponse res)
{
var rtns = new RestfulReadResponse<Report>();
rtns.Result = Item.ConvertTo();
return rtns;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment