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

616 lines
20 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,
string SkuTitle = null,
string SpuTitle = null
)
{
return SendRequest<SearchTaskListResponse>(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new
{
SkuTitle,
SpuTitle,
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);
//}
public ApiResponse<ShopTotalResponse> ShopTotalV2(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/ShopTotalV2", 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> 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> 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);
}
/// <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<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> StoreGetBySelfV2(long taskId, int storeGetCount, string PickerUserName)
{
return SendRequest<object>(globalContext.QKApiHost, $"api/PackTask/StoreGetBySelfV2", 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 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; }
}
}