123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323 |
- using DapperORMCore.Context.DataContext;
- using DapperORMCore.Model.CoreModel;
- using DapperORMCore.Repository.IRepositorys;
- using Microsoft.Extensions.Configuration;
- using NXWMS.IService.NXWMS;
- using NXWMS.IService.NXWMS.Instock;
- using NXWMS.Model.AppModels.Condition.Instock;
- using NXWMS.Model.AppModels.Result.Balance;
- using NXWMS.Model.AppModels.Result.Base;
- using NXWMS.Model.AppModels.Result.Common;
- using NXWMS.Model.AppModels.Result.Instock;
- using NXWMS.Model.AppModels.Result.WmsTask;
- using NXWMS.Model.Common;
- using NXWMS.String.Enums;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using WestDistance.DapperORM.Repository.Repositorys;
- namespace NXWMS.Service.NXWMS.Instock
- {
- /// <summary>
- /// 上架单服务
- /// </summary>
- [AutoInject(typeof(IWmsInPutawayService), InjectType.Scope)]
- public class WmsInPutawayService : ServiceBase, IWmsInPutawayService
- {
- #region 全局变量、构造注入
- /// <summary>
- /// 系统操作仓储中转
- /// </summary>
- private IDataRepositoryContext _dataContext;
- /// <summary>
- /// SQL节点仓储
- /// </summary>
- private ISQLNodeRepository _iSQLNodeRepository;
- /// <summary>
- /// 配置
- /// </summary>
- private IConfiguration _configuration;
- private IERPServer _eRPServer;
- /// <summary>
- /// 构造注入
- /// </summary>
- /// <param name="dataRepositoryContext"></param>
- /// <param name="configuration"></param>
- /// <param name="iSQLNodeRepository"></param>
- public WmsInPutawayService(IDataRepositoryContext dataRepositoryContext, IConfiguration configuration, ISQLNodeRepository iSQLNodeRepository, IERPServer eRPServer)
- {
- this._dataContext = dataRepositoryContext;
- this._configuration = configuration;
- this._iSQLNodeRepository = iSQLNodeRepository;
- this._eRPServer = eRPServer;
- }
- #endregion
- /// <summary>
- /// 分页查询上架单主表数据
- /// </summary>
- /// <param name="putawaySearchMd">上架单查询条件实体类对象</param>
- /// <returns></returns>
- public OperateResultInfo<List<WmsInPutAwayResult>> GetWmsInPutAwayListForPage(WmsInPutAwaySearchMd putawaySearchMd)
- {
- try
- {
- #region SQL语句生成
- StringBuilder sqlCondition = new StringBuilder();
- if (!string.IsNullOrEmpty(putawaySearchMd.PutawayNoMsg))
- {
- sqlCondition.Append($" AND PUTAWAY_NO = '{putawaySearchMd.PutawayNoMsg}'");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.PalletNoMsg))
- {
- sqlCondition.Append($" AND PALLET_CODE like '%{putawaySearchMd.PalletNoMsg}%'");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.TargetBinMsg))
- {
- sqlCondition.Append($" AND EBIN_CODE = '{putawaySearchMd.TargetBinMsg}'");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.PutawayTypeMsg))
- {
- sqlCondition.Append($" AND PUTAWAY_TYPE = '{putawaySearchMd.PutawayTypeMsg}'");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.PutawayStatusMsg))
- {
- sqlCondition.Append($" AND PUTAWAY_STATUS = '{putawaySearchMd.PutawayStatusMsg}'");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.BatchNoMsg))
- {
- sqlCondition.Append($" AND PUTAWAY_ID IN (SELECT PUTAWAY_ID FROM VW_WMS_IN_PUTAWAY_DTL WHERE BATCH_NO = '{putawaySearchMd.BatchNoMsg}')");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.MaterielMsg))
- {
- sqlCondition.Append($" AND PUTAWAY_ID IN (SELECT PUTAWAY_ID FROM VW_WMS_IN_PUTAWAY_DTL WHERE MATERIEL_CODE LIKE '%{putawaySearchMd.MaterielMsg}%' OR MATERIEL_NAME LIKE '%{putawaySearchMd.MaterielMsg}%' OR MATERIEL_BARCODE LIKE '%{putawaySearchMd.MaterielMsg}%')");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.SupplierMsg))
- {
- sqlCondition.Append($" AND PUTAWAY_ID IN (SELECT PUTAWAY_ID FROM VW_WMS_IN_PUTAWAY_DTL WHERE SUPPLIER_CODE LIKE '%{putawaySearchMd.SupplierMsg}%' OR SUPPLIER_NAME LIKE '%{putawaySearchMd.SupplierMsg}%')");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.StartCreatTimeMsg))
- {
- sqlCondition.Append($" AND CREATE_TIME >= '{putawaySearchMd.StartCreatTimeMsg}'");
- }
- if (!string.IsNullOrEmpty(putawaySearchMd.EndCreatTimeMsg))
- {
- sqlCondition.Append($" AND CREATE_TIME <= '{putawaySearchMd.EndCreatTimeMsg}'");
- }
- StringBuilder sqlCountPutAwayData = new StringBuilder($@"SELECT COUNT(1) FROM VW_WMS_IN_PUTAWAY WHERE 1=1");
- sqlCountPutAwayData.Append(sqlCondition.ToString());
- int pageStartIndex = (putawaySearchMd.PageNum - 1) * putawaySearchMd.EveryPageQty;
- int pageEndIndex = putawaySearchMd.PageNum * putawaySearchMd.EveryPageQty;
- StringBuilder sqlQueryPutAwayData = new StringBuilder($@"
- SELECT
- PUTAWAY_ID,
- PUTAWAY_NO,
- SOURCE_NO,
- PUTAWAY_TYPE,
- PUTAWAY_TYPE_NAME,
- TRAY_CODE,
- PALLET_CODE,
- SBIN_CODE,
- EBIN_CODE,
- PUTAWAY_PRIORITY,
- PUTAWAY_STATUS,
- PUTAWAY_STATUS_NAME,
- [DESCRIBE],
- CREATE_BY,
- CREATE_NAME,
- CREATE_TIME,
- UPDATE_BY,
- UPDATE_NAME,
- UPDATE_TIME
- FROM
- VW_WMS_IN_PUTAWAY
- WHERE
- 1=1
- {sqlCondition}
- ORDER BY UPDATE_TIME DESC,CREATE_TIME DESC
- OFFSET {pageStartIndex} ROWS
- FETCH NEXT {putawaySearchMd.EveryPageQty} ROWS ONLY
-
- ");
- #endregion
- int dataCount = Convert.ToInt32(new DataRepository<object>(_dataContext).ExecuteScalar(sqlCountPutAwayData.ToString()));
- List<WmsInPutAwayResult> resultList = new DataRepository<WmsInPutAwayResult>(_dataContext).Query(sqlQueryPutAwayData.ToString()).ToList();
- OperateResultInfo<List<WmsInPutAwayResult>> retDataMsg = SuccessStatus(resultList);
- retDataMsg.DataCount = dataCount;
- return retDataMsg;
- }
- catch (Exception ex)
- {
- return FailMessageStatus<List<WmsInPutAwayResult>>($"查询上架单数据发生异常,【{ex.Message}】", null);
- }
- }
- /// <summary>
- /// 根据上架单主键Id查询上架单明细数据
- /// </summary>
- /// <param name="wmsInPutAway">上架单对象</param>
- /// <returns></returns>
- public OperateResultInfo<WmsInPutAwayResult> GetWmsInPutAwayDtlListForID(WmsInPutAwayResult wmsInPutAway)
- {
- try
- {
- #region SQL语句生成
- string sqlQueryWmsInPutAway = $@"
- SELECT
- PUTAWAY_ID,
- PUTAWAY_NO,
- SOURCE_NO,
- PUTAWAY_TYPE,
- PUTAWAY_TYPE_NAME,
- TRAY_CODE,
- PALLET_CODE,
- SBIN_CODE,
- EBIN_CODE,
- PUTAWAY_PRIORITY,
- PUTAWAY_STATUS,
- PUTAWAY_STATUS_NAME,
- [DESCRIBE],
- CREATE_BY,
- CREATE_NAME,
- CREATE_TIME,
- UPDATE_BY,
- UPDATE_NAME,
- UPDATE_TIME
- FROM
- VW_WMS_IN_PUTAWAY
- WHERE
- PUTAWAY_ID = '{wmsInPutAway.PutawayId}'
- ";
- string strWhere = string.Empty;
- if (wmsInPutAway.Remarks1 == "查询已删除明细数据")
- {
- strWhere = "1=1";
- }
- else
- {
- strWhere = "PUTAWAY_DTL_STATUS < 111";
- }
- string sqlQueryWmsPutAwayDtl = $@"
- SELECT
- *
- FROM
- VW_WMS_IN_PUTAWAY_DTL
- WHERE
- PUTAWAY_ID = '{wmsInPutAway.PutawayId}'
- AND {strWhere}
- ORDER BY PUTAWAY_DTL_STATUS,PUTAWAY_DTL_ID
- ";
- #endregion
- List<WmsInPutAwayResult> resultList = new DataRepository<WmsInPutAwayResult>(_dataContext).Query(sqlQueryWmsInPutAway).ToList();
- List<WmsInPutAwayDtlResult> resultDtlList = new DataRepository<WmsInPutAwayDtlResult>(_dataContext).Query(sqlQueryWmsPutAwayDtl).ToList();
- wmsInPutAway = resultList[0];
- wmsInPutAway.WmsInPutAwayDtlList = resultDtlList;
- OperateResultInfo<WmsInPutAwayResult> retDataMsg = SuccessStatus(wmsInPutAway);
- return retDataMsg;
- }
- catch (Exception ex)
- {
- return FailMessageStatus<WmsInPutAwayResult>($"查询上架单明细数据发生异常,【{ex.Message}】", null);
- }
- }
- /// <summary>
- /// 新增上架单数据
- /// </summary>
- /// <param name="wmsInPutAway">上架单主表对象</param>
- /// <returns></returns>
- public OperateResultInfo AddWmsInPutAwayData(WmsInPutAwayResult wmsInPutAway)
- {
- try
- {
- #region SQL语句生成
- List<string> sqlList = new List<string>();
- wmsInPutAway.PutawayId = Convert.ToInt32(new DataRepository<object>(_dataContext).GetSequenceMsg("InPutaway_Id"));
- wmsInPutAway.PutawayNo = new DataRepository<object>(_dataContext).GetSequenceMsg("InPutaway_No");
- wmsInPutAway.PutawayStatus = 0;
- StringBuilder sqlAddWmsPutAway = new StringBuilder();
- sqlAddWmsPutAway.Append($@"
- INSERT INTO [WMS_IN_PUTAWAY] (
- [PUTAWAY_ID],
- [PUTAWAY_NO],
- [SOURCE_NO],
- [PUTAWAY_TYPE],
- [TRAY_CODE],
- [PALLET_CODE],
- [SBIN_CODE],
- [EBIN_CODE],
- [PUTAWAY_PRIORITY],
- [PUTAWAY_STATUS],
- [DESCRIBE],
- [CREATE_BY],
- [CREATE_TIME],
- [UPDATE_BY],
- [UPDATE_TIME],
- [DATA_VERSION],
- [REMARKS1],
- [REMARKS2],
- [REMARKS3],
- [REMARKS4],
- [REMARKS5]
- )
- VALUES
- (
- '{wmsInPutAway.PutawayId}',
- '{wmsInPutAway.PutawayNo}',
- '{wmsInPutAway.SourceNo}',
- '{wmsInPutAway.PutawayType}',
- '{wmsInPutAway.TrayCode}',
- '{wmsInPutAway.PalletCode}',
- '{wmsInPutAway.SbinCode}',
- '{wmsInPutAway.EbinCode}',
- '{wmsInPutAway.PutawayPriority}',
- '0',
- '{wmsInPutAway.Describe}',
- '{wmsInPutAway.CreateBy}',
- getdate(),
- '{wmsInPutAway.UpdateBy}',
- getdate(),
- 0,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- );
- ");
- sqlList.Add(sqlAddWmsPutAway.ToString());
- foreach (WmsInPutAwayDtlResult item in wmsInPutAway.WmsInPutAwayDtlList)
- {
- StringBuilder sqlAddWmsInPutAwayDtl = new StringBuilder();
- item.PUTAWAY_DTL_ID = Convert.ToInt32(new DataRepository<object>(_dataContext).GetSequenceMsg("InPutaway_Dtl_Id"));
- item.PUTAWAY_ID = wmsInPutAway.PutawayId;
- item.PUTAWAY_DTL_STATUS = 0;
- sqlAddWmsInPutAwayDtl.Append($@"
- INSERT INTO [WMS_IN_PUTAWAY_DTL] (
- [PUTAWAY_DTL_ID],
- [PUTAWAY_ID],
- [MATERIEL_CODE],
- [MATERIEL_NAME],
- [MATERIEL_BARCODE],
- [MATERIEL_SPEC],
- [BATCH_NO],
- [PACKAGE_CODE],
- [UNIT_CODE],
- [PUTAWAY_QTY],
- [SUPPLIER_CODE],
- [SUPPLIER_NAME],
- [PRODUCT_DATE],
- [EXP_DATE],
- [PUTAWAY_DTL_STATUS],
- [INSPECTION_RESULT],
- [ITEM_STATUS],
- [DESCRIBE],
- [CREATE_BY],
- [CREATE_TIME],
- [UPDATE_BY],
- [UPDATE_TIME],
- [DATA_VERSION],
- [REMARKS1],
- [REMARKS2],
- [REMARKS3],
- [REMARKS4],
- [REMARKS5]
- )
- VALUES
- (
- '{item.PUTAWAY_DTL_ID}',
- '{item.PUTAWAY_ID}',
- '{item.MATERIEL_CODE}',
- '{item.MATERIEL_NAME}',
- '{item.MATERIEL_BARCODE}',
- '{item.MATERIEL_SPEC}',
- '{item.BATCH_NO}',
- '{item.PACKAGE_CODE}',
- '{item.UNIT_CODE}',
- '{item.PUTAWAY_QTY}',
- '{item.SUPPLIER_CODE}',
- '{item.SUPPLIER_NAME}',
- '{item.PRODUCT_DATE}',
- '{item.EXP_DATE}',
- '0',
- 'Wait',
- '1',
- '{item.DESCRIBE}',
- '{item.CREATE_BY}',
- getdate(),
- '{item.UPDATE_BY}',
- getdate(),
- 0,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- );
- ");
- sqlList.Add(sqlAddWmsInPutAwayDtl.ToString());
- }
- #endregion
- int row = new DataRepository<object>(_dataContext).ExecSqlListTran(sqlList);
- if (row > 0)
- {
- return SuccessMessageStatus("新增上架单数据成功!", row);
- }
- else
- {
- return FailMessageStatus("新增上架单数据失败!", row);
- }
- }
- catch (Exception ex)
- {
- return FailMessageStatus($"新增上架单数据发生异常,【{ex.Message}】");
- }
- }
- /// <summary>
- /// 修改上架单数据
- /// </summary>
- /// <param name="wmsInPutAway">上架主表对象</param>
- /// <returns></returns>
- public OperateResultInfo EditWmsInPutAwayData(WmsInPutAwayResult wmsInPutAway)
- {
- try
- {
- #region SQL语句生成
- List<string> sqlList = new List<string>();
- string sqlUpdateWmsInPutAway = $@"
- UPDATE [WMS_IN_PUTAWAY]
- SET
- [PUTAWAY_NO] = '{wmsInPutAway.PutawayNo}',
- [SOURCE_NO] = '{wmsInPutAway.SourceNo}',
- [PUTAWAY_TYPE] = '{wmsInPutAway.PutawayType}',
- [TRAY_CODE] = '{wmsInPutAway.TrayCode}',
- [PALLET_CODE] = '{wmsInPutAway.PalletCode}',
- [SBIN_CODE] = '{wmsInPutAway.SbinCode}',
- [EBIN_CODE] = '{wmsInPutAway.EbinCode}',
- [PUTAWAY_PRIORITY] = '{wmsInPutAway.PutawayPriority}',
- [PUTAWAY_STATUS] = '{wmsInPutAway.PutawayStatus}',
- [DESCRIBE] = '{wmsInPutAway.Describe}',
- [UPDATE_BY] = '{wmsInPutAway.UpdateBy}',
- [UPDATE_TIME] = GETDATE(),
- [DATA_VERSION] = [DATA_VERSION] + 1
- WHERE
- [PUTAWAY_ID] = '{wmsInPutAway.PutawayId}';
- ";
- sqlList.Add(sqlUpdateWmsInPutAway);
- foreach (WmsInPutAwayDtlResult item in wmsInPutAway.WmsInPutAwayDtlList)
- {
- if (item.REMARKS1 == "更新" || item.REMARKS1 == "删除")
- {
- string sqlUpdateWmsInPutAwayDtl = $@"
- UPDATE [WMS_IN_PUTAWAY_DTL]
- SET
- [MATERIEL_CODE] = '{item.MATERIEL_CODE}',
- [MATERIEL_NAME] = '{item.MATERIEL_NAME}',
- [MATERIEL_BARCODE] = '{item.MATERIEL_BARCODE}',
- [MATERIEL_SPEC] = '{item.MATERIEL_SPEC}',
- [BATCH_NO] = '{item.BATCH_NO}',
- [PACKAGE_CODE] = '{item.PACKAGE_CODE}',
- [UNIT_CODE] = '{item.UNIT_CODE}',
- [PUTAWAY_QTY] = '{item.PUTAWAY_QTY}',
- [SUPPLIER_CODE] = '{item.SUPPLIER_CODE}',
- [SUPPLIER_NAME] = '{item.SUPPLIER_CODE}',
- [PRODUCT_DATE] = '{item.PRODUCT_DATE}',
- [EXP_DATE] = '{item.EXP_DATE}',
- [PUTAWAY_DTL_STATUS] = '{item.PUTAWAY_DTL_STATUS}',
- [INSPECTION_RESULT] = '{item.INSPECTION_RESULT}',
- [ITEM_STATUS] = '{item.ITEM_STATUS}',
- [DESCRIBE] = '{item.DESCRIBE}',
- [UPDATE_BY] = '{item.UPDATE_BY}',
- [UPDATE_TIME] = getdate(),
- [DATA_VERSION] = [DATA_VERSION] + 1
- WHERE
- [PUTAWAY_DTL_ID] = '{item.PUTAWAY_DTL_ID}'
- AND [PUTAWAY_ID] = '{wmsInPutAway.PutawayId}';
- ";
- sqlList.Add(sqlUpdateWmsInPutAwayDtl);
- }
- if (item.REMARKS1 == "添加")
- {
- StringBuilder sqlAddWmsInPutAwayDtl = new StringBuilder();
- item.PUTAWAY_DTL_ID = Convert.ToInt32(new DataRepository<object>(_dataContext).GetSequenceMsg("InPutaway_Dtl_Id"));
- item.PUTAWAY_ID = wmsInPutAway.PutawayId;
- item.PUTAWAY_DTL_STATUS = 0;
- sqlAddWmsInPutAwayDtl.Append($@"
- INSERT INTO [WMS_IN_PUTAWAY_DTL] (
- [PUTAWAY_DTL_ID],
- [PUTAWAY_ID],
- [MATERIEL_CODE],
- [MATERIEL_NAME],
- [MATERIEL_BARCODE],
- [MATERIEL_SPEC],
- [BATCH_NO],
- [PACKAGE_CODE],
- [UNIT_CODE],
- [PUTAWAY_QTY],
- [SUPPLIER_CODE],
- [SUPPLIER_NAME],
- [PRODUCT_DATE],
- [EXP_DATE],
- [PUTAWAY_DTL_STATUS],
- [INSPECTION_RESULT],
- [ITEM_STATUS],
- [DESCRIBE],
- [CREATE_BY],
- [CREATE_TIME],
- [UPDATE_BY],
- [UPDATE_TIME],
- [DATA_VERSION],
- [REMARKS1],
- [REMARKS2],
- [REMARKS3],
- [REMARKS4],
- [REMARKS5]
- )
- VALUES
- (
- '{item.PUTAWAY_DTL_ID}',
- '{item.PUTAWAY_ID}',
- '{item.MATERIEL_CODE}',
- '{item.MATERIEL_NAME}',
- '{item.MATERIEL_BARCODE}',
- '{item.MATERIEL_SPEC}',
- '{item.BATCH_NO}',
- '{item.PACKAGE_CODE}',
- '{item.UNIT_CODE}',
- '{item.PUTAWAY_QTY}',
- '{item.SUPPLIER_CODE}',
- '{item.SUPPLIER_NAME}',
- '{item.PRODUCT_DATE}',
- '{item.EXP_DATE}',
- '0',
- 'Wait',
- '1',
- '{item.DESCRIBE}',
- '{item.CREATE_BY}',
- getdate(),
- '{item.UPDATE_BY}',
- getdate(),
- 0,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- );
- ");
- sqlList.Add(sqlAddWmsInPutAwayDtl.ToString());
- }
- }
- #endregion
- int row = new DataRepository<object>(_dataContext).ExecSqlListTran(sqlList);
- if (row > 0)
- {
- return SuccessMessageStatus("修改上架单数据成功!", row);
- }
- else
- {
- return FailMessageStatus("修改上架单数据失败!", row);
- }
- }
- catch (Exception ex)
- {
- return FailMessageStatus($"修改上架单数据发生异常,【{ex.Message}】");
- }
- }
- /// <summary>
- /// 删除上架单数据
- /// </summary>
- /// <param name="wmsInPutAway">上架单主表对象</param>
- /// <returns></returns>
- public OperateResultInfo DeleteWmsInPutAwayData(WmsInPutAwayResult wmsInPutAway)
- {
- try
- {
- #region SQL语句生成
- string[] putawayIdList = wmsInPutAway.PutawayNo.Split(',');
- List<string> sqlList = new List<string>();
- foreach (string item in putawayIdList)
- {
- string sqlDeleteWmsPutAway = $@"
- UPDATE WMS_IN_PUTAWAY
- SET PUTAWAY_STATUS = '111',
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- PUTAWAY_ID = '{item}';
- ";
- string sqlDeleteWmsInPutAwayDtl = $@"
- UPDATE WMS_IN_PUTAWAY_DTL
- SET PUTAWAY_DTL_STATUS = '111',
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- PUTAWAY_ID = '{item}';
- ";
- sqlList.Add(sqlDeleteWmsPutAway);
- sqlList.Add(sqlDeleteWmsInPutAwayDtl);
- /*
- ToDo: 后续增加删除移至历史表中。
- */
- }
- #endregion
- int row = new DataRepository<object>(_dataContext).ExecSqlListTran(sqlList);
- if (row > 0)
- {
- return SuccessMessageStatus("删除上架单数据成功!", row);
- }
- else
- {
- return FailMessageStatus("删除上架单数据失败!", row);
- }
- }
- catch (Exception ex)
- {
- return FailMessageStatus($"删除上架单数据发生异常,【{ex.Message}】");
- }
- }
- /// <summary>
- /// 获取待上架托盘信息
- /// </summary>
- /// <returns></returns>
- public OperateResultInfo<List<WmsInPutAwayPalletMsgResult>> GetPutAwayPalletMsgList()
- {
- try
- {
- string sql = $@"SELECT * FROM VW_WMS_IN_PUTAWAY_PALLET_MSG";
- List<WmsInPutAwayPalletMsgResult> resultList = new DataRepository<WmsInPutAwayPalletMsgResult>(_dataContext).Query(sql).ToList();
- OperateResultInfo<List<WmsInPutAwayPalletMsgResult>> retDataMsg = SuccessStatus(resultList);
- return retDataMsg;
- }
- catch (Exception ex)
- {
- return FailMessageStatus<List<WmsInPutAwayPalletMsgResult>>($"查询待上架托盘数据发生异常,【{ex.Message}】", null);
- }
- }
- /// <summary>
- /// 手动上架
- /// </summary>
- /// <param name="wmsInPutAway">上架单主表实体类对象</param>
- /// <returns></returns>
- public OperateResultInfo ManualPutAwayPallet(WmsInPutAwayResult wmsInPutAway, PutAwayMethodsEnum methodsEnum)
- {
- try
- {
- #region SQL语句生成
- List<string> sqlList = new List<string>();
- //检查目标货位是否存在
- string sqlQueryRetreatRegionBinMsg = $@"SELECT
- A.*, B.USER_NAME Create_Name,
- C.USER_NAME Update_Name
- FROM
- BAS_BIN A
- LEFT JOIN SYS_USER B ON A.CREATE_BY = B.USER_ID
- LEFT JOIN SYS_USER C ON A.UPDATE_BY = C.USER_ID
- WHERE
- A.BIN_CODE = '{wmsInPutAway.EbinCode}'";
- List<BinResult> resultBinList = new DataRepository<BinResult>(_dataContext).Query(sqlQueryRetreatRegionBinMsg).ToList();
- if (resultBinList.Count <= 0)
- {
- return FailMessageStatus($"上架库位【{wmsInPutAway.EbinCode}】不存在,请重新输入或扫描。");
- }
- WmsInPutAwayResult wmsInPutAwayInDataBase;
- if (methodsEnum == PutAwayMethodsEnum.WMS手动上架 || methodsEnum == PutAwayMethodsEnum.PDA手动上架)
- {
- string sqlQueryWmsInPutAway = $@"
- SELECT
- PUTAWAY_ID,
- PUTAWAY_NO,
- SOURCE_NO,
- PUTAWAY_TYPE,
- PUTAWAY_TYPE_NAME,
- TRAY_CODE,
- PALLET_CODE,
- SBIN_CODE,
- EBIN_CODE,
- PUTAWAY_PRIORITY,
- PUTAWAY_STATUS,
- PUTAWAY_STATUS_NAME,
- [DESCRIBE],
- CREATE_BY,
- CREATE_NAME,
- CREATE_TIME,
- UPDATE_BY,
- UPDATE_NAME,
- UPDATE_TIME
- FROM
- VW_WMS_IN_PUTAWAY
- WHERE
- TRAY_CODE = '{wmsInPutAway.TrayCode}'
- AND PALLET_CODE = '{wmsInPutAway.PalletCode}'
- AND PUTAWAY_STATUS < 99
- ";
- List<WmsInPutAwayResult> resultPuatAwayList = new DataRepository<WmsInPutAwayResult>(_dataContext).Query(sqlQueryWmsInPutAway).ToList();
- wmsInPutAwayInDataBase = resultPuatAwayList[0];
- }
- else
- {
- wmsInPutAwayInDataBase = wmsInPutAway;
- }
- string sqlUpdatePutAway = $@"
- UPDATE WMS_IN_PUTAWAY
- SET PUTAWAY_STATUS = 99,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- PUTAWAY_ID = '{wmsInPutAwayInDataBase.PutawayId}'
- ";
- sqlList.Add(sqlUpdatePutAway);
- string sqlUpdatePutAwayDtl = $@"
- UPDATE WMS_IN_PUTAWAY_DTL
- SET PUTAWAY_DTL_STATUS = 99,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- PUTAWAY_ID = '{wmsInPutAwayInDataBase.PutawayId}'
- ";
- sqlList.Add(sqlUpdatePutAwayDtl);
- string sqlQueryWmsPutAwayDtl = $@"
- SELECT
- *
- FROM
- VW_WMS_IN_PUTAWAY_DTL
- WHERE
- PUTAWAY_NO = '{wmsInPutAwayInDataBase.PutawayNo}';
- ";
- List<WmsInPutAwayDtlResult> resultDtlList = new DataRepository<WmsInPutAwayDtlResult>(_dataContext).Query(sqlQueryWmsPutAwayDtl).ToList();
- #region 孙亚龙 20210515 舍弃代码
- //foreach (WmsInPutAwayDtlResult item in resultDtlList)
- //{
- // if (wmsInPutAway.PutawayType == 1)
- // {
- // string sqlQueryReceiptRecord = $@"SELECT * FROM VW_WMS_IN_RECEIPT_RECORD WHERE TRAY_CODE = '{wmsInPutAway.TrayCode}' AND PALLET_CODE = '{wmsInPutAway.PalletCode}' AND RECEIPT_RECORD_STATUS = 0";
- // List<WmsInReceiptRecordResult> resultReceiptRecordList = new DataRepository<WmsInReceiptRecordResult>(_dataContext).Query(sqlQueryReceiptRecord).ToList();
- // WmsInReceiptRecordResult recRecordMd = resultReceiptRecordList.Find(x => x.MATERIEL_CODE == item.MATERIEL_CODE && x.BATCH_NO == item.BATCH_NO);
- // string sqlQueryWmsReceiptDtl = $@"
- // SELECT
- // *
- // FROM
- // VW_WMS_IN_RECEIPT_DTL
- // WHERE
- // RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}'
- // ";
- // List<WmsInReceiptDtlResult> resultRetreatDtlList = new DataRepository<WmsInReceiptDtlResult>(_dataContext).Query(sqlQueryWmsReceiptDtl).ToList();
- // if (resultRetreatDtlList[0].PUTAWAY_QTY == 0)
- // {
- // string sqlUpdateReceiptDtl = $@"
- // UPDATE WMS_IN_RECEIPT_DTL
- // SET PUTAWAY_QTY = PUTAWAY_QTY + '{item.PUTAWAY_QTY}',
- // UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- // UPDATE_TIME = GETDATE(),
- // DATA_VERSION = DATA_VERSION + 1
- // WHERE
- // RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}';
- // ";
- // sqlList.Add(sqlUpdateReceiptDtl);
- // string sqlUpdateReceiptDtl1 = $@"
- // IF NOT EXISTS (
- // SELECT
- // 1
- // FROM
- // WMS_IN_RECEIPT_DTL
- // WHERE
- // RECEIPT_DTL_QTY < PUTAWAY_QTY
- // AND RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}'
- // ) UPDATE WMS_IN_RECEIPT_DTL
- // SET RECEIPT_DTL_STATUS = 99
- // WHERE
- // RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}';
- // ";
- // sqlList.Add(sqlUpdateReceiptDtl1);
- // }
- // else
- // {
- // string sqlUpdateReceiptDtl = $@"
- // IF NOT EXISTS (
- // SELECT
- // 1
- // FROM
- // WMS_IN_RECEIPT_DTL
- // WHERE
- // RECEIPT_DTL_QTY < PUTAWAY_QTY
- // AND RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}'
- // ) UPDATE WMS_IN_RECEIPT_DTL
- // SET PUTAWAY_QTY = PUTAWAY_QTY + '{item.PUTAWAY_QTY}',
- // RECEIPT_DTL_STATUS = 99,
- // UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- // UPDATE_TIME = GETDATE(),
- // DATA_VERSION = DATA_VERSION + 1
- // WHERE
- // RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}' ;
- // ELSE
- // UPDATE WMS_IN_RECEIPT_DTL
- // SET PUTAWAY_QTY = PUTAWAY_QTY + '{item.PUTAWAY_QTY}',
- // UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- // UPDATE_TIME = GETDATE(),
- // DATA_VERSION = DATA_VERSION + 1
- // WHERE
- // RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}';
- // ";
- // sqlList.Add(sqlUpdateReceiptDtl);
- // }
- // }
- // else if (wmsInPutAway.PutawayType == 2)
- // {
- // string sqlQueryRetreatRecord = $@"SELECT * FROM VW_WMS_IN_RETREAT_RECORD WHERE TRAY_CODE = '{wmsInPutAway.TrayCode}' AND PALLET_CODE = '{wmsInPutAway.PalletCode}' AND RETREAT_RECORD_STATUS = 0";
- // List<WmsInRetreatRecordResult> resultRetreatRecordList = new DataRepository<WmsInRetreatRecordResult>(_dataContext).Query(sqlQueryRetreatRecord).ToList();
- // WmsInRetreatRecordResult retRecordMd = resultRetreatRecordList.Find(x => x.MATERIEL_CODE == item.MATERIEL_CODE && x.BATCH_NO == item.BATCH_NO);
- // string sqlQueryWmsReceiptDtl = $@"
- // SELECT
- // *
- // FROM
- // VW_WMS_IN_RETREAT_DTL
- // WHERE
- // RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}'
- // ";
- // List<WmsInRetreatDtlResult> resultRetreatDtlList = new DataRepository<WmsInRetreatDtlResult>(_dataContext).Query(sqlQueryWmsReceiptDtl).ToList();
- // if (resultRetreatDtlList[0].PUTAWAY_QTY == 0)
- // {
- // string sqlUpdateReceiptDtl = $@"
- // UPDATE WMS_IN_RETREAT_DTL
- // SET PUTAWAY_QTY = PUTAWAY_QTY + '{item.PUTAWAY_QTY}',
- // UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- // UPDATE_TIME = GETDATE(),
- // DATA_VERSION = DATA_VERSION + 1
- // WHERE
- // RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}';
- // ";
- // sqlList.Add(sqlUpdateReceiptDtl);
- // }
- // else
- // {
- // string sqlUpdateReceiptDtl = $@"
- // IF NOT EXISTS (
- // SELECT
- // 1
- // FROM
- // WMS_IN_RETREAT_DTL
- // WHERE
- // RETREAT_QTY < PUTAWAY_QTY
- // AND RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}'
- // ) UPDATE WMS_IN_RETREAT_DTL
- // SET PUTAWAY_QTY = PUTAWAY_QTY + '{item.PUTAWAY_QTY}',
- // RETREAT_DTL_STATUS = 99,
- // UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- // UPDATE_TIME = GETDATE(),
- // DATA_VERSION = DATA_VERSION + 1
- // WHERE
- // RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}' ;
- // ELSE
- // UPDATE WMS_IN_RETREAT_DTL
- // SET PUTAWAY_QTY = PUTAWAY_QTY + '{item.PUTAWAY_QTY}',
- // UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- // UPDATE_TIME = GETDATE(),
- // DATA_VERSION = DATA_VERSION + 1
- // WHERE
- // RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}';
- // ";
- // sqlList.Add(sqlUpdateReceiptDtl);
- // }
- // }
- // else if (wmsInPutAway.PutawayType == 6)
- // {
- // }
- // else
- // {
- // return FailMessageStatus($"上架单类型暂时不能手动上架。");
- // }
- //}
- #endregion
- string status = string.Empty;
- if (wmsInPutAway.PutawayType == 1)
- {
- string sqlQueryReceiptRecord = $@"SELECT * FROM VW_WMS_IN_RECEIPT_RECORD WHERE TRAY_CODE = '{wmsInPutAway.TrayCode}' AND PALLET_CODE = '{wmsInPutAway.PalletCode}' AND RECEIPT_RECORD_STATUS = 0";
- List<WmsInReceiptRecordResult> resultReceiptRecordList = new DataRepository<WmsInReceiptRecordResult>(_dataContext).Query(sqlQueryReceiptRecord).ToList();
- List<int> tmpReceiptIdLst = new List<int>();
- foreach (WmsInReceiptRecordResult recRecordMd in resultReceiptRecordList)
- {
- //WmsInReceiptRecordResult recRecordMd = resultReceiptRecordList.Find(x => x.MATERIEL_CODE == item.MATERIEL_CODE && x.BATCH_NO == item.BATCH_NO);
- int receiptId = tmpReceiptIdLst.FirstOrDefault(x => x == recRecordMd.RECEIPT_ID);
- if (receiptId <= 0)
- {
- tmpReceiptIdLst.Add(recRecordMd.RECEIPT_ID);
- }
- string sqlQueryWmsReceiptDtl = $@"
- SELECT
- *
- FROM
- VW_WMS_IN_RECEIPT_DTL
- WHERE
- RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}'
- ";
- List<WmsInReceiptDtlResult> resultRetreatDtlList = new DataRepository<WmsInReceiptDtlResult>(_dataContext).Query(sqlQueryWmsReceiptDtl).ToList();
- if (resultRetreatDtlList[0].PutawayQty == 0)
- {
- string sqlUpdateReceiptDtl = $@"
- UPDATE WMS_IN_RECEIPT_DTL
- SET PUTAWAY_QTY = PUTAWAY_QTY + '{recRecordMd.RECEIPT_QTY}',
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}';
- ";
- sqlList.Add(sqlUpdateReceiptDtl);
- string sqlUpdateReceiptDtl1 = $@"
- IF NOT EXISTS (
- SELECT
- 1
- FROM
- WMS_IN_RECEIPT_DTL
- WHERE
- RECEIPT_DTL_QTY < PUTAWAY_QTY
- AND RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}'
- ) UPDATE WMS_IN_RECEIPT_DTL
- SET RECEIPT_DTL_STATUS = 99
- WHERE
- RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}';
- ";
- sqlList.Add(sqlUpdateReceiptDtl1);
- }
- else
- {
- string sqlUpdateReceiptDtl = $@"
- IF NOT EXISTS (
- SELECT
- 1
- FROM
- WMS_IN_RECEIPT_DTL
- WHERE
- RECEIPT_DTL_QTY < PUTAWAY_QTY
- AND RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}'
- ) UPDATE WMS_IN_RECEIPT_DTL
- SET PUTAWAY_QTY = PUTAWAY_QTY + '{recRecordMd.RECEIPT_QTY}',
- RECEIPT_DTL_STATUS = 99,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}' ;
- ELSE
- UPDATE WMS_IN_RECEIPT_DTL
- SET PUTAWAY_QTY = PUTAWAY_QTY + '{recRecordMd.RECEIPT_QTY}',
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- RECEIPT_DTL_ID = '{recRecordMd.RECEIPT_DTL_ID}';
- ";
- sqlList.Add(sqlUpdateReceiptDtl);
- }
- }
- status = "55";
- foreach (int item in tmpReceiptIdLst)
- {
- string sqlUpdateReceipt = $@"
- IF NOT EXISTS (
- SELECT
- 1
- FROM
- VW_WMS_IN_RECEIPT_DTL
- WHERE
- RECEIPT_ID = '{item}'
- AND RECEIPT_DTL_STATUS < 99
- ) UPDATE WMS_IN_RECEIPT
- SET RECEIPT_STATUS = 99,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- RECEIPT_ID = '{item}'
- ";
- sqlList.Add(sqlUpdateReceipt);
- }
- string sqlUpdateReceiptRecord = $@"
- UPDATE WMS_IN_RECEIPT_RECORD
- SET RECEIPT_RECORD_STATUS = 1,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- BIN_CODE='{wmsInPutAway.EbinCode}',
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- TRAY_CODE = '{wmsInPutAway.TrayCode}'
- AND PALLET_CODE = '{wmsInPutAway.PalletCode}'
- AND RECEIPT_RECORD_STATUS = 0;
- ";// 收货组盘完成
- sqlList.Add(sqlUpdateReceiptRecord);
- }
- else if (wmsInPutAway.PutawayType == 2)
- {
- string sqlQueryRetreatRecord = $@"SELECT * FROM VW_WMS_IN_RETREAT_RECORD WHERE TRAY_CODE = '{wmsInPutAway.TrayCode}' AND PALLET_CODE = '{wmsInPutAway.PalletCode}' AND RETREAT_RECORD_STATUS = 0";
- List<WmsInRetreatRecordResult> resultRetreatRecordList = new DataRepository<WmsInRetreatRecordResult>(_dataContext).Query(sqlQueryRetreatRecord).ToList();
- List<int> tmpRetreatIdLst = new List<int>();
- foreach (WmsInRetreatRecordResult retRecordMd in resultRetreatRecordList)
- {
- //WmsInRetreatRecordResult retRecordMd = resultRetreatRecordList.Find(x => x.MATERIEL_CODE == item.MATERIEL_CODE && x.BATCH_NO == item.BATCH_NO);
- int receiptId = tmpRetreatIdLst.FirstOrDefault(x => x == retRecordMd.RETREAT_ID);
- if (receiptId <= 0)
- {
- tmpRetreatIdLst.Add(retRecordMd.RETREAT_ID);
- }
- string sqlQueryWmsReceiptDtl = $@"
- SELECT
- *
- FROM
- VW_WMS_IN_RETREAT_DTL
- WHERE
- RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}'
- ";
- List<WmsInRetreatDtlResult> resultRetreatDtlList = new DataRepository<WmsInRetreatDtlResult>(_dataContext).Query(sqlQueryWmsReceiptDtl).ToList();
- if (resultRetreatDtlList[0].PUTAWAY_QTY == 0)
- {
- string sqlUpdateReceiptDtl = $@"
- UPDATE WMS_IN_RETREAT_DTL
- SET PUTAWAY_QTY = PUTAWAY_QTY + '{retRecordMd.RETREAT_QTY}',
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}';
- ";
- sqlList.Add(sqlUpdateReceiptDtl);
- }
- else
- {
- string sqlUpdateReceiptDtl = $@"
- IF NOT EXISTS (
- SELECT
- 1
- FROM
- WMS_IN_RETREAT_DTL
- WHERE
- RETREAT_QTY < PUTAWAY_QTY
- AND RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}'
- ) UPDATE WMS_IN_RETREAT_DTL
- SET PUTAWAY_QTY = PUTAWAY_QTY + '{retRecordMd.RETREAT_QTY}',
- RETREAT_DTL_STATUS = 99,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}' ;
- ELSE
- UPDATE WMS_IN_RETREAT_DTL
- SET PUTAWAY_QTY = PUTAWAY_QTY + '{retRecordMd.RETREAT_QTY}',
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- RETREAT_DTL_ID = '{retRecordMd.RETREAT_DTL_ID}';
- ";
- sqlList.Add(sqlUpdateReceiptDtl);
- }
- }
- status = "55";
- foreach (int item in tmpRetreatIdLst)
- {
- string sqlUpdateReceipt = $@"
- IF NOT EXISTS (
- SELECT
- 1
- FROM
- VW_WMS_IN_RETREAT_DTL
- WHERE
- RETREAT_ID = '{item}'
- AND RETREAT_DTL_STATUS < 99
- ) UPDATE WMS_IN_RETREAT
- SET RETREAT_STATUS = 99,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- RETREAT_ID = '{item}'
- ";
- sqlList.Add(sqlUpdateReceipt);
- }
- string sqlUpdateReceiptRecord = $@"
- UPDATE WMS_IN_RETREAT_RECORD
- SET RETREAT_RECORD_STATUS = 1,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- TRAY_CODE = '{wmsInPutAway.TrayCode}'
- AND PALLET_CODE = '{wmsInPutAway.PalletCode}'
- AND RETREAT_RECORD_STATUS = 0;
- ";
- sqlList.Add(sqlUpdateReceiptRecord);
- }
- else if (wmsInPutAway.PutawayType == 6)
- {
- status = "54";
- }
- else
- {
- return FailMessageStatus($"上架单类型暂时不能手动上架。");
- }
- string sqlUpdateWmsStkTray = $@"
- UPDATE WMS_STK_TRAY
- SET TRAY_STATUS = '{status}',
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- TRAY_CODE = '{wmsInPutAway.TrayCode}';
- ";
- string sqlUpdateWmsStkTrayDtl = $@"
- UPDATE WMS_STK_TRAY_DTL
- SET TRAY_DTL_STATUS = '{status}',
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- TRAY_ID IN (
- SELECT
- TRAY_ID
- FROM
- WMS_STK_TRAY
- WHERE
- TRAY_CODE = '{wmsInPutAway.TrayCode}'
- );
- ";
- string sqlQueryWmsStkTray = $@"SELECT * FROM VW_WMS_STK_TRAY WHERE TRAY_CODE = '{wmsInPutAway.TrayCode}' AND TRAY_STATUS < 99";
- List<WmsStkTrayResult> resultWmsStkTrayList = new DataRepository<WmsStkTrayResult>(_dataContext).Query(sqlQueryWmsStkTray).ToList();
- string sqlAddWmsStkBalance = $@"
- INSERT INTO [WMS_STK_BALANCE] (
- [BALANCE_ID],
- [AREA_CODE],
- [AREA_NAME],
- [WAREHOUSE_CODE],
- [WAREHOUSE_NAME],
- [REGION_CODE],
- [REGION_NAME],
- [BIN_CODE],
- [BIN_NAME],
- [TRAY_ID],
- [TRAY_CODE],
- [PALLET_CODE],
- [INWH_TIME],
- [BALANCE_STATUS],
- [DESCRIBE],
- [CREATE_BY],
- [CREATE_TIME],
- [UPDATE_BY],
- [UPDATE_TIME],
- [DATA_VERSION],
- [REMARKS1],
- [REMARKS2],
- [REMARKS3],
- [REMARKS4],
- [REMARKS5]
- )
- VALUES
- (
- '{Convert.ToInt32(new DataRepository<object>(_dataContext).GetSequenceMsg("Balance_Id"))}',
- 'AreaTest1',
- '区域测试1',
- 'WarehouseTest1',
- '仓库测试1',
- '{resultBinList[0].REGION_CODE}',
- '{resultBinList[0].REGION_NAME}',
- '{resultBinList[0].BIN_CODE}',
- '{resultBinList[0].BIN_NAME}',
- '{resultWmsStkTrayList[0].TRAY_ID}',
- '{wmsInPutAway.TrayCode}',
- '{wmsInPutAway.PalletCode}',
- getdate(),
- '55',
- '{wmsInPutAwayInDataBase.Describe}',
- '{wmsInPutAway.CreateBy}',
- getdate(),
- '{wmsInPutAway.UpdateBy}',
- getdate(),
- 0,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- );
- ";
- sqlList.Add($@"update WMS_STK_BALANCE set BALANCE_STATUS = 99,UPDATE_BY = '{wmsInPutAway.UpdateBy}',UPDATE_TIME = getdate(),DATA_VERSION = DATA_VERSION + 1 where TRAY_CODE = '{wmsInPutAway.TrayCode}'");
- sqlList.Add(sqlUpdateWmsStkTray);
- sqlList.Add(sqlUpdateWmsStkTrayDtl);
- if (wmsInPutAway.PutawayType == 6)
- {
- sqlList.Add($"update WMS_STK_BALANCE set BALANCE_STATUS = '{status}',UPDATE_BY = '{wmsInPutAway.UpdateBy}',UPDATE_TIME = getdate(),DATA_VERSION = DATA_VERSION + 1 where TRAY_CODE in (select TRAY_CODE from WMS_STK_INVENTORY_DTL where TRAY_CODE = '{wmsInPutAway.TrayCode}')");
- }
- else
- {
- sqlList.Add(sqlAddWmsStkBalance);
- }
- sqlList.Add($@"
- UPDATE WMS_TSK_TASK
- SET CLOC_CODE = ELOC_CODE,
- UPDATE_BY = '{wmsInPutAway.UpdateBy}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1,
- TASK_STATUS = 99,
- TASK_MSG = '【{methodsEnum}】-- 更新WMS大任务为:【任务完成】状态'
- WHERE
- TRAY_CODE = '{wmsInPutAway.TrayCode}'
- AND TASK_STATUS < 99
- ");
- #endregion
- int row = new DataRepository<object>(_dataContext).ExecSqlListTran(sqlList);
- if (row > 0)
- {
- return SuccessMessageStatus($"【{methodsEnum}】-- 操作成功!", row);
- }
- else
- {
- return FailMessageStatus($"【{methodsEnum}】-- 操作失败!", row);
- }
- }
- catch (Exception ex)
- {
- return FailMessageStatus($"【{methodsEnum}】-- 操作发生异常,【{ex.Message}】");
- }
- }
- #region 2021 0224 孙亚龙新增WCS上报托盘运行状态
- public OperateResultInfo UploadPalletRunStatus(NoticeWmsPalletStatus parm)
- {
- try
- {
- int wmsTaskStatus;
- if (parm.palletCurrRunStatus == PalletTaskRunStatusEnum.托盘入库执行中)
- {
- wmsTaskStatus = 55;
- }
- else
- {
- wmsTaskStatus = 77;
- }
- string sqlQueryWmsTask = $@"
- SELECT
- *
- FROM
- VW_WMS_TSK_TASK
- WHERE
- TASK_NO = '{parm.TaskNo}'
- AND TASK_STATUS = '{wmsTaskStatus}'
- ";
- List<WmsTaskResult> resultList = new DataRepository<WmsTaskResult>(_dataContext).Query(sqlQueryWmsTask).ToList();
- if (resultList == null || resultList.Count <= 0)
- {
- return FailMessageStatus($"WCS上报托盘运行状态的参数错误,无法获取WMS大任务信息!");
- }
- string sqlQueryWmsInPutAway = $@"
- SELECT
- PUTAWAY_ID,
- PUTAWAY_NO,
- SOURCE_NO,
- PUTAWAY_TYPE,
- PUTAWAY_TYPE_NAME,
- TRAY_CODE,
- PALLET_CODE,
- SBIN_CODE,
- EBIN_CODE,
- PUTAWAY_PRIORITY,
- PUTAWAY_STATUS,
- PUTAWAY_STATUS_NAME,
- [DESCRIBE],
- CREATE_BY,
- CREATE_NAME,
- CREATE_TIME,
- UPDATE_BY,
- UPDATE_NAME,
- UPDATE_TIME
- FROM
- VW_WMS_IN_PUTAWAY
- WHERE
- TRAY_CODE = '{parm.TrayCode}' AND PUTAWAY_STATUS < 99
- ";
- List<WmsInPutAwayResult> resultPuatAwayList = new DataRepository<WmsInPutAwayResult>(_dataContext).Query(sqlQueryWmsInPutAway).ToList();
- if (resultPuatAwayList == null || resultPuatAwayList.Count <= 0)
- {
- return FailMessageStatus($"WCS上报托盘运行状态的参数错误,无法获取托盘上架单信息!");
- }
- WmsTaskResult wmsTaskResultDataBase = resultList[0];
- WmsInPutAwayResult wmsInPutAwayInDataBase = resultPuatAwayList[0];
- if (parm.palletCurrRunStatus == PalletTaskRunStatusEnum.托盘入库执行中)
- {
- List<string> sqlList = new List<string>();
- string sqlUpdatePutAway = $@"
- UPDATE WMS_IN_PUTAWAY
- SET PUTAWAY_STATUS = 55,
- SBIN_CODE = '{wmsTaskResultDataBase.SBIN_CODE}',
- EBIN_CODE = '{wmsTaskResultDataBase.EBIN_CODE}',
- UPDATE_BY = '{parm.OperateUserId}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- PUTAWAY_ID = '{wmsInPutAwayInDataBase.PutawayId}'
- ";
- sqlList.Add(sqlUpdatePutAway);
- string sqlUpdatePutAwayDtl = $@"
- UPDATE WMS_IN_PUTAWAY_DTL
- SET PUTAWAY_DTL_STATUS = 55,
- UPDATE_BY = '{parm.OperateUserId}',
- UPDATE_TIME = GETDATE(),
- DATA_VERSION = DATA_VERSION + 1
- WHERE
- PUTAWAY_ID = '{wmsInPutAwayInDataBase.PutawayId}'
- ";
- sqlList.Add(sqlUpdatePutAwayDtl);
- int row = new DataRepository<object>(_dataContext).ExecSqlListTran(sqlList);
- if (row > 0)
- {
- return SuccessMessageStatus("WCS上报托盘运行状态成功!", row);
- }
- else
- {
- return FailMessageStatus("WCS上报托盘运行状态失败!", row);
- }
- }
- else
- {
- return ManualPutAwayPallet(wmsInPutAwayInDataBase, PutAwayMethodsEnum.WCS自动上架);
- }
- }
- catch (Exception ex)
- {
- return FailMessageStatus($"WCS上报托盘运行状态函数发生异常:【{ex.Message}】");
- }
- }
- #endregion
- }
- }
|