using BBWY.Client.Helpers; using BBWY.Client.Models; using BBWY.Client.Models.APIModel; using BBWY.Client.Models.APIModel.Request; using BBWY.Client.Models.APIModel.Response.PackTask; using BBWY.Client.Models.PackTask; using BBWY.Common.Http; using BBWY.Common.Models; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Net.Http; using System.Runtime.Serialization; using System.Threading.Tasks; using System.Windows.Documents; namespace BBWY.Client.APIServices { public class PackTaskService : BaseApiService, IDenpendency { public PackTaskService(RestApiService restApiService, GlobalContext globalContext) : base(restApiService, globalContext) { } public ApiResponse GetTaskList(string skuId = null, string taskId = null, DateTime? startTime = null, DateTime? endTime = null, TaskState? TaskState = null, int pageIndex = 1, int pageSize = 10 ) { if (taskId != null && !string.IsNullOrEmpty(taskId.Trim())) { return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new { TaskId = taskId, ShopId = globalContext.User.Shop.ShopId.ToString() }, null, HttpMethod.Post); } return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new { SkuId = skuId, TaskId = taskId, StartTime = startTime, EndTime = endTime, TaskState = TaskState, PageIndex = pageIndex, PageSize = pageSize, ShopId = globalContext.User.Shop.ShopId.ToString() }, null, HttpMethod.Post); } public ApiResponse GetWareHouseList(string WayBillNo = null, string SourceExpressName = null, int? isWorry = null, string departmentName = null, string skuId = null, string taskId = null, DateTime? startTime = null, DateTime? endTime = null, TaskState? TaskState = null, string ShopName = null, int pageIndex = 1, int pageSize = 10 ) { if (taskId != null && !string.IsNullOrEmpty(taskId.Trim())) { return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new { TaskId = taskId }, null, HttpMethod.Post); } return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new { IsWorry = isWorry, DepartmentName = departmentName, SkuId = skuId, TaskId = taskId, StartTime = startTime, EndTime = endTime, TaskState = TaskState, PageIndex = pageIndex, PageSize = pageSize, ShopName = ShopName, WayBillNo = WayBillNo, SourceExpressName = SourceExpressName, }, null, HttpMethod.Post); } public ApiResponse GetTaskAllCount(string shopId = null) { return SendRequest(globalContext.QKApiHost, $"api/PackTask/GetProductSkuCount?shopId={shopId}", null , null, HttpMethod.Get); } public ApiResponse GetProductSku(string skuId) { HttpClientHelper helper = new HttpClientHelper(globalContext.QKApiHost); string url = $"{globalContext.QKApiHost}/api/PackTask/SearchProduct?skuId={skuId}&ShopId={globalContext.User.Shop.ShopId}"; var data = helper.Get(url); return JsonConvert.DeserializeObject>(data); } public ApiResponse GetSpuCer(string spuId) { HttpClientHelper helper = new HttpClientHelper(globalContext.QKApiHost); string url = $"{globalContext.QKApiHost}/api/PackTask/GetSpuCer?spuId={spuId}"; var data = helper.Get(url); return JsonConvert.DeserializeObject>(data); } public ApiResponse UpdateTask(CreateTaskRequest createTaskRequest) { return SendRequest(globalContext.QKApiHost, "api/PackTask/UpdatePackTask", createTaskRequest , null, HttpMethod.Post); } public ApiResponse DeletedTask(long taskId) { return SendRequest(globalContext.QKApiHost, "api/PackTask/DeletedPackTask", new { TaskId = taskId, UserId = globalContext.User.Id.ToString() } , null, HttpMethod.Post); } public ApiResponse CreateTask(CreateTaskRequest createTaskRequest) { return SendRequest(globalContext.QKApiHost, "api/PackTask/CreatePackTask", createTaskRequest , null, HttpMethod.Post); } public ApiResponse UpdateTaskStatus(long id, int taskStatus, string orderId) { return SendRequest(globalContext.QKApiHost, "api/PackTask/UpdatePackTaskStatus", new { id, taskStatus, orderId } , null, HttpMethod.Post); } /// /// 修改任务状态 /// /// /// /// public ApiResponse SetPackTaskState(long taskId, TaskState taskState) { return SendRequest(globalContext.QKApiHost, "api/PackTask/SetPackTaskState", new { taskId = taskId, TaskState = taskState } , null, HttpMethod.Post); } public ApiResponse SaveBarCode(BarCodeRequest barCodeModel) { return SendRequest(globalContext.QKApiHost, "api/PackTask/CommitBarCode", barCodeModel , null, HttpMethod.Post); } public ApiResponse SaveCer(CerRequest cerRequest) { return SendRequest(globalContext.QKApiHost, "api/PackTask/CommitCer", cerRequest , null, HttpMethod.Post); } public ApiResponse SaveSpuCer(CerRequest cerRequest) { return SendRequest(globalContext.QKApiHost, "api/PackTask/CommitSpuCer", cerRequest , null, HttpMethod.Post); } /// /// 获取打包人员列表 /// /// public ApiResponse GetPackMembers() { return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchPackMembers", null , null, HttpMethod.Get); } public ApiResponse ShopTotal(string skuId = null, string taskId = null, DateTime? startTime = null, DateTime? endTime = null, string ShopName = null, string DepartmentName = null, int pageIndex = 1, int pageSize = 10 ) { return SendRequest(globalContext.QKApiHost, "api/PackTask/ShopTotal", new { SkuId = skuId, TaskId = taskId, StartTime = startTime, EndTime = endTime, DepartmentName, ShopName, PageIndex = pageIndex, PageSize = pageSize }, null, HttpMethod.Post); } /// /// 批量结算 /// /// /// public ApiResponse BatchSettle(params long[] taskIds) { return SendRequest(globalContext.QKApiHost, "api/PackTask/BatchSettle", new { taskIds = taskIds, userId = globalContext.User.Id.ToString(), }, null, HttpMethod.Post); } /// /// 取消拳探任务 /// /// /// public ApiResponse CancelQTTask(string orderId) { return SendRequest(globalContext.QKApiHost, "api/PackTask/CancelQTTask", new { orderId, userId = globalContext.User.Id.ToString(), }, null, HttpMethod.Post); } /// /// 统计打包人员工资明细 /// /// /// public ApiResponse TotalPackUserSalary(string PackUserName = null, DateTime? StartTime = null, DateTime? EndTime = null, int PageIndex = 1 , int PageSize = 10) { return SendRequest(globalContext.QKApiHost, "api/PackTask/TotalPackUserSalary", new { PackUserName, StartTime, EndTime, PageIndex, PageSize }, null, HttpMethod.Post); } public ApiResponse StoreGetBySelf(long taskId) { return SendRequest(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelf?TaskId={taskId}", null, null, HttpMethod.Post); } } public class CompeteSealBox { /// /// 任务Id /// public long[] TaskId { get; set; } /// /// 仓库Id /// public string WareId { get; set; } public int BoxCount { get; set; } } public class AddConsumableRequest { public long TaskId { get; set; } public long[] ConsumableIds { get; set; } } public class PackTaskDetailRequest { /// /// 任务id /// public long TaskId { get; set; } /// /// 定向收费 /// public decimal? DirectionalFees { get; set; } /// /// 增量配件任务数量 /// public int IncrementPartTaskCount { get; set; } /// /// 增量配件数量 /// public int IncrementPartCount { get; set; } /// /// 增值服务数据 /// public List IncreateList { get; set; } /// /// 耗材服务数据 /// public List ConsumableList { get; set; } /// ///工序服务数据 /// public List IncrementProcessList { get; set; } /// /// 基础包装工序(基础包装工序) /// public List BasicPackProcessList { get; set; } } /// /// 上传服务 /// public class UploadServiceRequest { /// /// 折扣 /// public decimal Discount { get; set; } = 1; /// /// 任务id /// public long TaskId { get; set; } /// /// 耗材ids /// public string ConsumableIds { get; set; } /// /// 耗材数量 /// public string ConsumableNos { get; set; } /// /// 工序ids /// public string WorkProcessIds { get; set; } /// /// 工序数量 /// public string WorkProcessNos { get; set; } /// /// 增值服务ids /// public string IncreateServiceIds { get; set; } /// /// 增值服务数量 /// public string IncreateServiceNos { get; set; } public string PackServiceIds { get; set; } public string PackServiceNos { get; set; } /// /// 任务单件费用 /// public decimal SingleFees { get; set; } /// /// 任务总费用 /// public decimal AllFees { get; set; } /// /// 增加数据 /// public List AddPackServices { get; set; } /// /// 删除的数据 /// public List DeletedPackServices { get; set; } public List DelPackServices { get; set; } //public PersonTaskModel[] PersonTaskModels { get; set; } //public IncreateMemberModel[] IncreateMembers { get; set; } //public ProcessMemberModel[] ProcessMembers { get; set; } public decimal? IncreaseFees { get; set; } public decimal? PackFees { get; set; } public decimal? ConsumableFees { get; set; } public decimal? DiscountPrice { get; set; } public string OrderId { get; set; } public string SkuId { get; set; } } public class PersonTaskModel { /// /// 任务id /// public long TaskId { get; set; } /// /// 打包人 /// public string PackUserId { get; set; } /// /// 服务id /// public long? ServiceId { get; set; } /// /// 服务数量 /// public int? ServiceCount { get; set; } ///// ///// 增值服务ids ///// //public string IncreateServiceIds { get; set; } ///// ///// 增值服务数量 ///// //public string IncreateServiceNos { get; set; } ///// ///// 工序ids ///// //public string WorkProcessIds { get; set; } ///// ///// 工序数量 ///// //public string WorkProcessNos { get; set; } /// /// /// public bool IsDeleted { get; set; } /// /// 折扣 /// public decimal Discount { get; set; } = 1; /// /// 总费用 /// public decimal AllFees { get; set; } /// /// 时间 /// public DateTime CreateTime { get; set; } = DateTime.Now; public ServiceType ServiceType { get; set; } } public class ConsumableTaskModel { public decimal Price { get; set; } /// /// 耗材服务id /// public long? ConsumableId { get; set; } /// /// 耗材服务数量 /// public int? ConsumableCount { get; set; } } public class PackServiceMemberModel { public decimal Price { get; set; } public string UserId { get; set; } /// /// 增值服务Id /// public long? PackServiceId { get; set; } /// /// 数量 /// public int PackServiceCount { get; set; } public ServiceType ServiceType { get; set; } } }