private int drawMoveOffset = 70; //图纸移动偏移量 public ProduceProceViewModel(AxMxDrawXLib.AxMxDrawX _axMxDrawX) { try { axMxDrawX = _axMxDrawX; LogHelper.WriteLog($"加载完成mxCAD控件"); workSteps = GetWorkStepsData(); LogHelper.WriteLog($"加载工步完成"); drawings = GetDrawingsData(); LogHelper.WriteLog($"加载图纸完成"); maintains = ConvertCommon.ToObservable(GetMaintainData()); LogHelper.WriteLog($"加载物料完成"); Task.Run(() => { Execute.OnUIThread(() => { ProjectName = StoreInfoModel.ProducePlanInfo.GetProject.ProjectName.Trim(); LogHelper.WriteLog($"获取到项目名"); PartName = StoreInfoModel.ProducePlanInfo.GetProcessBOM.PartName.Trim(); LogHelper.WriteLog($"获取到零件名"); PartFigure = StoreInfoModel.ProducePlanInfo.GetProcessBOM.PartFigureCode.Trim(); LogHelper.WriteLog($"获取到图号"); if (WorkSteps.Count > 0) { LogHelper.WriteLog($"工步数量:{WorkSteps.Count}"); SelectWorkStepsIndex = 0; } if (Maintains.Count > 0) { LogHelper.WriteLog($"物料数量:{Maintains.Count}"); SelectMaintainIndex = 0; } if (Drawings.Count > 0) { LogHelper.WriteLog($"图纸数量:{Drawings.Count}"); SelectDrawingsIndex = 0; } }); }); LogHelper.WriteLog($"正在绑定命令"); QrCodeScanCommand = new DelegateCommand(obj => QrCodeScan(obj)); MxDrawCommand = new DelegateCommand(obj => MxDrawOperate(obj)); LogHelper.WriteLog($"绑定命令完成"); } catch (Exception ex) { LogHelper.WriteLog($"初始化生产看图纸页面出现异常:{ex}"); } }
public void UpdateOnExcel(InsureCarData newItem) { try { MemberData member = (MemberData)DataCommon.Get("DATA.MEMBER"); DBbase.Connect(); StringBuilder sql = new StringBuilder(); sql.Append("UPDATE MA_INSURE_CAR SET "); sql.Append(" COMPANY_CODE = N'" + newItem.COMPANY_CODE + "',"); sql.Append(" PACKAGE_NAME = N'" + newItem.PACKAGE_NAME + "',"); sql.Append(" CAR_ID = '" + newItem.CAR_ID + "',"); sql.Append(" INSURE_CATEGORY = N'" + newItem.INSURE_CATEGORY + "',"); //sql.Append(" INSURE_TYPE_REPAIR = '" + newItem.INSURE_TYPE_REPAIR + "',"); sql.Append(" CAR_YEAR = N'" + newItem.CAR_YEAR + "',"); sql.Append(" LIVE_COVERAGE_PEOPLE = '" + newItem.LIVE_COVERAGE_PEOPLE + "',"); sql.Append(" LIVE_COVERAGE_TIME = '" + newItem.LIVE_COVERAGE_TIME + "',"); sql.Append(" ASSET_TIME = '" + newItem.ASSET_TIME + "',"); sql.Append(" INSURE_TYPE_REPAIR = '" + newItem.INSURE_TYPE_REPAIR + "',"); sql.Append(" DAMAGE_TO_VEHICLE = '" + newItem.DAMAGE_TO_VEHICLE + "',"); sql.Append(" MISSING_FIRE_CAR = '" + newItem.MISSING_FIRE_CAR + "',"); sql.Append(" FIRST_DAMAGE_PRICE = '" + newItem.FIRST_DAMAGE_PRICE + "',"); sql.Append(" PERSONAL_ACCIDENT_AMT = '" + newItem.PERSONAL_ACCIDENT_AMT + "',"); sql.Append(" PERSONAL_ACCIDENT_PEOPLE = '" + newItem.PERSONAL_ACCIDENT_PEOPLE + "',"); sql.Append(" MEDICAL_FEE_AMT = '" + newItem.MEDICAL_FEE_AMT + "',"); sql.Append(" MEDICAL_FEE_PEOPLE = '" + newItem.MEDICAL_FEE_PEOPLE + "',"); sql.Append(" DRIVER_INSURANCE_AMT = '" + newItem.DRIVER_INSURANCE_AMT + "',"); sql.Append(" NET_PRICE = '" + newItem.NET_PRICE + "',"); sql.Append(" TOTAL_PRICE = '" + newItem.TOTAL_PRICE + "',"); sql.Append(" PRICE_ROUND = '" + newItem.PRICE_ROUND + "',"); sql.Append(" CAPITAL_INSURANCE = '" + newItem.CAPITAL_INSURANCE + "',"); sql.Append(" INSURE_PRIORITY = '" + newItem.INSURE_PRIORITY + "',"); sql.Append(" EFFECTIVE_DATE = '" + ConvertCommon.ConvertDateTime(newItem.EFFECTIVE_DATE) + "',"); sql.Append(" EXPIRE_DATE = '" + ConvertCommon.ConvertDateTime(newItem.EXPIRE_DATE) + "',"); sql.Append(" CONFIDENTIAL_STATUS = '" + newItem.CONFIDENTIAL_STATUS + "',"); sql.Append(" UPDATE_DATE = '" + ConvertCommon.ConvertDateTime(DateTime.Now) + "',"); sql.Append(" UPDATE_USER = '******'"); sql.Append(" WHERE COMPANY_CODE = '" + newItem.COMPANY_CODE + "'"); sql.Append(" AND PACKAGE_NAME = '"+ newItem.PACKAGE_NAME + "'"); sql.Append(" AND CAR_ID = '"+ newItem.CAR_ID + "'"); sql.Append(" AND INSURE_CATEGORY = '"+ newItem.INSURE_CATEGORY + "'"); sql.Append(" AND INSURE_TYPE_REPAIR = '"+ newItem.INSURE_TYPE_REPAIR + "'"); sql.Append(" AND CAR_YEAR = '"+ newItem.CAR_YEAR + "'"); sql.Append(" AND DAMAGE_TO_VEHICLE = '" + newItem.DAMAGE_TO_VEHICLE + "'"); SqlCommand cmd = new SqlCommand(sql.ToString(), DBbase.con); cmd.ExecuteNonQuery(); DBbase.DisConnect(); } catch (Exception ex) { throw ex; } }
public void UpdateStatus(string code) { try { MemberData member = (MemberData)DataCommon.Get("DATA.MEMBER"); DBbase.Connect(); StringBuilder sql = new StringBuilder(); sql.Append("UPDATE TA_SELECT_INSURANCE "); sql.Append("SET SELECT_INSURANCE_STATUS = '02',"); sql.Append(" WINDOW_IP = '" + UtilityCommon.GetLocalIPAddress() + "',"); sql.Append(" UPDATE_DATE = '" + ConvertCommon.ConvertDateTime(DateTime.Now) + "',"); sql.Append(" UPDATE_USER = '******'"); sql.Append(" WHERE SELECT_INSURANCE_CODE = '" + code + "'"); SqlCommand cmd = new SqlCommand(sql.ToString(), DBbase.con); cmd.ExecuteNonQuery(); DBbase.DisConnect(); } catch (Exception ex) { throw ex; } }
public void QrCodeScan(object obj) { string code = obj.ToString(); QrCode = ""; if (string.IsNullOrEmpty(code)) { return; } WindowHelper.MaterialScanWindow = new WindowMaterialScan(code); WindowHelper.MaterialScanWindow.ShowDialog(); new SerialPortScanCode().Start(); WindowHelper.IsOpenMaterialScanWindow = false; new MaterialInfoBLL().GetMaterialDetail(); Maintains = ConvertCommon.ToObservable(GetMaintainData()); if (Maintains.Count > 0) { SelectMaintainIndex = 0; } }
public void InsertList(List <InsureCarData> listItem) { try { MemberData member = (MemberData)DataCommon.Get("DATA.MEMBER"); int row = 1; SqlCommand cmd; string query = ""; StringBuilder sql; foreach (InsureCarData item in listItem) { DBbase.Connect(); sql = new StringBuilder(); sql.Append(@"INSERT INTO MA_INSURE_CAR (INSURE_CAR_CODE, COMPANY_CODE, PACKAGE_NAME, CAR_ID, INSURE_CATEGORY,INSURE_TYPE_REPAIR,CAR_YEAR,LIVE_COVERAGE_PEOPLE, LIVE_COVERAGE_TIME,ASSET_TIME,DAMAGE_TO_VEHICLE,MISSING_FIRE_CAR,FIRST_DAMAGE_PRICE,PERSONAL_ACCIDENT_AMT,PERSONAL_ACCIDENT_PEOPLE,MEDICAL_FEE_AMT, MEDICAL_FEE_PEOPLE,DRIVER_INSURANCE_AMT,NET_PRICE,TOTAL_PRICE,PRICE_ROUND,CAPITAL_INSURANCE,INSURE_PRIORITY,EFFECTIVE_DATE,EXPIRE_DATE,CONFIDENTIAL_STATUS, INSURE_CAR_STATUS,CREATE_DATE,CREATE_USER,UPDATE_DATE,UPDATE_USER) VALUES "); string INSURE_CAR_CODE = DateTime.Now.ToString("yyyyMMdd") + "-" + item.COMPANY_CODE.ToUpper() + "-" + item.PACKAGE_NAME; INSURE_CAR_CODE += "-" + item.CAR_ID + "-" + item.INSURE_CATEGORY; INSURE_CAR_CODE += (item.INSURE_TYPE_REPAIR == "ศูนย์") ? "C" : "G" + "-" + item.CAR_YEAR; sql.Append("( N'" + INSURE_CAR_CODE + "',"); sql.Append(" N'" + item.COMPANY_CODE.ToUpper() + "',"); sql.Append(" N'" + item.PACKAGE_NAME + "',"); sql.Append(" '" + item.CAR_ID + "',"); sql.Append(" N'" + item.INSURE_CATEGORY + "',"); sql.Append(" N'" + item.INSURE_TYPE_REPAIR + "',"); sql.Append(" N'" + item.CAR_YEAR + "',"); sql.Append(" '" + item.LIVE_COVERAGE_PEOPLE + "',"); sql.Append(" '" + item.LIVE_COVERAGE_TIME + "',"); sql.Append(" '" + item.ASSET_TIME + "',"); sql.Append(" '" + item.DAMAGE_TO_VEHICLE + "',"); sql.Append(" '" + item.MISSING_FIRE_CAR + "',"); sql.Append(" '" + item.FIRST_DAMAGE_PRICE + "',"); sql.Append(" '" + item.PERSONAL_ACCIDENT_AMT + "',"); sql.Append(" '" + item.PERSONAL_ACCIDENT_PEOPLE + "',"); sql.Append(" '" + item.MEDICAL_FEE_AMT + "',"); sql.Append(" '" + item.MEDICAL_FEE_PEOPLE + "',"); sql.Append(" '" + item.DRIVER_INSURANCE_AMT + "',"); sql.Append(" '" + item.NET_PRICE + "',"); sql.Append(" '" + item.TOTAL_PRICE + "',"); sql.Append(" '" + item.PRICE_ROUND + "',"); sql.Append(" '" + item.CAPITAL_INSURANCE + "',"); sql.Append(" '" + item.INSURE_PRIORITY + "',"); sql.Append(" '" + ConvertCommon.ConvertDateTime(item.EFFECTIVE_DATE) + "',"); sql.Append(" '" + ConvertCommon.ConvertDateTime(item.EXPIRE_DATE) + "',"); sql.Append(" '" + item.CONFIDENTIAL_STATUS + "',"); sql.Append(" '" + item.INSURE_CAR_STATUS + "',"); sql.Append(" '" + ConvertCommon.ConvertDateTime(DateTime.Now) + "',"); sql.Append(" '" + member.MEMBER_USER + "',"); sql.Append(" '" + ConvertCommon.ConvertDateTime(DateTime.Now) + "',"); sql.Append(" '" + member.MEMBER_USER + "') "); row++; try { query = sql.ToString(); cmd = new SqlCommand(query.Remove(query.Length - 1), DBbase.con); cmd.ExecuteNonQuery(); } catch (SqlException exception) { if (exception.Number == 1062) // Cannot insert duplicate key row in object error { } else { throw exception; // throw exception if this exception is unexpected } } DBbase.DisConnect(); } } catch (Exception ex) { throw ex; } }
private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { int n = serialPort.BytesToRead; byte[] buf = new byte[n]; serialPort.Read(buf, 0, n); for (int i = 0; i < n; i++) { readStr += ConvertCommon.ToStringByASCII(buf[i]).ToUpper(); } string[] LampMacDatab = readStr.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); Application.Current.Dispatcher.BeginInvoke(new Action(() => { if (LampMacDatab.Length >= 3) { for (int i = 1; i < LampMacDatab.Length - 2; i++) { DealWithBarCode(LampMacDatab[i]); } if (readStr.Substring(readStr.Length - 2).Equals("\r\n")) { DealWithBarCode(LampMacDatab[LampMacDatab.Length - 1]); } else { readStr = LampMacDatab[LampMacDatab.Length - 1]; } } else { if (LampMacDatab.Length.Equals(0)) { //直接返回 } else if (LampMacDatab.Length.Equals(1)) { if (readStr.Length < 2) { } else { if (readStr.Substring(readStr.Length - 2).Equals("\r\n")) { DealWithBarCode(LampMacDatab[0]); readStr = ""; } else { } } } else if (LampMacDatab.Length.Equals(2)) { DealWithBarCode(LampMacDatab[0]); if (readStr.Substring(readStr.Length - 2).Equals("\r\n")) { DealWithBarCode(LampMacDatab[1]); } else { readStr = LampMacDatab[1]; } } else { //这是什么情况 } } })); } catch { } }
//梦想CAD控件操作 public void MxDrawOperate(object obj) { //https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.input.key?view=netframework-4.5 switch (obj) { case Key.Enter: //弹出扫码界面 //WindowMaterialScan windowA = new WindowMaterialScan(); //windowA.ShowDialog(); WindowHelper.MaterialScanWindow = new WindowMaterialScan(); WindowHelper.MaterialScanWindow.ShowDialog(); new SerialPortScanCode().Start(); WindowHelper.IsOpenMaterialScanWindow = false; //重加载物料数据 new MaterialInfoBLL().GetMaterialDetail(); Maintains = ConvertCommon.ToObservable(GetMaintainData()); if (Maintains.Count > 0) { SelectMaintainIndex = 0; } if ((WindowHelper.MaterialScanWindow as WindowMaterialScan).OperateType.Equals(0)) { //不操作 } else { //弹出选择 完工/暂停/取消 窗口 WindowProceState windowB = new WindowProceState(); windowB.ShowDialog(); //完工 if (windowB.SelectState.Equals(0)) { ResultModel resultA = ProduceProceInfoBLL.IsLastProcess(); if (resultA.Result) { //是最后一道工序 if (Convert.ToBoolean(resultA.Data)) { //判断物料是否扫码完成 bool isComplete = true; foreach (var item in Maintains) { if (!item.PartQuantity.Equals(item.PartAlreadyScanQuantity)) { isComplete = false; break; } } if (!isComplete) { MessageBox.Show(@"物料未扫完,禁止完工!", "提示", MessageBoxButton.OK, MessageBoxImage.Warning); } else { //提示打码 MessageBoxResult boxResult = MessageBox.Show("是否打码?", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Question); if (boxResult == MessageBoxResult.OK) { //获取条码 ResultModel resultE = ProduceProceInfoBLL.GenerateBarCode(StoreInfoModel.MaterialInfo.GetProcessBom.InventoryCode); if (resultE.Result) { int PointX = -25; //起始点X坐标 int PointY = 0; //起始点Y坐标 //string PrintName = "Honeywell PC42t (203 dpi) - DP";//打印机名称 string PrintName = ConfigInfoModel.PrintMachineName; //打印机名称 string ContractName = StoreInfoModel.ProducePlanInfo.GetProjectProduceDetial.ContractCode; //合同 string ProductName = StoreInfoModel.ProducePlanInfo.GetProjectDetail.ProductName; //产品 string PartCode = StoreInfoModel.MaterialInfo.GetProcessBom.PartFigureCode; //零件图号 string PartName = StoreInfoModel.MaterialInfo.GetProcessBom.PartName; //零件名称 string MaterialName = StoreInfoModel.MaterialInfo.GetProcessBom.MaterialCode; //材质 string BarCode = resultE.Data.ToString(); //条码 bool isOK = CsBarCodePrint.BarCodePrint(PrintName, PointX, PointY, ContractName, ProductName, PartCode, PartName, MaterialName, BarCode); if (isOK) { MessageBox.Show("打印成功!", "提示", MessageBoxButton.OK, MessageBoxImage.Asterisk); ResultModel resultD = ProduceProceInfoBLL.ProduceProceResult(0, windowB.SelectNum, ProduceProceInfoBLL.ProduceProceStateEnum.CompleteTask); if (resultD.Result) { WindowHelper.ShowPageProducePlan(); } else { MessageBox.Show(resultD.Msg, "提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("打印失败!", "提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show(resultE.Msg, "提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } } } //不是最后一道工序 else { ResultModel resultB = ProduceProceInfoBLL.ProduceProceResult(0, windowB.SelectNum, ProduceProceInfoBLL.ProduceProceStateEnum.CompleteTask); if (resultB.Result) { WindowHelper.ShowPageProducePlan(); } else { MessageBox.Show(resultB.Msg, "提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } } else { MessageBox.Show(resultA.Msg, "提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } //暂停 else if (windowB.SelectState.Equals(1)) { ResultModel resultC = ProduceProceInfoBLL.ProduceProceResult(windowB.PauseReson, 0, ProduceProceInfoBLL.ProduceProceStateEnum.PauseTask); if (resultC.Result) { WindowHelper.ShowPageProducePlan(); } else { MessageBox.Show(resultC.Msg, "提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } //取消 else { } } break; case Key.Up: pointY -= drawMoveOffset; axMxDrawX.ZoomCenter(pointX, pointY); break; case Key.Down: pointY += drawMoveOffset; axMxDrawX.ZoomCenter(pointX, pointY); break; case Key.Left: pointX += drawMoveOffset; axMxDrawX.ZoomCenter(pointX, pointY); break; case Key.Right: pointX -= drawMoveOffset; axMxDrawX.ZoomCenter(pointX, pointY); break; case Key.OemPlus: //+ case Key.Add: //+ case Key.OemCloseBrackets: //} MouseSimulateWheelEvent(150); break; case Key.OemMinus: //- case Key.Subtract: //- case Key.OemOpenBrackets: //{ MouseSimulateWheelEvent(-120); break; default: break; } }