From 2c1d75c4e57092eea3c26b925ab76c9fd17de736 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期四, 10 七月 2025 10:03:22 +0800 Subject: [PATCH] Fix PCB API JSON serialization issue --- MES.Service/Dto/service/WholeboardGenerateDto.cs | 427 +++++++++++++++++----------------- MES.Service/Dto/service/SingleBoardGenerateDto.cs | 243 ++++++++++---------- 2 files changed, 332 insertions(+), 338 deletions(-) diff --git a/MES.Service/Dto/service/SingleBoardGenerateDto.cs b/MES.Service/Dto/service/SingleBoardGenerateDto.cs index 2d3494a..c84690b 100644 --- a/MES.Service/Dto/service/SingleBoardGenerateDto.cs +++ b/MES.Service/Dto/service/SingleBoardGenerateDto.cs @@ -1,150 +1,147 @@ -using System; -using System.Collections.Generic; -using System.Text.Json.Serialization; +using Newtonsoft.Json; -namespace MES.Service.Dto.service +namespace MES.Service.Dto.service; + +/// <summary> +/// 鎷兼澘(鍗曟澘)鐢熸垚鏁版嵁DTO +/// </summary> +public class SingleBoardGenerateDto { /// <summary> - /// 鎷兼澘(鍗曟澘)鐢熸垚鏁版嵁DTO + /// 璁惧鍚嶇О /// </summary> - public class SingleBoardGenerateDto - { - /// <summary> - /// 璁惧鍚嶇О - /// </summary> - [JsonPropertyName("device_name")] - public string DeviceName { get; set; } + [JsonProperty("device_name")] + public string? DeviceName { get; set; } - /// <summary> - /// 鏁存澘鏉$爜 - /// </summary> - [JsonPropertyName("pcb_sn")] - public string PcbSn { get; set; } + /// <summary> + /// 鏁存澘鏉$爜 + /// </summary> + [JsonProperty("pcb_sn")] + public string? PcbSn { get; set; } - /// <summary> - /// 杞ㄩ亾淇℃伅锛�1锛�1杞級锛�2锛�2杞級 - /// </summary> - [JsonPropertyName("pcb_track_line")] - public int PcbTrackLine { get; set; } + /// <summary> + /// 杞ㄩ亾淇℃伅锛�1锛�1杞級锛�2锛�2杞級 + /// </summary> + [JsonProperty("pcb_track_line")] + public int PcbTrackLine { get; set; } - /// <summary> - /// 鏉块潰锛圱锛岄《闈級锛圔锛屽簳闈級锛圱+B锛屾澘闈�+搴曢潰锛� - /// </summary> - [JsonPropertyName("pcb_board_side")] - public string PcbBoardSide { get; set; } + /// <summary> + /// 鏉块潰锛圱锛岄《闈級锛圔锛屽簳闈級锛圱+B锛屾澘闈�+搴曢潰锛� + /// </summary> + [JsonProperty("pcb_board_side")] + public string? PcbBoardSide { get; set; } - /// <summary> - /// 妫�娴嬫椂闂� - /// </summary> - [JsonPropertyName("pcb_test_time")] - public string PcbTestTime { get; set; } + /// <summary> + /// 妫�娴嬫椂闂� + /// </summary> + [JsonProperty("pcb_test_time")] + public string? PcbTestTime { get; set; } - /// <summary> - /// 妫�娴嬭�楁椂锛屽崟浣嶇 - /// </summary> - [JsonPropertyName("pcb_cycle_time")] - public float PcbCycleTime { get; set; } + /// <summary> + /// 妫�娴嬭�楁椂锛屽崟浣嶇 + /// </summary> + [JsonProperty("pcb_cycle_time")] + public float PcbCycleTime { get; set; } - /// <summary> - /// 绋嬪簭鍚�/鏉垮紡鍚� - /// </summary> - [JsonPropertyName("pcb_project_name")] - public string PcbProjectName { get; set; } + /// <summary> + /// 绋嬪簭鍚�/鏉垮紡鍚� + /// </summary> + [JsonProperty("pcb_project_name")] + public string? PcbProjectName { get; set; } - /// <summary> - /// 鏁存澘妫�娴嬬粨鏋� - /// </summary> - [JsonPropertyName("pcb_robot_result")] - public string PcbRobotResult { get; set; } + /// <summary> + /// 鏁存澘妫�娴嬬粨鏋� + /// </summary> + [JsonProperty("pcb_robot_result")] + public string? PcbRobotResult { get; set; } - /// <summary> - /// 鏁存澘澶嶅垽缁撴灉 - /// </summary> - [JsonPropertyName("pcb_user_result")] - public string PcbUserResult { get; set; } + /// <summary> + /// 鏁存澘澶嶅垽缁撴灉 + /// </summary> + [JsonProperty("pcb_user_result")] + public string? PcbUserResult { get; set; } - /// <summary> - /// 鏁存澘鏈�缁堢粨鏋� - /// </summary> - [JsonPropertyName("pcb_final_result")] - public string PcbFinalResult { get; set; } + /// <summary> + /// 鏁存澘鏈�缁堢粨鏋� + /// </summary> + [JsonProperty("pcb_final_result")] + public string? PcbFinalResult { get; set; } - /// <summary> - /// 缁翠慨绔欏鍒ょ敤鎴峰悕 - /// </summary> - [JsonPropertyName("pcb_repair_user")] - public string PcbRepairUser { get; set; } + /// <summary> + /// 缁翠慨绔欏鍒ょ敤鎴峰悕 + /// </summary> + [JsonProperty("pcb_repair_user")] + public string? PcbRepairUser { get; set; } - /// <summary> - /// 鎷兼澘鏁伴噺 - /// </summary> - [JsonPropertyName("pcb_board_number")] - public int PcbBoardNumber { get; set; } + /// <summary> + /// 鎷兼澘鏁伴噺 + /// </summary> + [JsonProperty("pcb_board_number")] + public int PcbBoardNumber { get; set; } - /// <summary> - /// 鍣ㄤ欢鎬绘暟閲� - /// </summary> - [JsonPropertyName("pcb_comp_number")] - public int PcbCompNumber { get; set; } + /// <summary> + /// 鍣ㄤ欢鎬绘暟閲� + /// </summary> + [JsonProperty("pcb_comp_number")] + public int PcbCompNumber { get; set; } - /// <summary> - /// 鎷兼澘鏉$爜 - /// </summary> - [JsonPropertyName("board_sn")] - public string BoardSn { get; set; } + /// <summary> + /// 鎷兼澘鏉$爜 + /// </summary> + [JsonProperty("board_sn")] + public string? BoardSn { get; set; } - /// <summary> - /// 鎷兼澘搴忓彿 - /// </summary> - [JsonPropertyName("board_no")] - public string BoardNo { get; set; } + /// <summary> + /// 鎷兼澘搴忓彿 + /// </summary> + [JsonProperty("board_no")] + public string? BoardNo { get; set; } - /// <summary> - /// 鎷兼澘妫�娴嬬粨鏋� - /// </summary> - [JsonPropertyName("board_robot_result")] - public string BoardRobotResult { get; set; } + /// <summary> + /// 鎷兼澘妫�娴嬬粨鏋� + /// </summary> + [JsonProperty("board_robot_result")] + public string? BoardRobotResult { get; set; } - /// <summary> - /// 鎷兼澘澶嶅垽缁撴灉 - /// </summary> - [JsonPropertyName("board_user_result")] - public string BoardUserResult { get; set; } + /// <summary> + /// 鎷兼澘澶嶅垽缁撴灉 + /// </summary> + [JsonProperty("board_user_result")] + public string? BoardUserResult { get; set; } - /// <summary> - /// 鎷兼澘鏈�缁堢粨鏋� - /// </summary> - [JsonPropertyName("board_final_result")] - public string BoardFinalResult { get; set; } + /// <summary> + /// 鎷兼澘鏈�缁堢粨鏋� + /// </summary> + [JsonProperty("board_final_result")] + public string? BoardFinalResult { get; set; } - /// <summary> - /// 鎷兼澘鍣ㄤ欢鏁伴噺 - /// </summary> - [JsonPropertyName("board_comp_number")] - public int BoardCompNumber { get; set; } + /// <summary> + /// 鎷兼澘鍣ㄤ欢鏁伴噺 + /// </summary> + [JsonProperty("board_comp_number")] + public int BoardCompNumber { get; set; } - /// <summary> - /// 鎷兼澘鍣ㄤ欢妫�娴婲G鎬绘暟 - /// </summary> - [JsonPropertyName("board_comp_robot_ng_number")] - public int BoardCompRobotNgNumber { get; set; } + /// <summary> + /// 鎷兼澘鍣ㄤ欢妫�娴婲G鎬绘暟 + /// </summary> + [JsonProperty("board_comp_robot_ng_number")] + public int BoardCompRobotNgNumber { get; set; } - /// <summary> - /// 鎷兼澘鍣ㄤ欢澶嶅垽NG鎬绘暟 - /// </summary> - [JsonPropertyName("board_comp_user_ng_number")] - public int BoardCompUserNgNumber { get; set; } + /// <summary> + /// 鎷兼澘鍣ㄤ欢澶嶅垽NG鎬绘暟 + /// </summary> + [JsonProperty("board_comp_user_ng_number")] + public int BoardCompUserNgNumber { get; set; } - /// <summary> - /// 鎷兼澘鍣ㄤ欢璇姤鎬绘暟 - /// </summary> - [JsonPropertyName("board_comp_repass_number")] - public int BoardCompRepassNumber { get; set; } + /// <summary> + /// 鎷兼澘鍣ㄤ欢璇姤鎬绘暟 + /// </summary> + [JsonProperty("board_comp_repass_number")] + public int BoardCompRepassNumber { get; set; } - /// <summary> - /// 鍣ㄤ欢鍒楄〃 - /// </summary> - [JsonPropertyName("comp_data")] - public List<ComponentDataDto> CompData { get; set; } - } + /// <summary> + /// 鍣ㄤ欢鍒楄〃 + /// </summary> + [JsonProperty("comp_data")] + public List<ComponentDataDto>? CompData { get; set; } } \ No newline at end of file diff --git a/MES.Service/Dto/service/WholeboardGenerateDto.cs b/MES.Service/Dto/service/WholeboardGenerateDto.cs index 66644dd..3dbca15 100644 --- a/MES.Service/Dto/service/WholeboardGenerateDto.cs +++ b/MES.Service/Dto/service/WholeboardGenerateDto.cs @@ -1,234 +1,231 @@ -using System; -using System.Collections.Generic; -using System.Text.Json.Serialization; +using Newtonsoft.Json; -namespace MES.Service.Dto.service +namespace MES.Service.Dto.service; + +/// <summary> +/// 鏁存澘鐢熸垚鏁版嵁DTO +/// </summary> +public class WholeboardGenerateDto { /// <summary> - /// 鏁存澘鐢熸垚鏁版嵁DTO + /// 璁惧鍚嶇О /// </summary> - public class WholeboardGenerateDto - { - /// <summary> - /// 璁惧鍚嶇О - /// </summary> - [JsonPropertyName("device_name")] - public string DeviceName { get; set; } - - /// <summary> - /// 鏁存澘鏉$爜 - /// </summary> - [JsonPropertyName("pcb_sn")] - public string PcbSn { get; set; } - - /// <summary> - /// 杞ㄩ亾淇℃伅锛�1锛�1杞級锛�2锛�2杞級 - /// </summary> - [JsonPropertyName("pcb_track_line")] - public int PcbTrackLine { get; set; } - - /// <summary> - /// 鏉块潰锛圱锛岄《闈級锛圔锛屽簳闈級锛圱+B锛屾澘闈�+搴曢潰锛� - /// </summary> - [JsonPropertyName("pcb_board_side")] - public string PcbBoardSide { get; set; } - - /// <summary> - /// 妫�娴嬫椂闂达紝鏍煎紡yyyy-mm-dd hh:mm:ss - /// </summary> - [JsonPropertyName("pcb_test_time")] - public string PcbTestTime { get; set; } - - /// <summary> - /// 妫�娴嬭�楁椂锛屽崟浣嶇 - /// </summary> - [JsonPropertyName("pcb_cycle_time")] - public float PcbCycleTime { get; set; } - - /// <summary> - /// 绋嬪簭鍚�/鏉垮紡鍚� - /// </summary> - [JsonPropertyName("pcb_project_name")] - public string PcbProjectName { get; set; } - - /// <summary> - /// 鏁存澘妫�娴嬬粨鏋� - /// </summary> - [JsonPropertyName("pcb_robot_result")] - public string PcbRobotResult { get; set; } - - /// <summary> - /// 鏁存澘澶嶅垽缁撴灉 - /// </summary> - [JsonPropertyName("pcb_user_result")] - public string PcbUserResult { get; set; } - - /// <summary> - /// 鏁存澘鏈�缁堢粨鏋� - /// </summary> - [JsonPropertyName("pcb_final_result")] - public string PcbFinalResult { get; set; } - - /// <summary> - /// 缁翠慨绔欏鍒ょ敤鎴峰悕 - /// </summary> - [JsonPropertyName("pcb_repair_user")] - public string PcbRepairUser { get; set; } - - /// <summary> - /// 鎷兼澘鏁伴噺 - /// </summary> - [JsonPropertyName("pcb_board_number")] - public int PcbBoardNumber { get; set; } - - /// <summary> - /// 鎷兼澘妫�娴婲G鏁伴噺 - /// </summary> - [JsonPropertyName("pcb_board_robot_ng_number")] - public int PcbBoardRobotNgNumber { get; set; } - - /// <summary> - /// 鎷兼澘澶嶅垽NG鏁伴噺 - /// </summary> - [JsonPropertyName("pcb_board_user_ng_number")] - public int PcbBoardUserNgNumber { get; set; } - - /// <summary> - /// 鎷兼澘璇姤鏁伴噺 - /// </summary> - [JsonPropertyName("pcb_board_repass_number")] - public int PcbBoardRepassNumber { get; set; } - - /// <summary> - /// 鍣ㄤ欢鎬绘暟閲� - /// </summary> - [JsonPropertyName("pcb_comp_number")] - public int PcbCompNumber { get; set; } - - /// <summary> - /// 鍣ㄤ欢妫�娴婲G鏁伴噺 - /// </summary> - [JsonPropertyName("pcb_comp_robot_ng_number")] - public int PcbCompRobotNgNumber { get; set; } - - /// <summary> - /// 鍣ㄤ欢澶嶅垽NG鏁伴噺 - /// </summary> - [JsonPropertyName("pcb_comp_user_ng_number")] - public int PcbCompUserNgNumber { get; set; } - - /// <summary> - /// 鍣ㄤ欢璇姤鏁伴噺 - /// </summary> - [JsonPropertyName("pcb_comp_repass_number")] - public int PcbCompRepassNumber { get; set; } - - /// <summary> - /// 鎷兼澘鍒楄〃 - /// </summary> - [JsonPropertyName("board_data")] - public List<BoardDataDto> BoardData { get; set; } - } + [JsonProperty("device_name")] + public string? DeviceName { get; set; } /// <summary> - /// 鎷兼澘鏁版嵁DTO + /// 鏁存澘鏉$爜 /// </summary> - public class BoardDataDto - { - /// <summary> - /// 鎷兼澘鏉$爜 - /// </summary> - [JsonPropertyName("board_sn")] - public string BoardSn { get; set; } - - /// <summary> - /// 鎷兼澘搴忓彿 - /// </summary> - [JsonPropertyName("board_no")] - public string BoardNo { get; set; } - - /// <summary> - /// 鎷兼澘妫�娴嬬粨鏋� - /// </summary> - [JsonPropertyName("board_robot_result")] - public string BoardRobotResult { get; set; } - - /// <summary> - /// 鎷兼澘澶嶅垽缁撴灉 - /// </summary> - [JsonPropertyName("board_user_result")] - public string BoardUserResult { get; set; } - - /// <summary> - /// 鎷兼澘鏈�缁堢粨鏋� - /// </summary> - [JsonPropertyName("board_final_result")] - public string BoardFinalResult { get; set; } - - /// <summary> - /// 鍣ㄤ欢鍒楄〃 - /// </summary> - [JsonPropertyName("comp_data")] - public List<ComponentDataDto> CompData { get; set; } - } + [JsonProperty("pcb_sn")] + public string? PcbSn { get; set; } /// <summary> - /// 鍣ㄤ欢鏁版嵁DTO + /// 杞ㄩ亾淇℃伅锛�1锛�1杞級锛�2锛�2杞級 /// </summary> - public class ComponentDataDto - { - /// <summary> - /// 鍣ㄤ欢浣嶅彿 - /// </summary> - [JsonPropertyName("comp_designator")] - public string CompDesignator { get; set; } + [JsonProperty("pcb_track_line")] + public int PcbTrackLine { get; set; } - /// <summary> - /// 鍣ㄤ欢鏂欏彿 - /// </summary> - [JsonPropertyName("comp_part")] - public string CompPart { get; set; } + /// <summary> + /// 鏉块潰锛圱锛岄《闈級锛圔锛屽簳闈級锛圱+B锛屾澘闈�+搴曢潰锛� + /// </summary> + [JsonProperty("pcb_board_side")] + public string? PcbBoardSide { get; set; } - /// <summary> - /// 鍣ㄤ欢灏佽 - /// </summary> - [JsonPropertyName("comp_package")] - public string CompPackage { get; set; } + /// <summary> + /// 妫�娴嬫椂闂达紝鏍煎紡yyyy-mm-dd hh:mm:ss + /// </summary> + [JsonProperty("pcb_test_time")] + public string? PcbTestTime { get; set; } - /// <summary> - /// 鍣ㄤ欢绫诲瀷 - /// </summary> - [JsonPropertyName("comp_type")] - public string CompType { get; set; } + /// <summary> + /// 妫�娴嬭�楁椂锛屽崟浣嶇 + /// </summary> + [JsonProperty("pcb_cycle_time")] + public float PcbCycleTime { get; set; } - /// <summary> - /// 鍣ㄤ欢妫�娴嬩笉鑹唬鐮� - /// </summary> - [JsonPropertyName("comp_robot_code")] - public string CompRobotCode { get; set; } + /// <summary> + /// 绋嬪簭鍚�/鏉垮紡鍚� + /// </summary> + [JsonProperty("pcb_project_name")] + public string? PcbProjectName { get; set; } - /// <summary> - /// 鍣ㄤ欢妫�娴嬬粨鏋� - /// </summary> - [JsonPropertyName("comp_robot_result")] - public string CompRobotResult { get; set; } + /// <summary> + /// 鏁存澘妫�娴嬬粨鏋� + /// </summary> + [JsonProperty("pcb_robot_result")] + public string? PcbRobotResult { get; set; } - /// <summary> - /// 鍣ㄤ欢澶嶅垽涓嶈壇浠g爜 - /// </summary> - [JsonPropertyName("comp_user_code")] - public string CompUserCode { get; set; } + /// <summary> + /// 鏁存澘澶嶅垽缁撴灉 + /// </summary> + [JsonProperty("pcb_user_result")] + public string? PcbUserResult { get; set; } - /// <summary> - /// 鍣ㄤ欢澶嶅垽缁撴灉 - /// </summary> - [JsonPropertyName("comp_user_result")] - public string CompUserResult { get; set; } + /// <summary> + /// 鏁存澘鏈�缁堢粨鏋� + /// </summary> + [JsonProperty("pcb_final_result")] + public string? PcbFinalResult { get; set; } - /// <summary> - /// 鍣ㄤ欢鍥剧墖鍦板潃 - /// </summary> - [JsonPropertyName("comp_image")] - public string CompImage { get; set; } - } + /// <summary> + /// 缁翠慨绔欏鍒ょ敤鎴峰悕 + /// </summary> + [JsonProperty("pcb_repair_user")] + public string? PcbRepairUser { get; set; } + + /// <summary> + /// 鎷兼澘鏁伴噺 + /// </summary> + [JsonProperty("pcb_board_number")] + public int PcbBoardNumber { get; set; } + + /// <summary> + /// 鎷兼澘妫�娴婲G鏁伴噺 + /// </summary> + [JsonProperty("pcb_board_robot_ng_number")] + public int PcbBoardRobotNgNumber { get; set; } + + /// <summary> + /// 鎷兼澘澶嶅垽NG鏁伴噺 + /// </summary> + [JsonProperty("pcb_board_user_ng_number")] + public int PcbBoardUserNgNumber { get; set; } + + /// <summary> + /// 鎷兼澘璇姤鏁伴噺 + /// </summary> + [JsonProperty("pcb_board_repass_number")] + public int PcbBoardRepassNumber { get; set; } + + /// <summary> + /// 鍣ㄤ欢鎬绘暟閲� + /// </summary> + [JsonProperty("pcb_comp_number")] + public int PcbCompNumber { get; set; } + + /// <summary> + /// 鍣ㄤ欢妫�娴婲G鏁伴噺 + /// </summary> + [JsonProperty("pcb_comp_robot_ng_number")] + public int PcbCompRobotNgNumber { get; set; } + + /// <summary> + /// 鍣ㄤ欢澶嶅垽NG鏁伴噺 + /// </summary> + [JsonProperty("pcb_comp_user_ng_number")] + public int PcbCompUserNgNumber { get; set; } + + /// <summary> + /// 鍣ㄤ欢璇姤鏁伴噺 + /// </summary> + [JsonProperty("pcb_comp_repass_number")] + public int PcbCompRepassNumber { get; set; } + + /// <summary> + /// 鎷兼澘鍒楄〃 + /// </summary> + [JsonProperty("board_data")] + public List<BoardDataDto> BoardData { get; set; } = new List<BoardDataDto>(); +} + +/// <summary> +/// 鎷兼澘鏁版嵁DTO +/// </summary> +public class BoardDataDto +{ + /// <summary> + /// 鎷兼澘鏉$爜 + /// </summary> + [JsonProperty("board_sn")] + public string? BoardSn { get; set; } + + /// <summary> + /// 鎷兼澘搴忓彿 + /// </summary> + [JsonProperty("board_no")] + public string? BoardNo { get; set; } + + /// <summary> + /// 鎷兼澘妫�娴嬬粨鏋� + /// </summary> + [JsonProperty("board_robot_result")] + public string? BoardRobotResult { get; set; } + + /// <summary> + /// 鎷兼澘澶嶅垽缁撴灉 + /// </summary> + [JsonProperty("board_user_result")] + public string? BoardUserResult { get; set; } + + /// <summary> + /// 鎷兼澘鏈�缁堢粨鏋� + /// </summary> + [JsonProperty("board_final_result")] + public string? BoardFinalResult { get; set; } + + /// <summary> + /// 鍣ㄤ欢鍒楄〃 + /// </summary> + [JsonProperty("comp_data")] + public List<ComponentDataDto>? CompData { get; set; } +} + +/// <summary> +/// 鍣ㄤ欢鏁版嵁DTO +/// </summary> +public class ComponentDataDto +{ + /// <summary> + /// 鍣ㄤ欢浣嶅彿 + /// </summary> + [JsonProperty("comp_designator")] + public string? CompDesignator { get; set; } + + /// <summary> + /// 鍣ㄤ欢鏂欏彿 + /// </summary> + [JsonProperty("comp_part")] + public string? CompPart { get; set; } + + /// <summary> + /// 鍣ㄤ欢灏佽 + /// </summary> + [JsonProperty("comp_package")] + public string? CompPackage { get; set; } + + /// <summary> + /// 鍣ㄤ欢绫诲瀷 + /// </summary> + [JsonProperty("comp_type")] + public string? CompType { get; set; } + + /// <summary> + /// 鍣ㄤ欢妫�娴嬩笉鑹唬鐮� + /// </summary> + [JsonProperty("comp_robot_code")] + public string? CompRobotCode { get; set; } + + /// <summary> + /// 鍣ㄤ欢妫�娴嬬粨鏋� + /// </summary> + [JsonProperty("comp_robot_result")] + public string? CompRobotResult { get; set; } + + /// <summary> + /// 鍣ㄤ欢澶嶅垽涓嶈壇浠g爜 + /// </summary> + [JsonProperty("comp_user_code")] + public string? CompUserCode { get; set; } + + /// <summary> + /// 鍣ㄤ欢澶嶅垽缁撴灉 + /// </summary> + [JsonProperty("comp_user_result")] + public string? CompUserResult { get; set; } + + /// <summary> + /// 鍣ㄤ欢鍥剧墖鍦板潃 + /// </summary> + [JsonProperty("comp_image")] + public string? CompImage { get; set; } } \ No newline at end of file -- Gitblit v1.9.3