| | |
| | | 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)); |
| | | |
| | | string sErr = ""; |
| | | |
| | | switch (BillNoType2) |
| | | { |
| | | case "GXLX"://流转卡 |
| | | string sErr = ""; |
| | | |
| | | string sql = ""; |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "乔一") |
| | | { //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 |
| | | if (HBillType == "7505") |
| | | { |
| | | ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill__ProcList '" + BillNo_PGD + "' ", "h_p_Sc_ProcessExchangeBill__ProcList"); |
| | | } |
| | | else { |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource) |
| | | { |
| | | case "工序": |
| | | sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'工序','" + BillNo_PGD + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList"); |
| | | break; |
| | | case "物料": |
| | | sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'物料','" + BillNo_PGD + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList"); |
| | | break; |
| | | case "工艺路线": |
| | | sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'工艺路线','" + BillNo_PGD + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList"); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case "GXJZ": |
| | | //截取条码类型 前三位 |
| | | string HBillNo = HBarCode.Substring(4, HBarCode.Length - 4); |
| | | ds = oCN.RunProcReturn("select * from Sc_StationInBillMain where HBillNo = '" + HBillNo + "'", "Sc_StationInBillMain"); |
| | | Int64 HStationInInterID = 0; |
| | | |
| | | if (ds != null || ds.Tables[0].Rows.Count > 0) |
| | | { |
| | | HStationInInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]); |
| | | } |
| | | |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource) |
| | | { |
| | | case "工序": |
| | | sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'工序','" + HStationInInterID + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList"); |
| | | break; |
| | | case "物料": |
| | | sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'物料','" + HStationInInterID + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList"); |
| | | break; |
| | | case "工艺路线": |
| | | sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'工艺路线','" + HStationInInterID + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList"); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case "MO00": |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource) |
| | | { |
| | | case "工序": |
| | | sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'工序','" + HBarCode + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList"); |
| | | break; |
| | | case "物料": |
| | | sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'物料','" + HBarCode + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList"); |
| | | break; |
| | | case "工艺路线": |
| | | sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'工艺路线','" + HBarCode + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList"); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | default: |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "乔一") |
| | | { //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "条码错误!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | switch (BillNoType) |
| | | //得到信息 |
| | | { |
| | | case "HCX"://生产资源码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList where 条码编号 = '" + BillNo + "'", "h_v_Gy_SourceList"); |
| | | break; |
| | | } |
| | | |
| | | if (ds != null) |
| | | { |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "没有返回数据,条码前缀错误。"; |
| | | objJsonResult.data = ""; |
| | | 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("MES_ProcessBill_PDA/HBarCode_KeyDown")] |
| | | [HttpGet] |
| | | public object HBarCode_KeyDown(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)); |
| | | |
| | | string sErr = ""; |
| | | |
| | | switch (BillNoType2) |
| | | { |
| | | case "GXLX"://流转卡 |
| | | |
| | | string sql = ""; |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "乔一") |
| | |
| | | } |
| | | else |
| | | { |
| | | ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList"); |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource) |
| | | { |
| | | case "工序": |
| | | sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'工序','" + BillNo_PGD + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList"); |
| | | break; |
| | | case "物料": |
| | | sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'物料','" + BillNo_PGD + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList"); |
| | | break; |
| | | case "工艺路线": |
| | | sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'工艺路线','" + BillNo_PGD + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList"); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case "GXCZ": |
| | | ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HBillNo = '" + HBarCode + "'", "Sc_StationOutBillMain"); |
| | | Int64 HStationOutInterID = 0; |
| | | |
| | | if (ds != null || ds.Tables[0].Rows.Count > 0) |
| | | { |
| | | HStationOutInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]); |
| | | } |
| | | |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource) |
| | | { |
| | | case "工序": |
| | | sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'工序','" + HStationOutInterID + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList"); |
| | | break; |
| | | case "物料": |
| | | sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'物料','" + HStationOutInterID + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList"); |
| | | break; |
| | | case "工艺路线": |
| | | sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'工艺路线','" + HStationOutInterID + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList"); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case "MO00": |
| | | if (oSystemParameter.ShowBill(ref sErr)) |
| | | { |
| | | switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource) |
| | | { |
| | | case "工序": |
| | | sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'工序','" + HBarCode + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList"); |
| | | break; |
| | | case "物料": |
| | | sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'物料','" + HBarCode + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList"); |
| | | break; |
| | | case "工艺路线": |
| | | sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'工艺路线','" + HBarCode + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList"); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | default: |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "条码错误!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "乔一") |
| | | { //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是 |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "条码错误!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | |
| | | switch (BillNoType) |
| | | //得到信息 |
| | | { |
| | | case "HCX"://生产资源码 |
| | | ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList where 条码编号 = '" + BillNo + "'", "h_v_Gy_SourceList"); |
| | | break; |
| | | } |
| | | |
| | | if (ds != null) |
| | | { |
| | | objJsonResult.code = "1"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "Sucess!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "没有返回数据,条码前缀错误。"; |
| | | objJsonResult.data = ""; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | return objJsonResult; |
| | | } |
| | | |
| | | string sql = "select * from h_v_QC_FirstPieceCheckBillMainList where 1=1 " + sWhere + " order by 日期 "; |
| | | ds = oCN.RunProcReturn("select ManagerFlag from gy_czygl where czymc='" + user.Trim() + "'", "gy_czygl"); |
| | | string sErr = ""; |
| | | oSystemParameter.ShowBill(ref sErr); |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "乔一") |
| | | { |
| | | } |
| | | else |
| | | { |
| | | if (!(bool)ds.Tables[0].Rows[0]["ManagerFlag"]) //是否管理员 |
| | | { |
| | | //不是管理员 |
| | | sWhere += " and 制单人 = '" + user + "'"; |
| | | } |
| | | } |
| | | |
| | | string sql = "select * from h_v_QC_FirstPieceCheckBillMainList where 1=1 " + sWhere ; |
| | | |
| | | ds = oCN.RunProcReturn(sql, "h_v_QC_FirstPieceCheckBillMainList"); |
| | | |
| | |
| | | long HProcID = list[0].HProcID;//工序ID |
| | | long HPRDORGID = list[0].HPRDORGID;//组织ID |
| | | bool HLastResult = list[0].HLastResult;//试样结论 |
| | | |
| | | long HProcExchInterID = list[0].HProcExchInterID;//流转卡ID |
| | | long HProcExchEntryID = list[0].HProcExchEntryID;//流转卡子ID |
| | | long HMainSourceInterID = list[0].HMainSourceInterID;//源单ID |
| | | long HMainSourceEntryID = list[0].HMainSourceEntryID;//源单子ID |
| | | string HMainSourceBillNo = list[0].HMainSourceBillNo;//源单单号 |
| | | string HMainSourceBillType = list[0].HMainSourceBillType;//源单类型 |
| | | |
| | | //表体数据 |
| | | List<Model.ClsQC_FirstPieceCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillSub>>(msg_entry); |
| | | for (int i = 0; i < subList.ToArray().Length; i++) |
| | |
| | | } |
| | | |
| | | //单据完整性判断 |
| | | if (HProcExchBillNo == "") |
| | | if (HProcExchBillNo == "" && HMainSourceBillNo.Substring(0, Math.Min(2, HMainSourceBillNo.Length)) != "MO" ) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | |
| | | oCN.RunProc("Insert Into QC_FirstPieceCheckBillMain " + |
| | | "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + |
| | | ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HProcExchBillNo" + |
| | | ",HPRDORGID,HLastResult)" + |
| | | ",HPRDORGID,HLastResult,HProcExchInterID,HProcExchEntryID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType)" + |
| | | " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + |
| | | "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" + |
| | | "," + HPRDORGID + ",'" + HLastResult + "') "); |
| | | "," + HPRDORGID + ",'" + HLastResult + "'," + HProcExchInterID + "," + HProcExchEntryID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'" + ") "); |
| | | |
| | | //插入子表 |
| | | foreach (Model.ClsQC_FirstPieceCheckBillSub oSub in BillNew.DetailColl) |
| | |
| | | ",HQCCheckItemID,HQCStd,HResult" + |
| | | ",HStatus,HUnitID,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult" + |
| | | ") values(" |
| | | + HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + HICMOInterID.ToString() + |
| | | "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + |
| | | + HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + HMainSourceInterID.ToString() + |
| | | "," + HMainSourceEntryID.ToString() + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + |
| | | "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HResult + "'" + |
| | | ",'" + oSub.HStatus + |
| | | "'," + oSub.HUnitID + "," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" + |