You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
566 lines
18 KiB
566 lines
18 KiB
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<SearchTaskListResponse> SearchTaskList(string skuId = null, string taskId = null
|
|
, string spuId = null, string orderSn = null,
|
|
TaskState? TaskState = null,
|
|
int pageIndex = 1,
|
|
int pageSize = 10
|
|
|
|
)
|
|
{
|
|
|
|
|
|
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
|
|
{
|
|
orderSn,
|
|
spuId,
|
|
skuId,
|
|
taskId,
|
|
TaskState,
|
|
pageIndex,
|
|
pageSize,
|
|
ShopId = globalContext.User.Shop.ShopId.ToString(),
|
|
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
public ApiResponse<SearchTaskListResponse> SearchTaskList(string WayBillNo = null, string SourceExpressName = null, string departmentName = null, string skuId = null, string taskId = null,
|
|
string spuId = null, string orderSn = null,
|
|
TaskState? TaskState = null,
|
|
string ShopName = null,
|
|
int pageIndex = 1,
|
|
int pageSize = 10
|
|
)
|
|
{
|
|
|
|
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
|
|
{
|
|
DepartmentName = departmentName,
|
|
SkuId = skuId,
|
|
TaskId = taskId,
|
|
TaskState = TaskState,
|
|
PageIndex = pageIndex,
|
|
PageSize = pageSize,
|
|
ShopName = ShopName,
|
|
WayBillNo = WayBillNo,
|
|
SourceExpressName = SourceExpressName,
|
|
spuId,
|
|
orderSn
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
|
|
|
|
public ApiResponse<ProductSkuCountsResponse> GetTaskAllCount(string shopId = null)
|
|
{
|
|
return SendRequest<ProductSkuCountsResponse>(globalContext.QKApiHost, $"api/PackTask/GetProductSkuCount?shopId={shopId}",
|
|
null
|
|
, null, HttpMethod.Get);
|
|
}
|
|
|
|
|
|
public ApiResponse<ProductSkuResponse> SearchProduct(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<ApiResponse<ProductSkuResponse>>(data);
|
|
}
|
|
public ApiResponse<CertificateModel> 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<ApiResponse<CertificateModel>>(data);
|
|
}
|
|
|
|
public ApiResponse<object> UpdateTask(CreateTaskRequest createTaskRequest)
|
|
{
|
|
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/UpdatePackTask",
|
|
createTaskRequest
|
|
, null, HttpMethod.Post);
|
|
}
|
|
|
|
|
|
public ApiResponse<object> DeletedTask(long taskId)
|
|
{
|
|
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/DeletedPackTask",
|
|
new
|
|
{
|
|
TaskId = taskId,
|
|
UserId = globalContext.User.Id.ToString()
|
|
}
|
|
, null, HttpMethod.Post);
|
|
}
|
|
|
|
|
|
public ApiResponse<object> CreateTask(CreateTaskRequest createTaskRequest)
|
|
{
|
|
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/CreatePackTask",
|
|
createTaskRequest
|
|
, null, HttpMethod.Post);
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 修改任务状态
|
|
/// </summary>
|
|
/// <param name="taskId"></param>
|
|
/// <param name="packTaskState"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<object> SetPackTaskState(long taskId, TaskState taskState)
|
|
{
|
|
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/SetPackTaskState", new
|
|
{
|
|
taskId = taskId,
|
|
TaskState = taskState
|
|
}
|
|
, null, HttpMethod.Post);
|
|
}
|
|
|
|
|
|
|
|
public ApiResponse<long> SaveBarCode(BarCodeRequest barCodeModel)
|
|
{
|
|
return SendRequest<long>(globalContext.QKApiHost, "api/PackTask/CommitBarCode", barCodeModel
|
|
, null, HttpMethod.Post);
|
|
}
|
|
|
|
public ApiResponse<long> SaveCer(CerRequest cerRequest)
|
|
{
|
|
return SendRequest<long>(globalContext.QKApiHost, "api/PackTask/CommitCer", cerRequest
|
|
, null, HttpMethod.Post);
|
|
}
|
|
public ApiResponse<long> SaveSpuCer(CerRequest cerRequest)
|
|
{
|
|
return SendRequest<long>(globalContext.QKApiHost, "api/PackTask/CommitSpuCer", cerRequest
|
|
, null, HttpMethod.Post);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 获取打包人员列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ApiResponse<PackUser[]> GetPackMembers()
|
|
{
|
|
|
|
return SendRequest<PackUser[]>(globalContext.QKApiHost, "api/PackTask/SearchPackMembers", null
|
|
, null, HttpMethod.Get);
|
|
|
|
}
|
|
|
|
public ApiResponse<ShopTotalResponse> 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<ShopTotalResponse>(globalContext.QKApiHost, "api/PackTask/ShopTotal", new
|
|
{
|
|
|
|
SkuId = skuId,
|
|
TaskId = taskId,
|
|
StartTime = startTime,
|
|
EndTime = endTime,
|
|
DepartmentName,
|
|
ShopName,
|
|
PageIndex = pageIndex,
|
|
PageSize = pageSize
|
|
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
/// <summary>
|
|
/// 批量结算
|
|
/// </summary>
|
|
/// <param name="taskIds"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<object> BatchSettle(params long[] taskIds)
|
|
{
|
|
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/BatchSettle", new
|
|
{
|
|
taskIds = taskIds,
|
|
userId = globalContext.User.Id.ToString(),
|
|
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
/// <summary>
|
|
/// 取消拳探任务
|
|
/// </summary>
|
|
/// <param name="orderId"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<object> CancelQTTask(string orderId)
|
|
{
|
|
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/CancelQTTask", new
|
|
{
|
|
orderId,
|
|
userId = globalContext.User.Id.ToString(),
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 统计打包人员工资明细
|
|
/// </summary>
|
|
/// <param name="orderId"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<TotalPackUserSalaryResponse> TotalPackUserSalary(string PackUserName = null, DateTime? StartTime = null, DateTime? EndTime = null, int PageIndex = 1
|
|
, int PageSize = 10)
|
|
{
|
|
return SendRequest<TotalPackUserSalaryResponse>(globalContext.QKApiHost, "api/PackTask/TotalPackUserSalary", new
|
|
{
|
|
PackUserName,
|
|
StartTime,
|
|
EndTime,
|
|
PageIndex,
|
|
PageSize
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
public ApiResponse<bool> StoreGetBySelf(long taskId)
|
|
{
|
|
|
|
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelf?TaskId={taskId}", null, null, HttpMethod.Post);
|
|
}
|
|
|
|
public ApiResponse<bool> CompletedPackTask(long taskId)
|
|
{
|
|
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackTask/CompletedPackTask?taskId={taskId}", null, null, HttpMethod.Post);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取B端物流信息
|
|
/// </summary>
|
|
/// <param name="orderId"></param>
|
|
/// <param name="sourceSkuId"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<List<ExpressOrderResponse>> GetPurchaseExpressOrderList(string orderId, string sourceSkuId)
|
|
{
|
|
return SendRequest<List<ExpressOrderResponse>>("http://bbwyb.qiyue666.com", $"Api/Order/GetPurchaseExpressOrderList", new
|
|
{
|
|
orderId,
|
|
sourceSkuId
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 批量手动发货
|
|
/// </summary>
|
|
/// <param name="orderId"></param>
|
|
/// <param name="sourceSkuId"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<List<ExpressOrderResponse>> BatchManualSign(string[] wayBillNoList)
|
|
{
|
|
return SendRequest<List<ExpressOrderResponse>>("http://bbwyb.qiyue666.com", $"api/purchaseorder/batchManualsign", new
|
|
{
|
|
wayBillNoList
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询超时任务列表
|
|
/// </summary>
|
|
/// <param name="taskId"></param>
|
|
/// <returns></returns>
|
|
public ApiResponse<SearchOverTimeTaskResponse> SearchOverTimeTaskList(string ShopId, DateTime? StartTime, DateTime? EndTime, OverTimeTaskState overTimeTaskState, OverTimeTaskType? OverTimeTaskType, int? PageIndex, int? PageSize = 20)
|
|
{
|
|
return SendRequest<SearchOverTimeTaskResponse>(globalContext.QKApiHost, $"api/PackTask/SearchOverTimeTaskList", new
|
|
{
|
|
ShopId,
|
|
StartTime,
|
|
EndTime,
|
|
OverTimeTaskType,
|
|
PageIndex,
|
|
PageSize,
|
|
overTimeTaskState
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
public ApiResponse<bool> SubmitOverTimeMarkMsg(OverTimeTaskType OverTimeTaskType, long Id, string MarkMsg)
|
|
{
|
|
return SendRequest<bool>(globalContext.QKApiHost, $"api/PackTask/SubmitOverTimeMarkMsg", new
|
|
{
|
|
OverTimeTaskType,
|
|
Id,
|
|
MarkMsg,
|
|
}, null, HttpMethod.Post);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
public class CompeteSealBox
|
|
{
|
|
/// <summary>
|
|
/// 任务Id
|
|
/// </summary>
|
|
public long[] TaskId { get; set; }
|
|
/// <summary>
|
|
/// 仓库Id
|
|
/// </summary>
|
|
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
|
|
{ /// <summary>
|
|
/// 任务id
|
|
/// </summary>
|
|
public long TaskId { get; set; }
|
|
/// <summary>
|
|
/// 定向收费
|
|
/// </summary>
|
|
public decimal? DirectionalFees { get; set; }
|
|
|
|
/// <summary>
|
|
/// 增量配件任务数量
|
|
/// </summary>
|
|
public int IncrementPartTaskCount { get; set; }
|
|
/// <summary>
|
|
/// 增量配件数量
|
|
/// </summary>
|
|
public int IncrementPartCount { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
/// 增值服务数据
|
|
/// </summary>
|
|
public List<PackItemModel> IncreateList { get; set; }
|
|
|
|
/// <summary>
|
|
/// 耗材服务数据
|
|
/// </summary>
|
|
public List<PackItemModel> ConsumableList { get; set; }
|
|
|
|
/// <summary>
|
|
///工序服务数据
|
|
/// </summary>
|
|
public List<PackItemModel> IncrementProcessList { get; set; }
|
|
/// <summary>
|
|
/// 基础包装工序(基础包装工序)
|
|
/// </summary>
|
|
public List<PackItemModel> BasicPackProcessList { get; set; }
|
|
}
|
|
/// <summary>
|
|
/// 上传服务
|
|
/// </summary>
|
|
public class UploadServiceRequest
|
|
{
|
|
|
|
/// <summary>
|
|
/// 折扣
|
|
/// </summary>
|
|
public decimal Discount { get; set; } = 1;
|
|
|
|
/// <summary>
|
|
/// 任务id
|
|
/// </summary>
|
|
public long TaskId { get; set; }
|
|
/// <summary>
|
|
/// 耗材ids
|
|
/// </summary>
|
|
public string ConsumableIds { get; set; }
|
|
/// <summary>
|
|
/// 耗材数量
|
|
/// </summary>
|
|
public string ConsumableNos { get; set; }
|
|
/// <summary>
|
|
/// 工序ids
|
|
/// </summary>
|
|
public string WorkProcessIds { get; set; }
|
|
/// <summary>
|
|
/// 工序数量
|
|
/// </summary>
|
|
public string WorkProcessNos { get; set; }
|
|
/// <summary>
|
|
/// 增值服务ids
|
|
/// </summary>
|
|
public string IncreateServiceIds { get; set; }
|
|
/// <summary>
|
|
/// 增值服务数量
|
|
/// </summary>
|
|
public string IncreateServiceNos { get; set; }
|
|
|
|
public string PackServiceIds { get; set; }
|
|
public string PackServiceNos { get; set; }
|
|
/// <summary>
|
|
/// 任务单件费用
|
|
/// </summary>
|
|
public decimal SingleFees { get; set; }
|
|
/// <summary>
|
|
/// 任务总费用
|
|
/// </summary>
|
|
public decimal AllFees { get; set; }
|
|
|
|
/// <summary>
|
|
/// 增加数据
|
|
/// </summary>
|
|
public List<PersonTaskModel> AddPackServices { get; set; }
|
|
/// <summary>
|
|
/// 删除的数据
|
|
/// </summary>
|
|
public List<long> DeletedPackServices { get; set; }
|
|
|
|
public List<PersonTaskModel> 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
|
|
{
|
|
/// <summary>
|
|
/// 任务id
|
|
/// </summary>
|
|
public long TaskId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 打包人
|
|
/// </summary>
|
|
public string PackUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 服务id
|
|
/// </summary>
|
|
public long? ServiceId { get; set; }
|
|
/// <summary>
|
|
/// 服务数量
|
|
/// </summary>
|
|
public int? ServiceCount { get; set; }
|
|
///// <summary>
|
|
///// 增值服务ids
|
|
///// </summary>
|
|
//public string IncreateServiceIds { get; set; }
|
|
///// <summary>
|
|
///// 增值服务数量
|
|
///// </summary>
|
|
//public string IncreateServiceNos { get; set; }
|
|
///// <summary>
|
|
///// 工序ids
|
|
///// </summary>
|
|
//public string WorkProcessIds { get; set; }
|
|
///// <summary>
|
|
///// 工序数量
|
|
///// </summary>
|
|
//public string WorkProcessNos { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public bool IsDeleted { get; set; }
|
|
/// <summary>
|
|
/// 折扣
|
|
/// </summary>
|
|
public decimal Discount { get; set; } = 1;
|
|
/// <summary>
|
|
/// 总费用
|
|
/// </summary>
|
|
public decimal AllFees { get; set; }
|
|
/// <summary>
|
|
/// 时间
|
|
/// </summary>
|
|
public DateTime CreateTime { get; set; } = DateTime.Now;
|
|
|
|
public ServiceType ServiceType { get; set; }
|
|
}
|
|
|
|
|
|
|
|
public class ConsumableTaskModel
|
|
{
|
|
public decimal Price { get; set; }
|
|
/// <summary>
|
|
/// 耗材服务id
|
|
/// </summary>
|
|
public long? ConsumableId { get; set; }
|
|
/// <summary>
|
|
/// 耗材服务数量
|
|
/// </summary>
|
|
public int? ConsumableCount { get; set; }
|
|
}
|
|
|
|
|
|
public class PackServiceMemberModel
|
|
{
|
|
public decimal Price { get; set; }
|
|
|
|
public string UserId { get; set; }
|
|
/// <summary>
|
|
/// 增值服务Id
|
|
/// </summary>
|
|
public long? PackServiceId { get; set; }
|
|
/// <summary>
|
|
/// 数量
|
|
/// </summary>
|
|
public int PackServiceCount { get; set; }
|
|
|
|
public ServiceType ServiceType { get; set; }
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|