diff --git a/BBWY.Client/APIServices/QiKu/PackServiceService.cs b/BBWY.Client/APIServices/QiKu/PackServiceService.cs deleted file mode 100644 index 3c19f318..00000000 --- a/BBWY.Client/APIServices/QiKu/PackServiceService.cs +++ /dev/null @@ -1,49 +0,0 @@ -using BBWY.Client.Models.APIModel.Response.PackTask; -using BBWY.Client.Models.PackTask; -using BBWY.Common.Http; -using BBWY.Common.Models; -using System; -using System.Collections.Generic; -using System.Net.Http; -using System.Text; - -namespace BBWY.Client.APIServices -{ - public class PackServiceService : BaseApiService,IDenpendency - { - public PackServiceService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) - { - } - - public ApiResponse SearchAll() - { - return SendRequest(globalContext.QKApiHost, "api/PackService/SearchAll", - null - , null, HttpMethod.Get); - } - - public ApiResponse Add(PackServiceDTO consumable) - { - return SendRequest(globalContext.QKApiHost, "api/PackService/Add", - consumable - , null, HttpMethod.Post); - } - public ApiResponse Edit(PackServiceDTO consumable) - { - return SendRequest(globalContext.QKApiHost, "api/PackService/Edit", - consumable - , null, HttpMethod.Post); - } - - - public ApiResponse Deleted(long id) - { - return SendRequest(globalContext.QKApiHost, "api/PackService/Deleted", - new - { - id = id - } - , null, HttpMethod.Get); - } - } -} diff --git a/BBWY.Client/APIServices/QiKu/PackTaskAbortService.cs b/BBWY.Client/APIServices/QiKu/PackTaskAbortService.cs new file mode 100644 index 00000000..385468a5 --- /dev/null +++ b/BBWY.Client/APIServices/QiKu/PackTaskAbortService.cs @@ -0,0 +1,62 @@ +using BBWY.Client.Models; +using BBWY.Client.Models.APIModel.Response.PackTask; +using BBWY.Common.Http; +using BBWY.Common.Models; +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; + +namespace BBWY.Client.APIServices.QiKu +{ + public class PackTaskAbortService : BaseApiService, IDenpendency + { + public PackTaskAbortService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) + { + } + + + + public ApiResponse AbortPackTask(long TaskId, int TaskExceptionType, string RemarkMsg, TaskState AbortTaskState, string ShelvesNumber, int? FloorNumber) + { + return SendRequest(globalContext.QKApiHost, $"api/PackTaskAbort/AbortPackTask?taskId={TaskId}", + new + { + TaskId, + TaskExceptionType, + RemarkMsg, + UserName = globalContext.User.Name, + AbortTaskState, + ShelvesNumber, + FloorNumber + } + , null, HttpMethod.Post); + } + + public ApiResponse DisposedPackTask(long TaskId) + { + return SendRequest(globalContext.QKApiHost, $"api/PackTaskAbort/DisposedPackTask?taskId={TaskId}", + new { + TaskId, + UserName = globalContext.User.Name + + } + , null, HttpMethod.Post); + } + + public ApiResponse UpdateAbortPackTask(long TaskId, TaskState TaskState, string ShelvesNumber,int? FloorNumber) + { + return SendRequest(globalContext.QKApiHost, $"api/PackTaskAbort/UpdateAbortPackTask", + new + { + TaskId, + TaskState, + ShelvesNumber, + FloorNumber, + UserName = globalContext.User.Name + + } + , null, HttpMethod.Post); + } + } +} diff --git a/BBWY.Client/APIServices/QiKu/PackTaskService.cs b/BBWY.Client/APIServices/QiKu/PackTaskService.cs index 94a3794a..1c48f40a 100644 --- a/BBWY.Client/APIServices/QiKu/PackTaskService.cs +++ b/BBWY.Client/APIServices/QiKu/PackTaskService.cs @@ -30,14 +30,14 @@ namespace BBWY.Client.APIServices TaskState? TaskState = null, int pageIndex = 1, int pageSize = 10 - + ) { return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new { - + orderSn, spuId, skuId, @@ -57,7 +57,7 @@ namespace BBWY.Client.APIServices int pageSize = 10, string SkuTitle = null, string SpuTitle = null, - string PackUserName=null + string PackUserName = null ) { @@ -373,18 +373,19 @@ namespace BBWY.Client.APIServices } - public ApiResponse StoreGetBySelfV2(long taskId, int storeGetCount, string PickerUserName) + public ApiResponse StoreGetBySelfV3(long taskId, int storeGetCount, string PickerUserName) { - return SendRequest(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelfV2", new { + return SendRequest(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelfV3", new + { taskId, storeGetCount, PickerUserName, - OperatorUserName= globalContext.User.Name + OperatorUserName = globalContext.User.Name }, null, HttpMethod.Post); } - public ApiResponse SearchStoreGetSelfList(string taskId, string OrderSn, string SpuId, string SkuId,string DepartmentName, string ShopName, int? pageIndex, int pageSize, string ShopId) + public ApiResponse SearchStoreGetSelfList(string taskId, string OrderSn, string SpuId, string SkuId, string DepartmentName, string ShopName, int? pageIndex, int pageSize, string ShopId) { return SendRequest(globalContext.QKApiHost, $"api/PackTask/SearchStoreGetSelfList", new @@ -393,8 +394,11 @@ namespace BBWY.Client.APIServices OrderSn, SpuId, SkuId, - DepartmentName, ShopName, - ShopId , pageIndex, pageSize, + DepartmentName, + ShopName, + ShopId, + pageIndex, + pageSize, }, null, HttpMethod.Post); } @@ -438,6 +442,32 @@ namespace BBWY.Client.APIServices } + public ApiResponse SplitPackTask(long nowTaskId, int ExceptionCount,TaskState AbortTaskState) + { + return SendRequest(globalContext.QKApiHost, "api/PackTask/SplitPackTask", + new + { + UserName = globalContext.User.Name, + nowTaskId, + ExceptionCount, + AbortTaskState, + } + , null, HttpMethod.Post); + } + + /// + /// 创建任务 新版 + /// + /// + /// + public ApiResponse GetTaskAbortEnum() + { + return SendRequest(globalContext.QKApiHost, "api/PackTask/GetTaskAbortEnum",null , null, HttpMethod.Get); + } + + + + } public class CompeteSealBox diff --git a/BBWY.Client/APIServices/QiKu/PackUserService.cs b/BBWY.Client/APIServices/QiKu/PackUserService.cs index c838f402..db9f4991 100644 --- a/BBWY.Client/APIServices/QiKu/PackUserService.cs +++ b/BBWY.Client/APIServices/QiKu/PackUserService.cs @@ -25,7 +25,9 @@ namespace BBWY.Client.APIServices.QiKu int pageIndex = 1, int pageSize = 10, string SkuTitle = null, - string SpuTitle = null) + string SpuTitle = null, + PackagingTaskExceptionState? PackagingTaskExceptionState =null + ) { return SendRequest(globalContext.QKApiHost, $"api/PackUser/SearchPackerTask", new @@ -44,6 +46,7 @@ namespace BBWY.Client.APIServices.QiKu SkuTitle, SpuTitle, UserId = globalContext.User.Id.ToString(), + PackagingTaskExceptionState } , null, HttpMethod.Post); } diff --git a/BBWY.Client/APIServices/QiKu/PackagingTaskService.cs b/BBWY.Client/APIServices/QiKu/PackagingTaskService.cs new file mode 100644 index 00000000..de23a09b --- /dev/null +++ b/BBWY.Client/APIServices/QiKu/PackagingTaskService.cs @@ -0,0 +1,53 @@ +using BBWY.Client.Models.APIModel; +using BBWY.Client.Models; +using BBWY.Common.Http; +using BBWY.Common.Models; +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; + +namespace BBWY.Client.APIServices.QiKu +{ + public class PackagingTaskService : BaseApiService,IDenpendency + { + public PackagingTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) + { + } + + + public ApiResponse SearchPackagingTaskList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null, + string spuId = null, string orderSn = null, + PackagingTaskExceptionState? PackagingTaskExceptionState = null, + string ShopName = null, + int pageIndex = 1, + int pageSize = 10, + string SkuTitle = null, + string SpuTitle = null, + string PackUserName = null, + string shopId =null + ) + { + + return SendRequest(globalContext.QKApiHost, "api/PackagingTask/SearchPackagingTaskList", new + { + SkuTitle, + SpuTitle, + DepartmentName = departmentName, + SkuId = skuId, + TaskId = taskId, + PackagingTaskExceptionState, + PageIndex = pageIndex, + PageSize = pageSize, + ShopName = ShopName, + WayBillNo = WayBillNo, + SourceExpressName = SourceExpressName, + spuId, + orderSn, + PackUserName, + shopId + }, null, HttpMethod.Post); + } + + } +} diff --git a/BBWY.Client/APIServices/QiKu/QualityTaskService.cs b/BBWY.Client/APIServices/QiKu/QualityTaskService.cs new file mode 100644 index 00000000..488704d7 --- /dev/null +++ b/BBWY.Client/APIServices/QiKu/QualityTaskService.cs @@ -0,0 +1,104 @@ +using BBWY.Client.Models; +using BBWY.Client.Models.APIModel; +using BBWY.Client.Models.APIModel.Request; +using BBWY.Client.Models.APIModel.Response.PackPurchaseTask; +using BBWY.Common.Http; +using BBWY.Common.Models; +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; + +namespace BBWY.Client.APIServices.QiKu +{ + public class QualityTaskService : BaseApiService, IDenpendency + { + public QualityTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) + { + } + + public ApiResponse SearchQualityTaskList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null, + string spuId = null, string orderSn = null, + QualityTaskExceptionState? QualityTaskExceptionState = null, + string ShopName = null, + int pageIndex = 1, + int pageSize = 10, + string SkuTitle = null, + string SpuTitle = null, + string PackUserName = null, + string shopId = null + ) + { + + return SendRequest(globalContext.QKApiHost, "api/QualityTask/SearchQualityTaskList", new + { + SkuTitle, + SpuTitle, + DepartmentName = departmentName, + SkuId = skuId, + TaskId = taskId, + QualityTaskExceptionState, + PageIndex = pageIndex, + PageSize = pageSize, + ShopName = ShopName, + WayBillNo = WayBillNo, + SourceExpressName = SourceExpressName, + spuId, + orderSn, + PackUserName, + shopId + }, null, HttpMethod.Post); + } + + + + + + + + + + public ApiResponse SearchProductAttrsBySkuId(string SkuId, string AppKey, string AppSecret, string AppToken, Platform platform) + { + return SendRequest(globalContext.QKApiHost, $"api/Product/SearchProductAttrsBySkuId", + new + { + SkuId, + AppKey, + AppSecret, + AppToken, + platform + } + , null, HttpMethod.Post); + } + + + public ApiResponse SendMsgToPurchaseDepartment(long TaskId, SendCer3CValidMsgModel SendCer3CValidMsgModel) + { + return SendRequest(globalContext.QKApiHost, $"api/QualityTask/SendMsgToPurchaseDepartment", + new + { + TaskId, + SendCer3CValidMsgModel, + UserName = globalContext.User.Name + } + , null, HttpMethod.Post); + } + + + public ApiResponse GetQualityTask(long taskId) + { + + return SendRequest(globalContext.QKApiHost, $"api/QualityTask/GetQualityTask?taskId={taskId}", null, null, HttpMethod.Post); + + } + + public ApiResponse CompeteQualityTask(QualityTaskRequest competeQualityTask) + { + + return SendRequest(globalContext.QKApiHost, $"api/QualityTask/CompeteQualityTask", competeQualityTask, null, HttpMethod.Post); + + } + + } +} diff --git a/BBWY.Client/APIServices/QiKu/SealBoxService.cs b/BBWY.Client/APIServices/QiKu/SealBoxService.cs index be957835..b5f392ca 100644 --- a/BBWY.Client/APIServices/QiKu/SealBoxService.cs +++ b/BBWY.Client/APIServices/QiKu/SealBoxService.cs @@ -91,7 +91,7 @@ namespace BBWY.Client.APIServices , null, HttpMethod.Post); } - public ApiResponse GetWareSealBoxList(string ShopName, long? TaskId, string SkuId, long? SealBoxId, int? PageIndex, int? PageSize) + public ApiResponse GetWareSealBoxList(string ShopName, string TaskId, string SkuId,long? SealBoxId, int? PageIndex, int? PageSize) { return SendRequest(globalContext.QKApiHost, $"api/SealBox/GetWareSealBoxList", new @@ -143,7 +143,7 @@ namespace BBWY.Client.APIServices /// /// /// - public ApiResponse SearchWareFallWareConfigureList(PositionState positionState, string ShopName = null, long? TaskId = null, string SkuId = null, long? sealBoxId = null, int PageIndex = 1 + public ApiResponse SearchWareFallWareConfigureList(PositionState positionState, string ShopName = null, string TaskId = null, string SkuId = null,long?sealBoxId=null, int PageIndex = 1 , int PageSize = 10) { return SendRequest(globalContext.QKApiHost, $"api/SealBox/SearchWareFallWareConfigureList", @@ -170,7 +170,7 @@ namespace BBWY.Client.APIServices /// /// /// - public ApiResponse SearchFallWareConfiguredList(PositionState positionState, long? TaskId = null, string SkuId = null, int PageIndex = 1 + public ApiResponse SearchFallWareConfiguredList(PositionState positionState, string TaskId = null, string SkuId = null, int PageIndex = 1 , int PageSize = 10) { return SendRequest(globalContext.QKApiHost, $"api/SealBox/SearchFallWareConfiguredList", @@ -237,7 +237,7 @@ namespace BBWY.Client.APIServices } - public ApiResponse GetWareSealBoxWaitConfigureList(string ShopName, long? TaskId, string SkuId, int? PageIndex, int? PageSize) + public ApiResponse GetWareSealBoxWaitConfigureList(string ShopName, string TaskId, string SkuId, int? PageIndex, int? PageSize) { return SendRequest(globalContext.QKApiHost, $"api/SealBox/GetWareSealBoxWaitConfigureList", new @@ -288,7 +288,7 @@ namespace BBWY.Client.APIServices null, null, HttpMethod.Post); } - public ApiResponse GetWareWaitCompletedList(string shopId, string ShopName, long? TaskId, string SkuId, long? sealBoxId, int? PageIndex, int? PageSize) + public ApiResponse GetWareWaitCompletedList(string shopId, string ShopName , string TaskId , string SkuId , long? sealBoxId , int? PageIndex, int? PageSize) { return SendRequest(globalContext.QKApiHost, $"api/SealBox/GetWareWaitCompletedList", new diff --git a/BBWY.Client/App.xaml.cs b/BBWY.Client/App.xaml.cs index b086b6d8..95b6510d 100644 --- a/BBWY.Client/App.xaml.cs +++ b/BBWY.Client/App.xaml.cs @@ -56,7 +56,7 @@ namespace BBWY.Client //userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY1ODk1OTgzMzc4MDc1NjQ4IiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTQwODg1NTcwNjI3MDQ3NDI0LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MjQyOTE2MDZ9.NG6wDqHJ5ozmEDcAt2duJ50IcGarygrQ2bmiP4TGNRE"; //齐越山鸡 - userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNTM1MzMwMzI4ODkyMTQ5NzYwIiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNDM2Mjg4NTAwMjM1MjQzNTIwIiwiZXhwIjoxNzI2MzAwNjY0fQ.hPSbgJEuTt0MLy_7YkSJX4rRG3drJAfso-5IS8ZlOkY"; + // userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNTM1MzMwMzI4ODkyMTQ5NzYwIiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNDM2Mjg4NTAwMjM1MjQzNTIwIiwiZXhwIjoxNzI2MzAwNjY0fQ.hPSbgJEuTt0MLy_7YkSJX4rRG3drJAfso-5IS8ZlOkY"; //飞鱼 userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjI3NDg2MDI0Mjk0NzMxNzc2IiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNTE2OTc0MjUwNTQyNTAxODg4IiwiZXhwIjoxNzI0NTY1ODU5fQ._ezJmsvaStab8nDPB7qeoc2aakWfhHbeqq_X_RQsc4s"; @@ -68,15 +68,18 @@ namespace BBWY.Client // userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjI0OTUxNjgzNTc2NTAwMjI0IiwidGVhbUlkIjoiMTYyMDM0MjAxNDcwNjk3ODgxNiIsInNvblRlYW1JZHMiOiIxNjIwMzQyMDE0NzA2OTc4ODE2LDE2MjAzNDQxNDA4NTAwMDgwNjQsMTQxMDk1NTYwNDYxMjA5MTkwNCIsImV4cCI6MTcyNDkxNDM5M30.tIgo70tzRxZyUQkX1Jsh9I4ySciX0VC9HMMOoTnwVtM"; //包装组 - /// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMzk1NzA4MjA4NjU1MzcyMjg4IiwidGVhbUlkIjoiMTcxODU0MTA2MzM5NzgzODg0OCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE3MzAyODcxNjh9.lpiLJjP0prtQgZZfpG0NN6n60LNKstbFCJc-nLgb62A"; + /// userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMzk1NzA4MjA4NjU1MzcyMjg4IiwidGVhbUlkIjoiMTcxODU0MTA2MzM5NzgzODg0OCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE3MzAyODcxNjh9.lpiLJjP0prtQgZZfpG0NN6n60LNKstbFCJc-nLgb62A"; //齐越琳琳 - - // userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY4NDI2OTQyNTY0NTM2MzIwIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MzAyODcxNjh9.6vXadZWQfhnxbR3320RloKv3LqqbNdZ7wDDfO3tY_5U"; + + //userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjY4NDI2OTQyNTY0NTM2MzIwIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4LDE1MTY3MTUzNzI0NDU3MDAwOTYiLCJleHAiOjE3MzAyODcxNjh9.6vXadZWQfhnxbR3320RloKv3LqqbNdZ7wDDfO3tY_5U"; //齐越季夏 - // userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjIyNzY3NTkzODM0MTU2MDMyIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTE2NzE1MzcyNDQ1NzAwMDk2LDE3MTg1NDEwNjMzOTc4Mzg4NDgiLCJleHAiOjE3MzAyODcxNjh9.ZGBU0MoJbKdkgqe9x2e3l6q-AVZwfAkUwa3oB47PWhY"; - #else + // userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNjIyNzY3NTkzODM0MTU2MDMyIiwidGVhbUlkIjoiMTUxNjcxNTM3MjQ0NTcwMDA5NiIsInNvblRlYW1JZHMiOiIxNTE2NzE1MzcyNDQ1NzAwMDk2LDE3MTg1NDEwNjMzOTc4Mzg4NDgiLCJleHAiOjE3MzAyODcxNjh9.ZGBU0MoJbKdkgqe9x2e3l6q-AVZwfAkUwa3oB47PWhY"; + + //店铺自打包 + // userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNzE5Nzc5OTU4MTYwNjI1NjY0IiwidGVhbUlkIjoiMTU0MDg4NTU3MDYyNzA0NzQyNCIsInNvblRlYW1JZHMiOiIxNzE4NTQxMDYzMzk3ODM4ODQ4IiwiZXhwIjoxNzMxNzI1NDA2fQ.VV6k8nDqTtQOY6_ma6QcX6geMU_kaswl16BGXF89so8"; +#else //var uid = e.Args.Count() > 0 ? e.Args.LastOrDefault(args => args.StartsWith("uid:")) : string.Empty; //if (string.IsNullOrEmpty(uid)) //{ diff --git a/BBWY.Client/BBWY.Client.csproj b/BBWY.Client/BBWY.Client.csproj index 760a73f2..dc02d1e7 100644 --- a/BBWY.Client/BBWY.Client.csproj +++ b/BBWY.Client/BBWY.Client.csproj @@ -95,6 +95,11 @@ + + + + + diff --git a/BBWY.Client/Converters/MultiStateConverter.cs b/BBWY.Client/Converters/MultiStateConverter.cs new file mode 100644 index 00000000..a44595fb --- /dev/null +++ b/BBWY.Client/Converters/MultiStateConverter.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Windows.Data; + +namespace BBWY.Client.Converters +{ + public class MultiStateConverter : IMultiValueConverter + { + public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) + { + + var param = parameter?.ToString(); + + var parms = param.Split(":"); + + + if (values == null||values.Count()<2) return null; + + string taskState = values[0]?.ToString(); + string exceptState = values[1]?.ToString(); + + + if (taskState != param) + { + return taskState ; + } + else + { + return exceptState; + } + } + + public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/BBWY.Client/Models/APIModel/Request/CreatePackTaskV2Request.cs b/BBWY.Client/Models/APIModel/Request/CreatePackTaskV2Request.cs index 6955a210..65725ff7 100644 --- a/BBWY.Client/Models/APIModel/Request/CreatePackTaskV2Request.cs +++ b/BBWY.Client/Models/APIModel/Request/CreatePackTaskV2Request.cs @@ -115,6 +115,8 @@ namespace BBWY.Client.Models.APIModel.Request /// public List WayBillNoList { get; set; } + + } diff --git a/BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs b/BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs index 9dfb4894..9c774608 100644 --- a/BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs +++ b/BBWY.Client/Models/APIModel/Request/QualityTaskRequest.cs @@ -11,49 +11,49 @@ namespace BBWY.Client.Models.APIModel.Request /// 任务id /// public long TaskId { get; set; } - /// - /// 拳探订单id - /// - public string OrderId { get; set; } - /// - /// skuid - /// - public string SkuId { get; set; } - /// - /// 备注信息 - /// - public string MarkMessage { get; set; } - /// - /// 配件数 - /// - public int GoodsNumber { get; set; } - /// - /// sku配件名称 - /// - public string SkuGoodsTitle { get; set; } + ///// + ///// 拳探订单id + ///// + //public string OrderId { get; set; } + ///// + ///// skuid + ///// + //public string SkuId { get; set; } + ///// + ///// 备注信息 + ///// + //public string MarkMessage { get; set; } + ///// + ///// 配件数 + ///// + //public int GoodsNumber { get; set; } + ///// + ///// sku配件名称 + ///// + //public string SkuGoodsTitle { get; set; } - /// - /// 增量1() - /// - public string Increment1 { get; set; } - /// - /// 基础包装(快递袋=0,纸箱=1,麻袋=2) - /// - public BasicPack BasicPack { get; set; } + ///// + ///// 增量1() + ///// + //public string Increment1 { get; set; } + ///// + ///// 基础包装(快递袋=0,纸箱=1,麻袋=2) + ///// + //public BasicPack BasicPack { get; set; } - /// - /// 打包类型(单件=0,多件=1) - /// - public PackType PackType { get; set; } + ///// + ///// 打包类型(单件=0,多件=1) + ///// + //public PackType PackType { get; set; } /// /// 货号品名(手写上传) /// public string BrandName { get; set; } - /// - /// 合格证位置(外部包装=0,产品包装=1) - /// - public CertificatePosition CertificatePosition { get; set; } + ///// + ///// 合格证位置(外部包装=0,产品包装=1) + ///// + //public CertificatePosition CertificatePosition { get; set; } /// /// 合格证id @@ -63,40 +63,19 @@ namespace BBWY.Client.Models.APIModel.Request /// 显示的条码Id /// public long? BarcodeId { get; set; } - //public BarCodeDTO BarCodeDTO { get; set; } - /// - /// 是否需要合格证 - /// - public bool IsNeedBar { get; set; } - /// - /// 是否需要合格证 - /// - public bool IsNeedCer { get; set; } - ///// - ///// 配件列表 + ///// 到货数量 ///// - //public PurchaseSku[] PurchaseSkus { get; set; } - - /// - /// 到货数量 - /// - public int ArrivalQuantity { get; set; } - - /// - /// 良品数量 - /// - public int GoodProductQuantity { get; set; } + //public int ArrivalQuantity { get; set; } ///// - ///// 预计完成时间 + ///// 良品数量 ///// - //public DateTime? PreCompeteTime { get; set; } + //public int GoodProductQuantity { get; set; } /// - /// 地拖摆放编号 + /// 品牌标签类型 /// - public int? FloorDragNumber { get; set; } - + public BrandMarkType? BrandMarkType { get; set; } } } diff --git a/BBWY.Client/Models/APIModel/Request/UpdatePackTaskV2Request.cs b/BBWY.Client/Models/APIModel/Request/UpdatePackTaskV2Request.cs index 3e9d4374..72eada8d 100644 --- a/BBWY.Client/Models/APIModel/Request/UpdatePackTaskV2Request.cs +++ b/BBWY.Client/Models/APIModel/Request/UpdatePackTaskV2Request.cs @@ -105,5 +105,9 @@ namespace BBWY.Client.Models.APIModel.Request /// 绑定快递单号 /// public List WayBillNoList { get; set; } + /// + /// + /// + public SaveType? SaveType { get; set; } } } diff --git a/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs b/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs index 1a7c7571..51bb0e8f 100644 --- a/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs @@ -99,6 +99,16 @@ namespace BBWY.Client.Models.APIModel.Response.PackPurchaseTask /// /// public SaveType? SaveType { get; set; } + /// + /// 商家自取数 + /// + public int? StoreGetSelfCount { get; set; } + + + /// + /// 是否首次验收 + /// + public bool IsPassInspection { get; set; } } public class WareHourseDTO { diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs index a6bdcd72..83516da6 100644 --- a/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs @@ -22,6 +22,10 @@ namespace BBWY.Client.Models.APIModel public class PackTaskData { + /// + /// 任务备注(原任务:10000 子任务:10000-1) + /// + public string TaskIdRemark { get; set; } /// /// 图片链接 /// diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs index 93f35947..fe8800a4 100644 --- a/BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackTask/SearchWaitFallWareResponse.cs @@ -82,6 +82,8 @@ namespace BBWY.Client.Models.APIModel public class WaitFallWareModel:NotifyObject { + private bool isHideSkuList = true;//默认隐藏 + public bool IsHideSkuList { get => isHideSkuList; set { Set(ref isHideSkuList, value); } } /// /// 仓库类型 /// diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/TaskAbortEnumResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/TaskAbortEnumResponse.cs new file mode 100644 index 00000000..20e9e3df --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/PackTask/TaskAbortEnumResponse.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel +{ + public class TaskAbortEnumResponse + { + + /// + /// 货架列表 + /// + public List ShelvesNumberList { get; set; } + + /// + /// 层数列表 + /// + public List FloorNumberList { get; set; } + + ///// + ///// 异常类型列表 + ///// + //public List TaskExceptionTypeList { get; set; } + /// + /// 是否能包装类型 + /// + public List IsCanPackModelList { get; set; } + } + + public class IsContinuePackageModel + { + /// + /// 可继续包装类型 + /// + public string Name { get; set; } + /// + /// 索引 + /// + public int Index { get; set; } + + /// + /// 异常类型列表 + /// + public List TaskExceptionTypeList { get; set; } + + } +} diff --git a/BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs b/BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs index d61d2298..31f2da55 100644 --- a/BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerSalaryResponse.cs @@ -81,6 +81,7 @@ namespace BBWY.Client.Models.APIModel public class PackerTaskSalary { + public string TaskIdRemark { get; set; } /// /// 任务收益 /// diff --git a/BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs b/BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs index ec75adfc..88e645b0 100644 --- a/BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackUser/SearchPackerTaskResponse.cs @@ -8,6 +8,14 @@ namespace BBWY.Client.Models.APIModel { public class SearchPackerTaskResponse { + /// + /// 待包装异常总数 + /// + public string PackagingTaskExceptionCount { get; set; } + /// + /// 待包装数 + /// + public string PackagingTaskCount { get; set; } /// /// 任务总量 /// @@ -23,9 +31,9 @@ namespace BBWY.Client.Models.APIModel public string WaitPackCount { get; set; } } - public class PackerTaskData:NotifyObject + public class PackerTaskData : NotifyObject { - + public string TaskIdRemark { get; set; } /// /// 图片链接 @@ -161,6 +169,16 @@ namespace BBWY.Client.Models.APIModel /// public bool? IsOverTimeTomorrow { get; set; } + /// + /// 任务挂起时间 + /// + public DateTime? TaskAbortTime { get; set; } + + /// + /// 包装任务状态 + /// + public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get; set; } + } public class MarkMessageModel diff --git a/BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs b/BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs new file mode 100644 index 00000000..d9db54eb --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/PackagingTask/SearchPackagingTaskListResponse.cs @@ -0,0 +1,253 @@ +using BBWY.Client.Models.APIModel.Response.PackTask; +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel +{ + public class SearchPackagingTaskListResponse + { + /// + /// 待包装异常总数 + /// + public int PackagingTaskExceptionCount { get; set; } + /// + /// 待包装数 + /// + public int PackagingTaskCount { get; set; } + + /// + /// 查询总数据(判断总页数) + /// + public int TotalCount { get; set; } + + /// + /// 页面返回的数据 + /// + public List Items { get; set; } + } + + /// + /// 包装任务数据 + /// + public class PackagingTaskData + { + /// + /// 任务备注(原任务:10000 子任务:10000-1) + /// + public string TaskIdRemark { get; set; } + /// + /// 图片链接 + /// + public string Logo { get; set; } + + /// + /// 任务id + /// + public long TaskId { get; set; } + + /// + /// 需求方创建日期 + /// + public DateTime CreateTime { get; set; } + + /// + /// 任务状态 + /// + public TaskState TaskState { get; set; } + + /// + /// 需求方团队 + /// + public string DepartmentName { get; set; } + + /// + /// 需求方店铺 + /// + public string ShopName { get; set; } + + + /// + /// 货号品名 + /// + public string BrandName { get; set; } + + /// + /// 对接人 + /// + public string UserName { get; set; } + + /// + /// skuid + /// + public string SkuId { get; set; } + /// + /// SKU标题 + /// + public string SkuName { get; set; } + /// + /// sku数量 + /// + public int SkuCount { get; set; } + /// + /// 打包类型(单件=0,多件=1) + /// + public int PackType { get; set; } + + /// + /// 落仓(本地仓=0,齐越仓=1,京东仓=2,聚水潭=3) + /// + public string PositionType { get; set; } + + /// + /// 基础包装(快递袋=0,纸箱=1,麻袋=2) + /// + public int BasicPack { get; set; } + + /// + /// 增量1() + /// + public string Increment1 { get; set; } + + + /// + /// 合格证位置(外部包装=0,产品包装=1) + /// + public int? CertificatePosition { get; set; } + + + /// + /// sku配件名称 + /// + public string SkuGoodsTitle { get; set; } + + /// + /// 配件数 + /// + public int GoodsNumber { get; set; } + + + + + /// + /// 条形码数据 + /// + public BarCodeModel BarCodeDTO { get; set; } + + /// + /// 合格证数据 + /// + public CertificateModel[] Cers { get; set; } + + /// + /// 品牌 + /// + public string Brand { get; set; } + + + /// + /// 打包超时时间 + /// + public DateTime? PackCompletionOverTime { get; set; } + + /// + /// 打包完成时间 + /// + public DateTime? PackCompeteTime { get; set; } + + /// + /// 设置打包时间 + /// + public DateTime? SetPackUserTaskTime { get; set; } + + /// + /// 打包超时备注信息 + /// + public string PackOverTimeMarkMsg { get; set; } + + + /// + /// 消息列表 + /// + public List MarkMessageModelList { get; set; } + + /// + /// 采购方案 + /// + public string SkuPurchaseSchemeId { get; set; } + + + /// + /// 店铺id(采购店铺) + /// + public string ShopId { get; set; } + + /// + /// 设置sku配置时间(信息不全,待移除) + /// + public DateTime? SendToSetSkuConfigureTime { get; set; } + + + /// + /// 任务挂起时间 + /// + public DateTime? TaskAbortTime { get; set; } + + /// + /// 包装任务状态 + /// + public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get; set; } + + + /// + /// 包装人收益(默认0.85折) + /// + public decimal PackagerFees { get; set; } + + + /// + /// 包装费用(包装原价) + /// + public decimal PackageFees { get; set; } + + /// + /// 耗材费用 + /// + public decimal ConsumableFees { get; set; } + + /// + /// 总计 + /// + public decimal PackTotalFees { get; set; } + + /// + /// 包装人 + /// + public string[] PackUserName { get; set; } + + + public FeesItemResponse FeesItemResponse { get; set; } + + /// + /// 异常类型 + /// + public string TaskExceptionType { get; set; } + + /// + /// 货架编号 + /// + public string ShelvesNumber { get; set; } + + /// + /// 货架层数 + /// + public int? FloorNumber { get; set; } + + /// + /// 挂起异常备注 + /// + public string AbortRemark { get; set; } + + public string OrderId { get; set; } + } +} diff --git a/BBWY.Client/Models/APIModel/Response/QualityTask/SearchProductAttrsBySkuIdResponse.cs b/BBWY.Client/Models/APIModel/Response/QualityTask/SearchProductAttrsBySkuIdResponse.cs new file mode 100644 index 00000000..cf2405cf --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/QualityTask/SearchProductAttrsBySkuIdResponse.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel +{ + /// + /// + /// + public class SearchProductAttrsBySkuIdResponse + { + /// + /// 品牌 + /// + public string Brand { get; set; } + + /// + /// 是否在集团品牌列表 + /// + public bool IsTeamBrand { get; set; } + + + /// + /// 适用年龄 + /// + public string ApplyAge { get; set; } + + /// + /// 适用年龄是否大于14 + /// + public bool? IsApplyAgeOver14 { get; set; } + } +} diff --git a/BBWY.Client/Models/APIModel/Response/QualityTask/SearchQualityTaskListResponse.cs b/BBWY.Client/Models/APIModel/Response/QualityTask/SearchQualityTaskListResponse.cs new file mode 100644 index 00000000..2e4372c6 --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/QualityTask/SearchQualityTaskListResponse.cs @@ -0,0 +1,230 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel +{ + public class SearchQualityTaskListResponse + { + /// + /// 验收异常总数 + /// + public int QualityExceptionCount { get; set; } + + /// + /// 待验收数量 + /// + public int QualityTaskCount { get; set; } + + /// + /// 查询总数据(判断总页数) + /// + public int TotalCount { get; set; } + + /// + /// 页面返回的数据 + /// + public List Items { get; set; } + } + + /// + /// 待验收数据 + /// + public class QualityPackTaskData : NotifyObject + { + /// + /// 任务备注(原任务:10000 子任务:10000-1) + /// + public string TaskIdRemark { get; set; } + /// + /// 图片链接 + /// + public string Logo { get; set; } + + /// + /// 任务id + /// + public long TaskId { get; set; } + + /// + /// 需求方创建日期 + /// + public DateTime CreateTime { get; set; } + + /// + /// 任务状态 + /// + public TaskState TaskState { get; set; } + + /// + /// 需求方团队 + /// + public string DepartmentName { get; set; } + + /// + /// 需求方店铺 + /// + public string ShopName { get; set; } + + + /// + /// 货号品名 + /// + public string BrandName { get; set; } + + /// + /// 对接人 + /// + public string UserName { get; set; } + + /// + /// skuid + /// + public string SkuId { get; set; } + /// + /// SKU标题 + /// + public string SkuName { get; set; } + /// + /// sku数量 + /// + public int SkuCount { get; set; } + /// + /// 打包类型(单件=0,多件=1) + /// + public int PackType { get; set; } + + ///// + ///// 落仓(本地仓=0,齐越仓=1,京东仓=2,聚水潭=3) + ///// + //public string PositionType { get; set; } + + /// + /// 基础包装(快递袋=0,纸箱=1,麻袋=2) + /// + public int BasicPack { get; set; } + + /// + /// 增量1() + /// + public string Increment1 { get; set; } + + + ///// + ///// 合格证位置(外部包装=0,产品包装=1) + ///// + //public int? CertificatePosition { get; set; } + + + /// + /// sku配件名称 + /// + public string SkuGoodsTitle { get; set; } + + /// + /// 配件数 + /// + public int GoodsNumber { get; set; } + + + + + /// + /// 条形码数据 + /// + public BarCodeModel BarCodeDTO { get; set; } + + /// + /// 合格证数据 + /// + public CertificateModel[] Cers { get; set; } + + /// + /// 品牌 + /// + public string Brand { get; set; } + + public string OrderId { get; set; } + + /// + /// 增量配件数(旧版计费)移除 + /// + public int? IncrementPartCount { get; set; } + + + /// + /// 质检超时时间 + /// + public DateTime? QualityCompletionOverTime { get; set; } + + + /// + /// 质检超时备注信息 + /// + public string QualityOverTimeMarkMsg { get; set; } + + /// + /// 打包超时备注信息 + /// + public string PackOverTimeMarkMsg { get; set; } + + + /// + /// 消息列表 + /// + public List MarkMessageModelList { get; set; } + + /// + /// 采购方案 + /// + public string SkuPurchaseSchemeId { get; set; } + + + /// + /// 店铺id(采购店铺) + /// + public string ShopId { get; set; } + + /// + /// 排单超时时间 + /// + public DateTime? SendToSetSkuConfigureTime { get; set; } + + + /// + /// 物流状态 + /// + public List ExpressOrderResponses { get; set; } + + /// + /// 任务挂起时间 + /// + public DateTime? TaskAbortTime { get; set; } + + + /// + /// 异常类型 + /// + public string TaskExceptionType { get; set; } + + /// + /// 货架编号 + /// + public string ShelvesNumber { get; set; } + + /// + /// 货架层数 + /// + public int? FloorNumber { get; set; } + + /// + /// 挂起异常备注 + /// + public string AbortRemark { get; set; } + + /// + /// 验收异常状态 + /// + public QualityTaskExceptionState? QualityTaskExceptionState { get; set; } + } +} diff --git a/BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs b/BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs index cc19678e..7000d4df 100644 --- a/BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxResponse.cs @@ -1,4 +1,5 @@ -using System; +using BBWY.Client.Models.PackTask; +using System; using System.Collections.Generic; using System.Text; @@ -14,7 +15,7 @@ namespace BBWY.Client.Models.APIModel /// /// 分箱列表 /// - public List WaitSealBoxModels { get; set; } + public List WaitSealBoxModels { get; set; } } public class WareSealBoxData @@ -70,6 +71,11 @@ namespace BBWY.Client.Models.APIModel public DateTime? CreateTime { get; set; } public TaskState TaskState { get; set; } + + /// + /// 新任务Id + /// + public string TaskIdRemark { get; set; } /// /// 任务Id /// diff --git a/BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxWaitConfigureResponse.cs b/BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxWaitConfigureResponse.cs index 7f8425d2..062673ce 100644 --- a/BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxWaitConfigureResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/SealBox/GetWareSealBoxWaitConfigureResponse.cs @@ -52,6 +52,9 @@ namespace BBWY.Client.Models.APIModel public class WareNoSealBoxSku { + + public string TaskIdRemark { get; set; } + public DateTime? CreateTime { get; set; } /// diff --git a/BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs b/BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs index bf386efc..df4cae97 100644 --- a/BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/SealBox/GetWareWaitTransportResponse.cs @@ -75,6 +75,7 @@ namespace BBWY.Client.Models.APIModel } public class WaitTransportSku { + public string TaskIdRemark { get; set; } public DateTime? CreateTime { get; set; } /// /// 任务状态 diff --git a/BBWY.Client/Models/Enums.cs b/BBWY.Client/Models/Enums.cs index fb89d0a8..fcfc0c3c 100644 --- a/BBWY.Client/Models/Enums.cs +++ b/BBWY.Client/Models/Enums.cs @@ -225,7 +225,9 @@ 未到货 = 0, 部分到货 = 1, 待验收 = 2,//已到货 + 待验收_挂起 = 21,//异常挂起 待包装 = 3, + 待包装_挂起 = 31,//异常挂起 待封箱 = 4, 待出库 = 5, 已完成 = 6, @@ -236,6 +238,7 @@ 待转运=11, 已超时=12, 待排单 =13, + 已拆分=14 } @@ -555,10 +558,7 @@ } - public enum QualityLookState - { - } /// /// 配送方式(自送=1,快递配送=2) @@ -577,4 +577,44 @@ 待包装 = 1, 已完成 = 2 } + public enum TaskExceptionType + { + 配件未到齐 = 0,数量不对=1 + } + + /// + /// 验收状态 ( 待验收=1,验收异常 =2) + /// + public enum QualityTaskExceptionState + { + 待验收 = 1, 验收异常 = 2 + } + + + /// + /// 品牌标签类型(无需遮盖 = 1, 需遮盖 = 2, 无需贴商标=3) + /// + public enum BrandMarkType + { + 无需遮盖 = 1, 需遮盖 = 2, 无需贴商标=3 + } + + + + + /// + /// 推送合格证验证(3C验证) 消息模板(任务未配置合格证=1, 包装无合格证=2, 验证3C有效性=3, 配置的合格证不是3c=4) + /// + public enum SendCer3CValidMsgModel + { + 任务未配置合格证 = 1, 包装无合格证 = 2, 验证3C有效性 = 3, 配置的合格证不是3c = 4 + } + + /// + /// 待包装任务状态( 待包装 = 0, 挂起任务 = 1,) + /// + public enum PackagingTaskExceptionState + { + 待包装 = 0, 挂起任务 = 1, + } } diff --git a/BBWY.Client/Models/PackTask/EnumModel.cs b/BBWY.Client/Models/PackTask/EnumModel.cs new file mode 100644 index 00000000..c13c00fe --- /dev/null +++ b/BBWY.Client/Models/PackTask/EnumModel.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models +{ + public class EnumModel + { + public string Name { get; set; } + public int Index { get; set; } + } +} diff --git a/BBWY.Client/Models/PackTask/PackTaskModel.cs b/BBWY.Client/Models/PackTask/PackTaskModel.cs index 84c80bc1..35c26940 100644 --- a/BBWY.Client/Models/PackTask/PackTaskModel.cs +++ b/BBWY.Client/Models/PackTask/PackTaskModel.cs @@ -1,11 +1,16 @@ using BBWY.Client.APIServices; +using BBWY.Client.APIServices.QiKu; using BBWY.Client.Models.APIModel; using BBWY.Client.Models.APIModel.Response.PackTask; using BBWY.Client.ViewModels; using BBWY.Client.ViewModels.PackTask; using BBWY.Client.Views.PackTask; using BBWY.Client.Views.QualityTask; +using BBWY.Client.Views.QualityTipWindows; +using BBWY.Client.Views.SplitTask; +using BBWY.Client.Views.StorePickSelf; using GalaSoft.MvvmLight.Command; +using Microsoft.Extensions.DependencyInjection; using NPOI.Util; using System; using System.Collections.Generic; @@ -13,6 +18,7 @@ using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; +using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Input; @@ -25,6 +31,16 @@ namespace BBWY.Client.Models /// public class PackTaskModel : BaseVM { + + + + private string taskIdRemark; + /// + ///任务备注(原任务:10000 子任务:10000-1) + /// + public string TaskIdRemark { get => taskIdRemark; set { Set(ref taskIdRemark, value); } } + + private bool showSendMsg = false; /// /// 展示留言信息 @@ -59,7 +75,32 @@ namespace BBWY.Client.Models /// 修改任务 /// public ICommand UpdateTaskCommand { get; set; } - public ICommand QualityTaskCommand { get; set; } + + /// + /// 任务拆分 + /// + public ICommand TaskSplitCommand { get; set; } + + /// + /// 挂起 + /// + public ICommand PackagingTaskExceptionCommand { get; set; } + + /// + /// 商家自取 + /// + public ICommand StoreGetBySelfCommand { get; set; } + /// + /// 包装任务释放挂起 + /// + public ICommand DisposeTaskCommand { get; set; } + + + /// + /// 删除任务 + /// + public ICommand DeletedTaskCommand { get; set; } + public Action ReflashTask { get; set; } private void UpdateTask() { @@ -88,35 +129,135 @@ namespace BBWY.Client.Models catch (Exception) { - + } - - } + } + private IServiceProvider sp; public PackTaskModel() { + sp = (App.Current as App).ServiceProvider; + + using (var ss = sp.CreateScope()) + { + packTaskService = ss.ServiceProvider.GetRequiredService(); + packTaskAbortService = ss.ServiceProvider.GetRequiredService(); + + } + + PrintBarcodeCommand = new RelayCommand(PrintBarcode); PrintCerCommand = new RelayCommand(PrintCer); LookBarCommand = new RelayCommand(LookBar); LookCerCommand = new RelayCommand(LookCer); SetServiceCommand = new RelayCommand(SetService); UpdateTaskCommand = new RelayCommand(UpdateTask); - QualityTaskCommand = new RelayCommand(QualityTask); + DeletedTaskCommand = new RelayCommand(DeletedTask); + DisposeTaskCommand = new RelayCommand(DisposeTask); + StoreGetBySelfCommand = new RelayCommand(StoreGetBySelf); + PackagingTaskExceptionCommand = new RelayCommand(PackagingTaskException); + TaskSplitCommand = new RelayCommand(TaskSplit); } - private void QualityTask() + PackTaskService packTaskService; + PackTaskAbortService packTaskAbortService; + + private void PackagingTaskException(long taskId) { - //加载数据 - QualityWindow service = new QualityWindow(this, ReflashTask); - service.Show(); + + var wareVm = (App.Current as App).ServiceProvider.GetRequiredService(); + AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, taskId, Models.TaskState.待包装, ReflashTask, wareVm.IsCanPackModelList, wareVm.ShelvesNumberList, wareVm.FloorNumberList); + addExceptionWindow.ShowDialog(); + } + private void TaskSplit(PackTaskModel model) + { + + SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState, ReflashTask); + addExceptionWindow.ShowDialog(); + } + + + public void StoreGetBySelf(long taskId) + { + + + + + //MessageBoxResult result = System.Windows.MessageBox.Show($"确定商家自取,任务id:{taskId}?", "提示", + // MessageBoxButton.YesNo, + // MessageBoxImage.Warning); + //if (result != MessageBoxResult.Yes) return; + + var data = packTaskService.GetStoreGetSelfData(taskId); + if (!data.Success) + { + MessageBox.Show(data?.Msg); + return; + } + + StorePickProductWindow sorePickProductWindow = new StorePickProductWindow(data.Data, (count, UserName) => + { + + var res = packTaskService.StoreGetBySelfV3(taskId, count, UserName); + if (res == null) + { + return false; + } + if (!res.Success) + { + System.Windows.MessageBox.Show(res.Msg, "错误信息"); + return false; + } + + + Task.Factory.StartNew(() => ReflashTask?.Invoke()); + + return true; + }, false); + sorePickProductWindow.ShowDialog(); + + + + } + /// + /// 手动释放挂起 + /// + /// + private void DisposeTask(long taskId) + { + if (System.Windows.MessageBox.Show("是否释放挂起?", "提示", + MessageBoxButton.YesNo, + MessageBoxImage.Warning) != MessageBoxResult.Yes) + return; + var res = packTaskAbortService.DisposedPackTask(taskId); + if (res == null || !res.Success) + { + System.Windows.MessageBox.Show(res?.Msg); + return; + } + + ReflashTask?.Invoke(); + } + + private void DeletedTask(object obj) + { + + + var packTaskmodel = (PackTaskModel)obj; + MessageBoxResult result = System.Windows.MessageBox.Show($"确定取消任务{packTaskmodel.TaskIdRemark}?", "提示", + MessageBoxButton.YesNo, + MessageBoxImage.Warning); + if (result != MessageBoxResult.Yes) return; + packTaskService.DeletedTask(packTaskmodel.TaskId); + Task.Factory.StartNew(() => ReflashTask?.Invoke()); } private void SetService() { - if (this.PackProcessType==null&&this.FeesMoney>0) + if (this.PackProcessType == null && this.FeesMoney > 0) { ServiceWindow window = new ServiceWindow(this, ReflashTask); window.ShowDialog(); @@ -237,16 +378,6 @@ namespace BBWY.Client.Models public int SkuCount { get => skuCount; set { Set(ref skuCount, value); } } - private Availability availability; - /// - /// 到货情况(待收货=0,部分收货=1,已到货=2) - /// - public Availability Availability { get => availability; set { Set(ref availability, value); } } - - - - - private TaskState taskState; /// @@ -396,6 +527,48 @@ namespace BBWY.Client.Models public FeesItemResponse FeesItemResponse { get => feesItemResponse; set { Set(ref feesItemResponse, value); } } + + private QualityTaskExceptionState? qualityTaskExceptionState; + + public QualityTaskExceptionState? QualityTaskExceptionState { get => qualityTaskExceptionState; set { Set(ref qualityTaskExceptionState, value); } } + + + private PackagingTaskExceptionState packagingTaskExceptionState; + + /// + /// 包装任务状态 + /// + public Models.PackagingTaskExceptionState PackagingTaskExceptionState { get => packagingTaskExceptionState; set { Set(ref packagingTaskExceptionState, value); } } + + + + /// + /// 包装人收益(默认0.85折) + /// + public decimal PackagerFees { get; set; } + + + /// + /// 包装费用(包装原价) + /// + public decimal PackageFees { get; set; } + + /// + /// 耗材费用 + /// + public decimal ConsumableFees { get; set; } + + + /// + /// 总计 + /// + public decimal PackTotalFees { get; set; } + + + + + + public IList ItemList { get; set; } public string OrderId { get; set; } @@ -417,7 +590,10 @@ namespace BBWY.Client.Models public DateTime? QualityCompletionOverTime { get; set; } - + /// + /// 任务挂起时间 + /// + public DateTime? TaskAbortTime { get; set; } private string packRemainTime; /// @@ -503,12 +679,35 @@ namespace BBWY.Client.Models public PackProcessType? PackProcessType { get => packProcessType; set { Set(ref packProcessType, value); } } - public string ShopId { get; set; } + public string ShopId { get; set; } /// /// 发送信息不全时间 /// public DateTime? SendToSetSkuConfigureTime { get; set; } + + + + + /// + /// 异常类型 + /// + public string TaskExceptionType { get; set; } + + /// + /// 货架编号 + /// + public string ShelvesNumber { get; set; } + + /// + /// 货架层数 + /// + public int? FloorNumber { get; set; } + + /// + /// 挂起异常备注 + /// + public string AbortRemark { get; set; } } public class SkuMessage : NotifyObject @@ -555,7 +754,7 @@ namespace BBWY.Client.Models - + } diff --git a/BBWY.Client/Models/PackTask/SealBoxModel.cs b/BBWY.Client/Models/PackTask/SealBoxModel.cs index c064e1bb..9e9cc3d8 100644 --- a/BBWY.Client/Models/PackTask/SealBoxModel.cs +++ b/BBWY.Client/Models/PackTask/SealBoxModel.cs @@ -6,9 +6,12 @@ using System.Text; namespace BBWY.Client.Models.PackTask { public class SealBoxModel : NotifyObject - { /// - /// 过期时间 - /// + { + private bool isHideSkuList = true;//默认隐藏 + public bool IsHideSkuList { get => isHideSkuList; set { Set(ref isHideSkuList, value); } } + /// + /// 过期时间 + /// public DateTime? SealBoxPackOverTime { get; set; } /// /// /封箱id diff --git a/BBWY.Client/Models/PackTask/ShopTotal.cs b/BBWY.Client/Models/PackTask/ShopTotal.cs index 40dfcb09..30114d12 100644 --- a/BBWY.Client/Models/PackTask/ShopTotal.cs +++ b/BBWY.Client/Models/PackTask/ShopTotal.cs @@ -20,6 +20,8 @@ namespace BBWY.Client.Models.PackTask private bool taskChecked; public bool TaskChecked { get => taskChecked; set { Set(ref taskChecked, value); } } + + public string TaskIdRemark { get; set; } /// /// 任务id /// diff --git a/BBWY.Client/Models/QualityTask/QualityPackTaskModel.cs b/BBWY.Client/Models/QualityTask/QualityPackTaskModel.cs new file mode 100644 index 00000000..47b88e6d --- /dev/null +++ b/BBWY.Client/Models/QualityTask/QualityPackTaskModel.cs @@ -0,0 +1,40 @@ +using BBWY.Client.Models.APIModel; +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.QualityTask +{ + public class QualityPackTaskModel : QualityPackTaskData + { + private string qualityRemainTime; + /// + /// 质检剩余时间 + /// + public string QualityRemainTime { get => qualityRemainTime; set { Set(ref qualityRemainTime, value); } } + + private bool isQualityOverTime; + public bool IsQualityOverTime { get => isQualityOverTime; set { Set(ref isQualityOverTime, value); } } + + private bool showSendMsg = false; + /// + /// 展示留言信息 + /// + public bool ShowSendMsg { get => showSendMsg; set { Set(ref showSendMsg, value); } } + + + private string taskMarkMsg; + /// + /// 展示留言信息 + /// + public string TaskMarkMsg { get => taskMarkMsg; set { Set(ref taskMarkMsg, value); } } + + + + private bool showMoreMsg = true; + /// + /// 展示留言信息 + /// + public bool ShowMoreMsg { get => showMoreMsg; set { Set(ref showMoreMsg, value); } } + } +} diff --git a/BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs b/BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs index b0a12b40..9b6330b9 100644 --- a/BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs +++ b/BBWY.Client/Models/SealBox/SealBoxConfigureModel.cs @@ -12,6 +12,11 @@ namespace BBWY.Client.Models.SealBox /// public class SealBoxConfigureModel : NotifyObject { + + /// + /// 任务id + /// + public string TaskIdRemark { get; set; } /// /// skuid /// @@ -84,6 +89,7 @@ namespace BBWY.Client.Models.SealBox /// public class SealBoxConfigureWareHourseModel : NotifyObject { + public string TaskIdRemark { get; set; } public long TaskId { get; set; } public Action TotalWareCount { get; set; } diff --git a/BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs b/BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs index eafa994e..c30531d5 100644 --- a/BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs +++ b/BBWY.Client/Models/SealBox/SealBoxConfiguredModel.cs @@ -51,6 +51,7 @@ namespace BBWY.Client.Models.SealBox } public class SealBoxConfigureTask:NotifyObject { + public string TaskIdRemark { get; set; } /// /// skuid /// diff --git a/BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs b/BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs index e7f1583f..5ab9c81e 100644 --- a/BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs +++ b/BBWY.Client/Models/SealBox/SealBoxWaitConfigureModel.cs @@ -6,6 +6,8 @@ namespace BBWY.Client.Models { public class SealBoxWaitConfigureModel : NotifyObject { + + public string TaskIdRemark { get; set; } /// /// skuid /// diff --git a/BBWY.Client/Models/SealBox/WareNoSealBoxModel.cs b/BBWY.Client/Models/SealBox/WareNoSealBoxModel.cs index 2f1deee5..956c7b5d 100644 --- a/BBWY.Client/Models/SealBox/WareNoSealBoxModel.cs +++ b/BBWY.Client/Models/SealBox/WareNoSealBoxModel.cs @@ -7,6 +7,8 @@ namespace BBWY.Client.Models { public class WareNoSealBoxModel:NotifyObject { + private bool isHideSkuList = true;//默认隐藏 + public bool IsHideSkuList { get => isHideSkuList; set { Set(ref isHideSkuList, value); } } /// /// 店铺Id /// diff --git a/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs b/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs index ebf37214..d279f94c 100644 --- a/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs @@ -426,7 +426,6 @@ namespace BBWY.Client.ViewModels.PackTask CertificateModel = model.CertificateModel; SkuTitle = model.SkuTitle; GoodsNumber = model.GoodsNumber; - Availability = model.Availability; if (string.IsNullOrEmpty(model.OrderId)) diff --git a/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs b/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs index 9c62e0fe..6337bb46 100644 --- a/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs @@ -769,7 +769,6 @@ namespace BBWY.Client.ViewModels.PackTask CertificateModel = model.CertificateModel; SkuTitle = model.SkuTitle; GoodsNumber = model.GoodsNumber; - Availability = model.Availability; if (model.ExpressOrderList!=null&&model.ExpressOrderList.Any()) { @@ -898,7 +897,7 @@ namespace BBWY.Client.ViewModels.PackTask NeedCer = IsNeedCertificateModel == Need.需要, DistributionMode = DistributionMode, WayBillNoList = PackTaskExpressList?.Select(p => p.WaybillNo)?.ToList() - + }; @@ -930,6 +929,7 @@ namespace BBWY.Client.ViewModels.PackTask var updateTaskModel = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(createTaskModel)); updateTaskModel.TaskId = TaskId; + updateTaskModel.SaveType = SaveType;//任务类型 修改操作 res = packTaskService.UpdatePackTaskV2(updateTaskModel); } else diff --git a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs index d32a3904..9aba16e5 100644 --- a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs @@ -40,7 +40,17 @@ namespace BBWY.Client.ViewModels.PackTask public partial class TaskListViewModel : BaseVM, IDenpendency//注入服务 { - + private QualityTaskExceptionState? qualityTaskExceptionState= Models.QualityTaskExceptionState.待验收; + /// + /// 任务状态 + /// + public QualityTaskExceptionState? QualityTaskExceptionState + { + get => qualityTaskExceptionState; set + { + Set(ref qualityTaskExceptionState, value); + } + } #region 属性绑定 @@ -272,6 +282,48 @@ namespace BBWY.Client.ViewModels.PackTask public ObservableCollection StoreGetSelfDataList { get => storeGetSelfDataList; set { Set(ref storeGetSelfDataList, value); } } + QualityTaskService qualityTaskService; + + + private string packagingTaskExceptionCount; + /// + /// 验收异常总数 + /// + public string PackagingTaskExceptionCount { get => packagingTaskExceptionCount; set { Set(ref packagingTaskExceptionCount, value); } } + + private string packagingTaskCount; + /// + /// 待包装总数 + /// + public string PackagingTaskCount { get => packagingTaskCount; set { Set(ref packagingTaskCount, value); } } + + private string qualityExceptionCount; + /// + /// 验收异常总数 + /// + public string QualityExceptionCount { get => qualityExceptionCount; set { Set(ref qualityExceptionCount, value); } } + + private string qualityTaskCount; + /// + /// 验收异常总数 + /// + public string QualityTaskCount { get => qualityTaskCount; set { Set(ref qualityTaskCount, value); } } + + + + + private PackagingTaskExceptionState? packagingTaskExceptionState; + /// + /// 任务状态 + /// + public PackagingTaskExceptionState? PackagingTaskExceptionState + { + get => packagingTaskExceptionState; set + { + Set(ref packagingTaskExceptionState, value); + } + } + /// @@ -348,7 +400,13 @@ namespace BBWY.Client.ViewModels.PackTask public ICommand AppendMarkMessageCommand { get; set; } - public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService, MarkMessageService markMessageService) + public ICommand SetQualityTaskExceptionStateCommand { get; set; } + + public ICommand SetPackagingTaskExceptionStateCommand { get; set; } + + + + public TaskListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, ProductService productService, MarkMessageService markMessageService, PackagingTaskService packagingTaskService, QualityTaskService qualityTaskService) { this.globalContext = globalContext; this.markMessageService = markMessageService; @@ -407,7 +465,10 @@ namespace BBWY.Client.ViewModels.PackTask { SelectWareType = s; - SearchTaskList(); + if (PageIndex == 1) + SearchTaskList(); + else + PageIndex = 1; }); ShowMoreMessageCommand = new RelayCommand(ShowMoreMessage); @@ -415,6 +476,24 @@ namespace BBWY.Client.ViewModels.PackTask AppendMarkMessageCommand = new RelayCommand(AppendMarkMessage); + + SetQualityTaskExceptionStateCommand = new RelayCommand(() => + { + if (PageIndex == 1) + SearchTaskList(); + else + PageIndex = 1; + }); + this.packagingTaskService = packagingTaskService; + this.qualityTaskService = qualityTaskService; + + SetPackagingTaskExceptionStateCommand = new RelayCommand(() => + { + if (PageIndex == 1) + SearchTaskList(); + else + PageIndex = 1; + }); } MarkMessageService markMessageService; @@ -705,6 +784,8 @@ namespace BBWY.Client.ViewModels.PackTask TaskId = x.TaskId, TaskState = x.TaskState, WaitConfigureCount = x.SkuCount, + TaskIdRemark = x.TaskIdRemark + }).ToList(); SetSealBoxPolicyWindow setSealBoxPolicyWindow = new SetSealBoxPolicyWindow(data, ReflashTask, 0); @@ -783,7 +864,7 @@ namespace BBWY.Client.ViewModels.PackTask - + PackagingTaskService packagingTaskService; @@ -800,18 +881,8 @@ namespace BBWY.Client.ViewModels.PackTask public void SearchTaskList() { IsStartThread = false; - long? taskId = null; - try - { - if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim())) - taskId = Convert.ToInt64(SearchTaskId); - } - catch - { - System.Windows.MessageBox.Show("任务id必须为数字"); - return; + - } IsLoading = true; @@ -819,223 +890,537 @@ namespace BBWY.Client.ViewModels.PackTask Task.Factory.StartNew(() => { + + + try { - PackTaskList = new ObservableCollection();//初始化数据 - var datas = packTaskService.SearchTaskList(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, - PageIndex, PageSize); - if (datas != null && datas.Data != null && datas.Success) + if (TaskState == Models.TaskState.待验收) { - var dataModel = datas.Data; - OrderCount = dataModel.TotalCount; - foreach (var item in dataModel.Items) - { + PackTaskList = new ObservableCollection();//初始化数据 + var datas = qualityTaskService.SearchQualityTaskList( skuId:SearchSkuId,taskId: SearchTaskId,spuId: SearchSpuId, orderSn: SearchOrderSn, QualityTaskExceptionState: this.QualityTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(), + pageIndex: PageIndex,pageSize: PageSize); + - var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); - data.ItemList = new List() { new SkuMessage + if (datas != null && datas.Data != null && datas.Success) + { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + QualityExceptionCount = dataModel.QualityExceptionCount.ToString(); + QualityTaskCount = dataModel.QualityTaskCount.ToString(); + foreach (var item in dataModel.Items) + { + + var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); + data.ItemList = new List() { new SkuMessage { BrandName = item.BrandName, - GoodsNo = item.ProductItemNum, Logo= item.Logo, + Logo= item.Logo, SkuName = item.SkuName, SkuId = item.SkuId } }; - data.ExpressOrderList = item.ExpressOrderResponses; - data.EndTime = item.CreateTime; - data.SkuTitle = item.SkuGoodsTitle; - data.AcceptName = item.UserName; + data.ExpressOrderList = item.ExpressOrderResponses; + data.EndTime = item.CreateTime; + data.SkuTitle = item.SkuGoodsTitle; + data.AcceptName = item.UserName; + if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) + { + + data.BarCodeModel = item.BarCodeDTO; + if (data.BarCodeModel.LabelModel == BarcodeLabelModel.无型号模板) + data.BarCodeModel.LabelModel = BarcodeLabelModel.精简模板; + + } + if (item.Cers != null) + { + data.CertificateModel = item.Cers; + + } + data.ReflashTask = ReflashTask; + + App.Current.Dispatcher.Invoke(new Action(() => + { + PackTaskList.Add(data); + })); + + + } + - if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())//加载物流信息 + if (TaskState == Models.TaskState.待验收) { - var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); - if (expressData != null && expressData.Success && expressData.Data != null) + if (QualityTaskExceptionState == Models.QualityTaskExceptionState.待验收) { - expressData.Data.ForEach(e => + qualityOverTimeThread = new Thread(() => { - e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); + var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList(); + if (packtasks.Count() > 0) + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packtasks) + { + TimeSpan datetime; + if (item.SendToSetSkuConfigureTime != null) + datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value); + else + datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); + item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); + if (datetime.TotalMilliseconds > 0) + { + item.IsQualityOverTime = false; + + } + else + { + item.IsQualityOverTime = true; + } + + } + })); + Thread.Sleep(1000); + } + } + + + + + + }); - data.ExpressOrderList = expressData.Data; + //任务倒计时数据 + qualityOverTimeThread.IsBackground = true; + qualityOverTimeThread.Start(); + //任务状态为待验收 } - } - if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) - { - data.BarCodeModel = item.BarCodeDTO; - if (data.BarCodeModel.LabelModel == BarcodeLabelModel.无型号模板) - data.BarCodeModel.LabelModel = BarcodeLabelModel.精简模板; - } - if (item.Cers != null) - { - data.CertificateModel = item.Cers; - } - if (item.FeesItemResponse != null) - { - data.FeesItemResponse = item.FeesItemResponse; - data.FeesMoney = item.FeesItemResponse.AllFees; - data.IsShowFees = item.FeesItemResponse.AllFees > 0 ? true : false; - data.FeesItemResponse.DiscountSingleFees = item.FeesItemResponse.SingleFees * item.FeesItemResponse.disCount; - data.FeesItemResponse.DiscountAllFees = item.FeesItemResponse.AllFees * item.FeesItemResponse.disCount; - } - else - { - data.IsShowFees = false; - } - if (item.PackUserName != null && item.PackUserName.Count() > 0) - { - data.PackUser = string.Join("\r\n", item.PackUserName); - } + if (QualityTaskExceptionState == Models.QualityTaskExceptionState.验收异常) + { + var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.TaskAbortTime != null).ToList(); + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packtasks) + { + TimeSpan datetime; + datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value); + item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); + if (datetime.TotalMilliseconds > 0) + { + item.IsQualityOverTime = false; - data.ReflashTask = ReflashTask; + } + else + { + item.IsQualityOverTime = true; + } - App.Current.Dispatcher.Invoke(new Action(() => - { - PackTaskList.Add(data); - })); + } + })); + } - } + } + //任务状态为待打包 - //任务状态为待验收 - if (TaskState == Models.TaskState.待验收) - { - var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList(); - if (packtasks.Count() > 0) - { - //if (qualityOverTimeThread!=null) - //{ - // qualityOverTimeThread.Abort(); - //} - qualityOverTimeThread = new Thread(() => + Task.Factory.StartNew(() => + { + foreach (var item in PackTaskList) { - IsStartThread = true; - while (IsStartThread) + if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) { - App.Current.Dispatcher.BeginInvoke(new Action(() => + var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + if (expressData != null && expressData.Success && expressData.Data != null) { - foreach (var item in packtasks) + + App.Current.Dispatcher.BeginInvoke(new Action(() => { - TimeSpan datetime; - if (item.SendToSetSkuConfigureTime != null) - datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value); - else - datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); - item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); - if (datetime.TotalMilliseconds > 0) - item.IsQualityOverTime = false; - else - item.IsQualityOverTime = true; + expressData.Data.ForEach(e => + { + e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); + }); + item.ExpressOrderList = expressData.Data; + })); - } - })); - Thread.Sleep(1000); + + + + } } + } - }); - //任务倒计时数据 - qualityOverTimeThread.IsBackground = true; - qualityOverTimeThread.Start(); - } + + }); + } + else + { } + } + else if (TaskState == Models.TaskState.待包装) { + PackTaskList = new ObservableCollection();//初始化数据 + var datas = packagingTaskService.SearchPackagingTaskList(skuId: SearchSkuId, taskId: SearchTaskId, spuId: SearchSpuId, orderSn: SearchOrderSn, PackagingTaskExceptionState: this.PackagingTaskExceptionState, shopId: globalContext.User.Shop.ShopId.ToString(), + pageIndex: PageIndex, pageSize: PageSize); + - //任务状态为待打包 - if (TaskState == Models.TaskState.待包装) + if (datas != null && datas.Data != null && datas.Success) { - var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); - if (packCompletedTasks.Count() > 0) + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + PackagingTaskCount = dataModel.PackagingTaskCount.ToString(); + PackagingTaskExceptionCount = dataModel.PackagingTaskExceptionCount.ToString(); + foreach (var item in dataModel.Items) { - packOverTimeThread = new Thread(() => + var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); + + + data.ItemList = new List() { new SkuMessage + { BrandName = item.BrandName, + Logo= item.Logo, + SkuName = item.SkuName, + SkuId = item.SkuId + } }; + data.EndTime = item.CreateTime; + data.SkuTitle = item.SkuGoodsTitle; + data.AcceptName = item.UserName; + if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) { - IsStartThread = true; - while (IsStartThread) + + data.BarCodeModel = item.BarCodeDTO; + if (data.BarCodeModel.LabelModel == BarcodeLabelModel.无型号模板) + data.BarCodeModel.LabelModel = BarcodeLabelModel.精简模板; + + } + if (item.Cers != null) + { + data.CertificateModel = item.Cers; + + } + data.ReflashTask = ReflashTask; + + if (item.PackUserName != null) + data.PackUser = string.Join("\r\n", item.PackUserName); + + if (item.PackUserName != null && item.PackUserName.Count() > 0) + { + data.PackUser = string.Join("\r\n", item.PackUserName); + } + + App.Current.Dispatcher.Invoke(new Action(() => + { + PackTaskList.Add(data); + })); + + + } + + if (TaskState == Models.TaskState.待包装) + { + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); + if (packCompletedTasks.Count() > 0) + { + + packOverTimeThread = new Thread(() => { - App.Current.Dispatcher.BeginInvoke(new Action(() => + IsStartThread = true; + while (IsStartThread) { - foreach (var item in packCompletedTasks) + App.Current.Dispatcher.BeginInvoke(new Action(() => { - var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); - if (datetime.TotalMilliseconds > 0) + foreach (var item in packCompletedTasks) { - item.IsPackOverTime = false; - item.PackRemainTime = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分"; + var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsPackOverTime = false; + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsPackOverTime = true; + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + } + } - else + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + packOverTimeThread.IsBackground = true; + packOverTimeThread.Start(); + + + } + } + //任务状态为待打包 + + + + Task.Factory.StartNew(() => + { + foreach (var item in PackTaskList) + { + if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) + { + var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + if (expressData != null && expressData.Success && expressData.Data != null) + { + + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + expressData.Data.ForEach(e => { - item.IsPackOverTime = true; - item.PackRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分"; - } + e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); - } - })); - Thread.Sleep(1000); + + }); + item.ExpressOrderList = expressData.Data; + })); + + + + + } } + } - }); - //任务倒计时数据 - packOverTimeThread.IsBackground = true; - packOverTimeThread.Start(); - } - } - if (TaskState == Models.TaskState.待排单) + }); + } + else { - var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList(); - if (packCompletedTasks.Count() > 0) + } + } + else + { + PackTaskList = new ObservableCollection();//初始化数据 + var datas = packTaskService.SearchTaskList(SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, + PageIndex, PageSize); + if (datas != null && datas.Data != null && datas.Success) + { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + foreach (var item in dataModel.Items) { - //if (packOverTimeThread!=null) - //{ - // packOverTimeThread.Abort(); - //} - scheduleOverTimeThread = new Thread(() => + var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); + + data.ItemList = new List() { new SkuMessage + { BrandName = item.BrandName, + GoodsNo = item.ProductItemNum, Logo= item.Logo, + SkuName = item.SkuName, + SkuId = item.SkuId + } }; + data.ExpressOrderList = item.ExpressOrderResponses; + data.EndTime = item.CreateTime; + data.SkuTitle = item.SkuGoodsTitle; + data.AcceptName = item.UserName; + + if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty())//加载物流信息 { - IsStartThread = true; - while (IsStartThread) + var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + if (expressData != null && expressData.Success && expressData.Data != null) { - App.Current.Dispatcher.BeginInvoke(new Action(() => + expressData.Data.ForEach(e => + { + e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); + }); + data.ExpressOrderList = expressData.Data; + } + } + if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) + { + data.BarCodeModel = item.BarCodeDTO; + if (data.BarCodeModel.LabelModel == BarcodeLabelModel.无型号模板) + data.BarCodeModel.LabelModel = BarcodeLabelModel.精简模板; + } + if (item.Cers != null) + { + data.CertificateModel = item.Cers; + } + if (item.FeesItemResponse != null) + { + data.FeesItemResponse = item.FeesItemResponse; + data.FeesMoney = item.FeesItemResponse.AllFees; + data.IsShowFees = item.FeesItemResponse.AllFees > 0 ? true : false; + data.FeesItemResponse.DiscountSingleFees = item.FeesItemResponse.SingleFees * item.FeesItemResponse.disCount; + data.FeesItemResponse.DiscountAllFees = item.FeesItemResponse.AllFees * item.FeesItemResponse.disCount; + + } + else + { + data.IsShowFees = false; + } + if (item.PackUserName != null && item.PackUserName.Count() > 0) + { + data.PackUser = string.Join("\r\n", item.PackUserName); + } + + data.ReflashTask = ReflashTask; + + App.Current.Dispatcher.Invoke(new Action(() => + { + PackTaskList.Add(data); + })); + + } + + + + //任务状态为待验收 + if (TaskState == Models.TaskState.待验收) + { + var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList(); + if (packtasks.Count() > 0) + { + //if (qualityOverTimeThread!=null) + //{ + // qualityOverTimeThread.Abort(); + //} + + qualityOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) { - foreach (var item in packCompletedTasks) + App.Current.Dispatcher.BeginInvoke(new Action(() => { - var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now); - if (datetime.TotalMilliseconds > 0) + foreach (var item in packtasks) { - item.IsScheduleOverTime = false; - item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + TimeSpan datetime; + if (item.SendToSetSkuConfigureTime != null) + datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value); + else + datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); + item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); + if (datetime.TotalMilliseconds > 0) + item.IsQualityOverTime = false; + else + item.IsQualityOverTime = true; + + + } - else + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + qualityOverTimeThread.IsBackground = true; + qualityOverTimeThread.Start(); + + + } + } + + //任务状态为待打包 + if (TaskState == Models.TaskState.待包装) + { + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); + if (packCompletedTasks.Count() > 0) + { + + packOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packCompletedTasks) { - item.IsScheduleOverTime = true; - item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsPackOverTime = false; + item.PackRemainTime = $"{datetime.Days}天{datetime.Hours}小时{datetime.Minutes}分"; + } + else + { + item.IsPackOverTime = true; + item.PackRemainTime = $"{-datetime.Days}天{-datetime.Hours}小时{-datetime.Minutes}分"; + } + } + })); + Thread.Sleep(1000); + } - } - })); - Thread.Sleep(1000); - } + }); + //任务倒计时数据 + packOverTimeThread.IsBackground = true; + packOverTimeThread.Start(); - }); - //任务倒计时数据 - scheduleOverTimeThread.IsBackground = true; - scheduleOverTimeThread.Start(); + + } + } + + if (TaskState == Models.TaskState.待排单) + { + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList(); + if (packCompletedTasks.Count() > 0) + { + //if (packOverTimeThread!=null) + //{ + // packOverTimeThread.Abort(); + //} + + scheduleOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packCompletedTasks) + { + var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsScheduleOverTime = false; + item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsScheduleOverTime = true; + item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + } + + } + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + scheduleOverTimeThread.IsBackground = true; + scheduleOverTimeThread.Start(); + } } - } + } + else + { + if (datas != null) System.Windows.MessageBox.Show(datas.Msg); + } + IsLoadCount(); } - else - { - if (datas != null) System.Windows.MessageBox.Show(datas.Msg); - } - IsLoadCount(); } catch (Exception ex) @@ -1168,7 +1553,7 @@ namespace BBWY.Client.ViewModels.PackTask if (SealBoxConfigureType == SealBoxConfigureType.待配置) { FallWareWaitConfigureList = new ObservableCollection(); - var fallWareRes = sealBoxService.SearchFallWareConfiguredList(PositionState.待落仓, taskId, SearchSkuId, PageIndex, PageSize); + var fallWareRes = sealBoxService.SearchFallWareConfiguredList(PositionState.待落仓, SearchTaskId, SearchSkuId, PageIndex, PageSize); if (fallWareRes == null) { @@ -1239,7 +1624,7 @@ namespace BBWY.Client.ViewModels.PackTask if (SealBoxConfigureType == SealBoxConfigureType.已配置) { FallWareConfiguredList = new ObservableCollection(); - var fallWareRes = sealBoxService.SearchFallWareConfiguredList(PositionState.已配置待落仓, taskId, SearchSkuId, PageIndex, PageSize); + var fallWareRes = sealBoxService.SearchFallWareConfiguredList(PositionState.已配置待落仓, SearchTaskId, SearchSkuId, PageIndex, PageSize); if (fallWareRes == null) { @@ -1282,7 +1667,7 @@ namespace BBWY.Client.ViewModels.PackTask Task.Factory.StartNew(() => { WaitCompletedList = new ObservableCollection(); - var datas = sealBoxService.GetWareWaitCompletedList(globalContext.User.Shop.ShopId.ToString(), null, taskId, SearchSkuId, null, PageIndex, PageSize); + var datas = sealBoxService.GetWareWaitCompletedList(globalContext.User.Shop.ShopId.ToString(), null, SearchTaskId, SearchSkuId, null, PageIndex, PageSize); if (datas != null && datas.Data != null && datas.Success) { var dataModel = datas.Data; diff --git a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs index a43753e5..9c1d8530 100644 --- a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs @@ -25,9 +25,19 @@ using System.Diagnostics.Eventing.Reader; using BBWY.Client.Models.SealBox; using Newtonsoft.Json; using System.Diagnostics; -using BBWY.Client.Extensions; using BBWY.Client.APIServices.QiKu; using BBWY.Client.Views.PackerTask; +using BBWY.Client.Models.QualityTask; +using BBWY.Client.Views.QualityTask; +using BBWY.Client.Views.QualityTipWindows; +using System.Windows.Interop; +using NPOI.SS.Formula.Functions; +using NPOI.SS.Util; +using System.Text; +using BBWY.Client.Views.SplitTask; +using BBWY.Client.Extensions; +using BBWY.Client.Views.PackTaskAbort; +using System.Windows.Controls; namespace BBWY.Client.ViewModels.PackTask { @@ -292,7 +302,7 @@ namespace BBWY.Client.ViewModels.PackTask } } - + private string searchExpressName; public string SearchExpressName { @@ -373,7 +383,7 @@ namespace BBWY.Client.ViewModels.PackTask /// /// 分箱列表(已配置) /// - public List SealBoxModelList { get; set; } + public List SealBoxModelList { get; set; } @@ -386,7 +396,6 @@ namespace BBWY.Client.ViewModels.PackTask public ObservableCollection PackTaskList { get => packTaskList; set { Set(ref packTaskList, value); } } - private ObservableCollection storeGetSelfDataList; /// /// 商家自取记录任务列表 @@ -590,12 +599,39 @@ namespace BBWY.Client.ViewModels.PackTask private WareType selectWareType; public WareType SelectWareType { get => selectWareType; set { Set(ref selectWareType, value); } } + + + private QualityTaskExceptionState? qualityTaskExceptionState = Models.QualityTaskExceptionState.待验收; + /// + /// 任务状态 + /// + public QualityTaskExceptionState? QualityTaskExceptionState + { + get => qualityTaskExceptionState; set + { + Set(ref qualityTaskExceptionState, value); + } + } + + + private PackagingTaskExceptionState? packagingTaskExceptionState; + /// + /// 任务状态 + /// + public PackagingTaskExceptionState? PackagingTaskExceptionState + { + get => packagingTaskExceptionState; set + { + Set(ref packagingTaskExceptionState, value); + } + } #endregion private readonly PackTaskService packTaskService; private readonly SealBoxService sealBoxService; public GlobalContext globalContext; + private readonly PackagingTaskService packagingTaskService; /// /// 推送sku配置状态 @@ -694,10 +730,6 @@ namespace BBWY.Client.ViewModels.PackTask public ICommand DeletedTaskCommand { get; set; } - /// - /// 商家自取 - /// - public ICommand StoreGetBySelfCommand { get; set; } /// @@ -734,16 +766,57 @@ namespace BBWY.Client.ViewModels.PackTask public ICommand PackTaskMarkMessageCommand { get; set; } public ICommand AppendMarkMessageCommand { get; set; } - public WareHouseListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, PackUserService packUserService, MarkMessageService markMessageService) - { + public ICommand SetQualityTaskExceptionStateCommand { get; set; } + + public ICommand SetPackagingTaskExceptionStateCommand { get; set; } + public ICommand QualityTaskExceptionCommand { get; set; } + /// + /// 验收任务 + /// + public ICommand QualityTaskCommand { get; set; } + + /// + /// 任务拆分 + /// + public ICommand TaskSplitCommand { get; set; } + + /// + /// 挂起 + /// + public ICommand PackagingTaskExceptionCommand { get; set; } + + /// + /// 商家自取 + /// + public ICommand StoreGetBySelfCommand { get; set; } + /// + /// 包装任务释放挂起 + /// + public ICommand DisposeTaskCommand { get; set; } + + /// + /// 修改货架号 + /// + public ICommand UpdateShelvesNumberCommand { get; set; } + + /// + /// 打印异常任务信息 + /// + public ICommand PrintShelvesNumberCommand { get; set; } + + public WareHouseListViewModel(PackTaskService packTaskService, GlobalContext globalContext, SealBoxService sealBoxService, PackUserService packUserService, MarkMessageService markMessageService, QualityTaskService qualityTaskService, PackagingTaskService packagingTaskService, PackTaskAbortService packTaskAbortService) + { + this.packTaskAbortService = packTaskAbortService; this.globalContext = globalContext; this.sealBoxService = sealBoxService; this.packTaskService = packTaskService; this.packUserService = packUserService; this.markMessageService = markMessageService; + this.packagingTaskService = packagingTaskService; + this.qualityTaskService = qualityTaskService; //Messenger.Default.Send(globalContext, "AcceptGlobalContext"); PackTaskList = new ObservableCollection();//初始化数据 @@ -795,13 +868,19 @@ namespace BBWY.Client.ViewModels.PackTask StoreGetBySelfCommand = new RelayCommand(StoreGetBySelf); + QualityStoreGetBySelfCommand = new RelayCommand(QualityStoreGetBySelf); + CompletedPackTaskCommand = new RelayCommand(CompletedPackTask); SetWareTypeCommand = new RelayCommand(s => { - SelectWareType = s; - SearchTaskList(); + if (PageIndex == 1) + SearchTaskList(); + else + PageIndex = 1; + + }); CompeteWaitTransportCommand = new RelayCommand(CompeteWaitTransport); @@ -831,271 +910,625 @@ namespace BBWY.Client.ViewModels.PackTask PackTaskMarkMessageCommand = new RelayCommand(PackTaskMarkMessage); AppendMarkMessageCommand = new RelayCommand(AppendMarkMessage); + SetQualityTaskExceptionStateCommand = new RelayCommand(() => + { + if (PageIndex == 1) + SearchTaskList(); + else + PageIndex = 1; + }); - } - MarkMessageService markMessageService; - private void AppendMarkMessage(long taskId) - { - var model = PackTaskList?.SingleOrDefault(p => p.TaskId == taskId); - if (model != null) + SetPackagingTaskExceptionStateCommand = new RelayCommand(() => { + if (PageIndex == 1) + SearchTaskList(); + else + PageIndex = 1; + }); - var res = markMessageService.AppendMarkMessage(taskId, model.TaskMarkMsg, globalContext.User.Name); - if (res == null) - { - return; - } - if (!res.Success) - { - MessageBox.Show(res.Msg); - return; - } - model.TaskMarkMsg = string.Empty; + QualityTaskExceptionCommand = new RelayCommand(QualityTaskException); - model.ShowSendMsg = false; + QualityTaskCommand = new RelayCommand(QualityTask); - ReflashTask(); - } + TaskSplitCommand = new RelayCommand(TaskSplit); + PackagingTaskExceptionCommand = new RelayCommand(PackagingTaskException); - } + DisposeTaskCommand = new RelayCommand(DisposeTask); - private void PackTaskMarkMessage(long taskId) - { - var model = PackTaskList?.SingleOrDefault(p => p.TaskId == taskId); - if (model != null) + + + if (IsCanPackModelList == null) { - model.ShowSendMsg = !model.ShowSendMsg; + var res = packTaskService.GetTaskAbortEnum(); + if (res.Success) + { + IsCanPackModelList = res.Data.IsCanPackModelList; + ShelvesNumberList = res.Data.ShelvesNumberList; + FloorNumberList = res.Data.FloorNumberList; + } } - } - private void ShowMoreMessage(long taskId) - { - var model = PackTaskList?.SingleOrDefault(p => p.TaskId == taskId); - if (model != null) - { - model.ShowMoreMsg = !model.ShowMoreMsg; - + UpdateShelvesNumberCommand = new RelayCommand(UpdateShelvesNumber); - } + PrintShelvesNumberCommand = new RelayCommand(PrintShelvesNumber); } - private void LoadCompletedSkuData(WareWaitCompleted model) + private void PrintShelvesNumber(PackTaskModel model) { - if (model.WaitTransportSkus == null || model.WaitTransportSkus.Count <= 0) - { - var skuDatas = WaitCompleteds.SingleOrDefault(w => w.SealBoxId == model.SealBoxId); - WaitCompletedList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = skuDatas.WaitTransportSkus; - } - else - { - WaitCompletedList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = null; - } + PrintExceptionTaskWindow window = new PrintExceptionTaskWindow(model); + window.ShowDialog(); } - private void LoadTransportSkuData(WareWaitTransport model) + private void UpdateShelvesNumber(PackTaskModel model) { - if (model.WaitTransportSkus == null || model.WaitTransportSkus.Count <= 0) - { - var skuDatas = WareWaitTransports.SingleOrDefault(w => w.SealBoxId == model.SealBoxId); - WaitTransportList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = skuDatas.WaitTransportSkus; - } - else - { - WaitTransportList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).WaitTransportSkus = null; - } - } + UpdateShelvesNumberWindow window = new UpdateShelvesNumberWindow(packTaskAbortService, model, ReflashTask, ShelvesNumberList, FloorNumberList); - private void LoadFallWareSkuData(WaitFallWareModel model) - { - if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0) - { - var skuDatas = WaitFallWareLists.SingleOrDefault(w => w.SealBoxId == model.SealBoxId); - WaitFallWareList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = skuDatas.SealBoxSkus; - } - else - { - WaitFallWareList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = null; - } + window.ShowDialog(); } - private void LoadSealBoxSkuData(SealBoxModel model) + /// + /// 手动释放挂起 + /// + /// + public void DisposeTask(long taskId) { - if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0) - { - var skuDatas = SealBoxModelList.SingleOrDefault(w => w.SealBoxId == model.SealBoxId); - WaitSealBoxModels.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = skuDatas.SealBoxSkus; - } - else + if (System.Windows.MessageBox.Show("是否释放挂起?", "提示", + MessageBoxButton.YesNo, + MessageBoxImage.Warning) != MessageBoxResult.Yes) + return; + var res = packTaskAbortService.DisposedPackTask(taskId); + if (res == null || !res.Success) { - WaitSealBoxModels.SingleOrDefault(w => w.SealBoxId == model.SealBoxId).SealBoxSkus = null; + MessageBox.Show(res?.Msg); + return; } - } + ReflashTask(); + } - private void LoadSkuData(WareNoSealBoxModel model) + public List IsCanPackModelList { get; set; } + public List ShelvesNumberList { get; set; } + public List FloorNumberList { get; set; } + public void PackagingTaskException(long taskId) { - if (model.SealBoxSkus == null || model.SealBoxSkus.Count <= 0) + + try { - var skuDatas = WaitSealBoxModelList.SingleOrDefault(w => w.ShopId == model.ShopId); - WareNoSealBoxModels.SingleOrDefault(w => w.ShopId == model.ShopId).SealBoxSkus = skuDatas.SealBoxSkus; + AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, taskId, Models.TaskState.待包装, ReflashTask, IsCanPackModelList, ShelvesNumberList, FloorNumberList); + addExceptionWindow.ShowDialog(); } - else + catch (Exception ex) { - WareNoSealBoxModels.SingleOrDefault(w => w.ShopId == model.ShopId).SealBoxSkus = new List(); - } - + MessageBox.Show(ex.Message); + } + } - private void SendToSetSkuConfigure(PackTaskModel model) + public void TaskSplit(PackTaskModel model) { - if (model.SendToSetSkuConfigureTime != null) - { - System.Windows.MessageBox.Show($"已提醒配置,提醒时间:{model.SendToSetSkuConfigureTime},请耐心等待"); - return; - } - - var res = packTaskService.SendToSetSkuConfigure(model.TaskId); - if (!res.Success) - { - System.Windows.MessageBox.Show(res.Msg); - } - if (res.Success) - { - SearchTaskList(); - } + SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState, ReflashTask); + addExceptionWindow.ShowDialog(); } - private void SubmitOverTimeMarkMsg(object param) + private void QualityTask(long taskId) { + var model = PackTaskList?.SingleOrDefault(p => p.TaskId == taskId); - var paramList = (object[])param; - var id = (long)paramList[0]; - var markMsg = paramList[1]?.ToString(); - + if (model == null) { MessageBox.Show($"任务不存在,任务id:{taskId}"); return; } - OverTimeTaskType overTimeTaskType = OverTimeTaskType.待验收; - switch (TaskState.Value) + var shopList = globalContext.User.ShopList; + var shop = shopList.FirstOrDefault(s => s.ShopName == model.ShopName); + if (shop == null) { - case Models.TaskState.待验收: - overTimeTaskType = Models.OverTimeTaskType.待验收; - break; - case Models.TaskState.待排单: - overTimeTaskType = Models.OverTimeTaskType.待排单; - break; - case Models.TaskState.待包装: - overTimeTaskType = Models.OverTimeTaskType.待打包; - break; - case Models.TaskState.待封箱: - overTimeTaskType = Models.OverTimeTaskType.待封箱; - break; - case Models.TaskState.待落仓: - overTimeTaskType = Models.OverTimeTaskType.待落仓; - break; - case Models.TaskState.待转运: - overTimeTaskType = Models.OverTimeTaskType.待转运; - break; + MessageBox.Show($"查找不到店铺信息, {model.ShopName}"); + return; } - SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(overTimeTaskType, id, markMsg, packTaskService, ReflashTask); - submitOverTimeMarkMsgWindow.ShowDialog(); - } - - private void LookLSOrderConfigure(object obj) - { - var model = obj as WaitFallWareModel; + var packTaskRes = qualityTaskService.GetQualityTask(model.TaskId);//获取任务详情 - if (model.WareType != WareType.京仓) + if (packTaskRes == null) { - System.Windows.MessageBox.Show($"{model.WareType}没有揽收单,只有京仓才有揽收单."); + MessageBox.Show("网络异常!"); return; } - - if (model.BoxConfigureData == null || model.BoxConfigureData.PrewOrder.IsNullOrEmpty()) + if (!packTaskRes.Success || packTaskRes.Data == null) { - System.Windows.MessageBox.Show($"预约单号为空,无法查看"); + MessageBox.Show(packTaskRes.Msg); return; } + if (packTaskRes == null || !packTaskRes.Success) return; - var lsdTaskMsgRes = sealBoxService.GetWareLSAcceptOrder(); - if (!lsdTaskMsgRes.Success) - { - System.Windows.MessageBox.Show($"获取任务信息失败,原因:{lsdTaskMsgRes.Msg}"); - return; - - } - var lsdTaskMsg = lsdTaskMsgRes.Data; - var LSOrderPurchaseListRes = sealBoxService.GetWareLSOrderPurchaseList(model.BoxConfigureData.PrewOrder); - if (!LSOrderPurchaseListRes.Success) + //获取品牌和适用年龄 + var skuAttsDetailRes = qualityTaskService.SearchProductAttrsBySkuId(model.SkuId, shop.AppKey, shop.AppSecret, shop.AppToken, shop.Platform); + if (skuAttsDetailRes == null || !skuAttsDetailRes.Success) { - System.Windows.MessageBox.Show($"获取货物信息失败,原因:{LSOrderPurchaseListRes.Msg}"); + MessageBox.Show(skuAttsDetailRes?.Msg); return; - - } - - var data = LSOrderPurchaseListRes.Data; - lsdTaskMsg.CustomerName = model.ShopName; - lsdTaskMsg.CustomerUserName = model.ShopName; - lsdTaskMsg.JDTransportUserName = model.ShopName; - List lookData = null; - if (data.GetWareLSOrderPurchases.Count > 10) - { - lookData = data.GetWareLSOrderPurchases.ToList().GetRange(0, 10); - } - else - { - lookData = data.GetWareLSOrderPurchases.ToList(); } - var totalPageIndex = data.GetWareLSOrderPurchases.Count() % 10 == 0 ? data.GetWareLSOrderPurchases.Count() / 10 : data.GetWareLSOrderPurchases.Count() / 10 + 1; - WareLSAcceptOrderWindow wareLSAcceptOrderWindow = new WareLSAcceptOrderWindow(lsdTaskMsg, lookData, 1, totalPageIndex, model.BoxConfigureData.PrewOrder); - wareLSAcceptOrderWindow.ShowDialog(); - } - private void PrintLSOrderConfigure(object obj) - { - var model = obj as WaitFallWareModel; + var IsPassInspection = packTaskRes.Data.IsPassInspection; - if (model.WareType != WareType.京仓) - { - System.Windows.MessageBox.Show($"{model.WareType}没有揽收单,只有京仓才有揽收单."); - return; - } - if (model.BoxConfigureData == null || model.BoxConfigureData.PrewOrder.IsNullOrEmpty()) - { - System.Windows.MessageBox.Show($"预约单号为空,无法查看"); - return; - } - var lsdTaskMsgRes = sealBoxService.GetWareLSAcceptOrder(); - if (!lsdTaskMsgRes.Success) - { - System.Windows.MessageBox.Show($"获取任务信息失败,原因:{lsdTaskMsgRes.Msg}"); - return; + var skuAttsDetail = skuAttsDetailRes.Data; - } - var lsdTaskMsg = lsdTaskMsgRes.Data; - lsdTaskMsg.CustomerName = model.ShopName; - lsdTaskMsg.CustomerUserName = model.ShopName; - lsdTaskMsg.JDTransportUserName = model.ShopName; - var LSOrderPurchaseListRes = sealBoxService.GetWareLSOrderPurchaseList(model.BoxConfigureData.PrewOrder); - if (!LSOrderPurchaseListRes.Success) - { - System.Windows.MessageBox.Show($"获取货物信息失败,原因:{LSOrderPurchaseListRes.Msg}"); - return; + bool isqualityCer = false; //验收合格证 + StringBuilder sb = null; + Need IsNeedCer = Need.不需要; + BrandMarkType markType = BrandMarkType.无需遮盖; - } + SendCer3CValidMsgModel? sendCer3CValidMsgModel = null; + + bool? isCer3CValid = null; + + new QualityProductWindow("商品合格证情况", "包装是否有合格证?", "有", "无", (ishaveCer) => + { + if (ishaveCer)//验收商品 有合格证 + { + if (skuAttsDetail.ApplyAge.IsNullOrEmpty() || (skuAttsDetail.IsApplyAgeOver14 != null && skuAttsDetail.IsApplyAgeOver14.Value))//不存在使用年龄 或者适用年龄大于14 + { + new QualityProductWindow("商品合格证情况", "合格证是否有品牌信息?", "有", "无", (iscerhavebrand) => + { + + if (iscerhavebrand) + { + + new QualityProductWindow("商品合格证情况", $"合格证品牌:{skuAttsDetail.Brand}?", $"是", $"不是", (istruebrand) => + { + if (!istruebrand) + { + //需要合格证 + if (model.CertificateModel == null || !model.CertificateModel.Any())//未配置 + { + sendCer3CValidMsgModel = SendCer3CValidMsgModel.任务未配置合格证; + return; + } + //todo:打印合格证 完全遮盖包装合格证信息 + + + } + isqualityCer = true;//验收合格证完毕 + }).ShowDialog(); + return; + } + + isqualityCer = true;//验收合格证完毕 + + }).ShowDialog(); + + } + else + { + + + if (IsPassInspection)//验收过 跳过询问 + { + isqualityCer = true; + return; + } + //todo: 判断是否首次验收 只支持供应链 有采购方案的 + new QualityProductWindow("商品合格证情况", "合格证是否有3C标?", "有", "无", (ishave3c) => + { + if (ishave3c) + { + sendCer3CValidMsgModel = SendCer3CValidMsgModel.验证3C有效性; + return; + } + else + { + if (!model.CertificateModel.Any(c => c.LabelModel != CertificateLabelModel.标准有3c))//所有有配置的合格证都是标准3c + { + isqualityCer = true;//验收正常 + return; + } + sendCer3CValidMsgModel = SendCer3CValidMsgModel.配置的合格证不是3c; + + //todo:需遮盖 原合格证 + } + + + + }).ShowDialog(); + } + + //验收商品合格证是否有品牌 + + + } + else + { + IsNeedCer = Need.需要;//需要合格证 + //需要合格证 + if (model.CertificateModel == null || !model.CertificateModel.Any())//未配置 + { + sendCer3CValidMsgModel = SendCer3CValidMsgModel.任务未配置合格证; + return; + } + + if (skuAttsDetail.ApplyAge.IsNullOrEmpty() || (skuAttsDetail.IsApplyAgeOver14 != null && skuAttsDetail.IsApplyAgeOver14.Value))//不存在使用年龄 或者适用年龄大于14 + { + isqualityCer = true;//验收正常 + return; + } + //年龄低于14 + + if (!model.CertificateModel.Any(c => c.LabelModel != CertificateLabelModel.标准有3c))//所有有配置的合格证都是标准3c + { + isqualityCer = true;//验收正常 + return; + } + //不存在 3c 通知采购方问题 + // MessageBox.Show("提示采购部门,当前任务配置的合格证没有3C,赶紧配置,任务已挂起"); + + //todo:无需遮盖 + sendCer3CValidMsgModel = SendCer3CValidMsgModel.配置的合格证不是3c; + return; + } + + }).ShowDialog(); + + if (sendCer3CValidMsgModel != null) + { + + if (model.TaskAbortTime != null)// + { + MessageBox.Show($"任务异常未处理,{sendCer3CValidMsgModel}"); + return; + } + + + var res = qualityTaskService.SendMsgToPurchaseDepartment(model.TaskId, sendCer3CValidMsgModel.Value); + + if (res == null || !res.Success) + { + MessageBox.Show(res?.Msg); + return; + } + + if (res.Success) + { + if (!res.Msg.IsNullOrEmpty()) + MessageBox.Show(res.Msg); + ReflashTask();//刷新任务 + } + } + + + if (isqualityCer)//合格证验收完毕 + { + bool isqualityBrand = false; + new QualityProductWindow("商品品牌情况", "包装是否有品牌商标?", "有", "无", (ishavebrand) => + { + + if (ishavebrand)//有品牌且品牌不是集团的 + { + if (!skuAttsDetail.IsTeamBrand) + { + new QualityProductWindow($"商品品牌情况", $"包装品牌:{skuAttsDetail.Brand}", $"是", $"不是", (istruebrand) => + { + + + if (istruebrand) + { + //无需贴商标 + + markType = BrandMarkType.无需贴商标; + } + else + { + markType = BrandMarkType.需遮盖; + //需覆盖商标 + } + isqualityBrand = true; + + }).ShowDialog(); + } + else + { + markType = BrandMarkType.需遮盖;//有品牌 但任务sku所属的品牌是集团品牌 + isqualityBrand = true; + } + } + else + { + isqualityBrand = true; + //需贴商标 + markType = BrandMarkType.无需遮盖; + + } + }).ShowDialog(); + + + if (isqualityBrand) + { + + + if (IsNeedCer == Need.需要) + { + QualityWindow service = new QualityWindow(model, ReflashTask, IsNeedCer, markType, packTaskRes.Data); + service.ShowDialog(); + } + else + { + BatchPrintWindow window = new BatchPrintWindow(markType, IsNeedCer, model.TaskId, model.BrandName, model.SkuCount, model.CertificateModel, model.BarCodeModel, qualityTaskService, + ReflashTask + ); + window.ShowDialog(); + } + + + + } + + + } + + + + + } + + private void QualityTaskException(long taskId) + { + try + { + AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, taskId, Models.TaskState.待验收, ReflashTask, IsCanPackModelList, ShelvesNumberList, FloorNumberList); + addExceptionWindow.ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + + } + + } + + MarkMessageService markMessageService; + private void AppendMarkMessage(long taskId) + { + var model = PackTaskList?.SingleOrDefault(p => p.TaskId == taskId); + if (model != null) + { + + var res = markMessageService.AppendMarkMessage(taskId, model.TaskMarkMsg, globalContext.User.Name); + if (res == null) + { + + return; + } + if (!res.Success) + { + MessageBox.Show(res.Msg); + return; + } + + model.TaskMarkMsg = string.Empty; + + model.ShowSendMsg = false; + + ReflashTask(); + + } + + + } + + private void PackTaskMarkMessage(long taskId) + { + var model = PackTaskList?.SingleOrDefault(p => p.TaskId == taskId); + if (model != null) + { + model.ShowSendMsg = !model.ShowSendMsg; + } + } + private void ShowMoreMessage(long taskId) + { + + + var model = PackTaskList?.SingleOrDefault(p => p.TaskId == taskId); + if (model != null) + { + model.ShowMoreMsg = !model.ShowMoreMsg; + + + + } + + + + } + + private void LoadCompletedSkuData(WareWaitCompleted model) + { + model.IsHideSkuList = !model.IsHideSkuList; + + } + + private void LoadTransportSkuData(WareWaitTransport model) + { + + model.IsHideSkuList = !model.IsHideSkuList; + + + } + + + private void LoadFallWareSkuData(WaitFallWareModel model) + { + model.IsHideSkuList = !model.IsHideSkuList; + + } + + private void LoadSealBoxSkuData(SealBoxModel model) + { + model.IsHideSkuList = !model.IsHideSkuList; + + } + + + private void LoadSkuData(WareNoSealBoxModel model) + { + model.IsHideSkuList = !model.IsHideSkuList; + + + + + } + + private void SendToSetSkuConfigure(PackTaskModel model) + { + if (model.SendToSetSkuConfigureTime != null) + { + System.Windows.MessageBox.Show($"已提醒配置,提醒时间:{model.SendToSetSkuConfigureTime},请耐心等待"); + return; + } + + + var res = packTaskService.SendToSetSkuConfigure(model.TaskId); + if (!res.Success) + { + System.Windows.MessageBox.Show(res.Msg); + } + if (res.Success) + { + SearchTaskList(); + } + } + + private void SubmitOverTimeMarkMsg(object param) + { + + var paramList = (object[])param; + var id = (long)paramList[0]; + var markMsg = paramList[1]?.ToString(); + + + OverTimeTaskType overTimeTaskType = OverTimeTaskType.待验收; + switch (TaskState.Value) + { + case Models.TaskState.待验收: + overTimeTaskType = Models.OverTimeTaskType.待验收; + break; + case Models.TaskState.待排单: + overTimeTaskType = Models.OverTimeTaskType.待排单; + break; + case Models.TaskState.待包装: + overTimeTaskType = Models.OverTimeTaskType.待打包; + break; + case Models.TaskState.待封箱: + overTimeTaskType = Models.OverTimeTaskType.待封箱; + break; + case Models.TaskState.待落仓: + overTimeTaskType = Models.OverTimeTaskType.待落仓; + break; + case Models.TaskState.待转运: + overTimeTaskType = Models.OverTimeTaskType.待转运; + break; + } + + SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(overTimeTaskType, id, markMsg, packTaskService, ReflashTask); + submitOverTimeMarkMsgWindow.ShowDialog(); + } + + private void LookLSOrderConfigure(object obj) + { + var model = obj as WaitFallWareModel; + + if (model.WareType != WareType.京仓) + { + System.Windows.MessageBox.Show($"{model.WareType}没有揽收单,只有京仓才有揽收单."); + return; + } + + if (model.BoxConfigureData == null || model.BoxConfigureData.PrewOrder.IsNullOrEmpty()) + { + System.Windows.MessageBox.Show($"预约单号为空,无法查看"); + return; + } + + var lsdTaskMsgRes = sealBoxService.GetWareLSAcceptOrder(); + if (!lsdTaskMsgRes.Success) + { + System.Windows.MessageBox.Show($"获取任务信息失败,原因:{lsdTaskMsgRes.Msg}"); + return; + + } + var lsdTaskMsg = lsdTaskMsgRes.Data; + + var LSOrderPurchaseListRes = sealBoxService.GetWareLSOrderPurchaseList(model.BoxConfigureData.PrewOrder); + if (!LSOrderPurchaseListRes.Success) + { + System.Windows.MessageBox.Show($"获取货物信息失败,原因:{LSOrderPurchaseListRes.Msg}"); + return; + + } + + var data = LSOrderPurchaseListRes.Data; + lsdTaskMsg.CustomerName = model.ShopName; + lsdTaskMsg.CustomerUserName = model.ShopName; + lsdTaskMsg.JDTransportUserName = model.ShopName; + List lookData = null; + if (data.GetWareLSOrderPurchases.Count > 10) + { + lookData = data.GetWareLSOrderPurchases.ToList().GetRange(0, 10); + } + else + { + lookData = data.GetWareLSOrderPurchases.ToList(); + } + + var totalPageIndex = data.GetWareLSOrderPurchases.Count() % 10 == 0 ? data.GetWareLSOrderPurchases.Count() / 10 : data.GetWareLSOrderPurchases.Count() / 10 + 1; + + WareLSAcceptOrderWindow wareLSAcceptOrderWindow = new WareLSAcceptOrderWindow(lsdTaskMsg, lookData, 1, totalPageIndex, model.BoxConfigureData.PrewOrder); + wareLSAcceptOrderWindow.ShowDialog(); + } + + private void PrintLSOrderConfigure(object obj) + { + var model = obj as WaitFallWareModel; + + if (model.WareType != WareType.京仓) + { + System.Windows.MessageBox.Show($"{model.WareType}没有揽收单,只有京仓才有揽收单."); + return; + } + + if (model.BoxConfigureData == null || model.BoxConfigureData.PrewOrder.IsNullOrEmpty()) + { + System.Windows.MessageBox.Show($"预约单号为空,无法查看"); + return; + } + + var lsdTaskMsgRes = sealBoxService.GetWareLSAcceptOrder(); + if (!lsdTaskMsgRes.Success) + { + System.Windows.MessageBox.Show($"获取任务信息失败,原因:{lsdTaskMsgRes.Msg}"); + return; + + } + var lsdTaskMsg = lsdTaskMsgRes.Data; + lsdTaskMsg.CustomerName = model.ShopName; + lsdTaskMsg.CustomerUserName = model.ShopName; + lsdTaskMsg.JDTransportUserName = model.ShopName; + var LSOrderPurchaseListRes = sealBoxService.GetWareLSOrderPurchaseList(model.BoxConfigureData.PrewOrder); + if (!LSOrderPurchaseListRes.Success) + { + System.Windows.MessageBox.Show($"获取货物信息失败,原因:{LSOrderPurchaseListRes.Msg}"); + return; + + } var data = LSOrderPurchaseListRes.Data; @@ -1138,50 +1571,85 @@ namespace BBWY.Client.ViewModels.PackTask var model = (WareWaitTransport)obj; - if (System.Windows.MessageBox.Show("是否完成转运?", "提示", - MessageBoxButton.YesNo, - MessageBoxImage.Warning) != MessageBoxResult.Yes) - return; - var res = sealBoxService.WareCompeteTransport(model.SealBoxId); - if (res == null) - { - return; - } - if (!res.Success) - { - System.Windows.MessageBox.Show(res.Msg); - return; - } - Task.Factory.StartNew(() => SearchTaskList()); - } + if (System.Windows.MessageBox.Show("是否完成转运?", "提示", + MessageBoxButton.YesNo, + MessageBoxImage.Warning) != MessageBoxResult.Yes) + return; + var res = sealBoxService.WareCompeteTransport(model.SealBoxId); + if (res == null) + { + return; + } + if (!res.Success) + { + System.Windows.MessageBox.Show(res.Msg); + return; + } + Task.Factory.StartNew(() => SearchTaskList()); + } + + PackUserService packUserService; + private void CompletedPackTask(object obj) + { + var model = (PackTaskModel)obj; + AddOneItemWeightWindow addOneItemWeightWindow = new AddOneItemWeightWindow(ReflashTask, packUserService, model.TaskId); + addOneItemWeightWindow.ShowDialog(); + } + public void StoreGetBySelf(long taskId) + { + + + + + //MessageBoxResult result = System.Windows.MessageBox.Show($"确定商家自取,任务id:{taskId}?", "提示", + // MessageBoxButton.YesNo, + // MessageBoxImage.Warning); + //if (result != MessageBoxResult.Yes) return; + + var data = packTaskService.GetStoreGetSelfData(taskId); + if (!data.Success) + { + MessageBox.Show(data?.Msg); + return; + } + + StorePickProductWindow sorePickProductWindow = new StorePickProductWindow(data.Data, (count, UserName) => + { + + var res = packTaskService.StoreGetBySelfV3(taskId, count, UserName); + if (res == null) + { + return false; + } + if (!res.Success) + { + System.Windows.MessageBox.Show(res.Msg, "错误信息"); + return false; + } + + + Task.Factory.StartNew(() => SearchTaskList()); + + return true; + }, false); + sorePickProductWindow.ShowDialog(); + + - PackUserService packUserService; - private void CompletedPackTask(object obj) - { - var model = (PackTaskModel)obj; - AddOneItemWeightWindow addOneItemWeightWindow = new AddOneItemWeightWindow(ReflashTask, packUserService, model.TaskId); - addOneItemWeightWindow.ShowDialog(); } - private void StoreGetBySelf(long taskId) + private void QualityStoreGetBySelf(long taskId) { - - //MessageBoxResult result = System.Windows.MessageBox.Show($"确定商家自取,任务id:{taskId}?", "提示", - // MessageBoxButton.YesNo, - // MessageBoxImage.Warning); - //if (result != MessageBoxResult.Yes) return; - var data = packTaskService.GetStoreGetSelfData(taskId); if (!data.Success) { MessageBox.Show(data?.Msg); return; } - StorePickProductWindow sorePickProductWindow = new StorePickProductWindow(data.Data, (count, UserName) => { - var res = packTaskService.StoreGetBySelfV2(taskId, count, UserName); + var res = packTaskService.StoreGetBySelfV3(taskId, count, UserName); if (res == null) { return false; @@ -1196,7 +1664,7 @@ namespace BBWY.Client.ViewModels.PackTask Task.Factory.StartNew(() => SearchTaskList()); return true; - }); + }, true); sorePickProductWindow.ShowDialog(); @@ -1206,7 +1674,7 @@ namespace BBWY.Client.ViewModels.PackTask private void DeletedTask(object obj) { var packTaskmodel = (PackTaskModel)obj; - MessageBoxResult result = System.Windows.MessageBox.Show($"确定取消任务{packTaskmodel.TaskId}?", "提示", + MessageBoxResult result = System.Windows.MessageBox.Show($"确定取消任务{packTaskmodel.TaskIdRemark}?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result != MessageBoxResult.Yes) return; @@ -1312,13 +1780,18 @@ namespace BBWY.Client.ViewModels.PackTask private void SetSealBox(object obj) { - + } #region 事件绑定 + /// + /// 商家自取(未验收) + /// + public ICommand QualityStoreGetBySelfCommand { get; set; } + /// /// 完成封箱 @@ -1334,7 +1807,8 @@ namespace BBWY.Client.ViewModels.PackTask return; } - SetSealBoxWindow setSealBoxWindow = new SetSealBoxWindow(new Action((boxCount) => { + SetSealBoxWindow setSealBoxWindow = new SetSealBoxWindow(new Action((boxCount) => + { @@ -1381,360 +1855,690 @@ namespace BBWY.Client.ViewModels.PackTask case Models.TaskState.部分到货: - if (!model.OrderId.IsNullOrEmpty()) - { - if (model.ExpressOrderList == null || model.ExpressOrderList.Count <= 0) + if (!model.OrderId.IsNullOrEmpty()) + { + if (model.ExpressOrderList == null || model.ExpressOrderList.Count <= 0) + { + System.Windows.MessageBox.Show("该任务采购单未进行发货,请联系业务进行发货后在确认收货", "提示"); + return; + } + } + if (System.Windows.MessageBox.Show("是否确认收货?", "提示", + MessageBoxButton.YesNo, + MessageBoxImage.Warning) != MessageBoxResult.Yes) + return; + + if (!model.OrderId.IsNullOrEmpty()) + { + var manualSigns = packTaskService.BatchManualSign(model.ExpressOrderList.Select(e => e.WaybillNo).ToArray()); + if (manualSigns == null || !manualSigns.Success) + { + if (!manualSigns.Success) + { + System.Windows.MessageBox.Show($"B端确认收货失败,{manualSigns.Msg}"); + return; + } + } + } + res = packTaskService.SetPackTaskState(taskId, Models.TaskState.待验收); + break; + case Models.TaskState.待验收: + break; + case Models.TaskState.待包装: + + var packModel = PackTaskList.SingleOrDefault(p => p.TaskId == taskId); + if (packModel == null || packModel.FeesItemResponse == null || packModel.FeesItemResponse.DiscountAllFees == 0) + { + System.Windows.MessageBox.Show("请先设置打包费用0!"); + return; + } + if (System.Windows.MessageBox.Show("是否完成打包?", "提示", + MessageBoxButton.YesNo, + MessageBoxImage.Warning) != MessageBoxResult.Yes) + return; + res = packTaskService.SetPackTaskState(taskId, Models.TaskState.待封箱); + break; + case Models.TaskState.待封箱: + break; + case Models.TaskState.待出库: + break; + case Models.TaskState.已完成: + break; + case Models.TaskState.已取消: + break; + default: + break; + } + if (res != null && res.Success) + { + SearchTaskList(); + } + + + } + + public void SetTaskState(TaskState? taskState) + { + TaskState = taskState; + if (PageIndex == 1) + SearchTaskList(); + else + PageIndex = 1; + } + private bool IsStartThread = false; + private Thread qualityOverTimeThread = null; + private Thread packOverTimeThread = null; + private Thread scheduleOverTimeThread = null; + private Thread sealboxOverTimeThread = null; + private Thread fallwareOverTimeThread = null; + private Thread waitTransportOverTimeThread = null; + + QualityTaskService qualityTaskService; + PackTaskAbortService packTaskAbortService; + + private string packagingTaskExceptionCount; + /// + /// 验收异常总数 + /// + public string PackagingTaskExceptionCount { get => packagingTaskExceptionCount; set { Set(ref packagingTaskExceptionCount, value); } } + + private string packagingTaskCount; + /// + /// 待包装总数 + /// + public string PackagingTaskCount { get => packagingTaskCount; set { Set(ref packagingTaskCount, value); } } + + private string qualityExceptionCount; + /// + /// 验收异常总数 + /// + public string QualityExceptionCount { get => qualityExceptionCount; set { Set(ref qualityExceptionCount, value); } } + + private string qualityTaskCount; + /// + /// 验收异常总数 + /// + public string QualityTaskCount { get => qualityTaskCount; set { Set(ref qualityTaskCount, value); } } + + + /// + /// 搜索任务列表 + /// + public void SearchTaskList() + { + if (IsLoading) + return; + IsLoading = true; + PageSize = 10; + IsStartThread = false; + long? sealBoxId = null; + try + { + var istrue = long.TryParse(SearchSealBoxId, out long sealboxid); + if (istrue) + { + sealBoxId = sealboxid; + } + } + catch + { + } + Task.Factory.StartNew(() => + { + + try + { + if (TaskState == Models.TaskState.待出库) + { + PageSize = 20; + WaitCompletedList = new ObservableCollection(); + var datas = sealBoxService.GetWareWaitCompletedList(null, SearchShopName, SearchTaskId, SearchSkuId, sealBoxId, PageIndex, PageSize); + if (datas != null && datas.Data != null && datas.Success) + { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + WaitCompleteds = dataModel.WareWaitCompleteds; + foreach (var item in dataModel.WareWaitCompleteds) + { + var skuItem = item.Copy(); + skuItem.WaitTransportSkus = null;//默认不加载 + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + WaitCompletedList.Add(skuItem); + })); + + } + } + else + { + if (datas != null) System.Windows.MessageBox.Show(datas.Msg); + } + + } + else if (TaskState == Models.TaskState.已超时) + { + PageSize = 20; + OverTimeTaskList = new ObservableCollection(); + var datas = packTaskService.SearchOverTimeTaskList(null, StartTime, EndTime, OverTimeTaskState, OverTimeTaskType, PageIndex, PageSize); + if (datas != null && datas.Data != null && datas.Success) + { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + foreach (var item in dataModel.OverTimeTaskResponses) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + OverTimeTaskList.Add(item); + })); + + } + } + else + { + if (datas != null) System.Windows.MessageBox.Show(datas.Msg); + } + + + } + else if (TaskState == Models.TaskState.待转运) + { + PageSize = 20; + + WaitTransportList = new ObservableCollection(); + var datas = sealBoxService.GetWareWaitTransportList(SelectWareType, PageSize, PageIndex); + if (datas != null && datas.Data != null && datas.Success) + { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + WareWaitTransports = dataModel.WareWaitTransports; + foreach (var item in dataModel.WareWaitTransports) + { + App.Current.Dispatcher.Invoke(new Action(() => + { + WaitTransportList.Add(item); + })); + + } + + var sealboxTasks = WaitTransportList.Where(p => p.TransportOverTime != null).ToList(); + if (sealboxTasks.Count() > 0 && TaskState == Models.TaskState.待转运) + { + + + waitTransportOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in sealboxTasks) + { + var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsWaitTransportOverTime = false; + item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsWaitTransportOverTime = true; + item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime); + } + + } + })); + Thread.Sleep(1000); + } + + }); + //任务倒计时数据 + waitTransportOverTimeThread.IsBackground = true; + waitTransportOverTimeThread.Start(); + + + } + } + else + { + if (datas != null) System.Windows.MessageBox.Show(datas.Msg); + } + + + Task.Factory.StartNew(() => + { + IsLoadWaitTransportCount(); + }); + } + else if (TaskState == Models.TaskState.待落仓) + { + PageSize = 20; + + WaitFallWareList = new ObservableCollection(); + var datas = sealBoxService.SearchWareFallWareConfigureList(PositionState, SearchShopName, SearchTaskId, SearchSkuId, sealBoxId, PageIndex, PageSize); + if (datas != null && datas.Data != null && datas.Success) + { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + WaitFallWareLists = dataModel.WaitFallWareList; + foreach (var item in dataModel.WaitFallWareList) + { + App.Current.Dispatcher.Invoke(new Action(() => + { + WaitFallWareList.Add(new WaitFallWareModel + { + AcceptUserNames = string.Join("|", item.AcceptUserNames), + DepartmentName = item.DepartmentName, + SealBoxSkus = item.SealBoxSkus, + ShopId = item.ShopId, + ShopName = item.ShopName, + WareId = item.WareId, + WareName = item.WareName, + SealBoxCount = item.SealBoxCount, + SealBoxId = item.SealBoxId, + BoxConfigureData = item.BoxConfigureData, + ProductCount = item.ProductCount, + WareType = item.WareType, + SetPurchaseOrderOverTime = item.SetPurchaseOrderOverTime + + }); + })); + } + } + else { - System.Windows.MessageBox.Show("该任务采购单未进行发货,请联系业务进行发货后在确认收货", "提示"); - return; + if (datas != null) System.Windows.MessageBox.Show(datas.Msg); } - } - if (System.Windows.MessageBox.Show("是否确认收货?", "提示", - MessageBoxButton.YesNo, - MessageBoxImage.Warning) != MessageBoxResult.Yes) - return; - if (!model.OrderId.IsNullOrEmpty()) + + Task.Factory.StartNew(() => + { + IsLoadFallWareCount(); + }); + } + else if (TaskState == Models.TaskState.待封箱) { - var manualSigns = packTaskService.BatchManualSign(model.ExpressOrderList.Select(e => e.WaybillNo).ToArray()); - if (manualSigns == null || !manualSigns.Success) + + PageSize = 20; + if (SealBoxConfigureType == SealBoxConfigureType.已配置) { - if (!manualSigns.Success) + WaitSealBoxModels = new ObservableCollection(); + + var datas = sealBoxService.GetWareSealBoxList(SearchShopName, SearchTaskId, SearchSkuId, sealBoxId, PageIndex, PageSize); + if (datas != null && datas.Data != null && datas.Success) { - System.Windows.MessageBox.Show($"B端确认收货失败,{manualSigns.Msg}"); - return; - } - } - } - res = packTaskService.SetPackTaskState(taskId, Models.TaskState.待验收); - break; - case Models.TaskState.待验收: - break; - case Models.TaskState.待包装: + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; - var packModel = PackTaskList.SingleOrDefault(p => p.TaskId == taskId); - if (packModel == null || packModel.FeesItemResponse == null || packModel.FeesItemResponse.DiscountAllFees == 0) - { - System.Windows.MessageBox.Show("请先设置打包费用0!"); - return; - } - if (System.Windows.MessageBox.Show("是否完成打包?", "提示", - MessageBoxButton.YesNo, - MessageBoxImage.Warning) != MessageBoxResult.Yes) - return; - res = packTaskService.SetPackTaskState(taskId, Models.TaskState.待封箱); - break; - case Models.TaskState.待封箱: - break; - case Models.TaskState.待出库: - break; - case Models.TaskState.已完成: - break; - case Models.TaskState.已取消: - break; - default: - break; - } - if (res != null && res.Success) - { - SearchTaskList(); - } + SealBoxModelList = dataModel.WaitSealBoxModels; + foreach (var item in dataModel.WaitSealBoxModels) + { + App.Current.Dispatcher.Invoke(new Action(() => + { + WaitSealBoxModels.Add(item); + })); + } - } + var sealboxTasks = WaitSealBoxModels.Where(p => p.SealBoxPackOverTime != null).ToList(); + if (sealboxTasks.Count() > 0 && TaskState == Models.TaskState.待封箱) + { - public void SetTaskState(TaskState? taskState) - { - if (!(TaskState == Models.TaskState.未到货 && TaskState == Models.TaskState.待验收)) - { - SearchSkuTitle = ""; - SearchSpuTitle = ""; - } + sealboxOverTimeThread = new Thread(() => + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in sealboxTasks) + { + var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsSealBoxOverTime = false; + item.SealBoxRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsSealBoxOverTime = true; + item.SealBoxRemainTime = OverTimeHelper.GetTimeString(datetime); + } + } + })); + Thread.Sleep(1000); + } + }); + //任务倒计时数据 + sealboxOverTimeThread.IsBackground = true; + sealboxOverTimeThread.Start(); - TaskState = taskState; - if (PageIndex == 1) - SearchTaskList(); - else - PageIndex = 1; - } - private bool IsStartThread = false; - private Thread qualityOverTimeThread = null; - private Thread packOverTimeThread = null; - private Thread scheduleOverTimeThread = null; - private Thread sealboxOverTimeThread = null; - private Thread fallwareOverTimeThread = null; - private Thread waitTransportOverTimeThread = null; + } + } + else + { + if (datas != null) System.Windows.MessageBox.Show(datas.Msg); + } + } + if (SealBoxConfigureType == SealBoxConfigureType.待配置) + { - /// - /// 搜索任务列表 - /// - public void SearchTaskList() - { - if (IsLoading) - return; - IsLoading = true; - PageSize = 10; - IsStartThread = false; - long? taskId = null; - long? sealBoxId = null; - try - { - if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim())) - taskId = Convert.ToInt64(SearchTaskId); + WareNoSealBoxModels = new ObservableCollection(); + var datas = sealBoxService.GetWareSealBoxWaitConfigureList(SearchShopName, SearchTaskId, SearchSkuId, PageIndex, PageSize); + if (datas != null && datas.Data != null && datas.Success) + { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + WaitSealBoxModelList = dataModel.WaitSealBoxModels; - var istrue = long.TryParse(SearchSealBoxId, out long sealboxid); - if (istrue) - { - sealBoxId = sealboxid; - } - } - catch - { - taskId = null; + foreach (var item in WaitSealBoxModelList) + { + App.Current.Dispatcher.Invoke(new Action(() => + { + WareNoSealBoxModels.Add(new WareNoSealBoxModel + { + AcceptUserName = string.Join("|", item.AcceptUserNames), + DepartmentName = item.DepartmentName, + SealBoxSkus = item.SealBoxSkus, + ShopId = item.ShopId, + ShopName = item.ShopName, - } - Task.Factory.StartNew(() => - { + }); + })); + } + } + else + { + if (datas != null) System.Windows.MessageBox.Show(datas.Msg); + } + } + Task.Factory.StartNew(() => + { + IsLoadSealBoxCount(); + }); - Stopwatch stopwatch = new Stopwatch(); - stopwatch.Start(); - if (TaskState == Models.TaskState.待出库) - { - PageSize = 20; - WaitCompletedList = new ObservableCollection(); - var datas = sealBoxService.GetWareWaitCompletedList(null, SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize); - if (datas != null && datas.Data != null && datas.Success) + } + else if (TaskState == Models.TaskState.商家自取) { - var dataModel = datas.Data; - OrderCount = dataModel.TotalCount; - WaitCompleteds = dataModel.WareWaitCompleteds; - foreach (var item in dataModel.WareWaitCompleteds) + StoreGetSelfDataList = new ObservableCollection(); + var datas = packTaskService.SearchStoreGetSelfList(SearchTaskId, SearchOrderSn, SearchSpuId, SearchSkuId, SearchDepartment, SearchShopName, PageIndex, PageSize, null); + if (datas != null && datas.Data != null && datas.Success) { - var skuItem = item.Copy(); - skuItem.WaitTransportSkus = null;//默认不加载 - App.Current.Dispatcher.BeginInvoke(new Action(() => + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + foreach (var item in dataModel.StoreGetSelfResponseList) { - WaitCompletedList.Add(skuItem); - })); + App.Current.Dispatcher.Invoke(new Action(() => + { + StoreGetSelfDataList.Add(item); + })); + } + + } + else + { + MessageBox.Show(datas?.Msg); } + } - else + else if (TaskState == Models.TaskState.待验收) { - if (datas != null) System.Windows.MessageBox.Show(datas.Msg); - } + PackTaskList = new ObservableCollection();//初始化数据 + var datas = qualityTaskService.SearchQualityTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.QualityTaskExceptionState, SearchShopName, + PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName); - } - else if (TaskState == Models.TaskState.已超时) - { - PageSize = 20; - OverTimeTaskList = new ObservableCollection(); - var datas = packTaskService.SearchOverTimeTaskList(null, StartTime, EndTime, OverTimeTaskState, OverTimeTaskType, PageIndex, PageSize); - if (datas != null && datas.Data != null && datas.Success) - { - var dataModel = datas.Data; - OrderCount = dataModel.TotalCount; - foreach (var item in dataModel.OverTimeTaskResponses) + + + if (datas != null && datas.Data != null && datas.Success) { - App.Current.Dispatcher.BeginInvoke(new Action(() => + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + QualityExceptionCount = dataModel.QualityExceptionCount.ToString(); + QualityTaskCount = dataModel.QualityTaskCount.ToString(); + foreach (var item in dataModel.Items) { - OverTimeTaskList.Add(item); - })); - } - } - else - { - if (datas != null) System.Windows.MessageBox.Show(datas.Msg); - } + var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); + data.ItemList = new List() { new SkuMessage + { BrandName = item.BrandName, + Logo= item.Logo, + SkuName = item.SkuName, + SkuId = item.SkuId + } }; + data.ExpressOrderList = item.ExpressOrderResponses; + data.EndTime = item.CreateTime; + data.SkuTitle = item.SkuGoodsTitle; + data.AcceptName = item.UserName; + if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) + { + data.BarCodeModel = item.BarCodeDTO; + if (data.BarCodeModel.LabelModel == BarcodeLabelModel.无型号模板) + data.BarCodeModel.LabelModel = BarcodeLabelModel.精简模板; - } - else if (TaskState == Models.TaskState.待转运) - { - PageSize = 20; + } + if (item.Cers != null) + { + data.CertificateModel = item.Cers; - WaitTransportList = new ObservableCollection(); - var datas = sealBoxService.GetWareWaitTransportList(SelectWareType, PageSize, PageIndex); - if (datas != null && datas.Data != null && datas.Success) - { - var dataModel = datas.Data; - OrderCount = dataModel.TotalCount; - WareWaitTransports = dataModel.WareWaitTransports; - foreach (var item in dataModel.WareWaitTransports) - { + } + data.ReflashTask = ReflashTask; - var skuItem = item.Copy(); - skuItem.WaitTransportSkus = null;//默认不加载 - App.Current.Dispatcher.Invoke(new Action(() => - { - WaitTransportList.Add(skuItem); - })); + App.Current.Dispatcher.Invoke(new Action(() => + { + PackTaskList.Add(data); + })); - } - var sealboxTasks = WaitTransportList.Where(p => p.TransportOverTime != null).ToList(); - if (sealboxTasks.Count() > 0 && TaskState == Models.TaskState.待转运) - { + } - waitTransportOverTimeThread = new Thread(() => + if (TaskState == Models.TaskState.待验收) { - IsStartThread = true; - while (IsStartThread) + if (QualityTaskExceptionState == Models.QualityTaskExceptionState.待验收) + { + qualityOverTimeThread = new Thread(() => + { + var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null && p.TaskAbortTime == null).ToList(); + if (packtasks.Count() > 0) + { + IsStartThread = true; + while (IsStartThread) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packtasks) + { + TimeSpan datetime; + if (item.SendToSetSkuConfigureTime != null) + datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value); + else + datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); + item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); + if (datetime.TotalMilliseconds > 0) + { + item.IsQualityOverTime = false; + + } + else + { + item.IsQualityOverTime = true; + } + + } + })); + Thread.Sleep(1000); + } + } + + + + + + + }); + //任务倒计时数据 + qualityOverTimeThread.IsBackground = true; + qualityOverTimeThread.Start(); + //任务状态为待验收 + } + + if (QualityTaskExceptionState == Models.QualityTaskExceptionState.验收异常) { + var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.TaskAbortTime != null).ToList(); App.Current.Dispatcher.BeginInvoke(new Action(() => { - foreach (var item in sealboxTasks) + foreach (var item in packtasks) { - var datetime = item.TransportOverTime.Value.Subtract(DateTime.Now); + TimeSpan datetime; + datetime = item.QualityCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value); + item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); if (datetime.TotalMilliseconds > 0) { - item.IsWaitTransportOverTime = false; - item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime); + item.IsQualityOverTime = false; + } else { - item.IsWaitTransportOverTime = true; - item.WaitTransportRemainTime = OverTimeHelper.GetTimeString(datetime); + item.IsQualityOverTime = true; } } })); - Thread.Sleep(1000); } - }); - //任务倒计时数据 - waitTransportOverTimeThread.IsBackground = true; - waitTransportOverTimeThread.Start(); - + } - } - } - else - { - if (datas != null) System.Windows.MessageBox.Show(datas.Msg); - } + //任务状态为待打包 - Task.Factory.StartNew(() => - { - IsLoadWaitTransportCount(); - }); - } - else if (TaskState == Models.TaskState.待落仓) - { - PageSize = 20; - WaitFallWareList = new ObservableCollection(); - var datas = sealBoxService.SearchWareFallWareConfigureList(PositionState, SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize); - if (datas != null && datas.Data != null && datas.Success) - { - var dataModel = datas.Data; - OrderCount = dataModel.TotalCount; - WaitFallWareLists = dataModel.WaitFallWareList; - foreach (var item in dataModel.WaitFallWareList) - { - App.Current.Dispatcher.Invoke(new Action(() => + Task.Factory.StartNew(() => { - WaitFallWareList.Add(new WaitFallWareModel + foreach (var item in PackTaskList) { - AcceptUserNames = string.Join("|", item.AcceptUserNames), - DepartmentName = item.DepartmentName, - SealBoxSkus = null, - ShopId = item.ShopId, - ShopName = item.ShopName, - WareId = item.WareId, - WareName = item.WareName, - SealBoxCount = item.SealBoxCount, - SealBoxId = item.SealBoxId, - BoxConfigureData = item.BoxConfigureData, - ProductCount = item.ProductCount, - WareType = item.WareType, - SetPurchaseOrderOverTime = item.SetPurchaseOrderOverTime + if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) + { + var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + if (expressData != null && expressData.Success && expressData.Data != null) + { - }); - })); - } - } - else - { - if (datas != null) System.Windows.MessageBox.Show(datas.Msg); - } + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + expressData.Data.ForEach(e => + { + e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); - Task.Factory.StartNew(() => - { - IsLoadFallWareCount(); - }); - } - else if (TaskState == Models.TaskState.待封箱) - { + }); + item.ExpressOrderList = expressData.Data; + })); + - PageSize = 20; - if (SealBoxConfigureType == SealBoxConfigureType.已配置) + + + } + } + } + + + + + }); + } + else + { + } + } + else if (TaskState == Models.TaskState.待包装) { - WaitSealBoxModels = new ObservableCollection(); - var datas = sealBoxService.GetWareSealBoxList(SearchShopName, taskId, SearchSkuId, sealBoxId, PageIndex, PageSize); + PackTaskList = new ObservableCollection();//初始化数据 + var datas = packagingTaskService.SearchPackagingTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.PackagingTaskExceptionState, SearchShopName, + PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName); + if (datas != null && datas.Data != null && datas.Success) { var dataModel = datas.Data; OrderCount = dataModel.TotalCount; - - SealBoxModelList = dataModel.WaitSealBoxModels; - foreach (var item in dataModel.WaitSealBoxModels) + PackagingTaskCount = dataModel.PackagingTaskCount.ToString(); + PackagingTaskExceptionCount = dataModel.PackagingTaskExceptionCount.ToString(); + foreach (var item in dataModel.Items) { + var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); + + + data.ItemList = new List() { new SkuMessage + { BrandName = item.BrandName, + Logo= item.Logo, + SkuName = item.SkuName, + SkuId = item.SkuId + } }; + data.EndTime = item.CreateTime; + data.SkuTitle = item.SkuGoodsTitle; + data.AcceptName = item.UserName; + if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) + { + + data.BarCodeModel = item.BarCodeDTO; + if (data.BarCodeModel.LabelModel == BarcodeLabelModel.无型号模板) + data.BarCodeModel.LabelModel = BarcodeLabelModel.精简模板; + + } + if (item.Cers != null) + { + data.CertificateModel = item.Cers; + + } + data.ReflashTask = ReflashTask; + + if (item.PackUserName != null) + data.PackUser = string.Join("\r\n", item.PackUserName); + + if (item.PackUserName != null && item.PackUserName.Count() > 0) + { + data.PackUser = string.Join("\r\n", item.PackUserName); + } + App.Current.Dispatcher.Invoke(new Action(() => { - WaitSealBoxModels.Add(new SealBoxModel - { - AcceptUserName = string.Join("|", item.AcceptUserNames), - DepartmentName = item.DepartmentName, - SealBoxSkus = null, - ShopId = item.ShopId, - ShopName = item.ShopName, - WareId = item.WareId, - WareName = item.WareName, - SealBoxId = item.SealBoxId, - SealBoxPackOverTime = item.SealBoxPackOverTime, - SealBoxPackOverTimeMarkMsg = item.SealBoxPackOverTimeMarkMsg - }); + PackTaskList.Add(data); })); + } - var sealboxTasks = WaitSealBoxModels.Where(p => p.SealBoxPackOverTime != null).ToList(); - if (sealboxTasks.Count() > 0 && TaskState == Models.TaskState.待封箱) - { + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList(); + if (packCompletedTasks.Count() > 0) + { - sealboxOverTimeThread = new Thread(() => + packOverTimeThread = new Thread(() => { IsStartThread = true; while (IsStartThread) { App.Current.Dispatcher.BeginInvoke(new Action(() => { - foreach (var item in sealboxTasks) + foreach (var item in packCompletedTasks) { - var datetime = item.SealBoxPackOverTime.Value.Subtract(DateTime.Now); + var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); if (datetime.TotalMilliseconds > 0) { - item.IsSealBoxOverTime = false; - item.SealBoxRemainTime = OverTimeHelper.GetTimeString(datetime); + item.IsPackOverTime = false; + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); } else { - item.IsSealBoxOverTime = true; - item.SealBoxRemainTime = OverTimeHelper.GetTimeString(datetime); + item.IsPackOverTime = true; + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); } } @@ -1744,337 +2548,332 @@ namespace BBWY.Client.ViewModels.PackTask }); //任务倒计时数据 - sealboxOverTimeThread.IsBackground = true; - sealboxOverTimeThread.Start(); + packOverTimeThread.IsBackground = true; + packOverTimeThread.Start(); } - } - else - { - if (datas != null) System.Windows.MessageBox.Show(datas.Msg); - } - } - if (SealBoxConfigureType == SealBoxConfigureType.待配置) - { - WareNoSealBoxModels = new ObservableCollection(); - var datas = sealBoxService.GetWareSealBoxWaitConfigureList(SearchShopName, taskId, SearchSkuId, PageIndex, PageSize); - if (datas != null && datas.Data != null && datas.Success) - { - var dataModel = datas.Data; - OrderCount = dataModel.TotalCount; - WaitSealBoxModelList = dataModel.WaitSealBoxModels; - foreach (var item in WaitSealBoxModelList) + + + + + + var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.TaskAbortTime != null).ToList(); + App.Current.Dispatcher.BeginInvoke(new Action(() => { - App.Current.Dispatcher.Invoke(new Action(() => + foreach (var item in packtasks) { - WareNoSealBoxModels.Add(new WareNoSealBoxModel + TimeSpan datetime; + datetime = item.PackCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value); + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + if (datetime.TotalMilliseconds > 0) { - AcceptUserName = string.Join("|", item.AcceptUserNames), - DepartmentName = item.DepartmentName, - SealBoxSkus = new List(), - // SealBoxSkus = item.SealBoxSkus, - ShopId = item.ShopId, - ShopName = item.ShopName, + item.IsPackOverTime = false; - }); - })); - } - } - else - { - if (datas != null) System.Windows.MessageBox.Show(datas.Msg); - } - } + } + else + { + item.IsPackOverTime = true; + } - Task.Factory.StartNew(() => - { - IsLoadSealBoxCount(); - }); + } + })); - } - else if (taskState == Models.TaskState.商家自取) - { - StoreGetSelfDataList = new ObservableCollection(); - var datas = packTaskService.SearchStoreGetSelfList(SearchTaskId, SearchOrderSn, SearchSpuId, SearchSkuId, SearchDepartment, SearchShopName, PageIndex, PageSize, null); - if (datas != null && datas.Data != null && datas.Success) - { - var dataModel = datas.Data; - OrderCount = dataModel.TotalCount; - foreach (var item in dataModel.StoreGetSelfResponseList) - { - App.Current.Dispatcher.Invoke(new Action(() => + + + + + + Task.Factory.StartNew(() => { - StoreGetSelfDataList.Add(item); - })); + foreach (var item in PackTaskList) + { + if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) + { + var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + if (expressData != null && expressData.Success && expressData.Data != null) + { + + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + expressData.Data.ForEach(e => + { + e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); + + }); + item.ExpressOrderList = expressData.Data; + })); + + + + + } + } + } + + + + + }); } + else + { + } + } else { - MessageBox.Show(datas?.Msg); - } + PackTaskList = new ObservableCollection();//初始化数据 + var datas = packTaskService.SearchTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName, + PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName); - } - else - { - PackTaskList = new ObservableCollection();//初始化数据 - var datas = packTaskService.SearchTaskList(SearchWayBillNo, SearchExpressName, SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, this.TaskState, SearchShopName, - PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, SearchPackUserName); - stopwatch.Stop(); - App.Current.Dispatcher.BeginInvoke(new Action(() => - { - Debug.WriteLine($"查询接口耗时:{stopwatch.ElapsedMilliseconds}毫秒"); - })); - stopwatch.Restart(); - if (datas != null && datas.Data != null && datas.Success) - { - var dataModel = datas.Data; - OrderCount = dataModel.TotalCount; - foreach (var item in dataModel.Items) + if (datas != null && datas.Data != null && datas.Success) { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + foreach (var item in dataModel.Items) + { - var data = JsonConvert.DeserializeObject( JsonConvert.SerializeObject(item)); + var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); - data.ItemList = new List() { new SkuMessage + data.ItemList = new List() { new SkuMessage { BrandName = item.BrandName, GoodsNo = item.ProductItemNum, Logo= item.Logo, SkuName = item.SkuName, SkuId = item.SkuId } }; - data.ExpressOrderList = item.ExpressOrderResponses; - data.EndTime = item.CreateTime; - data.SkuTitle = item.SkuGoodsTitle; - data.AcceptName = item.UserName; - if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) - { + data.ExpressOrderList = item.ExpressOrderResponses; + data.EndTime = item.CreateTime; + data.SkuTitle = item.SkuGoodsTitle; + data.AcceptName = item.UserName; + if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) + { - data.BarCodeModel = item.BarCodeDTO; - if (data.BarCodeModel.LabelModel == BarcodeLabelModel.无型号模板) - data.BarCodeModel.LabelModel = BarcodeLabelModel.精简模板; + data.BarCodeModel = item.BarCodeDTO; + if (data.BarCodeModel.LabelModel == BarcodeLabelModel.无型号模板) + data.BarCodeModel.LabelModel = BarcodeLabelModel.精简模板; - } - if (item.Cers != null) - { - data.CertificateModel = item.Cers; + } + if (item.Cers != null) + { + data.CertificateModel = item.Cers; - } - data.ReflashTask = ReflashTask; + } + data.ReflashTask = ReflashTask; - if (item.FeesItemResponse != null) - { - data.FeesItemResponse = item.FeesItemResponse; - data.FeesMoney = item.FeesItemResponse.AllFees; + if (item.FeesItemResponse != null) + { + data.FeesItemResponse = item.FeesItemResponse; + data.FeesMoney = item.FeesItemResponse.AllFees; - data.FeesItemResponse.DiscountAllFees = item.FeesItemResponse.AllFees * - item.FeesItemResponse.disCount; - data.IsShowFees = data.FeesMoney > 0 ? true : false; + data.FeesItemResponse.DiscountAllFees = item.FeesItemResponse.AllFees * + item.FeesItemResponse.disCount; + data.IsShowFees = data.FeesMoney > 0 ? true : false; - } - else - { - data.IsShowFees = false; - } + } + else + { + data.IsShowFees = false; + } - if (item.PackUserName != null && item.PackUserName.Count() > 0) - { - data.PackUser = string.Join("\r\n", item.PackUserName); - } + if (item.PackUserName != null && item.PackUserName.Count() > 0) + { + data.PackUser = string.Join("\r\n", item.PackUserName); + } - App.Current.Dispatcher.Invoke(new Action(() => - { - PackTaskList.Add(data); - })); + App.Current.Dispatcher.Invoke(new Action(() => + { + PackTaskList.Add(data); + })); - } - if (TaskState == Models.TaskState.待验收) - { - qualityOverTimeThread = new Thread(() => + } + if (TaskState == Models.TaskState.待验收) { - var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList(); - if (packtasks.Count() > 0) + qualityOverTimeThread = new Thread(() => { - IsStartThread = true; - while (IsStartThread) + var packtasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待验收 && p.QualityCompletionOverTime != null).ToList(); + if (packtasks.Count() > 0) { - App.Current.Dispatcher.BeginInvoke(new Action(() => + IsStartThread = true; + while (IsStartThread) { - foreach (var item in packtasks) + App.Current.Dispatcher.BeginInvoke(new Action(() => { - TimeSpan datetime; - if (item.SendToSetSkuConfigureTime != null) - datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value); - else - datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); - item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); - if (datetime.TotalMilliseconds > 0) + foreach (var item in packtasks) { - item.IsQualityOverTime = false; + TimeSpan datetime; + if (item.SendToSetSkuConfigureTime != null) + datetime = item.QualityCompletionOverTime.Value.Subtract(item.SendToSetSkuConfigureTime.Value); + else + datetime = item.QualityCompletionOverTime.Value.Subtract(DateTime.Now); + item.QualityRemainTime = OverTimeHelper.GetTimeString(datetime); + if (datetime.TotalMilliseconds > 0) + { + item.IsQualityOverTime = false; + + } + else + { + item.IsQualityOverTime = true; + } } - else - { - item.IsQualityOverTime = true; - } - - } - })); - Thread.Sleep(1000); + })); + Thread.Sleep(1000); + } } - } - }); - //任务倒计时数据 - qualityOverTimeThread.IsBackground = true; - qualityOverTimeThread.Start(); - //任务状态为待验收 + }); + //任务倒计时数据 + qualityOverTimeThread.IsBackground = true; + qualityOverTimeThread.Start(); + //任务状态为待验收 - } - if (TaskState == Models.TaskState.待包装) - { - var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); - if (packCompletedTasks.Count() > 0) + } + if (TaskState == Models.TaskState.待包装) { - - packOverTimeThread = new Thread(() => + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); + if (packCompletedTasks.Count() > 0) { - IsStartThread = true; - while (IsStartThread) + + packOverTimeThread = new Thread(() => { - App.Current.Dispatcher.BeginInvoke(new Action(() => + IsStartThread = true; + while (IsStartThread) { - foreach (var item in packCompletedTasks) + App.Current.Dispatcher.BeginInvoke(new Action(() => { - var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); - if (datetime.TotalMilliseconds > 0) - { - item.IsPackOverTime = false; - item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); - } - else + foreach (var item in packCompletedTasks) { - item.IsPackOverTime = true; - item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); - } + var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsPackOverTime = false; + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsPackOverTime = true; + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + } - } - })); - Thread.Sleep(1000); - } + } + })); + Thread.Sleep(1000); + } - }); - //任务倒计时数据 - packOverTimeThread.IsBackground = true; - packOverTimeThread.Start(); + }); + //任务倒计时数据 + packOverTimeThread.IsBackground = true; + packOverTimeThread.Start(); + } } - } - if (TaskState == Models.TaskState.待排单) - { - var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList(); - if (packCompletedTasks.Count() > 0) + if (TaskState == Models.TaskState.待排单) { - scheduleOverTimeThread = new Thread(() => + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待排单 && p.ScheduleOverTime != null).ToList(); + if (packCompletedTasks.Count() > 0) { - IsStartThread = true; - while (IsStartThread) + scheduleOverTimeThread = new Thread(() => { - App.Current.Dispatcher.BeginInvoke(new Action(() => + IsStartThread = true; + while (IsStartThread) { - foreach (var item in packCompletedTasks) + App.Current.Dispatcher.BeginInvoke(new Action(() => { - var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now); - if (datetime.TotalMilliseconds > 0) - { - item.IsScheduleOverTime = false; - item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); - } - else + foreach (var item in packCompletedTasks) { - item.IsScheduleOverTime = true; - item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); - } + var datetime = item.ScheduleOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsScheduleOverTime = false; + item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsScheduleOverTime = true; + item.ScheduleRemainTime = OverTimeHelper.GetTimeString(datetime); + } - } - })); - Thread.Sleep(1000); - } + } + })); + Thread.Sleep(1000); + } - }); - //任务倒计时数据 - scheduleOverTimeThread.IsBackground = true; - scheduleOverTimeThread.Start(); + }); + //任务倒计时数据 + scheduleOverTimeThread.IsBackground = true; + scheduleOverTimeThread.Start(); + } } - } - //任务状态为待打包 + //任务状态为待打包 - Task.Factory.StartNew(() => { - foreach (var item in PackTaskList) + Task.Factory.StartNew(() => { - if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) + foreach (var item in PackTaskList) { - var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); - if (expressData != null && expressData.Success && expressData.Data != null) + if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) { - - App.Current.Dispatcher.BeginInvoke(new Action(() => + var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + if (expressData != null && expressData.Success && expressData.Data != null) { - expressData.Data.ForEach(e => - { - e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); - - - }); - item.ExpressOrderList = expressData.Data; - })); - + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + expressData.Data.ForEach(e => + { + e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); + }); + item.ExpressOrderList = expressData.Data; + })); + } } } - } - - }); + + }); + } + else + { + } + } - else + + + Task.Factory.StartNew(() => { - } + IsLoadCount(); + }); + } + catch + { + } - Task.Factory.StartNew(() => - { - IsLoadCount(); - }); IsLoading = false; - stopwatch.Stop(); - App.Current.Dispatcher.BeginInvoke(new Action(() => - { - Debug.WriteLine($"查询耗时:{stopwatch.ElapsedMilliseconds}毫秒"); - })); - - }); } @@ -2150,7 +2949,10 @@ namespace BBWY.Client.ViewModels.PackTask PageIndex = pageIndex;// SearchTaskList(); } - public void ReflashTask()//刷新界面 + /// + /// 刷新界面 + /// + public void ReflashTask() { SearchTaskList(); } diff --git a/BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs b/BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs index fe86fa6a..5f1d43c9 100644 --- a/BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackerTask/PackerTaskViewModel.cs @@ -7,6 +7,8 @@ using BBWY.Client.Models.PackUser; using BBWY.Client.Views.BillCorrection; using BBWY.Client.Views.PackerTask; using BBWY.Client.Views.PackTask; +using BBWY.Client.Views.QualityTask; +using BBWY.Client.Views.SplitTask; using BBWY.Client.Views.TaskOverTime; using BBWY.Common.Models; using BBWY.Controls; @@ -219,7 +221,7 @@ namespace BBWY.Client.ViewModels.PackerTask /// /// 查询物流 /// - private string selectExpress= "物流单号"; + private string selectExpress = "物流单号"; public string SelectExpress { get => selectExpress; @@ -328,11 +330,31 @@ namespace BBWY.Client.ViewModels.PackerTask public ObservableCollection PackerTaskModelList { get => packerTaskModelList; set { Set(ref packerTaskModelList, value); } } + private PackagingTaskExceptionState? packagingTaskExceptionState = Models.PackagingTaskExceptionState.待包装; + /// + /// 任务状态 + /// + public PackagingTaskExceptionState? PackagingTaskExceptionState + { + get => packagingTaskExceptionState; set + { + Set(ref packagingTaskExceptionState, value); + } + } + private string packagingTaskExceptionCount; + /// + /// 包装异常总数 + /// + public string PackagingTaskExceptionCount { get => packagingTaskExceptionCount; set { Set(ref packagingTaskExceptionCount, value); } } - + private string packagingTaskCount; + /// + /// 待包装总数 + /// + public string PackagingTaskCount { get => packagingTaskCount; set { Set(ref packagingTaskCount, value); } } @@ -376,11 +398,17 @@ namespace BBWY.Client.ViewModels.PackerTask public ICommand PrintCerCommand { get; set; } + public ICommand SetPackagingTaskExceptionStateCommand { get; set; } + + public ICommand TaskSplitCommand { get; set; } + + public ICommand PackagingTaskExceptionCommand { get; set; } + /// /// 构造函数 /// - public PackerTaskViewModel(PackUserService packUserService, PackTaskService packTaskService, MarkMessageService markMessageService, GlobalContext globalContext) + public PackerTaskViewModel(PackUserService packUserService, PackTaskService packTaskService, MarkMessageService markMessageService, GlobalContext globalContext, QualityTaskService qualityTaskService) { this.packUserService = packUserService; @@ -421,6 +449,35 @@ namespace BBWY.Client.ViewModels.PackerTask PrintBarcodeCommand = new RelayCommand(PrintBarcode); PrintCerCommand = new RelayCommand(PrintCer); + + SetPackagingTaskExceptionStateCommand = new RelayCommand(() => + { + this.SearchTaskList(); + }); + + + TaskSplitCommand = new RelayCommand(TaskSplit); + + PackagingTaskExceptionCommand = new RelayCommand(PackagingTaskException); + this.qualityTaskService = qualityTaskService; + + + + } + QualityTaskService qualityTaskService; + private void PackagingTaskException(long taskId) + { + + + //AddExceptionWindow addExceptionWindow = new AddExceptionWindow(qualityTaskService, taskId, Models.TaskState.待包装, ReflashTask); + //addExceptionWindow.ShowDialog(); + } + + private void TaskSplit(PackerTaskModel model) + { + + //SplitTaskWindow addExceptionWindow = new SplitTaskWindow(packTaskService, model.TaskId, model.TaskState.Value, ReflashTask); + //addExceptionWindow.ShowDialog(); } private void PrintCer(CertificateModel[] certificateModel) @@ -473,7 +530,7 @@ namespace BBWY.Client.ViewModels.PackerTask { model.ShowMoreMsg = !model.ShowMoreMsg; - + } } @@ -485,8 +542,8 @@ namespace BBWY.Client.ViewModels.PackerTask var model = PackerTaskModelList?.SingleOrDefault(p => p.TaskId == taskId); if (model != null) { - - var res = markMessageService.AppendMarkMessage(taskId, model.TaskMarkMsg,globalContext.User.Name); + + var res = markMessageService.AppendMarkMessage(taskId, model.TaskMarkMsg, globalContext.User.Name); if (res == null) { @@ -505,15 +562,15 @@ namespace BBWY.Client.ViewModels.PackerTask ReflashTask(); } - + } private void PackTaskMarkMessage(long taskId) { - var model = PackerTaskModelList?.SingleOrDefault(p => p.TaskId == taskId); - if (model!=null) + var model = PackerTaskModelList?.SingleOrDefault(p => p.TaskId == taskId); + if (model != null) { model.ShowSendMsg = !model.ShowSendMsg; } @@ -521,7 +578,7 @@ namespace BBWY.Client.ViewModels.PackerTask private void CompletedPackTask(long taskId) { - AddOneItemWeightWindow addOneItemWeightWindow = new AddOneItemWeightWindow(ReflashTask,packUserService,taskId); + AddOneItemWeightWindow addOneItemWeightWindow = new AddOneItemWeightWindow(ReflashTask, packUserService, taskId); addOneItemWeightWindow.ShowDialog(); } @@ -575,7 +632,7 @@ namespace BBWY.Client.ViewModels.PackerTask private Thread packOverTimeThread = null; - bool IsStartThread = false; + bool IsStartThread = false; private void SearchTaskList() { @@ -590,11 +647,15 @@ namespace BBWY.Client.ViewModels.PackerTask { var res = packUserService.SearchPackerTask(PackTaskState: PackTaskState, WayBillNo: SearchWayBillNo, SourceExpressName: SearchExpressName, - departmentName: SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, SearchShopName, PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle); + departmentName: SearchDepartment, SearchSkuId, SearchTaskId, SearchSpuId, SearchOrderSn, SearchShopName, PageIndex, PageSize, SearchSkuTitle, SearchSpuTitle, + PackagingTaskExceptionState + ); if (res.Success) { WaitPackCount = res.Data.WaitPackCount; OrderCount = res.Data.TotalCount; + PackagingTaskExceptionCount = res.Data.PackagingTaskExceptionCount; + packagingTaskCount = res.Data.PackagingTaskCount; PackerTaskModelList = new ObservableCollection(); res.Data.Items.ForEach(item => { @@ -602,10 +663,10 @@ namespace BBWY.Client.ViewModels.PackerTask var data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(item)); - if (PackTaskState== Models.PackTaskState.已完成) + if (PackTaskState == Models.PackTaskState.已完成) { - if (item.PackCompletionOverTime p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); - if (packCompletedTasks.Count() > 0) - { - packOverTimeThread = new Thread(() => + + + + + + if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.待包装) + { + var packCompletedTasks = PackerTaskModelList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null && p.TaskAbortTime == null).ToList(); + if (packCompletedTasks.Count() > 0) { - IsStartThread = true; - while (IsStartThread) + + packOverTimeThread = new Thread(() => { - App.Current.Dispatcher.BeginInvoke(new Action(() => + IsStartThread = true; + while (IsStartThread) { - foreach (var item in packCompletedTasks) + App.Current.Dispatcher.BeginInvoke(new Action(() => { - var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); - if (datetime.TotalMilliseconds > 0) + foreach (var item in packCompletedTasks) { - item.IsPackOverTime = false; - item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); - } - else - { - item.IsPackOverTime = true; - item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + var datetime = item.PackCompletionOverTime.Value.Subtract(DateTime.Now); + if (datetime.TotalMilliseconds > 0) + { + item.IsPackOverTime = false; + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + } + else + { + item.IsPackOverTime = true; + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + } + } + })); + Thread.Sleep(1000); + } - } - })); - Thread.Sleep(1000); - } + }); + //任务倒计时数据 + packOverTimeThread.IsBackground = true; + packOverTimeThread.Start(); + + + } + } - }); - //任务倒计时数据 - packOverTimeThread.IsBackground = true; - packOverTimeThread.Start(); + + + if (PackagingTaskExceptionState == Models.PackagingTaskExceptionState.挂起任务) + { + var packtasks = PackerTaskModelList.Where(p => p.TaskState == Models.TaskState.待包装 && p.TaskAbortTime != null).ToList(); + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + foreach (var item in packtasks) + { + TimeSpan datetime; + datetime = item.PackCompletionOverTime.Value.Subtract(item.TaskAbortTime.Value); + item.PackRemainTime = OverTimeHelper.GetTimeString(datetime); + if (datetime.TotalMilliseconds > 0) + { + item.IsPackOverTime = false; + + } + else + { + item.IsPackOverTime = true; + } + + } + })); } } } @@ -701,8 +799,8 @@ namespace BBWY.Client.ViewModels.PackerTask var id = (long)paramList[0]; var markMsg = paramList[1]?.ToString(); - var overTimeTaskType = Models.OverTimeTaskType.待打包; - + var overTimeTaskType = Models.OverTimeTaskType.待打包; + SubmitOverTimeMarkMsgWindow submitOverTimeMarkMsgWindow = new SubmitOverTimeMarkMsgWindow(overTimeTaskType, id, markMsg, packTaskService, ReflashTask); submitOverTimeMarkMsgWindow.ShowDialog(); diff --git a/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs b/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs index 8e72a7f2..2311a770 100644 --- a/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs +++ b/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs @@ -23,6 +23,8 @@ using BBWY.Controls; using WebSocketSharp; using BBWY.Client.APIServices.QiKu; using BarcodeLib; +using System.Runtime.ConstrainedExecution; +using BBWY.Client.Models.APIModel; namespace BBWY.Client.ViewModels { @@ -98,14 +100,14 @@ namespace BBWY.Client.ViewModels public ObservableCollection AvailabilityList { get => availabilityList; set { Set(ref availabilityList, value); } } - private int floorDragNumber; - public int FloorDragNumber { get => floorDragNumber; set { Set(ref floorDragNumber, value); } } + //private int floorDragNumber; + //public int FloorDragNumber { get => floorDragNumber; set { Set(ref floorDragNumber, value); } } - private ObservableCollection floorDragNumberList = new ObservableCollection - { + //private ObservableCollection floorDragNumberList = new ObservableCollection + //{ - }; - public ObservableCollection FloorDragNumberList { get => floorDragNumberList; set { Set(ref floorDragNumberList, value); } } + //}; + //public ObservableCollection FloorDragNumberList { get => floorDragNumberList; set { Set(ref floorDragNumberList, value); } } private ObservableCollection wareHourseList = new ObservableCollection { }; public ObservableCollection WareHourseList { get => wareHourseList; set { Set(ref wareHourseList, value); } } @@ -114,6 +116,12 @@ namespace BBWY.Client.ViewModels public int WareHourseCount { get => wareHourseCount; set { Set(ref wareHourseCount, value); } } + private int? storeGetSelfCount; + /// + /// 商家自取数 + /// + public int? StoreGetSelfCount { get => storeGetSelfCount; set { Set(ref storeGetSelfCount, value); } } + private int skuCount; /// @@ -218,6 +226,21 @@ namespace BBWY.Client.ViewModels public Need IsNeedCertificateModel { get => isNeedCertificateModel; set { Set(ref isNeedCertificateModel, value); } } + private BrandMarkType brandMarkType; + /// + /// 是否需要条形码 + /// + public BrandMarkType BrandMarkType { get => brandMarkType; set { Set(ref brandMarkType, value); } } + + + + private List brandMarkTypeList = new List { BrandMarkType.无需遮盖, BrandMarkType.需遮盖, BrandMarkType.无需贴商标 }; + /// + /// 是否需要条形码 + /// + public List BrandMarkTypeList { get => brandMarkTypeList; set { Set(ref brandMarkTypeList, value); } } + + private BarCodeModel barCodeModel; /// /// 条形码 @@ -348,6 +371,11 @@ namespace BBWY.Client.ViewModels public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } PurchaseService purchaseService; + MarkMessageService markMessageService; + QualityTaskService qualityTaskService; + SaveType? saveType; + + public string OriginShopName { get; set; } @@ -366,14 +394,22 @@ namespace BBWY.Client.ViewModels public ICommand OpenSkuDetailCommand { get; set; } public ICommand CompeteQualityTaskCommand { get; set; } public ICommand SearchSkuCommand { get; set; } + + public ICommand QualityTaskExceptionCommand { get; set; } #endregion - public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, PackTaskService packTaskService, MarkMessageService markMessageService) + public QualityViewModel(ProductService productService, GlobalContext globalContext, PackPurchaseTaskService packPurchaseTaskService, PurchaseService purchaseService, PackTaskService packTaskService, MarkMessageService markMessageService, QualityTaskService qualityTaskService, PackTaskAbortService packTaskAbortService) { this.packPurchaseTaskService = packPurchaseTaskService; this.productService = productService; this.globalContext = globalContext; + this.purchaseService = purchaseService; + this.packTaskService = packTaskService; + this.markMessageService = markMessageService; + this.qualityTaskService = qualityTaskService; + this.packTaskAbortService = packTaskAbortService; + OpenSkuDetailCommand = new RelayCommand(OpenSkuDetail); SetBarCodeCommand = new RelayCommand(SetBarCode); SetCertificateCommand = new RelayCommand(SetCertificate); @@ -390,81 +426,117 @@ namespace BBWY.Client.ViewModels }); } - this.purchaseService = purchaseService; - this.packTaskService = packTaskService; - this.markMessageService = markMessageService; - } - - - #region 方法 - private void CompeteQualityTask(object obj) - { - if (ArrivalQuantity==null) - { - MessageBox.Show($"请输入到货数量"); - return; - } - if (GoodProductQuantity == null) + QualityTaskExceptionCommand = new RelayCommand(QualityTaskException); + if (IsCanPackModelList == null) { - MessageBox.Show($"请输入良品数量"); - return; + var res = packTaskService.GetTaskAbortEnum(); + if (res.Success) + { + IsCanPackModelList = res.Data.IsCanPackModelList; + ShelvesNumberList = res.Data.ShelvesNumberList; + FloorNumberList = res.Data.FloorNumberList; + } } - if (FloorDragNumber <= 0) - { - MessageBox.Show($"请选择摆放地拖编号"); - return; - } - if (GoodProductQuantity > ArrivalQuantity) - { - MessageBox.Show($"良品数量:{GoodProductQuantity}不能大于到货数量:{ArrivalQuantity}"); - return; - } + } + List IsCanPackModelList { get; set; } + List ShelvesNumberList { get; set; } + List FloorNumberList { get; set; } - if (ArrivalQuantity == 0) + PackTaskAbortService packTaskAbortService; + #region 方法 + private void QualityTaskException(object obj) + { + AddExceptionWindow addExceptionWindow = new AddExceptionWindow(packTaskAbortService, TaskId, Models.TaskState.待验收, () => { - MessageBox.Show($"到货数量不能:{ArrivalQuantity}!"); - return; - } - - - + var window = obj as BWindow; + App.Current.Dispatcher.Invoke(new Action(() => + { + window.Close(); + })); + ReflashWindow?.Invoke(); + }, IsCanPackModelList, ShelvesNumberList, FloorNumberList); + addExceptionWindow.ShowDialog(); + } + private void CompeteQualityTask(object obj) + { + //if (ArrivalQuantity == null) + //{ + // MessageBox.Show($"请输入到货数量"); + // return; + //} + //if (GoodProductQuantity == null) + //{ + // MessageBox.Show($"请输入良品数量"); + // return; + //} + + //if (GoodProductQuantity > ArrivalQuantity) + //{ + // MessageBox.Show($"良品数量不能大于到货数量"); + // return; + //} + // + //if (GoodProductQuantity < SkuCount) + //{ + // MessageBox.Show($"良品数量不能低于任务数"); + // return; + // //if (MessageBox.Show("良品数小于任务数,确认则任务将异常挂起,是否确认?", "任务异常", MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK) + // //{ + // // return; + // //} + + // //var res = qualityTaskService.QualityTaskException(TaskId, 0 , "良品数量小于任务数", TaskState.待验收); + // //if (res == null || !res.Success) + // //{ + // // MessageBox.Show(res?.Msg); + // // return; + // //} + // //App.Current.Dispatcher.Invoke(new Action(() => + // //{ + // // window.Close(); + // //})); + + + //} + + + //if (ArrivalQuantity == 0) + //{ + // MessageBox.Show($"到货数量不能为0!"); + // return; + //} var request = new Models.APIModel.Request.QualityTaskRequest { - BasicPack = BasicPack, - ArrivalQuantity = ArrivalQuantity.Value, - GoodProductQuantity = GoodProductQuantity.Value, - Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)), + //BasicPack = BasicPack, + // ArrivalQuantity = SkuCount, + // GoodProductQuantity = SkuCount, + // Increment1 = string.Join(",", IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName)), BrandName = BrandName, - CertificatePosition = CertificatePosition, - MarkMessage = MarkMessage, - OrderId = OrderId, - PackType = PackType, - GoodsNumber = GoodsNumber, - SkuGoodsTitle = SkuTitle, - SkuId = SkuId, - IsNeedBar = IsNeedBarCode == Need.需要, - IsNeedCer = IsNeedCertificateModel == Need.需要, + //CertificatePosition = CertificatePosition, + //OrderId = OrderId, + //PackType = PackType, + //GoodsNumber = GoodsNumber, + //SkuGoodsTitle = SkuTitle, + //SkuId = SkuId, TaskId = TaskId, - FloorDragNumber = FloorDragNumber + BrandMarkType = BrandMarkType }; - - if (CreateTime>Convert.ToDateTime("2023-08-21")) + if (IsNeedBarCode == Need.需要) { - if (IsNeedBarCode == Need.需要) + if (BarCodeModel == null || BarCodeModel.Id <= 0) { - if (BarCodeModel == null || BarCodeModel.Id <= 0) - { - MessageBox.Show("条形码不能为空"); - return; - } - request.BarcodeId = BarCodeModel.Id; + MessageBox.Show("条形码不能为空"); + return; } - if (PurchaseSkuList != null && PurchaseSkuList.Count > 0 && purchaseSkuList.Any(p => p.IsNeedCer)) //(IsNeedCertificateModel == Need.需要) + request.BarcodeId = BarCodeModel.Id; + } + if (IsNeedPrintCer == Need.需要) + if (PurchaseSkuList != null && PurchaseSkuList.Count > 0 && purchaseSkuList.Any(p => p.IsNeedCer)) { //if () //{ @@ -490,11 +562,10 @@ namespace BBWY.Client.ViewModels request.CerId = string.Join(",", PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO.Id > 0).Select(p => p.CerDTO.Id)); } - } - + try { - var competeRes = packPurchaseTaskService.CompeteQualityTask(request); + var competeRes = qualityTaskService.CompeteQualityTask(request); if (competeRes == null) { MessageBox.Show("网络异常"); @@ -505,25 +576,22 @@ namespace BBWY.Client.ViewModels MessageBox.Show(competeRes.Msg); return; } - BatchPrintWindow batchPrint = new BatchPrintWindow(); + BatchPrintWindow batchPrint = new BatchPrintWindow(BrandMarkType, IsNeedPrintCer, TaskId,BrandName, GoodProductQuantity.Value, + PurchaseSkuList.Where(p => p.IsNeedCer && p.CerDTO != null && p.CerDTO.Id > 0).Select(p => p.CerDTO).ToArray() + , BarCodeModel, qualityTaskService,()=> { + ReflashWindow?.Invoke(); + var window = obj as BWindow; + App.Current.Dispatcher.Invoke(new Action(() => + { + window.Close(); + })); + }); - //if (BarCodeModel!=null) - //{ - // BarCodeModel.ShopName = OriginShopName; - //} - batchPrint.SetData(GoodProductQuantity.Value, - PurchaseSkuList.Where(p => p.IsNeedCer&& p.CerDTO!=null && p.CerDTO.Id > 0).Select(p => p.CerDTO).ToArray() - , BarCodeModel); batchPrint.ShowDialog(); - if (ReflashWindow != null) ReflashWindow(); - var window = obj as BWindow; - App.Current.Dispatcher.Invoke(new Action(() => - { - - window.Close(); - })); + + } catch (Exception ex) @@ -597,16 +665,16 @@ namespace BBWY.Client.ViewModels bool isNeedClick = true; - if (CreateTime { @@ -648,32 +716,17 @@ namespace BBWY.Client.ViewModels look.Show(); } - MarkMessageService markMessageService; - - SaveType? saveType; /// /// 搜索 skuId(todo:) /// - public void SearchSku(PackTaskModel model) + public void LoadData(PackTaskModel model, Need cer, BrandMarkType brandMarkType, QualityTaskResponse qualityTaskResponse) { - CreateTime = model.EndTime; + CreateTime = model.EndTime; OriginShopName = model.ShopName; - - FloorDragNumber = 0; + // FloorDragNumber = 0; PurchaseSkuList = new ObservableCollection(); WareHourseList = new ObservableCollection(); - - FloorDragNumberList = new ObservableCollection(); - - for (int i = 0; i < 30; i++) - { - App.Current.Dispatcher.Invoke((Action)(() => - { - - FloorDragNumberList.Add(i + 1); - })); - } TaskId = model.TaskId; OrderId = model.OrderId; SkuId = model.SkuId; @@ -688,9 +741,6 @@ namespace BBWY.Client.ViewModels SkuTitle = model.SkuTitle; BasicPack = model.BasicPack; CertificatePosition = model.CertificatePosition; - //ArrivalQuantity = 0; - //GoodProductQuantity = 0; - IncreateList = new ObservableCollection(); string[] increateDatas = model.Increment1?.Split(','); bool isSelected = false; @@ -722,44 +772,34 @@ namespace BBWY.Client.ViewModels ShowMarkMessage = string.Join("\r\n", resShow.Data.Select(d => d.ToString())); } - var packTaskRes = packPurchaseTaskService.GetQualityTask(model.TaskId); - if (packTaskRes == null) - { - MessageBox.Show("网络异常!"); - return; - } - if (!packTaskRes.Success || packTaskRes.Data == null) - { - MessageBox.Show(packTaskRes.Msg); - return; - } - SkuPurchaseSchemeId = packTaskRes.Data.SkuPurchaseSchemeId; - saveType = packTaskRes.Data.SaveType; + StoreGetSelfCount = qualityTaskResponse.StoreGetSelfCount; + + SkuPurchaseSchemeId = qualityTaskResponse.SkuPurchaseSchemeId; + saveType = qualityTaskResponse.SaveType; if (saveType == null) { saveType = OrderId.IsNullOrEmpty() ? SaveType.C端 : SaveType.B端; } - if (packTaskRes == null || !packTaskRes.Success) return; - BarCodeModel = packTaskRes.Data.BarCodeDTO; - IsNeedBarCode = packTaskRes.Data.IsNeedBar ? Need.需要 : Need.不需要; - IsSetBarCode = packTaskRes.Data.BarCodeDTO == null ? true : false; - IsNeedCertificateModel = packTaskRes.Data.IsNeedCer ? Need.需要 : Need.不需要; - if (packTaskRes.Data.WareHourses != null) - packTaskRes.Data.WareHourses.ToList().ForEach(w => + BarCodeModel = qualityTaskResponse.BarCodeDTO; + IsNeedBarCode = qualityTaskResponse.IsNeedBar ? Need.需要 : Need.不需要; + IsSetBarCode = qualityTaskResponse.BarCodeDTO == null ? true : false; + IsNeedCertificateModel = qualityTaskResponse.IsNeedCer ? Need.需要 : Need.不需要; + if (qualityTaskResponse.WareHourses != null) + qualityTaskResponse.WareHourses.ToList().ForEach(w => { App.Current.Dispatcher.Invoke(new Action(() => { WareHourseList.Add(w); })); - + }); WareHourseCount = WareHourseList.Count(); - if (packTaskRes.Data.PurchaseSkus != null) + if (qualityTaskResponse.PurchaseSkus != null) { int goodsIndex = 0; - foreach (var item in packTaskRes.Data.PurchaseSkus) + foreach (var item in qualityTaskResponse.PurchaseSkus) { goodsIndex++; if (item.CerDTO != null) item.CerDTO.GoodsNumberIndex = goodsIndex; @@ -843,10 +883,23 @@ namespace BBWY.Client.ViewModels } } + if (cer == Need.不需要) + { + CertificatePosition = CertificatePosition.无需合格证; + } - + BrandMarkType = brandMarkType; + IsNeedPrintCer = cer; }); + + + + } + + private Need IsNeedPrintCer; + + public Action ReflashWindow { get; set; } diff --git a/BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs b/BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs index 07a495ef..ed36a0f3 100644 --- a/BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs +++ b/BBWY.Client/ViewModels/SealBox/SealBoxConfigureViewModel.cs @@ -499,6 +499,7 @@ namespace BBWY.Client.ViewModels.SealBox TaskId = model.TaskId, TaskState = model.TaskState, WaitConfigureCount = count, + TaskIdRemark= model.TaskIdRemark, }; data.WareHourseDatas = new ObservableCollection(); switch (waretype) @@ -516,7 +517,8 @@ namespace BBWY.Client.ViewModels.SealBox WareId = item.WareId, WareName = item.WareName, //WareType = s.WareType, - WareState = item.WareState + WareState = item.WareState, + TaskIdRemark = item.TaskIdRemark, }); } break; @@ -532,7 +534,9 @@ namespace BBWY.Client.ViewModels.SealBox WareId = item.WareId, WareName = item.WareName, //WareType = s.WareType, - WareState = item.WareState + WareState = item.WareState, + TaskIdRemark = item.TaskIdRemark, + }); } @@ -549,7 +553,8 @@ namespace BBWY.Client.ViewModels.SealBox WareId = item.WareId, WareName = item.WareName, //WareType = s.WareType, - WareState = item.WareState + WareState = item.WareState, + TaskIdRemark = item.TaskIdRemark, }); } @@ -566,7 +571,8 @@ namespace BBWY.Client.ViewModels.SealBox WareId = item.WareId, WareName = item.WareName, //WareType = s.WareType, - WareState = item.WareState + WareState = item.WareState, + TaskIdRemark = item.TaskIdRemark, }); } diff --git a/BBWY.Client/Views/FallWare/FallWareConfiguredControl.xaml b/BBWY.Client/Views/FallWare/FallWareConfiguredControl.xaml index 44480b66..1f9be40c 100644 --- a/BBWY.Client/Views/FallWare/FallWareConfiguredControl.xaml +++ b/BBWY.Client/Views/FallWare/FallWareConfiguredControl.xaml @@ -199,9 +199,9 @@ Foreground="{StaticResource Text.Link.Color}" FontSize="18" HorizontalAlignment= - diff --git a/BBWY.Client/Views/FallWare/FallWareWaitConfigureControl.xaml b/BBWY.Client/Views/FallWare/FallWareWaitConfigureControl.xaml index 8679d86c..280ad784 100644 --- a/BBWY.Client/Views/FallWare/FallWareWaitConfigureControl.xaml +++ b/BBWY.Client/Views/FallWare/FallWareWaitConfigureControl.xaml @@ -227,9 +227,9 @@ Foreground="{StaticResource Text.Link.Color}" FontSize="18" HorizontalAlignment= - diff --git a/BBWY.Client/Views/FallWare/WaitFallWareControl.xaml b/BBWY.Client/Views/FallWare/WaitFallWareControl.xaml index 4eae0b49..0a20efed 100644 --- a/BBWY.Client/Views/FallWare/WaitFallWareControl.xaml +++ b/BBWY.Client/Views/FallWare/WaitFallWareControl.xaml @@ -124,7 +124,7 @@ CommandParameter="{Binding}" /> - @@ -132,7 +132,7 @@ @@ -217,9 +217,9 @@ - diff --git a/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml b/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml index 7d489710..95a2e6b6 100644 --- a/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml +++ b/BBWY.Client/Views/FallWare/WareFallWareListControl.xaml @@ -87,11 +87,6 @@ - - - - - diff --git a/BBWY.Client/Views/PackTask/PackDetailWindow.xaml b/BBWY.Client/Views/PackTask/PackDetailWindow.xaml index 56529189..72d0b5dc 100644 --- a/BBWY.Client/Views/PackTask/PackDetailWindow.xaml +++ b/BBWY.Client/Views/PackTask/PackDetailWindow.xaml @@ -84,7 +84,6 @@ - @@ -529,10 +528,6 @@ - - - - @@ -554,7 +549,7 @@ - + diff --git a/BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs b/BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs index 38885f60..c9b7a61d 100644 --- a/BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs +++ b/BBWY.Client/Views/PackTask/PackDetailWindow.xaml.cs @@ -136,8 +136,7 @@ namespace BBWY.Client.Views.PackTask MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机 PrintDialog printDialog = new PrintDialog(); - printDialog.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向 - //设置纸张大小 + printDialog.PrintTicket.PageOrientation = PageOrientation.ReversePortrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向 //设置纸张大小 var pageWidth = (int)Math.Ceiling(printDialog.PrintableAreaWidth); var pageHeight = (int)Math.Ceiling(printDialog.PrintableAreaHeight); printDialog.PrintTicket.PageMediaSize = new PageMediaSize(pageWidth, pageHeight); diff --git a/BBWY.Client/Views/PackTask/PackTaskTotal.xaml b/BBWY.Client/Views/PackTask/PackTaskTotal.xaml index baec44bc..9900b7af 100644 --- a/BBWY.Client/Views/PackTask/PackTaskTotal.xaml +++ b/BBWY.Client/Views/PackTask/PackTaskTotal.xaml @@ -220,9 +220,9 @@ - diff --git a/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml index 9df4b1f1..96adeeef 100644 --- a/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml +++ b/BBWY.Client/Views/PackTask/ShopWaitPackageControl.xaml @@ -108,9 +108,9 @@ -