using System;
using System.ComponentModel.DataAnnotations;
using Microsoft.VisualBasic;
namespace Win_in.Sfs.Scp.WebApi.Asns;
///
/// Function Group Header
/// 功能组头
///
public class GS
{
///
/// Code Identifying Information Type
/// Corresponding functional group.
/// FA - Functional Acknowledgements
/// PS - Planning Schedule with Release Capability
/// SH - Ship Notice / Manifest
/// SS - Shipping Schedule
/// 组功能代码
///
[StringLength(2, MinimumLength = 2)]
public string GS01 { get; } = "SS";
///
/// Sender ID Code
/// 发送者ID
///
[StringLength(2, MinimumLength = 15)]
public string GS02 { get; set; }
///
/// Receiver ID Code
/// 接收者ID
///
[StringLength(2, MinimumLength = 15)]
public string GS03 { get; set; }
///
/// Date
/// 日期
///
[StringLength(6, MinimumLength = 6)]
public string GS04 { get; set; }
///
/// Time
/// 时间
///
[StringLength(4, MinimumLength = 4)]
public string GS05 { get; set; }
///
/// Group Control Number
/// 组编号
///
[StringLength(1, MinimumLength = 9)]
public string GS06 { get; set; }
///
/// Transaction Type Code
/// X - ANSI X-12
/// 事务类型代码
///
[StringLength(1, MinimumLength = 2)]
public string GS07 { get; } = "X";
///
/// Version and Release
/// 版本号和发布号
/// 003060 – Version 3, Release 6
///
[StringLength(1, MinimumLength = 12)]
public string GS08 { get; } = "003060";
public GS(string senderId, string receiverId, DateTime datetime, string functionalGroupCode)
{
GS02 = senderId;
GS03 = receiverId;
GS04 = datetime.ToString(X12Const.DateFormat);
GS05 = datetime.ToString(X12Const.TimeFormat);
GS06 = functionalGroupCode;
}
public override string ToString()
{
return "GS"
+ X12Const.ElementSeparator + GS01
+ X12Const.ElementSeparator + GS02
+ X12Const.ElementSeparator + GS03
+ X12Const.ElementSeparator + GS04
+ X12Const.ElementSeparator + GS05
+ X12Const.ElementSeparator + GS06
+ X12Const.ElementSeparator + GS07
+ X12Const.ElementSeparator + GS08;
}
}