| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605 |
- <%@ WebHandler Language="C#" Class="GetCheckBarcode" %>
- using System;
- using System.IO;
- using System.Collections.Generic;
- using System.Web;
- using System.Web.SessionState;
- using System.Configuration;
- using System.Data;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using Curtain.DataAccess;
- using Curtain.Log;
- using DK.XuWei.WebMes;
- using System.Linq;
- public class GetCheckBarcode : IHttpHandler
- {
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- #region 获取切换栏
- if (context.Request["m"].ToString() == "getli")
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- string sqlStr = "SELECT ITEMSYTPE FROM TP_PM_FIRSTREGISTERITEMS GROUP BY ITEMSYTPE";
- DataTable bt = conn.ExecuteDatatable(sqlStr);
- List<string> result = new List<string>();
- for (int i = 0; i < bt.Rows.Count; i++)
- {
- result.Add(bt.Rows[i]["ITEMSYTPE"].ToString());
- }
- context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
- }
- }
- #endregion
- #region
- if (context.Request["m"].ToString() == "gettable")
- {
- using (IDataAccess conn = DataAccess.Create())
- {//获取前端传递的表单
- var formData = context.Request.Form;
- string sqlStr = "SELECT ITEMSID, ITEMSNAME,ITEMSINFO FROM TP_PM_FIRSTREGISTERITEMS WHERE ITEMSYTPE='" + formData["ITEMSYTPE"].ToString() + "' ORDER BY ITEMSID";
- DataTable bt = conn.ExecuteDatatable(sqlStr);
- List<Dictionary<string, string>> result = new List<Dictionary<string, string>>();
- for (int i = 0; i < bt.Rows.Count; i++)
- {
- Dictionary<string, string> content = new Dictionary<string, string>();
- content.Add("ITEMSID", bt.Rows[i]["ITEMSID"].ToString());
- content.Add("ITEMSNAME", bt.Rows[i]["ITEMSNAME"].ToString());
- content.Add("ITEMSINFO", bt.Rows[i]["ITEMSINFO"].ToString());
- result.Add(content);
- }
- context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
- }
- }
- #endregion
- #region 根据barcode获取产品ID产品名称
- if (context.Request["m"].ToString() == "checkbarcode")
- {
- //获取前端传递的表单
- var formData = context.Request.Form;
- if (formData["BARCODE"].ToString() != null)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- string sqlStr = @"SELECT GR.BARCODE,GO.GOODSID,GO.GOODSNAME,GR.LOGOID FROM TP_PM_GROUTINGDAILYDETAIL GR
- LEFT JOIN TP_MST_GOODS GO ON GR.GOODSID=GO.GOODSID
- WHERE GO.VALUEFLAG=1 AND GR.VALUEFLAG=1
- AND GR.BARCODE='" + formData["BARCODE"].ToString() + "'";
- DataTable dt = conn.ExecuteDatatable(sqlStr);
- context.Response.Write(JsonConvert.SerializeObject(dt, Formatting.Indented));
- }
- }
- }
- #endregion
- //获取产品型号
- if (context.Request["m"].ToString() == "getfirstregister")
- { //获取前端传递的表单
- var formData = context.Request.Form;
- using (IDataAccess conn = DataAccess.Create())
- {
- if (formData["GOODSID"].ToString() != null && formData["GOODSNAME"].ToString() != null)
- {
- string sqlStr = "SELECT F.*,D.DICTIONARYVALUE AS 产品类型 ,E.DICTIONARYVALUE AS 检验依据 " +
- "FROM TP_PM_FIRSTREGISTER F " +
- "LEFT JOIN TP_MST_DATADICTIONARY D ON F.FIRGOODSTYPE=D.DICTIONARYID " +
- "LEFT JOIN TP_MST_DATADICTIONARY E ON F.FIRBASIS=E.DICTIONARYID " +
- "WHERE F.STATUS IN(0,1) AND F.VALUEFLAG = 1 AND F.GOODSID=" + formData["GOODSID"].ToString() + " AND F.LOGOID=" + formData["LOGOID"].ToString();
- DataTable bt = conn.ExecuteDatatable(sqlStr);
- List<Dictionary<string, string>> result = new List<Dictionary<string, string>>();
- for (int i = 0; i < bt.Rows.Count; i++)
- {
- Dictionary<string, string> content = new Dictionary<string, string>();
- //总单id
- content.Add("REGISTERID", bt.Rows[i]["REGISTERID"].ToString());
- //首件登记单号
- content.Add("REGISTERNO", bt.Rows[i]["REGISTERNO"].ToString());
- //LOGOID
- content.Add("LOGOID", formData["LOGOID"].ToString());
- //GOODSID
- content.Add("GOODSID", bt.Rows[i]["GOODSID"].ToString());
- //生产车间
- content.Add("WORKSHOP", bt.Rows[i]["WORKSHOP"].ToString());
- //产品名称
- content.Add("GOODSNAME", formData["GOODSNAME"].ToString());
- //产品型号
- content.Add("GOODSCODE", bt.Rows[i]["GOODSCODE"].ToString());
- //日期
- content.Add("DATA", DateTime.Parse(bt.Rows[i]["ACCOUNTDATE"].ToString()).ToString("yyyy-MM-dd"));
- //产品类型
- content.Add("产品类型", bt.Rows[i]["产品类型"].ToString());
- //产品物料编码
- content.Add("MATERIALCODE", bt.Rows[i]["MATERIALCODE"].ToString());
- //首件数量
- content.Add("FIRQUANTITY", bt.Rows[i]["FIRQUANTITY"].ToString());
- //检验依据
- content.Add("检验依据", bt.Rows[i]["检验依据"].ToString());
- result.Add(content);
- }
- context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
- }
- }
- }
- //上传图片
- if (context.Request["m"].ToString() == "image")
- {
- if (context.Request.Files.Count > 0)
- {
- // 获取上传的文件
- HttpPostedFile file = context.Request.Files[0];
- // 检查文件是否有效
- if (file != null && file.ContentLength > 0)
- {
- // 读取文件内容(作为字节数组)
- byte[] fileBytes = new byte[file.ContentLength];
- file.InputStream.Read(fileBytes, 0, file.ContentLength);
- // 获取其他表单字段
- string registerId = context.Request.Form["REGISTERID"];
- string type = context.Request.Form["TYPE"];
- string field = "";
- if (type != null)
- {
- field = GetFieldByType(int.Parse(type));
- //field = int.Parse(type) == 1 ? "PGSIGNATURE" : int.Parse(type) == 2 ? "CJSIGNATURE" : "SKSIGNATURE";
- }
- string sql = "UPDATE TP_PM_FIRSTREGISTER SET " + field + " =@fileBytes@ WHERE REGISTERID=" + registerId;
- CDAParameter parameter = new CDAParameter("fileBytes", fileBytes, DataType.Binary);
- int rsult = 0;
- using (IDataAccess conn = DataAccess.Create())
- {
- rsult = conn.ExecuteNonQuery(sql, parameter);
- }
- // 返回成功响应
- context.Response.Write(rsult);
- }
- }
- }
- //查找图片
- if (context.Request["m"].ToString() == "showimage")
- {
- // 获取其他表单字段
- string registerId = context.Request.Form["REGISTERID"];
- string type = context.Request.Form["TYPE"];
- string field = "";
- if (type != null)
- {
- field = GetFieldByType(int.Parse(type));
- //field = int.Parse(type) == 1 ? "PGSIGNATURE" : int.Parse(type) == 2 ? "CJSIGNATURE" : "SKSIGNATURE";
- }
- string sqlStr = "SELECT " + field + " FROM TP_PM_FIRSTREGISTER WHERE REGISTERID=" + registerId;
- using (IDataAccess conn = DataAccess.Create())
- {
- try
- {
- DataTable bt = conn.ExecuteDatatable(sqlStr);
- // 将图片转换为二进制
- byte[] imageData = (byte[])bt.Rows[0][field];
- // 将图像数据转换为 base64 编码的字符串
- string base64String = Convert.ToBase64String(imageData);
- // 构建包含图像的 HTML 字符串
- string htmlString = "data:image/bmp;base64," + base64String;
- // 设置响应的内容类型和编码
- context.Response.ContentType = "text/html; charset=utf-8";
- // 在响应中写入 HTML 字符串
- context.Response.Write(JsonConvert.SerializeObject(new Dictionary<string, string>() { { "htmlString", htmlString }, { "code", "200" } }, Formatting.Indented));
- }
- catch
- {
- context.Response.Write(JsonConvert.SerializeObject(new Dictionary<string, string>() { { "code", "500" } }, Formatting.Indented));
- }
- }
- }
- #region 根据barcode查找填写过数据
- if (context.Request["m"].ToString() == "getregister")
- {
- var formData = context.Request.Form;
- if (formData["BARCODE"].ToString() != null)
- {
- DataTable bt = new DataTable();
- string sqlStr = "SELECT ITEMSYTPE,ITEMSID,ITEMSVALUE,ITEMSREMARKS FROM TP_PM_FIRSTREGISTERDETAIL WHERE VALUEFLAG=1 AND BARCODE='" + formData["BARCODE"].ToString() + "'";
- using (IDataAccess conn = DataAccess.Create())
- {
- bt = conn.ExecuteDatatable(sqlStr);
- }
- List<Dictionary<string, string>> result = new List<Dictionary<string, string>>();
- for (int i = 0; i < bt.Rows.Count; i++)
- {
- Dictionary<string, string> content = new Dictionary<string, string>();
- content.Add("ITEMSYTPE", bt.Rows[i]["ITEMSYTPE"].ToString());
- content.Add("ITEMSID", bt.Rows[i]["ITEMSID"].ToString());
- content.Add("ITEMSVALUE", bt.Rows[i]["ITEMSVALUE"].ToString());
- content.Add("ITEMSREMARKS", bt.Rows[i]["ITEMSREMARKS"].ToString());
- result.Add(content);
- }
- context.Response.Write(JsonConvert.SerializeObject(new Dictionary<string, List<Dictionary<string, string>>>() { { "Result", result } }, Formatting.Indented)); ;
- }
- }
- #endregion
- //判断总单是否过量
- if (context.Request["m"].ToString() == "checkcount")
- {
- var formData = context.Request.Form;
- if (formData["REGISTERID"].ToString() != null && formData["BARCODE"].ToString() != null)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- Boolean result = false;
- DataTable bt = conn.ExecuteDatatable(" SELECT COUNT (REGISTERID) AS CHECKQUANTITY FROM TP_PM_FIRSTREGISTERBAR WHERE REGISTERID=" + formData["REGISTERID"].ToString());
- DataTable lbt = conn.ExecuteDatatable(" SELECT FIRQUANTITY FROM TP_PM_FIRSTREGISTER WHERE REGISTERID=" + formData["REGISTERID"].ToString());
- if (int.Parse(bt.Rows[0][0].ToString()) == int.Parse(lbt.Rows[0][0].ToString()))
- {
- DataTable dbt = conn.ExecuteDatatable(" SELECT * FROM TP_PM_FIRSTREGISTERBAR WHERE BARCODE=" + formData["BARCODE"].ToString());
- result = dbt.Rows.Count == 0 ? true : false;
- }
- context.Response.Write(JsonConvert.SerializeObject(result));
- }
- }
- }
- //条码保存
- if (context.Request["m"].ToString() == "check")
- {
- //获取json数据
- using (var reader = new StreamReader(context.Request.InputStream))
- {
- string json = reader.ReadToEnd();
- //json转对象
- RootObject rootObject = JsonConvert.DeserializeObject<RootObject>(json);
- if (rootObject.barcode != null)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- try
- {
- //开启事务
- conn.BeginTransaction();
- //查询首件确定登记项目表
- DataTable btITEM = conn.ExecuteDatatable("SELECT * FROM TP_PM_FIRSTREGISTERITEMS");
- //查询首件确定登记总单
- DataTable bt = conn.ExecuteDatatable("SELECT * FROM TP_PM_FIRSTREGISTER WHERE VALUEFLAG=1 AND REGISTERID='" + rootObject.REGISTERID + "' ");
- //查询首件确定登记条码记录
- DataTable btBAR = conn.ExecuteDatatable("SELECT * FROM TP_PM_FIRSTREGISTERBAR");
- int i = 0;
- //当没有传来的条码
- if (btBAR.AsEnumerable().Where(ex => ex.Field<string>("BARCODE") == rootObject.barcode).FirstOrDefault() == null)
- {
- //创建记录
- DataTable dt = conn.ExecuteDatatable(@"SELECT SEQ_PM_FIRSTREGISTERBAR_ID.nextval FROM dual");
- i = int.Parse(dt.Rows[0][0].ToString());
- conn.ExecuteNonQuery(@"INSERT INTO TP_PM_FIRSTREGISTERBAR (
- BARID,REGISTERID, BARCODE ) VALUES (@BARID@,@REGISTERID@, @BARCODE@ )",
- new CDAParameter("BARID", i),
- new CDAParameter("REGISTERID", bt.Rows[0]["REGISTERID"]),
- new CDAParameter("BARCODE", rootObject.barcode));
- //登记单状态为未登记
- if (int.Parse(bt.Rows[0]["STATUS"].ToString()) == 0)
- {
- //更新已经登记单状态
- conn.ExecuteNonQuery("UPDATE TP_PM_FIRSTREGISTER SET STATUS=STATUS+1 WHERE REGISTERID=" + bt.Rows[0]["REGISTERID"]);
- }
- }
- //查询本条的条码ID
- DataTable dtAIL = conn.ExecuteDatatable(@"SELECT * FROM TP_PM_FIRSTREGISTERDETAIL WHERE BARCODE='" + rootObject.barcode + "' AND VALUEFLAG=1 ");
- //遍历数据
- foreach (var item in rootObject.data.Where(ex => ex.judgmentResult != null || ex.textInputValue != "").OrderBy(ex=>ex.ITEMSID))
- {
- //查找记录
- var jilu = dtAIL.AsEnumerable().Where(ex => ex.Field<decimal>("ITEMSID").ToString() == item.ITEMSID ).FirstOrDefault();
- //当有记录
- if (jilu != null)
- {
- //记录和所填不一致
- if (jilu["ITEMSVALUE"].ToString() != item.judgmentResult || jilu["ITEMSREMARKS"].ToString() != item.textInputValue)
- {
- //将记录更新
- string sqlStr = "UPDATE TP_PM_FIRSTREGISTERDETAIL SET ITEMSVALUE='" + item.judgmentResult + "'," +
- " ITEMSREMARKS='" + item.textInputValue + "',UPDATEUSERID='" + rootObject.userId + "'" +
- " WHERE BARCODE='" + rootObject.barcode + "' " +
- "AND ITEMSID=" + item.ITEMSID;
- conn.ExecuteNonQuery(sqlStr);
- }
- }
- //没有记录
- else
- {
- if (Convert.ToInt32(item.ITEMSID) == 20)
- {
- item.judgmentResult = "1";
- }
- //添加数据
- conn.ExecuteNonQuery(@"INSERT INTO TP_PM_FIRSTREGISTERDETAIL (
- REGISTERID, BARID, BARCODE, ITEMSID,ITEMSYTPE,ITEMSNAME, ITEMSINFO,ITEMSVALUE,ITEMSREMARKS,
- ACCOUNTID,VALUEFLAG,CREATEUSERID,UPDATEUSERID ) VALUES (
- @REGISTERID@, @BARID@, @BARCODE@, @ITEMSID@,@ITEMSYTPE@,@ITEMSNAME@, @ITEMSINFO@, @ITEMSVALUE@, @ITEMSREMARKS@,
- @ACCOUNTID@, @VALUEFLAG@, @CREATEUSERID@,@UPDATEUSERID@)",
- new CDAParameter("REGISTERID", bt.Rows[0]["REGISTERID"]),
- new CDAParameter("BARID", i != 0 ? i : dtAIL.Rows[0]["BARID"]),
- new CDAParameter("BARCODE", rootObject.barcode),
- new CDAParameter("ITEMSID", item.ITEMSID),
- new CDAParameter("ITEMSYTPE", btITEM.AsEnumerable().Where(ex => ex.Field<decimal>("ITEMSID") == decimal.Parse(item.ITEMSID)).FirstOrDefault().Field<string>("ITEMSYTPE")),
- new CDAParameter("ITEMSNAME", btITEM.AsEnumerable().Where(ex => ex.Field<decimal>("ITEMSID") == decimal.Parse(item.ITEMSID)).FirstOrDefault().Field<string>("ITEMSNAME")),
- new CDAParameter("ITEMSINFO", btITEM.AsEnumerable().Where(ex => ex.Field<decimal>("ITEMSID") == decimal.Parse(item.ITEMSID)).FirstOrDefault().Field<string>("ITEMSINFO")),
- new CDAParameter("ITEMSVALUE", item.judgmentResult),
- new CDAParameter("ITEMSREMARKS", item.textInputValue == "" ? null : item.textInputValue),
- new CDAParameter("ACCOUNTID", rootObject.accountId),
- new CDAParameter("VALUEFLAG", 1),
- new CDAParameter("CREATEUSERID", rootObject.userId),
- new CDAParameter("UPDATEUSERID", rootObject.userId));
- }
- }
- //查询该条码已经填写的判定
- DataTable btbarcodecount = conn.ExecuteDatatable("SELECT COUNT(*) FROM TP_PM_FIRSTREGISTERDETAIL WHERE VALUEFLAG=1 AND ITEMSVALUE IS NOT NULL AND BARCODE=" + rootObject.barcode);
- //判断综合判定是否填写
- bool a = rootObject.data.Where(ex => ex.ITEMSID == btITEM.AsEnumerable().Where(x => x.Field<string>("ITEMSINFO") == null).FirstOrDefault().Field<decimal>("ITEMSID").ToString()).Select(ex => ex.textInputValue).FirstOrDefault() == null ? false : true;
- int b = btITEM.AsEnumerable().Where(ex => ex.Field<string>("ITEMSINFO") != null).Count();
- //查询首件确定登记条码记录
- DataTable btBARNew = conn.ExecuteDatatable("SELECT * FROM TP_PM_FIRSTREGISTERBAR");
- bool c = btBARNew.AsEnumerable().Where(ex => ex.Field<string>("BARCODE") == rootObject.barcode).FirstOrDefault() == null ? false : true;
- //填写的判定数量等于判定规定&&综合判定填写
- if ((int.Parse(btbarcodecount.Rows[0][0].ToString()) == b && a && c)|| rootObject.complete)
- {
- //更新条码状态
- conn.ExecuteNonQuery("UPDATE TP_PM_FIRSTREGISTERBAR SET STATUS=1 WHERE REGISTERID=" + bt.Rows[0]["REGISTERID"] + " AND BARCODE='" + rootObject.barcode + "'");
- }
- //更新已经检验数量
- conn.ExecuteNonQuery("UPDATE TP_PM_FIRSTREGISTER SET CHECKQUANTITY=(SELECT COUNT(*) FROM TP_PM_FIRSTREGISTERBAR WHERE STATUS=1 AND REGISTERID="+bt.Rows[0]["REGISTERID"]+") WHERE REGISTERID=" + bt.Rows[0]["REGISTERID"]);
- //查询总单已经检验数量和首件数量
- DataTable detailsbarcodecount = conn.ExecuteDatatable("SELECT FIRQUANTITY,CHECKQUANTITY FROM TP_PM_FIRSTREGISTER WHERE REGISTERID=" + bt.Rows[0]["REGISTERID"]);
- //当已经检验数量和首件数量相等
- if (int.Parse(detailsbarcodecount.Rows[0][0].ToString()) == int.Parse(detailsbarcodecount.Rows[0][1].ToString()))
- {
- //更新已经登记单状态
- conn.ExecuteNonQuery("UPDATE TP_PM_FIRSTREGISTER SET STATUS=2 WHERE REGISTERID=" + bt.Rows[0]["REGISTERID"]);
- }
- //提交事务
- conn.Commit();
- context.Response.Write(JsonConvert.SerializeObject(new Dictionary<string, bool>() { { "result", true } }, Formatting.Indented));
- }
- catch (Exception e)
- {
- //回滚事务
- conn.Rollback();
- context.Response.Write(JsonConvert.SerializeObject(new Dictionary<string, bool>() { { "result", false } }, Formatting.Indented));
- }
- }
- }
- }
- }
- //获取总单号
- if (context.Request["m"].ToString() == "assemble")
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- DataTable dt = conn.ExecuteDatatable(@"SELECT REGISTERID,REGISTERNO FROM TP_PM_FIRSTREGISTER WHERE STATUS IN (2,3)");
- context.Response.Write(JsonConvert.SerializeObject(dt, Formatting.Indented));
- }
- }
- //获取总单信息
- if (context.Request["m"].ToString() == "getoneassemble")
- {
- var formData = context.Request.Form;
- using (IDataAccess conn = DataAccess.Create())
- {
- DataTable dt = conn.ExecuteDatatable(@"SELECT
- F.REGISTERID,
- F.REGISTERNO,
- F.LOGOID,
- F.GOODSID,
- F.GOODSCODE,
- F.WORKSHOP,
- TO_CHAR(F.ACCOUNTDATE, 'YYYY-MM-DD')AS DATA,
- F.MATERIALCODE,
- F.FIRQUANTITY,
- F.ADVICE,
- F.ADVICEREMARKS,
- D.DICTIONARYVALUE AS 产品类型 ,
- E.DICTIONARYVALUE AS 检验依据 ,
- GO.GOODSNAME
- FROM TP_PM_FIRSTREGISTER F
- LEFT JOIN TP_MST_DATADICTIONARY D ON F.FIRGOODSTYPE = D.DICTIONARYID
- LEFT JOIN TP_MST_DATADICTIONARY E ON F.FIRBASIS=E.DICTIONARYID
- LEFT JOIN TP_MST_GOODS GO ON F.GOODSID=GO.GOODSID
- WHERE F.REGISTERNO = " + formData["REGISTERNO"]);
- context.Response.Write(JsonConvert.SerializeObject(dt, Formatting.Indented));
- }
- }
- //根据总单获取产品条码
- if (context.Request["m"].ToString() == "getabrcode")
- {
- var formData = context.Request.Form;
- if (formData["REGISTERID"] != null)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- DataTable dt = conn.ExecuteDatatable(@"SELECT BARCODE FROM TP_PM_FIRSTREGISTERBAR WHERE REGISTERID=" + formData["REGISTERID"]);
- context.Response.Write(JsonConvert.SerializeObject(dt, Formatting.Indented));
- }
- }
- }
- //总单保存
- if (context.Request["m"].ToString() == "save")
- {
- var formData = context.Request.Form;
- if (formData["ADVICE"] != null && formData["REGISTERID"] != null)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- try
- {
- //开启事务
- conn.BeginTransaction();
- DataTable bt = conn.ExecuteDatatable("SELECT STATUS FROM TP_PM_FIRSTREGISTER WHERE REGISTERID=" + formData["REGISTERID"]);
- //更新总单 登记单状态 研发部意见+备注
- string strSQL = "UPDATE TP_PM_FIRSTREGISTER SET ADVICE= " + formData["ADVICE"];
- if (formData["ADVICEREMARKS"] != null)
- {
- strSQL += ",ADVICEREMARKS='" + formData["ADVICEREMARKS"] + "'";
- }
- if (int.Parse(bt.Rows[0]["STATUS"].ToString()) == 2)
- {
- strSQL += ",STATUS=STATUS+1";
- }
- strSQL += " WHERE REGISTERID=" + formData["REGISTERID"];
- conn.ExecuteNonQuery(strSQL);
- //查询签名
- DataTable dt = conn.ExecuteDatatable("SELECT PGSIGNATURE, CJSIGNATURE, SKSIGNATURE FROM TP_PM_FIRSTREGISTER WHERE REGISTERID=" + formData["REGISTERID"]);
- //当签名不为空时
- if (dt.Rows[0]["PGSIGNATURE"].ToString() != string.Empty && dt.Rows[0]["CJSIGNATURE"].ToString() != string.Empty && dt.Rows[0]["SKSIGNATURE"].ToString() != string.Empty)
- {
- //更新登记单状态
- conn.ExecuteNonQuery("UPDATE TP_PM_FIRSTREGISTER SET STATUS=STATUS+1 WHERE REGISTERID=" + formData["REGISTERID"]);
- }
- //提交事务
- conn.Commit();
- context.Response.Write(JsonConvert.SerializeObject(new Dictionary<string, bool>() { { "result", true } }, Formatting.Indented));
- }
- catch (Exception e)
- {
- //回滚事务
- conn.Rollback();
- context.Response.Write(JsonConvert.SerializeObject(new Dictionary<string, bool>() { { "result", false } }, Formatting.Indented));
- }
- }
- }
- }
- ///型式检验查询
- if (context.Request["m"].ToString() == "showtest")
- {
- var formData = context.Request.Form;
- if (!string.IsNullOrEmpty(formData["BARCODE"].ToString()))
- {
- string StrSql = "SELECT --barcode,\n " +
- " xuhao,goodscode,goodstypename,TO_CHAR(groutingdate, 'YYYY-MM-DD')AS groutingdate,inspectitem ,technicalrequirement,unitname, " +
- " --remarks, ITEMSDETAILID ,\n"+
- " listagg(inspectvalue, ', ') within GROUP(ORDER BY inspectvalue) AS inspectvalue,isqualified "+
- " FROM (SELECT fd.barcode,g.goodscode,gt.goodstypename,g.groutingdate ,fd.inspectitem,fd.remarks,fdd.xuhao,fdd.ITEMSDETAILID "+
- " ,CASE "+
- "WHEN fdd.unitname IS NULL THEN "+
- " '-' "+
- " ELSE "+
- " to_char(fdd.unitname) "+
- " END unitname "+
- " ,fdd.technicalrequirement , "+
- " CASE "+
- " WHEN fdd.inspectmark = 630 THEN "+
- " CASE "+
- " WHEN fd.isqualified = 1 THEN "+
- " '合格' "+
- " ELSE "+
- " '不合格' "+
- " END "+
- " ELSE "+
- " to_char(fd.inspectvalue) "+
- " END AS inspectvalue "+
- " ,CASE"+
- " WHEN fd.isqualified = 1 THEN "+
- " '合格' "+
- " ELSE "+
- " '不合格' "+
- " END AS isqualified "+
- " FROM tp_pm_fqcitemsdata fd "+
- " LEFT JOIN tp_pm_fqcitemsdetail fdd "+
- " ON fd.itemsdetailid = fdd.itemsdetailid "+
- " LEFT JOIN tp_pm_fqcitems f "+
- " ON f.itemsid = fd.itemsid "+
- " LEFT JOIN tp_pm_groutingdailydetail g "+
- " ON g.barcode = fd.barcode "+
- " LEFT JOIN tp_mst_goods gg "+
- " ON gg.goodsid = g.goodsid "+
- " LEFT JOIN tp_mst_goodstype gt "+
- " ON gg.goodstypeid = gt.goodstypeid "+
- " WHERE fd.barcode = '"+formData["BARCODE"].ToString()+"'"+
- " AND f.inspecttype = 615 "+
- " AND fd.valueflag = 1) "+
- " GROUP BY barcode ,goodscode,goodstypename,groutingdate,inspectitem,unitname,technicalrequirement,isqualified,remarks,xuhao,ITEMSDETAILID "+
- " ORDER BY XUHAO,ITEMSDETAILID DESC ";
- DataTable dt = new DataTable();
- using (IDataAccess conn = DataAccess.Create())
- {
- dt = conn.ExecuteDatatable(StrSql);
- }
- context.Response.Write(JsonConvert.SerializeObject(dt, Formatting.Indented));
- }
- }
- if (context.Request["m"].ToString() == "checkexist")
- {
- var formData = context.Request.Form;
- if ( formData["BARCODE"].ToString() != null)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- Boolean result = false;
- DataTable bt = conn.ExecuteDatatable("SELECT count(*) FROM TP_PM_FIRSTREGISTER S INNER JOIN TP_PM_FIRSTREGISTERBAR B ON S.REGISTERID=B.REGISTERID WHERE S.STATUS=4 AND B.BARCODE=" + formData["BARCODE"].ToString());
- if (int.Parse(bt.Rows[0][0].ToString()) !=0)
- {
- result = true;
- }
- context.Response.Write(JsonConvert.SerializeObject(result));
- }
- }
- }
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- public class ItemData
- {
- public string ITEMSID { get; set; }
- public string judgmentResult { get; set; }
- public string textInputValue { get; set; }
- }
- public class RootObject
- {
- public string REGISTERID { get; set; }
- public string barcode { get; set; }
- public string userId { get; set; }
- public string accountId { get; set; }
- public bool complete { get; set; }
- public List<ItemData> data { get; set; }
- }
- /// <summary>
- /// 获取签名字段
- /// </summary>
- /// <param name="type"></param>
- /// <returns></returns>
- public string GetFieldByType(int type)
- {
- switch (type)
- {
- case 1:
- return "PGSIGNATURE";
- case 2:
- return "CJSIGNATURE";
- case 3:
- return "SKSIGNATURE";
- case 4:
- return "YFSIGNATURE";
- case 5:
- return "GYSIGNATURE";
- case 6:
- return "XMZSIGNATURE";
- default:
- // 可以根据实际需求修改默认返回值
- return "UNKNOWN";
- }
- }
- }
|