interface FormQuery {
  page: number;
  pageSize: number;
  year: number;
  keyword: string;
  commandTypeId: string;
}

interface FormCommand {
  commandYear: number;
  commandNo: string;
  commandTypeId?: string;
}

interface FormDataDetail {
  issue: string | null; //คำสั่งเรื่อง
  commandNo: string; //คำสั่งเลขที่
  commandYear: number | null; //พ.ศ.
  detailHeader: string; //เนื้อหาคำสั่งขึ้นต้น
  detailBody: string; //เนื้อหาคำสั่งหลัก
  detailFooter: string; //เนื้อหาคำสั่งลงท้าย
  commandAffectDate: Date | null; //วันที่ลงนาม
  commandExcecuteDate: Date | null; //วันที่คำสั่งมีผล
  isBangkok: string | null; //คำสั่งสำนักปลัดกรุงเทพมหานคร
}

interface FormCommandList {
  id: string;
  status: string;
  commandTypeName: string;
  commandNo: string;
  commandYear: Date | null;
  detailHeader: string;
  detailBody: string;
  detailFooter: string;
  issue: string | null;
  commandAffectDate: Date | null;
  commandExcecuteDate: Date | null;
  commandSysId: string;
  isAttachment: boolean;
}
interface ListCommandSalaryType {
  id: string;
  createdAt: Date | null;
  lastUpdatedAt: Date | null;
  createdFullName: string;
  lastUpdateFullName: string;
  name: string;
  commandSysId: string;
}

interface PersonInfo {
  id: string;
  citizenId: string;
  prefix: string;
  firstName: string;
  lastName: string;
  profileId: string;
  order: number;
  remarkVertical: string | null;
  remarkHorizontal: string | null;
  amount: number;
  positionSalaryAmount: number;
  mouthSalaryAmount: number;
}

export type {
  FormQuery,
  FormCommand,
  FormDataDetail,
  ListCommandSalaryType,
  PersonInfo,
  FormCommandList,
};
