using Newtonsoft.Json;
|
using NPOI.SS.UserModel;
|
using NPOI.XSSF.UserModel;
|
using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIP_common;
|
using WIP_Models;
|
|
namespace WIP_Print
|
{
|
/// <summary>
|
/// 热后出库流转卡打印
|
/// </summary>
|
public class ProcessCardPrint : PrintMgr
|
{
|
public ProcessCardPrint(PrintType printType)
|
: base(printType)
|
{
|
}
|
public override string GetJsonDataAsExcelCellModel(string printJson, string tempFileName)
|
{
|
var json_dataList = base.InitTempleteFileJsonData(tempFileName);
|
|
ProcessCardInfoPrintView card = JsonConvert.DeserializeObject<ProcessCardInfoPrintView>(printJson);
|
|
//金相结果(注意:要放到base.Replace<ProcessCardInfoPrintView>(card, json_dataList);代码之前,因为会替换qaStatus)
|
var qaStatus = BusinessCommon.GetQaStatusText(card.qaStatus);
|
json_dataList = json_dataList.Replace("[qaStatus]", EnumberHelper.GetEnumDescription((QAStatus)Enum.Parse(typeof(QAStatus),
|
card.qaStatus.ToString())));//金相结果
|
json_dataList = json_dataList.Replace("[tester]", WIPCommon.NullToEmpty(card.tester));//金相检测人
|
|
//新版本替换(反射)
|
json_dataList = base.Replace<ProcessCardInfoPrintView>(card, json_dataList);
|
json_dataList = json_dataList.Replace("[partNumber]", WIPCommon.NullToEmpty(card.materialCode));//注意:这里显示的partNumber其实是物料编码 [EditBy shaocx,2019-02-18]
|
|
|
|
|
//流转卡打印一维码
|
json_dataList = json_dataList.Replace(PrintStruct.BARCODE, WIPCommon.NullToEmpty(card.processCardNumber));//一维码
|
|
|
|
//替换生产工序
|
int start = 1;
|
if (card.poductProcessList != null && card.poductProcessList.Count > 0)
|
{
|
for (int i = 0; i < card.poductProcessList.Count; i++)
|
{
|
json_dataList = json_dataList.Replace("[procedureName" + (i + 1).ToString() + "]", card.poductProcessList[i].procedureName);
|
json_dataList = json_dataList.Replace("[procedureDesc" + (i + 1).ToString() + "]", card.poductProcessList[i].procedureDesc);
|
}
|
start = card.poductProcessList.Count + 1;
|
}
|
json_dataList = Clear(start, json_dataList);
|
return json_dataList;
|
}
|
|
/// <summary>
|
/// 清空值
|
/// </summary>
|
/// <param name="json_dataList"></param>
|
/// <returns></returns>
|
private string Clear(int start, string json_dataList)
|
{
|
for (int i = start; i <= 50; i++)
|
{
|
json_dataList = json_dataList.Replace("[procedureName" + i.ToString() + "]", "");
|
json_dataList = json_dataList.Replace("[procedureDesc" + i.ToString() + "]", "");
|
}
|
return json_dataList;
|
}
|
}
|
}
|