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
{
///
/// 热后出库流转卡打印
///
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(printJson);
//金相结果(注意:要放到base.Replace(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(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;
}
///
/// 清空值
///
///
///
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;
}
}
}