| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 委外工序发出单流水号回车获取条码信息2(委外工序接收、工序进站接收通用) |
| | | #region 委外工序发出单流水号回车获取条码信息2 |
| | | [Route("Cj_StationBill/txtHBarCode_KeyDown2")] |
| | | [HttpGet] |
| | | public object txtHBarCode_KeyDown2(string HBarCode,string HInterID,string UserID) |
| | | public object txtHBarCode_KeyDown2(string HBarCode,string HInterID,string UserID,string HBillType) |
| | | { |
| | | try |
| | | { |
| | |
| | | NewBarCode = sBillBarCode.Split(Convert.ToChar("#")); |
| | | sBillBarCode = NewBarCode[0]; |
| | | } |
| | | string sBillNo = sBillBarCode; |
| | | //截取条码类型 |
| | | string BillNoType = sBillNo.Substring(0, Math.Min(3, sBillNo.Length)); |
| | | //截取内码 |
| | | string BillNo = sBillNo.Substring(3, Math.Min(sBillNo.Length - 3,sBillNo.Length)); |
| | | 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) |
| | | //得到信息 |
| | | { |
| | |
| | | string sReturn = ""; |
| | | if (oSystemParameter.ShowBill(ref sReturn) == true) |
| | | { |
| | | //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 |
| | | if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y") |
| | | if(HBillType == "In") |
| | | { |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 用户编码 = '" + UserID + "'", "h_v_Gy_ProcessList_GetProcNoByUser"); |
| | | //系统参数是否为只显示当前登录用户关联的工序信息,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 |
| | | else if(HBillType == "Out") |
| | | { |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo where HItemID = '" + BillNo + "' and HInterID = '" + |
| | | HInterID + "'", "h_v_Gy_ProcessList_GetProcNo"); |
| | | //系统参数是否为只显示当前登录用户关联的工序信息,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; |
| | | case "GXL"://流转卡 |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "'", "h_v_Sc_ProcessExchangeBillList"); |
| | | break; |
| | | break; |
| | | } |
| | | |
| | | //写入信息 |
| | |
| | | #region 根据登录用户获取工序 |
| | | [Route("Sc_StationInBill/autoGetProcNo")] |
| | | [HttpGet] |
| | | public object autoGetProcNo(string HUserID, string HInterID) |
| | | public object autoGetProcNo(string HUserID, string HInterID, string BillType) |
| | | { |
| | | string sReturn = ""; |
| | | if (oSystemParameter.ShowBill(ref sReturn) == true) |
| | | { |
| | | //系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配 |
| | | if (oSystemParameter.omodel.MES_StationOutBill_ShowUSERProcess == "Y") |
| | | if(BillType == "In")//工序进站接收单 |
| | | { |
| | | try |
| | | //系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配 |
| | | if (oSystemParameter.omodel.MES_StationInBill_AutoFindSNO == "Y") |
| | | { |
| | | if (HUserID == null || HUserID.Equals("")) |
| | | 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 = "用户编码不能为空!"; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //得到信息 |
| | | ds = oCN.RunProcReturn("select * from h_v_Sc_StationBill_autoGetProcNo where HInterID = '" + HInterID + "' and 用户编码 ='" + HUserID + "'", "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) |
| | | else |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | 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 |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "手动输入模式"; |
| | | objJsonResult.data = ""; |
| | | return objJsonResult; |
| | | return 0; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |