步步为盈
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.

670 lines
22 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> SearchTaskListV2(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/SearchTaskListV2", new
{
orderSn,
spuId,
skuId,
taskId,
TaskState,
pageIndex,
pageSize,
ShopId = globalContext.User.Shop.ShopId.ToString(),
}, null, HttpMethod.Post);
}
public ApiResponse<SearchTaskListResponse> SearchTaskListV2(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,
string SkuTitle = null,
string SpuTitle = null,
string PackUserName = null
)
{
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskListV2", new
{
SkuTitle,
SpuTitle,
DepartmentName = departmentName,
SkuId = skuId,
TaskId = taskId,
TaskState = TaskState,
PageIndex = pageIndex,
PageSize = pageSize,
ShopName = ShopName,
WayBillNo = WayBillNo,
SourceExpressName = SourceExpressName,
spuId,
orderSn,
PackUserName
}, 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);
//}
public ApiResponse<ShopTotalResponse> ShopTotalV3(string skuId,
string taskId,
string shopId,
DateTime? startTime,
DateTime? endTime,
string ShopName,
string DepartmentName,
int pageIndex = 1,
int pageSize = 10
)
{
return SendRequest<ShopTotalResponse>(globalContext.QKApiHost, "api/PackTask/ShopTotalV3", new
{
shopId,
skuId,
taskId,
startTime,
endTime,
DepartmentName,
ShopName,
pageIndex,
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> TotalPackUserSalaryV1(string PackUserName = null, DateTime? StartTime = null, DateTime? EndTime = null, int PageIndex = 1
, int PageSize = 10)
{
return SendRequest<TotalPackUserSalaryResponse>(globalContext.QKApiHost, "api/PackTask/TotalPackUserSalaryV1", new
{
PackUserName,
StartTime,
EndTime,
PageIndex,
PageSize
}, 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<object> ManualSign(string wayBillNo)
{
return SendRequest<object>("http://bbwyb.qiyue666.com", $"Api​/PurchaseOrder​/ManualSign", new
{
wayBillNo
}, null, HttpMethod.Post);
}
/// <summary>
/// 批量手动发货
/// </summary>
/// <param name="orderId"></param>
/// <param name="sourceSkuId"></param>
/// <returns></returns>
public ApiResponse<object> BatchManualSign(string[] wayBillNoList)
{
return SendRequest<object>("http://bbwyb.qiyue666.com", $"api/purchaseorder/batchmanualsign", new { wayBillNoList }, null, HttpMethod.Post);
}
//public ApiResponse<object> SubmitOverTimeMarkMsg(OverTimeTaskType OverTimeTaskType, long Id, string MarkMsg)
//{
// return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/SubmitOverTimeMarkMsg", new
// {
// OverTimeTaskType,
// Id,
// MarkMsg,
// }, null, HttpMethod.Post);
//}
public ApiResponse<object> SendToSetSkuConfigure(long taskId)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/SendToSetSkuConfigure?taskid={taskId}", null, null, HttpMethod.Post);
}
public ApiResponse<StoreGetSelfResponse> GetStoreGetSelfData(long taskId)
{
return SendRequest<StoreGetSelfResponse>(globalContext.QKApiHost, $"api/PackTask/GetStoreGetSelfData?taskid={taskId}", null, null, HttpMethod.Get);
}
public ApiResponse<object> StoreGetBySelfV3(long taskId, int storeGetCount, string PickerUserName)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelfV3", new
{
taskId,
storeGetCount,
PickerUserName,
OperatorUserName = globalContext.User.Name
}, null, HttpMethod.Post);
}
public ApiResponse<SearchStoreGetSelfResponse> SearchStoreGetSelfList(string taskId, string OrderSn, string SpuId, string SkuId, string DepartmentName, string ShopName, int? pageIndex, int pageSize, string ShopId)
{
return SendRequest<SearchStoreGetSelfResponse>(globalContext.QKApiHost, $"api/PackTask/SearchStoreGetSelfList", new
{
taskId,
OrderSn,
SpuId,
SkuId,
DepartmentName,
ShopName,
ShopId,
pageIndex,
pageSize,
}, null, HttpMethod.Post);
}
public ApiResponse<object> AddSealBoxProduct(string skuId, PositionType positionType, int count)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/AddSealBoxProduct", new
{
skuId,
positionType,
SkuCount = count,
ShopId = globalContext.User.Shop.ShopId.ToString(),
UserId = globalContext.User.Id.ToString()
}, null, HttpMethod.Post);
}
/// <summary>
/// 创建任务 新版
/// </summary>
/// <param name="createTaskRequest"></param>
/// <returns></returns>
public ApiResponse<object> CreatePackTaskV2(CreatePackTaskV2Request createTaskRequest)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/CreatePackTaskV2",
createTaskRequest
, null, HttpMethod.Post);
}
/// <summary>
/// 创建任务 新版
/// </summary>
/// <param name="createTaskRequest"></param>
/// <returns></returns>
public ApiResponse<object> UpdatePackTaskV2(UpdatePackTaskV2Request createTaskRequest)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/UpdatePackTaskV2",
createTaskRequest
, null, HttpMethod.Post);
}
public ApiResponse<object> SplitPackTask(long nowTaskId, int ExceptionCount,TaskState AbortTaskState)
{
return SendRequest<object>(globalContext.QKApiHost, "api/PackTask/SplitPackTask",
new
{
UserName = globalContext.User.Name,
nowTaskId,
ExceptionCount,
AbortTaskState,
}
, null, HttpMethod.Post);
}
/// <summary>
/// 创建任务 新版
/// </summary>
/// <param name="createTaskRequest"></param>
/// <returns></returns>
public ApiResponse<TaskAbortEnumResponse> GetTaskAbortEnum()
{
return SendRequest<TaskAbortEnumResponse>(globalContext.QKApiHost, "api/PackTask/GetTaskAbortEnum",null , null, HttpMethod.Get);
}
}
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>
///
/// </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; }
}
}