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) { } /// 添加打印参数 /// /// /// /// /// private T_FM_AUTO_PRINT_RECORD_DETAIL AddPrintParam(T_FM_AUTO_PRINT_RECORD printRecord, string paramName, string paramValue, List 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; } /// /// 添加打印记录 /// /// /// /// private T_FM_AUTO_PRINT_RECORD AddPrintRecord(AutoPrintParamModel param, List 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; } /// /// 打印箱码(保存数据) /// /// 箱码ID /// 打印机ID 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(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); } /// /// 打印箱码(保存数据) /// /// 打印参数 public void PrintBox(AutoPrintParamModel param) { List addPrintRecords = new List(); List addPrintRecordDetails = new List(); PrintBox(param, addPrintRecords, addPrintRecordDetails); if (addPrintRecords.Any()) this.BantchAddEntity(addPrintRecords); if (addPrintRecordDetails.Any()) this.BantchAddEntity(addPrintRecordDetails); } /// /// 打印箱码(不保存数据) /// /// 打印参数 /// 自动打印记录 /// 自动打印记录明细 public void PrintBox(AutoPrintParamModel param, List addPrintRecords, List 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); } } }