137 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			137 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
								 | 
							
								using APT.BaseData.Domain.Enums;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.Msg;
							 | 
						|||
| 
								 | 
							
								using APT.Infrastructure.Core;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.ApiModel;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.Entities.FM;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.Enums;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.IServices.FM;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Text;
							 | 
						|||
| 
								 | 
							
								using APT.Infrastructure.Api;
							 | 
						|||
| 
								 | 
							
								namespace APT.BaseData.Services.Services.FM
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    public class FMAutoPrintRecordService: CommonService, IFMAutoPrintRecordService
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										public FMAutoPrintRecordService(IRepository repository)
							 | 
						|||
| 
								 | 
							
											: base(repository)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										/// <summary>添加打印参数</summary>
							 | 
						|||
| 
								 | 
							
										/// <param name="printRecord"></param>
							 | 
						|||
| 
								 | 
							
										/// <param name="paramName"></param>
							 | 
						|||
| 
								 | 
							
										/// <param name="paramValue"></param>
							 | 
						|||
| 
								 | 
							
										/// <param name="addPrintRecordDetails"></param>
							 | 
						|||
| 
								 | 
							
										/// <returns></returns>
							 | 
						|||
| 
								 | 
							
										private T_FM_AUTO_PRINT_RECORD_DETAIL AddPrintParam(T_FM_AUTO_PRINT_RECORD printRecord, string paramName, string paramValue, List<T_FM_AUTO_PRINT_RECORD_DETAIL> addPrintRecordDetails)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											T_FM_AUTO_PRINT_RECORD_DETAIL printDetail = new T_FM_AUTO_PRINT_RECORD_DETAIL();
							 | 
						|||
| 
								 | 
							
											printDetail.ORG_ID = printRecord.ORG_ID;
							 | 
						|||
| 
								 | 
							
											printDetail.AUTO_PRINT_RECORD_ID = printRecord.ID;
							 | 
						|||
| 
								 | 
							
											printDetail.PARAM_NAME = paramName;
							 | 
						|||
| 
								 | 
							
											printDetail.PARAM_VALUE = paramValue;
							 | 
						|||
| 
								 | 
							
											addPrintRecordDetails.Add(printDetail);
							 | 
						|||
| 
								 | 
							
											return printDetail;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										/// <summary>
							 | 
						|||
| 
								 | 
							
										/// 添加打印记录
							 | 
						|||
| 
								 | 
							
										/// </summary>
							 | 
						|||
| 
								 | 
							
										/// <param name="param"></param>
							 | 
						|||
| 
								 | 
							
										/// <param name="addPrintRecords"></param>
							 | 
						|||
| 
								 | 
							
										/// <returns></returns>
							 | 
						|||
| 
								 | 
							
										private T_FM_AUTO_PRINT_RECORD AddPrintRecord(AutoPrintParamModel param, List<T_FM_AUTO_PRINT_RECORD> addPrintRecords)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											T_FM_AUTO_PRINT_RECORD record = new T_FM_AUTO_PRINT_RECORD();
							 | 
						|||
| 
								 | 
							
											record.PRINTER_COMPUTER_NAME = param.PrinterComputerName;
							 | 
						|||
| 
								 | 
							
											record.PRINTER_NAME = param.PrinterName;
							 | 
						|||
| 
								 | 
							
											record.PRINT_NUMBER = param.PrintNumber;
							 | 
						|||
| 
								 | 
							
											record.PRINT_TIME = param.PrintTime;
							 | 
						|||
| 
								 | 
							
											record.SOURCE_ID = param.SourceId;
							 | 
						|||
| 
								 | 
							
											record.SOURCE_TYPE = param.SourceType;
							 | 
						|||
| 
								 | 
							
											record.TEMPLET_FILE_NAME = param.TempletFileName;
							 | 
						|||
| 
								 | 
							
											record.REMARK = param.Remark;
							 | 
						|||
| 
								 | 
							
											record.ORG_ID = param.OrgId;
							 | 
						|||
| 
								 | 
							
											addPrintRecords.Add(record);
							 | 
						|||
| 
								 | 
							
											return record;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										/// <summary>
							 | 
						|||
| 
								 | 
							
										/// 打印箱码(保存数据)
							 | 
						|||
| 
								 | 
							
										/// </summary>
							 | 
						|||
| 
								 | 
							
										/// <param name="id">箱码ID</param>
							 | 
						|||
| 
								 | 
							
										/// <param name="printerId">打印机ID</param>
							 | 
						|||
| 
								 | 
							
										public void PrintBox(string id, string printerId)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											if (string.IsNullOrEmpty(id))
							 | 
						|||
| 
								 | 
							
												throw new Exception(ErrMsg.WH_NOEXIT_BOX_ID);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											AutoPrintParamModel param = new AutoPrintParamModel();
							 | 
						|||
| 
								 | 
							
											if (!string.IsNullOrEmpty(printerId))
							 | 
						|||
| 
								 | 
							
											{
							 | 
						|||
| 
								 | 
							
												var printer = this.GetEntity<T_FM_PRINTER>(printerId);
							 | 
						|||
| 
								 | 
							
												if (printer != null)
							 | 
						|||
| 
								 | 
							
												{
							 | 
						|||
| 
								 | 
							
													param.PrinterComputerName = printer.PRINTER_COMPUTER_NAME;
							 | 
						|||
| 
								 | 
							
													param.PrinterName = printer.PRINTER_NAME; 
							 | 
						|||
| 
								 | 
							
													param.TempletFileName = printer.TEMPLET_FILE_NAME;
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											param.SourceId = new Guid(id);
							 | 
						|||
| 
								 | 
							
											//param.SourceType = (int)PFCodeRuleType.箱码;
							 | 
						|||
| 
								 | 
							
											if (string.IsNullOrEmpty(param.TempletFileName))
							 | 
						|||
| 
								 | 
							
												param.TempletFileName = "box.btw";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											PrintBox(param);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										/// <summary>
							 | 
						|||
| 
								 | 
							
										/// 打印箱码(保存数据)
							 | 
						|||
| 
								 | 
							
										/// </summary>
							 | 
						|||
| 
								 | 
							
										/// <param name="param">打印参数</param>
							 | 
						|||
| 
								 | 
							
										public void PrintBox(AutoPrintParamModel param)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											List<T_FM_AUTO_PRINT_RECORD> addPrintRecords = new List<T_FM_AUTO_PRINT_RECORD>();
							 | 
						|||
| 
								 | 
							
											List<T_FM_AUTO_PRINT_RECORD_DETAIL> addPrintRecordDetails = new List<T_FM_AUTO_PRINT_RECORD_DETAIL>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											PrintBox(param, addPrintRecords, addPrintRecordDetails);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											if (addPrintRecords.Any())
							 | 
						|||
| 
								 | 
							
												this.BantchAddEntity(addPrintRecords);
							 | 
						|||
| 
								 | 
							
											if (addPrintRecordDetails.Any())
							 | 
						|||
| 
								 | 
							
												this.BantchAddEntity(addPrintRecordDetails);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										/// <summary>
							 | 
						|||
| 
								 | 
							
										/// 打印箱码(不保存数据)
							 | 
						|||
| 
								 | 
							
										/// </summary>
							 | 
						|||
| 
								 | 
							
										/// <param name="param">打印参数</param>
							 | 
						|||
| 
								 | 
							
										/// <param name="addPrintRecords">自动打印记录</param>
							 | 
						|||
| 
								 | 
							
										/// <param name="addPrintRecordDetails">自动打印记录明细</param>
							 | 
						|||
| 
								 | 
							
										public void PrintBox(AutoPrintParamModel param, List<T_FM_AUTO_PRINT_RECORD> addPrintRecords, List<T_FM_AUTO_PRINT_RECORD_DETAIL> addPrintRecordDetails)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											if (param.SourceId == null)
							 | 
						|||
| 
								 | 
							
												throw new Exception(ErrMsg.WH_NOEXIT_BOX_ID);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											T_FM_AUTO_PRINT_RECORD record = new T_FM_AUTO_PRINT_RECORD();
							 | 
						|||
| 
								 | 
							
											record.PRINTER_COMPUTER_NAME = param.PrinterComputerName;
							 | 
						|||
| 
								 | 
							
											record.PRINTER_NAME = param.PrinterName;
							 | 
						|||
| 
								 | 
							
											record.PRINT_NUMBER = param.PrintNumber;
							 | 
						|||
| 
								 | 
							
											record.PRINT_TIME = param.PrintTime;
							 | 
						|||
| 
								 | 
							
											record.SOURCE_ID = param.SourceId;
							 | 
						|||
| 
								 | 
							
											record.SOURCE_TYPE = param.SourceType;
							 | 
						|||
| 
								 | 
							
											record.TEMPLET_FILE_NAME = param.TempletFileName;
							 | 
						|||
| 
								 | 
							
											record.REMARK = param.Remark;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											addPrintRecords.Add(record);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |