123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- using DbCommon.BusinessCore.BaseCore;
- using DbCommon.Enties.DbModels;
- using ProjectManagementSystem.Common.Core;
- using ProjectManagementSystem.Common.Extenions;
- using ProjectManagementSystem.Common.Logger;
- using ProjectManagementSystem.Common.Models.Crms;
- using ProjectManagementSystem.Common.Service;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ProjectManagementSystem.Common.TaskBookEvent
- {
- public class TaskBookBehavior_63001 : BaseTaskBookBehaviorV2
- {
- LocationPropertyManager locationManager = new LocationPropertyManager();
- public TaskBookBehavior_63001() : base(63001, "库位置满")
- {
- }
- public override bool TaskBookOperator(TaskData taskDetailInfo, StepData stepInfo)
- {
- try
- {
- if (Crms.PmsTaskService is PmsTaskServiceSWms)
- {
- return SWMS(taskDetailInfo, stepInfo);
- }
- else
- {
- return WMS(taskDetailInfo, stepInfo);
- }
- }
- catch (Exception ex)
- {
- LogException(ex);
- }
- return false;
- }
- private bool SWMS(TaskData taskData, StepData stepData)
- {
- var data = Crms.SWmsApi.GetLocationStockByLocationId(stepData.WareHouseID);
- if (data == null)
- {
- Log(taskData, stepData, $"获取库位信息失败");
- return false;
- }
- var result = Crms.SWmsApi.UpdateLocationLockMark(stepData.WareHouseID, data.Location.lockMark, null, out var content);
- if (!result)
- {
- Log(taskData, stepData, $"任务占用解除失败 {(result ? null : content)}");
- return false;
- }
- var stock = new SWmsStock();
- stock.recordType = SWmsERecordType.AutoIn;
- stock.supporterType = SWmsESupporterType.Location;
- stock.supporterId = stepData.WareHouseID;
- stock.goodsCode = "默认货物";
- stock.goodsNumber = 1;
- stock.taskId = taskData.TaskID;
- stock.operationSource = "pms";
- result = Crms.SWmsApi.StockSave(stock, out content);
- Log(taskData, stepData, $"{Remark}{result.ToChineseString()} {(result ? null : content)}");
- return result;
- }
- private bool WMS(TaskData taskDetailInfo, StepData stepInfo)
- {
- var data = locationManager.GetById(stepInfo.WareHouseID);
- if (data == null)
- {
- Log(taskDetailInfo, stepInfo, $"获取库位信息失败");
- return false;
- }
- data.Status = LocationStatus.Filled;
- data.CurrentTaskID = string.Empty;
- data.ModifyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- bool result = locationManager.Update(data);
- Log(taskDetailInfo, stepInfo, $"库位置满,操作结果:{result}");
- return result;
- }
- }
- }
|