酒店智能门锁接口pro[0922]D801 源码 对接收银CyberWinApp-SAAS本地化-未来之窗行业应用跨平台架构

通过房态写房卡

通过写房卡按钮写房卡

一、查看门锁读卡器信息

二、玄武星辰查到对应名称

如何知道自己家门锁的app,使用未来之窗【玄武芯辰】查询

通过上面我看出叫做D801

在【玄武芯辰】输入D801,人工智能会提示app信息

三、设置门锁控制app

在上一步找到app,直接在酒店系统重选择控制app

四:门锁代码

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;

using System.Windows.Forms;


using System.IO;
using System.Drawing;

//
using System.Data;
using System.Data.Common;

//引用数据库


//using CyberSnow.VB.NET.Data.Helper;

//
using System.Text.RegularExpressions;

using CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinWeb.WebData;

using System.Runtime.InteropServices;//这是用到DllImport时候要引入的包

//线程
using System.Threading;
 



//酒店门锁
//qujing
namespace CyberPHP_Dynamic
{
    class APP
    {
        byte[] carddata = new byte[128];

      

	private string 身份证照片保存路径="";


	 public string start(NameValueCollection obj){
	      string 参数1="";
	       NameValueCollection d=obj;
	       参数1 = d["param1"];

	     string s="随机预安装插件";
	     return s;
	 }

	  public string status(NameValueCollection obj){
	      Buzzer(1, 50);//蜂鸣器

	     string s="当你听到设备蜂鸣器,说明设备已经连接";
	     return s;
	 }


	 //退房checking out
	 //入住checking in
	 //检测技术
	 //
	  public string checkingout(NameValueCollection obj){
	     string s="注销卡片";

	       NameValueCollection d=obj;
	      string param = d["param"];
              //解析未来之窗协议
	      CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage clApp = new CyberWin.CSHARP.YNWLZC.WebFrame.CyberPHP.CyberWinProtocol.Cl_CyberWinAPPProtocolPackage();
	      clApp.formatString(param);
	       
	     
	      string 酒店标识 = clApp.get("hotelsign");

	           
		 

	 int st;
            byte[] sa1 = new byte[256 + 1];
            if (!rdCard())
            {
                return "读卡失败";
            }
            // 先读卡
            Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
            st =  CardErase(1, Convert.ToInt32(酒店标识), sa1);
            string 未来之窗 = Encoding.ASCII.GetString(sa1);
           // edt_CardData.Text = 未来之窗;
            Cursor.Current = System.Windows.Forms.Cursors.Default;
            if (st != 0)
            {
                System.Windows.Forms.MessageBox.Show(("注销失败" + '\n' + (st).ToString() as string), "提示", System.Windows.Fo
<think>根据用户需求,需要在查询结果中根据code的值添加一个中文描述字段(如:当code为'P2-D800'时,显示'生产计划')。我们可以使用CASE WHEN语句来实现这个功能。 修改后的SQL将添加一个新字段(例如命名为`code_description`),该字段根据code的值显示相应的中文描述。 原始查询已经使用了子查询和口函数,我们只需在子查询的SELECT列表中添加这个CASE表达式即可。 修改后的SQL如下:</think>根据您的需求,我将在查询结果中添加一个描述字段,使用 `CASE WHEN` 语句将代码值映射为中文描述。以下是优化后的 SQL 查询: ```sql SELECT *, CASE code WHEN 'P2-D800' THEN '生产计划' WHEN 'P2-D801' THEN '计划数' WHEN 'P2-D802' THEN '实绩数' WHEN 'P2-D804' THEN '可动率' WHEN 'P2-D80C' THEN '总装1停止时间' WHEN 'P2-D807' THEN '总装总停止时间' ELSE '未知代码' END AS code_description FROM ( SELECT *, ROW_NUMBER() OVER ( PARTITION BY line, code ORDER BY createdAt DESC ) AS rn FROM dwd_web安东数据 WHERE code IN ( 'P2-D800', 'P2-D801', 'P2-D802', 'P2-D804', 'P2-D80C', 'P2-D807' ) AND line = '12组装线' ) AS partitioned_data WHERE rn = 1; ``` ### 代码解释: 1. **`CASE WHEN` 映射逻辑**: ```sql CASE code WHEN 'P2-D800' THEN '生产计划' ... ELSE '未知代码' END AS code_description ``` - 为每个 `code` 值添加对应的中文描述 - `ELSE '未知代码'` 处理未匹配的代码值(可选,根据需求保留或移除) - 结果字段命名为 `code_description` 2. **口函数优化**: ```sql ROW_NUMBER() OVER ( PARTITION BY line, code ORDER BY createdAt DESC ) AS rn ``` - 按生产线(`line`)和代码(`code`)分区 - 按创建时间(`createdAt`)倒序排列,获取最新记录 3. **子查询筛选**: ```sql WHERE rn = 1 ``` - 筛选每个分组的第一条记录(最新记录) 4. **执行顺序**: 1. 先过滤特定产线和代码的数据 2. 口函数分区排序并生成行号 3. 筛选最新记录(rn=1) 4. 添加代码描述字段 ### 性能优化建议: 1. **添加覆盖索引**: ```sql CREATE INDEX idx_antong_covering ON dwd_web安东数据 (line, code, createdAt DESC) INCLUDE (所有需要查询的字段); ``` 2. **处理重复时间戳**: ```sql ORDER BY createdAt DESC, id DESC -- 添加唯一字段 ``` 3. **考虑使用 `LATERAL JOIN`**(MySQL 8.0+/PostgreSQL): ```sql SELECT d.*, CASE d.code ... END AS code_description FROM ( SELECT DISTINCT line, code FROM dwd_web安东数据 WHERE ... -- 相同过滤条件 ) AS keys CROSS JOIN LATERAL ( SELECT * FROM dwd_web安东数据 t WHERE t.line = keys.line AND t.code = keys.code ORDER BY t.createdAt DESC LIMIT 1 ) AS d ``` ### 结果说明: - 返回每个 `(line, code)` 组合的最新记录 - 新增 `code_description` 字段显示中文描述 - 保持原有所有字段不变 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值