using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using Newtonsoft.Json; using Saraff.Twain; using HXX.Scanner.Socket; using HXX.Scanner.Common; namespace HXX.Scanner.Biz.Socket { /// /// 业务处理 重传 /// public class biz_reUpload { public static List current_list = new List(); public static del_notify_startScan on_startScan; /// /// 主业务 /// /// /// public static void Work(IntPtr connId, cmd_reUpload data) { try { if (config_environment.scan_state == true || !http_manager.check_is_queue_empty()) { var response = new response_reUpload_error() { batchNumber = data.batchNumber, subjectCode = data.subjectCode, code = 500, msg = "扫描正在进行中或有尚未完成的上传", }; //SocketServerManager.Send_Family(connId, response.ToJson()); SocketServerManager.Send_Single(connId, response.ToJson()); } else { config_environment.web_parameter.batchNumber = data.batchNumber; config_environment.web_parameter.subjectCode = data.subjectCode; config_environment.web_parameter.uploadUrl = data.uploadUrl; config_environment.web_parameter.jsonParam = data.jsonParam; config_environment.web_parameter.token = data.token; config_environment.scan_state = true; on_startScan(data.uploadUrl); var list = new biz_db().get_not_upload_list(data.batchNumber, data.subjectCode); current_list = list; if (list.Count > 0) { foreach (var record in list) { var eq = new upf() { entity = record, result = new ResponseEntity(), upload_type = upload_type_enum.reUpload }; new http_manager().Upload(eq); } } else { var response_finish = new response_reUpload_all_finish() { subjectCode = data.subjectCode, batchNumber = data.batchNumber, number = 0, failedNumber = 0 }; //SocketServerManager.Send_Family(connId, response_finish.ToJson()); SocketServerManager.Send_Single(connId, response_finish.ToJson()); } } } catch (Exception ee) { var response = new response_reUpload_error() { batchNumber = data.batchNumber, subjectCode = data.subjectCode, code = 500, msg = ee.Message, }; //SocketServerManager.Send_Family(connId, response.ToJson()); SocketServerManager.Send_Single(connId, response.ToJson()); } finally { config_environment.scan_state = false; } } } }