diff --git a/Stone.WinForm/Stone.WinBiz/JISAdmin/F_EDI_JIS5000Sequence.cs b/Stone.WinForm/Stone.WinBiz/JISAdmin/F_EDI_JIS5000Sequence.cs index 92f96ef..bcaeb10 100644 --- a/Stone.WinForm/Stone.WinBiz/JISAdmin/F_EDI_JIS5000Sequence.cs +++ b/Stone.WinForm/Stone.WinBiz/JISAdmin/F_EDI_JIS5000Sequence.cs @@ -93,7 +93,9 @@ namespace Stone.WinBiz.JISAdmin DateTime StartTime = DateTime.Now; var partMsg = ""; - if (file.Name.ToUpper().IndexOf("DEL") >= 0) + //LAB 调整 + // if (file.Name.ToUpper().IndexOf("DEL") >= 0) + if (file.Name.ToUpper().IndexOf("VDA") >= 0) { ProcessDataLab(text, fileType, file.Name, out partMsg); //解析LAB数据 } @@ -213,8 +215,14 @@ namespace Stone.WinBiz.JISAdmin - - private static void ProcessDataLab(string text, string fileType, string filename,out string Msg) + /// + /// By jinhao 20250407 LAB格式调整前 + /// + /// + /// + /// + /// + private static void ProcessDataLab_Old(string text, string fileType, string filename,out string Msg) { Entity_t_JIS_Lab t_JIS_Lab = new Entity_t_JIS_Lab(); @@ -258,7 +266,6 @@ namespace Stone.WinBiz.JISAdmin { partRelese.PartCode = sp_line[1].Split(':')[0]; } - if (sp_line[0] == "ADI") { partRelese.Release = sp_line[1].Trim(); @@ -603,6 +610,552 @@ namespace Stone.WinBiz.JISAdmin Msg = strPartMsg; } + private static void ProcessDataLab(string text, string fileType, string filename, out string Msg) + { + + Entity_t_JIS_Lab t_JIS_Lab = new Entity_t_JIS_Lab(); + Entity_t_Product t_Product = new Entity_t_Product(); + + LocalDBService db = new LocalDBService(); + + text = text.Replace("\r\n", "").Replace("\r", "").Replace("\n", ""); + string[] sp_text = text.Split('\''); + + string version = string.Empty; + string releaseId = string.Empty; + string partNumber = string.Empty; + string partDesc = string.Empty; + string orderNumber = string.Empty; + string status = string.Empty; + string startDate = string.Empty; + string endDate = string.Empty; + string quantity = string.Empty; + string cumulativeQuantity = string.Empty; + string location = string.Empty; + string LocationCode = string.Empty; + string time = ""; + + StringBuilder sqls = new StringBuilder(); + string sql = ""; + List items = new List(); + + var strPartMsg = ""; + var strPartRelease = ""; + //卸货点新增 + var alertMsg1 = ""; + //卸货点与代码不匹配 + var alertMsg2 = ""; + //卸货点失效 + var alertMsg3 = ""; + //零件新增 + var alertMsg4 = ""; + //零件失效 + var alertMsg5 = ""; + //零件ReleaseID 不连续 + var alertMsg6 = ""; + status = "1"; + + //获取零件对应的版本号 add by jinh 20220419 + //版本号在需求日期之后,目前是在需求日期处进行的数据插入 + var lstPartRelease = new List(); + var partRelese = new PartRelease(); + + foreach (var line_text in sp_text) + { + if (line_text.Trim() == "") continue; + string[] sp_line = line_text.Split('+'); + var partCode = ""; + var release = ""; + //LAB调整 LIN+1++5A0B549-00:IN ARD+7360674-02::MDL DISK HEADREST SUPPORT + // if (sp_line[0] == "ARD") + if (sp_line[0] == "LIN") + { + // partRelese.PartCode = sp_line[1].Split(':')[0]; + partRelese.PartCode = sp_line[3].Split(':')[0]; + } + //LAB调整 RFF+AAN:1747' ADI+00001509+220308 + // if (sp_line[0] == "ADI") + if (sp_line[0] == "RFF" && sp_line[1].Substring(0, 3) == "AAN") + { + // partRelese.Release = sp_line[1].Trim(); + partRelese.Release = sp_line[1].Split(':')[1].Trim(); + //校验ReleaseID是否按顺序生成 + var strsql = ""; + strsql = "select top 1 * from t_JIS_Lab_All where partNumber = '" + partRelese.PartCode + "' order by id desc"; + var dsPartRelease = db.Exec_DataSet(strsql); + if (dsPartRelease.Tables[0].Rows.Count > 0) + { + var strRelese = dsPartRelease.Tables[0].Rows[0]["releaseId"].ToString(); + if((int.Parse(strRelese)-int.Parse(partRelese.Release)) != 1) + { + strPartRelease += "零件号 " + partRelese.PartCode + " releaseId " + partRelese.Release + "与之前Lab文件的 releaseId " + strRelese + "不延续!" ; + alertMsg6 += "零件号 " + partRelese.PartCode + " releaseId " + partRelese.Release + "与之前Lab文件的 releaseId " + strRelese + "不延续!" + Environment.NewLine; + } + } + lstPartRelease.Add(partRelese); + partRelese = new PartRelease(); + } + } + //如果版本不连续,抛出异常,解析失败 考虑抛出在数据库中设置 + if (alertMsg6.Trim() != "") + { + //通过前台配置ReleaseID不联系是否继续接续 + var strsql = "select top 1 * from t_ErrTypeLevel where Code = '00' order by id desc"; + var dsErrLevel = db.Exec_DataSet(strsql); + if (dsErrLevel.Tables[0].Rows.Count > 0) + { + var errLevel = dsErrLevel.Tables[0].Rows[0]["ErrLevel"].ToString(); + if (errLevel == "0") + { + throw new Exception(strPartRelease); + } + } + } + + foreach (string line_text in sp_text) + { + if (line_text.Trim() == "") continue; + string[] sp_line = line_text.Split('+'); + //ARD+2972240-04::DS FINISHER BLACK+:00+I297224004+++-0 + //LIN+1++5A0B549-00:IN + if (sp_line[0] == "LIN") + { + partNumber = sp_line[3].Split(':')[0]; + sql = $"delete from t_JIS_Lab where [fileType]='{fileType}' and [partNumber]='{partNumber}'"; + sqls.AppendLine(sql); + + if (sqls.Length > 20000) + { + db.Exec_NonQuery(sqls.ToString()); + sqls = new StringBuilder(); + } + + } + } + + int i = 1; + foreach (string line_text in sp_text) + { + i++; + if (i == 41) + { + i = i; + } + + if (line_text.Trim() == "") continue; + string[] sp_line = line_text.Split('+'); + //DTM+2' continue + if (sp_line[0] == "DTM" && sp_line[1].Split(':').Length <3) + { + continue; + } + + //UNB+UNOA:1+O01770000000000X00A+O0177X1BH000000+220308:1458+S2022/6 -7++DELINS + //UNB+UNOC:3+O01770000000000X00ATEST+O0177X1BH000000TEST+250307:1500+000000001 新LAB + if (sp_line[0] == "UNB") + { + version = sp_line[5]; + + time = "20" + sp_line[4].Split(':')[0] + sp_line[4].Split(':')[1]; + } + + //if (sp_line[0] == "MID") + //{ + // releaseId = sp_line[1]; + // releaseIdNew = releaseId.Replace("S", "").Replace("/", "").Replace("-", "").Replace(" ", "0"); + + //} + // if (sp_line[0] == "PDI") + // if (sp_line[0] == "ADI") + // { + // releaseId = sp_line[1].Trim(); + // } + + //新LAB未找到该点 赋固定值 + // if (sp_line[0] == "SAD") + // { + // status = sp_line[1]; + // } + + // ARD ARD+2972240-04::DS FINISHER BLACK+:00+I297224004+++-0 + //LIN+1++5A0B549-00:IN + if (sp_line[0] == "LIN") + { + partNumber = sp_line[3].Split(':')[0]; + // partDesc = sp_line[1].Split(':')[2]; + // orderNumber = sp_line[3]; + //add by jinh 20220419 从list获取该零件的版本号 + releaseId = lstPartRelease.FirstOrDefault(p => p.PartCode == partNumber).Release; + } + //新LAB 获取零件描述 + //IMD+F++::272: REINFORCEMENT SILL TOP LH G20:F' + if (sp_line[0] == "IMD") + { + partDesc = sp_line[3].Split(':')[3]; + } + //新LAB 获取采购订单号 + //RFF+ON:N5A0B54900:00010' + if (sp_line[0] == "RFF" && sp_line[1].Substring(0,2) == "ON") + { + orderNumber = sp_line[1].Split(':')[1]; + + //校验零件号是否失效 + var strsql = ""; + strsql = "select top 1 * from t_Product where Code = '" + partNumber + "' order by id desc"; + var dsProd = db.Exec_DataSet(strsql); + if (dsProd.Tables[0].Rows.Count > 0) + { + var strState = dsProd.Tables[0].Rows[0]["State"].ToString(); + if (strState == "0" || string.IsNullOrEmpty(strState)) + { + strPartMsg += "零件号 " + partNumber + " 已失效!" + Environment.NewLine; + alertMsg5 += "零件号 " + partNumber + " 已失效!" + Environment.NewLine; + } + } + else + { + strPartMsg += "零件号," + partNumber + "," + partDesc + ",未定义!" + Environment.NewLine; + alertMsg4 += "零件号," + partNumber + "," + partDesc + ",未定义!" + Environment.NewLine; + } + } + + + //CSG+15288009:BMW BRILLIANCE AUTOMOTIVE LTD.:**********:::*******14*+:BMW BRILLIANCE AUTOMOTIVE LTD.+AS05+CN + //NAD+BY+19461010::92 新LAB + if (sp_line[0] == "NAD" && sp_line[1] == "BY") + { + LocationCode = sp_line[2].Split(':')[0]; + } + + //新LAB 获取 location + //LOC+11+TBL1::92' + if (sp_line[0] == "LOC" && sp_line[1] == "11") + { + location = sp_line[2].Split(':')[0]; + //校验卸货点是否失效 + var strsql = ""; + strsql = "select top 1 * from t_Location where Code = '" + location + "' order by id desc"; + var dsLoc = db.Exec_DataSet(strsql); + if (dsLoc.Tables[0].Rows.Count > 0) + { + var strState = dsLoc.Tables[0].Rows[0]["State"].ToString(); + if (strState == "0" || string.IsNullOrEmpty(strState)) + { + strPartMsg += "卸货点 " + location + " 已失效!" + Environment.NewLine; + alertMsg3 += "卸货点 " + location + " 已失效!" + Environment.NewLine; + } + } + else + { + strPartMsg += "卸货点 " + location + " 未在系统中定义!" + Environment.NewLine; + alertMsg1 += "卸货点 " + location + " 未在系统中定义!" + Environment.NewLine; + } + + //校验卸货点、卸货点代码是否匹配 + strsql = "select top 1 * from t_Location" + + " where Code = '" + location + "'" + + //" and (LocCode1 = '" + LocationCode + "' or LocCode2 = '" + LocationCode + "' or LocCode3 = '" + LocationCode + "' or LocCode4 = '" + LocationCode + "')"+ + " and (LocCode1 = '" + LocationCode + "')" + + " order by id desc"; + dsLoc = db.Exec_DataSet(strsql); + if (dsLoc.Tables[0].Rows.Count == 0) + { + strPartMsg += "卸货点 " + location + " 对应的代码 " + LocationCode + " 未在系统中定义!" + Environment.NewLine; + alertMsg2 += "卸货点 " + location + " 对应的代码 " + LocationCode + " 未在系统中定义!" + Environment.NewLine; + } + } + + //DST+220308+242798:173410::000000 + // QTY + 70:116053:PCE' + if (sp_line[0] == "QTY" && sp_line[1].Split(':')[0].ToString() == "70") + { + cumulativeQuantity = sp_line[1].Split(':')[1]; + } + + //DEL+220307::220307+0::0::196 + //DTM+2:20231106:102' 日计划触发一次保存 + // SCC + 24 Group is transfer daily demand to supplier; + // SCC + 4 Group is transfer period demand to supplier; + //获取日计划的数量 + //QTY+113:720:PCE' + if (sp_line[0] == "QTY" && sp_line[1].Split(':')[0].ToString() == "113") + { + quantity = sp_line[1].Split(':')[1]; + } + //DTM+2:20231106:102' 日计划触发一次保存 + if (sp_line[0] == "DTM" && sp_line[1].Split(':')[0].ToString() == "2") + { + startDate = sp_line[1].Split(':')[1]; + endDate = sp_line[1].Split(':')[1]; + startDate = GetDateTimeStyle4(startDate, MyDateTimeType.Date); + endDate = GetDateTimeStyle4(endDate, MyDateTimeType.Date); + + object[] obj = new object[14]; + obj[0] = partNumber; + obj[1] = startDate; + obj[2] = endDate; + obj[3] = GetDateTimeStyle1(time, MyDateTimeType.DateTime); + obj[4] = releaseId; + obj[5] = location; + obj[6] = orderNumber; + obj[7] = cumulativeQuantity; + obj[8] = quantity; + obj[9] = status; + obj[10] = fileType; + obj[11] = version; + obj[12] = LocationCode; + obj[13] = filename; + + //插入新的数据(当前数据) + sql = @" + insert into t_JIS_Lab(partNumber, startDate, endDate, [time], releaseId, location, orderNumber, cumulativeQuantity, quantity, [status], [fileType], [version], [LocationCode], [filename]) + values('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', {7}, {8}, {9}, '{10}', '{11}', '{12}', '{13}') + "; + sql = string.Format(sql, obj); + sqls.AppendLine(sql); + + + //插入新的数据(版本对比) + sql = @" + insert into t_JIS_Lab_All(partNumber, startDate, endDate, [time], releaseId, location, orderNumber, cumulativeQuantity, quantity, [status], [fileType], [version], [LocationCode], [filename]) + values('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', {7}, {8}, {9}, '{10}', '{11}', '{12}', '{13}') + "; + sql = string.Format(sql, obj); + sqls.AppendLine(sql); + + + //更新采购订单号 + //sql = $"update t_Product set [StandardNo]='{orderNumber}' where [Code]='{partNumber}'"; + //sqls.AppendLine(sql); + + + if (sqls.Length > 20000) + { + db.Exec_NonQuery(sqls.ToString()); + sqls = new StringBuilder(); + } + } + //获取周期计划的数量 + //QTY+113:410:PCE' 和日计划的数量取数逻辑一样 + if (sp_line[0] == "QTY" && sp_line[1].Split(':')[0].ToString() == "113") + { + quantity = sp_line[1].Split(':')[1]; + } + //获取周期计划的 开始时间 + // DTM + 64:20241111:102' + if (sp_line[0] == "DTM" && sp_line[1].Split(':')[0].ToString() == "64") + { + startDate = sp_line[1].Split(':')[1]; + } + + //获取周期计划的 结束时间 并保存 + // DTM + 63:20241117:102' + if (sp_line[0] == "DTM" && sp_line[1].Split(':')[0].ToString() == "63") + { + endDate = sp_line[1].Split(':')[1]; + startDate = GetDateTimeStyle4(startDate, MyDateTimeType.Date); + endDate = GetDateTimeStyle4(endDate, MyDateTimeType.Date); + + object[] obj = new object[14]; + obj[0] = partNumber; + obj[1] = startDate; + obj[2] = endDate; + obj[3] = GetDateTimeStyle1(time, MyDateTimeType.DateTime); + obj[4] = releaseId; + obj[5] = location; + obj[6] = orderNumber; + obj[7] = cumulativeQuantity; + obj[8] = quantity; + obj[9] = status; + obj[10] = fileType; + obj[11] = version; + obj[12] = LocationCode; + obj[13] = filename; + + //插入新的数据(当前数据) + sql = @" + insert into t_JIS_Lab(partNumber, startDate, endDate, [time], releaseId, location, orderNumber, cumulativeQuantity, quantity, [status], [fileType], [version], [LocationCode], [filename]) + values('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', {7}, {8}, {9}, '{10}', '{11}', '{12}', '{13}') + "; + sql = string.Format(sql, obj); + sqls.AppendLine(sql); + + //插入新的数据(版本对比) + sql = @" + insert into t_JIS_Lab_All(partNumber, startDate, endDate, [time], releaseId, location, orderNumber, cumulativeQuantity, quantity, [status], [fileType], [version], [LocationCode], [filename]) + values('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', {7}, {8}, {9}, '{10}', '{11}', '{12}', '{13}') + "; + sql = string.Format(sql, obj); + sqls.AppendLine(sql); + + if (sqls.Length > 20000) + { + db.Exec_NonQuery(sqls.ToString()); + sqls = new StringBuilder(); + } + } + } + + if (sqls.ToString() != "") + { + db.Exec_NonQuery(sqls.ToString()); + sqls = new StringBuilder(); + } + + if (strPartMsg != "") + { + var strsql = ""; + var dsErrMail = new DataSet(); + if (alertMsg1 != "") + { + alertMsg1 = filename + " " + alertMsg1; + strsql = "select top 1 * from t_ErrTypeLevel" + + " where Code = '02'" + + " order by id desc"; + dsErrMail = db.Exec_DataSet(strsql); + if (dsErrMail.Tables[0].Rows.Count > 0) + { + //获取收件人 + var mailTo = dsErrMail.Tables[0].Rows[0]["ToPerson"].ToString(); + var errLvevl = dsErrMail.Tables[0].Rows[0]["ErrLevel"].ToString(); + var errTypeDesc = dsErrMail.Tables[0].Rows[0]["ErrTypeDesc"].ToString(); + //设置邮件标题 + var title = ""; + title = "LAB解析异常-错误级别-" + errLvevl + "-" + errTypeDesc; + F_Mail.Send(title, alertMsg1, mailTo); + + //插入报警信息 + var operCode = dsErrMail.Tables[0].Rows[0]["OperCode"].ToString(); + strsql = "Insert into t_Error_Log(OperCode,Msg) values ('" + operCode + "','" + alertMsg1 + "')"; + db.Exec_NonQuery(strsql); + } + + } + if (alertMsg2 != "") + { + alertMsg2 = filename + " " + alertMsg2; + strsql = "select top 1 * from t_ErrTypeLevel" + + " where Code = '03'" + + " order by id desc"; + dsErrMail = db.Exec_DataSet(strsql); + if (dsErrMail.Tables[0].Rows.Count > 0) + { + //获取收件人 + var mailTo = dsErrMail.Tables[0].Rows[0]["ToPerson"].ToString(); + var errLvevl = dsErrMail.Tables[0].Rows[0]["ErrLevel"].ToString(); + var errTypeDesc = dsErrMail.Tables[0].Rows[0]["ErrTypeDesc"].ToString(); + //设置邮件标题 + var title = ""; + title = "LAB解析异常-错误级别-" + errLvevl + "-" + errTypeDesc; + F_Mail.Send(title, alertMsg2, mailTo); + + //插入报警信息 + var operCode = dsErrMail.Tables[0].Rows[0]["OperCode"].ToString(); + strsql = "Insert into t_Error_Log(OperCode,Msg) values ('" + operCode + "','" + alertMsg2 + "')"; + db.Exec_NonQuery(strsql); + } + } + if (alertMsg3 != "") + { + alertMsg3 = filename + " " + alertMsg3; + strsql = "select top 1 * from t_ErrTypeLevel" + + " where Code = '04'" + + " order by id desc"; + dsErrMail = db.Exec_DataSet(strsql); + if (dsErrMail.Tables[0].Rows.Count > 0) + { + //获取收件人 + var mailTo = dsErrMail.Tables[0].Rows[0]["ToPerson"].ToString(); + var errLvevl = dsErrMail.Tables[0].Rows[0]["ErrLevel"].ToString(); + var errTypeDesc = dsErrMail.Tables[0].Rows[0]["ErrTypeDesc"].ToString(); + //设置邮件标题 + var title = ""; + title = "LAB解析异常-错误级别-" + errLvevl + "-" + errTypeDesc; + F_Mail.Send(title, alertMsg3, mailTo); + + //插入报警信息 + var operCode = dsErrMail.Tables[0].Rows[0]["OperCode"].ToString(); + strsql = "Insert into t_Error_Log(OperCode,Msg) values ('" + operCode + "','" + alertMsg3 + "')"; + db.Exec_NonQuery(strsql); + } + } + if (alertMsg4 != "") + { + alertMsg4 = filename + " " + alertMsg4; + strsql = "select top 1 * from t_ErrTypeLevel" + + " where Code = '05'" + + " order by id desc"; + dsErrMail = db.Exec_DataSet(strsql); + if (dsErrMail.Tables[0].Rows.Count > 0) + { + //获取收件人 + var mailTo = dsErrMail.Tables[0].Rows[0]["ToPerson"].ToString(); + var errLvevl = dsErrMail.Tables[0].Rows[0]["ErrLevel"].ToString(); + var errTypeDesc = dsErrMail.Tables[0].Rows[0]["ErrTypeDesc"].ToString(); + //设置邮件标题 + var title = ""; + title = "LAB解析异常-错误级别-" + errLvevl + "-" + errTypeDesc; + F_Mail.Send(title, alertMsg4, mailTo); + + //插入报警信息 + var operCode = dsErrMail.Tables[0].Rows[0]["OperCode"].ToString(); + strsql = "Insert into t_Error_Log(OperCode,Msg) values ('" + operCode + "','" + alertMsg4 + "')"; + db.Exec_NonQuery(strsql); + } + } + if (alertMsg5 != "") + { + alertMsg5 = filename + " " + alertMsg5; + strsql = "select top 1 * from t_ErrTypeLevel" + + " where Code = '06'" + + " order by id desc"; + dsErrMail = db.Exec_DataSet(strsql); + if (dsErrMail.Tables[0].Rows.Count > 0) + { + //获取收件人 + var mailTo = dsErrMail.Tables[0].Rows[0]["ToPerson"].ToString(); + var errLvevl = dsErrMail.Tables[0].Rows[0]["ErrLevel"].ToString(); + var errTypeDesc = dsErrMail.Tables[0].Rows[0]["ErrTypeDesc"].ToString(); + //设置邮件标题 + var title = ""; + title = "LAB解析异常-错误级别-" + errLvevl + "-" + errTypeDesc; + F_Mail.Send(title, alertMsg5, mailTo); + + //插入报警信息 + var operCode = dsErrMail.Tables[0].Rows[0]["OperCode"].ToString(); + strsql = "Insert into t_Error_Log(OperCode,Msg) values ('" + operCode + "','" + alertMsg5 + "')"; + db.Exec_NonQuery(strsql); + } + } + if (alertMsg6 != "") + { + alertMsg6 = filename + " " + alertMsg6; + strsql = "select top 1 * from t_ErrTypeLevel" + + " where Code = '00'" + + " order by id desc"; + dsErrMail = db.Exec_DataSet(strsql); + if (dsErrMail.Tables[0].Rows.Count > 0) + { + //获取收件人 + var mailTo = dsErrMail.Tables[0].Rows[0]["ToPerson"].ToString(); + var errLvevl = dsErrMail.Tables[0].Rows[0]["ErrLevel"].ToString(); + var errTypeDesc = dsErrMail.Tables[0].Rows[0]["ErrTypeDesc"].ToString(); + //设置邮件标题 + var title = ""; + title = "LAB解析异常-错误级别-" + errLvevl + "-" + errTypeDesc; + F_Mail.Send(title, alertMsg5, mailTo); + + //插入报警信息 + var operCode = dsErrMail.Tables[0].Rows[0]["OperCode"].ToString(); + strsql = "Insert into t_Error_Log(OperCode,Msg) values ('" + operCode + "','" + alertMsg6 + "')"; + db.Exec_NonQuery(strsql); + } + } + strPartMsg = filename + " " + strPartMsg; + } + Msg = strPartMsg; + } + private static void MoveFile(FileInfo file, string MovePath) { @@ -658,10 +1211,11 @@ namespace Stone.WinBiz.JISAdmin text = text.Replace("\r\n", "").Replace("\r", "").Replace("\n", ""); string[] sp_text = text.Split('\''); - - if (sp_text[0].Substring(0, 3) != "UNB") + //LAB 调整 + // if (sp_text[0].Substring(0, 3) != "UNB") + if (sp_text[0].Substring(0, 3) != "UNA") { - throw new Exception(filename + " 不以UNB开头"); + throw new Exception(filename + " 不以UNA开头"); } if (sp_text[sp_text.Length - 2].Substring(0, 3) != "UNZ") @@ -676,7 +1230,7 @@ namespace Stone.WinBiz.JISAdmin int segment_count = Convert.ToInt32(sp_text[sp_text.Length - 3].Split('+')[1]); - if (segment_count != sp_text.Length - 3) + if (segment_count != sp_text.Length - 4) { throw new Exception(filename + " Segment 数量不正确"); } diff --git a/Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.cs b/Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.cs index bc36e38..c37c2fb 100644 --- a/Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.cs +++ b/Stone.WinForm/Stone.WinModule/Standard/frmJISVDAASN.cs @@ -459,9 +459,10 @@ namespace Stone.WinModule.Standard throw new Exception($"{AsnNumber}已经完成,不能生成PREDN"); var frmPickUpDate = new frmPickUpDate(); - frmPickUpDate.dtSwetDate = Convert.ToDateTime(dtData.Rows[0]["Date"]); + frmPickUpDate.dtSwetDate = Convert.ToDateTime(dtData.Rows[0]["Date"]).Date; frmPickUpDate.ShowDialog(); frmPickUpDate.Dispose(); + if(frmPickUpDate.DialogResult != DialogResult.OK) return; frmPREDN frm = new frmPREDN(); frm.dtPickUpTime = frmPickUpDate.dtPickUp; frm.dtData = dtData; diff --git a/Stone.WinForm/Stone.WinModule/Standard/frmPREDN.cs b/Stone.WinForm/Stone.WinModule/Standard/frmPREDN.cs index c422c6c..b0ede8d 100644 --- a/Stone.WinForm/Stone.WinModule/Standard/frmPREDN.cs +++ b/Stone.WinForm/Stone.WinModule/Standard/frmPREDN.cs @@ -61,7 +61,7 @@ namespace Stone.WinModule.Standard drNew["Required Pick-up Date"] = dtPickUpTime.Date.ToString("yyyy-MM-dd"); drNew["Required Pick-up Time"] = dtPickUpTime.Hour.ToString("00") + ":" + dtPickUpTime.Minute.ToString("00") + ":00"; drNew["Required Swet Date"] = Convert.ToDateTime(drData["Date"]).ToString("yyyy-MM-dd"); - drNew["Required Swet Time"] = "23:59:59"; + drNew["Required Swet Time"] = "09:40:00"; drNew["Material Number"] = drData["PartNumber"].ToString(); drNew["Parts Quantity"] = drData["Qty"].ToString(); dtExport.Rows.Add(drNew); diff --git a/Stone.WinForm/Stone.WinModule/Standard/frmPickUpDate.cs b/Stone.WinForm/Stone.WinModule/Standard/frmPickUpDate.cs index 01d38c1..c19c8c9 100644 --- a/Stone.WinForm/Stone.WinModule/Standard/frmPickUpDate.cs +++ b/Stone.WinForm/Stone.WinModule/Standard/frmPickUpDate.cs @@ -22,7 +22,8 @@ namespace Stone.WinModule.Standard private void frmPasswordVerify_Load(object sender, EventArgs e) { - dateTimePicker1.Value = dtSwetDate.Date; + // dateTimePicker1.Value = dtSwetDate.Date.Date; + dateTimePicker1.Value = DateTime.Parse(dtSwetDate.Date.ToString("yyyy-MM-dd") + " 07:00:00"); } private void btnOK_Click(object sender, EventArgs e) diff --git a/Stone.WinForm/Stone.WinService/Stone.WinService.csproj b/Stone.WinForm/Stone.WinService/Stone.WinService.csproj index 1e6c8a3..d846743 100644 --- a/Stone.WinForm/Stone.WinService/Stone.WinService.csproj +++ b/Stone.WinForm/Stone.WinService/Stone.WinService.csproj @@ -50,10 +50,10 @@ 4 - 5F4DC08A1D30281FD3FD763931A4297DB5B74EEB + 7054D192EAA16310F9A0F4B5D3283EB18335AA71 - Stone.WinService_TemporaryKey.pfx + Stone.WinService_1_TemporaryKey.pfx true @@ -118,6 +118,7 @@ Always +