| | |
| | | /Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.439.2385/SemanticSymbols.db-shm |
| | | /Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.439.2385/SemanticSymbols.db-wal |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json |
| | | /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json |
| | | /Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db |
| | | /Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-wal |
| | |
| | | "ConnectionStringsEncryption": false, |
| | | "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true |
| | | //连接字符串 |
| | | "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSDB_BBMain;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | "ConnectionString": "Data Source=.\\LIULEI;Initial Catalog=WIDESEA_WCSDBB2F;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //"ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WCSDB_BB3F;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //跨域 |
| | | "Cors": { |
| | |
| | | return row?.locationInfo?.roadwayNo |
| | | } |
| | | } |
| | | if (column.field == 'materielCode') { |
| | | column.formatter = (row) => { |
| | | // return '<span style="color: #2d8cf0;">' + row?.locationInfo?.roadwayNo + '</span>' |
| | | return row?.stockInfoDetails[0]?.materielCode |
| | | } |
| | | } |
| | | //格式化日期 |
| | | // 检查当前列的字段是否为 'locationStatus' |
| | | if (column.field == 'locationStatus') { |
| | |
| | | { "title": "库位号", "field": "locationCode", type: "text" }, |
| | | { "title": "巷道", "field": "roadwayNo", type: "text" }, |
| | | { "title": "货位状态", "field": "locationStatus", type: "select", dataKey: "LocationState", data: [] }, |
| | | { "title": "出库时间", "field": "outboundTime", type: "datetime"}, |
| | | { "title": "物料编码", "field": "materielCode", type: "text"}, |
| | | ] |
| | | ]); |
| | | const columns = ref( |
| | | [{ field: 'id', title: '库存ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' }, |
| | | { field: 'locationCode', title: '库位', type: 'string', width: 100, align: 'left', }, |
| | | { field: 'palletCode', title: '托盘条码', type: 'string', width: 110, align: 'left', }, |
| | | { field: 'isFull', title: '库存类型', type: 'bool', width: 80, align: 'left', bind: { key: "isFull", data: [{ key: false, value: '空盘' }, { key: true, value: '实盘' }] }, }, |
| | | { field: 'isFull', title: '库存类型', type: 'bool', width: 60, align: 'left', bind: { key: "isFull", data: [{ key: false, value: '空盘' }, { key: true, value: '实盘' }] }, }, |
| | | { field: 'linedProcessFeedbackTime', title: '工艺开始时间', type: 'string', width: 110, align: 'left', }, |
| | | { field: 'roadwayNo', title: '巷道', type: 'string', width: 60, align: 'left', sort: true }, |
| | | { field: 'materielCode', title: '物料编码', type: 'string', width: 90, align: 'left', sort: true }, |
| | | { field: 'locationStatus', title: '货位状态', type: 'int', width: 60, align: 'left', bind: { key: "LocationState", data: [] } }, |
| | | { field: 'specialParameterDuration', title: '工艺时长', type: 'string', width: 60, align: 'left', sort: true }, |
| | | { field: 'outboundTime', title: '应出库时间', type: 'string', width: 110, align: 'left', sort: true }, |
| | |
| | | { field: 'operateType', title: '操作类型', type: 'string', width: 110, align: 'left', bind: { key: "operateType", data: [] }}, |
| | | { field: 'remark', title: '备注', type: 'string', width: 110, align: 'left',hidden: true, }, |
| | | { field: 'createDate', title: '创建时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, |
| | | { field: 'modifyDate', title: '修改时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, |
| | | //{ field: 'modifyDate', title: '修改时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, |
| | | { field: 'creater', title: '创建人', type: 'string', sort: true, width: 110, align: 'left' }, |
| | | { field: 'modifier', title: '修改人', type: 'string', sort: true, width: 100, align: 'left' }, |
| | | //{ field: 'modifier', title: '修改人', type: 'string', sort: true, width: 100, align: 'left' }, |
| | | { field: 'finishTime', title: '完成时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true }, |
| | | { field: 'locationCode', title: '货位号', type: 'string', width: 110, hidden: true, align: 'left' }, |
| | | { field: 'materialNo', title: '物料编号', type: 'string', width: 110, hidden: true, align: 'left' }, |
| | | { field: 'processCode', title: '工序', type: 'string', width: 90, align: 'left' }, |
| | |
| | | throw new Exception("消防站台未配置!"); |
| | | } |
| | | //查找库存信息 |
| | | var barcodeData = _stockInfoRepository.QueryFirst(t => t.LocationCode == location.LocationCode); |
| | | var barcodeData = _stockInfoRepository.QueryFirst(t => t.LocationCode == location.LocationCode && t.LocationInfo.RoadwayNo == location.RoadwayNo); |
| | | //托盘码 |
| | | string barcode = string.Empty; |
| | | if (barcodeData != null) |
| | |
| | | TaskType = 500, |
| | | }; |
| | | |
| | | |
| | | |
| | | var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue; |
| | | var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveByWMSTask)?.ConfigValue; |
| | | var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveTask)?.ConfigValue; |
| | | if (ReceiveByWMSTask == null || ipAddress == null) |
| | | { |
| | | throw new Exception("WMS IP 未配置"); |
| | | } |
| | | var wmsIpAddrss = ipAddress + ReceiveByWMSTask; |
| | | |
| | | var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(taskDTO)); //http://localhost:9291/api/Task/ReceiveTask, |
| | | List<WMSTaskDTO> fireTaskDTO = new List<WMSTaskDTO>(); |
| | | fireTaskDTO.Add(taskDTO); |
| | | |
| | | var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(fireTaskDTO)); //http://localhost:9291/api/Task/ReceiveTask, |
| | | if (respon != null) |
| | | { |
| | | WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString()); |
| | |
| | | |
| | | Expression<Func<DtStockInfo, bool>> locationStatus = null; |
| | | Expression<Func<DtStockInfo, bool>> roadwayNo = null; |
| | | Expression<Func<DtStockInfo, bool>> materielCode = null; |
| | | foreach (var item in searchParametersList) |
| | | { |
| | | if (item.Name.Contains("locationStatus")) |
| | |
| | | { |
| | | roadwayNo = x => x.LocationInfo.RoadwayNo.Contains(item.Value); |
| | | } |
| | | else if (item.Name.Contains("materielCode")) |
| | | { |
| | | materielCode = x => x.StockInfoDetails.Any(d => d.MaterielCode.Contains(item.Value)); |
| | | } |
| | | } |
| | | |
| | | var data = BaseDal.Db.Queryable<DtStockInfo>().IncludesAllFirstLayer().WhereIF(!wheres.IsNullOrEmpty(), wheres).WhereIF(locationStatus != null, locationStatus).WhereIF(roadwayNo != null, roadwayNo).OrderBy(orderByModels).ToPageList(options.Page, options.Rows, ref totalCount); |
| | | //.IncludesAllFirstLayer() |
| | | var data = BaseDal.Db.Queryable<DtStockInfo>() |
| | | .Includes(x => x.StockInfoDetails) |
| | | .Includes(x => x.LocationInfo) |
| | | .WhereIF(!wheres.IsNullOrEmpty(), wheres) |
| | | .WhereIF(locationStatus != null, locationStatus) |
| | | .WhereIF(roadwayNo != null, roadwayNo) |
| | | .WhereIF(materielCode != null, materielCode) |
| | | .OrderBy(orderByModels) |
| | | .ToPageList(options.Page, options.Rows, ref totalCount); |
| | | new PageGridData<DtStockInfo>(totalCount, data); |
| | | return new PageGridData<DtStockInfo>(totalCount, data); |
| | | //var data = base.GetPageData(options); |
| | | //foreach (var item in data.Rows) |
| | | //{ |
| | | // if (item.IsFull) |
| | | // item.Remark = item.StockInfoDetails.Count().ToString(); |
| | | // else |
| | | // item.Remark = "0"; |
| | | //} |
| | | //return data; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | using WIDESEA_Core.Const; |
| | | using WIDESEA_DTO.MOM; |
| | | using WIDESEA_DTO.WMS; |
| | | using WIDESEA_Model.Models.Basic; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | |
| | |
| | | var emergencyTask = new DTSEmergencyTask(); |
| | | try |
| | | { |
| | | Console.WriteLine($"火警参数:{obj.ToString()}"); |
| | | emergencyTask = JsonConvert.DeserializeObject<DTSEmergencyTask>(obj.ToString()); |
| | | if (emergencyTask == null) throw new Exception("火警参数为空"); |
| | | string[] strings = emergencyTask.LocationCode.Split("-"); |
| | |
| | | TaskType = task.TaskType, |
| | | }; |
| | | |
| | | List<WMSTaskDTO> taskDTOs = new List<WMSTaskDTO>(); |
| | | taskDTOs.Add(taskDTO); |
| | | |
| | | var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue; |
| | | var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveByWMSTask)?.ConfigValue; |
| | | var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveTask)?.ConfigValue; |
| | | if (ReceiveByWMSTask == null || ipAddress == null) |
| | | { |
| | | throw new Exception("WMS IP 未配置"); |
| | | } |
| | | var wmsIpAddrss = ipAddress + ReceiveByWMSTask; |
| | | |
| | | var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(taskDTO)); |
| | | var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(taskDTOs)); |
| | | if (respon != null) |
| | | { |
| | | WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString()); |
| | |
| | | { |
| | | "Logging": { |
| | | "LogLevel": { |
| | | "Default": "Information", |
| | | "Microsoft.AspNetCore": "Warning" |
| | | } |
| | | }, |
| | | "AllowedHosts": "*", |
| | | "urls": "http://*:5000", |
| | | "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true |
| | | //连接字符串 |
| | | //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=", |
| | | "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //"ConnectionString": "Data Source=.\\LIULEI;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WMSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | "ConnectionStringWCS": "Data Source=.;Initial Catalog=WIDESEA_WCSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //"ConnectionStringWCS": "Data Source=.;Initial Catalog=WIDESEA_WCSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //跨域 |
| | | "Cors": { |
| | | "PolicyName": "CorsIpAccess", //策略名称 |
| | | "EnableAllIPs": true, //当为true时,开放所有IP均可访问。 |
| | | // 支持多个域名端口,注意端口号后不要带/斜杆:比如localhost:8000/,是错的 |
| | | // 注意,http://127.0.0.1:1818 和 http://localhost:1818 是不一样的 |
| | | "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081" |
| | | }, |
| | | "ApiName": "WIDESEA", |
| | | "ExpMinutes": 120, |
| | | "Logging": { |
| | | "LogLevel": { |
| | | "Default": "Information", |
| | | "Microsoft.AspNetCore": "Warning" |
| | | } |
| | | }, |
| | | "AllowedHosts": "*", |
| | | "urls": "http://*:5000", |
| | | "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true |
| | | //连接字符串 |
| | | "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSDB;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | "ConnectionStringWCS": "Data Source=.;Initial Catalog=WIDESEA_WCSDB;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //"ConnectionStringWCS": "Data Source=.;Initial Catalog=WIDESEA_WCSDB_BB3F;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", |
| | | //跨域 |
| | | "Cors": { |
| | | "PolicyName": "CorsIpAccess", //策略名称 |
| | | "EnableAllIPs": true, //当为true时,开放所有IP均可访问。 |
| | | // 支持多个域名端口,注意端口号后不要带/斜杆:比如localhost:8000/,是错的 |
| | | // 注意,http://127.0.0.1:1818 和 http://localhost:1818 是不一样的 |
| | | "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081" |
| | | }, |
| | | |
| | | // 需要移库的行 |
| | | "TransfertRows": "1,4,5,8", |
| | | "CacheSettings": { |
| | | "UseRedis": false, |
| | | "RedisSettings": { |
| | | "Address": "127.0.0.1:6379", |
| | | "Password": "123456", |
| | | "Db": 9, |
| | | "ClearRedis": true |
| | | } |
| | | }, |
| | | // 允许出库的编码 |
| | | "OutBoundMateriel": [ |
| | | //{ |
| | | // "MaterielCode": "CC01050001348", |
| | | // "ProductionLine": "ZJ-8", |
| | | // "ProcessCode": "CH001" |
| | | //} |
| | | ] |
| | | //缓存设置 |
| | | "CacheSettings": { |
| | | "UseRedis": false, //启用redis |
| | | "RedisSettings": { |
| | | "Address": "127.0.0.1:6379", //地址 |
| | | "Password": "123456", //Redis服务密码 |
| | | "Db": 9, //默认库 |
| | | "ClearRedis": true //是否每次启动都清除Redis缓存 |
| | | } |
| | | }, |
| | | |
| | | "ApiName": "WIDESEA", |
| | | "ExpMinutes": 120, |
| | | |
| | | // 需要移库的行 |
| | | "TransfertRows": "1,4,5,8", |
| | | |
| | | // 允许出库的编码 |
| | | "OutBoundMateriel": [ |
| | | //{ |
| | | // "MaterielCode": "CC01050001348", |
| | | // "ProductionLine": "ZJ-8", |
| | | // "ProcessCode": "CH001" |
| | | //} |
| | | ] |
| | | } |