Exemple #1
0
        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}");
            }
        }
Exemple #2
0
        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;
     }
 }
Exemple #4
0
        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;
            }
        }
Exemple #5
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;
            }
        }
Exemple #6
0
        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
            {
            }
        }
Exemple #7
0
        //梦想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;
            }
        }