| | |
| | | using Newtonsoft.Json.Linq; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using Pub_Class; |
| | | using System; |
| | | using System.Collections; |
| | |
| | | { |
| | | try |
| | | { |
| | | List<object> columnNameList = new List<object>(); |
| | | //判断是否有查询权限 |
| | | if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Query", 1, false, user)) |
| | | { |
| | |
| | | |
| | | if (sWhere == null || sWhere.Equals("")) |
| | | { |
| | | ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList order by hmainid desc", "h_v_MES_StationEntrustInBillList"); |
| | | ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList", "h_v_MES_StationEntrustInBillList"); |
| | | // order by hmainid desc 排序丢到数据库里进行处理 |
| | | } |
| | | else |
| | | { |
| | |
| | | ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList"); |
| | | } |
| | | |
| | | //添加列名 |
| | | 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列对象的列名 |
| | | } |
| | | |
| | | //if (ds.Tables[0].Rows.Count != 0 || ds != null) |
| | | //{ |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.list = columnNameList; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | //} |
| | |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "未查询到流转卡信息!"; |
| | | objJsonResult.Message = "未查询到流水号信息!工序号错误或者当前工序号不允许进站,请添加!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 委外工序发出单流水号回车获取条码信息2 |
| | | [Route("Cj_StationBill/txtHBarCode_KeyDown2")] |
| | | [HttpGet] |
| | | public object txtHBarCode_KeyDown2(string HBarCode,string HInterID,string UserID,string HBillType) |
| | | { |
| | | try |
| | | { |
| | | if (HBarCode == null || HBarCode.Equals("")) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "空白码,条形码不能为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //拆分条形码 |
| | | string sBillBarCode = HBarCode.Trim(); |
| | | string[] NewBarCode; |
| | | if (sBillBarCode.CompareTo("#") > 0) |
| | | { |
| | | NewBarCode = sBillBarCode.Split(Convert.ToChar("#")); |
| | | sBillBarCode = NewBarCode[0]; |
| | | } |
| | | string sBillNo = sBillBarCode; //条形码 |
| | | |
| | | string[] arr = sBillNo.Split('&'); //以符号‘&’分割条形码 |
| | | string BillNo_PGD = arr[0]; //单据号 |
| | | string entryid_PGD = "";//子id |
| | | if(arr.Length > 1) |
| | | { |
| | | entryid_PGD = arr[1]; |
| | | } |
| | | |
| | | //截取条码类型 前三位 |
| | | string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length)); |
| | | //截取条码类型2 前四位 |
| | | string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length)); |
| | | //截取内码 |
| | | string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length)); |
| | | switch (BillNoType2) |
| | | { |
| | | case "GXLZ"://工序流转派工 |
| | | ds = oCN.RunProcReturn("select * from h_v_Sc_ProcExchSendWorkBill where 派工单据号 = '" + BillNo_PGD + "'" + " and HEntryID ='" + entryid_PGD + "'", "h_v_Sc_ProcExchSendWorkBill"); |
| | | break; |
| | | case "GXLX"://流转卡 |
| | | string sErr = ""; |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "乔一") |
| | | { //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 |
| | | if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y") |
| | | { |
| | | ds = oCN.RunProcReturn($"exec h_p_ProcessExchangeBillLastHProNo '{BillNo_PGD}','{UserID}','{HBillType}'", "h_v_Gy_ProcessList_GetProcNoByUser"); |
| | | } |
| | | else |
| | | { |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); |
| | | } |
| | | } |
| | | else if (entryid_PGD != "") //如果子id不为空则加入子id过滤; |
| | | { |
| | | ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'" + " and hsubid ='" + entryid_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); |
| | | } |
| | | else |
| | | { |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | switch (BillNoType) |
| | | //得到信息 |
| | | { |
| | | case "HCX"://生产资源码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList where 条码编号 = '" + BillNo + "'", "h_v_Gy_SourceList"); |
| | | break; |
| | | case "SBM"://设备码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_EquipMentList where HItemID = '" + BillNo + "'", "h_v_Gy_EquipMentList"); |
| | | break; |
| | | case "JYM"://员工码--检验员 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New"); |
| | | break; |
| | | case "GRM"://员工码--操作员,接收人 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New"); |
| | | break; |
| | | //case "CGM"://员工码 |
| | | // ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New"); |
| | | // break; |
| | | case "HWH"://仓库码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_WareHouseList where 条码编号 = '" + HBarCode + "'", "h_v_Gy_WareHouseList"); |
| | | break; |
| | | case "HSP"://仓位码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_StockPlaceList where 条码编号 = '" + HBarCode + "'", "h_v_Gy_StockPlaceList"); |
| | | break; |
| | | case "WKM"://工作中心码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_WorkCenterList where HItemID = '" + BillNo + "'", "h_v_Gy_WorkCenterList"); |
| | | break; |
| | | case "BZM"://班组码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_GroupList where 条码编号 = '" + BillNo + "'", "h_v_Gy_GroupList"); |
| | | break; |
| | | case "PRO"://工序码 |
| | | string sReturn = ""; |
| | | if (oSystemParameter.ShowBill(ref sReturn) == true) |
| | | { |
| | | if(HBillType == "In") |
| | | { |
| | | //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 |
| | | if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y") |
| | | { |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 用户编码 = '" + UserID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNoByUser"); |
| | | } |
| | | else |
| | | { |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo where HItemID = '" + BillNo + "' and HInterID = '" + |
| | | HInterID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNo"); |
| | | } |
| | | } |
| | | else if(HBillType == "Out") |
| | | { |
| | | //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 |
| | | if (oSystemParameter.omodel.MES_StationOutBill_ShowUSERProcess == "Y") |
| | | { |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 用户编码 = '" + UserID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNoByUser"); |
| | | } |
| | | else |
| | | { |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo where HItemID = '" + BillNo + "' and HInterID = '" + |
| | | HInterID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNo"); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case "WLM"://物料码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_MaterialList where HItemID = '" + BillNo + "'", "h_v_Gy_MaterialList"); |
| | | break; |
| | | } |
| | | |
| | | //写入信息 |
| | | if (ds == null || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "未查询到条码信息!"; |
| | | objJsonResult.data = null; |
| | | if(BillNoType == "PRO") |
| | | { |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList where HItemID = '" + BillNo + "'", "h_v_Gy_ProcessList"); |
| | | if (ds == null || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.Message = "未查询到条码信息!"; |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.Message = "用户未关联相关工序或流转卡无此工序,如有需要请维护"; |
| | | } |
| | | } |
| | | return objJsonResult; |
| | | } |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 根据登录用户获取工序 |
| | | [Route("Sc_StationInBill/autoGetProcNo")] |
| | | [HttpGet] |
| | | public object autoGetProcNo(string HUserID, string HInterID, string BillType) |
| | | { |
| | | string sReturn = ""; |
| | | if (oSystemParameter.ShowBill(ref sReturn) == true) |
| | | { |
| | | if(BillType == "In")//工序进站接收单 |
| | | { |
| | | //系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配 |
| | | if (oSystemParameter.omodel.MES_StationInBill_AutoFindSNO == "Y") |
| | | { |
| | | try |
| | | { |
| | | if (HUserID == null || HUserID.Equals("")) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "用户编码不能为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //得到信息 |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_StationBill_autoGetProcNo where HInterID = '" + HInterID + "' and 用户编码 ='" + HUserID + "'" + " and 累计进站数量 < 计划数量 and 下道流转工序<>'转' and 委外标记=0 order by 序号 asc", "h_v_Sc_StationBill_autoGetProcNo"); |
| | | //写入信息 |
| | | if (ds == null || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "未查询到工序信息!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "手动输入模式"; |
| | | objJsonResult.data = ""; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else if(BillType == "Out")//工序出站汇报单 |
| | | { |
| | | //系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配 |
| | | if (oSystemParameter.omodel.MES_StationOutBill_AutoFindSNO == "Y") |
| | | { |
| | | try |
| | | { |
| | | if (HUserID == null || HUserID.Equals("")) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "用户编码不能为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //得到信息 |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_StationBill_autoGetProcNo where HInterID = '" + HInterID + "' and 用户编码 ='" + HUserID + "'" + " and 累计出站数量 < 计划数量 and 下道流转工序<>'转' and 委外标记=0 order by 序号 asc", "h_v_Sc_StationBill_autoGetProcNo"); |
| | | //写入信息 |
| | | if (ds == null || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "未查询到工序信息!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "手动输入模式"; |
| | | objJsonResult.data = ""; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return 0; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "系统参数异常"; |
| | | objJsonResult.data = ""; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region 出站汇报单显示表体明细 |
| | | [Route("Cj_StationEntrustInBill/DisBillEntryList")] |
| | | [HttpGet] |
| | | public object DisBillEntryList(Int64 HProcExchHinteID) |
| | | { |
| | | try |
| | | { |
| | | List<object> columnNameList = new List<object>(); |
| | | //得到信息 |
| | | ds = oCN.RunProcReturn("exec h_p_Sc_ProcExchBilltransRelationQty " + HProcExchHinteID + "", "h_p_Sc_ProcExchBilltransRelationQty"); |
| | | //写入信息 |
| | | if (ds == null || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "未查询到出站单明细信息!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | //添加列名 |
| | | 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 = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | objJsonResult.list = columnNameList; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | |
| | | return objJsonResult; |
| | | } |
| | | |
| | | List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2); |
| | | List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2); |
| | | DBUtility.ClsPub.CurUserName = user; |
| | | long HMainInterID = 0; |
| | | HMainInterID = list[0].HMainInterID; |
| | | string eventType = list[0].eventType; |
| | |
| | | double HMoney = list[0].HMoney;//金额 |
| | | string HRemark = list[0].HRemark;//备注 |
| | | double HTaxRate = list[0].HTaxRate;//税率 |
| | | long HProcNo = list[0].HProcNo;//流水号 |
| | | string HProcNo = list[0].HProcNo;//流水号 |
| | | string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号 |
| | | int HWWWorkOrderInterID = 0;//委外工单号子内码 |
| | | int HWWWorkOrderEntryID = 0;//委外工单号主内吗 |
| | |
| | | string HBarCode = list[0].HBarCode;//条形码 |
| | | string HAddr = ""; |
| | | string HBarCodeMaker = ""; |
| | | long HPRDOrgID = list[0].HPRDOrgID;//组织ID |
| | | if (HProcExchInterID <= 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | if (HProcNo <= 0) |
| | | if (HProcNo == "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | |
| | | ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID" + |
| | | ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" + |
| | | ",HSupID,HTaxRate,HQty,HPrice,HMoney,HPieceQty" + |
| | | ",HProcNo,HOrderProcNO,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID,HMainInterID" + |
| | | ",HProcNo,HOrderProcNO,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID,HMainInterID,HPRDOrgID" + |
| | | ") " + |
| | | " values('3792','3792'," + HInterID.ToString() + ",'" + HBillNo + "','" + HBillStatus.ToString() + "',getdate(),'" + HMaker + "',getdate()" + |
| | | ",'" + HYear.ToString() + "','" + HPeriod.ToString() + "','" + HRemark + "','" + HInnerBillNo + "'" + |
| | |
| | | ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + |
| | | "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + |
| | | "," + HSupID + "," + HTaxRate + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty + |
| | | ",'" + HProcNo + "','" + HOrderProcNO + "'" + ",'" + HWWWorkOrderBillNo + "'" + "," + HWWWorkOrderInterID + "" + "," + HWWWorkOrderEntryID + "," + HMainInterID + |
| | | ",'" + HProcNo + "','" + HOrderProcNO + "'" + ",'" + HWWWorkOrderBillNo + "'" + "," + HWWWorkOrderInterID + "" + "," + HWWWorkOrderEntryID + "," + HMainInterID + "," + HPRDOrgID + |
| | | ") "); |
| | | } |
| | | else if ("Modify".Equals(eventType)) |
| | |
| | | ",HTaxRate=" + HTaxRate + |
| | | ",HMaterID=" + HMaterID + |
| | | ",HProcID=" + HProcID + |
| | | ",HEmpID=" + HEmpID + |
| | | ",HProcNo=" + HProcNo + |
| | | ",HOrderProcNO='" + HOrderProcNO + "'" + |
| | | " where HInterID=" + HInterID); |
| | |
| | | } |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "新增单据成功!"; |
| | | objJsonResult.Message = "操作单据成功!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |