/// <summary> /// 暂停组别文本改变事件。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void lueHoldGroup_EditValueChanged(object sender, EventArgs e) { LotOperationEntity entity = new LotOperationEntity(); string categoryKey = Convert.ToString(this.lueHoldGroup.EditValue); DataSet ds = entity.GetReasonCode(categoryKey); if (!string.IsNullOrEmpty(entity.ErrorMsg)) { MessageService.ShowMessage(entity.ErrorMsg, "提示"); this.lueHoldCode.Properties.DataSource = null; } else { if (ds != null) { this.lueHoldCode.Properties.DataSource = ds.Tables[0]; this.lueHoldCode.Properties.DisplayMember = "REASON_CODE_NAME"; this.lueHoldCode.Properties.ValueMember = "REASON_CODE_KEY"; } else { this.lueHoldCode.Properties.DataSource = null; } } }
/// <summary> /// 绑定HOLD原因代码组数据。 /// </summary> private void BindReasonCodeGroupDataToControl() { LotOperationEntity entity = new LotOperationEntity(); DataSet ds = entity.GetHoldReasonCodeCategory(); if (!string.IsNullOrEmpty(entity.ErrorMsg)) { MessageService.ShowError(entity.ErrorMsg); this.lueHoldGroup.Properties.DataSource = null; } else { if (ds != null) { this.lueHoldGroup.Properties.DataSource = ds.Tables[0]; this.lueHoldGroup.Properties.DisplayMember = "REASON_CODE_CATEGORY_NAME"; this.lueHoldGroup.Properties.ValueMember = "REASON_CODE_CATEGORY_KEY"; } else { this.lueHoldGroup.Properties.DataSource = null; } } }
private void txtPallet_NO_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { LotQueryEntity queryEntity = new LotQueryEntity(); LotOperationEntity workOrderEntity = new LotOperationEntity(); DataSet dsLotInfo = new DataSet(); dsLotInfo = queryEntity.GetLotInfoByPallet_No(txtPallet_NO.Text); if (!string.IsNullOrEmpty(queryEntity.ErrorMsg)) { MessageService.ShowError(queryEntity.ErrorMsg); return; } //该托盘号有数据 if (dsLotInfo.Tables[0].Rows.Count > 0) { //获得该托盘号对应的料号 string partNumber = dsLotInfo.Tables[0].Rows[0][POR_LOT_FIELDS.FIELD_PART_NUMBER].ToString(); //获得该托盘号对应的工单号 string workOrder = dsLotInfo.Tables[0].Rows[0][POR_LOT_FIELDS.FIELD_WORK_ORDER_NO].ToString(); string ocrCode = ""; //获取该工单号的数据 DataSet dsProductData = workOrderEntity.GetWoProductData(workOrder); if (string.IsNullOrEmpty(workOrderEntity.ErrorMsg)) { //查到工单对应的数据 if (dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows.Count > 0) { //工单号对应的料号与托盘号对应的料号一致,执行第二次请求,需回填新工单号字段 if (dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows[0][POR_WORK_ORDER_FIELDS.FIELD_PART_NUMBER].ToString() == partNumber) { //执行第二次请求 ReceiveSecondDataObject receiveSecondDataObject = new ReceiveSecondDataObject(); receiveSecondDataObject = InvokeSecondAPI(DateTime.Now, "", "", Convert.ToInt32(workOrder), dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows.Count, 0); //receiveSecondDataObject = InvokeSecondAPI(DateTime.Now, "", "", // 41, 1, 0); //调用成功 if (receiveSecondDataObject != null && receiveSecondDataObject.Code == "0") { int newInWarehouseOrder = 0; newInWarehouseOrder = receiveSecondDataObject.Data.DocEntry; //回填por_lot表新工单号 bool isUpdatePor_lot = workOrderEntity.UpdatePor_Lot(workOrder.ToString(), txtPallet_NO.Text); if (!isUpdatePor_lot) { MessageService.ShowError("新工单号写入失败"); return; } MessageService.ShowMessage("新工单号填入成功"); //回填Wip_consignment表入库单号 bool isUpdateWip_consignment = workOrderEntity.UpdateWip_consignment(newInWarehouseOrder.ToString(), txtPallet_NO.Text); if (!isUpdateWip_consignment) { MessageService.ShowError("入库单号写入失败"); return; } MessageService.ShowMessage("入库单号写入成功"); dtgc.Clear(); DataRow dr = dtgc.NewRow(); dr["gcWorkOrder"] = workOrder; dr["gcProductCode"] = partNumber; dr["gcQty"] = dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows.Count; dr["gcNewWorkOrder"] = workOrder; } else { MessageService.ShowError("调用第二次接口失败"); } } //不一致,执行第一次请求,再执行第二次请求,需回填por_lot新工单号字段 else { ReceiveFirstDataObject receiveFirstDataObject = new ReceiveFirstDataObject(); //receiveFirstDataObject = InvokeFirstAPI("2010005103", 1, // "301", DateTime.Now, DateTime.Now, DateTime.Now, "41", // dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows[0][POR_WORK_ORDER_FIELDS.FIELD_OCRCODE].ToString(), ""); receiveFirstDataObject = InvokeFirstAPI(partNumber, dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows.Count, dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows[0][POR_WORK_ORDER_FIELDS.FIELD_STOCK_LOCATION].ToString(), DateTime.Now, DateTime.Now, DateTime.Now, workOrder, dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows[0][POR_WORK_ORDER_FIELDS.FIELD_OCRCODE].ToString(), ""); //调用成功 if (receiveFirstDataObject != null && receiveFirstDataObject.Code == "0") { int newWorkOrder = 0; try { newWorkOrder = Convert.ToInt32(receiveFirstDataObject.Data.DocEntry); } catch (Exception ex) { MessageService.ShowError("新工单号格式错误"); return; } //回填por_lot表新工单号 bool isUpdatePor_lot = workOrderEntity.UpdatePor_Lot(newWorkOrder.ToString(), txtPallet_NO.Text); if (!isUpdatePor_lot) { MessageService.ShowError("新工单号写入失败"); return; } else { MessageService.ShowMessage("新工单号写入成功"); } //执行第二次请求 ReceiveSecondDataObject receiveSecondDataObject = new ReceiveSecondDataObject(); receiveSecondDataObject = InvokeSecondAPI(DateTime.Now, "", "", Convert.ToInt32(receiveFirstDataObject.Data.DocEntry), dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows.Count, 0); //receiveSecondDataObject = InvokeSecondAPI(DateTime.Now, "", "", // 41, 1, 0); //调用成功 if (receiveSecondDataObject.Code == "0") { int newInWarehouseOrder = 0; newInWarehouseOrder = receiveSecondDataObject.Data.DocEntry; //回填Wip_consignment表入库单号 bool isUpdateWip_consignment = workOrderEntity.UpdateWip_consignment(newInWarehouseOrder.ToString(), txtPallet_NO.Text); if (!isUpdateWip_consignment) { MessageService.ShowError("入库单号写入失败"); return; } else { MessageService.ShowMessage("入库单写入成功"); dtgc.Clear(); DataRow dr = dtgc.NewRow(); dr["gcWorkOrder"] = workOrder; dr["gcProductCode"] = partNumber; dr["gcQty"] = dsProductData.Tables[POR_WORK_ORDER_FIELDS.DATABASE_TABLE_NAME].Rows.Count; dr["gcNewWorkOrder"] = newWorkOrder; dtgc.Rows.Add(dr); } } else { MessageService.ShowError("调用第二次接口失败"); } } else { MessageService.ShowError("调用第一次接口失败"); return; } } } else { MessageService.ShowError("托盘号对应的工单没有明细"); return; } } else { MessageService.ShowError(workOrderEntity.ErrorMsg); return; } } else { MessageService.ShowError("托盘号不存在!"); return; } } }