| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <%@ WebHandler Language="C#" Class="GetCheckBarCode_WCF" %>
- using System;
- using System.Web;
- using System.Web.SessionState;
- using System.Data;
- using System.Web.Configuration;
- using Newtonsoft.Json.Linq;
- using Curtain.DataAccess;
- using Curtain.Log;
- using DK.XuWei.WebMes;
- using System.Configuration;
- using System.Collections.Generic;
- /// <summary>
- /// 从WCF接口获取 产品信息
- /// xuwei 2019-10-26
- /// </summary>
- public class GetCheckBarCode_WCF : IHttpHandler, IRequiresSessionState
- {
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- if (context.Request["procedureid"].ToString() != "")
- {
- string sqlString = string.Empty;
- List<CDAParameter> sqlPara = new List<CDAParameter>();
- using (IDataAccess conn = DataAccess.Create())
- {
- //如果是1#存瓷库(入)、卸窑、重烧卸窑、1#卸窑、质量登记、重烧质量登记、成检交接、重烧成检交接不需要进行条码校验
- if (Convert.ToInt32(context.Request["procedureID"]) != 8 && Convert.ToInt32(context.Request["procedureID"]) != 46
- && Convert.ToInt32(context.Request["procedureID"]) != 9 && Convert.ToInt32(context.Request["procedureID"]) != 15
- && Convert.ToInt32(context.Request["procedureID"]) != 10 && Convert.ToInt32(context.Request["procedureID"]) != 16
- && Convert.ToInt32(context.Request["procedureID"]) != 14 && Convert.ToInt32(context.Request["procedureID"]) != 47)
- {
- WCF wcf = new WCF();
- wcf.Para = wcf.LoadParaBySession();
- wcf.Para.Add(new JProperty("barcode", context.Request["barcode"]));
- wcf.Para.Add(new JProperty("procedureID", 9));//当前页面质量登记工序ID为10,不能到达该工序。添加成检交接,需要写死。
- string jsonStr = wcf.Post("/DKService/PDAModuleService/CheckBarcode");
- if (jsonStr != "")
- {
- jsonStr = ("{'success':true,'message':'操作成功!','rows':" + jsonStr + "}").Replace("'", "\"");
- //如果指定了自动重烧工序处理
- bool ProductCheckAutoRefire = Convert.ToBoolean(ConfigurationManager.AppSettings["ProductCheckAutoRefire"]);
- string ProductCheckRefireProcedureId = ConfigurationManager.AppSettings["ProductCheckRefireProcedureId"].ToString();
- //如果成检出错,并且配置自动重烧
- if ((jsonStr.IndexOf("不能到达该工序") > 0) && ProductCheckAutoRefire)
- {
- //使用重烧节点进行成检
- wcf.Para["procedureID"] = ProductCheckRefireProcedureId;
- string jsonStr2 = wcf.Post("/DKService/PDAModuleService/CheckBarcode");
- JArray jsonArray = JArray.Parse(jsonStr2);
- if (jsonArray[0]["out_errMsg"].ToString() == "")
- jsonStr = ("{'success':true,'message':'操作成功!','rows':" + jsonStr2 + "}").Replace("'", "\"");
- }
- }
- else
- {
- jsonStr = ("{'success':false,'message':'操作失败!','rows':''}").Replace("'", "\"");
- context.Response.Write(jsonStr);
- }
- }
- else
- {
- sqlPara.Add(new CDAParameter("barcode", Convert.ToString(context.Request["barcode"])));
- sqlString = @"SELECT
- TP_PM_InProduction.GroutingUserCode,
- TP_PM_InProduction.GroutingNum,
- TP_PM_InProduction.GroutingMouldCode AS MouldCode,
- TP_PM_InProduction.ispublicbody,
- ( SELECT tp_pm_inproductiontrash.ispublicbody FROM tp_pm_inproductiontrash WHERE tp_pm_inproductiontrash.BarCode ={barcode}) AS ispublicbodyTrach,
- TP_PM_InProduction.Groutingdate,
- TP_PM_InProduction.SpecialRepairFlag,
- TP_PM_InProduction.IsReFire,
- tp_mst_logo.logoid,
- g.goodsid,
- g.goodscode AS out_goodsCode,
- g.goodsname AS out_goodsName,
- g.PlateLimitNum,
- --nvl(g.MaterialCode,g.GoodsCode) as GOODSMODELforCheck, -- 用物料编码验证产品型号是否一致
- nvl( gdd.MaterialCode, nvl( g.MaterialCode, g.GoodsCode ) ) AS GOODSMODELforCheck,-- 用物料编码验证产品型号是否一致
- --nvl(gdd.MaterialCode, g.GoodsCode) as GOODSMODELforCheck, -- 用物料编码验证产品型号是否一致
- tp_mst_logo.logocode,
- tp_mst_logo.logoname AS out_logoName,
- glaze.DICTIONARYVALUE AS out_glazeName,
- 999 AS out_errMsg
- FROM
- TP_PM_InProduction
- LEFT JOIN TP_PM_GroutingDailyDetail gdd ON gdd.GroutingDailyDetailID = tp_pm_inproduction.GroutingDailyDetailID
- LEFT JOIN tp_mst_logo ON gdd.logoid = tp_mst_logo.logoid
- LEFT JOIN TP_MST_GOODS G ON G.GoodsID = tp_pm_inproduction.goodsid
- LEFT JOIN TP_MST_DataDictionary glaze ON glaze.DICTIONARYID = gdd.GLAZETYPEID
- WHERE
- TP_PM_InProduction.BarCode = {barcode}"
- .Replace("{barcode}", Convert.ToString(context.Request["barcode"]));
- //直接获取不分页数据
- //获取数据
- DataTable dt = conn.ExecuteDatatable(sqlString);
- string jsonStr = new JsonResult(dt).ToJson();
- context.Response.Write(jsonStr);
- //JsonResult jsonresult = Easyui.ExecuteJsonResult(conn, sqlString, sqlPara);
- //context.Response.Write(jsonresult.ToJson());
- }
- }
- }
- else
- {
- string jsonStr = "";
- jsonStr = ("{'success':false,'message':'请指定成检工序的procedureID!','rows':''}").Replace("'", "\"");
- context.Response.Write(jsonStr);
- }
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
|