333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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;
        }
    }
}