| | |
| | | { |
| | | "Version": 1, |
| | | "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoProtocol\\", |
| | | "Documents": [], |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{BCE5B4FC-C2CD-459E-AAD0-34D4900B4528}|Hanhe.iWCS.JingmenGEMTwoProtocol.csproj|c:\\software\\a-\u5DE5\u4F5C\\\u6E90\u7801\\git\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\hanhe.iwcs.jingmengemtwoprotocol\\enentlisten.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{BCE5B4FC-C2CD-459E-AAD0-34D4900B4528}|Hanhe.iWCS.JingmenGEMTwoProtocol.csproj|solutionrelative:enentlisten.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | } |
| | | ], |
| | | "DocumentGroupContainers": [ |
| | | { |
| | | "Orientation": 0, |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 16, |
| | | "SelectedChildIndex": -1, |
| | | "SelectedChildIndex": 7, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "EnentListen.cs", |
| | | "DocumentMoniker": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoProtocol\\EnentListen.cs", |
| | | "RelativeDocumentMoniker": "EnentListen.cs", |
| | | "ToolTip": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoProtocol\\EnentListen.cs", |
| | | "RelativeToolTip": "EnentListen.cs", |
| | | "ViewState": "AgIAACIAAAAAAAAAAAAcwE0BAAAMAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2025-07-14T00:36:42.299Z", |
| | | "EditorCaption": "" |
| | | } |
| | | ] |
| | | }, |
| | |
| | | if (sendERPTaskInfoList.Count == 5 || timeInfo.dateTime.AddHours(1) < DateTime.Now) |
| | | { |
| | | // 先根据任务批次号字段获取时间戳中间表-TimeCuoInfoCom 数据,并进行后续调用,处理成功删除时间戳中间表-TimeCuoInfoCom 数据 |
| | | int count = sendERPTaskInfoList.Where(a => string.IsNullOrEmpty(a.orderCode) || a.orderCode.Length < 2 || a.orderCode.Substring(0, 2) != "MO").ToList().Count(); |
| | | #region 计算单据编号 |
| | | string FBillNO = ""; |
| | | int num = 0; |
| | | string S_NUM = ""; |
| | | string time = DateTime.Now.ToString("yyMMdd"); |
| | | CMMLog.Info($"SendERPTaskCompleteFunc time:{time}"); |
| | | var midInfo = db.Queryable<ADDMid>().Where(b => b.time == time).First(); |
| | | if (midInfo != null) |
| | | { |
| | | midInfo.num = midInfo.num + 1; |
| | | num = midInfo.num; |
| | | db.Updateable(midInfo).UpdateColumns(b => new { b.num }).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | num = 1; |
| | | midInfo = new ADDMid |
| | | { |
| | | time = DateTime.Now.ToString("yyMMdd"), |
| | | num = 1 |
| | | }; |
| | | db.Insertable(midInfo).ExecuteCommand(); |
| | | } |
| | | |
| | | CMMLog.Info($"SendERPTaskCompleteFunc num: {num}"); |
| | | for (int i = num.ToString().Length + 1; i <= 4; i++) |
| | | { |
| | | S_NUM = S_NUM + "0"; |
| | | } |
| | | |
| | | FBillNO = "ARKD" + DateTime.Now.ToString("yyMMdd") + S_NUM + num.ToString(); |
| | | CMMLog.Info($"SendERPTaskCompleteFunc: {FBillNO}"); |
| | | #endregion |
| | | |
| | | int n = 0; //行号 |
| | | int m = 0; |
| | | sendERPTaskInfoList.ForEach(a => |
| | | { |
| | | n = n + 1; |
| | | #region 计算单据编号 |
| | | string FBillNO = ""; |
| | | int num = 0; |
| | | string S_NUM = ""; |
| | | string time = DateTime.Now.ToString("yyMMdd"); |
| | | CMMLog.Info($"SendERPTaskCompleteFunc time:{time}"); |
| | | var midInfo = db.Queryable<ADDMid>().Where(b => b.time == time).First(); |
| | | if (midInfo != null) |
| | | { |
| | | midInfo.num = midInfo.num + 1; |
| | | num = midInfo.num; |
| | | db.Updateable(midInfo).UpdateColumns(b => new { b.num }).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | num = 1; |
| | | midInfo = new ADDMid |
| | | { |
| | | time = DateTime.Now.ToString("yyMMdd"), |
| | | num = 1 |
| | | }; |
| | | db.Insertable(midInfo).ExecuteCommand(); |
| | | } |
| | | |
| | | CMMLog.Info($"SendERPTaskCompleteFunc num: {num}"); |
| | | for (int i = num.ToString().Length + 1; i <= 4; i++) |
| | | { |
| | | S_NUM = S_NUM + "0"; |
| | | } |
| | | |
| | | FBillNO = "ARKD" + DateTime.Now.ToString("yyMMdd") + S_NUM + num.ToString(); |
| | | CMMLog.Info($"SendERPTaskCompleteFunc: {FBillNO}"); |
| | | #endregion |
| | | |
| | | if(!string.IsNullOrEmpty(a.orderCode) && a.orderCode.Length >= 2 && a.orderCode.Substring(0,2) == "MO") |
| | | { |
| | | CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','1','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','1','0')"); |
| | | string sql = $"INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','1','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','1','0')"; |
| | | m = m + 1; |
| | | if(m > 1) |
| | | { |
| | | //2025-07-14 插入新表的单据编号,一条一个单据编号 |
| | | #region 计算单据编号 |
| | | S_NUM = ""; |
| | | midInfo = db.Queryable<ADDMid>().Where(b => b.time == time).First(); |
| | | if (midInfo != null) |
| | | { |
| | | midInfo.num = midInfo.num + 1; |
| | | num = midInfo.num; |
| | | db.Updateable(midInfo).UpdateColumns(b => new { b.num }).ExecuteCommand(); |
| | | } |
| | | |
| | | CMMLog.Info($"SendERPTaskCompleteFunc num: {num}"); |
| | | for (int i = num.ToString().Length + 1; i <= 4; i++) |
| | | { |
| | | S_NUM = S_NUM + "0"; |
| | | } |
| | | |
| | | FBillNO = "ARKD" + DateTime.Now.ToString("yyMMdd") + S_NUM + num.ToString(); |
| | | CMMLog.Info($"SendERPTaskCompleteFunc: {FBillNO}"); |
| | | #endregion |
| | | } |
| | | CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','{1}','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','{1}','0')"); |
| | | string sql = $"INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','{1}','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','{1}','0')"; |
| | | if (new SqlHelper<object>().ExecuteSql(sql, false)) |
| | | { |
| | | #region 反馈信息给mes 对接文档 https://365.kdocs.cn/l/cltzoEaznLco |
| | |
| | | else |
| | | { |
| | | //插入失败,将数据插入新表,人工手动处理,重新插入 |
| | | MongoDBSingleton.Instance.Insert<SendErpTaskInfoTableBak>(new SendErpTaskInfoTableBak |
| | | MongoDBSingleton.Instance.Insert<SendErpTaskInfoTableBak>(new SendErpTaskInfoTableBak |
| | | { |
| | | orderCode = a.orderCode, |
| | | FEntryID = a.FEntryID, |
| | |
| | | } |
| | | else |
| | | { |
| | | CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}',{sendERPTaskInfoList.Count},'0')"); |
| | | string sql = $"INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}',{sendERPTaskInfoList.Count},'0')"; |
| | | n = n + 1; |
| | | CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}','{count}','0')"); |
| | | string sql = $"INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}','{count}','0')"; |
| | | if(new SqlHelper<object>().ExecuteSql(sql, false)) |
| | | { |
| | | } |
| | |
| | | <Reference Include="Hanhe.iWCS.AGVWebService"> |
| | | <HintPath>..\..\汉和智能二次开发包\Hanhe.iWCS.AGVWebService.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="Hanhe.iWCS.Business"> |
| | | <HintPath>..\..\Hanhe.iWCS.Business\bin\Debug\Hanhe.iWCS.Business.dll</HintPath> |
| | | <Reference Include="Hanhe.iWCS.Business, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |
| | | <SpecificVersion>False</SpecificVersion> |
| | | <HintPath>..\..\..\汉和智能二次开发包\Hanhe.iWCS.Business.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="Hanhe.iWCS.Common"> |
| | | <HintPath>..\..\汉和智能二次开发包\Hanhe.iWCS.Common.dll</HintPath> |
| | |
| | | </Reference> |
| | | <Reference Include="Hanhe.iWCS.Interface"> |
| | | <HintPath>..\..\汉和智能二次开发包\Hanhe.iWCS.Interface.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="Hanhe.iWCS.JingmenGEMTwoTCP, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> |
| | | <SpecificVersion>False</SpecificVersion> |
| | | <HintPath>bin\Debug\Hanhe.iWCS.JingmenGEMTwoTCP.dll</HintPath> |
| | | </Reference> |
| | | <Reference Include="Hanhe.iWCS.MData"> |
| | | <HintPath>..\..\汉和智能二次开发包\Hanhe.iWCS.MData.dll</HintPath> |
| | |
| | | <Content Include="settings.xml"> |
| | | <CopyToOutputDirectory>Always</CopyToOutputDirectory> |
| | | </Content> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\Hanhe.iWCS.JingmenGEMTwoTCP\Hanhe.iWCS.JingmenGEMTwoTCP.csproj"> |
| | | <Project>{E58B2022-9333-4759-A012-6028008AC1B8}</Project> |
| | | <Name>Hanhe.iWCS.JingmenGEMTwoTCP</Name> |
| | | </ProjectReference> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <None Include="app.config" /> |
| | |
| | | //bagNumber = timeReq.bagNumber_1+","+timeReq.bagNumber_2, |
| | | needWeight = timeReq.needWeight_1 / 100, |
| | | realWeight = timeReq.realWeight_1 / 100, |
| | | totalWeight = timeReq.totalWeight, |
| | | totalWeight = timeReq.totalWeight / 100, |
| | | batchNumber = timeReq.batchNumber, |
| | | productModel = timeReq.productModel, |
| | | bagNumber_1 = timeReq.bagNumber_1, |