ztl před 2 roky
rodič
revize
db1ca6e1f7

+ 66 - 66
wwwroot/api/plc/plc_led_data.ashx

@@ -59,72 +59,72 @@ public class plc_led_data : IHttpHandler
 
             if (context.Request["barcode"] is object)
             {
-                //using (IDataAccess conn = DataAccess.Create())
-                //{
-                //    infoDt = conn.ExecuteDatatable(@"
-                //            SELECT g.seatcovercode
-                //                    ,CASE
-                //                        WHEN instr(g.goodsspecification, '305') = 1 THEN 1
-                //                        WHEN instr(g.goodsspecification, '400') = 1 THEN 2
-                //                        WHEN instr(g.goodsspecification, '地排') = 1 THEN 3
-                //                        WHEN instr(g.goodsspecification, '横排') = 1 THEN 4
-                //                        WHEN instr(g.goodsspecification, '295') = 1 THEN 5
-                //                        WHEN instr(g.goodsspecification, '220') = 1 THEN 6
-                //                    END AS goodsspecification
-                //                    ,CASE
-                //                        WHEN instr(gt.goodstypename, '连体') = 1 THEN 1
-                //                        WHEN instr(gt.goodstypename, '智能') = 1 THEN 2
-                //                    END AS goodstypename
-                //                    ,gdd.barcode
-                //                    ,g.goodscode
-                //                FROM tp_pm_groutingdailydetail gdd
-                //                LEFT JOIN tp_mst_goods g
-                //                ON gdd.goodsid = g.goodsid
-                //                LEFT JOIN tp_mst_goodstype gt  
-                //                ON gt.goodstypeid = g.goodstypeid
-
-                //                WHERE gdd.barcode = @barcode@
-                //            ",
-                //        new CDAParameter("barcode", context.Request["barcode"])
-                //    );
-                //    if (infoDt != null && infoDt.Rows.Count > 0 && infoDt.Rows[0] != null)
-                //    {
-
-                //        SiemensS7.Write<short>("400.2", Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]));
-                //        SiemensS7.Write<short>("400.4", Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]));
-                //        SiemensS7.Write<short>("400.6", Convert.ToInt16(infoDt.Rows[0]["goodstypename"]));
-                //        SiemensS7.Write<string>("400.10", infoDt.Rows[0]["barcode"].ToString());
-                //        SiemensS7.Write<string>("400.24", infoDt.Rows[0]["goodscode"].ToString());
-
-                //        //写标识位-扫描结果
-                //        //写标识位-扫描结果
-                //        SiemensS7.Write<short>("400.0", Convert.ToInt16(1));
-                //    }
-
-                //    context.Response.Write(SiemensS7.Read<short>("400.0"));
-                //    context.Response.Write(SiemensS7.Read<short>("400.2"));
-                //    context.Response.Write(SiemensS7.Read<short>("400.4"));
-                //    context.Response.Write(SiemensS7.Read<short>("400.6"));
-                //    context.Response.Write(SiemensS7.Read<string>("400.24", 11));
-
-
-                //    if (Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]) != Convert.ToInt16(SiemensS7.Read<short>("400.2"))
-                //            || Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]) != Convert.ToInt16(SiemensS7.Read<short>("400.4"))
-                //            || Convert.ToInt16(infoDt.Rows[0]["goodstypename"]) != Convert.ToInt16(SiemensS7.Read<short>("400.6"))
-                //            || Convert.ToInt16(1) != Convert.ToInt16(SiemensS7.Read<short>("400.0")))
-                //    {
-                //        SiemensS7.Write<short>("400.2", Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]));
-                //        SiemensS7.Write<short>("400.4", Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]));
-                //        SiemensS7.Write<short>("400.6", Convert.ToInt16(infoDt.Rows[0]["goodstypename"]));
-                //        SiemensS7.Write<string>("400.10", infoDt.Rows[0]["barcode"].ToString());
-                //        SiemensS7.Write<string>("400.24", infoDt.Rows[0]["goodscode"].ToString());
-
-                //        //写标识位-扫描结果
-                //        SiemensS7.Write<short>("400.0", Convert.ToInt16(1));
-                //    }
-                //    Logger.Info("写入数据完成!barcode:" + context.Request["barcode"].ToString() + "五位数据位:" + SiemensS7.Read<short>("400.0") + "," + SiemensS7.Read<short>("400.2")
-                //        + "," + SiemensS7.Read<short>("400.4") + "," + SiemensS7.Read<short>("400.6") + "," + SiemensS7.Read<short>("400.10") + "," + SiemensS7.Read<string>("400.24", 11) + ";数据:" + new JsonResult(infoDt).ToJson());
-                //}
+                using (IDataAccess conn = DataAccess.Create())
+                {
+                    infoDt = conn.ExecuteDatatable(@"
+                            SELECT g.seatcovercode
+                                    ,CASE
+                                        WHEN instr(g.goodsspecification, '305') = 1 THEN 1
+                                        WHEN instr(g.goodsspecification, '400') = 1 THEN 2
+                                        WHEN instr(g.goodsspecification, '地排') = 1 THEN 3
+                                        WHEN instr(g.goodsspecification, '横排') = 1 THEN 4
+                                        WHEN instr(g.goodsspecification, '295') = 1 THEN 5
+                                        WHEN instr(g.goodsspecification, '220') = 1 THEN 6
+                                    END AS goodsspecification
+                                    ,CASE
+                                        WHEN instr(gt.goodstypename, '连体') = 1 THEN 1
+                                        WHEN instr(gt.goodstypename, '智能') = 1 THEN 2
+                                    END AS goodstypename
+                                    ,gdd.barcode
+                                    ,g.goodscode
+                                FROM tp_pm_groutingdailydetail gdd
+                                LEFT JOIN tp_mst_goods g
+                                ON gdd.goodsid = g.goodsid
+                                LEFT JOIN tp_mst_goodstype gt  
+                                ON gt.goodstypeid = g.goodstypeid
+
+                                WHERE gdd.barcode = @barcode@
+                            ",
+                        new CDAParameter("barcode", context.Request["barcode"])
+                    );
+                    if (infoDt != null && infoDt.Rows.Count > 0 && infoDt.Rows[0] != null)
+                    {
+
+                        SiemensS7.Write<short>("400.2", Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]));
+                        SiemensS7.Write<short>("400.4", Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]));
+                        SiemensS7.Write<short>("400.6", Convert.ToInt16(infoDt.Rows[0]["goodstypename"]));
+                        SiemensS7.Write<string>("400.10", infoDt.Rows[0]["barcode"].ToString());
+                        SiemensS7.Write<string>("400.24", infoDt.Rows[0]["goodscode"].ToString());
+
+                        //写标识位-扫描结果
+                        //写标识位-扫描结果
+                        SiemensS7.Write<short>("400.0", Convert.ToInt16(1));
+                    }
+
+                    context.Response.Write(SiemensS7.Read<short>("400.0"));
+                    context.Response.Write(SiemensS7.Read<short>("400.2"));
+                    context.Response.Write(SiemensS7.Read<short>("400.4"));
+                    context.Response.Write(SiemensS7.Read<short>("400.6"));
+                    context.Response.Write(SiemensS7.Read<string>("400.24", 11));
+
+
+                    if (Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]) != Convert.ToInt16(SiemensS7.Read<short>("400.2"))
+                            || Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]) != Convert.ToInt16(SiemensS7.Read<short>("400.4"))
+                            || Convert.ToInt16(infoDt.Rows[0]["goodstypename"]) != Convert.ToInt16(SiemensS7.Read<short>("400.6"))
+                            || Convert.ToInt16(1) != Convert.ToInt16(SiemensS7.Read<short>("400.0")))
+                    {
+                        SiemensS7.Write<short>("400.2", Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]));
+                        SiemensS7.Write<short>("400.4", Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]));
+                        SiemensS7.Write<short>("400.6", Convert.ToInt16(infoDt.Rows[0]["goodstypename"]));
+                        SiemensS7.Write<string>("400.10", infoDt.Rows[0]["barcode"].ToString());
+                        SiemensS7.Write<string>("400.24", infoDt.Rows[0]["goodscode"].ToString());
+
+                        //写标识位-扫描结果
+                        SiemensS7.Write<short>("400.0", Convert.ToInt16(1));
+                    }
+                    Logger.Info("写入数据完成!barcode:" + context.Request["barcode"].ToString() + "五位数据位:" + SiemensS7.Read<short>("400.0") + "," + SiemensS7.Read<short>("400.2")
+                        + "," + SiemensS7.Read<short>("400.4") + "," + SiemensS7.Read<short>("400.6") + "," + SiemensS7.Read<short>("400.10") + "," + SiemensS7.Read<string>("400.24", 11) + ";数据:" + new JsonResult(infoDt).ToJson());
+                }
                 //调用标准计件方法===============================
                 WCF wcf = new WCF();
                 wcf.Para.Add(new JProperty("barcode", barCode.ToString()));

+ 132 - 0
wwwroot/api/plc/plc_led_goodslogo.ashx

@@ -0,0 +1,132 @@
+<%@ WebHandler Language="C#" Class="plc_led_goodslogo" %>
+
+using System;
+using System.Web;
+using DK.XuWei.WebMes;
+using Curtain.DataAccess;
+using Curtain.Log;
+using System.Data;
+
+
+/// <summary>
+/// 对接包装LED 扫描产品提示对应辅件
+/// xuwei
+/// 2023-10-23
+/// </summary>
+public class plc_led_goodslogo : IHttpHandler
+{
+    public struct LedData
+    {
+        public int goodscode;
+        public int goodsspecification;
+        public int goodstype;
+        public string barcode;
+    }
+
+    //输入参数 【条码】
+    public string barCode = "";
+
+    public void ProcessRequest(HttpContext context)
+    {
+        try
+        {
+            context.Response.ContentType = "text/plain";
+            //输入产品条码参数
+            barCode = context.Request["barcode"] is object ? context.Request["barcode"] : "";
+
+            DataTable infoDt = new DataTable();
+            //写入PLC
+            //SiemensS7.Open("172.19.26.244", 102);
+            //正式
+            SiemensS7.Open("172.19.26.152", 102);
+
+            if (context.Request["barcode"] is object)
+            {
+                using (IDataAccess conn = DataAccess.Create())
+                {
+                    infoDt = conn.ExecuteDatatable(@"
+                            SELECT
+                                TPGL.BARCODE,
+	                            TMA.GOODSID,
+	                            TMA.LOGOID,
+	                            TMA.ACCESSORIESNAME,
+	                            TMA.ACCESSORIESCODE,
+	                            TMD.DICTIONARYVALUE
+                            FROM
+	                            TP_PM_GROUTINGDAILYDETAIL TPGL
+	                            LEFT JOIN TP_MST_GOODSLOGOSAP TMGL ON TPGL.GOODSID = TMGL.GOODSID
+	                            LEFT JOIN TP_MST_ACCESSORIES TMA ON TMGL.LOGOID = TMA.LOGOID 
+	                            AND TMA.GOODSID = TMGL.GOODSID
+	                            LEFT JOIN TP_MST_DATADICTIONARY TMD ON TMA.ACCESSORIESTYPEID = TMD.DICTIONARYID
+                            WHERE
+	                            TPGL.VALUEFLAG = 1 
+	                            AND TMA.VALUEFLAG = 1
+	                            AND TMD.VALUEFLAG = 1
+                                AND TPGL.BARCODE = @barcode@
+                            ",
+                        new CDAParameter("barcode", context.Request["barcode"])
+                    );
+                    if (infoDt != null && infoDt.Rows.Count > 0 && infoDt.Rows[0] != null)
+                    {
+                        SiemensS7.Write<short>("400.2", Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]));
+                        SiemensS7.Write<short>("400.4", Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]));
+                        SiemensS7.Write<short>("400.6", Convert.ToInt16(infoDt.Rows[0]["goodstypename"]));
+                        SiemensS7.Write<string>("400.10", infoDt.Rows[0]["barcode"].ToString());
+                        SiemensS7.Write<string>("400.24", infoDt.Rows[0]["goodscode"].ToString());
+
+                        //写标识位-扫描结果
+                        SiemensS7.Write<short>("400.0", Convert.ToInt16(1));
+                    }
+
+                    context.Response.Write(SiemensS7.Read<short>("400.0"));
+                    context.Response.Write(SiemensS7.Read<short>("400.2"));
+                    context.Response.Write(SiemensS7.Read<short>("400.4"));
+                    context.Response.Write(SiemensS7.Read<short>("400.6"));
+                    context.Response.Write(SiemensS7.Read<string>("400.24", 11));
+
+
+                    if (Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]) != Convert.ToInt16(SiemensS7.Read<short>("400.2"))
+                            || Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]) != Convert.ToInt16(SiemensS7.Read<short>("400.4"))
+                            || Convert.ToInt16(infoDt.Rows[0]["goodstypename"]) != Convert.ToInt16(SiemensS7.Read<short>("400.6"))
+                            || Convert.ToInt16(1) != Convert.ToInt16(SiemensS7.Read<short>("400.0")))
+                    {
+                        SiemensS7.Write<short>("400.2", Convert.ToInt16(infoDt.Rows[0]["seatcovercode"]));
+                        SiemensS7.Write<short>("400.4", Convert.ToInt16(infoDt.Rows[0]["goodsspecification"]));
+                        SiemensS7.Write<short>("400.6", Convert.ToInt16(infoDt.Rows[0]["goodstypename"]));
+                        SiemensS7.Write<string>("400.10", infoDt.Rows[0]["barcode"].ToString());
+                        SiemensS7.Write<string>("400.24", infoDt.Rows[0]["goodscode"].ToString());
+
+                        //写标识位-扫描结果
+                        SiemensS7.Write<short>("400.0", Convert.ToInt16(1));
+                    }
+                    Logger.Info("写入数据完成!barcode:" + context.Request["barcode"].ToString() + "五位数据位:" + SiemensS7.Read<short>("400.0") + "," + SiemensS7.Read<short>("400.2")
+                        + "," + SiemensS7.Read<short>("400.4") + "," + SiemensS7.Read<short>("400.6") + "," + SiemensS7.Read<short>("400.10") + "," + SiemensS7.Read<string>("400.24", 11) + ";数据:" + new JsonResult(infoDt).ToJson());
+                }
+            }
+            else
+            {
+                //写标识位-扫描结果
+                //SiemensS7.Write<short>("400.0", Convert.ToInt16(2));
+                //context.Response.Write(SiemensS7.Read<short>("400.0"));
+                //Logger.Info("无条码!");
+            }
+
+            context.Response.Write(new JsonResult(infoDt).ToJson());
+            SiemensS7.Close();
+        }
+        catch (Exception ex)
+        {
+            Logger.Info("异常!:" + ex);
+            throw ex;
+        }
+    }
+
+    public bool IsReusable
+    {
+        get
+        {
+            return false;
+        }
+    }
+
+}