| | |
| | | using NewPdaSqlServer.Dto.service; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.util; |
| | | using Newtonsoft.Json; |
| | | using SqlSugar; |
| | | |
| | | namespace NewPdaSqlServer.service.Warehouse; |
| | |
| | | { |
| | | var message = MesToErpParam(query); |
| | | |
| | | // var executeReturnIdentity = |
| | | // Db.Insertable(message).ExecuteReturnIdentity(); |
| | | // if (executeReturnIdentity > 0) |
| | | // { |
| | | // message.Id = executeReturnIdentity; |
| | | // message.Pid = executeReturnIdentity; |
| | | // return message; |
| | | // } |
| | | var newGuid = Guid.NewGuid(); |
| | | message.Guid = newGuid; |
| | | message.Pid = newGuid; |
| | | var executeReturnIdentity = |
| | | Db.Insertable(message).IgnoreColumns(true).ExecuteCommand(); |
| | | if (executeReturnIdentity > 0) |
| | | { |
| | | return message; |
| | | } |
| | | |
| | | throw new Exception("获取数据失败"); |
| | | } |
| | |
| | | |
| | | if (mesInvItemStocks == null) return dto; |
| | | |
| | | dto.ItemNo = mesInvItemStocks.ItemNo; |
| | | var mesItems = Db.Queryable<MesItems>() |
| | | .Where(s => s.Id == mesInvItemStocks.ItemId).Single(); |
| | | |
| | | dto.ItemNo = mesItems.ItemNo; |
| | | dto.Quantity = mesInvItemStocks.Quantity; |
| | | |
| | | return dto; |
| | |
| | | .Where((b, bar, c, d) => b.ItemOutId == parsedGuid) |
| | | .Select((b, bar, c, d) => new MesInvItemOutCDetails |
| | | { |
| | | Guid = b.Guid, |
| | | Quantity = b.Quantity, |
| | | DepotSectionCode = b.DepotSectionCode, |
| | | DepotCode = b.DepotCode, |
| | |
| | | var tableName = "MES_INV_ITEM_OUTS_" + query.Type; |
| | | if ("A".Equals(query.Type)) |
| | | { |
| | | //erpParameters = GetErpParameters(query.billNo); |
| | | erpParameters = GetErpParameters(query.id); |
| | | title = "采购退货单" + query.billNo + "审核"; |
| | | } |
| | | else if ("B".Equals(query.Type)) |
| | | { |
| | | //erpParameters = GetDeApprovePam(query.id); |
| | | erpParameters = GetDeApprovePam(query.id); |
| | | title = "采购退货单" + query.billNo + "反审核"; |
| | | } |
| | | |
| | |
| | | ContentType = "application/x-www-form-urlencoded" |
| | | }; |
| | | return message; |
| | | } |
| | | |
| | | private string GetErpParameters(string? id) |
| | | { |
| | | var guid = Guid.Empty; |
| | | if (string.IsNullOrEmpty(id)) return ""; |
| | | |
| | | var isValid = Guid.TryParse(id, out guid); |
| | | if (!isValid) |
| | | throw new ApplicationException("GUID转换错误"); |
| | | |
| | | var materials = Db |
| | | .Queryable<MesInvItemOuts, MesInvItemOutItems, |
| | | MesItems, MesUnit, MesInvItemArnDetail, MesDepots>( |
| | | (a, b, c, d, e, f) => new JoinQueryInfos( |
| | | JoinType.Left, a.Guid == b.ItemOutId, |
| | | JoinType.Left, b.ItemId == c.Id, |
| | | JoinType.Left, d.Id.ToString() == c.ItemUnit, |
| | | JoinType.Left, |
| | | e.CbillNo == b.WorkNo && e.ItemId == b.ItemId, |
| | | JoinType.Left, f.DepotId == a.DepotId |
| | | )).Where((a, b, c, d, e, f) => b.Guid == guid) |
| | | .Select<Material>((a, b, c, d, e, f) => new Material |
| | | { |
| | | FMaterialId = c.ItemNo, |
| | | FRMREALQTY = b.Quantity.ToString(), |
| | | FStockId = f.DepotCode, |
| | | FUnitID = d.Fnumber, |
| | | FLot = b.WorkNo, |
| | | F_MES_ENTRYID = b.Guid, |
| | | FsrcEntryId = e.Guid.ToString(), |
| | | }).ToList(); |
| | | |
| | | |
| | | var mm = Db.Queryable<MesInvItemOuts>() |
| | | .Where(a => a.Guid == guid).First(); |
| | | |
| | | var jsonEntries = materials.Select(d => new |
| | | { |
| | | FMaterialId = d.FMaterialId, |
| | | FRMREALQTY = d.FRMREALQTY, |
| | | FStockId = d.FStockId, |
| | | FUnitID = d.FUnitID, |
| | | FLot = d.FLot, |
| | | F_MES_ENTRYID = d.F_MES_ENTRYID.ToString(), |
| | | FsrcEntryId = d.FsrcEntryId, |
| | | }).ToList(); |
| | | var fdate = DateTime.Now.ToString("yyyy-MM-dd"); |
| | | var jsonString = JsonConvert.SerializeObject(jsonEntries); |
| | | var encodedUrl = "taskname=CGTL&mesid=" + guid + |
| | | "&optype=create&datajson={\"F_MES_ID\":\"" + guid |
| | | + "\",\"FDate\":\"" + fdate |
| | | + "\",\"FSRCBillTypeId\":\"" + "采购入库单" |
| | | + "\",\"FDESCRIPTION\":\"" + mm.Remark |
| | | + "\",\"FMRMODE\":\"" + mm.Fmrmode |
| | | + "\",\"cgtlentry\":" + jsonString |
| | | + "}"; |
| | | return encodedUrl; |
| | | } |
| | | |
| | | private string GetDeApprovePam(string? id) |
| | | { |
| | | var encodedUrl = "taskname=CGTL&mesid=" + id + |
| | | "&optype=delete&datajson={}"; |
| | | |
| | | return encodedUrl; |
| | | } |
| | | |
| | | public bool ScanCode(WarehouseQuery query) |
| | |
| | | |
| | | sql = string.Format(@" |
| | | SELECT SUM(C.QUANTITY) AS SQ_QTY, SUM(D.QUANTITY_OK) AS OK_QTY |
| | | FROM MES_INV_ITEM_OUT_ITEMS C |
| | | LEFT JOIN ( |
| | | SELECT ITEM_OUT_ID, ITEM_NO, PBILL_NO, RK_NO, SUM(QUANTITY) AS QUANTITY_OK |
| | | FROM MES_INV_ITEM_OUT_ITEMS C |
| | | LEFT JOIN (SELECT ITEM_OUT_ID, ITEM_ID, PBILL_NO, RK_NO, SUM(QUANTITY) AS QUANTITY_OK |
| | | FROM MES_INV_ITEM_OUT_C_DETAILS |
| | | GROUP BY ITEM_OUT_ID, ITEM_NO, PBILL_NO, RK_NO |
| | | ) D |
| | | ON D.ITEM_OUT_ID = C.ITEM_OUT_ID |
| | | AND D.ITEM_NO = C.ITEM_NO |
| | | AND D.RK_NO = C.RK_NO |
| | | AND isnull(C.PBILL_NO, '0') = isnull(D.PBILL_NO, '0') |
| | | WHERE C.ITEM_OUT_ID = '{0}'", mesInvItemOuts.Guid); |
| | | GROUP BY ITEM_OUT_ID, ITEM_ID, PBILL_NO, RK_NO) D |
| | | ON D.ITEM_OUT_ID = C.ITEM_OUT_ID |
| | | AND D.ITEM_ID = C.ITEM_ID |
| | | AND isnull(C.PBILL_NO, '0') = isnull(D.PBILL_NO, '0') |
| | | WHERE C.ITEM_OUT_ID = '{0}'", |
| | | mesInvItemOuts.Guid); |
| | | |
| | | var queryResult = Db.Ado.SqlQuerySingle<dynamic>(sql); |
| | | |