using SlnMesnac.Model.domain; using SlnMesnac.Repository.service; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SlnMesnac.Business.business { public class DatabaseHandleBusniess { private ProdPlanInfoService _prodPlanInfoService; private ProdPlanExecuteUserService _prodPlanExecuteUserService; private ProdOrderInfoService _prodOrderInfoService; private IRecordStaffRealTimeService _recordStaffRealTimeService; private List prodPlanInfos; public DatabaseHandleBusniess(ProdPlanInfoService prodPlanInfoService, ProdOrderInfoService prodOrderInfoService, ProdPlanExecuteUserService prodPlanExecuteUserService,IRecordStaffRealTimeService recordStaffRealTimeService) { _prodPlanInfoService = prodPlanInfoService; _prodOrderInfoService = prodOrderInfoService; prodPlanInfos = _prodPlanInfoService.GetRecordStaffAttendances(); _prodPlanExecuteUserService = prodPlanExecuteUserService; _recordStaffRealTimeService = recordStaffRealTimeService; } /// /// 根据订单编号查询订单信息 /// /// /// public ProdOrderInfo GetProdOrderInfoByOrderCode(string orderCode) { return _prodOrderInfoService.GetProdOrderInfoByOrderCode(orderCode); } /// /// 添加新的工单信息 /// /// /// public void AddNewPlanInfo(string? orderCode,string? stationCode,string? deviceCode,string? processCode,string? importFlag) { var orderInfo = GetProdOrderInfoByOrderCode(orderCode); string randomString = GenerateRandomString(14); _prodPlanInfoService.Insert(new ProdPLanInfo() { PlanCode = orderCode + randomString, OrderCode = orderCode, MaterialCode = orderInfo.MaterialCode, MaterialName = orderInfo.MaterialName, StationCode = stationCode, DeviceCode = deviceCode, PlanAmount = orderInfo.OrderAmount, CompleteAmount = orderInfo.CompleteAmount, PlanStatus = "4", ProcessCode = processCode, ImportFlag = importFlag }); } /// /// 生成随机字符串 /// /// /// private string GenerateRandomString(int length) { const string chars = "abcdefghijklmnopqrstuvwxyz0123456789"; Random random = new Random(); StringBuilder result = new StringBuilder(); for (int i = 0; i < length; i++) { result.Append(chars[random.Next(chars.Length)]); } return result.ToString(); } /// /// 更新订单状态 /// /// /// /// /// /// /// public void UpdatePlanStatus(string orderCode, string stationCode, string deviceCode, string processCode, string status) { _prodPlanInfoService.UpdatePlanStatus(orderCode, stationCode, deviceCode, processCode, status); } /// /// 插入工单执行人员信息 /// public void InsertPlanExecuteUser(ProdPLanInfo prodPlanInfo,ProdPlanDetail prodPlanDetail,List realTimes) { foreach (var item in realTimes) { ProdPlanExecuteUser prodPlanExecuteUser = new ProdPlanExecuteUser() { PlanCode = prodPlanInfo.PlanCode, OrderCode = prodPlanInfo.OrderCode, ProcessCode = prodPlanInfo.ProcessCode, StationCode = prodPlanInfo.StationCode, StaffId = item.StaffId, CompleteAmount = prodPlanDetail.CompleteAmount, PlanBeginDate = prodPlanInfo.BeginTime, PlanEndDate = prodPlanInfo.EndTime, CreatedBy = prodPlanInfo.CreatedBy, CreatedTime = prodPlanInfo.CreatedTime, UpdatedBy = prodPlanInfo.UpdatedBy, UpdatedTime = prodPlanInfo.UpdatedTime, BatchNumber = prodPlanDetail.BatchNumber }; _prodPlanExecuteUserService.Insert(prodPlanExecuteUser); } } /// /// 查询所有工单执行人员信息 /// /// public List GetRecordStaffRealTimes() { var list = _recordStaffRealTimeService.Query(); return list; } ///// ///// 查询所有计划工位 ///// ///// //public List GetProductLineCodes() //{ // List productLineCodes = new List(); // foreach (var prodPlanInfo in prodPlanInfos) // { // productLineCodes.Add(prodPlanInfo.StationCode); // } // return productLineCodes; //} ///// ///// 查询所有工单编号 ///// ///// //public List GetPlanCodes() //{ // List planCodes = new List(); // foreach (var prodPlanInfo in prodPlanInfos) // { // planCodes.Add(prodPlanInfo.PlanCode); // } // return planCodes; //} ///// ///// 查询所有订单编号 ///// ///// //public List GetOrderCodes() //{ // List orderCodes = new List(); // foreach (var prodPlanInfo in prodPlanInfos) // { // orderCodes.Add(prodPlanInfo.OrderCode); // } // return orderCodes; //} ///// ///// 查询所有物料名称 ///// ///// //public List GetMaterialNames() //{ // List materialNames = new List(); // foreach (var prodPlanInfo in prodPlanInfos) // { // materialNames.Add(prodPlanInfo.MaterialName); // } // return materialNames; //} } }