| | |
| | | System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteQiTaoInfoAsync(int deviceId, string stationCode, bool value); |
| | | |
| | | [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/InboundFinishConfirm", ReplyAction="http://tempuri.org/IStationService/InboundFinishConfirmResponse")] |
| | | iWareCC.StationService.SdaResEntity InboundFinishConfirm(int deviceId, string stationCode); |
| | | iWareCC.StationService.SdaResEntity InboundFinishConfirm(int deviceId, bool value, string stationCode); |
| | | |
| | | [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/InboundFinishConfirm", ReplyAction="http://tempuri.org/IStationService/InboundFinishConfirmResponse")] |
| | | System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> InboundFinishConfirmAsync(int deviceId, string stationCode); |
| | | System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> InboundFinishConfirmAsync(int deviceId, bool value, string stationCode); |
| | | |
| | | [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/OutboundFinishConfirm", ReplyAction="http://tempuri.org/IStationService/OutboundFinishConfirmResponse")] |
| | | iWareCC.StationService.SdaResEntity OutboundFinishConfirm(int deviceId, string stationCode); |
| | | iWareCC.StationService.SdaResEntity OutboundFinishConfirm(int deviceId, bool value, string stationCode); |
| | | |
| | | [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/OutboundFinishConfirm", ReplyAction="http://tempuri.org/IStationService/OutboundFinishConfirmResponse")] |
| | | System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> OutboundFinishConfirmAsync(int deviceId, string stationCode); |
| | | System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> OutboundFinishConfirmAsync(int deviceId, bool value, string stationCode); |
| | | |
| | | [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteInStoreTaskInfo", ReplyAction="http://tempuri.org/IStationService/WriteInStoreTaskInfoResponse")] |
| | | iWareCC.StationService.SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height, int inbound_TaskID); |
| | |
| | | return base.Channel.WriteQiTaoInfoAsync(deviceId, stationCode, value); |
| | | } |
| | | |
| | | public iWareCC.StationService.SdaResEntity InboundFinishConfirm(int deviceId, string stationCode) { |
| | | return base.Channel.InboundFinishConfirm(deviceId, stationCode); |
| | | public iWareCC.StationService.SdaResEntity InboundFinishConfirm(int deviceId, bool value, string stationCode) { |
| | | return base.Channel.InboundFinishConfirm(deviceId, value, stationCode); |
| | | } |
| | | |
| | | public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> InboundFinishConfirmAsync(int deviceId, string stationCode) { |
| | | return base.Channel.InboundFinishConfirmAsync(deviceId, stationCode); |
| | | public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> InboundFinishConfirmAsync(int deviceId, bool value, string stationCode) { |
| | | return base.Channel.InboundFinishConfirmAsync(deviceId, value, stationCode); |
| | | } |
| | | |
| | | public iWareCC.StationService.SdaResEntity OutboundFinishConfirm(int deviceId, string stationCode) { |
| | | return base.Channel.OutboundFinishConfirm(deviceId, stationCode); |
| | | public iWareCC.StationService.SdaResEntity OutboundFinishConfirm(int deviceId, bool value, string stationCode) { |
| | | return base.Channel.OutboundFinishConfirm(deviceId, value, stationCode); |
| | | } |
| | | |
| | | public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> OutboundFinishConfirmAsync(int deviceId, string stationCode) { |
| | | return base.Channel.OutboundFinishConfirmAsync(deviceId, stationCode); |
| | | public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> OutboundFinishConfirmAsync(int deviceId, bool value, string stationCode) { |
| | | return base.Channel.OutboundFinishConfirmAsync(deviceId, value, stationCode); |
| | | } |
| | | |
| | | public iWareCC.StationService.SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height, int inbound_TaskID) { |
| | |
| | | <xs:complexType> |
| | | <xs:sequence> |
| | | <xs:element minOccurs="0" name="deviceId" type="xs:int" /> |
| | | <xs:element minOccurs="0" name="value" type="xs:boolean" /> |
| | | <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" /> |
| | | </xs:sequence> |
| | | </xs:complexType> |
| | |
| | | <xs:complexType> |
| | | <xs:sequence> |
| | | <xs:element minOccurs="0" name="deviceId" type="xs:int" /> |
| | | <xs:element minOccurs="0" name="value" type="xs:boolean" /> |
| | | <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" /> |
| | | </xs:sequence> |
| | | </xs:complexType> |
| | |
| | | { |
| | | public partial class FormCC : Form |
| | | { |
| | | |
| | | /// <summary> |
| | | /// å
¨å±âæ¯å¦å¯ä»¥è¿è¡æ§è¡åºåºæ¨¡å¼ |
| | | /// </summary> |
| | | public static bool IsAllowRunOutMode = false; |
| | | |
| | | /// <summary> |
| | | /// 1å·å åæºå
¥åºå£æ«ç 强å¶éªè¯éè¿ |
| | | /// </summary> |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Net.NetworkInformation; |
| | | using System.Reflection.Emit; |
| | | using System.ServiceModel.Configuration; |
| | | using System.Text; |
| | | using System.Threading; |
| | |
| | | { |
| | | if (SystemValue.isAllowRuning_DataProcess_BZ01 && SystemValue.isStartedModel) |
| | | { |
| | | if (FormCC.IsAllowRunOutMode == true) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"æ£å¨å¹²åºåºæ¨¡å¼ï¼æ¤æ¹æ³æåãã "; |
| | | continue; |
| | | } |
| | | |
| | | var rgvLocation = StationLocationEnum.BZ01.ToString(); |
| | | /* |
| | | * 1ã仿°æ®åºä¸å¤ææ¯å¦é½å¥ |
| | |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}æ²¡ææ¾å°å¯¹è±¡ "; |
| | | continue; |
| | | } |
| | | |
| | | var isAllow = IsAllloRunOutTaskMode(wmsDB, upiObj); |
| | | if (isAllow) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()},å¤æè¦æ§è¡åºåºæ¨¡å¼äºï¼æ¤æ¹æ³æåãã "; |
| | | continue; |
| | | } |
| | | |
| | | //æ¥è¯¢æ¯å¦é½å
|
| | | var allList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList(); |
| | | var isQiTaoList = allList.Where(x => x.AreaCode == (int)AreaCodeEnum.å¾
ç¼ååæ£åº |
| | |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | var isAllow = IsAllloRunOutTaskMode(wmsDB, null); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦å¯ä»¥æ§è¡åºåºæ¨¡å¼ |
| | | /// </summary> |
| | | /// <param name="wmsDB"></param> |
| | | /// <param name="curUpiObj"></param> |
| | | /// <returns></returns> |
| | | private static bool IsAllloRunOutTaskMode(WmsDBModel wmsDB, mes_batchOrderUPI_new curUpiObj) |
| | | { |
| | | //é¦å
æ¥è¯¢æ°æ®åºä¸æ¯å¦æ è¦åºåºçæ°æ® |
| | | var isExistOutTaskForNewCreated = wmsDB.wms_rbline_task.Where(x => x.RbTaskType == (int)RbTaskTypeEnum.åºåºä»»å¡ |
| | | && x.TaskStatus == (int)TaskStatusEnum.æ°å»º |
| | | ).Count(); |
| | | if (isExistOutTaskForNewCreated == 0) |
| | | { |
| | | FormCC.IsAllowRunOutMode = false; |
| | | return false;//ä¸è½æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | |
| | | var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault(); |
| | | var lastUpi = rbRunMode.UPI; |
| | | var lastPackageCode = rbRunMode.PackageCode; |
| | | |
| | | if (curUpiObj == null) |
| | | {//è¡¨ç¤ºæ¤æ¶æ æ°æ¿è¿æ¥ |
| | | if (!string.IsNullOrEmpty(lastUpi)) |
| | | { |
| | | var lastObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == lastUpi).FirstOrDefault(); |
| | | if (lastObj.UpiStatus == (int)UpiStatusEnum.ä¸é½å
|| lastObj.UpiStatus == (int)UpiStatusEnum.åå§) |
| | | {//表示æåè¿å»çæ¿æ¯ä¸é½å
çæ¿ |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | else |
| | | {//表示æåè¿å»çæ¿æ¯é½å
çæ¿ |
| | | //è¦ç»§ç»å¤æåé¢ å¾
忣åºåè¿åå¨ç¸åå
çæ¿æ°æ®å |
| | | var isExistSamePackageCode = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == lastPackageCode |
| | | && x.AreaCode == (int)AreaCodeEnum.å¾
ç¼å忣åº).Count(); |
| | | if (isExistSamePackageCode > 0) |
| | | { |
| | | FormCC.IsAllowRunOutMode = false; |
| | | return false;//ä¸è½æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | else |
| | | { |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | } |
| | | else |
| | | {//è¡¨ç¤ºæ¤æ¶ææ°æ¿è¿æ¥ |
| | | if (!string.IsNullOrEmpty(lastUpi)) |
| | | { |
| | | if (lastPackageCode == curUpiObj.PackageCode) |
| | | { |
| | | FormCC.IsAllowRunOutMode = false; |
| | | return false;//ä¸è½æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | else |
| | | {//æ°å
è¿æ¥äº |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //å¯ä»¥è¿è¡æ§è¡ åºåºæ¨¡å¼ |
| | | } |
| | | } |
| | | |
| | | FormCC.IsAllowRunOutMode = true; |
| | | return true; |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | { |
| | | if (SystemValue.isAllowRuning_DataProcess_BZ39 && SystemValue.isStartedModel) |
| | | { |
| | | var rgvLocation = StationLocationEnum.BZ39.ToString(); |
| | | /* |
| | | * 1ã妿 bz01 çæ¿ææ¯æ°å
ï¼å¹¶ä¸æè¦åºåºçéæ±ï¼å°±åæ¢å°åºåºæ¨¡å¼ï¼å¦åæ¯å
¥åºæ¨¡å¼ |
| | | * 2ã |
| | | */ |
| | | |
| | | |
| | | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); |
| | | if (obj.R_ReqParseData) |
| | | if (FormCC.IsAllowRunOutMode) |
| | | { |
| | | var result = obj.R_ReadCodeResult; |
| | | if (string.IsNullOrEmpty(result)) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-请æ±äºè§£ç ï¼ä½æ¯ç»ææ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | var upiCode = result; |
| | | var qitaoReault = false; |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault(); |
| | | var lastUpi = rbRunMode.UPI; |
| | | var lastPackageCode = rbRunMode.PackageCode; |
| | | |
| | | var rgvLocation_BZ01 = StationLocationEnum.BZ01.ToString(); |
| | | var currUpi_BZ01 = ""; |
| | | var obj_BZ01 = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation_BZ01.ToString()).FirstOrDefault(); |
| | | if (obj.R_ReqParseData) |
| | | if (rbRunMode.LineRunMode == (int)RbRunModeEnum.åºåºæ¨¡å¼) |
| | | { |
| | | currUpi_BZ01 = obj_BZ01.R_ReadCodeResult; |
| | | } |
| | | if (string.IsNullOrEmpty(currUpi_BZ01)) |
| | | { |
| | | |
| | | } |
| | | |
| | | var rgvLocation22 = StationLocationEnum.BZ01.ToString(); |
| | | /* |
| | | * 1ã仿°æ®åºä¸å¤ææ¯å¦é½å¥ |
| | | * 2ãæ ¹æ®é½å¥ç»æï¼æ¨éç»PLC |
| | | */ |
| | | |
| | | |
| | | //è¦æ¯æå·²ä¸åçä»»å¡ï¼å°±ä¸è¦æ§è¡ |
| | | var isValidate = TaskHandler.ValidateIssueTaskForRobotBuffer(wmsDB); |
| | | if (!isValidate) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-æâå·²ä¸åâçä»»å¡ï¼ä¸è½å¤ç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"å·²ç»æ¯åºåºæ¨¡å¼äº,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | rbRunMode.LineRunMode = (int)RbRunModeEnum.åºåºæ¨¡å¼; |
| | | rbRunMode.LineRunModeName = RbRunModeEnum.åºåºæ¨¡å¼.ToString(); |
| | | rbRunMode.UpdateTime = DateTime.Now; |
| | | |
| | | //æ¨éç»PLCåæ¢æ¨¡å¼ |
| | | //using (StationServiceClient client = new StationServiceClient()) |
| | | //{ |
| | | // var res = await client.WriteOutStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, doTask.PlaceCode, Convert.ToInt32(doTask.TaskNo)); |
| | | // if (!res.result) |
| | | // { |
| | | // SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,WriteOutStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | | // continue; |
| | | // } |
| | | // else |
| | | // { |
| | | // Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,WriteOutStoreTaskInfoAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | // } |
| | | //} |
| | | |
| | | |
| | | var taskList = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_OutboundNumber |
| | | && x.RbTaskType == (int)RbTaskTypeEnum.åºåºä»»å¡ |
| | | && x.TaskStatus == (int)TaskStatusEnum.æ°å»º).OrderBy(x => x.PackageCode).ToList(); |
| | | if (taskList == null) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},æ ¹æ® R_OutboundNumber:{obj.R_OutboundNumber}æ²¡ææ¾å°å·²ä¸åçä»»å¡ "; |
| | | continue; |
| | | } |
| | | |
| | | var doTask = taskList.FirstOrDefault(); |
| | | |
| | | var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault(); |
| | | if (upiObj == null) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}æ²¡ææ¾å°å¯¹è±¡ "; |
| | | continue; |
| | | } |
| | | |
| | | //è¿éæ¹ä¸º ä¸å åºåºä»»å¡ |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.WriteOutStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, doTask.PlaceCode, Convert.ToInt32(doTask.TaskNo)); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,WriteOutStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,WriteOutStoreTaskInfoAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | } |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | |
| | | |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.WriteInStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, place.PlaceCode, |
| | | (short)upiObj.Length, |
| | | (short)upiObj.Width, (short)upiObj.Thk, Convert.ToInt32(task.TaskNo)); |
| | | //é¦å
å
æ¸
ç |
| | | var res = await client.InboundFinishConfirmAsync((int)EDevice.Station, false, rgvLocation); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ 失败,InboundFinishConfirmAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ æå,InboundFinishConfirmAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | |
| | | res = await client.WriteInStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, place.PlaceCode, |
| | | (short)upiObj.Length, |
| | | (short)upiObj.Width, (short)upiObj.Thk, Convert.ToInt32(task.TaskNo)); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ 失败,WriteInStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | |
| | | var rgvLocation = StationLocationEnum.BZ39.ToString(); |
| | | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); |
| | | if (obj.R_InboundFinish) |
| | | //if (true)//模æ |
| | | { |
| | | var result = obj.R_InboundNumber; |
| | | if (string.IsNullOrEmpty(result)) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}- å
¥åºåºä½å·æ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | var result2 = obj.R_Inbound_TaskID; |
| | | if (result2==0) |
| | | //var result = obj.R_InboundNumber; |
| | | //if (string.IsNullOrEmpty(result)) |
| | | //{ |
| | | // SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}- å
¥åºåºä½å·æ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | // continue; |
| | | //} |
| | | //obj.R_Inbound_TaskID = 17797;//模æ |
| | | var result2 = obj.R_Inbound_TaskID; |
| | | if (result2 == 0) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}- å
¥åºä»»å¡å·æ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | |
| | | var qitaoReault = false; |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | var task = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_InboundNumber |
| | | && x.TaskNo == obj.R_Inbound_TaskID.ToString() |
| | | var task = wmsDB.wms_rbline_task.Where(x => |
| | | x.TaskNo == obj.R_Inbound_TaskID.ToString() |
| | | && x.RbTaskType == (int)RbTaskTypeEnum.å
¥åºä»»å¡ |
| | | && x.TaskStatus == (int)TaskStatusEnum.å·²ä¸å).FirstOrDefault(); |
| | | if (task == null) |
| | |
| | | Id = Yitter.IdGenerator.YitIdHelper.NextId(), |
| | | Upi = upiCode, |
| | | PlanNo = task.PlanNo, |
| | | DetailName = upiObj.DetailName, |
| | | OrderId = task.OrderId, |
| | | CreateTime = DateTime.Now, |
| | | CreateUserName = "CC", |
| | | InTime = DateTime.Now, |
| | |
| | | //ç»PLCæ¨éä»»å¡å®æç¡®è®¤ä¿¡å· |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.InboundFinishConfirmAsync((int)EDevice.Station, rgvLocation); |
| | | var res = await client.InboundFinishConfirmAsync((int)EDevice.Station, true, rgvLocation); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-ä¸åå
¥åºä»»å¡ 失败,InboundFinishConfirmAsync è¿å:{res.resMsg}"; |
| | |
| | | //è¿éæ¹ä¸º ä¸å åºåºä»»å¡ |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.WriteOutStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, doTask.PlaceCode, Convert.ToInt32(doTask.TaskNo)); |
| | | //é¦å
è¦æ¸
ç |
| | | var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, true, rgvLocation); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,OutboundFinishConfirmAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,OutboundFinishConfirmAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | |
| | | res = await client.WriteOutStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, doTask.PlaceCode, Convert.ToInt32(doTask.TaskNo)); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,WriteOutStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | |
| | | using Admin.NET.Application; |
| | | using iWareCC.StationService; |
| | | using iWareCommon.Common.Globle; |
| | | using iWareCommon.Utils; |
| | | using iWareModel; |
| | |
| | | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); |
| | | if (obj.R_OutboundFinish) |
| | | { |
| | | var result = obj.R_OutboundNumber; |
| | | if (string.IsNullOrEmpty(result)) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- åºåºåºä½å·æ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | //var result = obj.R_OutboundNumber; |
| | | //if (string.IsNullOrEmpty(result)) |
| | | //{ |
| | | // SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- åºåºåºä½å·æ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | // continue; |
| | | //} |
| | | |
| | | var result2 = obj.R_Outbound_TaskID; |
| | | if (result2 == 0) |
| | |
| | | |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | var task = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_OutboundNumber |
| | | && x.TaskNo == obj.R_Outbound_TaskID.ToString() |
| | | var task = wmsDB.wms_rbline_task.Where(x => |
| | | x.TaskNo == obj.R_Outbound_TaskID.ToString() |
| | | && x.RbTaskType == (int)RbTaskTypeEnum.åºåºä»»å¡ |
| | | && x.TaskStatus == (int)TaskStatusEnum.å·²ä¸å).FirstOrDefault(); |
| | | if (task == null) |
| | |
| | | var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB); |
| | | place.PlaceStatus = (int)PlaceStatusEnum.æ£å¸¸; |
| | | |
| | | //ç»PLCæ¨éä»»å¡å®æç¡®è®¤ä¿¡å· |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, true, rgvLocation); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,OutboundFinishConfirmAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,OutboundFinishConfirmAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | } |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | } |
| | |
| | | /// <returns></returns> |
| | | public static string CreatePlcTaskIdForSrmTask() |
| | | { |
| | | int iSeed = 99999; |
| | | int iSeed = 65534; |
| | | //ä»101-9999ï¼ä¸ºä»ä¹è¦ä»101å¼å§ï¼å 为1-100ä½ä¸ºæå¨ä»»å¡ä¸åããEditBy shaocx,2022-05-10ã |
| | | return new Random(Guid.NewGuid().GetHashCode()).Next(101, iSeed).ToString(); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '/@/utils/request'; |
| | | enum Api { |
| | | AddWmsStockQuan = '/api/wmsStockQuan/add', |
| | | DeleteWmsStockQuan = '/api/wmsStockQuan/delete', |
| | | UpdateWmsStockQuan = '/api/wmsStockQuan/update', |
| | | PageWmsStockQuan = '/api/wmsStockQuan/page', |
| | | ListWmsStockQuan = '/api/wmsStockQuan/list', |
| | | DetailWmsStockQuan = '/api/wmsStockQuan/detail', |
| | | ImportExcelWmsStockQuan = '/api/wmsStockQuan/importExcel', |
| | | DownloadExcelTemplateWmsStockQuan = '/api/wmsStockQuan/downloadExcelTemplate', |
| | | } |
| | | |
| | | // å¢å åºåä¿¡æ¯ |
| | | export const addWmsStockQuan = (params?: any) => |
| | | request({ |
| | | url: Api.AddWmsStockQuan, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // å é¤åºåä¿¡æ¯ |
| | | export const deleteWmsStockQuan = (params?: any) => |
| | | request({ |
| | | url: Api.DeleteWmsStockQuan, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ç¼è¾åºåä¿¡æ¯ |
| | | export const updateWmsStockQuan = (params?: any) => |
| | | request({ |
| | | url: Api.UpdateWmsStockQuan, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // 导å
¥åºåä¿¡æ¯ |
| | | export const importExcelWmsStockQuan = (params?: any) => |
| | | request({ |
| | | url: Api.ImportExcelWmsStockQuan, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ä¸è½½å¯¼å
¥åºåä¿¡æ¯æ¨¡æ¿ |
| | | export const downloadExcelTemplateWmsStockQuan = (params?: any) => |
| | | request({ |
| | | url: Api.DownloadExcelTemplateWmsStockQuan, |
| | | method: 'get', |
| | | data: params, |
| | | responseType: 'blob' |
| | | }); |
| | | |
| | | |
| | | // å页æ¥è¯¢åºåä¿¡æ¯ |
| | | export const pageWmsStockQuan = (params?: any) => |
| | | request({ |
| | | url: Api.PageWmsStockQuan, |
| | | method: 'post', |
| | | data: params |
| | | }); |
| | | |
| | | // ä¸å页æ¥è¯¢åºåä¿¡æ¯ |
| | | export const listWmsStockQuan = (params?: any) => |
| | | request({ |
| | | url: Api.ListWmsStockQuan, |
| | | method: 'get', |
| | | data: params |
| | | }); |
| | | |
| | | // 详æ
åºåä¿¡æ¯ |
| | | export const detailWmsStockQuan = (id: any) => |
| | | request({ |
| | | url: Api.DetailWmsStockQuan, |
| | | method: 'get', |
| | | data: { id } |
| | | }); |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsStockQuan-container"> |
| | | <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false"> |
| | | <template #header> |
| | | <div style="color: #fff"> |
| | | <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>--> |
| | | <span>{{ props.title }}</span> |
| | | </div> |
| | | </template> |
| | | <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading"> |
| | | <el-row :gutter="35"> |
| | | <el-form-item v-show="false"> |
| | | <el-input v-model="ruleForm.id" /> |
| | | </el-form-item> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="åºä½ç¼ç " prop="placeCode"> |
| | | <el-input v-model="ruleForm.placeCode" placeholder="请è¾å
¥åºä½ç¼ç " maxlength="50" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="è¿å
¥æ¶é´" prop="inTime"> |
| | | <el-date-picker v-model="ruleForm.inTime" type="date" placeholder="è¿å
¥æ¶é´" /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="é¨ä»¶æ¡ç " prop="upi"> |
| | | <el-input v-model="ruleForm.upi" placeholder="请è¾å
¥é¨ä»¶æ¡ç " maxlength="100" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="é¨ä»¶åç§°" prop="detailName"> |
| | | <el-input v-model="ruleForm.detailName" placeholder="请è¾å
¥é¨ä»¶åç§°" maxlength="100" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æ¹æ¬¡" prop="planNo"> |
| | | <el-input v-model="ruleForm.planNo" placeholder="请è¾å
¥æ¹æ¬¡" maxlength="100" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="订åå·" prop="orderId"> |
| | | <el-input v-model="ruleForm.orderId" placeholder="请è¾å
¥è®¢åå·" maxlength="100" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="å
è£
å·" prop="packageCode"> |
| | | <el-input v-model="ruleForm.packageCode" placeholder="请è¾å
¥å
è£
å·" maxlength="100" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="é¿" prop="length"> |
| | | <el-input v-model="ruleForm.length" placeholder="请è¾å
¥é¿" maxlength="53" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="宽" prop="width"> |
| | | <el-input v-model="ruleForm.width" placeholder="请è¾å
¥å®½" maxlength="53" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="å" prop="thk"> |
| | | <el-input v-model="ruleForm.thk" placeholder="请è¾å
¥å" maxlength="53" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="åºåç¶æ" prop="stockStatus"> |
| | | <el-select clearable v-model="ruleForm.stockStatus" placeholder="è¯·éæ©åºåç¶æ"> |
| | | <el-option v-for="(item,index) in getEnumStockStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="åºåç¶æåç§°" prop="stockStatusName"> |
| | | <el-input v-model="ruleForm.stockStatusName" placeholder="请è¾å
¥åºåç¶æåç§°" maxlength="50" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æä½åå " prop="operReason"> |
| | | <el-input v-model="ruleForm.operReason" placeholder="请è¾å
¥æä½åå " maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æä½äºº" prop="operUser"> |
| | | <el-input v-model="ruleForm.operUser" placeholder="请è¾å
¥æä½äºº" maxlength="50" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="æä½æ¶é´" prop="operTime"> |
| | | <el-date-picker v-model="ruleForm.operTime" type="date" placeholder="æä½æ¶é´" /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="éå®ç¶æ" prop="lockStatus"> |
| | | <el-select clearable v-model="ruleForm.lockStatus" placeholder="è¯·éæ©éå®ç¶æ"> |
| | | <el-option v-for="(item,index) in getEnumLockStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="éå®åå " prop="lockReason"> |
| | | <el-input v-model="ruleForm.lockReason" placeholder="请è¾å
¥éå®åå " maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="éå®äºº" prop="lockUser"> |
| | | <el-input v-model="ruleForm.lockUser" placeholder="请è¾å
¥éå®äºº" maxlength="50" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="é宿¶é´" prop="lockTime"> |
| | | <el-date-picker v-model="ruleForm.lockTime" type="date" placeholder="é宿¶é´" /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="夿³¨" prop="remarks"> |
| | | <el-input v-model="ruleForm.remarks" placeholder="请è¾å
¥å¤æ³¨" maxlength="255" show-word-limit clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="cancel">å æ¶</el-button> |
| | | <el-button type="primary" @click="submit" :disabled="disabled_btn">ç¡® å®</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <style scoped> |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | <script lang="ts" setup> |
| | | import { ref,onMounted } from "vue"; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { ElMessage } from "element-plus"; |
| | | import type { FormRules } from "element-plus"; |
| | | import { addWmsStockQuan, updateWmsStockQuan, detailWmsStockQuan } from "/@/api/main/WmsStockQuan/wmsStockQuan"; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | |
| | | const getEnumStockStatusData = ref<any>([]); |
| | | const getEnumLockStatusData = ref<any>([]); |
| | | //ç¶çº§ä¼ 鿥çåæ° |
| | | var props = defineProps({ |
| | | title: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }); |
| | | //ç¶çº§ä¼ 鿥ç彿°ï¼ç¨äºåè° |
| | | const emit = defineEmits(["reloadTable"]); |
| | | const ruleFormRef = ref(); |
| | | const isShowDialog = ref(false); |
| | | const loading = ref(false); |
| | | const disabled_btn = ref(false); |
| | | const ruleForm = ref<any>({}); |
| | | //èªè¡æ·»å å
¶ä»è§å |
| | | const rules = ref<FormRules>({ |
| | | placeCode: [{required: true, message: '请è¾å
¥åºä½ç¼ç ï¼', trigger: 'blur',},], |
| | | upi: [{required: true, message: '请è¾å
¥é¨ä»¶æ¡ç ï¼', trigger: 'blur',},], |
| | | detailName: [{required: true, message: '请è¾å
¥é¨ä»¶åç§°ï¼', trigger: 'blur',},], |
| | | planNo: [{required: true, message: '请è¾å
¥æ¹æ¬¡ï¼', trigger: 'blur',},], |
| | | orderId: [{required: true, message: '请è¾å
¥è®¢åå·ï¼', trigger: 'blur',},], |
| | | packageCode: [{required: true, message: '请è¾å
¥å
è£
å·ï¼', trigger: 'blur',},], |
| | | length: [{required: true, message: '请è¾å
¥é¿ï¼', trigger: 'blur',},], |
| | | width: [{required: true, message: '请è¾å
¥å®½ï¼', trigger: 'blur',},], |
| | | thk: [{required: true, message: '请è¾å
¥åï¼', trigger: 'blur',},], |
| | | stockStatus: [{required: true, message: 'è¯·éæ©åºåç¶æï¼', trigger: 'change',},], |
| | | stockStatusName: [{required: true, message: '请è¾å
¥åºåç¶æåç§°ï¼', trigger: 'blur',},], |
| | | lockStatus: [{required: true, message: 'è¯·éæ©éå®ç¶æï¼', trigger: 'change',},], |
| | | isDelete: [{required: true, message: 'è¯·éæ©è½¯å é¤ï¼', trigger: 'change',},], |
| | | }); |
| | | |
| | | /* |
| | | * æå¼å¼¹çª |
| | | * @param flag æ è®°ï¼1æ°å¢ 2ç¼è¾ 3æ¥çï¼ |
| | | * @param row è¡æ°æ® |
| | | */ |
| | | const openDialog = async (flag: number,row: any) => { |
| | | // ruleForm.value = JSON.parse(JSON.stringify(row)); |
| | | // æ¹ç¨detailè·åææ°æ°æ®æ¥ç¼è¾ |
| | | let rowData = JSON.parse(JSON.stringify(row)); |
| | | if (rowData.id) |
| | | ruleForm.value = (await detailWmsStockQuan(rowData.id)).data.result; |
| | | else { |
| | | ruleForm.value = rowData; |
| | | } |
| | | isShowDialog.value = true; |
| | | }; |
| | | |
| | | // å
³éå¼¹çª |
| | | const closeDialog = () => { |
| | | emit("reloadTable"); |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | // åæ¶ |
| | | const cancel = () => { |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | // æäº¤ |
| | | const submit = async () => { |
| | | disabled_btn.value = true; |
| | | ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { |
| | | if (isValid) { |
| | | loading.value = true; |
| | | let values = ruleForm.value; |
| | | let ret={}; |
| | | let title='æ°å¢'; |
| | | if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) { |
| | | ret = await addWmsStockQuan(values); |
| | | } else { |
| | | title='ç¼è¾'; |
| | | ret = await updateWmsStockQuan(values); |
| | | } |
| | | loading.value = false; |
| | | disabled_btn.value = false; |
| | | if(ret.data.type=="success"){ |
| | | ElMessage.success(title+'æå'); |
| | | closeDialog(); |
| | | } |
| | | } else { |
| | | disabled_btn.value = false; |
| | | ElMessage({ |
| | | message: `表åæ${Object.keys(fields).length}å¤éªè¯å¤±è´¥ï¼è¯·ä¿®æ¹ååæäº¤`, |
| | | type: "error", |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 页é¢å è½½æ¶ |
| | | onMounted(async () => { |
| | | getEnumStockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? []; |
| | | getEnumLockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? []; |
| | | }); |
| | | |
| | | //å°å±æ§æè
彿°æ´é²ç»ç¶ç»ä»¶ |
| | | defineExpose({ openDialog }); |
| | | </script> |
| | | |
| | | |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="wmsStockQuan-container"> |
| | | <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> |
| | | <el-form :model="queryParamsWmsStockQuan" ref="queryForm" labelWidth="90"> |
| | | <el-row> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> |
| | | <el-form-item label="å
³é®å"> |
| | | <el-input v-model="queryParamsWmsStockQuan.searchKey" clearable="" placeholder="åºä½ç¼ç ,é¨ä»¶æ¡ç ,é¨ä»¶åç§°,æ¹æ¬¡,订åå·,å
è£
å·,åºåç¶æåç§°,æä½åå ,æä½äºº,éå®åå ,éå®äºº,夿³¨,å建人,ä¿®æ¹äºº"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="åºä½ç¼ç "> |
| | | <el-input v-model="queryParamsWmsStockQuan.placeCode" clearable="" placeholder="请è¾å
¥åºä½ç¼ç "/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="è¿å
¥æ¶é´"> |
| | | <el-date-picker placeholder="è¯·éæ©è¿å
¥æ¶é´" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockQuan.inTimeRange" /> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="é¨ä»¶æ¡ç "> |
| | | <el-input v-model="queryParamsWmsStockQuan.upi" clearable="" placeholder="请è¾å
¥é¨ä»¶æ¡ç "/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="é¨ä»¶åç§°"> |
| | | <el-input v-model="queryParamsWmsStockQuan.detailName" clearable="" placeholder="请è¾å
¥é¨ä»¶åç§°"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="æ¹æ¬¡"> |
| | | <el-input v-model="queryParamsWmsStockQuan.planNo" clearable="" placeholder="请è¾å
¥æ¹æ¬¡"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="订åå·"> |
| | | <el-input v-model="queryParamsWmsStockQuan.orderId" clearable="" placeholder="请è¾å
¥è®¢åå·"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="å
è£
å·"> |
| | | <el-input v-model="queryParamsWmsStockQuan.packageCode" clearable="" placeholder="请è¾å
¥å
è£
å·"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="é¿"> |
| | | <el-input v-model="queryParamsWmsStockQuan.length" clearable="" placeholder="请è¾å
¥é¿"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="宽"> |
| | | <el-input v-model="queryParamsWmsStockQuan.width" clearable="" placeholder="请è¾å
¥å®½"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="å"> |
| | | <el-input v-model="queryParamsWmsStockQuan.thk" clearable="" placeholder="请è¾å
¥å"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="åºåç¶æ"> |
| | | <el-select clearable="" v-model="queryParamsWmsStockQuan.stockStatus" placeholder="è¯·éæ©åºåç¶æ"> |
| | | <el-option v-for="(item,index) in getEnumStockStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="åºåç¶æåç§°"> |
| | | <el-input v-model="queryParamsWmsStockQuan.stockStatusName" clearable="" placeholder="请è¾å
¥åºåç¶æåç§°"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="æä½åå "> |
| | | <el-input v-model="queryParamsWmsStockQuan.operReason" clearable="" placeholder="请è¾å
¥æä½åå "/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="æä½äºº"> |
| | | <el-input v-model="queryParamsWmsStockQuan.operUser" clearable="" placeholder="请è¾å
¥æä½äºº"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="æä½æ¶é´"> |
| | | <el-date-picker placeholder="è¯·éæ©æä½æ¶é´" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockQuan.operTimeRange" /> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="éå®ç¶æ"> |
| | | <el-select clearable="" v-model="queryParamsWmsStockQuan.lockStatus" placeholder="è¯·éæ©éå®ç¶æ"> |
| | | <el-option v-for="(item,index) in getEnumLockStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" /> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="éå®åå "> |
| | | <el-input v-model="queryParamsWmsStockQuan.lockReason" clearable="" placeholder="请è¾å
¥éå®åå "/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="éå®äºº"> |
| | | <el-input v-model="queryParamsWmsStockQuan.lockUser" clearable="" placeholder="请è¾å
¥éå®äºº"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="é宿¶é´"> |
| | | <el-date-picker placeholder="è¯·éæ©é宿¶é´" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockQuan.lockTimeRange" /> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan"> |
| | | <el-form-item label="夿³¨"> |
| | | <el-input v-model="queryParamsWmsStockQuan.remarks" clearable="" placeholder="请è¾å
¥å¤æ³¨"/> |
| | | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> |
| | | <el-form-item> |
| | | <el-button-group style="display: flex; align-items: center;"> |
| | | <el-button type="primary" icon="ele-Search" @click="handleQueryWmsStockQuan" v-auth="'wmsStockQuan:page'" :disabled="disabled_btnWmsStockQuan"> æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-Refresh" @click="resetWmsStockQuan"> éç½® </el-button> |
| | | <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan" v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left:5px;"> é«çº§æ¥è¯¢ </el-button> |
| | | <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan" v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left:5px;"> éè </el-button> |
| | | <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsStockQuan" v-auth="'wmsStockQuan:add'"> æ°å¢ </el-button> |
| | | <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsStockQuan" v-auth="'wmsStockQuan:exportExcel'" > å¯¼åº </el-button> |
| | | </el-button-group> |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-card> |
| | | <el-card class="full-table" shadow="hover" style="margin-top: 5px"> |
| | | <el-table |
| | | ref="tableRefWmsStockQuan" |
| | | :data="tableDataWmsStockQuan" |
| | | style="width: 100%" |
| | | v-loading="loadingWmsStockQuan" |
| | | tooltip-effect="light" |
| | | row-key="id" |
| | | @sort-change="sortChangeWmsStockQuan" |
| | | border=""> |
| | | <el-table-column type="index" label="åºå·" width="55" align="center"/> |
| | | <el-table-column prop="placeCode" label="åºä½ç¼ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="inTime" label="è¿å
¥æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="upi" label="é¨ä»¶æ¡ç " show-overflow-tooltip="" /> |
| | | <el-table-column prop="detailName" label="é¨ä»¶åç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="planNo" label="æ¹æ¬¡" show-overflow-tooltip="" /> |
| | | <el-table-column prop="orderId" label="订åå·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="packageCode" label="å
è£
å·" show-overflow-tooltip="" /> |
| | | <el-table-column prop="length" label="é¿" show-overflow-tooltip="" /> |
| | | <el-table-column prop="width" label="宽" show-overflow-tooltip="" /> |
| | | <el-table-column prop="thk" label="å" show-overflow-tooltip="" /> |
| | | <el-table-column prop="stockStatus" label="åºåç¶æ" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | <el-tag>{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="stockStatusName" label="åºåç¶æåç§°" show-overflow-tooltip="" /> |
| | | <el-table-column prop="operReason" label="æä½åå " show-overflow-tooltip="" /> |
| | | <el-table-column prop="operUser" label="æä½äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="operTime" label="æä½æ¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockStatus" label="éå®ç¶æ" show-overflow-tooltip="" > |
| | | <template #default="scope"> |
| | | <el-tag>{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index)}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="lockReason" label="éå®åå " show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockUser" label="éå®äºº" show-overflow-tooltip="" /> |
| | | <el-table-column prop="lockTime" label="é宿¶é´" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" /> |
| | | <el-table-column prop="remarks" label="夿³¨" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createTime" label="å建æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateTime" label="ä¿®æ¹æ¶é´" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" /> |
| | | <el-table-column prop="createUserName" label="å建人" show-overflow-tooltip="" /> |
| | | <el-table-column prop="updateUserName" label="ä¿®æ¹äºº" show-overflow-tooltip="" /> |
| | | <el-table-column label="æä½" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsStockQuan:update') || auth('wmsStockQuan:delete')"> |
| | | <template #default="scope"> |
| | | <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:update'"> ç¼è¾ </el-button> |
| | | <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:delete'"> å é¤ </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | v-model:currentPage="tableParamsWmsStockQuan.page" |
| | | v-model:page-size="tableParamsWmsStockQuan.pageSize" |
| | | :total="tableParamsWmsStockQuan.total" |
| | | :page-sizes="[10, 20, 50, 100, 200, 500]" |
| | | small="" |
| | | background="" |
| | | @size-change="handleSizeChangeWmsStockQuan" |
| | | @current-change="handleCurrentChangeWmsStockQuan" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | /> |
| | | <printDialogWmsStockQuan |
| | | ref="printDialogRefWmsStockQuan" |
| | | :title="printWmsStockQuanTitle" |
| | | @reloadTable="handleQueryWmsStockQuan" /> |
| | | <editDialogWmsStockQuan |
| | | ref="editDialogRefWmsStockQuan" |
| | | :title="editWmsStockQuanTitle" |
| | | @reloadTable="handleQueryWmsStockQuan" |
| | | /> |
| | | </el-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup="" name="wmsStockQuan"> |
| | | import { ref,onMounted } from "vue"; |
| | | import { ElMessageBox, ElMessage } from "element-plus"; |
| | | import { auth } from '/@/utils/authFunction'; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime'; |
| | | import { exportPageExcel } from '/@/utils/exportPageExcel' //å¼å
¥å¯¼åºæ¹æ³ |
| | | |
| | | |
| | | import printDialogWmsStockQuan from '/@/views/system/print/component/hiprint/preview.vue' |
| | | import { pageWmsStockQuan, deleteWmsStockQuan,importExcelWmsStockQuan,downloadExcelTemplateWmsStockQuan } from '/@/api/main/WmsStockQuan/wmsStockQuan'; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | import commonFunction from '/@/utils/commonFunction'; |
| | | |
| | | const getEnumStockStatusData_Index = ref<any>([]); |
| | | const getEnumLockStatusData_Index = ref<any>([]); |
| | | |
| | | const { getEnumDesc } = commonFunction(); |
| | | |
| | | /***************************************************[åºåä¿¡æ¯æä½]å¼å§***************************************************/ |
| | | const showAdvanceQueryUIWmsStockQuan = ref(false); |
| | | const tableRefWmsStockQuan = ref(null); |
| | | const printDialogRefWmsStockQuan = ref(); |
| | | const editDialogRefWmsStockQuan = ref(); |
| | | const loadingWmsStockQuan = ref(false); |
| | | const disabled_btnWmsStockQuan = ref(false); |
| | | const tableDataWmsStockQuan = ref<any>([]); |
| | | const queryParamsWmsStockQuan = ref<any>({}); |
| | | const tableParamsWmsStockQuan = ref({ |
| | | page: 1, |
| | | pageSize: 10, |
| | | total: 0, |
| | | }); |
| | | |
| | | const printWmsStockQuanTitle = ref(""); |
| | | const editWmsStockQuanTitle = ref(""); |
| | | |
| | | // æ¹åé«çº§æ¥è¯¢çæ§ä»¶æ¾ç¤ºç¶æ |
| | | const changeAdvanceQueryUIWmsStockQuan = () => { |
| | | showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value; |
| | | } |
| | | |
| | | // æ¥è¯¢åºåä¿¡æ¯ |
| | | const handleQueryWmsStockQuan = async () => { |
| | | loadingWmsStockQuan.value = true; |
| | | disabled_btnWmsStockQuan.value = true; |
| | | var res = await pageWmsStockQuan(Object.assign(queryParamsWmsStockQuan.value, tableParamsWmsStockQuan.value)); |
| | | if(res.data.type=="success"){ |
| | | tableDataWmsStockQuan.value = res.data.result?.items ?? []; |
| | | tableParamsWmsStockQuan.value.total = res.data.result?.total; |
| | | } |
| | | loadingWmsStockQuan.value = false; |
| | | disabled_btnWmsStockQuan.value = false; |
| | | }; |
| | | |
| | | // éç½®åºåä¿¡æ¯æ¥è¯¢ |
| | | const resetWmsStockQuan = async () => { |
| | | queryParamsWmsStockQuan.value = {} |
| | | }; |
| | | |
| | | // åºåä¿¡æ¯åæåº |
| | | const sortChangeWmsStockQuan = async (column: any) => { |
| | | queryParamsWmsStockQuan.value.field = column.prop; |
| | | queryParamsWmsStockQuan.value.order = column.order; |
| | | await handleQueryWmsStockQuan(); |
| | | }; |
| | | |
| | | // æå¼æ°å¢åºåä¿¡æ¯é¡µé¢ |
| | | const openAddWmsStockQuan = () => { |
| | | editWmsStockQuanTitle.value = 'æ·»å åºåä¿¡æ¯'; |
| | | editDialogRefWmsStockQuan.value.openDialog(1,{}); |
| | | }; |
| | | |
| | | // æå¼æå°åºåä¿¡æ¯é¡µé¢ |
| | | const openPrintWmsStockQuan = async (row: any) => { |
| | | printWmsStockQuanTitle.value = 'æå°åºåä¿¡æ¯'; |
| | | } |
| | | |
| | | // æå¼ç¼è¾åºåä¿¡æ¯é¡µé¢ |
| | | const openEditWmsStockQuan = (row: any) => { |
| | | editWmsStockQuanTitle.value = 'ç¼è¾åºåä¿¡æ¯'; |
| | | editDialogRefWmsStockQuan.value.openDialog(2,row); |
| | | }; |
| | | |
| | | // å é¤åºåä¿¡æ¯ |
| | | const delWmsStockQuan = (row: any) => { |
| | | ElMessageBox.confirm(`ç¡®å®è¦å é¤å?`, "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "warning", |
| | | }) |
| | | .then(async () => { |
| | | loadingWmsStockQuan.value = true; |
| | | var ret = await deleteWmsStockQuan(row); |
| | | if(ret.data.type=="success"){ |
| | | ElMessage.success("å 餿å"); |
| | | } |
| | | loadingWmsStockQuan.value = false; |
| | | handleQueryWmsStockQuan(); |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | |
| | | // æ¹ååºåä¿¡æ¯é¡µé¢å®¹é |
| | | const handleSizeChangeWmsStockQuan = (val: number) => { |
| | | tableParamsWmsStockQuan.value.pageSize = val; |
| | | handleQueryWmsStockQuan(); |
| | | }; |
| | | |
| | | // æ¹ååºåä¿¡æ¯é¡µç åºå· |
| | | const handleCurrentChangeWmsStockQuan = (val: number) => { |
| | | tableParamsWmsStockQuan.value.page = val; |
| | | handleQueryWmsStockQuan(); |
| | | }; |
| | | |
| | | /***************************************************[åºåä¿¡æ¯æä½]ç»æ***************************************************/ |
| | | /***************************************************[åºåä¿¡æ¯å¯¼åº]å¼å§***************************************************/ |
| | | //å®ä¹å½å页é¢çæ¹æ³ç» |
| | | const functionMapWmsStockQuan = { |
| | | getEnumStockStatusData_Index, |
| | | getEnumLockStatusData_Index, |
| | | formatDate_T_Date, |
| | | formatDate_T_Time |
| | | }; |
| | | //ç¹å»å¯¼åºæé® |
| | | const handleExportExcelWmsStockQuan = async (formData:Blob) => { |
| | | loadingWmsStockQuan.value = true; |
| | | disabled_btnWmsStockQuan.value = true; |
| | | var new_tableParamsWmsStockQuan=JSON.parse(JSON.stringify(tableParamsWmsStockQuan.value)); |
| | | new_tableParamsWmsStockQuan.page = 1; |
| | | new_tableParamsWmsStockQuan.pageSize = 100000; |
| | | var res = await pageWmsStockQuan(Object.assign(queryParamsWmsStockQuan.value, new_tableParamsWmsStockQuan)); |
| | | if(res.data.type=="success"){ |
| | | exportExcelWmsStockQuan(res.data.result?.items ?? []); |
| | | } |
| | | loadingWmsStockQuan.value = false; |
| | | disabled_btnWmsStockQuan.value = false; |
| | | }; |
| | | //å¯¼åº |
| | | const exportExcelWmsStockQuan = async (exportDataList:Array) => { |
| | | exportPageExcel(exportDataList, tableRefWmsStockQuan,"åºåä¿¡æ¯",functionMapWmsStockQuan); |
| | | }; |
| | | /***************************************************[åºåä¿¡æ¯å¯¼åº]ç»æ***************************************************/ |
| | | // åºåä¿¡æ¯é¡µé¢å è½½æ¶ |
| | | onMounted(async () => { |
| | | getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? []; |
| | | getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? []; |
| | | }); |
| | | |
| | | handleQueryWmsStockQuan(); |
| | | </script> |
| | | <style scoped> |
| | | :deep(.el-input), |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using Admin.NET.Core; |
| | | using System.ComponentModel.DataAnnotations; |
| | | |
| | | namespace Admin.NET.Application; |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯åºç¡è¾å
¥åæ° |
| | | /// </summary> |
| | | public class WmsStockQuanBaseInput |
| | | { |
| | | /// <summary> |
| | | /// åºä½ç¼ç |
| | | /// </summary> |
| | | public virtual string PlaceCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´ |
| | | /// </summary> |
| | | public virtual DateTime? InTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶æ¡ç |
| | | /// </summary> |
| | | public virtual string Upi { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶åç§° |
| | | /// </summary> |
| | | public virtual string DetailName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¹æ¬¡ |
| | | /// </summary> |
| | | public virtual string PlanNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 订åå· |
| | | /// </summary> |
| | | public virtual string OrderId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å
è£
å· |
| | | /// </summary> |
| | | public virtual string PackageCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¿ |
| | | /// </summary> |
| | | public virtual float Length { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 宽 |
| | | /// </summary> |
| | | public virtual float Width { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å |
| | | /// </summary> |
| | | public virtual float Thk { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æ |
| | | /// </summary> |
| | | public virtual Admin.NET.Application.StockStatusEnum StockStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æåç§° |
| | | /// </summary> |
| | | public virtual string StockStatusName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½åå |
| | | /// </summary> |
| | | public virtual string OperReason { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½äºº |
| | | /// </summary> |
| | | public virtual string OperUser { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½æ¶é´ |
| | | /// </summary> |
| | | public virtual DateTime? OperTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®ç¶æ |
| | | /// </summary> |
| | | public virtual Admin.NET.Application.LockStatusEnum LockStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®åå |
| | | /// </summary> |
| | | public virtual string LockReason { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®äºº |
| | | /// </summary> |
| | | public virtual string LockUser { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é宿¶é´ |
| | | /// </summary> |
| | | public virtual DateTime? LockTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | public virtual string Remarks { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建æ¶é´ |
| | | /// </summary> |
| | | public virtual DateTime? CreateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹æ¶é´ |
| | | /// </summary> |
| | | public virtual DateTime? UpdateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人Id |
| | | /// </summary> |
| | | public virtual long? CreateUserId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | public virtual string CreateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äººId |
| | | /// </summary> |
| | | public virtual long? UpdateUserId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äºº |
| | | /// </summary> |
| | | public virtual string UpdateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 软å é¤ |
| | | /// </summary> |
| | | public virtual bool IsDelete { get; set; } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯å页æ¥è¯¢è¾å
¥åæ° |
| | | /// </summary> |
| | | public class WmsStockQuanInput : BasePageInput |
| | | { |
| | | /// <summary> |
| | | /// å
³é®åæ¥è¯¢ |
| | | /// </summary> |
| | | public string? SearchKey { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºä½ç¼ç |
| | | /// </summary> |
| | | public string? PlaceCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´ |
| | | /// </summary> |
| | | public DateTime? InTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´èå´ |
| | | /// </summary> |
| | | public List<DateTime?> InTimeRange { get; set; } |
| | | /// <summary> |
| | | /// é¨ä»¶æ¡ç |
| | | /// </summary> |
| | | public string? Upi { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶åç§° |
| | | /// </summary> |
| | | public string? DetailName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¹æ¬¡ |
| | | /// </summary> |
| | | public string? PlanNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 订åå· |
| | | /// </summary> |
| | | public string? OrderId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å
è£
å· |
| | | /// </summary> |
| | | public string? PackageCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¿ |
| | | /// </summary> |
| | | public float? Length { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 宽 |
| | | /// </summary> |
| | | public float? Width { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å |
| | | /// </summary> |
| | | public float? Thk { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æ |
| | | /// </summary> |
| | | public Admin.NET.Application.StockStatusEnum? StockStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æåç§° |
| | | /// </summary> |
| | | public string? StockStatusName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½åå |
| | | /// </summary> |
| | | public string? OperReason { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½äºº |
| | | /// </summary> |
| | | public string? OperUser { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½æ¶é´ |
| | | /// </summary> |
| | | public DateTime? OperTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½æ¶é´èå´ |
| | | /// </summary> |
| | | public List<DateTime?> OperTimeRange { get; set; } |
| | | /// <summary> |
| | | /// éå®ç¶æ |
| | | /// </summary> |
| | | public Admin.NET.Application.LockStatusEnum? LockStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®åå |
| | | /// </summary> |
| | | public string? LockReason { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®äºº |
| | | /// </summary> |
| | | public string? LockUser { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é宿¶é´ |
| | | /// </summary> |
| | | public DateTime? LockTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é宿¶é´èå´ |
| | | /// </summary> |
| | | public List<DateTime?> LockTimeRange { get; set; } |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | public string? Remarks { get; set; } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯å¢å è¾å
¥åæ° |
| | | /// </summary> |
| | | public class AddWmsStockQuanInput : WmsStockQuanBaseInput |
| | | { |
| | | /// <summary> |
| | | /// åºä½ç¼ç |
| | | /// </summary> |
| | | [Required(ErrorMessage = "åºä½ç¼ç ä¸è½ä¸ºç©º")] |
| | | public override string PlaceCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶æ¡ç |
| | | /// </summary> |
| | | [Required(ErrorMessage = "é¨ä»¶æ¡ç ä¸è½ä¸ºç©º")] |
| | | public override string Upi { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶åç§° |
| | | /// </summary> |
| | | [Required(ErrorMessage = "é¨ä»¶åç§°ä¸è½ä¸ºç©º")] |
| | | public override string DetailName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¹æ¬¡ |
| | | /// </summary> |
| | | [Required(ErrorMessage = "æ¹æ¬¡ä¸è½ä¸ºç©º")] |
| | | public override string PlanNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 订åå· |
| | | /// </summary> |
| | | [Required(ErrorMessage = "订åå·ä¸è½ä¸ºç©º")] |
| | | public override string OrderId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å
è£
å· |
| | | /// </summary> |
| | | [Required(ErrorMessage = "å
è£
å·ä¸è½ä¸ºç©º")] |
| | | public override string PackageCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¿ |
| | | /// </summary> |
| | | [Required(ErrorMessage = "é¿ä¸è½ä¸ºç©º")] |
| | | public override float Length { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 宽 |
| | | /// </summary> |
| | | [Required(ErrorMessage = "宽ä¸è½ä¸ºç©º")] |
| | | public override float Width { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å |
| | | /// </summary> |
| | | [Required(ErrorMessage = "åä¸è½ä¸ºç©º")] |
| | | public override float Thk { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æ |
| | | /// </summary> |
| | | [Required(ErrorMessage = "åºåç¶æä¸è½ä¸ºç©º")] |
| | | public override Admin.NET.Application.StockStatusEnum StockStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æåç§° |
| | | /// </summary> |
| | | [Required(ErrorMessage = "åºåç¶æåç§°ä¸è½ä¸ºç©º")] |
| | | public override string StockStatusName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®ç¶æ |
| | | /// </summary> |
| | | [Required(ErrorMessage = "éå®ç¶æä¸è½ä¸ºç©º")] |
| | | public override Admin.NET.Application.LockStatusEnum LockStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 软å é¤ |
| | | /// </summary> |
| | | [Required(ErrorMessage = "软å é¤ä¸è½ä¸ºç©º")] |
| | | public override bool IsDelete { get; set; } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯å é¤è¾å
¥åæ° |
| | | /// </summary> |
| | | public class DeleteWmsStockQuanInput : BaseIdInput |
| | | { |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯æ´æ°è¾å
¥åæ° |
| | | /// </summary> |
| | | public class UpdateWmsStockQuanInput : AddWmsStockQuanInput |
| | | { |
| | | /// <summary> |
| | | /// 主é®Id |
| | | /// </summary> |
| | | [Required(ErrorMessage = "主é®Idä¸è½ä¸ºç©º")] |
| | | public long Id { get; set; } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯ä¸»é®æ¥è¯¢è¾å
¥åæ° |
| | | /// </summary> |
| | | public class QueryByIdWmsStockQuanInput : DeleteWmsStockQuanInput |
| | | { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | namespace Admin.NET.Application; |
| | | |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯è¾åºåæ° |
| | | /// </summary> |
| | | public class WmsStockQuanOutput |
| | | { |
| | | /// <summary> |
| | | /// 主é®Id |
| | | /// </summary> |
| | | public long? Id { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºä½ç¼ç |
| | | /// </summary> |
| | | public string PlaceCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è¿å
¥æ¶é´ |
| | | /// </summary> |
| | | public DateTime? InTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶æ¡ç |
| | | /// </summary> |
| | | public string Upi { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨ä»¶åç§° |
| | | /// </summary> |
| | | public string DetailName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¹æ¬¡ |
| | | /// </summary> |
| | | public string PlanNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 订åå· |
| | | /// </summary> |
| | | public string OrderId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å
è£
å· |
| | | /// </summary> |
| | | public string PackageCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¿ |
| | | /// </summary> |
| | | public float Length { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 宽 |
| | | /// </summary> |
| | | public float Width { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å |
| | | /// </summary> |
| | | public float Thk { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æ |
| | | /// </summary> |
| | | public Admin.NET.Application.StockStatusEnum StockStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåç¶æåç§° |
| | | /// </summary> |
| | | public string StockStatusName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½åå |
| | | /// </summary> |
| | | public string OperReason { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½äºº |
| | | /// </summary> |
| | | public string OperUser { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æä½æ¶é´ |
| | | /// </summary> |
| | | public DateTime? OperTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®ç¶æ |
| | | /// </summary> |
| | | public Admin.NET.Application.LockStatusEnum LockStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®åå |
| | | /// </summary> |
| | | public string LockReason { get; set; } |
| | | |
| | | /// <summary> |
| | | /// éå®äºº |
| | | /// </summary> |
| | | public string LockUser { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é宿¶é´ |
| | | /// </summary> |
| | | public DateTime? LockTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | public string Remarks { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建æ¶é´ |
| | | /// </summary> |
| | | public DateTime? CreateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹æ¶é´ |
| | | /// </summary> |
| | | public DateTime? UpdateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人Id |
| | | /// </summary> |
| | | public long? CreateUserId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | public string CreateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äººId |
| | | /// </summary> |
| | | public long? UpdateUserId { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ä¿®æ¹äºº |
| | | /// </summary> |
| | | public string UpdateUserName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 软å é¤ |
| | | /// </summary> |
| | | public bool IsDelete { get; set; } |
| | | |
| | | } |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using Admin.NET.Core.Service; |
| | | using Admin.NET.Application.Entity; |
| | | using Microsoft.AspNetCore.Http; |
| | | using System.Data; |
| | | using System.Web; |
| | | using System.Text; |
| | | namespace Admin.NET.Application; |
| | | /// <summary> |
| | | /// åºåä¿¡æ¯æå¡ |
| | | /// </summary> |
| | | [ApiDescriptionSettings(ApplicationConst.WmsStockQuanGroupName, Order = 100)] |
| | | public class WmsStockQuanService : IDynamicApiController, ITransient |
| | | { |
| | | private readonly SqlSugarRepository<WmsStockQuan> _rep; |
| | | public WmsStockQuanService(SqlSugarRepository<WmsStockQuan> rep) |
| | | { |
| | | _rep = rep; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å页æ¥è¯¢åºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [ApiDescriptionSettings(Name = "Page")] |
| | | [Description("WmsStockQuan/Page")] |
| | | public async Task<SqlSugarPagedList<WmsStockQuanOutput>> Page(WmsStockQuanInput input) |
| | | { |
| | | var query = CommonPageFilter(input); |
| | | return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¸å页æ¥è¯¢åºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "List")] |
| | | [Description("WmsStockQuan/List")] |
| | | public async Task<List<WmsStockQuanOutput>> List([FromQuery] WmsStockQuanInput input) |
| | | { |
| | | var query = CommonPageFilter(input); |
| | | return await query.OrderBuilder(input, "", "Id").Select<WmsStockQuanOutput>().ToListAsync(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å¢å åºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [ApiDescriptionSettings(Name = "Add")] |
| | | [Description("WmsStockQuan/Add")] |
| | | public async Task<long> Add(AddWmsStockQuanInput input) |
| | | { |
| | | var entity = input.Adapt<WmsStockQuan>(); |
| | | |
| | | //é夿§éªè¯ |
| | | await CheckExist(entity); |
| | | |
| | | await _rep.InsertAsync(entity); |
| | | return entity.Id; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å é¤åºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [ApiDescriptionSettings(Name = "Delete")] |
| | | [Description("WmsStockQuan/Delete")] |
| | | public async Task Delete(DeleteWmsStockQuanInput input) |
| | | { |
| | | var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); |
| | | //await _rep.FakeDeleteAsync(entity); //åå é¤ |
| | | await _rep.DeleteAsync(entity); //çå é¤ |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ´æ°åºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | [ApiDescriptionSettings(Name = "Update")] |
| | | [Description("WmsStockQuan/Update")] |
| | | public async Task Update(UpdateWmsStockQuanInput input) |
| | | { |
| | | var entity = input.Adapt<WmsStockQuan>(); |
| | | |
| | | //é夿§éªè¯ |
| | | await CheckExist(entity,true); |
| | | |
| | | await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è·ååºåä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ApiDescriptionSettings(Name = "Detail")] |
| | | [Description("WmsStockQuan/Detail")] |
| | | public async Task<WmsStockQuan> Detail([FromQuery] QueryByIdWmsStockQuanInput input) |
| | | { |
| | | return await _rep.GetFirstAsync(u => u.Id == input.Id); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | #region ç§ææ¹æ³ |
| | | |
| | | /// <summary> |
| | | /// å
Œ
±æ¥è¯¢åºåä¿¡æ¯æ¡ä»¶ |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | private ISugarQueryable<WmsStockQuanOutput> CommonPageFilter(WmsStockQuanInput input) |
| | | { |
| | | var query = _rep.AsQueryable() |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => |
| | | u.PlaceCode.Contains(input.SearchKey.Trim()) |
| | | || u.Upi.Contains(input.SearchKey.Trim()) |
| | | || u.DetailName.Contains(input.SearchKey.Trim()) |
| | | || u.PlanNo.Contains(input.SearchKey.Trim()) |
| | | || u.OrderId.Contains(input.SearchKey.Trim()) |
| | | || u.PackageCode.Contains(input.SearchKey.Trim()) |
| | | || u.StockStatusName.Contains(input.SearchKey.Trim()) |
| | | || u.OperReason.Contains(input.SearchKey.Trim()) |
| | | || u.OperUser.Contains(input.SearchKey.Trim()) |
| | | || u.LockReason.Contains(input.SearchKey.Trim()) |
| | | || u.LockUser.Contains(input.SearchKey.Trim()) |
| | | || u.Remarks.Contains(input.SearchKey.Trim()) |
| | | || u.CreateUserName.Contains(input.SearchKey.Trim()) |
| | | || u.UpdateUserName.Contains(input.SearchKey.Trim()) |
| | | ) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.PlaceCode), u => u.PlaceCode.Contains(input.PlaceCode.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.Upi), u => u.Upi.Contains(input.Upi.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.DetailName.Contains(input.DetailName.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim())) |
| | | .WhereIF(input.StockStatus.HasValue, u => u.StockStatus == input.StockStatus) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.StockStatusName), u => u.StockStatusName.Contains(input.StockStatusName.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.OperReason), u => u.OperReason.Contains(input.OperReason.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.OperUser), u => u.OperUser.Contains(input.OperUser.Trim())) |
| | | .WhereIF(input.LockStatus.HasValue, u => u.LockStatus == input.LockStatus) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.LockReason), u => u.LockReason.Contains(input.LockReason.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.LockUser), u => u.LockUser.Contains(input.LockUser.Trim())) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(input.Remarks), u => u.Remarks.Contains(input.Remarks.Trim())) |
| | | .Select<WmsStockQuanOutput>(); |
| | | if(input.InTimeRange != null && input.InTimeRange.Count >0) |
| | | { |
| | | DateTime? start= input.InTimeRange[0].Value.AddDays(-1); |
| | | query = query.WhereIF(start.HasValue, u => u.InTime > start); |
| | | if (input.InTimeRange.Count >1 && input.InTimeRange[1].HasValue) |
| | | { |
| | | var end = input.InTimeRange[1].Value.AddDays(1); |
| | | query = query.Where(u => u.InTime < end); |
| | | } |
| | | } |
| | | if(input.OperTimeRange != null && input.OperTimeRange.Count >0) |
| | | { |
| | | DateTime? start= input.OperTimeRange[0].Value.AddDays(-1); |
| | | query = query.WhereIF(start.HasValue, u => u.OperTime > start); |
| | | if (input.OperTimeRange.Count >1 && input.OperTimeRange[1].HasValue) |
| | | { |
| | | var end = input.OperTimeRange[1].Value.AddDays(1); |
| | | query = query.Where(u => u.OperTime < end); |
| | | } |
| | | } |
| | | if(input.LockTimeRange != null && input.LockTimeRange.Count >0) |
| | | { |
| | | DateTime? start= input.LockTimeRange[0].Value.AddDays(-1); |
| | | query = query.WhereIF(start.HasValue, u => u.LockTime > start); |
| | | if (input.LockTimeRange.Count >1 && input.LockTimeRange[1].HasValue) |
| | | { |
| | | var end = input.LockTimeRange[1].Value.AddDays(1); |
| | | query = query.Where(u => u.LockTime < end); |
| | | } |
| | | } |
| | | return query; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// é夿§éªè¯ |
| | | /// </summary> |
| | | /// <param name="input">éªè¯å¯¹è±¡</param> |
| | | /// <param name="isEdit">æ¯å¦æ¯ç¼è¾</param> |
| | | /// <returns></returns> |
| | | private async Task CheckExist( WmsStockQuan input,bool isEdit=false) |
| | | { |
| | | |
| | | |
| | | |
| | | //没æé
ç½®ç»åæ ¡éªï¼ä¸éè¦éªé |
| | | |
| | | |
| | | //没æé
ç½®åç¬æ ¡éªï¼ä¸éè¦éªé |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®ç»åæ ¡éªååç¬æ ¡éªéªè¯æ°æ®æ¯å¦å·²åå¨-导å
¥æ¶éªè¯ |
| | | /// </summary> |
| | | /// <param name="inputs"></param> |
| | | /// <returns></returns> |
| | | private async Task CheckExisitForImport(List<WmsStockQuan> inputs) |
| | | { |
| | | if (inputs?.Count <= 0) |
| | | { |
| | | throw Oops.Oh($"导å
¥æ°æ®ä¸è½ä¸ºç©º"); |
| | | } |
| | | //æ ¹æ®ç»åæ ¡éªéªè¯è¡¨æ ¼ä¸ä¸æ¯å¦å·²åå¨ç¸åæ°æ® |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //æ ¹æ®åç¬æ ¡éªéªè¯è¡¨æ ¼ä¸ä¸æ¯å¦å·²åå¨ç¸åæ°æ® |
| | | |
| | | |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | public bool InboundFinishConfirm(string stationCode, out string msg) |
| | | public bool InboundFinishConfirm(string stationCode, bool value, out string msg) |
| | | { |
| | | try |
| | | { |
| | |
| | | var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); |
| | | |
| | | var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); |
| | | MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_InboundFinishConfirm, true, view_stationObj.W_DataFinish); |
| | | MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_InboundFinishConfirm, value, view_stationObj.W_DataFinish); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("åStationå°å{0} å
¥åºå®æç¡®è®¤ å " + true + "失败,è¿åç»æ:" + b2.resMsg, |
| | | msg = string.Format("åStationå°å{0} å
¥åºå®æç¡®è®¤ å " + value + "失败,è¿åç»æ:" + b2.resMsg, |
| | | stationObj.W_InboundFinishConfirm); |
| | | return false; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | public bool OutboundFinishConfirm(string stationCode, out string msg) |
| | | public bool OutboundFinishConfirm(string stationCode, bool value, out string msg) |
| | | { |
| | | try |
| | | { |
| | |
| | | var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); |
| | | |
| | | var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); |
| | | MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_OutboundFinishConfirm, true, view_stationObj.W_OutboundFinishConfirm); |
| | | MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_OutboundFinishConfirm, value, view_stationObj.W_OutboundFinishConfirm); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("åStation åºåºä»»å¡å®æç¡®è®¤ å°å{0} å " + true + "失败,è¿åç»æ:" + b2.resMsg, |
| | | msg = string.Format("åStation åºåºä»»å¡å®æç¡®è®¤ å°å{0} å " + value + "失败,è¿åç»æ:" + b2.resMsg, |
| | | stationObj.W_OutboundFinishConfirm); |
| | | return false; |
| | | } |
| | |
| | | /// <param name="value"></param> |
| | | /// <returns></returns> |
| | | [OperationContract] |
| | | SdaResEntity InboundFinishConfirm(int deviceId, string stationCode); |
| | | SdaResEntity InboundFinishConfirm(int deviceId, bool value, string stationCode); |
| | | |
| | | /// <summary> |
| | | /// åºåºå®æå·²ç¡®è®¤ |
| | |
| | | /// <param name="value"></param> |
| | | /// <returns></returns> |
| | | [OperationContract] |
| | | SdaResEntity OutboundFinishConfirm(int deviceId, string stationCode); |
| | | SdaResEntity OutboundFinishConfirm(int deviceId, bool value, string stationCode); |
| | | |
| | | /// <summary> |
| | | /// åå
¥å
¥åºä»»å¡ä¿¡æ¯ |
| | |
| | | /// <param name="deviceId"></param> |
| | | /// <param name="value"></param> |
| | | /// <returns></returns> |
| | | public SdaResEntity InboundFinishConfirm(int deviceId, string stationCode) |
| | | public SdaResEntity InboundFinishConfirm(int deviceId, bool value, string stationCode) |
| | | { |
| | | SdaResEntity _SdaResEntity = new SdaResEntity(); |
| | | try |
| | |
| | | var Station = StationResult.resData as StationEntity; |
| | | |
| | | string msg = ""; |
| | | var result = Station.InboundFinishConfirm(stationCode, out msg); |
| | | var result = Station.InboundFinishConfirm(stationCode, value, out msg); |
| | | _SdaResEntity.result = result; |
| | | _SdaResEntity.resMsg = msg; |
| | | return _SdaResEntity; |
| | |
| | | /// <param name="deviceId"></param> |
| | | /// <param name="value"></param> |
| | | /// <returns></returns> |
| | | public SdaResEntity OutboundFinishConfirm(int deviceId, string stationCode) |
| | | public SdaResEntity OutboundFinishConfirm(int deviceId, bool value, string stationCode) |
| | | { |
| | | SdaResEntity _SdaResEntity = new SdaResEntity(); |
| | | try |
| | |
| | | var Station = StationResult.resData as StationEntity; |
| | | |
| | | string msg = ""; |
| | | var result = Station.OutboundFinishConfirm(stationCode, out msg); |
| | | var result = Station.OutboundFinishConfirm(stationCode, value, out msg); |
| | | _SdaResEntity.result = result; |
| | | _SdaResEntity.resMsg = msg; |
| | | return _SdaResEntity; |