using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Web.Http; using WebAPI.Models; namespace WebAPI.Controllers { public class MES_ProcessCheckBill_PDAController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; #region 工序检验PDA新增保存 [Route("MES_ProcessCheckBill_PDA/ProcessCheckAddBill")] [HttpPost] public object ProcessCheckAddBill([FromBody] JObject oMain) { var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); try { //反序列化 string msg2 = "[" + sArray[0].ToString() + "]"; string user = sArray[1].ToString();//用户名 string OperationType = sArray[2].ToString();//类型 //判断是否有编辑权限 if (!DBUtility.ClsPub.Security_Log("QC_ProcessCheckBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无编辑权限!"; objJsonResult.data = null; return objJsonResult; } List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); string BillType = "7507"; string HBillSubType = "7507"; long HInterID = list[0].HInterID;//递入type得到的单据ID string HBillNo = list[0].HBillNo;//递入type得到的单据号 int HBillStatus = 1; string HMaker = user;//制单人 int HYear = DateTime.Now.Year; double HPeriod = DateTime.Now.Month; long HSourceID = list[0].HSourceID;//生产资源 long HICMOInterID = list[0].HICMOInterID;//任务单ID string HICMOBillNo = list[0].HICMOBillNo;//任务单 string HProcExchBillNo = list[0].HProcExchBillNo;//指引卡 long HMaterID = list[0].HMaterID;//产品ID //long HUnitID = list[0].HUnitID;//计量单位 long HProcID = list[0].HProcID;//工序ID long HPRDORGID = list[0].HPRDORGID;//组织ID bool HLastResult = list[0].HLastResult;//试样结论 //单据完整性判断 if (HProcExchBillNo == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "流转卡没有选择!请扫描条形码或输入条形码后回车"; objJsonResult.data = null; return objJsonResult; } var num = 0; oCN.BeginTran(); if (OperationType == "1") { num = 1; ds = oCN.RunProcReturn("select * from QC_ProcessCheckBillMain where HBillNo='" + HBillNo + "'", "QC_ProcessCheckBillMain"); if (ds.Tables[0].Rows.Count == 1) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据号重复!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("Insert Into QC_ProcessCheckBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOBillNo,HProcExchBillNo" + ",HPRDORGID,HLastResult)" + " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" + "," + HPRDORGID + ",'" + HLastResult + "') "); } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "操作类型无效!"; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "新增单据成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序检验_PDA 查询列表 [Route("ProcessCheck/ProcessCheckList")] [HttpGet] public object ProcessCheckList(string sWhere, string user) { try { //判断是否有编辑权限 if (!DBUtility.ClsPub.Security_Log("QC_ProcessCheckBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } string sql = "select * from h_v_QC_ProcessCheckBillMainList where 1=1 " + sWhere + " order by 日期 "; ds = oCN.RunProcReturn(sql, "h_v_QC_ProcessCheckBillMainList"); DataTable dt = ds.Tables[0]; //获取列名 List columnNameList = new List(); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.list = columnNameList; objJsonResult.data = dt; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序检验_PDA 删除功能 [Route("ProcessCheck/DelProcessCheckBill")] [HttpGet] public object DelProcessCheckBill(Int64 lngBillKey, string user) { DataSet ds; string ModRightNameCheck = "QC_ProcessCheckBill_Delete"; try { //删除权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!无权限!"; objJsonResult.data = null; return objJsonResult; } SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (lngBillKey == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据id为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran();//开始事务 ds = oCN.RunProcReturn("select * from QC_ProcessCheckBillMain where HInterID=" + lngBillKey, "QC_ProcessCheckBillMain"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有数据,无法删除!"; objJsonResult.data = null; return objJsonResult; ; } string HChecker = Convert.ToString(ds.Tables[0].Rows[0]["HChecker"]); if (HChecker != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已经审核,不能删除!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("delete from QC_ProcessCheckBillMain where HInterID=" + lngBillKey); oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "* 数据删除成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion } }