Compare commits

22 Commits

Author SHA1 Message Date
ske087
e6193511e0 updated structure 2025-12-13 14:52:37 +02:00
ske087
1a3e26d86d updated to set boxes , and updated to fill boxes 2025-12-10 22:30:52 +02:00
ske087
1e5572a5e9 aded main dashboard button on header 2025-12-10 19:45:13 +02:00
ske087
c7f5203aa7 Add boxes/crates management system to warehouse module
- Created boxes_crates table with 8-digit auto-generated box numbers
- Added manage_boxes route and full CRUD operations
- Implemented box status tracking (open/closed)
- Added location assignment functionality
- Integrated QZ Tray printing with barcode labels
- Created manage_boxes.html with table, preview, and print features
- Added 'Manage Boxes/Crates' card to warehouse main page
- Boxes can be created without location and assigned later
- Includes delete functionality for admin/management roles
- Added box statistics display
2025-12-07 00:31:41 +02:00
ske087
f8209e0e0a updated to fix create location page 2025-12-06 23:29:23 +02:00
ske087
5905c693e6 udpdated vier and checked some documentation 2025-12-01 23:48:09 +02:00
ske087
f710c85102 moved the old code folder 2025-11-29 20:28:36 +02:00
ske087
8696dbbeac Add comprehensive README with current project status 2025-11-29 20:27:59 +02:00
ske087
41f9caa6ba Improve maintenance & backup UI with per-table operations
- Enhanced maintenance card with dark mode support
- Added system storage information display (logs, database, backups)
- Implemented per-table backup and restore functionality
- Added database table management with drop capability
- Restructured backup management UI with split layout:
  - Quick action buttons for full/data-only backups
  - Collapsible per-table backup/restore section
  - Split schedule creation (1/3) and active schedules list (2/3)
- Fixed database config loading to use mariadb module
- Fixed SQL syntax for reserved 'rows' keyword
- Removed System Information card
- All database operations use correct config keys from external_server.conf
2025-11-29 20:23:40 +02:00
ske087
7912885046 User management and module improvements
- Added daily_mirror module to permissions system
- Fixed user module management - updates now work correctly
- Implemented dashboard module filtering based on user permissions
- Fixed warehouse create_locations page (config parser and delete)
- Implemented POST-Redirect-GET pattern to prevent duplicate entries
- Added application license system with validation middleware
- Cleaned up debug logging code
- Improved user module selection with fetch API instead of form submit
2025-11-29 14:16:36 +02:00
ske087
3e314332a7 updated files 2025-11-26 22:00:44 +02:00
ske087
d070db0052 Fix print_lost_labels compact styling and production data import
- Added compact table styling to print_lost_labels page (smaller fonts, reduced padding)
- Fixed production data import missing fields (production_order_line, line_number)
- Added better error handling and logging for Excel file imports
- Skip empty rows in production data import
- Log all columns and columns with data for debugging
2025-11-26 21:59:03 +02:00
ske087
d3a0123acc updating daily miror 2025-11-25 00:12:15 +02:00
ske087
c38b5d7b44 Add Daily Mirror interactive dashboard with charts and pivot tables
- Created comprehensive dashboard with Chart.js visualizations
- Added API endpoint /api/dashboard_data for aggregated data
- Implemented weekly tracking for orders, production, and deliveries
- Added interactive pivot table for customer × week analysis
- Fixed collation issues in database joins
- Includes 4 summary cards with key metrics
- Charts display orders, production finished, and deliveries by week
- Click-to-expand data tables for detailed view
- Time range filter (4-52 weeks)
- Data sources: scanfg_orders (finished), dm_orders, dm_deliveries
2025-11-25 00:09:19 +02:00
ske087
c6e254c390 updated aplications database 2025-11-22 22:26:23 +02:00
Quality System Admin
4d6bd537e3 updated siles 2025-11-22 18:51:13 +02:00
ske087
5de2584b27 Fix FG quality page: Display OK for quality code 0, export CSV with 0 value 2025-11-13 04:26:46 +02:00
ske087
0d98c527c6 Fix config file parsing and improve backup/restore functionality
- Fix external_server.conf parsing to skip comment lines and empty lines
- Update routes.py get_db_connection() to handle comments
- Update settings.py get_external_db_connection() to handle comments
- Improve restore_backup() to use mariadb command instead of Python parsing
- Remove SQLite database creation (MariaDB only)
- Add environment detection for dump command (mariadb-dump vs mysqldump)
- Add conditional SSL flag based on Docker environment
- Fix database restore to handle MariaDB sandbox mode comments
2025-11-13 03:59:27 +02:00
ske087
9d14d67e52 Add compatibility layer for Docker and Gunicorn deployments
- Auto-detect mysqldump vs mariadb-dump command
- Conditional SSL flag based on Docker environment detection
- Works in both Docker containers and standard systemd deployments
- No breaking changes to existing functionality
2025-11-13 02:51:07 +02:00
ske087
2ce918e1b3 Docker deployment improvements: fixed backup/restore, sticky headers, quality code display 2025-11-13 02:40:36 +02:00
Quality System Admin
3b69161f1e complet updated 2025-11-06 21:34:02 +02:00
Quality System Admin
7f19a4e94c updated access 2025-11-06 21:33:52 +02:00
616 changed files with 11246 additions and 87921 deletions

4
.gitignore vendored
View File

@@ -45,3 +45,7 @@ instance/external_server.conf
*.backup2 *.backup2
/logs /logs
/backups
/config
/data

View File

@@ -53,6 +53,7 @@ ENV PYTHONDONTWRITEBYTECODE=1 \
# Install only runtime dependencies (much smaller than build deps) # Install only runtime dependencies (much smaller than build deps)
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
default-libmysqlclient-dev \ default-libmysqlclient-dev \
mariadb-client \
curl \ curl \
ca-certificates \ ca-certificates \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \

185
README.md
View File

@@ -1,74 +1,149 @@
# Quality Recticel Application # Quality Recticel Application
Production traceability and quality management system. Production-ready Flask application for quality management and traceability.
## 📚 Documentation ## 📋 Current Status (November 29, 2025)
All development and deployment documentation has been moved to the **[documentation](./documentation/)** folder. ### ✅ Production Environment
- **Deployment**: Docker containerized with docker-compose
- **Web Server**: Gunicorn WSGI server (8 workers)
- **Database**: MariaDB 11.3
- **Python**: 3.10-slim
- **Status**: Running and healthy on port 8781
### Quick Links ### 🎨 Recent UI/UX Improvements
- **[Documentation Index](./documentation/README.md)** - Complete documentation overview #### Maintenance Card
- **[Database Setup](./documentation/DATABASE_DOCKER_SETUP.md)** - Database configuration guide - ✅ Dark mode support with CSS custom properties
- **[Docker Guide](./documentation/DOCKER_QUICK_REFERENCE.md)** - Docker commands reference - ✅ System storage information display (logs, database, backups)
- **[Backup System](./documentation/BACKUP_SYSTEM.md)** - Database backup documentation - ✅ Database table management with drop functionality
- ✅ Improved visual hierarchy and spacing
## 🚀 Quick Start #### Backup Management
- ✅ Quick action buttons (Full Backup, Data-Only, Refresh)
- ✅ Per-table backup and restore functionality
- ✅ Collapsible table operations section
- ✅ Split layout: Schedule creation (1/3) + Active schedules (2/3)
- ✅ Modern card-based interface
```bash ### 🔧 Technical Fixes
# Start application - ✅ Fixed database config loading to use `mariadb` Python module
cd /srv/quality_app/py_app - ✅ Corrected SQL syntax for reserved keyword `rows`
bash start_production.sh - ✅ All endpoints use proper config keys (`server_domain`, `username`, `database_name`)
- ✅ Storage paths configured for Docker environment (`/srv/quality_app/logs`, `/srv/quality_app/backups`)
- ✅ Resolved duplicate Flask route function names
# Stop application ### 📂 Project Structure
bash stop_production.sh
# View logs
tail -f /srv/quality_app/logs/error.log
``` ```
/srv/quality_app/
## 📦 Docker Deployment ├── py_app/ # Python application
│ ├── app/ # Flask application package
```bash │ │ ├── __init__.py # App factory
# Start with Docker Compose │ │ ├── routes.py # Route handlers (5200+ lines)
docker-compose up -d │ │ ├── models.py # Database models
│ │ ├── database_backup.py # Backup management
# View logs │ │ └── templates/ # Jinja2 templates
docker-compose logs -f web │ │ └── settings.html # Settings & maintenance UI
│ ├── static/ # CSS, JS, images
# Stop services │ ├── instance/ # Instance-specific config
docker-compose down │ ├── requirements.txt # Python dependencies
``` │ └── wsgi.py # WSGI entry point
## 🔐 Default Access
- **URL**: http://localhost:8781
- **Username**: superadmin
- **Password**: superadmin123
## 📁 Project Structure
```
quality_app/
├── documentation/ # All documentation files
├── py_app/ # Flask application
├── backups/ # Database backups ├── backups/ # Database backups
├── logs/ # Application logs ├── logs/ # Application logs
├── docker-compose.yml # Docker configuration ├── documentation/ # Project documentation
── Dockerfile # Container image definition ── docker-compose.yml # Container orchestration
├── Dockerfile # Multi-stage build
└── docker-entrypoint.sh # Container initialization
``` ```
## 📖 For More Information ### 🗄️ Database
- **Engine**: MariaDB 11.3
- **Host**: db (Docker network)
- **Port**: 3306
- **Database**: trasabilitate
- **Size monitoring**: Real-time via information_schema
- **Backup support**: Full, data-only, per-table
See the **[documentation](./documentation/)** folder for comprehensive guides on: ### 🔐 Security & Access Control
- **Role-based access**: superadmin, admin, warehouse_manager, worker, etc.
- **Session management**: Flask sessions
- **Database operations**: Limited to superadmin/admin roles
- **Table operations**: Admin-plus decorator protection
- Setup and deployment ### 🚀 Deployment
- Docker configuration
- Database management #### Start Application
- Backup and restore procedures ```bash
- Application features cd /srv/quality_app
docker compose up -d
```
#### Stop Application
```bash
docker compose down
```
#### View Logs
```bash
docker logs quality-app --tail 100 -f
```
#### Rebuild After Changes
```bash
docker compose down
docker compose build
docker compose up -d
```
### 📊 API Endpoints (Maintenance)
#### Storage Information
- `GET /api/maintenance/storage-info` - Get logs/database/backups sizes
#### Database Tables
- `GET /api/maintenance/database-tables` - List all tables with stats
- `POST /api/maintenance/drop-table` - Drop a database table (dangerous)
#### Per-Table Backups
- `POST /api/backup/table` - Backup single table
- `GET /api/backup/table-backups` - List table-specific backups
- `POST /api/restore/table` - Restore single table from backup
### 🔍 Monitoring
- **Health Check**: Docker health checks via curl
- **Container Status**: `docker compose ps`
- **Application Logs**: `/srv/quality_app/logs/` (access.log, error.log)
- **Database Status**: Included in storage info
### 📝 Recent Changes
**Commit**: `41f9caa` - Improve maintenance & backup UI with per-table operations
- Enhanced maintenance card with dark mode
- Added system storage monitoring
- Implemented per-table database operations
- Restructured backup UI with better organization
- Fixed database connectivity and SQL syntax issues
### 🔄 Git Repository
- **Branch**: `docker_updates`
- **Remote**: https://gitea.moto-adv.com/ske087/quality_app.git
- **Status**: Up to date with origin
### 🐛 Known Issues
None currently reported.
### 📚 Documentation
Additional documentation available in `/srv/quality_app/documentation/`:
- Backup system guide
- Database structure
- Docker deployment
- Restore procedures
### 👥 Development Team
- **Active Branch**: docker_updates
- **Last Updated**: November 29, 2025
- **Deployment**: Production environment
--- ---
**Version**: 1.0.0 For more detailed information, see the documentation folder or contact the development team.
**Last Updated**: November 3, 2025

View File

@@ -1,101 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Management_Resurse_Companie.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<section name="Quality_Scan.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<Management_Resurse_Companie.My.MySettings>
<setting name="serverName" serializeAs="String">
<value>PH-OMEN\SQLEXPRESS</value>
</setting>
<setting name="serverPort" serializeAs="String">
<value />
</setting>
<setting name="serverUser" serializeAs="String">
<value>sa</value>
</setting>
<setting name="serverUserpass" serializeAs="String">
<value>Recticel@123</value>
</setting>
<setting name="serverdatabase" serializeAs="String">
<value>calitate</value>
</setting>
<setting name="adminPass" serializeAs="String">
<value>Aquinos@123</value>
</setting>
<setting name="subnet" serializeAs="String">
<value>False</value>
</setting>
<setting name="reason" serializeAs="String">
<value>ReadWrite</value>
</setting>
<setting name="cert" serializeAs="String">
<value>False</value>
</setting>
<setting name="timeout" serializeAs="String">
<value>30</value>
</setting>
<setting name="encrypt" serializeAs="String">
<value>False</value>
</setting>
<setting name="ServerNameW" serializeAs="String">
<value>bewetms252.be.recticel.net\wizpro2</value>
</setting>
<setting name="ServerPortW" serializeAs="String">
<value />
</setting>
<setting name="ServerUserPasW" serializeAs="String">
<value>789uiop.1!</value>
</setting>
<setting name="ServerDatabaseW" serializeAs="String">
<value>bkp2360</value>
</setting>
<setting name="ServerUserW" serializeAs="String">
<value>sa</value>
</setting>
<setting name="SubnetW" serializeAs="String">
<value>False</value>
</setting>
</Management_Resurse_Companie.My.MySettings>
<Quality_Scan.My.MySettings>
<setting name="serverName" serializeAs="String">
<value>PH-OMEN\SQLEXPRESS</value>
</setting>
<setting name="serverPort" serializeAs="String">
<value />
</setting>
<setting name="serverUser" serializeAs="String">
<value>sa</value>
</setting>
<setting name="serverUserpass" serializeAs="String">
<value>Recticel@123</value>
</setting>
<setting name="serverdatabase" serializeAs="String">
<value>calitate</value>
</setting>
<setting name="adminPass" serializeAs="String">
<value>Aquinos@123</value>
</setting>
<setting name="subnet" serializeAs="String">
<value>False</value>
</setting>
<setting name="reason" serializeAs="String">
<value>ReadWrite</value>
</setting>
<setting name="cert" serializeAs="String">
<value>False</value>
</setting>
<setting name="timeout" serializeAs="String">
<value>30</value>
</setting>
<setting name="encrypt" serializeAs="String">
<value>False</value>
</setting>
</Quality_Scan.My.MySettings>
</userSettings>
</configuration>

View File

@@ -1,29 +0,0 @@
Imports Microsoft.VisualBasic.ApplicationServices
Namespace My
' The following events are available for MyApplication:
' Startup: Raised when the application starts, before the startup form is created.
' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally.
' UnhandledException: Raised if the application encounters an unhandled exception.
' StartupNextInstance: Raised when launching a single-instance application and the application is already active.
' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected.
' **NEW** ApplyApplicationDefaults: Raised when the application queries default values to be set for the application.
' Example:
' Private Sub MyApplication_ApplyApplicationDefaults(sender As Object, e As ApplyApplicationDefaultsEventArgs) Handles Me.ApplyApplicationDefaults
'
' ' Setting the application-wide default Font:
' e.Font = New Font(FontFamily.GenericSansSerif, 12, FontStyle.Regular)
'
' ' Setting the HighDpiMode for the Application:
' e.HighDpiMode = HighDpiMode.PerMonitorV2
'
' ' If a splash dialog is used, this sets the minimum display time:
' e.MinimumSplashScreenDisplayTime = 4000
' End Sub
Partial Friend Class MyApplication
End Class
End Namespace

View File

@@ -1,382 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form1
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
Me.Button1 = New System.Windows.Forms.Button()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Button2 = New System.Windows.Forms.Button()
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
Me.Button3 = New System.Windows.Forms.Button()
Me.GroupBox3 = New System.Windows.Forms.GroupBox()
Me.Button4 = New System.Windows.Forms.Button()
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
Me.Button5 = New System.Windows.Forms.Button()
Me.GroupBox5 = New System.Windows.Forms.GroupBox()
Me.Button6 = New System.Windows.Forms.Button()
Me.Button7 = New System.Windows.Forms.Button()
Me.Button8 = New System.Windows.Forms.Button()
Me.GroupBox6 = New System.Windows.Forms.GroupBox()
Me.FlowLayoutPanel1 = New System.Windows.Forms.FlowLayoutPanel()
Me.Button9 = New System.Windows.Forms.Button()
Me.GroupBox7 = New System.Windows.Forms.GroupBox()
Me.GroupBox8 = New System.Windows.Forms.GroupBox()
Me.Button10 = New System.Windows.Forms.Button()
Me.GroupBox9 = New System.Windows.Forms.GroupBox()
Me.Button11 = New System.Windows.Forms.Button()
Me.SqlCommand1 = New Microsoft.Data.SqlClient.SqlCommand()
Me.GroupBox1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
Me.GroupBox3.SuspendLayout()
Me.GroupBox4.SuspendLayout()
Me.GroupBox5.SuspendLayout()
Me.GroupBox6.SuspendLayout()
Me.GroupBox7.SuspendLayout()
Me.GroupBox8.SuspendLayout()
Me.GroupBox9.SuspendLayout()
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.Location = New System.Drawing.Point(16, 33)
Me.Button1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(312, 56)
Me.Button1.TabIndex = 2
Me.Button1.Text = "Intra in forma de scanare calitate"
Me.Button1.UseVisualStyleBackColor = True
'
'GroupBox1
'
Me.GroupBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox1.Controls.Add(Me.Button1)
Me.GroupBox1.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox1.Location = New System.Drawing.Point(21, 102)
Me.GroupBox1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox1.Size = New System.Drawing.Size(366, 115)
Me.GroupBox1.TabIndex = 2
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Detalii Logare program scanare Calitate"
'
'Button2
'
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.ForeColor = System.Drawing.Color.Red
Me.Button2.Location = New System.Drawing.Point(63, 20)
Me.Button2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(153, 54)
Me.Button2.TabIndex = 0
Me.Button2.Text = "Acces Setari"
Me.Button2.UseVisualStyleBackColor = True
'
'GroupBox2
'
Me.GroupBox2.BackColor = System.Drawing.Color.Brown
Me.GroupBox2.Controls.Add(Me.Button2)
Me.GroupBox2.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox2.ForeColor = System.Drawing.Color.White
Me.GroupBox2.Location = New System.Drawing.Point(724, 396)
Me.GroupBox2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox2.Size = New System.Drawing.Size(296, 90)
Me.GroupBox2.TabIndex = 3
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "Completeaza campuri de logare server"
'
'Button3
'
Me.Button3.Font = New System.Drawing.Font("Segoe UI Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button3.Location = New System.Drawing.Point(39, 34)
Me.Button3.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(206, 81)
Me.Button3.TabIndex = 0
Me.Button3.Text = "Export master data Clitate"
Me.Button3.UseVisualStyleBackColor = True
'
'GroupBox3
'
Me.GroupBox3.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox3.Controls.Add(Me.Button3)
Me.GroupBox3.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox3.Location = New System.Drawing.Point(405, 102)
Me.GroupBox3.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox3.Name = "GroupBox3"
Me.GroupBox3.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox3.Size = New System.Drawing.Size(284, 125)
Me.GroupBox3.TabIndex = 4
Me.GroupBox3.TabStop = False
Me.GroupBox3.Text = "Import Export Data Calitate"
'
'Button4
'
Me.Button4.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button4.Location = New System.Drawing.Point(16, 38)
Me.Button4.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(312, 68)
Me.Button4.TabIndex = 2
Me.Button4.Text = "Intra in forma de scanare Articole Pregatite"
Me.Button4.UseVisualStyleBackColor = True
'
'GroupBox4
'
Me.GroupBox4.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox4.Controls.Add(Me.Button4)
Me.GroupBox4.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox4.Location = New System.Drawing.Point(21, 231)
Me.GroupBox4.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox4.Name = "GroupBox4"
Me.GroupBox4.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox4.Size = New System.Drawing.Size(366, 119)
Me.GroupBox4.TabIndex = 5
Me.GroupBox4.TabStop = False
Me.GroupBox4.Text = "Detalii Logare program scanare Pregatit"
'
'Button5
'
Me.Button5.Font = New System.Drawing.Font("Segoe UI Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button5.Location = New System.Drawing.Point(39, 20)
Me.Button5.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(206, 81)
Me.Button5.TabIndex = 0
Me.Button5.Text = "Export master data Pregatit"
Me.Button5.UseVisualStyleBackColor = True
'
'GroupBox5
'
Me.GroupBox5.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox5.Controls.Add(Me.Button5)
Me.GroupBox5.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox5.Location = New System.Drawing.Point(405, 241)
Me.GroupBox5.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox5.Name = "GroupBox5"
Me.GroupBox5.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox5.Size = New System.Drawing.Size(284, 109)
Me.GroupBox5.TabIndex = 6
Me.GroupBox5.TabStop = False
Me.GroupBox5.Text = "Import Export Data Pregatit"
'
'Button6
'
Me.Button6.Font = New System.Drawing.Font("Segoe UI Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button6.Location = New System.Drawing.Point(14, 37)
Me.Button6.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button6.Name = "Button6"
Me.Button6.Size = New System.Drawing.Size(341, 47)
Me.Button6.TabIndex = 0
Me.Button6.Text = "Inregistreaza Tichet Mentenanta"
Me.Button6.UseVisualStyleBackColor = True
'
'Button7
'
Me.Button7.Font = New System.Drawing.Font("Segoe UI Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button7.Location = New System.Drawing.Point(14, 179)
Me.Button7.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button7.Name = "Button7"
Me.Button7.Size = New System.Drawing.Size(341, 47)
Me.Button7.TabIndex = 1
Me.Button7.Text = "Management Tichete Mentenanta"
Me.Button7.UseVisualStyleBackColor = True
'
'Button8
'
Me.Button8.Font = New System.Drawing.Font("Segoe UI Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button8.Location = New System.Drawing.Point(14, 106)
Me.Button8.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button8.Name = "Button8"
Me.Button8.Size = New System.Drawing.Size(341, 47)
Me.Button8.TabIndex = 2
Me.Button8.Text = "Prelucreaza Tichet Mentenanta"
Me.Button8.UseVisualStyleBackColor = True
'
'GroupBox6
'
Me.GroupBox6.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox6.Controls.Add(Me.Button8)
Me.GroupBox6.Controls.Add(Me.Button7)
Me.GroupBox6.Controls.Add(Me.Button6)
Me.GroupBox6.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox6.Location = New System.Drawing.Point(710, 135)
Me.GroupBox6.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox6.Name = "GroupBox6"
Me.GroupBox6.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox6.Size = New System.Drawing.Size(366, 248)
Me.GroupBox6.TabIndex = 7
Me.GroupBox6.TabStop = False
Me.GroupBox6.Text = "Inregistrare/Administrare tichete mentenanta"
'
'FlowLayoutPanel1
'
Me.FlowLayoutPanel1.BackColor = System.Drawing.Color.White
Me.FlowLayoutPanel1.BackgroundImage = Global.Management_Resurse_Companie.My.Resources.Resources.AQUINOS_BEDDING_AQUINOS_GROUP_copy_32
Me.FlowLayoutPanel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.FlowLayoutPanel1.Location = New System.Drawing.Point(21, 4)
Me.FlowLayoutPanel1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.FlowLayoutPanel1.Name = "FlowLayoutPanel1"
Me.FlowLayoutPanel1.Size = New System.Drawing.Size(366, 83)
Me.FlowLayoutPanel1.TabIndex = 8
'
'Button9
'
Me.Button9.Location = New System.Drawing.Point(75, 38)
Me.Button9.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button9.Name = "Button9"
Me.Button9.Size = New System.Drawing.Size(235, 59)
Me.Button9.TabIndex = 0
Me.Button9.Text = "Lansare Modul Etichete"
Me.Button9.UseVisualStyleBackColor = True
'
'GroupBox7
'
Me.GroupBox7.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer))
Me.GroupBox7.Controls.Add(Me.Button9)
Me.GroupBox7.Font = New System.Drawing.Font("Segoe UI", 10.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox7.Location = New System.Drawing.Point(710, 11)
Me.GroupBox7.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox7.Name = "GroupBox7"
Me.GroupBox7.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox7.Size = New System.Drawing.Size(355, 115)
Me.GroupBox7.TabIndex = 9
Me.GroupBox7.TabStop = False
Me.GroupBox7.Text = "Modul Etichete"
'
'GroupBox8
'
Me.GroupBox8.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox8.Controls.Add(Me.Button10)
Me.GroupBox8.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox8.Location = New System.Drawing.Point(21, 367)
Me.GroupBox8.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox8.Name = "GroupBox8"
Me.GroupBox8.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox8.Size = New System.Drawing.Size(366, 119)
Me.GroupBox8.TabIndex = 10
Me.GroupBox8.TabStop = False
Me.GroupBox8.Text = "Detalii Logare program scanare Pregatit"
'
'Button10
'
Me.Button10.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button10.Location = New System.Drawing.Point(16, 38)
Me.Button10.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button10.Name = "Button10"
Me.Button10.Size = New System.Drawing.Size(312, 68)
Me.Button10.TabIndex = 2
Me.Button10.Text = "Intra in forma comenzi cusut"
Me.Button10.UseVisualStyleBackColor = True
'
'GroupBox9
'
Me.GroupBox9.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox9.Controls.Add(Me.Button11)
Me.GroupBox9.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.GroupBox9.Location = New System.Drawing.Point(405, 360)
Me.GroupBox9.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox9.Name = "GroupBox9"
Me.GroupBox9.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox9.Size = New System.Drawing.Size(284, 126)
Me.GroupBox9.TabIndex = 11
Me.GroupBox9.TabStop = False
Me.GroupBox9.Text = "Import Export Data Cusut"
'
'Button11
'
Me.Button11.Font = New System.Drawing.Font("Segoe UI Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button11.Location = New System.Drawing.Point(39, 32)
Me.Button11.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button11.Name = "Button11"
Me.Button11.Size = New System.Drawing.Size(206, 81)
Me.Button11.TabIndex = 0
Me.Button11.Text = "Export master data comenzi cusut"
Me.Button11.UseVisualStyleBackColor = True
'
'SqlCommand1
'
Me.SqlCommand1.CommandTimeout = 30
Me.SqlCommand1.EnableOptimizedParameterBinding = False
'
'Form1
'
Me.AcceptButton = Me.Button1
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer))
Me.ClientSize = New System.Drawing.Size(1088, 520)
Me.Controls.Add(Me.GroupBox9)
Me.Controls.Add(Me.GroupBox7)
Me.Controls.Add(Me.GroupBox8)
Me.Controls.Add(Me.FlowLayoutPanel1)
Me.Controls.Add(Me.GroupBox6)
Me.Controls.Add(Me.GroupBox5)
Me.Controls.Add(Me.GroupBox4)
Me.Controls.Add(Me.GroupBox3)
Me.Controls.Add(Me.GroupBox2)
Me.Controls.Add(Me.GroupBox1)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Name = "Form1"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Management Resurse Companie "
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
Me.GroupBox3.ResumeLayout(False)
Me.GroupBox4.ResumeLayout(False)
Me.GroupBox5.ResumeLayout(False)
Me.GroupBox6.ResumeLayout(False)
Me.GroupBox7.ResumeLayout(False)
Me.GroupBox8.ResumeLayout(False)
Me.GroupBox9.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents Button1 As Button
Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Button2 As Button
Friend WithEvents GroupBox2 As GroupBox
Friend WithEvents Button3 As Button
Friend WithEvents GroupBox3 As GroupBox
Friend WithEvents Button4 As Button
Friend WithEvents GroupBox4 As GroupBox
Friend WithEvents Button5 As Button
Friend WithEvents GroupBox5 As GroupBox
Friend WithEvents Button6 As Button
Friend WithEvents Button7 As Button
Friend WithEvents Button8 As Button
Friend WithEvents GroupBox6 As GroupBox
Friend WithEvents FlowLayoutPanel1 As FlowLayoutPanel
Friend WithEvents Button9 As Button
Friend WithEvents GroupBox7 As GroupBox
Friend WithEvents GroupBox8 As GroupBox
Friend WithEvents Button10 As Button
Friend WithEvents GroupBox9 As GroupBox
Friend WithEvents Button11 As Button
Friend WithEvents SqlCommand1 As Microsoft.Data.SqlClient.SqlCommand
End Class

View File

@@ -1,274 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="SqlCommand1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>66</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
</root>

View File

@@ -1,107 +0,0 @@
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Public Module variable
Public user As String = "0"
Public userp As String = "0"
End Module
Public Class Form1
' forma principala de lansare a tuturor programelor in cadrul acestui soft
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' butonul aceseasa scanare calitate
' this button luchhes the forrm2 window that is used for quality scan.
' that form will update all the infos in the sql "calitate" database table with name "scanare"
' lanseaza forma initiala de scanare finala a calitatii comenzilor de productie, aceasta forma va introduce date in DB. Calitatea Tabelul scanare
' tabelul scanare di DB va fi folosit pentru a se face query in excel si a se obtine raportarea in format prietenos pentru utilizator
Form2.Show()
Me.Hide()
End Sub
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
' butonul acces setari
' this button will take to form nr 3 wich is an interogation form for Updating settings. tha password in this table is Aquinos@123
' forma intermediara de verificare a parolei de administrarea a conexiunilor programului, parola standard este Aquinos@123
' aceasta forma ne duce in forma intermediara de verificare a setarilor de conexiune
Form3.Show()
Me.Hide()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
' butonul export masterdata calitate
' acest buton te duce in forma de exportare CSV din baza de date pentru calitate.
' acest export trebuie facut manual sau se seteaza excel care sa comunice cu baza de date si nu e nevoie utilizarea lui.
Form5.Show()
Me.Hide()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
' Buton Intra in forma de scanare pregatit
' buton acesare forma scanare pregatit scanare disponibila pentru zona de pregatit
' informatiile se salveaa in db.calitate tabeleul pregatit
Form6.Show()
Me.Hide()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
' buton export date master pregatit
' buton prin care se acceseaza forma de export din baza de date sql pentru informatiile din pregatit. aceste informatii pot fi accesate si direct in excel pri qurery din SQL
Form7.Show()
Me.Hide()
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
' buton Inregistreaza tichet mentenanta
' nuton care deschide interfata de creare tichet mentenanta
' interfata creare tichet mentenanta salveaza informatii in BD.calitate tabelul mentenanta
Form8.Show()
Me.Hide()
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
' buton ce te triminte in forma de export data base from sql server tabel mentenanta
' pentru informatiile de acolo se poate folosi si excel cu power query from sql Database
Form10.Show()
Me.Hide()
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
' buton administreaza tichet mentenanta
' acest buton acceseaza forma de alterare a tabelului mentenanta cu informatiile operatorului de mentenanta
' defectul constatat , inregistreaza timpii de realizare a mentenantei
Form9.Show()
Me.Hide()
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
' buton management etichete
' buton de accesare a forma de import fisiere excel pentru etichete
' fisierele sunt importate in baza de date Calitate tabelul info etichete
Form15.Show()
Me.Hide()
End Sub
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
' buton aceseaza forma scanare cusut
' buton ce deschide forma de scanare a informatiilor cu privire la timpul si data in care a intrat in cusut o comanda
' acesta forma incarca informatii in tabelul cusut din baza de date Calitate
Form12.Show()
Me.Hide()
End Sub
Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
' buton export master data cusut
' acceseaza forma de export informatii din baza de calitate tabelul cusut
' informatia din baza de date poate fi accesata si prin power query din baza de date
Form13.Show()
Me.Hide()
End Sub
Private Sub Button12_Click(sender As Object, e As EventArgs)
Form14.Show()
Me.Hide()
End Sub
End Class

View File

@@ -1,170 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form10
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.DateTimePicker3 = New System.Windows.Forms.DateTimePicker()
Me.Label1 = New System.Windows.Forms.Label()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
Me.GroupBox1.SuspendLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DateTimePicker1
'
Me.DateTimePicker1.CustomFormat = "yyyy-MM-dd"
Me.DateTimePicker1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.DateTimePicker1.Location = New System.Drawing.Point(150, 26)
Me.DateTimePicker1.Name = "DateTimePicker1"
Me.DateTimePicker1.Size = New System.Drawing.Size(159, 34)
Me.DateTimePicker1.TabIndex = 0
'
'GroupBox1
'
Me.GroupBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.DateTimePicker3)
Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Controls.Add(Me.DateTimePicker1)
Me.GroupBox1.Location = New System.Drawing.Point(35, 22)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(637, 86)
Me.GroupBox1.TabIndex = 1
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Alege intervalul din care trebuie sa faci exportul in excel"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(332, 31)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(98, 28)
Me.Label3.TabIndex = 3
Me.Label3.Text = "End Date"
'
'DateTimePicker3
'
Me.DateTimePicker3.CustomFormat = "yyyy-MM-dd"
Me.DateTimePicker3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.DateTimePicker3.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.DateTimePicker3.Location = New System.Drawing.Point(445, 26)
Me.DateTimePicker3.Name = "DateTimePicker3"
Me.DateTimePicker3.Size = New System.Drawing.Size(159, 34)
Me.DateTimePicker3.TabIndex = 2
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(17, 32)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(110, 28)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Start Date"
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(12, 125)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersWidth = 51
Me.DataGridView1.RowTemplate.Height = 29
Me.DataGridView1.Size = New System.Drawing.Size(1306, 530)
Me.DataGridView1.TabIndex = 2
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.Color.Black
Me.Button1.Location = New System.Drawing.Point(712, 41)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(194, 54)
Me.Button1.TabIndex = 3
Me.Button1.Text = "Preview"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.ForeColor = System.Drawing.Color.Black
Me.Button2.Location = New System.Drawing.Point(940, 40)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(194, 54)
Me.Button2.TabIndex = 4
Me.Button2.Text = "Export to Excel"
Me.Button2.UseVisualStyleBackColor = False
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.Red
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button3.ForeColor = System.Drawing.Color.White
Me.Button3.Location = New System.Drawing.Point(1140, 22)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(178, 79)
Me.Button3.TabIndex = 5
Me.Button3.Text = "Inchide program"
Me.Button3.UseVisualStyleBackColor = False
'
'Form7
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 20.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1352, 681)
Me.ControlBox = False
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.GroupBox1)
Me.Name = "Form7"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Export from SQL Database"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents DateTimePicker1 As DateTimePicker
Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Label3 As Label
Friend WithEvents DateTimePicker3 As DateTimePicker
Friend WithEvents Label1 As Label
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents SaveFileDialog1 As SaveFileDialog
End Class

View File

@@ -1,63 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -1,76 +0,0 @@
Imports System.IO
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Public Class Form10
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' this button handle the SQL consction for filling the data grid view with information from SQL database.
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
Dim command As New SqlCommand("select * from calitate.dbo.mentenanta where [Data] between @date1 and @date2", con)
command.Parameters.Add("date1", SqlDbType.Date).Value = DateTimePicker1.Value ' date from to be selected
command.Parameters.Add("date2", SqlDbType.Date).Value = DateTimePicker3.Value ' date to to be selected
Dim da As New SqlDataAdapter ' Sql adaptor for table
con.Open()
da.SelectCommand = command ' sql command for downnload
Dim dt As New DataTable ' sql table preparing for Datagrig
dt.Clear() ' clear table adaptor
da.Fill(dt) ' fill table adaptor
DataGridView1.DataSource = dt ' filling the data grid view
con.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'Button for saving the information from data grid view to CSV
Dim saveFileDialog As New SaveFileDialog()
saveFileDialog.Filter = "CSV (.csv)|.csv" 'save fiel dialog
saveFileDialog.FileName = "export.csv" ' save file type
If (saveFileDialog.ShowDialog() = DialogResult.OK) Then ' check if name for file exist
Using sw As New StreamWriter(saveFileDialog.FileName) ' comand for rithing CSV file
Dim columnCount As Integer = DataGridView1.ColumnCount
For i As Integer = 0 To columnCount - 1
sw.Write(DataGridView1.Columns(i).HeaderText)
If (i < columnCount - 1) Then
sw.Write(","c)
End If
Next
sw.Write(sw.NewLine)
For Each row As DataGridViewRow In DataGridView1.Rows
For i As Integer = 0 To row.Cells.Count - 1
If Not row.IsNewRow Then
sw.Write(row.Cells(i).Value.ToString())
End If
If (i < row.Cells.Count - 1) Then
sw.Write(","c)
End If
Next
sw.Write(sw.NewLine)
Next
sw.Close()
End Using
MessageBox.Show("CSV file saved.") ' message that file was succesfuly created
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Form1.Show()
Me.Close()
End Sub
End Class

View File

@@ -1,234 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form11
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form11))
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
Me.Button1 = New System.Windows.Forms.Button()
Me.FlowLayoutPanel1 = New System.Windows.Forms.FlowLayoutPanel()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.Button4 = New System.Windows.Forms.Button()
Me.Button5 = New System.Windows.Forms.Button()
Me.Button6 = New System.Windows.Forms.Button()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label5 = New System.Windows.Forms.Label()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'OpenFileDialog1
'
Me.OpenFileDialog1.FileName = "OpenFileDialog1"
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.Location = New System.Drawing.Point(225, 10)
Me.Button1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(204, 35)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Import Fisier Excel"
Me.Button1.UseVisualStyleBackColor = False
'
'FlowLayoutPanel1
'
Me.FlowLayoutPanel1.BackColor = System.Drawing.Color.White
Me.FlowLayoutPanel1.BackgroundImage = CType(resources.GetObject("FlowLayoutPanel1.BackgroundImage"), System.Drawing.Image)
Me.FlowLayoutPanel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.FlowLayoutPanel1.Location = New System.Drawing.Point(10, 10)
Me.FlowLayoutPanel1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.FlowLayoutPanel1.Name = "FlowLayoutPanel1"
Me.FlowLayoutPanel1.Size = New System.Drawing.Size(209, 45)
Me.FlowLayoutPanel1.TabIndex = 1
'
'DataGridView1
'
Me.DataGridView1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.DataGridView1.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.SingleHorizontal
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter
DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window
DataGridViewCellStyle1.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText
DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
Me.DataGridView1.DefaultCellStyle = DataGridViewCellStyle1
Me.DataGridView1.Location = New System.Drawing.Point(10, 100)
Me.DataGridView1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersWidth = 51
Me.DataGridView1.RowTemplate.Height = 29
Me.DataGridView1.Size = New System.Drawing.Size(1353, 441)
Me.DataGridView1.TabIndex = 2
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(225, 67)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(101, 21)
Me.Label1.TabIndex = 3
Me.Label1.Text = "Nume Fisier"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label2.Location = New System.Drawing.Point(331, 67)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(14, 21)
Me.Label2.TabIndex = 4
Me.Label2.Text = ":"
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 10.2!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.Location = New System.Drawing.Point(455, 10)
Me.Button2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(204, 55)
Me.Button2.TabIndex = 5
Me.Button2.Text = "Update Etichete Serii Hulshot"
Me.Button2.UseVisualStyleBackColor = False
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 10.2!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button3.Location = New System.Drawing.Point(675, 10)
Me.Button3.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(204, 55)
Me.Button3.TabIndex = 6
Me.Button3.Text = "Update Etichete Single cover Hulshot"
Me.Button3.UseVisualStyleBackColor = False
'
'Button4
'
Me.Button4.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Button4.Font = New System.Drawing.Font("Segoe UI", 10.2!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button4.Location = New System.Drawing.Point(884, 10)
Me.Button4.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(204, 55)
Me.Button4.TabIndex = 7
Me.Button4.Text = "Update Etichete Kesteren"
Me.Button4.UseVisualStyleBackColor = False
'
'Button5
'
Me.Button5.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Button5.Font = New System.Drawing.Font("Segoe UI", 10.2!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button5.Location = New System.Drawing.Point(1093, 10)
Me.Button5.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(204, 55)
Me.Button5.TabIndex = 8
Me.Button5.Text = "Update Etichete Bochum"
Me.Button5.UseVisualStyleBackColor = False
'
'Button6
'
Me.Button6.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button6.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer))
Me.Button6.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button6.ForeColor = System.Drawing.SystemColors.ButtonHighlight
Me.Button6.Location = New System.Drawing.Point(1135, 551)
Me.Button6.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button6.Name = "Button6"
Me.Button6.Size = New System.Drawing.Size(185, 38)
Me.Button6.TabIndex = 9
Me.Button6.Text = "Inchide Forma"
Me.Button6.UseVisualStyleBackColor = False
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(225, 52)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(10, 15)
Me.Label3.TabIndex = 10
Me.Label3.Text = ":"
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(23, 566)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(10, 15)
Me.Label5.TabIndex = 12
Me.Label5.Text = ":"
'
'Form11
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer))
Me.ClientSize = New System.Drawing.Size(1375, 596)
Me.ControlBox = False
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Button6)
Me.Controls.Add(Me.Button5)
Me.Controls.Add(Me.Button4)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.FlowLayoutPanel1)
Me.Controls.Add(Me.Button1)
Me.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Name = "Form11"
Me.Text = "Import fisiere pentru etichete"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents OpenFileDialog1 As OpenFileDialog
Friend WithEvents Button1 As Button
Friend WithEvents FlowLayoutPanel1 As FlowLayoutPanel
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label1 As Label
Friend WithEvents Label2 As Label
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents Button4 As Button
Friend WithEvents Button5 As Button
Friend WithEvents Button6 As Button
Friend WithEvents Label3 As Label
Friend WithEvents Label5 As Label
End Class

View File

@@ -1,480 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="FlowLayoutPanel1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAABU0AAAHDCAYAAAAQkzvuAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAX
EQAAFxEByibzPwAAX19JREFUeF7t3T2y7Mh1KNw3ghvUDBiKuD4jOAEZGgAdGTeeQ4t2e8+lKZNue7Rl
0f8cDYAGJ6CIdo6r6Bno27v7FFVE7zqnUAWgkDuXsaL75ikkMlGoBLCRP//nf/7nfwAAAAAAeFcmAgAA
AADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABm
VSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMB
AAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkAAAAA
ALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmV
iQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzKRAAA
AACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAAAADA
rMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUi
AAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIRAAAA
AGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAAADCr
MhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhVmQgA
AAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAA
mFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpM
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
vq/yga2ViQAAAABwsQhcZpDz6WkTYvuc+3ZNwDTpgcwhykQAAAAAuCiClxc5N2tOqfCv1XZL8bnLVA2P
zCt8ylX/6alMBAAAAICLIoB5SwZDL/PTLq3tVbqklymHKRMBAAAA4KIIYB5tl0Wo4JYyEQAAAAAuvv3c
U7QKZh7hr1WZYE9lIgAAAABcfPt5HtIqoLm3HNL/T1WZYE9lIgAAAABc+3Z8b9OcH/W3VVlgb2UiAAAA
AFz79u3//lPI1fKrAOfWcj96mPIyZSIAAAAALGUg8z2gWQU6t2LRJ16uTAQAAACAWzKwGXK+0Sro+ajv
wz9X+4OjlYkAAAAA8JFvP/c6zeDpMz1Pc97Sfw+CpZxKmQgAAAAA98qgZ8gV9jMAmgtGVYHUTE/5mfys
QCmnVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACz
KhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkA
AAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAA
gFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzK
RAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAA
AADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABg
VmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIR
AAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAA
ADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhV
mQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQA
AAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAA
zKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUm
AgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAA
AADm9D//5/8HLg8GL6uTIyUAAAAASUVORK5CYII=
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value>
</metadata>
</root>

View File

@@ -1,704 +0,0 @@
Imports System.Linq
Imports System.Data.SqlClient
Imports System.Data.OleDb
Imports Microsoft.Office.Core
Imports Microsoft.Office.Interop
Imports System.IO
Imports System.Xml.XPath
Imports System.Data
Imports System.Xml
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports System.Security.Cryptography
Public Class Form11
'setari pentru server
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim surceW As String = My.Settings.ServerNameW
Dim catalogW As String = My.Settings.ServerDatabaseW
Dim userW As String = My.Settings.ServerUserW
Dim passW As String = My.Settings.ServerUserPasW
Dim subnetW As String = My.Settings.SubnetW
Dim rowIdval As String ' gasirea randului din datagrid
Dim rowData As String
Dim rowOra As String
Dim rowZona As String
Dim rowmasina As String
Dim rowdefect As String
Dim rowstatus As String
Dim rowindex As Int16
Dim cpSerial As String
Private Sub rowIndexv() ' command to give the row index of tha SQL table With info about labels,
'this row indezx help us manipulate the sql table and if a comand to update table is not succesfuly we myust delete the rows addet incorrect
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "") ' conection to data string from settings
Dim Cmd2 As SqlCommand ' sql command
Dim rowindex1 As Int32
Dim query As String = "select max(id_eti) from Info_etichete"
con.Open()
Cmd2 = New SqlCommand(query, con)
rowindex1 = Cmd2.ExecuteScalar()
con.Close()
Label3.Text = rowindex1
rowindex = rowindex1 ' rowindez is declarated as a variable in the his form and will be avalabele in other subrutines
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' cod for uploading data from excel files
Dim conn As OleDbConnection ' we use oldb conection
'Dim dtr As OleDbDataReader
Dim dta As OleDbDataAdapter
'Dim cmd As OleDbCommand
Dim dts As DataSet
Dim excel As String
Dim OpenFileDialog As New OpenFileDialog
OpenFileDialog1.FileName = ""
OpenFileDialog1.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
OpenFileDialog1.Filter = "All Files (*.*)|*.*|Excel files (*.xlsx)|*.xlsx|CSV Files (*.csv)|*.csv|XLS Files (*.xls)|*xls" ' types of file avalable to be uploadet
If (OpenFileDialog1.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
DataGridView1.Columns.Clear() ' clear first tha data grid view
Dim fi As New FileInfo(OpenFileDialog1.FileName) ' name of the file
Dim FileName As String = OpenFileDialog1.FileName
excel = fi.FullName
conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel + ";Extended Properties=Excel 12.0") ' conection to transfor file from data file tu be updated in data grid
dta = New OleDbDataAdapter("Select * From [Sheet1$]", conn) ' select from Sheet 1
dts = New DataSet
dta.Fill(dts, "[Sheet1$]")
DataGridView1.DataSource = dts
DataGridView1.DataMember = "[Sheet1$]"
conn.Close()
Label2.Text = FileName ' the name of the file will apear in Label 12 that is on top of data grid view
rowIndexv() ' update of the row index to prepare for loading them on SQL server
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' comand that will upload info in SQL server from files that contain series labels for Hulshot
Dim Msg, Style, Title, Response
Msg = " Esti sigur ca vrei sa incarci etichetele de Hulshot Serii?" ' msg box for confirmation
Style = vbYesNo
Title = "Interogare de siguranta"
Response = MsgBox(Msg, Style, Title)
If Response = vbNo Then ' if response is no , the program will delete the information from datagrid and wil put the program in whaiting state for new file upload
MsgBox("Se va goli Informatia din Datagrid")
DataGridView1.DataSource = Nothing
Else
' the program will start uploading informations in SQL server according to the transformation required for correct labbel.
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "") ' conection for SQL
rowIndexv() ' get row index for the case we can not update the file
Dim nrLinii As Integer = DataGridView1.Rows.Count - 1 ' get thr number of rows in Datagrid to prepare for Uploading in SQL
Try
For i As Integer = 0 To DataGridView1.Rows.Count - 2 ' for each row we perform upload comand in SQL
' next rows will perform file transformation to be able to upload to SQL
Dim codfirma As String = "007" ' romanian code for uploading from Hulshot companu code 007
Dim comanda As String ' info for order number taked from Cell 2 of each row
If DataGridView1.Rows(i).Cells(2).Value IsNot DBNull.Value Then ' if cell has no info result will be -
comanda = DataGridView1.Rows(i).Cells(2).Value
Else
comanda = "-"
End If
Dim linia As String
' info for line of the order number taked from Cell 3 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(3).Value IsNot DBNull.Value Then
linia = DataGridView1.Rows(i).Cells(3).Value
Else
linia = "-"
End If
Dim cant As String
' info for the quantity of the order taked from Cell 12 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(12).Value IsNot DBNull.Value Then
cant = DataGridView1.Rows(i).Cells(12).Value
Else
cant = "-"
End If
Dim onsordercode As String
' info for ons ordercode of the order number taked from Cell 13 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(13).Value IsNot DBNull.Value Then
onsordercode = DataGridView1.Rows(i).Cells(13).Value
Else
onsordercode = "-"
End If
Dim descriere As String
' info for the description of the order number taked from Cell 7 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(7).Value IsNot DBNull.Value Then
descriere = DataGridView1.Rows(i).Cells(7).Value
Else
descriere = "-"
End If
' info for dimensions of the order number taked from Cell 9 / 10/ 11 of each row
Dim Dimensiune1 As String = DataGridView1.Rows(i).Cells(9).Value
Dim Dimensiune2 As String = DataGridView1.Rows(i).Cells(10).Value
Dim Dimensiune3 As String = DataGridView1.Rows(i).Cells(11).Value
Dim Client As String
' info for name of the customer for the order number taked from Cell 6 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(6).Value IsNot DBNull.Value Then
Client = DataGridView1.Rows(i).Cells(6).Value
Else
Client = "-"
End If
Dim Strada As String
' info for strate addres of the order number taked from Cell 4 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(4).Value IsNot DBNull.Value Then
Strada = DataGridView1.Rows(i).Cells(4).Value
Else
Strada = "-"
End If
' post code we have no postcode on the files for series
Dim postcode As String = "-"
' we have no information customer town that is definde in sql as orasclient
Dim orasclient As String = "-"
Dim pf As String
' info for miercurea article code of the order number taked from Cell 8 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(8).Value IsNot DBNull.Value Then
pf = DataGridView1.Rows(i).Cells(8).Value
Else
pf = "-"
End If
Dim marcaj As String
' info for marking of the order number taked from Cell 14 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(14).Value IsNot DBNull.Value Then
marcaj = DataGridView1.Rows(i).Cells(14).Value
Else
marcaj = "-"
End If
Dim data_livrare As String
' info for delivery date of the order number taked from Cell 15 of each row
' for mts orders some time delivery date is not avalable
' if cell has no info result will be --/--/--
If DataGridView1.Rows(i).Cells(15).Value IsNot DBNull.Value Then
Me.DataGridView1.Columns("hpp-dat").DefaultCellStyle.Format = "dd.MM.yyyy" ' formating cel in an accepted date format for SQL
data_livrare = DataGridView1.Rows(i).Cells(15).Value
Else
data_livrare = "--/--/--"
End If
Dim volum As String
' info for volume of the covers from the order number taked from Cell 3 of each row
' if cell has no info result will be -
If DataGridView1.Rows(i).Cells(16).Value IsNot DBNull.Value Then
volum = DataGridView1.Rows(i).Cells(16).Value
Else
volum = "-"
End If
Dim barcode As String = DataGridView1.Rows(i).Cells(0).Value ' information for the barcode
Dim NumeCli As String = "Hushout" ' customer name for internal task
Dim comLinia As String = comanda & "-" & linia ' gruping the order to be able to recover from SQL after CP import
Dim comLinia1 As String = codfirma & "-" & comLinia ' gruping info for label with cod firma, an order and line
Dim dimens As String = Dimensiune1 & "X" & Dimensiune2 & "X" & Dimensiune3 ' gruping dimensions in one cell
Dim cmd As New SqlCommand("Insert into Info_etichete values ('" & comLinia & "','" & cant & "','" & comLinia1 & "','" & onsordercode & "',
'" & descriere & "','" & dimens & "','" & Client & "','" & Strada & "','" & postcode & "','" & orasclient & "',
'" & pf & "','" & marcaj & "','" & data_livrare & "','" & volum & "','" & barcode & "','" & NumeCli & "') ", con) ' the sql command for inserting defined values
con.Open()
cmd.ExecuteNonQuery()
con.Close()
Next ' continuing the loop for each i equal with data grid views rows number
MsgBox("Au fost Incarcate un numar de - " & nrLinii & " linii cu succes") ' when the loop is done with no error we receve this message
Catch ex As Exception
MsgBox("Incercarea de a incarca un nr de : " & nrLinii & " linii nu a reusit, este posibil ca informatia pentru aceste etichete sa fie deja incarcata")
' this is the message in case the loop has an error an not all the information was inserted.
Dim CmdDel As New SqlCommand("DELETE from Info_etichete where id_eti >" & rowindex & "", con) ' if we have an error and som rows wher not corectly updated in SQL we delet the rows using the index number
CmdDel.ExecuteNonQuery() ' execute the delet command
con.Close() ' close the query
End Try
' when all the data was uploadet or it has an eror, next command will delet the info from data grid
DataGridView1.DataSource = Nothing
End If
rowIndexv() ' get the new index row number
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Form15.Show() ' button for close the form and send to label upload
Me.Close()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
' this button handles the transformation for single cover, all tha transformations ar in the same method mades as for the Series covers only the colums ar a litle different
' the information coms in different flavor in excel and for that we ned different transformations from the data grid to SQL
Dim Msg, Style, Title, Response
Msg = " esti sigur ca vrei sa incarci etichetele de Hulshot Single Covers?"
Style = vbYesNo
Title = "Interogare de siguranta"
Response = MsgBox(Msg, Style, Title)
If Response = vbNo Then
MsgBox("Se va goli Informatia din Datagrid")
DataGridView1.DataSource = Nothing
Else
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
rowIndexv()
Dim nrLinii As Integer = DataGridView1.Rows.Count - 1
Try
For i As Integer = 0 To DataGridView1.Rows.Count - 2
Dim codfirma As String = "007"
Dim comanda As String
If DataGridView1.Rows(i).Cells(2).Value IsNot DBNull.Value Then
comanda = DataGridView1.Rows(i).Cells(2).Value
Else
comanda = "-"
End If
Dim linia As String
If DataGridView1.Rows(i).Cells(3).Value IsNot DBNull.Value Then
linia = DataGridView1.Rows(i).Cells(3).Value
Else
linia = "-"
End If
Dim cant As String = "1" 'DataGridView1.Rows(i).Cells(12).Value
Dim onsordercode As String
If DataGridView1.Rows(i).Cells(10).Value IsNot DBNull.Value Then
onsordercode = DataGridView1.Rows(i).Cells(10).Value
Else
onsordercode = "-"
End If
Dim descriere As String
If DataGridView1.Rows(i).Cells(6).Value IsNot DBNull.Value Then
descriere = DataGridView1.Rows(i).Cells(6).Value
Else
descriere = "-"
End If
Dim Dimensiune1 As String
If DataGridView1.Rows(i).Cells(7).Value IsNot DBNull.Value Then
Dimensiune1 = DataGridView1.Rows(i).Cells(7).Value
Else
Dimensiune1 = "-"
End If
Dim Dimensiune2 As String
If DataGridView1.Rows(i).Cells(8).Value IsNot DBNull.Value Then
Dimensiune2 = DataGridView1.Rows(i).Cells(8).Value
Else
Dimensiune2 = "-"
End If
Dim Dimensiune3 As String
If DataGridView1.Rows(i).Cells(9).Value IsNot DBNull.Value Then
Dimensiune3 = DataGridView1.Rows(i).Cells(9).Value
Else
Dimensiune3 = "-"
End If
Dim Client As String
If DataGridView1.Rows(i).Cells(11).Value IsNot DBNull.Value Then
Client = DataGridView1.Rows(i).Cells(11).Value
Else
Client = "-"
End If
Dim Strada As String
If DataGridView1.Rows(i).Cells(12).Value IsNot DBNull.Value Then
Strada = DataGridView1.Rows(i).Cells(12).Value
Else
Strada = "-"
End If
Dim postcode As String
If DataGridView1.Rows(i).Cells(13).Value IsNot DBNull.Value Then
postcode = DataGridView1.Rows(i).Cells(13).Value
Else
postcode = "-"
End If
Dim orasclient As String
If DataGridView1.Rows(i).Cells(14).Value IsNot DBNull.Value Then
orasclient = DataGridView1.Rows(i).Cells(14).Value
Else
orasclient = "-"
End If
Dim pf As String = "-"
Dim dateN As Date = Today()
Dim duedate As Date = dateN.AddDays(9)
Dim marcaj As String
If DataGridView1.Rows(i).Cells(15).Value IsNot DBNull.Value Then
marcaj = DataGridView1.Rows(i).Cells(15).Value
Else
marcaj = "-"
End If
Dim data_livrare As String
If DataGridView1.Rows(i).Cells(16).Value IsNot DBNull.Value Then
Me.DataGridView1.Columns("hpp-dat").DefaultCellStyle.Format = "dd.MM.yyyy"
data_livrare = DataGridView1.Rows(i).Cells(16).Value
Else
data_livrare = "--/--/--"
End If
Dim volum As String
If DataGridView1.Rows(i).Cells(17).Value IsNot DBNull.Value Then
volum = DataGridView1.Rows(i).Cells(17).Value
Else
volum = "-"
End If
Dim barcode As String = DataGridView1.Rows(i).Cells(0).Value
Dim NumeCli As String = "Hushout"
Dim comLinia As String = comanda & "-" & linia
Dim comLinia1 As String = DataGridView1.Rows(i).Cells(18).Value
Dim dimens As String = Dimensiune1 & "X" & Dimensiune2 & "X" & Dimensiune3
Dim cmd As New SqlCommand("Insert into Info_etichete values ('" & comLinia & "','" & cant & "','" & comLinia1 & "','" & onsordercode & "',
'" & descriere & "','" & dimens & "','" & Client & "','" & Strada & "','" & postcode & "','" & orasclient & "',
'" & pf & "','" & marcaj & "','" & data_livrare & "','" & volum & "','" & barcode & "','" & NumeCli & "') ", con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
Next
MsgBox("Au fost Incarcate un numar de - " & nrLinii & " linii cu succes")
Catch ex As Exception
MsgBox("Incercarea de a incarca un nr de : " & nrLinii & " linii nu a reusit, este posibil ca informatia pentru aceste etichete sa fie deja incarcata")
Dim CmdDel As New SqlCommand("DELETE from dbo.Info_etichete where id_eti >" & rowindex & "", con)
con.Open()
CmdDel.ExecuteNonQuery()
con.Close()
End Try
DataGridView1.DataSource = Nothing
End If
rowIndexv()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
' this button handles the transformation for Kesteren cover, all tha transformations ar in the same method mades as for the Series covers only the colums ar a litle different
' the information coms in different flavor in excel and for that we ned different transformations from the data grid to SQL
Dim Msg, Style, Title, Response
Msg = " esti sigur ca vrei sa incarci etichetele de Kesteren?"
Style = vbYesNo
Title = "Interogare de siguranta"
Response = MsgBox(Msg, Style, Title)
If Response = vbNo Then
MsgBox("Se va goli Informatia din Datagrid")
DataGridView1.DataSource = Nothing
Else
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
rowIndexv()
Dim nrLinii As Integer = DataGridView1.Rows.Count - 1
Try
For i As Integer = 0 To DataGridView1.Rows.Count - 2
Dim codfirma As String = "7345"
Dim comanda As String
If DataGridView1.Rows(i).Cells(5).Value IsNot DBNull.Value Then
comanda = DataGridView1.Rows(i).Cells(5).Value
Else
comanda = "-"
End If
Dim linia As String
If DataGridView1.Rows(i).Cells(6).Value IsNot DBNull.Value Then
linia = DataGridView1.Rows(i).Cells(6).Value
Else
linia = "-"
End If
Dim cant As String
If DataGridView1.Rows(i).Cells(10).Value IsNot DBNull.Value Then
cant = DataGridView1.Rows(i).Cells(10).Value
Else
cant = "-"
End If
Dim onsordercode As String
If DataGridView1.Rows(i).Cells(3).Value IsNot DBNull.Value Then
onsordercode = "created on:" & DataGridView1.Rows(i).Cells(3).Value
Else
onsordercode = "-"
End If
Dim descriere As String
If DataGridView1.Rows(i).Cells(8).Value IsNot DBNull.Value Then
descriere = DataGridView1.Rows(i).Cells(8).Value
Else
descriere = "-"
End If
Dim Dimensiune1 As String = DataGridView1.Rows(i).Cells(7).Value
Dim Dimensiune2 As String = DataGridView1.Rows(i).Cells(8).Value
Dim Dimensiune3 As String = DataGridView1.Rows(i).Cells(9).Value
Dim Client As String = "Aquinos Bedding Romania"
'If DataGridView1.Rows(i).Cells(11).Value IsNot DBNull.Value Then
'Client = DataGridView1.Rows(i).Cells(11).Value
' Else
'Client = "-"
'End If
Dim Strada As String
If DataGridView1.Rows(i).Cells(7).Value IsNot DBNull.Value Then
Strada = DataGridView1.Rows(i).Cells(7).Value
Else
Strada = "-"
End If
Dim postcode As String
If DataGridView1.Rows(i).Cells(5).Value IsNot DBNull.Value Then
postcode = DataGridView1.Rows(i).Cells(5).Value
Else
postcode = "-"
End If
Dim orasclient As String
If DataGridView1.Rows(i).Cells(6).Value IsNot DBNull.Value Then
orasclient = DataGridView1.Rows(i).Cells(6).Value
Else
orasclient = "-"
End If
Dim pf As String
If DataGridView1.Rows(i).Cells(9).Value IsNot DBNull.Value Then
pf = DataGridView1.Rows(i).Cells(9).Value
Else
pf = "-"
End If
Dim dateN As Date = Today()
Dim duedate As Date = dateN.AddDays(9)
Dim marcaj As String
If DataGridView1.Rows(i).Cells(11).Value IsNot DBNull.Value Then
marcaj = DataGridView1.Rows(i).Cells(11).Value
Else
marcaj = "-"
End If
Dim data_livrare As String
If DataGridView1.Rows(i).Cells(5).Value IsNot DBNull.Value Then
Me.DataGridView1.Columns("Delivery date").DefaultCellStyle.Format = "dd.MM.yyyy"
data_livrare = DataGridView1.Rows(i).Cells(4).Value
Else
data_livrare = "--/--/--"
End If
Dim volum As String
If DataGridView1.Rows(i).Cells(12).Value IsNot DBNull.Value Then
volum = DataGridView1.Rows(i).Cells(12).Value
Else
volum = "-"
End If
Dim barcode As String = comanda & "-" & linia
Dim NumeCli As String = "Kesteren"
Dim comLinia As String = comanda & "-" & linia
Dim comLinia1 As String = comLinia
Dim dimens As String = descriere.Substring(descriere.Length - 7)
Dim cmd As New SqlCommand("insert into Info_etichete values ('" & comLinia & "','" & cant & "','" & comLinia1 & "','" & onsordercode & "',
'" & descriere & "','" & dimens & "','" & Client & "','" & Strada & "','" & postcode & "','" & orasclient & "',
'" & pf & "','" & marcaj & "','" & data_livrare & "','" & volum & "','" & barcode & "','" & NumeCli & "') ", con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
Next
MsgBox("Au fost Incarcate un numar de - " & nrLinii & " linii cu succes")
Catch ex As Exception
MsgBox("Incercarea de a incarca un nr de : " & nrLinii & " linii nu a reusit, este posibil ca informatia pentru aceste etichete sa fie deja incarcata")
Dim CmdDel As New SqlCommand("DELETE from Info_etichete where id_eti >" & rowindex & "", con)
CmdDel.ExecuteNonQuery()
con.Close()
End Try
DataGridView1.DataSource = Nothing
End If
rowIndexv()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
' this button handles the transformation for single cover, all tha transformations ar in the same method mades as for the Series covers only the colums ar a litle different
' the information coms in different flavor in excel and for that we ned different transformations from the data grid to SQL
Dim Msg, Style, Title, Response
Msg = " esti sigur ca vrei sa incarci etichetele de Bochum?"
Style = vbYesNo
Title = "Interogare de siguranta"
Response = MsgBox(Msg, Style, Title)
If Response = vbNo Then
MsgBox("Se va goli Informatia din Datagrid")
DataGridView1.DataSource = Nothing
Else
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
rowIndexv()
Dim nrLinii As Integer = DataGridView1.Rows.Count - 1
Try
For i As Integer = 1 To DataGridView1.Rows.Count - 2
Dim comanda As String
If DataGridView1.Rows(i).Cells(3).Value IsNot DBNull.Value Then
comanda = DataGridView1.Rows(i).Cells(3).Value
Else
comanda = "-"
End If
Dim linia As String
If DataGridView1.Rows(i).Cells(4).Value IsNot DBNull.Value Then
linia = DataGridView1.Rows(i).Cells(4).Value
Else
linia = "-"
End If
Dim cant As String
If DataGridView1.Rows(i).Cells(9).Value IsNot DBNull.Value Then
cant = DataGridView1.Rows(i).Cells(9).Value
Else
cant = "-"
End If
Dim onsordercode As String
If DataGridView1.Rows(i).Cells(18).Value IsNot DBNull.Value Then
onsordercode = DataGridView1.Rows(i).Cells(18).Value
Else
onsordercode = "-"
End If
Dim descriere As String
If DataGridView1.Rows(i).Cells(19).Value IsNot DBNull.Value Then
descriere = DataGridView1.Rows(i).Cells(19).Value
Else
descriere = "-"
End If
Dim Dimensiune1 As String = DataGridView1.Rows(i).Cells(7).Value
Dim Dimensiune2 As String = DataGridView1.Rows(i).Cells(8).Value
'Dim Dimensiune3 As String = DataGridView1.Rows(i).Cells(9).Value
Dim Client As String = "Aguinos Bedding Romania" ' "Aquinos Bedding Romania"
'If DataGridView1.Rows(i).Cells(11).Value IsNot DBNull.Value Then
'Client = DataGridView1.Rows(i).Cells(11).Value
'Else
'Client = "-"
'End If
Dim Strada As String ' data comenzii catre client
If DataGridView1.Rows(i).Cells(20).Value IsNot DBNull.Value Then
Strada = DataGridView1.Rows(i).Cells(20).Value
Else
Strada = "-"
End If
Dim postcode As String
If DataGridView1.Rows(i).Cells(13).Value IsNot DBNull.Value Then
postcode = DataGridView1.Rows(i).Cells(13).Value
Else
postcode = "-"
End If
Dim orasclient As String
If DataGridView1.Rows(i).Cells(12).Value IsNot DBNull.Value Then
orasclient = DataGridView1.Rows(i).Cells(12).Value
Else
orasclient = "-"
End If
Dim pf As String
If DataGridView1.Rows(i).Cells(21).Value IsNot DBNull.Value Then
pf = DataGridView1.Rows(i).Cells(21).Value
Else
pf = "-"
End If
Dim dateN As Date = Today()
Dim duedate As Date = dateN.AddDays(9)
Dim marcaj As String = "-"
Dim data_livrare As String
If DataGridView1.Rows(i).Cells(10).Value IsNot DBNull.Value Then
Me.DataGridView1.Columns(10).DefaultCellStyle.Format = "dd.MM.yyyy"
data_livrare = DataGridView1.Rows(i).Cells(10).Value
Else
data_livrare = "--/--/--"
End If
Dim volum As String = "-"
' If DataGridView1.Rows(i).Cells(12).Value IsNot DBNull.Value Then
'volum = DataGridView1.Rows(i).Cells(12).Value
' Else
'volum = "-"
'End If
Dim barcode As String = comanda & "-" & linia
Dim NumeCli As String = "Bochum"
Dim comLinia As String = comanda & "-" & linia
Dim comLinia1 As String = comanda & "-" & linia
Dim dimens As String = Dimensiune1 & "x" & Dimensiune2 & "x"
Dim cmd As New SqlCommand("insert into Info_etichete values ('" & comLinia & "','" & cant & "','" & comLinia1 & "','" & onsordercode & "',
'" & descriere & "','" & dimens & "','" & Client & "','" & Strada & "','" & postcode & "','" & orasclient & "',
'" & pf & "','" & marcaj & "','" & data_livrare & "','" & volum & "','" & barcode & "','" & NumeCli & "') ", con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
Next
MsgBox("Au fost Incarcate un numar de - " & nrLinii & " linii cu succes")
Catch ex As Exception
MsgBox("Incercarea de a incarca un nr de : " & nrLinii & " linii nu a reusit, este posibil ca informatia pentru aceste etichete sa fie deja incarcata")
Dim CmdDel As New SqlCommand("DELETE from Info_etichete where id_eti >" & rowindex & "", con)
con.Open()
CmdDel.ExecuteNonQuery()
con.Close()
End Try
DataGridView1.DataSource = Nothing
End If
rowIndexv()
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs)
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("select top 1 * from dbo.SERIAL order by SERIAL desc", con)
Dim sda As New SqlDataAdapter(command) ' adaptorul pentru data grig view
Dim dt As New DataTable ' pregatirea datelor pentru data grid view
sda.Fill(dt) ' actualizarea data grid view
DataGridView1.DataSource = dt
con.Close() ' inchiderea conexiuneii cu serverul
Label5.Text = DataGridView1.Rows(0).Cells(0).Value.ToString()
cpSerial = DataGridView1.Rows(0).Cells(0).Value.ToString()
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs)
Dim con1 As New SqlConnection("Data Source=" & surceW & "; Initial Catalog=" & catalogW & "; User ID=" & userW &
"; Password=" & passW & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con1.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("select * from dbo.SERIAL where serial > " & cpSerial & " ", con1)
Dim sda As New SqlDataAdapter(command) ' adaptorul pentru data grig view
Dim dt As New DataTable ' pregatirea datelor pentru data grid view
sda.Fill(dt) ' actualizarea data grid view
DataGridView1.DataSource = dt
con1.Close() ' inchiderea conexiuneii cu serverul
End Sub
End Class

View File

@@ -1,204 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form12
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Dim DataGridViewCellStyle4 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Me.TextBox2 = New System.Windows.Forms.TextBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.TextBox5 = New System.Windows.Forms.TextBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Label6 = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TextBox2
'
Me.TextBox2.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextBox2.Location = New System.Drawing.Point(9, 45)
Me.TextBox2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox2.MaxLength = 4
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(285, 32)
Me.TextBox2.TabIndex = 1
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label2.ForeColor = System.Drawing.Color.White
Me.Label2.Location = New System.Drawing.Point(12, 90)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(122, 25)
Me.Label2.TabIndex = 2
Me.Label2.Text = "Scaneaza CP"
'
'TextBox5
'
Me.TextBox5.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextBox5.Location = New System.Drawing.Point(9, 129)
Me.TextBox5.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox5.MaxLength = 10
Me.TextBox5.Name = "TextBox5"
Me.TextBox5.Size = New System.Drawing.Size(286, 32)
Me.TextBox5.TabIndex = 2
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label5.ForeColor = System.Drawing.Color.White
Me.Label5.Location = New System.Drawing.Point(10, 9)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(176, 25)
Me.Label5.TabIndex = 8
Me.Label5.Text = "Introdu Cantitatea"
'
'DataGridView1
'
Me.DataGridView1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.DataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells
Me.DataGridView1.BackgroundColor = System.Drawing.Color.White
Me.DataGridView1.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.Raised
DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.BottomCenter
DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control
DataGridViewCellStyle3.Font = New System.Drawing.Font("Segoe UI", 16.2!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText
DataGridViewCellStyle3.Padding = New System.Windows.Forms.Padding(0, 0, 0, 4)
DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight
DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText
DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
Me.DataGridView1.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle3
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
DataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.BottomCenter
DataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window
DataGridViewCellStyle4.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
DataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText
DataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight
DataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText
DataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
Me.DataGridView1.DefaultCellStyle = DataGridViewCellStyle4
Me.DataGridView1.GridColor = System.Drawing.SystemColors.ControlLight
Me.DataGridView1.Location = New System.Drawing.Point(323, 21)
Me.DataGridView1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersWidth = 51
Me.DataGridView1.RowTemplate.Height = 29
Me.DataGridView1.Size = New System.Drawing.Size(1004, 409)
Me.DataGridView1.TabIndex = 10
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 10.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label6.ForeColor = System.Drawing.Color.White
Me.Label6.Location = New System.Drawing.Point(17, 187)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(42, 20)
Me.Label6.TabIndex = 11
Me.Label6.Text = "Data"
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Font = New System.Drawing.Font("Segoe UI", 10.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label7.ForeColor = System.Drawing.Color.White
Me.Label7.Location = New System.Drawing.Point(164, 187)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(34, 20)
Me.Label7.TabIndex = 13
Me.Label7.Text = "Ora"
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.Black
Me.Button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.Color.Lime
Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button1.Location = New System.Drawing.Point(33, 289)
Me.Button1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(239, 41)
Me.Button1.TabIndex = 14
Me.Button1.Text = "Inchide Formularul"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer))
Me.Button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.ForeColor = System.Drawing.Color.Lime
Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button2.Location = New System.Drawing.Point(16, 229)
Me.Button2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(256, 41)
Me.Button2.TabIndex = 15
Me.Button2.Text = "Sterge randul selectat"
Me.Button2.UseVisualStyleBackColor = False
'
'Form12
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer))
Me.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.ClientSize = New System.Drawing.Size(1339, 439)
Me.ControlBox = False
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.TextBox5)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.Label2)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow
Me.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Name = "Form12"
Me.RightToLeftLayout = True
Me.Text = "Scanare comenzi"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox2 As TextBox
Friend WithEvents Label2 As Label
Friend WithEvents TextBox5 As TextBox
Friend WithEvents Label5 As Label
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label6 As Label
Friend WithEvents Label7 As Label
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
End Class

View File

@@ -1,60 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,122 +0,0 @@

Imports System.Security.Cryptography
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Public Class Form12
'setari pentru server
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Private Sub updateTable()
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("select top 14 * from dbo.cusut order by id desc", con)
Dim sda As New SqlDataAdapter(command)
Dim dt As New DataTable
sda.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
End Sub
Private Sub UserForm2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' text box1 incarcare valoare, set text box 2 pentru scan
updateTable()
TextBox5.Focus()
End Sub
Private Sub TextBox2_TextChangeed(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
' validare CP text box 2
End Sub
Private Sub TextBox5_TextChangeed(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
' validare Calitate text box5
If TextBox5.Text.Length < 10 Then
ElseIf TextBox5.Text.Length = 10 Then
Dim val As String
val = TextBox5.Text
If InStr(1, val, "CP") > 0 Then
Dim cp As String = TextBox2.Text 'string pentru SQL cp
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
Label6.Text = dta 'Update in Label
Dim dTime As String 'string pentru SQL time
dTime = Date.Now.ToString("hh: mm") 'Format time
Label7.Text = dTime ' update in label
Dim cant As String
cant = TextBox5.Text
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Insert into calitate.dbo.cusut values('" & TextBox2.Text & "','" & cant & "','" & dta & "','" & dTime & "')", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
TextBox5.Clear()
TextBox2.Clear()
TextBox5.Focus()
Else
MsgBox("Introdu CP Corect")
TextBox2.Clear()
TextBox2.Focus()
End If
Else
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' inchidere forma scanare articole
Form1.Show()
Me.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' stergere rand din datagrid
Dim result1 As DialogResult = MsgBox("Sigur Vrei sa strigi linia selectata ?", MsgBoxStyle.Information + MsgBoxStyle.YesNo,
"Confirmare stergere Linie")
If DialogResult.OK Then 'confirmare MsgBox
' cod stergere din SQL
If rowIdval >= 0 Then ' id row datagrid din sub datagrid
Dim id As Integer = rowIdval
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Delete calitate.dbo.cusut where id = '" & id & "'", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
MsgBox(" Linia a fost stearsa")
TextBox2.Focus()
End If
Else
MsgBox(" Ai anulat stergerea liniei")
End If
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
Dim selectRow As Integer = e.RowIndex ' gasirea indezului din datagrid
If selectRow >= 0 Then 'gasirea id din randul selectat din datagrid
Dim selectedCellValue As String = DataGridView1.Rows(selectRow).Cells("id").Value.ToString()
rowIdval = selectedCellValue ' devinirea valorii lui rowIdVal pe baza selectarii din datagrid
End If
End Sub
End Class

View File

@@ -1,179 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form13
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.DateTimePicker3 = New System.Windows.Forms.DateTimePicker()
Me.Label1 = New System.Windows.Forms.Label()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
Me.GroupBox1.SuspendLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DateTimePicker1
'
Me.DateTimePicker1.CustomFormat = "yyyy-MM-dd"
Me.DateTimePicker1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.DateTimePicker1.Location = New System.Drawing.Point(131, 20)
Me.DateTimePicker1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.DateTimePicker1.Name = "DateTimePicker1"
Me.DateTimePicker1.Size = New System.Drawing.Size(140, 29)
Me.DateTimePicker1.TabIndex = 0
'
'GroupBox1
'
Me.GroupBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.DateTimePicker3)
Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Controls.Add(Me.DateTimePicker1)
Me.GroupBox1.Location = New System.Drawing.Point(31, 16)
Me.GroupBox1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox1.Size = New System.Drawing.Size(557, 64)
Me.GroupBox1.TabIndex = 1
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Alege intervalul din care trebuie sa faci exportul in excel"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(290, 23)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(79, 21)
Me.Label3.TabIndex = 3
Me.Label3.Text = "End Date"
'
'DateTimePicker3
'
Me.DateTimePicker3.CustomFormat = "yyyy-MM-dd"
Me.DateTimePicker3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.DateTimePicker3.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.DateTimePicker3.Location = New System.Drawing.Point(389, 20)
Me.DateTimePicker3.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.DateTimePicker3.Name = "DateTimePicker3"
Me.DateTimePicker3.Size = New System.Drawing.Size(140, 29)
Me.DateTimePicker3.TabIndex = 2
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(15, 24)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(86, 21)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Start Date"
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(10, 94)
Me.DataGridView1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersWidth = 51
Me.DataGridView1.RowTemplate.Height = 29
Me.DataGridView1.Size = New System.Drawing.Size(1143, 398)
Me.DataGridView1.TabIndex = 2
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.Color.Black
Me.Button1.Location = New System.Drawing.Point(623, 31)
Me.Button1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(170, 40)
Me.Button1.TabIndex = 3
Me.Button1.Text = "Preview"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.ForeColor = System.Drawing.Color.Black
Me.Button2.Location = New System.Drawing.Point(822, 30)
Me.Button2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(170, 40)
Me.Button2.TabIndex = 4
Me.Button2.Text = "Export to Excel"
Me.Button2.UseVisualStyleBackColor = False
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.Red
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button3.ForeColor = System.Drawing.Color.White
Me.Button3.Location = New System.Drawing.Point(998, 16)
Me.Button3.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(156, 59)
Me.Button3.TabIndex = 5
Me.Button3.Text = "Inchide program"
Me.Button3.UseVisualStyleBackColor = False
'
'Form13
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1183, 511)
Me.ControlBox = False
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.GroupBox1)
Me.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Name = "Form13"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Export from SQL Database Cusut"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents DateTimePicker1 As DateTimePicker
Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Label3 As Label
Friend WithEvents DateTimePicker3 As DateTimePicker
Friend WithEvents Label1 As Label
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents SaveFileDialog1 As SaveFileDialog
End Class

View File

@@ -1,63 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -1,89 +0,0 @@
Imports System.IO
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Public Class Form13
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
Dim command As New SqlCommand("select * from calitate.dbo.cusut where [data] between @date1 and @date2", con)
command.Parameters.Add("date1", SqlDbType.Date).Value = DateTimePicker1.Value
command.Parameters.Add("date2", SqlDbType.Date).Value = DateTimePicker3.Value
Dim da As New SqlDataAdapter
da.SelectCommand = command
Dim dt As New DataTable
dt.Clear()
da.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim saveFileDialog As New SaveFileDialog()
'Dim fileName As String = "Cusut" & "-" & dta & ".csv"
saveFileDialog.Filter = "CSV (.csv)|.csv"
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
saveFileDialog.FileName = "Cusut" & "-" & dta & ".csv"
If (saveFileDialog.ShowDialog() = DialogResult.OK) Then
Using sw As New StreamWriter(saveFileDialog.FileName)
Dim columnCount As Integer = DataGridView1.ColumnCount
For i As Integer = 0 To columnCount - 1
sw.Write(DataGridView1.Columns(i).HeaderText)
If (i < columnCount - 1) Then
sw.Write(","c)
End If
Next
sw.Write(sw.NewLine)
For Each row As DataGridViewRow In DataGridView1.Rows
For i As Integer = 0 To row.Cells.Count - 1
If Not row.IsNewRow Then
sw.Write(row.Cells(i).Value.ToString())
End If
If (i < row.Cells.Count - 1) Then
sw.Write(","c)
End If
Next
sw.Write(sw.NewLine)
Next
sw.Close()
End Using
MessageBox.Show("CSV file saved.")
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Form1.Show()
Me.Close()
End Sub
End Class

View File

@@ -1,268 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form14
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form14))
Me.Label1 = New System.Windows.Forms.Label()
Me.ScanCP = New System.Windows.Forms.TextBox()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.BTPRINT = New System.Windows.Forms.Button()
Me.Label4 = New System.Windows.Forms.Label()
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
Me.PrintDialog1 = New System.Windows.Forms.PrintDialog()
Me.PrintPreviewDialog1 = New System.Windows.Forms.PrintPreviewDialog()
Me.Label5 = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.Label8 = New System.Windows.Forms.Label()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.PictureBox2 = New System.Windows.Forms.PictureBox()
Me.Button1 = New System.Windows.Forms.Button()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(12, 85)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(83, 25)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Scan CP"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'ScanCP
'
Me.ScanCP.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.ScanCP.Location = New System.Drawing.Point(109, 77)
Me.ScanCP.MaxLength = 10
Me.ScanCP.Name = "ScanCP"
Me.ScanCP.Size = New System.Drawing.Size(275, 33)
Me.ScanCP.TabIndex = 1
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(12, 126)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowTemplate.Height = 25
Me.DataGridView1.Size = New System.Drawing.Size(1367, 109)
Me.DataGridView1.TabIndex = 2
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label2.Location = New System.Drawing.Point(431, 80)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(218, 25)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Comanda si linia Client:"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(655, 80)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(17, 25)
Me.Label3.TabIndex = 4
Me.Label3.Text = ":"
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'BTPRINT
'
Me.BTPRINT.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer))
Me.BTPRINT.Font = New System.Drawing.Font("Segoe UI Black", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.BTPRINT.Location = New System.Drawing.Point(12, 251)
Me.BTPRINT.Name = "BTPRINT"
Me.BTPRINT.Size = New System.Drawing.Size(324, 86)
Me.BTPRINT.TabIndex = 5
Me.BTPRINT.Text = "Print"
Me.BTPRINT.UseVisualStyleBackColor = False
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label4.Location = New System.Drawing.Point(27, 24)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(176, 25)
Me.Label4.TabIndex = 6
Me.Label4.Text = "Alege Imprimanta "
'
'ComboBox1
'
Me.ComboBox1.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.ComboBox1.FormattingEnabled = True
Me.ComboBox1.Location = New System.Drawing.Point(209, 16)
Me.ComboBox1.Name = "ComboBox1"
Me.ComboBox1.Size = New System.Drawing.Size(287, 33)
Me.ComboBox1.TabIndex = 7
'
'PrintDialog1
'
Me.PrintDialog1.UseEXDialog = True
'
'PrintPreviewDialog1
'
Me.PrintPreviewDialog1.AutoScrollMargin = New System.Drawing.Size(0, 0)
Me.PrintPreviewDialog1.AutoScrollMinSize = New System.Drawing.Size(0, 0)
Me.PrintPreviewDialog1.ClientSize = New System.Drawing.Size(400, 300)
Me.PrintPreviewDialog1.Enabled = True
Me.PrintPreviewDialog1.Icon = CType(resources.GetObject("PrintPreviewDialog1.Icon"), System.Drawing.Icon)
Me.PrintPreviewDialog1.Name = "PrintPreviewDialog1"
Me.PrintPreviewDialog1.Visible = False
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label5.Location = New System.Drawing.Point(898, 80)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(126, 25)
Me.Label5.TabIndex = 8
Me.Label5.Text = "Cantitate CP:"
Me.Label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label6.Location = New System.Drawing.Point(1030, 80)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(17, 25)
Me.Label6.TabIndex = 9
Me.Label6.Tag = ""
Me.Label6.Text = ":"
Me.Label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label7.Location = New System.Drawing.Point(972, 24)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(17, 25)
Me.Label7.TabIndex = 11
Me.Label7.Tag = ""
Me.Label7.Text = ":"
Me.Label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label8.Location = New System.Drawing.Point(898, 24)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(68, 25)
Me.Label8.TabIndex = 10
Me.Label8.Text = "Client:"
Me.Label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'PictureBox1
'
Me.PictureBox1.Location = New System.Drawing.Point(1270, 241)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(100, 300)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.PictureBox1.TabIndex = 12
Me.PictureBox1.TabStop = False
'
'PictureBox2
'
Me.PictureBox2.Location = New System.Drawing.Point(955, 262)
Me.PictureBox2.Name = "PictureBox2"
Me.PictureBox2.Size = New System.Drawing.Size(300, 100)
Me.PictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.PictureBox2.TabIndex = 13
Me.PictureBox2.TabStop = False
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.Red
Me.Button1.Font = New System.Drawing.Font("Segoe UI Black", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.SystemColors.ControlLightLight
Me.Button1.Location = New System.Drawing.Point(12, 411)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(324, 86)
Me.Button1.TabIndex = 14
Me.Button1.Text = "Inchide printul"
Me.Button1.UseVisualStyleBackColor = False
'
'Form14
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer))
Me.ClientSize = New System.Drawing.Size(1391, 553)
Me.ControlBox = False
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.PictureBox2)
Me.Controls.Add(Me.PictureBox1)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.ComboBox1)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.BTPRINT)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.ScanCP)
Me.Controls.Add(Me.Label1)
Me.Name = "Form14"
Me.Text = "Print Etichete"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents ScanCP As TextBox
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label2 As Label
Friend WithEvents Label3 As Label
Friend WithEvents BTPRINT As Button
Friend WithEvents Label4 As Label
Friend WithEvents ComboBox1 As ComboBox
Friend WithEvents PrintDialog1 As PrintDialog
Friend WithEvents PrintPreviewDialog1 As PrintPreviewDialog
Friend WithEvents Label5 As Label
Friend WithEvents Label6 As Label
Friend WithEvents Label7 As Label
Friend WithEvents Label8 As Label
Friend WithEvents PictureBox1 As PictureBox
Friend WithEvents PictureBox2 As PictureBox
Friend WithEvents Button1 As Button
End Class

View File

@@ -1,90 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="PrintDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="PrintPreviewDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>136, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="PrintPreviewDialog1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAEBAAAAAAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////APb29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v////8A////AP///wD///8A9vb2//b29v/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/////AP///wD///8A////APb29v9CQkL/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2/////wD///8A////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v////8A////AP///wD///8A9vb2/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v////8A////APb29v9CQkL/QkJC/0JCQv9CQkL/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/////wD///8A9vb2/0JCQv9CQkL/QkJC/0JC
Qv/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v////8A////APb29v/29vb/9vb2//b2
9v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP///wD///8A////AP//
/wD///8A////APb29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/////wD///8A////AP//
/wD///8A////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v////8A////AP//
/wD///8A////AP///wD///8A9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP//
/wD///8A////AP///wD///8A////APb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A
</value>
</data>
</root>

View File

@@ -1,374 +0,0 @@
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports System.Security.Cryptography
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Imports DocumentFormat.OpenXml.VariantTypes
Imports System.Drawing.Printing
Imports System.Reflection
Imports DocumentFormat.OpenXml.Bibliography
Public Class Form14
Dim DataString As String = My.Settings.subnet ' informatii cu privire la subnet
Dim surce As String = My.Settings.serverName ' informatii preluate din system settings numele servarului
Dim catalog As String = My.Settings.serverdatabase ' informatii din system setings cu privire la numele bazei de date
Dim user As String = My.Settings.serverUser ' informatii din system setings cu privire la userul de introducere a datelor in baza de date
Dim pass As String = My.Settings.serverUserpass ' informatii din system setings cu privire la parola userului
Dim timeout As String = My.Settings.timeout ' informatii din system setings cu privire la server time out
Dim encrypt As String = My.Settings.encrypt ' ' informatii din system setings cu privire la encriptie
Dim trust As String = My.Settings.cert ' informatii din system setings cu privire la certificate
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Dim comCli As String
Dim comCli2 As String
Dim plusCpSerie As String
Dim cpserie As String
Dim row As Integer = 0
'Dim dataStringforE As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Get available printers and add them to combo box
For Each printer As String In PrinterSettings.InstalledPrinters
ComboBox1.Items.Add(printer)
Next
End Sub
Private Sub updateTable()
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("select * from Info_etichete where Comanda_Linia = '" & comCli & "' ", con)
Dim sda As New SqlDataAdapter(command) ' adaptorul pentru data grig view
Dim dt As New DataTable ' pregatirea datelor pentru data grid view
sda.Fill(dt) ' actualizarea data grid view
DataGridView1.DataSource = dt
Me.DataGridView1.Columns("Data_Livrare").DefaultCellStyle.Format = "yyyy.MM.dd"
con.Close() ' inchiderea conexiuneii cu serverul
Dim clientDataGrid As String
clientDataGrid = DataGridView1.Rows(0).Cells(15).Value
End Sub
Private Sub ScanCP_TextChangeed(sender As Object, e As EventArgs) Handles ScanCP.TextChanged
If ScanCP.Text.Length < 10 Then
ElseIf ScanCP.Text.Length = 10 Then
Dim val As String
val = ScanCP.Text
If InStr(1, val, "CP") > 0 Then
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
Dim command As New SqlCommand("select Com_Achiz_Client from CP_Import_Wiz where Comanda_Productie = '" & val & "' ", con)
Dim command2 As New SqlCommand("select Cantitate_Com_Prod from CP_Import_Wiz where Comanda_Productie = '" & val & "' ", con)
con.Open() ' deschiderea conexiuni cu serverul
comCli = CStr(command.ExecuteScalar())
comCli2 = CStr(command2.ExecuteScalar())
Label3.Text = comCli
Label6.Text = comCli2
updateTable()
Dim clientDataGrid As String
clientDataGrid = DataGridView1.Rows(0).Cells(15).Value
Label7.Text = clientDataGrid
Else
MsgBox("Scaneaza codul CP corect") ' cod de eroare in cazul introducerii codului gresit
ScanCP.Focus() 'focus pe textbox 1
End If
Else
End If
cpserie = ScanCP.Text & "-00" & Label6.Text
End Sub
Dim WithEvents PD As New PrintDocument
Dim WithEvents PD1 As New PrintDocument
Dim PPD As New PrintPreviewDialog
Dim PPD1 As New PrintPreviewDialog
Private Sub BTPRINT_Click(sender As Object, e As EventArgs) Handles BTPRINT.Click
PPD.Document = PD
PPD1.Document = PD1
If comCli2 < 5 Then
Dim serieCant As Integer
serieCant = comCli2
For i As Integer = 1 To serieCant
Dim number As String = i.ToString().PadLeft(3, "0"c)
plusCpSerie = number.ToString()
Dim rowCount As Integer = DataGridView1.RowCount
If rowCount = serieCant Then
row = serieCant - 1
Else
row = 0
End If
PD.Print() 'Direct Print
PD.Print() ' PPD.ShowDialog()
Next
Else
Dim serieCant As Integer
serieCant = comCli2
For i As Integer = 1 To serieCant
Dim number As String = i.ToString().PadLeft(3, "0"c)
plusCpSerie = number.ToString()
Dim rowCount As Integer = DataGridView1.RowCount
If rowCount = serieCant Then
row = serieCant - 1
Else
row = 0
End If
PD.Print() 'Direct Print
Next
PD1.Print()
End If
DataGridView1.DataSource = Nothing
ScanCP.Clear()
ScanCP.Focus()
End Sub
Private Sub PD_BeginPrint(sender As Object, e As PrintEventArgs) Handles PD.BeginPrint
Dim pagesetup As New PageSettings
pagesetup.PaperSize = New PaperSize("Custom", 300, 500)
PD.DefaultPageSettings = pagesetup
PD1.DefaultPageSettings = pagesetup
If ComboBox1.Text = "" Then
MsgBox("Selecteaza un printer")
Else
PD.PrinterSettings.PrinterName = ComboBox1.SelectedItem.ToString()
PD1.PrinterSettings.PrinterName = ComboBox1.SelectedItem.ToString()
End If
End Sub
Private Sub PD_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PD.PrintPage
Dim cpserie As String
cpserie = ScanCP.Text + "-" + plusCpSerie
Dim f8 As New Font("Calibri", 8, FontStyle.Regular)
Dim f10 As New Font("Calibri", 10, FontStyle.Regular)
Dim f10b As New Font("Calibri", 10, FontStyle.Bold)
Dim f14 As New Font("Calibri", 12, FontStyle.Bold)
Dim leftmargin As Integer = PD.DefaultPageSettings.Margins.Left
Dim centermargin As Integer = PD.DefaultPageSettings.PaperSize.Width / 2
Dim rightmargin As Integer = PD.DefaultPageSettings.PaperSize.Width
'font alignment
Dim right As New StringFormat
Dim center As New StringFormat
right.Alignment = StringAlignment.Far
center.Alignment = StringAlignment.Center
Dim line As String
line = "----------------------------------------------"
Dim bara As String
bara = "|"
'Dim row As Integer = 0
DataGridView1.AllowUserToAddRows = False
e.Graphics.DrawString("Quantity:", f14, Brushes.Black, 5, 40) 'first line
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(1).Value.ToString, f14, Brushes.Black, 90, 40) 'first line
e.Graphics.DrawString("To Pallet", f14, Brushes.Black, 110, 40) 'First line
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 55) ' linia nr 2
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(2).Value.ToString, f14, Brushes.Black, 5, 65) ' linia nr 3
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 80) 'linia nr 4
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(3).Value.ToString, f14, Brushes.Black, 5, 90) 'inia nr 5
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 100) 'linia 6
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(4).Value.ToString, f14, Brushes.Black, 5, 110) 'linia 7
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 125) 'linia 8
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(5).Value.ToString, f14, Brushes.Black, 5, 135) 'linia 9
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 147) 'linia 10
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(6).Value.ToString, f14, Brushes.Black, 5, 155) 'linia 11
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 167) 'linia 12
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(7).Value.ToString, f14, Brushes.Black, 5, 175) ' 'linia 13
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 187) 'linia 14
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(8).Value.ToString, f14, Brushes.Black, 5, 195) 'linia 15
e.Graphics.DrawString(bara, f14, Brushes.Black, 100, 195) 'linia 15
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(9).Value.ToString, f14, Brushes.Black, 110, 195) 'linia 15
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 205) 'linia 16
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(10).Value.ToString, f14, Brushes.Black, 5, 215) 'linia 17
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 225) 'linia 18
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(11).Value.ToString, f14, Brushes.Black, 5, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 50, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(12).Value, f14, Brushes.Black, 65, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 160, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(13).Value.ToString, f14, Brushes.Black, 170, 235) 'linia 19
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 250) 'linia 20
e.Graphics.DrawString("Barcode Number =>", f14, Brushes.Black, 5, 260) 'linia 21
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 275) 'linia 22
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(14).Value.ToString, f14, Brushes.Black, 10, 285) 'linia 23
Dim barcodeData As String = DataGridView1.Rows(row).Cells(14).Value.ToString
Dim gbarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim barcodeimage As Image
Dim w As Integer = 100
Dim h As Integer = 300
barcodeimage = New Bitmap(gbarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, barcodeData))
PictureBox1.Image = barcodeimage
Me.PictureBox1.Height = h
Me.PictureBox1.Width = w
Me.PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 300) 'linia 24
e.Graphics.DrawImage(PictureBox1.Image, 205, 60, 90, 300) ''Print lateral code de bare
e.Graphics.DrawString("Production Number & Series ", f14, Brushes.Black, 5, 310)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 320)
e.Graphics.DrawString(cpserie, f14, Brushes.Black, 5, 330)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 345)
Dim cpBarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim cpbarcodeimage As Image
cpbarcodeimage = New Bitmap(cpBarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, cpserie))
PictureBox2.Image = cpbarcodeimage
PictureBox2.SizeMode = PictureBoxSizeMode.Zoom
PictureBox2.Size = New Size(300, 200)
e.Graphics.DrawImage(PictureBox2.Image, -55, 353, 400, 100)
PictureBox1.Dispose()
PictureBox2.Dispose()
'InfoPrintEtichete()
Try
Dim cpserieE As String = cpserie
Dim comLiniaE As String = DataGridView1.Rows(row).Cells(0).Value.ToString()
Dim cantGE As String = DataGridView1.Rows(row).Cells(1).Value.ToString()
Dim comLinia1E As String = DataGridView1.Rows(row).Cells(2).Value.ToString()
Dim onsE As String = DataGridView1.Rows(row).Cells(3).Value.ToString()
Dim descrE As String = DataGridView1.Rows(row).Cells(4).Value.ToString()
Dim dimE As String = DataGridView1.Rows(row).Cells(5).Value.ToString()
Dim clientE As String = DataGridView1.Rows(row).Cells(6).Value.ToString()
Dim stradaE As String = DataGridView1.Rows(row).Cells(7).Value.ToString()
Dim pCodeE As String = DataGridView1.Rows(row).Cells(8).Value.ToString()
Dim orasClientE As String = DataGridView1.Rows(row).Cells(9).Value.ToString()
Dim pfE As String = DataGridView1.Rows(row).Cells(10).Value.ToString()
Dim marcajE As String = DataGridView1.Rows(row).Cells(11).Value.ToString()
Dim dataStringE As Date = DataGridView1.Rows(row).Cells(12).Value
Dim volE As String = DataGridView1.Rows(row).Cells(13).Value.ToString()
Dim barcodeE As String = DataGridView1.Rows(row).Cells(14).Value.ToString()
Dim numeClientE As String = DataGridView1.Rows(row).Cells(15).Value.ToString()
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
'con.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("INSERT INTO Etichete_Printate VALUES('" & cpserieE & "','" & comLiniaE & "','" & cantGE & "','" & comLinia1E & "','" & onsE & "',
'" & descrE & "','" & dimE & "','" & clientE & "','" & stradaE & "','" & pCodeE & "','" & orasClientE & "','" & pfE & "',
'" & marcajE & "','" & dataStringE & "','" & volE & "','" & barcodeE & "','" & numeClientE & "')", con)
con.Open()
command.ExecuteNonQuery()
con.Close()
Catch ex As Exception
End Try
End Sub
Private Sub PD1_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PD.PrintPage
Dim cpserie As String
cpserie = ScanCP.Text + "-" + plusCpSerie
Dim f8 As New Font("Calibri", 8, FontStyle.Regular)
Dim f10 As New Font("Calibri", 10, FontStyle.Regular)
Dim f10b As New Font("Calibri", 10, FontStyle.Bold)
Dim f14 As New Font("Calibri", 12, FontStyle.Bold)
Dim leftmargin As Integer = PD.DefaultPageSettings.Margins.Left
Dim centermargin As Integer = PD.DefaultPageSettings.PaperSize.Width / 2
Dim rightmargin As Integer = PD.DefaultPageSettings.PaperSize.Width
'font alignment
Dim right As New StringFormat
Dim center As New StringFormat
right.Alignment = StringAlignment.Far
center.Alignment = StringAlignment.Center
Dim line As String
line = "----------------------------------------------"
Dim bara As String
bara = "|"
'Dim row As Integer = 0
DataGridView1.AllowUserToAddRows = False
e.Graphics.DrawString("Quantity:", f14, Brushes.Black, 5, 40) 'first line
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(1).Value.ToString, f14, Brushes.Black, 90, 40) 'first line
e.Graphics.DrawString("To Pallet", f14, Brushes.Black, 110, 40) 'First line
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 55) ' linia nr 2
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(2).Value.ToString, f14, Brushes.Black, 5, 65) ' linia nr 3
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 80) 'linia nr 4
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(3).Value.ToString, f14, Brushes.Black, 5, 90) 'inia nr 5
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 100) 'linia 6
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(4).Value.ToString, f14, Brushes.Black, 5, 110) 'linia 7
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 125) 'linia 8
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(5).Value.ToString, f14, Brushes.Black, 5, 135) 'linia 9
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 147) 'linia 10
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(6).Value.ToString, f14, Brushes.Black, 5, 155) 'linia 11
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 167) 'linia 12
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(7).Value.ToString, f14, Brushes.Black, 5, 175) ' 'linia 13
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 187) 'linia 14
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(8).Value.ToString, f14, Brushes.Black, 5, 195) 'linia 15
e.Graphics.DrawString(bara, f14, Brushes.Black, 100, 195) 'linia 15
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(9).Value.ToString, f14, Brushes.Black, 110, 195) 'linia 15
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 205) 'linia 16
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(10).Value.ToString, f14, Brushes.Black, 5, 215) 'linia 17
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 225) 'linia 18
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(11).Value.ToString, f14, Brushes.Black, 5, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 50, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(12).Value, f14, Brushes.Black, 65, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 160, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(13).Value.ToString, f14, Brushes.Black, 170, 235) 'linia 19
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 250) 'linia 20
e.Graphics.DrawString("Barcode Number =>", f14, Brushes.Black, 5, 260) 'linia 21
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 275) 'linia 22
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(14).Value.ToString, f14, Brushes.Black, 10, 285) 'linia 23
Dim barcodeData As String = DataGridView1.Rows(row).Cells(14).Value.ToString
Dim gbarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim barcodeimage As Image
Dim w As Integer = 100
Dim h As Integer = 300
barcodeimage = New Bitmap(gbarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, barcodeData))
PictureBox1.Image = barcodeimage
Me.PictureBox1.Height = h
Me.PictureBox1.Width = w
Me.PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 300) 'linia 24
e.Graphics.DrawImage(PictureBox1.Image, 205, 70, 90, 300) ''Print lateral code de bare
e.Graphics.DrawString("Production Number & Series ", f14, Brushes.Black, 5, 310)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 320)
e.Graphics.DrawString(cpserie, f14, Brushes.Black, 5, 330)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 345)
PictureBox1.Dispose()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form15.Show()
Me.Close()
End Sub
End Class

View File

@@ -1,126 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form15
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.Button4 = New System.Windows.Forms.Button()
Me.Button5 = New System.Windows.Forms.Button()
Me.Button6 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.Lime
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.Location = New System.Drawing.Point(29, 24)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(404, 52)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Meniu Incarcare Etichete"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.Cyan
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.Location = New System.Drawing.Point(29, 93)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(404, 52)
Me.Button2.TabIndex = 1
Me.Button2.Text = "Printare Etichete "
Me.Button2.UseVisualStyleBackColor = False
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.Cyan
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button3.Location = New System.Drawing.Point(28, 165)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(404, 52)
Me.Button3.TabIndex = 2
Me.Button3.Text = "Printare Etichete Bochum"
Me.Button3.UseVisualStyleBackColor = False
'
'Button4
'
Me.Button4.BackColor = System.Drawing.Color.Cyan
Me.Button4.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button4.Location = New System.Drawing.Point(28, 240)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(404, 52)
Me.Button4.TabIndex = 3
Me.Button4.Text = "Printare Etichete Pierdute"
Me.Button4.UseVisualStyleBackColor = False
'
'Button5
'
Me.Button5.BackColor = System.Drawing.Color.Red
Me.Button5.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button5.ForeColor = System.Drawing.Color.White
Me.Button5.Location = New System.Drawing.Point(28, 383)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(404, 52)
Me.Button5.TabIndex = 4
Me.Button5.Text = "Inchide Meniul Etichetelor"
Me.Button5.UseVisualStyleBackColor = False
'
'Button6
'
Me.Button6.BackColor = System.Drawing.Color.Lime
Me.Button6.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button6.Location = New System.Drawing.Point(28, 318)
Me.Button6.Name = "Button6"
Me.Button6.Size = New System.Drawing.Size(403, 46)
Me.Button6.TabIndex = 5
Me.Button6.Text = "Printare Etichete MTS"
Me.Button6.UseVisualStyleBackColor = False
'
'Form15
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer))
Me.ClientSize = New System.Drawing.Size(481, 481)
Me.ControlBox = False
Me.Controls.Add(Me.Button6)
Me.Controls.Add(Me.Button5)
Me.Controls.Add(Me.Button4)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Name = "Form15"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Modul Management Etichete"
Me.ResumeLayout(False)
End Sub
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents Button4 As Button
Friend WithEvents Button5 As Button
Friend WithEvents Button6 As Button
End Class

View File

@@ -1,60 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,32 +0,0 @@
Public Class Form15
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Form1.Show()
Me.Close()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form11.Show()
Me.Hide()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Form14.Show()
Me.Hide()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Form16.Show()
Me.Hide()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Form17.Show()
Me.Hide()
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Form18.Show()
Me.Hide()
End Sub
End Class

View File

@@ -1,268 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form16
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form16))
Me.Label1 = New System.Windows.Forms.Label()
Me.ScanCP = New System.Windows.Forms.TextBox()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.BTPRINT = New System.Windows.Forms.Button()
Me.Label4 = New System.Windows.Forms.Label()
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
Me.PrintDialog1 = New System.Windows.Forms.PrintDialog()
Me.PrintPreviewDialog1 = New System.Windows.Forms.PrintPreviewDialog()
Me.Label5 = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.Label8 = New System.Windows.Forms.Label()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.PictureBox2 = New System.Windows.Forms.PictureBox()
Me.Button1 = New System.Windows.Forms.Button()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(12, 85)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(83, 25)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Scan CP"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'ScanCP
'
Me.ScanCP.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.ScanCP.Location = New System.Drawing.Point(109, 77)
Me.ScanCP.MaxLength = 10
Me.ScanCP.Name = "ScanCP"
Me.ScanCP.Size = New System.Drawing.Size(275, 33)
Me.ScanCP.TabIndex = 1
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(12, 126)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowTemplate.Height = 25
Me.DataGridView1.Size = New System.Drawing.Size(1239, 268)
Me.DataGridView1.TabIndex = 2
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label2.Location = New System.Drawing.Point(431, 80)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(218, 25)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Comanda si linia Client:"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(655, 80)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(17, 25)
Me.Label3.TabIndex = 4
Me.Label3.Text = ":"
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'BTPRINT
'
Me.BTPRINT.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer))
Me.BTPRINT.Font = New System.Drawing.Font("Segoe UI Black", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.BTPRINT.Location = New System.Drawing.Point(12, 432)
Me.BTPRINT.Name = "BTPRINT"
Me.BTPRINT.Size = New System.Drawing.Size(324, 86)
Me.BTPRINT.TabIndex = 5
Me.BTPRINT.Text = "Print"
Me.BTPRINT.UseVisualStyleBackColor = False
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label4.Location = New System.Drawing.Point(27, 24)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(176, 25)
Me.Label4.TabIndex = 6
Me.Label4.Text = "Alege Imprimanta "
'
'ComboBox1
'
Me.ComboBox1.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.ComboBox1.FormattingEnabled = True
Me.ComboBox1.Location = New System.Drawing.Point(209, 16)
Me.ComboBox1.Name = "ComboBox1"
Me.ComboBox1.Size = New System.Drawing.Size(287, 33)
Me.ComboBox1.TabIndex = 7
'
'PrintDialog1
'
Me.PrintDialog1.UseEXDialog = True
'
'PrintPreviewDialog1
'
Me.PrintPreviewDialog1.AutoScrollMargin = New System.Drawing.Size(0, 0)
Me.PrintPreviewDialog1.AutoScrollMinSize = New System.Drawing.Size(0, 0)
Me.PrintPreviewDialog1.ClientSize = New System.Drawing.Size(400, 300)
Me.PrintPreviewDialog1.Enabled = True
Me.PrintPreviewDialog1.Icon = CType(resources.GetObject("PrintPreviewDialog1.Icon"), System.Drawing.Icon)
Me.PrintPreviewDialog1.Name = "PrintPreviewDialog1"
Me.PrintPreviewDialog1.Visible = False
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label5.Location = New System.Drawing.Point(898, 80)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(126, 25)
Me.Label5.TabIndex = 8
Me.Label5.Text = "Cantitate CP:"
Me.Label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label6.Location = New System.Drawing.Point(1030, 80)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(17, 25)
Me.Label6.TabIndex = 9
Me.Label6.Tag = ""
Me.Label6.Text = ":"
Me.Label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label7.Location = New System.Drawing.Point(972, 24)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(17, 25)
Me.Label7.TabIndex = 11
Me.Label7.Tag = ""
Me.Label7.Text = ":"
Me.Label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label8.Location = New System.Drawing.Point(898, 24)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(68, 25)
Me.Label8.TabIndex = 10
Me.Label8.Text = "Client:"
Me.Label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'PictureBox1
'
Me.PictureBox1.Location = New System.Drawing.Point(1270, 241)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(100, 300)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.PictureBox1.TabIndex = 12
Me.PictureBox1.TabStop = False
'
'PictureBox2
'
Me.PictureBox2.Location = New System.Drawing.Point(951, 418)
Me.PictureBox2.Name = "PictureBox2"
Me.PictureBox2.Size = New System.Drawing.Size(300, 100)
Me.PictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.PictureBox2.TabIndex = 13
Me.PictureBox2.TabStop = False
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.Red
Me.Button1.Font = New System.Drawing.Font("Segoe UI Black", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.SystemColors.ControlLightLight
Me.Button1.Location = New System.Drawing.Point(348, 432)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(324, 86)
Me.Button1.TabIndex = 14
Me.Button1.Text = "Inchide printul"
Me.Button1.UseVisualStyleBackColor = False
'
'Form16
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer))
Me.ClientSize = New System.Drawing.Size(1391, 553)
Me.ControlBox = False
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.PictureBox2)
Me.Controls.Add(Me.PictureBox1)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.ComboBox1)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.BTPRINT)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.ScanCP)
Me.Controls.Add(Me.Label1)
Me.Name = "Form16"
Me.Text = "Print Etichete"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents ScanCP As TextBox
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label2 As Label
Friend WithEvents Label3 As Label
Friend WithEvents BTPRINT As Button
Friend WithEvents Label4 As Label
Friend WithEvents ComboBox1 As ComboBox
Friend WithEvents PrintDialog1 As PrintDialog
Friend WithEvents PrintPreviewDialog1 As PrintPreviewDialog
Friend WithEvents Label5 As Label
Friend WithEvents Label6 As Label
Friend WithEvents Label7 As Label
Friend WithEvents Label8 As Label
Friend WithEvents PictureBox1 As PictureBox
Friend WithEvents PictureBox2 As PictureBox
Friend WithEvents Button1 As Button
End Class

View File

@@ -1,90 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="PrintDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="PrintPreviewDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>136, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="PrintPreviewDialog1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAEBAAAAAAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////APb29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v////8A////AP///wD///8A9vb2//b29v/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/////AP///wD///8A////APb29v9CQkL/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2/////wD///8A////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v////8A////AP///wD///8A9vb2/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v////8A////APb29v9CQkL/QkJC/0JCQv9CQkL/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/////wD///8A9vb2/0JCQv9CQkL/QkJC/0JC
Qv/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v////8A////APb29v/29vb/9vb2//b2
9v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP///wD///8A////AP//
/wD///8A////APb29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/////wD///8A////AP//
/wD///8A////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v////8A////AP//
/wD///8A////AP///wD///8A9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP//
/wD///8A////AP///wD///8A////APb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A
</value>
</data>
</root>

View File

@@ -1,371 +0,0 @@
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports System.Security.Cryptography
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Imports DocumentFormat.OpenXml.VariantTypes
Imports System.Drawing.Printing
Imports System.Reflection
Imports DocumentFormat.OpenXml.Bibliography
Public Class Form16
Dim DataString As String = My.Settings.subnet ' informatii cu privire la subnet
Dim surce As String = My.Settings.serverName ' informatii preluate din system settings numele servarului
Dim catalog As String = My.Settings.serverdatabase ' informatii din system setings cu privire la numele bazei de date
Dim user As String = My.Settings.serverUser ' informatii din system setings cu privire la userul de introducere a datelor in baza de date
Dim pass As String = My.Settings.serverUserpass ' informatii din system setings cu privire la parola userului
Dim timeout As String = My.Settings.timeout ' informatii din system setings cu privire la server time out
Dim encrypt As String = My.Settings.encrypt ' ' informatii din system setings cu privire la encriptie
Dim trust As String = My.Settings.cert ' informatii din system setings cu privire la certificate
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Dim comCli As String
Dim comCli2 As String
Dim plusCpSerie As String
Dim cpserie As String
Dim row As Integer = 0
'Dim dataStringforE As String
Private Sub Form16_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Get available printers and add them to combo box
For Each printer As String In PrinterSettings.InstalledPrinters
ComboBox1.Items.Add(printer)
Next
End Sub
Private Sub updateTable()
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("select * from Info_etichete where Comanda_Linia = '" & comCli & "' ", con)
Dim sda As New SqlDataAdapter(command) ' adaptorul pentru data grig view
Dim dt As New DataTable ' pregatirea datelor pentru data grid view
sda.Fill(dt) ' actualizarea data grid view
DataGridView1.DataSource = dt
con.Close() ' inchiderea conexiuneii cu serverul
End Sub
Private Sub ScanCP_TextChangeed(sender As Object, e As EventArgs) Handles ScanCP.TextChanged
' validare text box 1 cu OQ
' acest text box are o lungime a stringului de 4 caractere
If ScanCP.Text.Length < 10 Then
' caod de validare a criteriilor de Operator calitate OQ01 OQ02 OQ03 OQ04....
ElseIf ScanCP.Text.Length = 10 Then
Dim val As String
val = ScanCP.Text
If InStr(1, val, "CP") > 0 Then
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
Dim command As New SqlCommand("select Com_Achiz_Client from CP_Import_Wiz where Comanda_Productie = '" & val & "' ", con)
Dim command2 As New SqlCommand("select Cantitate_Com_Prod from CP_Import_Wiz where Comanda_Productie = '" & val & "' ", con)
con.Open() ' deschiderea conexiuni cu serverul
comCli = CStr(command.ExecuteScalar())
comCli2 = CStr(command2.ExecuteScalar())
Label3.Text = comCli
Label6.Text = comCli2
updateTable()
Dim clientDataGrid As String
clientDataGrid = DataGridView1.Rows(0).Cells(15).Value
Label7.Text = clientDataGrid
Else
MsgBox("Scaneaza codul CP corect") ' cod de eroare in cazul introducerii codului gresit
ScanCP.Focus() 'focus pe textbox 1
End If
Else
End If
cpserie = ScanCP.Text & "-00" & Label6.Text
End Sub
Dim WithEvents PD As New PrintDocument
Dim PPD As New PrintPreviewDialog
Dim WithEvents PD1 As New PrintDocument
Dim PPD1 As New PrintPreviewDialog
Private Sub BTPRINT_Click(sender As Object, e As EventArgs) Handles BTPRINT.Click
PPD.Document = PD
PPD1.Document = PD1
If comCli2 < 5 Then
Dim serieCant As Integer
serieCant = comCli2
For i As Integer = 1 To serieCant
Dim number As String = i.ToString().PadLeft(3, "0"c)
plusCpSerie = number.ToString()
Dim rowCount As Integer = DataGridView1.RowCount
If rowCount = serieCant Then
row = serieCant - 1
Else
row = 0
End If
PD.Print() 'Direct Print
PD.Print() ' PPD.ShowDialog()
Next
Else
Dim serieCant As Integer
serieCant = comCli2
For i As Integer = 1 To serieCant
Dim number As String = i.ToString().PadLeft(3, "0"c)
plusCpSerie = number.ToString()
Dim rowCount As Integer = DataGridView1.RowCount
If rowCount = serieCant Then
row = serieCant - 1
Else
row = 0
End If
PD.Print() 'Direct Print
PD1.Print()
Next
End If
DataGridView1.DataSource = Nothing
ScanCP.Clear()
ScanCP.Focus()
End Sub
Private Sub PD_BeginPrint(sender As Object, e As PrintEventArgs) Handles PD.BeginPrint
Dim pagesetup As New PageSettings
pagesetup.PaperSize = New PaperSize("Custom", 300, 500)
PD.DefaultPageSettings = pagesetup
If ComboBox1.Text = "" Then
MsgBox("Selecteaza un printer")
Else
PD.PrinterSettings.PrinterName = ComboBox1.SelectedItem.ToString()
End If
End Sub
Private Sub PD_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PD.PrintPage
Dim cpserie As String
cpserie = ScanCP.Text + "-" + plusCpSerie
Dim f8 As New Font("Calibri", 8, FontStyle.Regular)
Dim f10 As New Font("Calibri", 10, FontStyle.Regular)
Dim f10b As New Font("Calibri", 10, FontStyle.Bold)
Dim f14 As New Font("Calibri", 12, FontStyle.Bold)
Dim leftmargin As Integer = PD.DefaultPageSettings.Margins.Left
Dim centermargin As Integer = PD.DefaultPageSettings.PaperSize.Width / 2
Dim rightmargin As Integer = PD.DefaultPageSettings.PaperSize.Width
'font alignment
Dim right As New StringFormat
Dim center As New StringFormat
right.Alignment = StringAlignment.Far
center.Alignment = StringAlignment.Center
Dim line As String
line = "----------------------------------------------"
Dim bara As String
bara = "|"
'Dim row As Integer = 0
DataGridView1.AllowUserToAddRows = False
e.Graphics.DrawString("Quantity:", f14, Brushes.Black, 5, 40) 'first line
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(1).Value.ToString, f14, Brushes.Black, 90, 40) 'first line
e.Graphics.DrawString("To Pallet", f14, Brushes.Black, 110, 40) 'First line
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 55) ' linia nr 2
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(2).Value.ToString, f14, Brushes.Black, 5, 65) ' linia nr 3
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 80) 'linia nr 4
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(3).Value.ToString, f14, Brushes.Black, 5, 90) 'inia nr 5
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 100) 'linia 6
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(4).Value.ToString, f14, Brushes.Black, 5, 110) 'linia 7
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 125) 'linia 8
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(5).Value.ToString, f14, Brushes.Black, 5, 135) 'linia 9
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 147) 'linia 10
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(6).Value.ToString, f14, Brushes.Black, 5, 155) 'linia 11
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 167) 'linia 12
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(7).Value.ToString, f14, Brushes.Black, 5, 175) ' 'linia 13
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 187) 'linia 14
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(8).Value.ToString, f14, Brushes.Black, 5, 195) 'linia 15
e.Graphics.DrawString(bara, f14, Brushes.Black, 100, 195) 'linia 15
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(9).Value.ToString, f14, Brushes.Black, 110, 195) 'linia 15
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 205) 'linia 16
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(10).Value.ToString, f14, Brushes.Black, 5, 215) 'linia 17
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 225) 'linia 18
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(11).Value.ToString, f14, Brushes.Black, 5, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 50, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(12).Value, f14, Brushes.Black, 65, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 160, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(13).Value.ToString, f14, Brushes.Black, 170, 235) 'linia 19
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 250) 'linia 20
e.Graphics.DrawString("Barcode Number =>", f14, Brushes.Black, 5, 260) 'linia 21
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 275) 'linia 22
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(14).Value.ToString, f14, Brushes.Black, 10, 285) 'linia 23
Dim barcodeData As String = DataGridView1.Rows(row).Cells(14).Value.ToString
Dim gbarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim barcodeimage As Image
Dim w As Integer = 100
Dim h As Integer = 300
barcodeimage = New Bitmap(gbarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, barcodeData))
PictureBox1.Image = barcodeimage
Me.PictureBox1.Height = h
Me.PictureBox1.Width = w
Me.PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 300) 'linia 24
e.Graphics.DrawImage(PictureBox1.Image, 205, 60, 90, 300) ''Print lateral code de bare
e.Graphics.DrawString("Production Number & Series ", f14, Brushes.Black, 5, 310)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 320)
e.Graphics.DrawString(cpserie, f14, Brushes.Black, 5, 330)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 345)
Dim cpBarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim cpbarcodeimage As Image
cpbarcodeimage = New Bitmap(cpBarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, cpserie))
PictureBox2.Image = cpbarcodeimage
PictureBox2.SizeMode = PictureBoxSizeMode.Zoom
PictureBox2.Size = New Size(300, 200)
e.Graphics.DrawImage(PictureBox2.Image, -50, 353, 400, 100)
PictureBox1.Dispose()
PictureBox2.Dispose()
Try
Dim cpserieE As String = cpserie
Dim comLiniaE As String = DataGridView1.Rows(row).Cells(0).Value.ToString()
Dim cantGE As String = DataGridView1.Rows(row).Cells(1).Value.ToString()
Dim comLinia1E As String = DataGridView1.Rows(row).Cells(2).Value.ToString()
Dim onsE As String = DataGridView1.Rows(row).Cells(3).Value.ToString()
Dim descrE As String = DataGridView1.Rows(row).Cells(4).Value.ToString(0)
Dim dimE As String = DataGridView1.Rows(row).Cells(5).Value.ToString(0)
Dim clientE As String = DataGridView1.Rows(row).Cells(6).Value.ToString()
Dim stradaE As String = DataGridView1.Rows(row).Cells(7).Value.ToString()
Dim pCodeE As String = DataGridView1.Rows(row).Cells(8).Value.ToString()
Dim orasClientE As String = DataGridView1.Rows(row).Cells(9).Value.ToString()
Dim pfE As String = DataGridView1.Rows(row).Cells(10).Value.ToString()
Dim marcajE As String = DataGridView1.Rows(row).Cells(11).Value.ToString(0)
Dim dataStringE As String
dataStringE = DataGridView1.Rows(row).Cells(12).Value
Dim volE As String = DataGridView1.Rows(row).Cells(13).Value.ToString()
Dim barcodeE As String = DataGridView1.Rows(row).Cells(14).Value.ToString()
Dim numeClientE As String = DataGridView1.Rows(row).Cells(15).Value.ToString()
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
'con.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("INSERT INTO Etichete_Printate VALUES('" & cpserieE & "','" & comLiniaE & "','" & cantGE & "','" & comLinia1E & "','" & onsE & "',
'" & descrE & "','" & dimE & "','" & clientE & "','" & stradaE & "','" & pCodeE & "','" & orasClientE & "','" & pfE & "',
'" & marcajE & "','" & dataStringE & "','" & volE & "','" & barcodeE & "','" & numeClientE & "')", con)
con.Open()
command.ExecuteNonQuery()
con.Close()
Catch ex As Exception
End Try
End Sub
Private Sub PD1_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PD.PrintPage
Dim cpserie As String
cpserie = ScanCP.Text + "-" + plusCpSerie
Dim f8 As New Font("Calibri", 8, FontStyle.Regular)
Dim f10 As New Font("Calibri", 10, FontStyle.Regular)
Dim f10b As New Font("Calibri", 10, FontStyle.Bold)
Dim f14 As New Font("Calibri", 12, FontStyle.Bold)
Dim leftmargin As Integer = PD.DefaultPageSettings.Margins.Left
Dim centermargin As Integer = PD.DefaultPageSettings.PaperSize.Width / 2
Dim rightmargin As Integer = PD.DefaultPageSettings.PaperSize.Width
'font alignment
Dim right As New StringFormat
Dim center As New StringFormat
right.Alignment = StringAlignment.Far
center.Alignment = StringAlignment.Center
Dim line As String
line = "----------------------------------------------"
Dim bara As String
bara = "|"
'Dim row As Integer = 0
DataGridView1.AllowUserToAddRows = False
e.Graphics.DrawString("Quantity:", f14, Brushes.Black, 5, 40) 'first line
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(1).Value.ToString, f14, Brushes.Black, 90, 40) 'first line
e.Graphics.DrawString("To Pallet", f14, Brushes.Black, 110, 40) 'First line
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 55) ' linia nr 2
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(2).Value.ToString, f14, Brushes.Black, 5, 65) ' linia nr 3
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 80) 'linia nr 4
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(3).Value.ToString, f14, Brushes.Black, 5, 90) 'inia nr 5
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 100) 'linia 6
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(4).Value.ToString, f14, Brushes.Black, 5, 110) 'linia 7
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 125) 'linia 8
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(5).Value.ToString, f14, Brushes.Black, 5, 135) 'linia 9
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 147) 'linia 10
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(6).Value.ToString, f14, Brushes.Black, 5, 155) 'linia 11
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 167) 'linia 12
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(7).Value.ToString, f14, Brushes.Black, 5, 175) ' 'linia 13
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 187) 'linia 14
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(8).Value.ToString, f14, Brushes.Black, 5, 195) 'linia 15
e.Graphics.DrawString(bara, f14, Brushes.Black, 100, 195) 'linia 15
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(9).Value.ToString, f14, Brushes.Black, 110, 195) 'linia 15
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 205) 'linia 16
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(10).Value.ToString, f14, Brushes.Black, 5, 215) 'linia 17
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 225) 'linia 18
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(11).Value.ToString, f14, Brushes.Black, 5, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 50, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(12).Value, f14, Brushes.Black, 65, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 160, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(13).Value.ToString, f14, Brushes.Black, 170, 235) 'linia 19
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 250) 'linia 20
e.Graphics.DrawString("Barcode Number =>", f14, Brushes.Black, 5, 260) 'linia 21
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 275) 'linia 22
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(14).Value.ToString, f14, Brushes.Black, 10, 285) 'linia 23
Dim barcodeData As String = DataGridView1.Rows(row).Cells(14).Value.ToString
Dim gbarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim barcodeimage As Image
Dim w As Integer = 100
Dim h As Integer = 300
barcodeimage = New Bitmap(gbarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, barcodeData))
PictureBox1.Image = barcodeimage
Me.PictureBox1.Height = h
Me.PictureBox1.Width = w
Me.PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 300) 'linia 24
e.Graphics.DrawImage(PictureBox1.Image, 205, 60, 90, 300) ''Print lateral code de bare
e.Graphics.DrawString("Production Number & Series ", f14, Brushes.Black, 5, 310)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 320)
e.Graphics.DrawString(cpserie, f14, Brushes.Black, 5, 330)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 345)
PictureBox1.Dispose()
Label7.Text = "-"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form15.Show()
Me.Close()
End Sub
End Class

View File

@@ -1,268 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form17
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form17))
Me.Label1 = New System.Windows.Forms.Label()
Me.ScanCP = New System.Windows.Forms.TextBox()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.BTPRINT = New System.Windows.Forms.Button()
Me.Label4 = New System.Windows.Forms.Label()
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
Me.PrintDialog1 = New System.Windows.Forms.PrintDialog()
Me.PrintPreviewDialog1 = New System.Windows.Forms.PrintPreviewDialog()
Me.Label5 = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.PictureBox2 = New System.Windows.Forms.PictureBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.Label7 = New System.Windows.Forms.Label()
Me.Label8 = New System.Windows.Forms.Label()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(12, 85)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(83, 25)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Scan CP"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'ScanCP
'
Me.ScanCP.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.ScanCP.Location = New System.Drawing.Point(109, 77)
Me.ScanCP.MaxLength = 10
Me.ScanCP.Name = "ScanCP"
Me.ScanCP.Size = New System.Drawing.Size(275, 33)
Me.ScanCP.TabIndex = 1
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(12, 126)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowTemplate.Height = 25
Me.DataGridView1.Size = New System.Drawing.Size(1341, 282)
Me.DataGridView1.TabIndex = 2
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label2.Location = New System.Drawing.Point(431, 80)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(218, 25)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Comanda si linia Client:"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(655, 80)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(17, 25)
Me.Label3.TabIndex = 4
Me.Label3.Text = ":"
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'BTPRINT
'
Me.BTPRINT.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer))
Me.BTPRINT.Font = New System.Drawing.Font("Segoe UI Black", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.BTPRINT.Location = New System.Drawing.Point(12, 438)
Me.BTPRINT.Name = "BTPRINT"
Me.BTPRINT.Size = New System.Drawing.Size(324, 86)
Me.BTPRINT.TabIndex = 5
Me.BTPRINT.Text = "Print"
Me.BTPRINT.UseVisualStyleBackColor = False
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label4.Location = New System.Drawing.Point(27, 24)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(176, 25)
Me.Label4.TabIndex = 6
Me.Label4.Text = "Alege Imprimanta "
'
'ComboBox1
'
Me.ComboBox1.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.ComboBox1.FormattingEnabled = True
Me.ComboBox1.Location = New System.Drawing.Point(209, 16)
Me.ComboBox1.Name = "ComboBox1"
Me.ComboBox1.Size = New System.Drawing.Size(287, 33)
Me.ComboBox1.TabIndex = 7
'
'PrintDialog1
'
Me.PrintDialog1.UseEXDialog = True
'
'PrintPreviewDialog1
'
Me.PrintPreviewDialog1.AutoScrollMargin = New System.Drawing.Size(0, 0)
Me.PrintPreviewDialog1.AutoScrollMinSize = New System.Drawing.Size(0, 0)
Me.PrintPreviewDialog1.ClientSize = New System.Drawing.Size(400, 300)
Me.PrintPreviewDialog1.Enabled = True
Me.PrintPreviewDialog1.Icon = CType(resources.GetObject("PrintPreviewDialog1.Icon"), System.Drawing.Icon)
Me.PrintPreviewDialog1.Name = "PrintPreviewDialog1"
Me.PrintPreviewDialog1.Visible = False
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label5.Location = New System.Drawing.Point(898, 80)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(126, 25)
Me.Label5.TabIndex = 8
Me.Label5.Text = "Cantitate CP:"
Me.Label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label6.Location = New System.Drawing.Point(1030, 80)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(17, 25)
Me.Label6.TabIndex = 9
Me.Label6.Tag = ""
Me.Label6.Text = ":"
Me.Label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'PictureBox1
'
Me.PictureBox1.Location = New System.Drawing.Point(1378, 251)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(100, 300)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.PictureBox1.TabIndex = 12
Me.PictureBox1.TabStop = False
'
'PictureBox2
'
Me.PictureBox2.Location = New System.Drawing.Point(1053, 438)
Me.PictureBox2.Name = "PictureBox2"
Me.PictureBox2.Size = New System.Drawing.Size(300, 100)
Me.PictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.PictureBox2.TabIndex = 13
Me.PictureBox2.TabStop = False
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.Red
Me.Button1.Font = New System.Drawing.Font("Segoe UI Black", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.SystemColors.ControlLightLight
Me.Button1.Location = New System.Drawing.Point(376, 438)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(324, 86)
Me.Button1.TabIndex = 14
Me.Button1.Text = "Inchide printul"
Me.Button1.UseVisualStyleBackColor = False
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label7.Location = New System.Drawing.Point(972, 24)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(17, 25)
Me.Label7.TabIndex = 11
Me.Label7.Tag = ""
Me.Label7.Text = ":"
Me.Label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Font = New System.Drawing.Font("Segoe UI", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label8.Location = New System.Drawing.Point(898, 24)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(68, 25)
Me.Label8.TabIndex = 10
Me.Label8.Text = "Client:"
Me.Label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Form17
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer))
Me.ClientSize = New System.Drawing.Size(1490, 553)
Me.ControlBox = False
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.PictureBox2)
Me.Controls.Add(Me.PictureBox1)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.ComboBox1)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.BTPRINT)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.ScanCP)
Me.Controls.Add(Me.Label1)
Me.Name = "Form17"
Me.Text = "Print Etichete"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents ScanCP As TextBox
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label2 As Label
Friend WithEvents Label3 As Label
Friend WithEvents BTPRINT As Button
Friend WithEvents Label4 As Label
Friend WithEvents ComboBox1 As ComboBox
Friend WithEvents PrintDialog1 As PrintDialog
Friend WithEvents PrintPreviewDialog1 As PrintPreviewDialog
Friend WithEvents Label5 As Label
Friend WithEvents Label6 As Label
Friend WithEvents PictureBox1 As PictureBox
Friend WithEvents PictureBox2 As PictureBox
Friend WithEvents Button1 As Button
Friend WithEvents Label7 As Label
Friend WithEvents Label8 As Label
End Class

View File

@@ -1,90 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="PrintDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="PrintPreviewDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>136, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="PrintPreviewDialog1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAEBAAAAAAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////APb29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v////8A////AP///wD///8A9vb2//b29v/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/////AP///wD///8A////APb29v9CQkL/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2/////wD///8A////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v////8A////AP///wD///8A9vb2/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v////8A////APb29v9CQkL/QkJC/0JCQv9CQkL/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/////wD///8A9vb2/0JCQv9CQkL/QkJC/0JC
Qv/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v////8A////APb29v/29vb/9vb2//b2
9v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP///wD///8A////AP//
/wD///8A////APb29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/////wD///8A////AP//
/wD///8A////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v////8A////AP//
/wD///8A////AP///wD///8A9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP//
/wD///8A////AP///wD///8A////APb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A
</value>
</data>
</root>

View File

@@ -1,221 +0,0 @@
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports System.Security.Cryptography
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Imports DocumentFormat.OpenXml.VariantTypes
Imports System.Drawing.Printing
Imports System.Reflection
Imports DocumentFormat.OpenXml.Bibliography
Public Class Form17
Dim DataString As String = My.Settings.subnet ' informatii cu privire la subnet
Dim surce As String = My.Settings.serverName ' informatii preluate din system settings numele servarului
Dim catalog As String = My.Settings.serverdatabase ' informatii din system setings cu privire la numele bazei de date
Dim user As String = My.Settings.serverUser ' informatii din system setings cu privire la userul de introducere a datelor in baza de date
Dim pass As String = My.Settings.serverUserpass ' informatii din system setings cu privire la parola userului
Dim timeout As String = My.Settings.timeout ' informatii din system setings cu privire la server time out
Dim encrypt As String = My.Settings.encrypt ' ' informatii din system setings cu privire la encriptie
Dim trust As String = My.Settings.cert ' informatii din system setings cu privire la certificate
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Dim comCli As String
Dim comCli2 As String
Dim plusCpSerie As String
Dim cpserie As String
Dim CP_Seriat As String
Dim row As Integer = 0
'Dim dataStringforE As String
Private Sub Form17_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Get available printers and add them to combo box
For Each printer As String In PrinterSettings.InstalledPrinters
ComboBox1.Items.Add(printer)
Next
End Sub
Private Sub updateTable()
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("select * from Etichete_Printate where SUBSTRING (CP_Seriat, 1, 10) = '" & CP_Seriat & "' ", con)
Dim sda As New SqlDataAdapter(command) ' adaptorul pentru data grig view
Dim dt As New DataTable ' pregatirea datelor pentru data grid view
sda.Fill(dt) ' actualizarea data grid view
DataGridView1.DataSource = dt
con.Close() ' inchiderea conexiuneii cu serverul
Dim clientDataGrid As String
clientDataGrid = DataGridView1.Rows(0).Cells(15).Value
Label7.Text = clientDataGrid
End Sub
Private Sub ScanCP_TextChangeed(sender As Object, e As EventArgs) Handles ScanCP.TextChanged
' validare text box 1 cu OQ
' acest text box are o lungime a stringului de 4 caractere
If ScanCP.Text.Length < 10 Then
' caod de validare a criteriilor de Operator calitate OQ01 OQ02 OQ03 OQ04....
ElseIf ScanCP.Text.Length = 10 Then
Dim val As String
val = ScanCP.Text
If InStr(1, val, "CP") > 0 Then
CP_Seriat = val
updateTable()
Dim clientDataGrid As String
clientDataGrid = DataGridView1.Rows(0).Cells(15).Value
Label7.Text = clientDataGrid
Else
MsgBox("Scaneaza codul CP corect") ' cod de eroare in cazul introducerii codului gresit
ScanCP.Focus() 'focus pe textbox 1
End If
Else
MsgBox("Scaneaza codul CP corect") ' cod de eroare in cazul introducerii codului gresit
ScanCP.Focus() 'focus pe textbox 1
End If
End Sub
Dim WithEvents PD As New PrintDocument
Dim WithEvents PD1 As New PrintDocument
Dim PPD As New PrintPreviewDialog
Dim PPD1 As New PrintPreviewDialog
Private Sub BTPRINT_Click(sender As Object, e As EventArgs) Handles BTPRINT.Click
PPD.Document = PD
PPD1.Document = PD1
PD.Print() 'Direct Print
End Sub
Private Sub PD_BeginPrint(sender As Object, e As PrintEventArgs) Handles PD.BeginPrint
Dim pagesetup As New PageSettings
pagesetup.PaperSize = New PaperSize("Custom", 300, 500)
PD.DefaultPageSettings = pagesetup
If ComboBox1.Text = "" Then
MsgBox("Selecteaza un printer")
Else
PD.PrinterSettings.PrinterName = ComboBox1.SelectedItem.ToString()
End If
End Sub
Private Sub PD_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PD.PrintPage
Dim f8 As New Font("Calibri", 8, FontStyle.Regular)
Dim f10 As New Font("Calibri", 10, FontStyle.Regular)
Dim f10b As New Font("Calibri", 10, FontStyle.Bold)
Dim f14 As New Font("Calibri", 12, FontStyle.Bold)
Dim leftmargin As Integer = PD.DefaultPageSettings.Margins.Left
Dim centermargin As Integer = PD.DefaultPageSettings.PaperSize.Width / 2
Dim rightmargin As Integer = PD.DefaultPageSettings.PaperSize.Width
'font alignment
Dim right As New StringFormat
Dim center As New StringFormat
right.Alignment = StringAlignment.Far
center.Alignment = StringAlignment.Center
Dim line As String
line = "----------------------------------------------"
Dim bara As String
bara = "|"
'Dim row As Integer = 0
DataGridView1.AllowUserToAddRows = False
e.Graphics.DrawString("Quantity:", f14, Brushes.Black, 5, 40) 'first line
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(2).Value.ToString, f14, Brushes.Black, 90, 40) 'first line
e.Graphics.DrawString("To Pallet", f14, Brushes.Black, 110, 40) 'First line
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 55) ' linia nr 2
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(3).Value.ToString, f14, Brushes.Black, 5, 65) ' linia nr 3
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 80) 'linia nr 4
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(4).Value.ToString, f14, Brushes.Black, 5, 90) 'inia nr 5
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 100) 'linia 6
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(5).Value.ToString, f14, Brushes.Black, 5, 110) 'linia 7
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 125) 'linia 8
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(6).Value.ToString, f14, Brushes.Black, 5, 135) 'linia 9
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 147) 'linia 10
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(7).Value.ToString, f14, Brushes.Black, 5, 155) 'linia 11
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 167) 'linia 12
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(8).Value.ToString, f14, Brushes.Black, 5, 175) ' 'linia 13
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 187) 'linia 14
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(9).Value.ToString, f14, Brushes.Black, 5, 195) 'linia 15
e.Graphics.DrawString(bara, f14, Brushes.Black, 100, 195) 'linia 15
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(10).Value.ToString, f14, Brushes.Black, 110, 195) 'linia 15
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 205) 'linia 16
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(11).Value.ToString, f14, Brushes.Black, 5, 215) 'linia 17
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 225) 'linia 18
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(12).Value.ToString, f14, Brushes.Black, 5, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 50, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(12).Value, f14, Brushes.Black, 65, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 160, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(14).Value.ToString, f14, Brushes.Black, 170, 235) 'linia 19
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 250) 'linia 20
e.Graphics.DrawString("Barcode Number =>", f14, Brushes.Black, 5, 260) 'linia 21
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 275) 'linia 22
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(15).Value.ToString, f14, Brushes.Black, 10, 285) 'linia 23
Dim barcodeData As String = DataGridView1.Rows(row).Cells(15).Value.ToString
Dim gbarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim barcodeimage As Image
Dim w As Integer = 100
Dim h As Integer = 300
barcodeimage = New Bitmap(gbarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, barcodeData))
PictureBox1.Image = barcodeimage
Me.PictureBox1.Height = h
Me.PictureBox1.Width = w
Me.PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 300) 'linia 24
e.Graphics.DrawImage(PictureBox1.Image, 205, 60, 90, 300) ''Print lateral code de bare
e.Graphics.DrawString("Production Number & Series ", f14, Brushes.Black, 5, 310)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 320)
cpserie = DataGridView1.Rows(row).Cells(0).Value.ToString
e.Graphics.DrawString(cpserie, f14, Brushes.Black, 5, 330)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 345)
Dim cpBarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim cpbarcodeimage As Image
cpbarcodeimage = New Bitmap(cpBarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, cpserie))
PictureBox2.Image = cpbarcodeimage
PictureBox2.SizeMode = PictureBoxSizeMode.Zoom
PictureBox2.Size = New Size(300, 200)
e.Graphics.DrawImage(PictureBox2.Image, -50, 353, 400, 100)
PictureBox1.Dispose()
PictureBox2.Dispose()
Label7.Text = "-"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form15.Show()
Me.Close()
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
Dim selectRow As Integer = e.RowIndex ' gasirea indezului din datagrid
row = selectRow
If selectRow >= 0 Then 'gasirea id din randul selectat din datagrid
Dim selectedCellValue As String = DataGridView1.Rows(selectRow).Cells("CP_Seriat").Value.ToString()
CP_Seriat = selectedCellValue ' devinirea valorii lui rowIdVal pe baza selectarii din datagrid
End If
End Sub
End Class

View File

@@ -1,277 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form18
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim resources As ComponentModel.ComponentResourceManager = New ComponentModel.ComponentResourceManager(GetType(Form18))
Label1 = New Label()
ScanCP = New TextBox()
DataGridView1 = New DataGridView()
Label2 = New Label()
Label3 = New Label()
BTPRINT = New Button()
Label4 = New Label()
ComboBox1 = New ComboBox()
PrintDialog1 = New PrintDialog()
PrintPreviewDialog1 = New PrintPreviewDialog()
Label5 = New Label()
Label6 = New Label()
PictureBox1 = New PictureBox()
PictureBox2 = New PictureBox()
Button1 = New Button()
Button2 = New Button()
Label7 = New Label()
Label8 = New Label()
CType(DataGridView1, ComponentModel.ISupportInitialize).BeginInit()
CType(PictureBox1, ComponentModel.ISupportInitialize).BeginInit()
CType(PictureBox2, ComponentModel.ISupportInitialize).BeginInit()
SuspendLayout()
'
' Label1
'
Label1.AutoSize = True
Label1.Font = New Font("Segoe UI", 14.25F, FontStyle.Bold, GraphicsUnit.Point)
Label1.Location = New Point(27, 80)
Label1.Name = "Label1"
Label1.Size = New Size(160, 25)
Label1.TabIndex = 0
Label1.Text = "Comanda Si linia"
Label1.TextAlign = ContentAlignment.MiddleCenter
'
' ScanCP
'
ScanCP.Font = New Font("Segoe UI", 14.25F, FontStyle.Bold, GraphicsUnit.Point)
ScanCP.Location = New Point(193, 77)
ScanCP.MaxLength = 10
ScanCP.Name = "ScanCP"
ScanCP.Size = New Size(275, 33)
ScanCP.TabIndex = 1
'
' DataGridView1
'
DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize
DataGridView1.Location = New Point(12, 126)
DataGridView1.Name = "DataGridView1"
DataGridView1.RowTemplate.Height = 25
DataGridView1.Size = New Size(1341, 282)
DataGridView1.TabIndex = 2
'
' Label2
'
Label2.AutoSize = True
Label2.Font = New Font("Segoe UI", 14.25F, FontStyle.Bold, GraphicsUnit.Point)
Label2.Location = New Point(830, 80)
Label2.Name = "Label2"
Label2.Size = New Size(218, 25)
Label2.TabIndex = 3
Label2.Text = "Comanda si linia Client:"
Label2.TextAlign = ContentAlignment.MiddleCenter
'
' Label3
'
Label3.AutoSize = True
Label3.Font = New Font("Segoe UI", 14.25F, FontStyle.Bold, GraphicsUnit.Point)
Label3.Location = New Point(1054, 80)
Label3.Name = "Label3"
Label3.Size = New Size(17, 25)
Label3.TabIndex = 4
Label3.Text = ":"
Label3.TextAlign = ContentAlignment.MiddleCenter
'
' BTPRINT
'
BTPRINT.BackColor = Color.FromArgb(CByte(192), CByte(255), CByte(255))
BTPRINT.Font = New Font("Segoe UI Black", 18F, FontStyle.Bold, GraphicsUnit.Point)
BTPRINT.Location = New Point(12, 438)
BTPRINT.Name = "BTPRINT"
BTPRINT.Size = New Size(324, 86)
BTPRINT.TabIndex = 5
BTPRINT.Text = "Print"
BTPRINT.UseVisualStyleBackColor = False
'
' Label4
'
Label4.AutoSize = True
Label4.Font = New Font("Segoe UI", 14.25F, FontStyle.Bold, GraphicsUnit.Point)
Label4.Location = New Point(27, 24)
Label4.Name = "Label4"
Label4.Size = New Size(176, 25)
Label4.TabIndex = 6
Label4.Text = "Alege Imprimanta "
'
' ComboBox1
'
ComboBox1.Font = New Font("Segoe UI", 14.25F, FontStyle.Bold, GraphicsUnit.Point)
ComboBox1.FormattingEnabled = True
ComboBox1.Location = New Point(209, 16)
ComboBox1.Name = "ComboBox1"
ComboBox1.Size = New Size(259, 33)
ComboBox1.TabIndex = 7
'
' PrintDialog1
'
PrintDialog1.UseEXDialog = True
'
' PrintPreviewDialog1
'
PrintPreviewDialog1.AutoScrollMargin = New Size(0, 0)
PrintPreviewDialog1.AutoScrollMinSize = New Size(0, 0)
PrintPreviewDialog1.ClientSize = New Size(400, 300)
PrintPreviewDialog1.Enabled = True
PrintPreviewDialog1.Icon = CType(resources.GetObject("PrintPreviewDialog1.Icon"), Icon)
PrintPreviewDialog1.Name = "PrintPreviewDialog1"
PrintPreviewDialog1.Visible = False
'
' Label5
'
Label5.AutoSize = True
Label5.Font = New Font("Segoe UI", 14.25F, FontStyle.Bold, GraphicsUnit.Point)
Label5.Location = New Point(1242, 77)
Label5.Name = "Label5"
Label5.Size = New Size(126, 25)
Label5.TabIndex = 8
Label5.Text = "Cantitate CP:"
Label5.TextAlign = ContentAlignment.MiddleCenter
'
' Label6
'
Label6.AutoSize = True
Label6.Font = New Font("Segoe UI", 14.25F, FontStyle.Bold, GraphicsUnit.Point)
Label6.Location = New Point(1374, 77)
Label6.Name = "Label6"
Label6.Size = New Size(17, 25)
Label6.TabIndex = 9
Label6.Tag = ""
Label6.Text = ":"
Label6.TextAlign = ContentAlignment.MiddleCenter
'
' PictureBox1
'
PictureBox1.Location = New Point(1378, 251)
PictureBox1.Name = "PictureBox1"
PictureBox1.Size = New Size(100, 300)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox1.TabIndex = 12
PictureBox1.TabStop = False
'
' PictureBox2
'
PictureBox2.Location = New Point(1053, 438)
PictureBox2.Name = "PictureBox2"
PictureBox2.Size = New Size(300, 100)
PictureBox2.SizeMode = PictureBoxSizeMode.Zoom
PictureBox2.TabIndex = 13
PictureBox2.TabStop = False
'
' Button1
'
Button1.BackColor = Color.Red
Button1.Font = New Font("Segoe UI Black", 18F, FontStyle.Bold, GraphicsUnit.Point)
Button1.ForeColor = SystemColors.ControlLightLight
Button1.Location = New Point(376, 438)
Button1.Name = "Button1"
Button1.Size = New Size(324, 86)
Button1.TabIndex = 14
Button1.Text = "Inchide printul"
Button1.UseVisualStyleBackColor = False
'
' Button2
'
Button2.BackColor = Color.FromArgb(CByte(128), CByte(255), CByte(128))
Button2.Font = New Font("Segoe UI", 12F, FontStyle.Bold, GraphicsUnit.Point)
Button2.Location = New Point(523, 75)
Button2.Name = "Button2"
Button2.Size = New Size(186, 38)
Button2.TabIndex = 15
Button2.Text = "Verifica baza de date"
Button2.UseVisualStyleBackColor = False
'
' Label7
'
Label7.AutoSize = True
Label7.Font = New Font("Segoe UI", 12F, FontStyle.Bold, GraphicsUnit.Point)
Label7.Location = New Point(875, 16)
Label7.Name = "Label7"
Label7.Size = New Size(0, 21)
Label7.TabIndex = 16
'
' Label8
'
Label8.AutoSize = True
Label8.Font = New Font("Segoe UI", 12F, FontStyle.Bold, GraphicsUnit.Point)
Label8.Location = New Point(813, 16)
Label8.Name = "Label8"
Label8.Size = New Size(55, 21)
Label8.TabIndex = 17
Label8.Text = "Client"
'
' Form18
'
AutoScaleDimensions = New SizeF(7F, 15F)
AutoScaleMode = AutoScaleMode.Font
BackColor = Color.FromArgb(CByte(192), CByte(192), CByte(255))
ClientSize = New Size(1490, 553)
ControlBox = False
Controls.Add(Label8)
Controls.Add(Label7)
Controls.Add(Button2)
Controls.Add(Button1)
Controls.Add(PictureBox2)
Controls.Add(PictureBox1)
Controls.Add(Label6)
Controls.Add(Label5)
Controls.Add(ComboBox1)
Controls.Add(Label4)
Controls.Add(BTPRINT)
Controls.Add(Label3)
Controls.Add(Label2)
Controls.Add(DataGridView1)
Controls.Add(ScanCP)
Controls.Add(Label1)
Name = "Form18"
Text = "Print Etichete"
CType(DataGridView1, ComponentModel.ISupportInitialize).EndInit()
CType(PictureBox1, ComponentModel.ISupportInitialize).EndInit()
CType(PictureBox2, ComponentModel.ISupportInitialize).EndInit()
ResumeLayout(False)
PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents ScanCP As TextBox
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label2 As Label
Friend WithEvents Label3 As Label
Friend WithEvents BTPRINT As Button
Friend WithEvents Label4 As Label
Friend WithEvents ComboBox1 As ComboBox
Friend WithEvents PrintDialog1 As PrintDialog
Friend WithEvents PrintPreviewDialog1 As PrintPreviewDialog
Friend WithEvents Label5 As Label
Friend WithEvents Label6 As Label
Friend WithEvents PictureBox1 As PictureBox
Friend WithEvents PictureBox2 As PictureBox
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Label7 As Label
Friend WithEvents Label8 As Label
End Class

View File

@@ -1,90 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="PrintDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="PrintPreviewDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>136, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="PrintPreviewDialog1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAEBAAAAAAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////APb29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v////8A////AP///wD///8A9vb2//b29v/29vb/9vb2//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/////AP///wD///8A////APb29v9CQkL/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2/////wD///8A////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v////8A////AP///wD///8A9vb2/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v////8A////APb29v9CQkL/QkJC/0JCQv9CQkL/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/////wD///8A9vb2/0JCQv9CQkL/QkJC/0JC
Qv/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v////8A////APb29v/29vb/9vb2//b2
9v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP///wD///8A////AP//
/wD///8A////APb29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2/////wD///8A////AP//
/wD///8A////AP///wD29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v////8A////AP//
/wD///8A////AP///wD///8A9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/////AP//
/wD///8A////AP///wD///8A////APb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2////
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A
</value>
</data>
</root>

View File

@@ -1,219 +0,0 @@
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports System.Security.Cryptography
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Imports DocumentFormat.OpenXml.VariantTypes
Imports System.Drawing.Printing
Imports System.Reflection
Imports DocumentFormat.OpenXml.Bibliography
Imports System.Reflection.Emit
Public Class Form18
Dim DataString As String = My.Settings.subnet ' informatii cu privire la subnet
Dim surce As String = My.Settings.serverName ' informatii preluate din system settings numele servarului
Dim catalog As String = My.Settings.serverdatabase ' informatii din system setings cu privire la numele bazei de date
Dim user As String = My.Settings.serverUser ' informatii din system setings cu privire la userul de introducere a datelor in baza de date
Dim pass As String = My.Settings.serverUserpass ' informatii din system setings cu privire la parola userului
Dim timeout As String = My.Settings.timeout ' informatii din system setings cu privire la server time out
Dim encrypt As String = My.Settings.encrypt ' ' informatii din system setings cu privire la encriptie
Dim trust As String = My.Settings.cert ' informatii din system setings cu privire la certificate
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Dim comCli As String
Dim comCli2 As String
Dim plusCpSerie As String
Dim cpserie As String
Dim CP_Seriat As String
Dim row As Integer = 0
'Dim dataStringforE As String
Private Sub Form17_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Get available printers and add them to combo box
For Each printer As String In PrinterSettings.InstalledPrinters
ComboBox1.Items.Add(printer)
Next
End Sub
Private Sub updateTable()
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("select * from Info_etichete where Comanda_Linia = '" & comCli & "' ", con)
Dim sda As New SqlDataAdapter(command) ' adaptorul pentru data grig view
Dim dt As New DataTable ' pregatirea datelor pentru data grid view
sda.Fill(dt) ' actualizarea data grid view
DataGridView1.DataSource = dt
con.Close() ' inchiderea conexiuneii cu serverull
Dim clientDataGrid As String
clientDataGrid = DataGridView1.Rows(0).Cells(15).Value
Label7.Text = clientDataGrid
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
Dim selectRow As Integer = e.RowIndex ' gasirea indezului din datagrid
row = selectRow
If selectRow >= 0 Then 'gasirea id din randul selectat din datagrid
Dim selectedCellValue As String = DataGridView1.Rows(selectRow).Cells("CP_Seriat").Value.ToString()
CP_Seriat = selectedCellValue ' devinirea valorii lui rowIdVal pe baza selectarii din datagrid
End If
End Sub
Private Sub ScanCP_TextChangeed(sender As Object, e As EventArgs) Handles ScanCP.TextChanged
' validare text box 1 cu OQ
' acest text box are o lungime a stringului de 4 caractere
If ScanCP.Text.Length < 10 Then
' caod de validare a criteriilor de Operator calitate OQ01 OQ02 OQ03 OQ04....
ElseIf ScanCP.Text.Length = 10 Then
Dim val As String
val = ScanCP.Text
If InStr(1, val, ) > 0 Then
comCli = val
updateTable()
Else
MsgBox("Scaneaza codul corect") ' cod de eroare in cazul introducerii codului gresit
ScanCP.Focus() 'focus pe textbox 1
End If
Else
MsgBox("Scaneaza codul CP corect") ' cod de eroare in cazul introducerii codului gresit
ScanCP.Focus() 'focus pe textbox 1
End If
End Sub
Dim WithEvents PD As New PrintDocument
Dim PPD As New PrintPreviewDialog
Private Sub BTPRINT_Click(sender As Object, e As EventArgs) Handles BTPRINT.Click
PPD.Document = PD
PPD.ShowDialog()
End Sub
Private Sub PD_BeginPrint(sender As Object, e As PrintEventArgs) Handles PD.BeginPrint
Dim pagesetup As New PageSettings
pagesetup.PaperSize = New PaperSize("Custom", 300, 500)
PD.DefaultPageSettings = pagesetup
If ComboBox1.Text = "" Then
MsgBox("Selecteaza un printer")
Else
PD.PrinterSettings.PrinterName = ComboBox1.SelectedItem.ToString()
End If
End Sub
Private Sub PD_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PD.PrintPage
Dim f8 As New Font("Calibri", 8, FontStyle.Regular)
Dim f10 As New Font("Calibri", 10, FontStyle.Regular)
Dim f10b As New Font("Calibri", 10, FontStyle.Bold)
Dim f14 As New Font("Calibri", 12, FontStyle.Bold)
Dim leftmargin As Integer = PD.DefaultPageSettings.Margins.Left
Dim centermargin As Integer = PD.DefaultPageSettings.PaperSize.Width / 2
Dim rightmargin As Integer = PD.DefaultPageSettings.PaperSize.Width
'font alignment
Dim right As New StringFormat
Dim center As New StringFormat
right.Alignment = StringAlignment.Far
center.Alignment = StringAlignment.Center
Dim line As String
line = "----------------------------------------------"
Dim bara As String
bara = "|"
'Dim row As Integer = 0
DataGridView1.AllowUserToAddRows = False
e.Graphics.DrawString("Quantity:", f14, Brushes.Black, 5, 40) 'first line
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(1).Value.ToString, f14, Brushes.Black, 90, 40) 'first line
e.Graphics.DrawString("To Pallet", f14, Brushes.Black, 110, 40) 'First line
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 55) ' linia nr 2
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(2).Value.ToString, f14, Brushes.Black, 5, 65) ' linia nr 3
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 80) 'linia nr 4
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(3).Value.ToString, f14, Brushes.Black, 5, 90) 'inia nr 5
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 100) 'linia 6
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(4).Value.ToString, f14, Brushes.Black, 5, 110) 'linia 7
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 125) 'linia 8
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(5).Value.ToString, f14, Brushes.Black, 5, 135) 'linia 9
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 147) 'linia 10
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(6).Value.ToString, f14, Brushes.Black, 5, 155) 'linia 11
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 167) 'linia 12
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(7).Value.ToString, f14, Brushes.Black, 5, 175) ' 'linia 13
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 187) 'linia 14
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(8).Value.ToString, f14, Brushes.Black, 5, 195) 'linia 15
e.Graphics.DrawString(bara, f14, Brushes.Black, 100, 195) 'linia 15
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(9).Value.ToString, f14, Brushes.Black, 110, 195) 'linia 15
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 205) 'linia 16
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(10).Value.ToString, f14, Brushes.Black, 5, 215) 'linia 17
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 225) 'linia 18
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(11).Value.ToString, f14, Brushes.Black, 5, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 50, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(12).Value, f14, Brushes.Black, 65, 235) 'linia 19
e.Graphics.DrawString(bara, f14, Brushes.Black, 160, 235) 'linia 19
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(13).Value.ToString, f14, Brushes.Black, 170, 235) 'linia 19
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 250) 'linia 20
e.Graphics.DrawString("Barcode Number =>", f14, Brushes.Black, 5, 260) 'linia 21
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 275) 'linia 22
e.Graphics.DrawString(DataGridView1.Rows(row).Cells(14).Value.ToString, f14, Brushes.Black, 10, 285) 'linia 23
Dim barcodeData As String = DataGridView1.Rows(row).Cells(14).Value.ToString
Dim gbarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim barcodeimage As Image
Dim w As Integer = 100
Dim h As Integer = 300
barcodeimage = New Bitmap(gbarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, barcodeData))
PictureBox1.Image = barcodeimage
Me.PictureBox1.Height = h
Me.PictureBox1.Width = w
Me.PictureBox1.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 300) 'linia 24
e.Graphics.DrawImage(PictureBox1.Image, 205, 60, 90, 300) ''Print lateral code de bare
e.Graphics.DrawString("Production Number & Series ", f14, Brushes.Black, 5, 310)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 320)
cpserie = DataGridView1.Rows(row).Cells(0).Value.ToString
e.Graphics.DrawString(cpserie, f14, Brushes.Black, 5, 330)
e.Graphics.DrawString(line, f10b, Brushes.Black, 0, 345)
Dim cpBarcode As New MessagingToolkit.Barcode.BarcodeEncoder
Dim cpbarcodeimage As Image
cpbarcodeimage = New Bitmap(cpBarcode.Encode(MessagingToolkit.Barcode.BarcodeFormat.Code128, cpserie))
PictureBox2.Image = cpbarcodeimage
PictureBox2.SizeMode = PictureBoxSizeMode.Zoom
PictureBox2.Size = New Size(300, 200)
e.Graphics.DrawImage(PictureBox2.Image, -50, 353, 400, 100)
PictureBox1.Dispose()
PictureBox2.Dispose()
'InfoPrintEtichete()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form15.Show()
Me.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
comCli = ScanCP.Text
updateTable()
End Sub
End Class

View File

@@ -1,281 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form2
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim DataGridViewCellStyle1 As DataGridViewCellStyle = New DataGridViewCellStyle()
Dim DataGridViewCellStyle2 As DataGridViewCellStyle = New DataGridViewCellStyle()
Label1 = New Label()
TextBox1 = New TextBox()
TextBox2 = New TextBox()
Label2 = New Label()
TextBox3 = New TextBox()
Label3 = New Label()
TextBox4 = New TextBox()
Label4 = New Label()
TextBox5 = New TextBox()
Label5 = New Label()
DataGridView1 = New DataGridView()
Label6 = New Label()
Label7 = New Label()
Button1 = New Button()
Button2 = New Button()
CType(DataGridView1, ComponentModel.ISupportInitialize).BeginInit()
SuspendLayout()
'
' Label1
'
Label1.AutoSize = True
Label1.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label1.ForeColor = Color.White
Label1.Location = New Point(24, 7)
Label1.Name = "Label1"
Label1.Size = New Size(233, 25)
Label1.TabIndex = 0
Label1.Text = "Scaneaza nume operator"
'
' TextBox1
'
TextBox1.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
TextBox1.Location = New Point(26, 42)
TextBox1.Margin = New Padding(3, 2, 3, 2)
TextBox1.MaxLength = 4
TextBox1.Name = "TextBox1"
TextBox1.Size = New Size(283, 32)
TextBox1.TabIndex = 1
'
' TextBox2
'
TextBox2.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
TextBox2.Location = New Point(24, 106)
TextBox2.Margin = New Padding(3, 2, 3, 2)
TextBox2.Name = "TextBox2"
TextBox2.Size = New Size(285, 32)
TextBox2.TabIndex = 3
'
' Label2
'
Label2.AutoSize = True
Label2.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label2.ForeColor = Color.White
Label2.Location = New Point(26, 76)
Label2.Name = "Label2"
Label2.Size = New Size(122, 25)
Label2.TabIndex = 2
Label2.Text = "Scaneaza CP"
'
' TextBox3
'
TextBox3.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
TextBox3.Location = New Point(24, 177)
TextBox3.Margin = New Padding(3, 2, 3, 2)
TextBox3.Name = "TextBox3"
TextBox3.Size = New Size(284, 32)
TextBox3.TabIndex = 5
'
' Label3
'
Label3.AutoSize = True
Label3.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label3.ForeColor = Color.White
Label3.Location = New Point(26, 142)
Label3.Name = "Label3"
Label3.Size = New Size(239, 25)
Label3.TabIndex = 4
Label3.Text = "Scaneaza Cod Cusatoare1"
'
' TextBox4
'
TextBox4.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
TextBox4.Location = New Point(25, 237)
TextBox4.Margin = New Padding(3, 2, 3, 2)
TextBox4.MaxLength = 4
TextBox4.Name = "TextBox4"
TextBox4.Size = New Size(284, 32)
TextBox4.TabIndex = 7
'
' Label4
'
Label4.AutoSize = True
Label4.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label4.ForeColor = Color.White
Label4.Location = New Point(26, 211)
Label4.Name = "Label4"
Label4.Size = New Size(239, 25)
Label4.TabIndex = 6
Label4.Text = "Scaneaza Cod Cusatoare2"
'
' TextBox5
'
TextBox5.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
TextBox5.Location = New Point(24, 294)
TextBox5.Margin = New Padding(3, 2, 3, 2)
TextBox5.MaxLength = 4
TextBox5.Name = "TextBox5"
TextBox5.Size = New Size(286, 32)
TextBox5.TabIndex = 9
'
' Label5
'
Label5.AutoSize = True
Label5.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label5.ForeColor = Color.White
Label5.Location = New Point(24, 268)
Label5.Name = "Label5"
Label5.Size = New Size(196, 25)
Label5.TabIndex = 8
Label5.Text = "Scaneaza Cod Defect"
'
' DataGridView1
'
DataGridView1.Anchor = AnchorStyles.Top Or AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells
DataGridView1.BackgroundColor = Color.White
DataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Raised
DataGridViewCellStyle1.Alignment = DataGridViewContentAlignment.BottomCenter
DataGridViewCellStyle1.BackColor = SystemColors.Control
DataGridViewCellStyle1.Font = New Font("Segoe UI", 16.2F, FontStyle.Bold, GraphicsUnit.Point)
DataGridViewCellStyle1.ForeColor = SystemColors.WindowText
DataGridViewCellStyle1.Padding = New Padding(0, 0, 0, 4)
DataGridViewCellStyle1.SelectionBackColor = SystemColors.Highlight
DataGridViewCellStyle1.SelectionForeColor = SystemColors.HighlightText
DataGridViewCellStyle1.WrapMode = DataGridViewTriState.True
DataGridView1.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1
DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize
DataGridViewCellStyle2.Alignment = DataGridViewContentAlignment.BottomCenter
DataGridViewCellStyle2.BackColor = SystemColors.Window
DataGridViewCellStyle2.Font = New Font("Segoe UI", 12F, FontStyle.Bold, GraphicsUnit.Point)
DataGridViewCellStyle2.ForeColor = SystemColors.ControlText
DataGridViewCellStyle2.SelectionBackColor = SystemColors.Highlight
DataGridViewCellStyle2.SelectionForeColor = SystemColors.HighlightText
DataGridViewCellStyle2.WrapMode = DataGridViewTriState.False
DataGridView1.DefaultCellStyle = DataGridViewCellStyle2
DataGridView1.GridColor = SystemColors.ControlLight
DataGridView1.Location = New Point(323, 21)
DataGridView1.Margin = New Padding(3, 2, 3, 2)
DataGridView1.Name = "DataGridView1"
DataGridView1.RowHeadersWidth = 51
DataGridView1.RowTemplate.Height = 29
DataGridView1.Size = New Size(1004, 519)
DataGridView1.TabIndex = 10
'
' Label6
'
Label6.AutoSize = True
Label6.Font = New Font("Segoe UI", 10.8F, FontStyle.Bold, GraphicsUnit.Point)
Label6.ForeColor = Color.White
Label6.Location = New Point(25, 338)
Label6.Name = "Label6"
Label6.Size = New Size(42, 20)
Label6.TabIndex = 11
Label6.Text = "Data"
'
' Label7
'
Label7.AutoSize = True
Label7.Font = New Font("Segoe UI", 10.8F, FontStyle.Bold, GraphicsUnit.Point)
Label7.ForeColor = Color.White
Label7.Location = New Point(172, 338)
Label7.Name = "Label7"
Label7.Size = New Size(34, 20)
Label7.TabIndex = 13
Label7.Text = "Ora"
'
' Button1
'
Button1.BackColor = Color.Black
Button1.BackgroundImageLayout = ImageLayout.None
Button1.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Button1.ForeColor = Color.Lime
Button1.ImageAlign = ContentAlignment.MiddleLeft
Button1.Location = New Point(36, 425)
Button1.Margin = New Padding(3, 2, 3, 2)
Button1.Name = "Button1"
Button1.Size = New Size(239, 41)
Button1.TabIndex = 14
Button1.Text = "Inchide Formularul"
Button1.UseVisualStyleBackColor = False
'
' Button2
'
Button2.BackColor = Color.FromArgb(CByte(192), CByte(0), CByte(0))
Button2.BackgroundImageLayout = ImageLayout.None
Button2.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Button2.ForeColor = Color.Lime
Button2.ImageAlign = ContentAlignment.MiddleLeft
Button2.Location = New Point(24, 380)
Button2.Margin = New Padding(3, 2, 3, 2)
Button2.Name = "Button2"
Button2.Size = New Size(256, 41)
Button2.TabIndex = 15
Button2.Text = "Sterge randul selectat"
Button2.UseVisualStyleBackColor = False
'
' Form2
'
AutoScaleDimensions = New SizeF(7F, 15F)
AutoScaleMode = AutoScaleMode.Font
BackColor = Color.FromArgb(CByte(192), CByte(0), CByte(192))
BackgroundImageLayout = ImageLayout.Zoom
ClientSize = New Size(1339, 549)
ControlBox = False
Controls.Add(Button2)
Controls.Add(Button1)
Controls.Add(Label7)
Controls.Add(Label6)
Controls.Add(DataGridView1)
Controls.Add(TextBox5)
Controls.Add(Label5)
Controls.Add(TextBox4)
Controls.Add(Label4)
Controls.Add(TextBox3)
Controls.Add(Label3)
Controls.Add(TextBox2)
Controls.Add(Label2)
Controls.Add(TextBox1)
Controls.Add(Label1)
FormBorderStyle = FormBorderStyle.SizableToolWindow
Margin = New Padding(3, 2, 3, 2)
Name = "Form2"
RightToLeftLayout = True
Text = "Scanare comenzi"
CType(DataGridView1, ComponentModel.ISupportInitialize).EndInit()
ResumeLayout(False)
PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents TextBox1 As TextBox
Friend WithEvents TextBox2 As TextBox
Friend WithEvents Label2 As Label
Friend WithEvents TextBox3 As TextBox
Friend WithEvents Label3 As Label
Friend WithEvents TextBox4 As TextBox
Friend WithEvents Label4 As Label
Friend WithEvents TextBox5 As TextBox
Friend WithEvents Label5 As Label
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label6 As Label
Friend WithEvents Label7 As Label
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
End Class

View File

@@ -1,60 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,210 +0,0 @@

Imports System.Security.Cryptography
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Public Class Form2
'setari pentru server
Dim DataString As String = My.Settings.subnet ' informatii cu privire la subnet
Dim surce As String = My.Settings.serverName ' informatii preluate din system settings numele servarului
Dim catalog As String = My.Settings.serverdatabase ' informatii din system setings cu privire la numele bazei de date
Dim user As String = My.Settings.serverUser ' informatii din system setings cu privire la userul de introducere a datelor in baza de date
Dim pass As String = My.Settings.serverUserpass ' informatii din system setings cu privire la parola userului
Dim timeout As String = My.Settings.timeout ' informatii din system setings cu privire la server time out
Dim encrypt As String = My.Settings.encrypt ' ' informatii din system setings cu privire la encriptie
Dim trust As String = My.Settings.cert ' informatii din system setings cu privire la certificate
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Private Sub updateTable()
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open() ' deschiderea conexiuni cu serverul
Dim command As New SqlCommand("select top 14 * from dbo.scanare order by id desc", con)
Dim sda As New SqlDataAdapter(command) ' adaptorul pentru data grig view
Dim dt As New DataTable ' pregatirea datelor pentru data grid view
sda.Fill(dt) ' actualizarea data grid view
DataGridView1.DataSource = dt
con.Close() ' inchiderea conexiuneii cu serverul
End Sub
Private Sub UserForm2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' text box1 incarcare valoare, set text box 2 pentru scan
updateTable()
TextBox1.Focus() ' setarea textbox 1 a defaul entry la deschiderea formei, se introduce cotul operatoruului de calitate
End Sub
Private Sub TextBox1_TextChangeed(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
' validare text box 1 cu OQ
' acest text box are o lungime a stringului de 4 caractere
If TextBox1.Text.Length < 4 Then
' caod de validare a criteriilor de Operator calitate OQ01 OQ02 OQ03 OQ04....
ElseIf TextBox1.Text.Length = 4 Then
Dim val As String
val = TextBox1.Text
If InStr(1, val, "OQ") > 0 Then
TextBox2.Focus() ' schimbarea focusului pe textbox 2 daca este valida informatia din cod operator
Else
MsgBox("Introdu cod Operator") ' cod de eroare in cazul introducerii codului gresit
TextBox1.Focus() 'focus pe textbox 1
End If
Else
End If
End Sub
Private Sub TextBox2_TextChangeed(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
' validare CP text box 2
' acest text box are o lungime a stringului de 14 caractere
If TextBox2.Text.Length < 14 Then
' cod ce valideaza lungimea de 14 caractere a scanarii codului de bare
' codul de bare are structura CP00000000-000
ElseIf TextBox2.Text.Length = 14 Then
Dim val As String
val = TextBox2.Text
If InStr(1, val, "CP") > 0 Then ' confirmare ca stringul contine CP focus pe textbox 3
TextBox3.Focus()
Else
MsgBox("Introdu CP Corect") ' rescanare articol
TextBox2.Clear()
TextBox2.Focus()
End If
Else
End If
End Sub
Private Sub TextBox3_TextChangeed(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
' validare oc text box 3
' acest text box are o lungime a stringului de 4 caractere
If TextBox3.Text.Length < 4 Then
ElseIf TextBox3.Text.Length = 4 Then ' veificare a valorii OC pentru operator cusut
Dim val As String
val = TextBox3.Text
If InStr(1, val, "OC") > 0 Then ' confirmare oc si mutare la text box 4
TextBox4.Focus()
ElseIf InStr(1, val, "sp") > 0 Then
TextBox4.Focus()
ElseIf InStr(1, val, "SP") > 0 Then
TextBox4.Focus()
ElseIf InStr(1, val, "sn") > 0 Then
TextBox4.Focus()
ElseIf InStr(1, val, "SN") > 0 Then
TextBox4.Focus()
Else
MsgBox("Introdu cod Operator")
TextBox3.Clear()
TextBox3.Focus()
End If
Else
End If
End Sub
Private Sub TextBox4_TextChangeed(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
' validare oc text box 4
' acest text box are o lungime a stringului de 4 caractere
If TextBox4.Text.Length < 4 Then
ElseIf TextBox4.Text.Length = 4 Then
Dim val As String
val = TextBox4.Text
If InStr(1, val, "OC") > 0 Then ' verificar oc 2
TextBox5.Focus()
Else
MsgBox("Introdu cod Cusatoare Corect")
TextBox4.Clear()
TextBox4.Focus()
End If
Else
End If
End Sub
Private Sub TextBox5_TextChangeed(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
' validare Calitate text box5
' acest text box are o lungime a stringului de 4 caractere
If TextBox5.Text.Length < 4 Then
ElseIf TextBox5.Text.Length = 4 Then ' verificare string ca e corect codul de defect
Dim val As String
val = TextBox5.Text
If InStr(1, val, "Q") > 0 Then ' daca codul de defect e corect urmeaza incarcarea in baza de date
Dim oq As String = TextBox1.Text 'string pentru SQL oq
Dim cp As String = TextBox2.Text 'string pentru SQL cp
Dim oc1 As String = TextBox3.Text 'string pentru SQL oc1
Dim oc2 As String = TextBox4.Text 'string pentru SQL oc2
Dim quality As String = TextBox4.Text 'string pentru SQL calitate
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
Label6.Text = dta 'Update in Label
Dim dTime As String 'string pentru SQL time
dTime = Date.Now.ToString("hh: mm") 'Format time
Label7.Text = dTime ' update in label
Dim cant As Integer 'cantitate 1 intodeauna
cant = 1
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Insert into calitate.dbo.scanare values('" & TextBox2.Text & "','" & TextBox1.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & dta & "','" & dTime & "','" & cant & "')", con)
command.ExecuteNonQuery()
con.Close()
updateTable() ' update tabel in data grid view
TextBox2.Clear() ' curatarea informatiilor scanate
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox2.Focus()
Else
MsgBox("Introdu cod Defect Corect") ' msg box in caz de croare la scanat textul din casuta cod defect
TextBox5.Clear()
TextBox5.Focus()
End If
Else
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' inchidere forma scanare articole
' buton Inchide Formularul inchide forma de scanare relanseaza forma
Form1.Show()
Me.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' stergere rand din datagrid
Dim result1 As DialogResult = MsgBox("Sigur Vrei sa strigi linia selectata ?", MsgBoxStyle.Information + MsgBoxStyle.YesNo,
"Confirmare stergere Linie")
' msg bog stergere
If DialogResult.OK Then 'confirmare MsgBox
' cod stergere din SQL
If rowIdval >= 0 Then ' id row datagrid din sub datagrid
Dim id As Integer = rowIdval
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Delete calitate.dbo.scanare where id = '" & id & "'", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
MsgBox(" Linia a fost stearsa")
TextBox2.Focus()
End If
Else
MsgBox(" Ai anulat stergerea liniei")
End If
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
Dim selectRow As Integer = e.RowIndex ' gasirea indezului din datagrid
If selectRow >= 0 Then 'gasirea id din randul selectat din datagrid
Dim selectedCellValue As String = DataGridView1.Rows(selectRow).Cells("id").Value.ToString()
rowIdval = selectedCellValue ' devinirea valorii lui rowIdVal pe baza selectarii din datagrid
End If
End Sub
End Class

View File

@@ -1,93 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form3
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
TextBox1 = New TextBox()
Label1 = New Label()
Button1 = New Button()
FlowLayoutPanel1 = New FlowLayoutPanel()
SuspendLayout()
'
' TextBox1
'
TextBox1.Font = New Font("Segoe UI", 16.2F, FontStyle.Bold, GraphicsUnit.Point)
TextBox1.Location = New Point(64, 216)
TextBox1.Name = "TextBox1"
TextBox1.Size = New Size(506, 36)
TextBox1.TabIndex = 0
'
' Label1
'
Label1.AutoSize = True
Label1.Font = New Font("Segoe UI", 16.2F, FontStyle.Bold, GraphicsUnit.Point)
Label1.Location = New Point(95, 165)
Label1.Name = "Label1"
Label1.Size = New Size(304, 30)
Label1.TabIndex = 1
Label1.Text = "Parola Administrator Sistem"
'
' Button1
'
Button1.BackColor = Color.FromArgb(CByte(0), CByte(192), CByte(0))
Button1.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Button1.Location = New Point(94, 274)
Button1.Name = "Button1"
Button1.Size = New Size(436, 48)
Button1.TabIndex = 2
Button1.Text = "Administreaza"
Button1.UseVisualStyleBackColor = False
'
' FlowLayoutPanel1
'
FlowLayoutPanel1.BackColor = Color.White
FlowLayoutPanel1.BackgroundImage = My.Resources.Resources.AQUINOS_BEDDING_AQUINOS_GROUP_copy_31
FlowLayoutPanel1.BackgroundImageLayout = ImageLayout.Zoom
FlowLayoutPanel1.Location = New Point(83, 12)
FlowLayoutPanel1.Name = "FlowLayoutPanel1"
FlowLayoutPanel1.Size = New Size(487, 131)
FlowLayoutPanel1.TabIndex = 3
'
' Form3
'
AutoScaleDimensions = New SizeF(7F, 15F)
AutoScaleMode = AutoScaleMode.Font
BackColor = Color.FromArgb(CByte(255), CByte(224), CByte(192))
ClientSize = New Size(639, 325)
ControlBox = False
Controls.Add(FlowLayoutPanel1)
Controls.Add(Button1)
Controls.Add(Label1)
Controls.Add(TextBox1)
Font = New Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point)
FormBorderStyle = FormBorderStyle.Fixed3D
Name = "Form3"
Text = "Admin Login"
ResumeLayout(False)
PerformLayout()
End Sub
Friend WithEvents TextBox1 As TextBox
Friend WithEvents Label1 As Label
Friend WithEvents Button1 As Button
Friend WithEvents FlowLayoutPanel1 As FlowLayoutPanel
End Class

View File

@@ -1,60 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,22 +0,0 @@
Public Class Form3
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text = My.Settings.adminPass Then
Form4.Show()
Me.Close()
Else
MsgBox("Introdu Parola de admin corecta")
TextBox1.Clear()
TextBox1.Focus()
End If
End Sub
Private Sub FlowLayoutPanel1_Paint(sender As Object, e As PaintEventArgs) Handles FlowLayoutPanel1.Paint
End Sub
End Class

View File

@@ -1,577 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form4
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.TextBox2 = New System.Windows.Forms.TextBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.TextBox3 = New System.Windows.Forms.TextBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.TextBox4 = New System.Windows.Forms.TextBox()
Me.Label4 = New System.Windows.Forms.Label()
Me.TextBox5 = New System.Windows.Forms.TextBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.TextBox6 = New System.Windows.Forms.TextBox()
Me.Label6 = New System.Windows.Forms.Label()
Me.TextBox7 = New System.Windows.Forms.TextBox()
Me.Label7 = New System.Windows.Forms.Label()
Me.TextBox8 = New System.Windows.Forms.TextBox()
Me.Label8 = New System.Windows.Forms.Label()
Me.TextBox9 = New System.Windows.Forms.TextBox()
Me.Label9 = New System.Windows.Forms.Label()
Me.TextBox10 = New System.Windows.Forms.TextBox()
Me.Label10 = New System.Windows.Forms.Label()
Me.TextBox12 = New System.Windows.Forms.TextBox()
Me.Label12 = New System.Windows.Forms.Label()
Me.TextBox13 = New System.Windows.Forms.TextBox()
Me.Label13 = New System.Windows.Forms.Label()
Me.TextBox14 = New System.Windows.Forms.TextBox()
Me.Label14 = New System.Windows.Forms.Label()
Me.TextBox15 = New System.Windows.Forms.TextBox()
Me.Label15 = New System.Windows.Forms.Label()
Me.TextBox16 = New System.Windows.Forms.TextBox()
Me.Label16 = New System.Windows.Forms.Label()
Me.TextBox17 = New System.Windows.Forms.TextBox()
Me.Label17 = New System.Windows.Forms.Label()
Me.TextBox18 = New System.Windows.Forms.TextBox()
Me.Label18 = New System.Windows.Forms.Label()
Me.TextBox19 = New System.Windows.Forms.TextBox()
Me.Label19 = New System.Windows.Forms.Label()
Me.TextBox20 = New System.Windows.Forms.TextBox()
Me.Label20 = New System.Windows.Forms.Label()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Button4 = New System.Windows.Forms.Button()
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(15, 7)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(109, 21)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Server String"
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(15, 30)
Me.TextBox1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(232, 23)
Me.TextBox1.TabIndex = 1
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.Cyan
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.Location = New System.Drawing.Point(7, 248)
Me.Button1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(169, 32)
Me.Button1.TabIndex = 10
Me.Button1.Text = "Check Setings"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.Lime
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.Location = New System.Drawing.Point(181, 248)
Me.Button2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(169, 32)
Me.Button2.TabIndex = 11
Me.Button2.Text = "Update Setings"
Me.Button2.UseVisualStyleBackColor = False
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.Blue
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button3.ForeColor = System.Drawing.Color.White
Me.Button3.Location = New System.Drawing.Point(355, 248)
Me.Button3.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(169, 32)
Me.Button3.TabIndex = 12
Me.Button3.Text = "Back to Form"
Me.Button3.UseVisualStyleBackColor = False
'
'TextBox2
'
Me.TextBox2.Location = New System.Drawing.Point(15, 76)
Me.TextBox2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(232, 23)
Me.TextBox2.TabIndex = 14
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label2.Location = New System.Drawing.Point(15, 52)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(132, 21)
Me.Label2.TabIndex = 13
Me.Label2.Text = "Server database"
'
'TextBox3
'
Me.TextBox3.Location = New System.Drawing.Point(15, 123)
Me.TextBox3.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox3.Name = "TextBox3"
Me.TextBox3.Size = New System.Drawing.Size(232, 23)
Me.TextBox3.TabIndex = 16
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(15, 100)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(95, 21)
Me.Label3.TabIndex = 15
Me.Label3.Text = "Server user"
'
'TextBox4
'
Me.TextBox4.Location = New System.Drawing.Point(15, 176)
Me.TextBox4.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox4.Name = "TextBox4"
Me.TextBox4.Size = New System.Drawing.Size(232, 23)
Me.TextBox4.TabIndex = 18
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label4.Location = New System.Drawing.Point(15, 152)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(132, 21)
Me.Label4.TabIndex = 17
Me.Label4.Text = "Server user Pass"
'
'TextBox5
'
Me.TextBox5.Location = New System.Drawing.Point(303, 30)
Me.TextBox5.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox5.Name = "TextBox5"
Me.TextBox5.Size = New System.Drawing.Size(232, 23)
Me.TextBox5.TabIndex = 20
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label5.Location = New System.Drawing.Point(303, 7)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(128, 21)
Me.Label5.TabIndex = 19
Me.Label5.Text = "Server time out"
'
'TextBox6
'
Me.TextBox6.Location = New System.Drawing.Point(303, 76)
Me.TextBox6.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox6.Name = "TextBox6"
Me.TextBox6.Size = New System.Drawing.Size(232, 23)
Me.TextBox6.TabIndex = 22
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label6.Location = New System.Drawing.Point(303, 52)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(122, 21)
Me.Label6.TabIndex = 21
Me.Label6.Text = "Server encrypt"
'
'TextBox7
'
Me.TextBox7.Location = New System.Drawing.Point(303, 123)
Me.TextBox7.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox7.Name = "TextBox7"
Me.TextBox7.Size = New System.Drawing.Size(232, 23)
Me.TextBox7.TabIndex = 24
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label7.Location = New System.Drawing.Point(303, 100)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(98, 21)
Me.Label7.TabIndex = 23
Me.Label7.Text = "Server trust"
'
'TextBox8
'
Me.TextBox8.Location = New System.Drawing.Point(303, 176)
Me.TextBox8.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox8.Name = "TextBox8"
Me.TextBox8.Size = New System.Drawing.Size(232, 23)
Me.TextBox8.TabIndex = 26
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label8.Location = New System.Drawing.Point(303, 152)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(114, 21)
Me.Label8.TabIndex = 25
Me.Label8.Text = "Server reason"
'
'TextBox9
'
Me.TextBox9.Location = New System.Drawing.Point(15, 221)
Me.TextBox9.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox9.Name = "TextBox9"
Me.TextBox9.Size = New System.Drawing.Size(232, 23)
Me.TextBox9.TabIndex = 28
Me.TextBox9.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label9.Location = New System.Drawing.Point(15, 198)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(115, 21)
Me.Label9.TabIndex = 27
Me.Label9.Text = "Server subnet"
'
'TextBox10
'
Me.TextBox10.Location = New System.Drawing.Point(302, 221)
Me.TextBox10.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox10.Name = "TextBox10"
Me.TextBox10.Size = New System.Drawing.Size(232, 23)
Me.TextBox10.TabIndex = 30
Me.TextBox10.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Label10
'
Me.Label10.AutoSize = True
Me.Label10.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label10.Location = New System.Drawing.Point(302, 198)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(146, 21)
Me.Label10.TabIndex = 29
Me.Label10.Text = "Administrare Pass"
'
'TextBox12
'
Me.TextBox12.Location = New System.Drawing.Point(14, 243)
Me.TextBox12.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox12.Name = "TextBox12"
Me.TextBox12.Size = New System.Drawing.Size(232, 23)
Me.TextBox12.TabIndex = 48
Me.TextBox12.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'Label12
'
Me.Label12.AutoSize = True
Me.Label12.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label12.Location = New System.Drawing.Point(14, 220)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(135, 21)
Me.Label12.TabIndex = 47
Me.Label12.Text = "Server subnet W"
'
'TextBox13
'
Me.TextBox13.Location = New System.Drawing.Point(302, 202)
Me.TextBox13.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox13.Name = "TextBox13"
Me.TextBox13.Size = New System.Drawing.Size(232, 23)
Me.TextBox13.TabIndex = 46
'
'Label13
'
Me.Label13.AutoSize = True
Me.Label13.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label13.Location = New System.Drawing.Point(302, 178)
Me.Label13.Name = "Label13"
Me.Label13.Size = New System.Drawing.Size(134, 21)
Me.Label13.TabIndex = 45
Me.Label13.Text = "Server reason W"
'
'TextBox14
'
Me.TextBox14.Location = New System.Drawing.Point(302, 149)
Me.TextBox14.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox14.Name = "TextBox14"
Me.TextBox14.Size = New System.Drawing.Size(232, 23)
Me.TextBox14.TabIndex = 44
'
'Label14
'
Me.Label14.AutoSize = True
Me.Label14.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label14.Location = New System.Drawing.Point(302, 126)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(118, 21)
Me.Label14.TabIndex = 43
Me.Label14.Text = "Server trust W"
'
'TextBox15
'
Me.TextBox15.Location = New System.Drawing.Point(302, 102)
Me.TextBox15.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox15.Name = "TextBox15"
Me.TextBox15.Size = New System.Drawing.Size(232, 23)
Me.TextBox15.TabIndex = 42
'
'Label15
'
Me.Label15.AutoSize = True
Me.Label15.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label15.Location = New System.Drawing.Point(302, 78)
Me.Label15.Name = "Label15"
Me.Label15.Size = New System.Drawing.Size(142, 21)
Me.Label15.TabIndex = 41
Me.Label15.Text = "Server encrypt W"
'
'TextBox16
'
Me.TextBox16.Location = New System.Drawing.Point(302, 56)
Me.TextBox16.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox16.Name = "TextBox16"
Me.TextBox16.Size = New System.Drawing.Size(232, 23)
Me.TextBox16.TabIndex = 40
'
'Label16
'
Me.Label16.AutoSize = True
Me.Label16.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label16.Location = New System.Drawing.Point(302, 33)
Me.Label16.Name = "Label16"
Me.Label16.Size = New System.Drawing.Size(148, 21)
Me.Label16.TabIndex = 39
Me.Label16.Text = "Server time out W"
'
'TextBox17
'
Me.TextBox17.Location = New System.Drawing.Point(14, 198)
Me.TextBox17.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox17.Name = "TextBox17"
Me.TextBox17.Size = New System.Drawing.Size(232, 23)
Me.TextBox17.TabIndex = 38
'
'Label17
'
Me.Label17.AutoSize = True
Me.Label17.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label17.Location = New System.Drawing.Point(14, 174)
Me.Label17.Name = "Label17"
Me.Label17.Size = New System.Drawing.Size(152, 21)
Me.Label17.TabIndex = 37
Me.Label17.Text = "Server user Pass W"
'
'TextBox18
'
Me.TextBox18.Location = New System.Drawing.Point(14, 145)
Me.TextBox18.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox18.Name = "TextBox18"
Me.TextBox18.Size = New System.Drawing.Size(232, 23)
Me.TextBox18.TabIndex = 36
'
'Label18
'
Me.Label18.AutoSize = True
Me.Label18.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label18.Location = New System.Drawing.Point(14, 122)
Me.Label18.Name = "Label18"
Me.Label18.Size = New System.Drawing.Size(115, 21)
Me.Label18.TabIndex = 35
Me.Label18.Text = "Server user W"
'
'TextBox19
'
Me.TextBox19.Location = New System.Drawing.Point(14, 98)
Me.TextBox19.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox19.Name = "TextBox19"
Me.TextBox19.Size = New System.Drawing.Size(232, 23)
Me.TextBox19.TabIndex = 34
'
'Label19
'
Me.Label19.AutoSize = True
Me.Label19.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label19.Location = New System.Drawing.Point(14, 74)
Me.Label19.Name = "Label19"
Me.Label19.Size = New System.Drawing.Size(152, 21)
Me.Label19.TabIndex = 33
Me.Label19.Text = "Server database W"
'
'TextBox20
'
Me.TextBox20.Location = New System.Drawing.Point(14, 52)
Me.TextBox20.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox20.Name = "TextBox20"
Me.TextBox20.Size = New System.Drawing.Size(232, 23)
Me.TextBox20.TabIndex = 32
'
'Label20
'
Me.Label20.AutoSize = True
Me.Label20.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label20.Location = New System.Drawing.Point(14, 29)
Me.Label20.Name = "Label20"
Me.Label20.Size = New System.Drawing.Size(129, 21)
Me.Label20.TabIndex = 31
Me.Label20.Text = "Server String W"
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.Button4)
Me.GroupBox1.Controls.Add(Me.TextBox12)
Me.GroupBox1.Controls.Add(Me.Label12)
Me.GroupBox1.Controls.Add(Me.TextBox13)
Me.GroupBox1.Controls.Add(Me.Label13)
Me.GroupBox1.Controls.Add(Me.TextBox14)
Me.GroupBox1.Controls.Add(Me.Label14)
Me.GroupBox1.Controls.Add(Me.TextBox15)
Me.GroupBox1.Controls.Add(Me.Label15)
Me.GroupBox1.Controls.Add(Me.TextBox16)
Me.GroupBox1.Controls.Add(Me.Label16)
Me.GroupBox1.Controls.Add(Me.TextBox17)
Me.GroupBox1.Controls.Add(Me.Label17)
Me.GroupBox1.Controls.Add(Me.TextBox18)
Me.GroupBox1.Controls.Add(Me.Label18)
Me.GroupBox1.Controls.Add(Me.TextBox19)
Me.GroupBox1.Controls.Add(Me.Label19)
Me.GroupBox1.Controls.Add(Me.TextBox20)
Me.GroupBox1.Controls.Add(Me.Label20)
Me.GroupBox1.Location = New System.Drawing.Point(545, 4)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(555, 276)
Me.GroupBox1.TabIndex = 49
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Setari Servar Priority"
'
'Button4
'
Me.Button4.BackColor = System.Drawing.Color.Lime
Me.Button4.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button4.Location = New System.Drawing.Point(302, 237)
Me.Button4.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(219, 32)
Me.Button4.TabIndex = 49
Me.Button4.Text = "Update Setings"
Me.Button4.UseVisualStyleBackColor = False
'
'Form4
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1112, 289)
Me.ControlBox = False
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.TextBox10)
Me.Controls.Add(Me.Label10)
Me.Controls.Add(Me.TextBox9)
Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.TextBox8)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.TextBox7)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.TextBox6)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.TextBox5)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.TextBox4)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.TextBox3)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.Label1)
Me.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Name = "Form4"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Administrare Program"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents TextBox1 As TextBox
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents TextBox2 As TextBox
Friend WithEvents Label2 As Label
Friend WithEvents TextBox3 As TextBox
Friend WithEvents Label3 As Label
Friend WithEvents TextBox4 As TextBox
Friend WithEvents Label4 As Label
Friend WithEvents TextBox5 As TextBox
Friend WithEvents Label5 As Label
Friend WithEvents TextBox6 As TextBox
Friend WithEvents Label6 As Label
Friend WithEvents TextBox7 As TextBox
Friend WithEvents Label7 As Label
Friend WithEvents TextBox8 As TextBox
Friend WithEvents Label8 As Label
Friend WithEvents TextBox9 As TextBox
Friend WithEvents Label9 As Label
Friend WithEvents TextBox10 As TextBox
Friend WithEvents Label10 As Label
Friend WithEvents TextBox12 As TextBox
Friend WithEvents Label12 As Label
Friend WithEvents TextBox13 As TextBox
Friend WithEvents Label13 As Label
Friend WithEvents TextBox14 As TextBox
Friend WithEvents Label14 As Label
Friend WithEvents TextBox15 As TextBox
Friend WithEvents Label15 As Label
Friend WithEvents TextBox16 As TextBox
Friend WithEvents Label16 As Label
Friend WithEvents TextBox17 As TextBox
Friend WithEvents Label17 As Label
Friend WithEvents TextBox18 As TextBox
Friend WithEvents Label18 As Label
Friend WithEvents TextBox19 As TextBox
Friend WithEvents Label19 As Label
Friend WithEvents TextBox20 As TextBox
Friend WithEvents Label20 As Label
Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Button4 As Button
End Class

View File

@@ -1,60 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,58 +0,0 @@
Public Class Form4
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = My.Settings.serverName
TextBox2.Text = My.Settings.serverdatabase
TextBox3.Text = My.Settings.serverUser
TextBox4.Text = My.Settings.serverUserpass
TextBox5.Text = My.Settings.timeout
TextBox6.Text = My.Settings.encrypt
TextBox7.Text = My.Settings.cert
TextBox8.Text = My.Settings.reason
TextBox9.Text = My.Settings.subnet
TextBox10.Text = My.Settings.adminPass
TextBox20.Text = My.Settings.ServerNameW
TextBox19.Text = My.Settings.ServerDatabaseW
TextBox18.Text = My.Settings.ServerUserW
TextBox17.Text = My.Settings.ServerUserPasW
TextBox12.Text = My.Settings.SubnetW
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
My.Settings.subnet = TextBox9.Text
My.Settings.reason = TextBox8.Text
My.Settings.encrypt = TextBox9.Text
My.Settings.timeout = TextBox5.Text
My.Settings.serverUserpass = TextBox4.Text
My.Settings.serverUser = TextBox3.Text
My.Settings.serverdatabase = TextBox2.Text
My.Settings.serverName = TextBox1.Text
My.Settings.Save()
MsgBox("au fost incarcate setarile pentru server")
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Form1.Show()
Me.Close()
End Sub
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
My.Settings.SubnetW = TextBox12.Text
My.Settings.ServerNameW = TextBox20.Text
My.Settings.ServerDatabaseW = TextBox19.Text
My.Settings.ServerUserPasW = TextBox17.Text
My.Settings.ServerUserW = TextBox18.Text
End Sub
End Class

View File

@@ -1,170 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form5
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.DateTimePicker3 = New System.Windows.Forms.DateTimePicker()
Me.Label1 = New System.Windows.Forms.Label()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
Me.GroupBox1.SuspendLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DateTimePicker1
'
Me.DateTimePicker1.CustomFormat = "yyyy-MM-dd"
Me.DateTimePicker1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.DateTimePicker1.Location = New System.Drawing.Point(150, 26)
Me.DateTimePicker1.Name = "DateTimePicker1"
Me.DateTimePicker1.Size = New System.Drawing.Size(159, 34)
Me.DateTimePicker1.TabIndex = 0
'
'GroupBox1
'
Me.GroupBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.DateTimePicker3)
Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Controls.Add(Me.DateTimePicker1)
Me.GroupBox1.Location = New System.Drawing.Point(35, 22)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(637, 86)
Me.GroupBox1.TabIndex = 1
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Alege intervalul din care trebuie sa faci exportul in excel"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(332, 31)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(98, 28)
Me.Label3.TabIndex = 3
Me.Label3.Text = "End Date"
'
'DateTimePicker3
'
Me.DateTimePicker3.CustomFormat = "yyyy-MM-dd"
Me.DateTimePicker3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.DateTimePicker3.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.DateTimePicker3.Location = New System.Drawing.Point(445, 26)
Me.DateTimePicker3.Name = "DateTimePicker3"
Me.DateTimePicker3.Size = New System.Drawing.Size(159, 34)
Me.DateTimePicker3.TabIndex = 2
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(17, 32)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(110, 28)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Start Date"
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(12, 125)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersWidth = 51
Me.DataGridView1.RowTemplate.Height = 29
Me.DataGridView1.Size = New System.Drawing.Size(1306, 530)
Me.DataGridView1.TabIndex = 2
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.Color.Black
Me.Button1.Location = New System.Drawing.Point(712, 41)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(194, 54)
Me.Button1.TabIndex = 3
Me.Button1.Text = "Preview"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.ForeColor = System.Drawing.Color.Black
Me.Button2.Location = New System.Drawing.Point(940, 40)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(194, 54)
Me.Button2.TabIndex = 4
Me.Button2.Text = "Export to Excel"
Me.Button2.UseVisualStyleBackColor = False
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.Red
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button3.ForeColor = System.Drawing.Color.White
Me.Button3.Location = New System.Drawing.Point(1140, 22)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(178, 79)
Me.Button3.TabIndex = 5
Me.Button3.Text = "Inchide program"
Me.Button3.UseVisualStyleBackColor = False
'
'Form5
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 20.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1330, 681)
Me.ControlBox = False
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.GroupBox1)
Me.Name = "Form5"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Export from SQL Database Calitate"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents DateTimePicker1 As DateTimePicker
Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Label3 As Label
Friend WithEvents DateTimePicker3 As DateTimePicker
Friend WithEvents Label1 As Label
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents SaveFileDialog1 As SaveFileDialog
End Class

View File

@@ -1,63 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -1,86 +0,0 @@
Imports System.IO
Imports Microsoft.Data.SqlClient
Public Class Form5
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
Dim command As New SqlCommand("select * from calitate.dbo.scanare where [date] between @date1 and @date2", con)
command.Parameters.Add("date1", SqlDbType.Date).Value = DateTimePicker1.Value
command.Parameters.Add("date2", SqlDbType.Date).Value = DateTimePicker3.Value
Dim da As New SqlDataAdapter
da.SelectCommand = command
Dim dt As New DataTable
dt.Clear()
da.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim saveFileDialog As New SaveFileDialog()
saveFileDialog.Filter = "CSV (.csv)|.csv"
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
saveFileDialog.FileName = "Calitate" & "-" & dta & ".csv"
If (saveFileDialog.ShowDialog() = DialogResult.OK) Then
Using sw As New StreamWriter(saveFileDialog.FileName)
Dim columnCount As Integer = DataGridView1.ColumnCount
For i As Integer = 0 To columnCount - 1
sw.Write(DataGridView1.Columns(i).HeaderText)
If (i < columnCount - 1) Then
sw.Write(","c)
End If
Next
sw.Write(sw.NewLine)
For Each row As DataGridViewRow In DataGridView1.Rows
For i As Integer = 0 To row.Cells.Count - 1
If Not row.IsNewRow Then
sw.Write(row.Cells(i).Value.ToString())
End If
If (i < row.Cells.Count - 1) Then
sw.Write(","c)
End If
Next
sw.Write(sw.NewLine)
Next
sw.Close()
End Using
MessageBox.Show("CSV file saved.")
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Form1.Show()
Me.Close()
End Sub
End Class

View File

@@ -1,311 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form6
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Me.Label1 = New System.Windows.Forms.Label()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.TextBox2 = New System.Windows.Forms.TextBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.TextBox3 = New System.Windows.Forms.TextBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.TextBox4 = New System.Windows.Forms.TextBox()
Me.Label4 = New System.Windows.Forms.Label()
Me.TextBox5 = New System.Windows.Forms.TextBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Label6 = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.TextBox6 = New System.Windows.Forms.TextBox()
Me.Label8 = New System.Windows.Forms.Label()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.ForeColor = System.Drawing.Color.White
Me.Label1.Location = New System.Drawing.Point(24, 7)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(233, 25)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Scaneaza nume operator"
'
'TextBox1
'
Me.TextBox1.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextBox1.Location = New System.Drawing.Point(26, 42)
Me.TextBox1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox1.MaxLength = 4
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(283, 32)
Me.TextBox1.TabIndex = 1
'
'TextBox2
'
Me.TextBox2.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextBox2.Location = New System.Drawing.Point(24, 106)
Me.TextBox2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(285, 32)
Me.TextBox2.TabIndex = 3
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label2.ForeColor = System.Drawing.Color.White
Me.Label2.Location = New System.Drawing.Point(26, 76)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(122, 25)
Me.Label2.TabIndex = 2
Me.Label2.Text = "Scaneaza CP"
'
'TextBox3
'
Me.TextBox3.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextBox3.Location = New System.Drawing.Point(25, 172)
Me.TextBox3.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox3.Name = "TextBox3"
Me.TextBox3.Size = New System.Drawing.Size(284, 32)
Me.TextBox3.TabIndex = 5
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.ForeColor = System.Drawing.Color.White
Me.Label3.Location = New System.Drawing.Point(26, 142)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(277, 25)
Me.Label3.TabIndex = 4
Me.Label3.Text = "Scaneaza Cod Operator Taiere"
'
'TextBox4
'
Me.TextBox4.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextBox4.Location = New System.Drawing.Point(25, 237)
Me.TextBox4.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox4.MaxLength = 4
Me.TextBox4.Name = "TextBox4"
Me.TextBox4.Size = New System.Drawing.Size(284, 32)
Me.TextBox4.TabIndex = 7
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label4.ForeColor = System.Drawing.Color.White
Me.Label4.Location = New System.Drawing.Point(26, 211)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(217, 25)
Me.Label4.TabIndex = 6
Me.Label4.Text = "Scaneaza Cod Matlasor"
'
'TextBox5
'
Me.TextBox5.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextBox5.Location = New System.Drawing.Point(24, 294)
Me.TextBox5.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox5.MaxLength = 4
Me.TextBox5.Name = "TextBox5"
Me.TextBox5.Size = New System.Drawing.Size(286, 32)
Me.TextBox5.TabIndex = 9
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label5.ForeColor = System.Drawing.Color.White
Me.Label5.Location = New System.Drawing.Point(24, 268)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(281, 25)
Me.Label5.TabIndex = 8
Me.Label5.Text = "Scaneaza Cod Operator Banda"
'
'DataGridView1
'
Me.DataGridView1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.DataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells
Me.DataGridView1.BackgroundColor = System.Drawing.Color.White
Me.DataGridView1.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.Raised
DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.BottomCenter
DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control
DataGridViewCellStyle1.Font = New System.Drawing.Font("Segoe UI", 16.2!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText
DataGridViewCellStyle1.Padding = New System.Windows.Forms.Padding(0, 0, 0, 4)
DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
Me.DataGridView1.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.BottomCenter
DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window
DataGridViewCellStyle2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText
DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight
DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText
DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
Me.DataGridView1.DefaultCellStyle = DataGridViewCellStyle2
Me.DataGridView1.GridColor = System.Drawing.SystemColors.ControlLight
Me.DataGridView1.Location = New System.Drawing.Point(323, 21)
Me.DataGridView1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersWidth = 51
Me.DataGridView1.RowTemplate.Height = 29
Me.DataGridView1.Size = New System.Drawing.Size(1062, 512)
Me.DataGridView1.TabIndex = 10
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 10.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label6.ForeColor = System.Drawing.Color.White
Me.Label6.Location = New System.Drawing.Point(25, 393)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(42, 20)
Me.Label6.TabIndex = 11
Me.Label6.Text = "Data"
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Font = New System.Drawing.Font("Segoe UI", 10.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label7.ForeColor = System.Drawing.Color.White
Me.Label7.Location = New System.Drawing.Point(172, 393)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(34, 20)
Me.Label7.TabIndex = 13
Me.Label7.Text = "Ora"
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.Black
Me.Button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.Color.Lime
Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button1.Location = New System.Drawing.Point(36, 464)
Me.Button1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(239, 41)
Me.Button1.TabIndex = 14
Me.Button1.Text = "Inchide Formularul"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer))
Me.Button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.ForeColor = System.Drawing.Color.Lime
Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button2.Location = New System.Drawing.Point(24, 418)
Me.Button2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(256, 41)
Me.Button2.TabIndex = 15
Me.Button2.Text = "Sterge randul selectat"
Me.Button2.UseVisualStyleBackColor = False
'
'TextBox6
'
Me.TextBox6.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextBox6.Location = New System.Drawing.Point(25, 359)
Me.TextBox6.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextBox6.MaxLength = 4
Me.TextBox6.Name = "TextBox6"
Me.TextBox6.Size = New System.Drawing.Size(286, 32)
Me.TextBox6.TabIndex = 17
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label8.ForeColor = System.Drawing.Color.White
Me.Label8.Location = New System.Drawing.Point(26, 333)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(253, 21)
Me.Label8.TabIndex = 16
Me.Label8.Text = "Scaneaza Cod Operatori Borduri"
'
'Form6
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer))
Me.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.ClientSize = New System.Drawing.Size(1396, 546)
Me.ControlBox = False
Me.Controls.Add(Me.TextBox6)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.TextBox5)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.TextBox4)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.TextBox3)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.Label1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow
Me.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Name = "Form6"
Me.RightToLeftLayout = True
Me.Text = "Scanare comenzi Pregatit"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents TextBox1 As TextBox
Friend WithEvents TextBox2 As TextBox
Friend WithEvents Label2 As Label
Friend WithEvents TextBox3 As TextBox
Friend WithEvents Label3 As Label
Friend WithEvents TextBox4 As TextBox
Friend WithEvents Label4 As Label
Friend WithEvents TextBox5 As TextBox
Friend WithEvents Label5 As Label
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label6 As Label
Friend WithEvents Label7 As Label
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents TextBox6 As TextBox
Friend WithEvents Label8 As Label
End Class

View File

@@ -1,60 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,284 +0,0 @@

Imports System.Security.Cryptography
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Public Class Form6
'setari pentru server
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Private Sub updateTable()
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("select top 14 * from dbo.pregatit order by id desc", con)
Dim sda As New SqlDataAdapter(command)
Dim dt As New DataTable
sda.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
End Sub
Private Sub UserForm2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' text box1 incarcare valoare, set text box 2 pentru scan
TextBox1.Text = variable.userp
updateTable()
TextBox2.Focus()
End Sub
Private Sub TextBox1_TextChangeed(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
' validare text box 1 cu OQ
If TextBox1.Text.Length < 4 Then
ElseIf TextBox1.Text.Length = 4 Then
Dim val As String
val = TextBox1.Text
If InStr(1, val, "OP") > 0 Then
TextBox2.Focus()
Else
MsgBox("Introdu cod Operator")
TextBox1.Focus()
End If
Else
End If
End Sub
Private Sub TextBox2_TextChangeed(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
' validare CP text box 2
If TextBox2.Text.Length < 10 Then
ElseIf TextBox2.Text.Length = 10 Then
Dim val As String
val = TextBox2.Text
If InStr(1, val, "CP") > 0 Then
TextBox3.Focus()
Else
MsgBox("Introdu CP Corect")
TextBox2.Clear()
TextBox2.Focus()
End If
Else
End If
End Sub
Private Sub TextBox3_TextChangeed(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
' validare oc text box 3
If TextBox3.Text.Length < 4 Then
ElseIf TextBox3.Text.Length = 4 Then
Dim val As String
val = TextBox3.Text
If InStr(1, val, "00") > 0 Then
TextBox4.Focus()
ElseIf InStr(1, val, "ct") > 0 Then
TextBox4.Focus()
ElseIf InStr(1, val, "CT") > 0 Then
TextBox4.Focus()
Else
MsgBox("Introdu cod Operator Taiere corect")
TextBox3.Clear()
TextBox3.Focus()
End If
Else
End If
End Sub
Private Sub TextBox4_TextChangeed(sender As Object, e As EventArgs) Handles TextBox4.TextChanged
' validare oc text box 4
If TextBox4.Text.Length < 4 Then
ElseIf TextBox4.Text.Length = 4 Then
Dim val As String
val = TextBox4.Text
If InStr(1, val, "00") > 0 Then
TextBox5.Focus()
ElseIf InStr(1, val, "mn") > 0 Then
TextBox5.Focus()
ElseIf InStr(1, val, "MN") > 0 Then
TextBox5.Focus()
ElseIf InStr(1, val, "sn") > 0 Then
TextBox5.Focus()
ElseIf InStr(1, val, "SN") > 0 Then
TextBox5.Focus()
Else
MsgBox("Introdu cod Matlasor Corect")
TextBox4.Clear()
TextBox4.Focus()
End If
Else
End If
End Sub
Private Sub TextBox5_TextChangeed(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
' validare sp text box 4
If TextBox5.Text.Length < 4 Then
ElseIf TextBox5.Text.Length = 4 Then
Dim val As String
val = TextBox5.Text
If InStr(1, val, "00") > 0 Then
TextBox6.Focus()
ElseIf InStr(1, val, "sp") > 0 Then
TextBox6.Focus()
ElseIf InStr(1, val, "SP") > 0 Then
TextBox6.Focus()
Else
MsgBox("Introdu cod Matlasor Corect")
TextBox5.Clear()
TextBox5.Focus()
End If
Else
End If
End Sub
Private Sub TextBox6_TextChangeed(sender As Object, e As EventArgs) Handles TextBox6.TextChanged
' validare Calitate text box5
If TextBox6.Text.Length < 4 Then
ElseIf TextBox6.Text.Length = 4 Then
Dim val As String
val = TextBox6.Text
If InStr(1, val, "0000") > 0 Then
Dim oq As String = TextBox1.Text 'string pentru SQL oq
Dim cp As String = TextBox2.Text 'string pentru SQL cp
Dim oc1 As String = TextBox3.Text 'string pentru SQL oc1
Dim oc2 As String = TextBox4.Text 'string pentru SQL oc2
Dim quality As String = TextBox4.Text 'string pentru SQL calitate
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
Label6.Text = dta 'Update in Label
Dim dTime As String 'string pentru SQL time
dTime = Date.Now.ToString("hh: mm") 'Format time
Label7.Text = dTime ' update in label
Dim cant As Integer 'cantitate 1 intodeauna
cant = 1
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Insert into calitate.dbo.pregatit values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & dta & "','" & dTime & "')", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox2.Focus()
ElseIf InStr(1, val, "sp") > 0 Then
Dim oq As String = TextBox1.Text 'string pentru SQL oq
Dim cp As String = TextBox2.Text 'string pentru SQL cp
Dim oc1 As String = TextBox3.Text 'string pentru SQL oc1
Dim oc2 As String = TextBox4.Text 'string pentru SQL oc2
Dim quality As String = TextBox4.Text 'string pentru SQL calitate
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
Label6.Text = dta 'Update in Label
Dim dTime As String 'string pentru SQL time
dTime = Date.Now.ToString("hh: mm") 'Format time
Label7.Text = dTime ' update in label
Dim cant As Integer 'cantitate 1 intodeauna
cant = 1
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Insert into calitate.dbo.pregatit values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & dta & "','" & dTime & "')", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox2.Focus()
ElseIf InStr(1, val, "SP") > 0 Then
Dim oq As String = TextBox1.Text 'string pentru SQL oq
Dim cp As String = TextBox2.Text 'string pentru SQL cp
Dim oc1 As String = TextBox3.Text 'string pentru SQL oc1
Dim oc2 As String = TextBox4.Text 'string pentru SQL oc2
Dim quality As String = TextBox4.Text 'string pentru SQL calitate
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
Label6.Text = dta 'Update in Label
Dim dTime As String 'string pentru SQL time
dTime = Date.Now.ToString("hh: mm") 'Format time
Label7.Text = dTime ' update in label
Dim cant As Integer 'cantitate 1 intodeauna
cant = 1
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Insert into calitate.dbo.pregatit values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & dta & "','" & dTime & "')", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox2.Focus()
Else
MsgBox("Introdu cod Defect Corect")
TextBox6.Clear()
TextBox6.Focus()
End If
Else
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' inchidere forma scanare articole
Form1.Show()
Me.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' stergere rand din datagrid
Dim result1 As DialogResult = MsgBox("Sigur Vrei sa strigi linia selectata ?", MsgBoxStyle.Information + MsgBoxStyle.YesNo,
"Confirmare stergere Linie")
If DialogResult.OK Then 'confirmare MsgBox
' cod stergere din SQL
If rowIdval >= 0 Then ' id row datagrid din sub datagrid
Dim id As Integer = rowIdval
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Delete calitate.dbo.pregatit where id = '" & id & "'", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
MsgBox(" Linia a fost stearsa")
TextBox2.Focus()
End If
Else
MsgBox(" Ai anulat stergerea liniei")
End If
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
Dim selectRow As Integer = e.RowIndex ' gasirea indezului din datagrid
If selectRow >= 0 Then 'gasirea id din randul selectat din datagrid
Dim selectedCellValue As String = DataGridView1.Rows(selectRow).Cells("id").Value.ToString()
rowIdval = selectedCellValue ' devinirea valorii lui rowIdVal pe baza selectarii din datagrid
End If
End Sub
End Class

View File

@@ -1,170 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form7
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.DateTimePicker3 = New System.Windows.Forms.DateTimePicker()
Me.Label1 = New System.Windows.Forms.Label()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
Me.GroupBox1.SuspendLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'DateTimePicker1
'
Me.DateTimePicker1.CustomFormat = "yyyy-MM-dd"
Me.DateTimePicker1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.DateTimePicker1.Location = New System.Drawing.Point(150, 26)
Me.DateTimePicker1.Name = "DateTimePicker1"
Me.DateTimePicker1.Size = New System.Drawing.Size(159, 34)
Me.DateTimePicker1.TabIndex = 0
'
'GroupBox1
'
Me.GroupBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.DateTimePicker3)
Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Controls.Add(Me.DateTimePicker1)
Me.GroupBox1.Location = New System.Drawing.Point(35, 22)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(637, 86)
Me.GroupBox1.TabIndex = 1
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Alege intervalul din care trebuie sa faci exportul in excel"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(332, 31)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(98, 28)
Me.Label3.TabIndex = 3
Me.Label3.Text = "End Date"
'
'DateTimePicker3
'
Me.DateTimePicker3.CustomFormat = "yyyy-MM-dd"
Me.DateTimePicker3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.DateTimePicker3.Format = System.Windows.Forms.DateTimePickerFormat.Custom
Me.DateTimePicker3.Location = New System.Drawing.Point(445, 26)
Me.DateTimePicker3.Name = "DateTimePicker3"
Me.DateTimePicker3.Size = New System.Drawing.Size(159, 34)
Me.DateTimePicker3.TabIndex = 2
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(17, 32)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(110, 28)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Start Date"
'
'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(12, 125)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersWidth = 51
Me.DataGridView1.RowTemplate.Height = 29
Me.DataGridView1.Size = New System.Drawing.Size(1306, 530)
Me.DataGridView1.TabIndex = 2
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.ForeColor = System.Drawing.Color.Black
Me.Button1.Location = New System.Drawing.Point(712, 41)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(194, 54)
Me.Button1.TabIndex = 3
Me.Button1.Text = "Preview"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.ForeColor = System.Drawing.Color.Black
Me.Button2.Location = New System.Drawing.Point(940, 40)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(194, 54)
Me.Button2.TabIndex = 4
Me.Button2.Text = "Export to Excel"
Me.Button2.UseVisualStyleBackColor = False
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.Red
Me.Button3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button3.ForeColor = System.Drawing.Color.White
Me.Button3.Location = New System.Drawing.Point(1140, 22)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(178, 79)
Me.Button3.TabIndex = 5
Me.Button3.Text = "Inchide program"
Me.Button3.UseVisualStyleBackColor = False
'
'Form7
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 20.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1352, 681)
Me.ControlBox = False
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.DataGridView1)
Me.Controls.Add(Me.GroupBox1)
Me.Name = "Form7"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Export from SQL Database Pregatit"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents DateTimePicker1 As DateTimePicker
Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Label3 As Label
Friend WithEvents DateTimePicker3 As DateTimePicker
Friend WithEvents Label1 As Label
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Button3 As Button
Friend WithEvents SaveFileDialog1 As SaveFileDialog
End Class

View File

@@ -1,63 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -1,86 +0,0 @@
Imports System.IO
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Public Class Form7
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
Dim command As New SqlCommand("select * from calitate.dbo.pregatit where [date] between @date1 and @date2", con)
command.Parameters.Add("date1", SqlDbType.Date).Value = DateTimePicker1.Value
command.Parameters.Add("date2", SqlDbType.Date).Value = DateTimePicker3.Value
Dim da As New SqlDataAdapter
da.SelectCommand = command
Dim dt As New DataTable
dt.Clear()
da.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim saveFileDialog As New SaveFileDialog()
saveFileDialog.Filter = "CSV (.csv)|.csv"
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
saveFileDialog.FileName = "Pregatit" & "-" & dta & ".csv"
If (saveFileDialog.ShowDialog() = DialogResult.OK) Then
Using sw As New StreamWriter(saveFileDialog.FileName)
Dim columnCount As Integer = DataGridView1.ColumnCount
For i As Integer = 0 To columnCount - 1
sw.Write(DataGridView1.Columns(i).HeaderText)
If (i < columnCount - 1) Then
sw.Write(","c)
End If
Next
sw.Write(sw.NewLine)
For Each row As DataGridViewRow In DataGridView1.Rows
For i As Integer = 0 To row.Cells.Count - 1
If Not row.IsNewRow Then
sw.Write(row.Cells(i).Value.ToString())
End If
If (i < row.Cells.Count - 1) Then
sw.Write(","c)
End If
Next
sw.Write(sw.NewLine)
Next
sw.Close()
End Using
MessageBox.Show("CSV file saved.")
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Form1.Show()
Me.Close()
End Sub
End Class

View File

@@ -1,230 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form8
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Label1 = New Label()
ComboBox1 = New ComboBox()
Label2 = New Label()
TextMasina = New TextBox()
TextDefect = New TextBox()
Label3 = New Label()
DataGridView1 = New DataGridView()
Label4 = New Label()
Label5 = New Label()
Button1 = New Button()
Label6 = New Label()
Label7 = New Label()
Label8 = New Label()
FlowLayoutPanel1 = New FlowLayoutPanel()
CType(DataGridView1, ComponentModel.ISupportInitialize).BeginInit()
SuspendLayout()
'
' Label1
'
Label1.AutoSize = True
Label1.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label1.Location = New Point(24, 92)
Label1.Name = "Label1"
Label1.Size = New Size(189, 25)
Label1.TabIndex = 0
Label1.Text = "Tichet pentru zona: "
'
' ComboBox1
'
ComboBox1.Font = New Font("Segoe UI", 12F, FontStyle.Bold, GraphicsUnit.Point)
ComboBox1.FormattingEnabled = True
ComboBox1.Location = New Point(28, 124)
ComboBox1.Margin = New Padding(3, 2, 3, 2)
ComboBox1.Name = "ComboBox1"
ComboBox1.Size = New Size(254, 29)
ComboBox1.TabIndex = 1
'
' Label2
'
Label2.AutoSize = True
Label2.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label2.Location = New Point(28, 166)
Label2.Name = "Label2"
Label2.Size = New Size(85, 25)
Label2.TabIndex = 2
Label2.Text = "Masina: "
'
' TextMasina
'
TextMasina.Font = New Font("Segoe UI", 12F, FontStyle.Bold, GraphicsUnit.Point)
TextMasina.Location = New Point(108, 164)
TextMasina.Margin = New Padding(3, 2, 3, 2)
TextMasina.MaxLength = 4
TextMasina.Name = "TextMasina"
TextMasina.Size = New Size(174, 29)
TextMasina.TabIndex = 3
'
' TextDefect
'
TextDefect.Font = New Font("Segoe UI", 12F, FontStyle.Bold, GraphicsUnit.Point)
TextDefect.Location = New Point(108, 212)
TextDefect.Margin = New Padding(3, 2, 3, 2)
TextDefect.MaxLength = 4
TextDefect.Name = "TextDefect"
TextDefect.Size = New Size(174, 29)
TextDefect.TabIndex = 5
'
' Label3
'
Label3.AutoSize = True
Label3.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label3.Location = New Point(24, 214)
Label3.Name = "Label3"
Label3.Size = New Size(74, 25)
Label3.TabIndex = 4
Label3.Text = "Defect:"
'
' DataGridView1
'
DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize
DataGridView1.Location = New Point(314, 45)
DataGridView1.Margin = New Padding(3, 2, 3, 2)
DataGridView1.Name = "DataGridView1"
DataGridView1.RowHeadersWidth = 51
DataGridView1.RowTemplate.Height = 29
DataGridView1.Size = New Size(654, 302)
DataGridView1.TabIndex = 6
'
' Label4
'
Label4.AutoSize = True
Label4.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label4.Location = New Point(111, 244)
Label4.Name = "Label4"
Label4.Size = New Size(17, 25)
Label4.TabIndex = 7
Label4.Text = ":"
'
' Label5
'
Label5.AutoSize = True
Label5.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label5.Location = New Point(111, 276)
Label5.Name = "Label5"
Label5.Size = New Size(22, 25)
Label5.TabIndex = 8
Label5.Text = ": "
'
' Button1
'
Button1.BackColor = Color.Red
Button1.Font = New Font("Segoe UI", 10.2F, FontStyle.Bold, GraphicsUnit.Point)
Button1.Location = New Point(38, 314)
Button1.Margin = New Padding(3, 2, 3, 2)
Button1.Name = "Button1"
Button1.Size = New Size(246, 33)
Button1.TabIndex = 9
Button1.Text = "Inchide formular"
Button1.UseVisualStyleBackColor = False
'
' Label6
'
Label6.AutoSize = True
Label6.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label6.Location = New Point(38, 276)
Label6.Name = "Label6"
Label6.Size = New Size(59, 25)
Label6.TabIndex = 11
Label6.Text = "Ora : "
'
' Label7
'
Label7.AutoSize = True
Label7.Font = New Font("Segoe UI", 13.8F, FontStyle.Bold, GraphicsUnit.Point)
Label7.Location = New Point(38, 244)
Label7.Name = "Label7"
Label7.Size = New Size(63, 25)
Label7.TabIndex = 10
Label7.Text = "Data :"
'
' Label8
'
Label8.AutoSize = True
Label8.Font = New Font("Segoe UI Black", 19.8F, FontStyle.Bold, GraphicsUnit.Point)
Label8.ForeColor = Color.MidnightBlue
Label8.Location = New Point(485, 7)
Label8.Name = "Label8"
Label8.Size = New Size(251, 37)
Label8.TabIndex = 12
Label8.Text = "Tichete Deschise "
'
' FlowLayoutPanel1
'
FlowLayoutPanel1.BackColor = Color.White
FlowLayoutPanel1.BackgroundImage = My.Resources.Resources.AQUINOS_BEDDING_AQUINOS_GROUP_copy_3
FlowLayoutPanel1.BackgroundImageLayout = ImageLayout.Zoom
FlowLayoutPanel1.Location = New Point(24, 7)
FlowLayoutPanel1.Margin = New Padding(3, 2, 3, 2)
FlowLayoutPanel1.Name = "FlowLayoutPanel1"
FlowLayoutPanel1.Size = New Size(261, 74)
FlowLayoutPanel1.TabIndex = 13
'
' Form8
'
AutoScaleDimensions = New SizeF(7F, 15F)
AutoScaleMode = AutoScaleMode.Font
BackColor = SystemColors.ActiveCaption
ClientSize = New Size(979, 368)
ControlBox = False
Controls.Add(FlowLayoutPanel1)
Controls.Add(Label8)
Controls.Add(Label6)
Controls.Add(Label7)
Controls.Add(Button1)
Controls.Add(Label5)
Controls.Add(Label4)
Controls.Add(DataGridView1)
Controls.Add(TextDefect)
Controls.Add(Label3)
Controls.Add(TextMasina)
Controls.Add(Label2)
Controls.Add(ComboBox1)
Controls.Add(Label1)
Margin = New Padding(3, 2, 3, 2)
Name = "Form8"
Text = "Lansare tichete mentenanta"
CType(DataGridView1, ComponentModel.ISupportInitialize).EndInit()
ResumeLayout(False)
PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents ComboBox1 As ComboBox
Friend WithEvents Label2 As Label
Friend WithEvents TextMasina As TextBox
Friend WithEvents TextDefect As TextBox
Friend WithEvents Label3 As Label
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label4 As Label
Friend WithEvents Label5 As Label
Friend WithEvents Button1 As Button
Friend WithEvents Label6 As Label
Friend WithEvents Label7 As Label
Friend WithEvents Label8 As Label
Friend WithEvents FlowLayoutPanel1 As FlowLayoutPanel
End Class

View File

@@ -1,60 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,96 +0,0 @@
Imports DocumentFormat.OpenXml.InkML
Imports Microsoft.Data.SqlClient
Imports System.Reflection.Emit
Imports System.Threading
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Public Class Form8
'setari pentru server
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Private Sub updateTable()
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user & "; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("select top 14 * from dbo.mentenanta where (status = 'Deschis' )order by id desc", con)
Dim sda As New SqlDataAdapter(command)
Dim dt As New DataTable
sda.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
End Sub
Private Sub Form8_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim items As String() = New String() {"", "Cusut", "Pregatit", "Matlasat"}
ComboBox1.DataSource = items
updateTable()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form1.Show()
Me.Close()
End Sub
Private Sub TextMasina_TextChangeed(sender As Object, e As EventArgs) Handles TextMasina.TextChanged
' validare text box 1 cu OQ
If TextMasina.Text.Length < 4 Then
ElseIf TextMasina.Text.Length = 4 Then
TextDefect.Focus()
Else
MsgBox("Introdu cod Operator")
TextMasina.Focus()
End If
End Sub
Private Sub TextDefect_TextChangeed(sender As Object, e As EventArgs) Handles TextDefect.TextChanged
' validare text box 1 cu OQ
If TextDefect.Text.Length < 4 Then
ElseIf TextDefect.Text.Length = 4 Then
Dim val As String
val = TextDefect.Text
If InStr(1, val, "D") > 0 Then
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
Label4.Text = dta 'Update in Label
Dim dTime As String 'string pentru SQL time
dTime = Date.Now.ToString("hh:mm") 'Format time
Dim nu As String = "NULL"
Label5.Text = dTime ' update in label
Dim cant As Integer 'cantitate 1 intodeauna
cant = 1
Dim status As String = "Deschis"
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("Insert into calitate.dbo.mentenanta (Data, Ora, zona, masina, defect, status) values('" & dta & "','" & dTime & "','" & ComboBox1.Text & "','" & TextMasina.Text & "','" & TextDefect.Text & "','" & status & "')", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
TextMasina.Clear()
TextDefect.Clear()
End If
Else
MsgBox("Introdu cod Operator")
TextDefect.Focus()
End If
End Sub
End Class

View File

@@ -1,419 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form9
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form9))
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label5 = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.Label8 = New System.Windows.Forms.Label()
Me.Label9 = New System.Windows.Forms.Label()
Me.Label10 = New System.Windows.Forms.Label()
Me.Label11 = New System.Windows.Forms.Label()
Me.Label12 = New System.Windows.Forms.Label()
Me.Label13 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.Label15 = New System.Windows.Forms.Label()
Me.Label14 = New System.Windows.Forms.Label()
Me.Button2 = New System.Windows.Forms.Button()
Me.TextUser = New System.Windows.Forms.TextBox()
Me.Label16 = New System.Windows.Forms.Label()
Me.Label17 = New System.Windows.Forms.Label()
Me.TextConst = New System.Windows.Forms.TextBox()
Me.Label18 = New System.Windows.Forms.Label()
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
Me.Label19 = New System.Windows.Forms.Label()
Me.Label20 = New System.Windows.Forms.Label()
Me.FlowLayoutPanel1 = New System.Windows.Forms.FlowLayoutPanel()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'DataGridView1
'
Me.DataGridView1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Location = New System.Drawing.Point(19, 56)
Me.DataGridView1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersWidth = 51
Me.DataGridView1.RowTemplate.Height = 29
Me.DataGridView1.Size = New System.Drawing.Size(1054, 313)
Me.DataGridView1.TabIndex = 0
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label1.Location = New System.Drawing.Point(428, 14)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(173, 21)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Lista tichete Deschise"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label2.Location = New System.Drawing.Point(5, 19)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(35, 21)
Me.Label2.TabIndex = 2
Me.Label2.Text = "ID :"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label3.Location = New System.Drawing.Point(172, 19)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(50, 21)
Me.Label3.TabIndex = 4
Me.Label3.Text = "Data:"
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label4.Location = New System.Drawing.Point(172, 39)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(41, 21)
Me.Label4.TabIndex = 6
Me.Label4.Text = "Ora:"
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label5.Location = New System.Drawing.Point(5, 42)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(53, 21)
Me.Label5.TabIndex = 8
Me.Label5.Text = "Zona:"
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label6.Location = New System.Drawing.Point(7, 78)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(69, 21)
Me.Label6.TabIndex = 9
Me.Label6.Text = "Masina:"
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label7.Location = New System.Drawing.Point(7, 99)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(121, 21)
Me.Label7.TabIndex = 10
Me.Label7.Text = "Defect initial : "
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label8.Location = New System.Drawing.Point(46, 19)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(14, 21)
Me.Label8.TabIndex = 11
Me.Label8.Text = ":"
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label9.Location = New System.Drawing.Point(222, 19)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(14, 21)
Me.Label9.TabIndex = 12
Me.Label9.Text = ":"
'
'Label10
'
Me.Label10.AutoSize = True
Me.Label10.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label10.Location = New System.Drawing.Point(214, 40)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(14, 21)
Me.Label10.TabIndex = 13
Me.Label10.Text = ":"
'
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label11.Location = New System.Drawing.Point(57, 42)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(14, 21)
Me.Label11.TabIndex = 14
Me.Label11.Text = ":"
'
'Label12
'
Me.Label12.AutoSize = True
Me.Label12.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label12.Location = New System.Drawing.Point(77, 78)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(14, 21)
Me.Label12.TabIndex = 15
Me.Label12.Text = ":"
'
'Label13
'
Me.Label13.AutoSize = True
Me.Label13.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label13.Location = New System.Drawing.Point(10, 118)
Me.Label13.Name = "Label13"
Me.Label13.Size = New System.Drawing.Size(14, 21)
Me.Label13.TabIndex = 16
Me.Label13.Text = ":"
'
'Button1
'
Me.Button1.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button1.Location = New System.Drawing.Point(390, 541)
Me.Button1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(210, 33)
Me.Button1.TabIndex = 17
Me.Button1.Text = "Update Info Tichet"
Me.Button1.UseVisualStyleBackColor = True
'
'GroupBox1
'
Me.GroupBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer))
Me.GroupBox1.Controls.Add(Me.Label15)
Me.GroupBox1.Controls.Add(Me.Label14)
Me.GroupBox1.Controls.Add(Me.Label2)
Me.GroupBox1.Controls.Add(Me.Label8)
Me.GroupBox1.Controls.Add(Me.Label13)
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.Label7)
Me.GroupBox1.Controls.Add(Me.Label12)
Me.GroupBox1.Controls.Add(Me.Label9)
Me.GroupBox1.Controls.Add(Me.Label11)
Me.GroupBox1.Controls.Add(Me.Label6)
Me.GroupBox1.Controls.Add(Me.Label4)
Me.GroupBox1.Controls.Add(Me.Label10)
Me.GroupBox1.Controls.Add(Me.Label5)
Me.GroupBox1.Location = New System.Drawing.Point(19, 386)
Me.GroupBox1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Padding = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.GroupBox1.Size = New System.Drawing.Size(350, 157)
Me.GroupBox1.TabIndex = 18
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Info despre tichet"
'
'Label15
'
Me.Label15.AutoSize = True
Me.Label15.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label15.Location = New System.Drawing.Point(172, 105)
Me.Label15.Name = "Label15"
Me.Label15.Size = New System.Drawing.Size(14, 21)
Me.Label15.TabIndex = 18
Me.Label15.Text = ":"
'
'Label14
'
Me.Label14.AutoSize = True
Me.Label14.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label14.Location = New System.Drawing.Point(172, 78)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(65, 21)
Me.Label14.TabIndex = 17
Me.Label14.Text = "Status: "
'
'Button2
'
Me.Button2.BackColor = System.Drawing.Color.Red
Me.Button2.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Button2.Location = New System.Drawing.Point(867, 504)
Me.Button2.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(207, 67)
Me.Button2.TabIndex = 19
Me.Button2.Text = "Inchide Fereastra"
Me.Button2.UseVisualStyleBackColor = False
'
'TextUser
'
Me.TextUser.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextUser.Location = New System.Drawing.Point(446, 386)
Me.TextUser.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextUser.Name = "TextUser"
Me.TextUser.Size = New System.Drawing.Size(172, 29)
Me.TextUser.TabIndex = 20
'
'Label16
'
Me.Label16.AutoSize = True
Me.Label16.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label16.Location = New System.Drawing.Point(382, 386)
Me.Label16.Name = "Label16"
Me.Label16.Size = New System.Drawing.Size(44, 21)
Me.Label16.TabIndex = 21
Me.Label16.Text = "User"
'
'Label17
'
Me.Label17.AutoSize = True
Me.Label17.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label17.Location = New System.Drawing.Point(394, 417)
Me.Label17.Name = "Label17"
Me.Label17.Size = New System.Drawing.Size(153, 21)
Me.Label17.TabIndex = 23
Me.Label17.Text = "Defecte constatate"
'
'TextConst
'
Me.TextConst.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.TextConst.Location = New System.Drawing.Point(394, 444)
Me.TextConst.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.TextConst.Name = "TextConst"
Me.TextConst.Size = New System.Drawing.Size(207, 29)
Me.TextConst.TabIndex = 24
'
'Label18
'
Me.Label18.AutoSize = True
Me.Label18.Font = New System.Drawing.Font("Segoe UI", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label18.Location = New System.Drawing.Point(399, 477)
Me.Label18.Name = "Label18"
Me.Label18.Size = New System.Drawing.Size(94, 21)
Me.Label18.TabIndex = 25
Me.Label18.Text = "Status Nou"
'
'ComboBox1
'
Me.ComboBox1.Font = New System.Drawing.Font("Segoe UI", 10.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.ComboBox1.FormattingEnabled = True
Me.ComboBox1.Location = New System.Drawing.Point(390, 502)
Me.ComboBox1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.ComboBox1.Name = "ComboBox1"
Me.ComboBox1.Size = New System.Drawing.Size(210, 27)
Me.ComboBox1.TabIndex = 26
'
'Label19
'
Me.Label19.AutoSize = True
Me.Label19.Font = New System.Drawing.Font("Segoe UI", 13.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label19.Location = New System.Drawing.Point(19, 550)
Me.Label19.Name = "Label19"
Me.Label19.Size = New System.Drawing.Size(159, 25)
Me.Label19.TabIndex = 27
Me.Label19.Text = "Actualizat la ora:"
'
'Label20
'
Me.Label20.AutoSize = True
Me.Label20.Font = New System.Drawing.Font("Segoe UI", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point)
Me.Label20.Location = New System.Drawing.Point(194, 544)
Me.Label20.Name = "Label20"
Me.Label20.Size = New System.Drawing.Size(21, 32)
Me.Label20.TabIndex = 28
Me.Label20.Text = ":"
'
'FlowLayoutPanel1
'
Me.FlowLayoutPanel1.BackColor = System.Drawing.Color.White
Me.FlowLayoutPanel1.BackgroundImage = CType(resources.GetObject("FlowLayoutPanel1.BackgroundImage"), System.Drawing.Image)
Me.FlowLayoutPanel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.FlowLayoutPanel1.Location = New System.Drawing.Point(19, 5)
Me.FlowLayoutPanel1.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.FlowLayoutPanel1.Name = "FlowLayoutPanel1"
Me.FlowLayoutPanel1.Size = New System.Drawing.Size(219, 46)
Me.FlowLayoutPanel1.TabIndex = 29
'
'Form9
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.ClientSize = New System.Drawing.Size(1085, 580)
Me.ControlBox = False
Me.Controls.Add(Me.FlowLayoutPanel1)
Me.Controls.Add(Me.Label20)
Me.Controls.Add(Me.Label19)
Me.Controls.Add(Me.ComboBox1)
Me.Controls.Add(Me.Label18)
Me.Controls.Add(Me.TextConst)
Me.Controls.Add(Me.Label17)
Me.Controls.Add(Me.Label16)
Me.Controls.Add(Me.TextUser)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.DataGridView1)
Me.Margin = New System.Windows.Forms.Padding(3, 2, 3, 2)
Me.Name = "Form9"
Me.Text = "Administrare tichete mentenanta"
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents Label1 As Label
Friend WithEvents Label2 As Label
Friend WithEvents Label3 As Label
Friend WithEvents Label4 As Label
Friend WithEvents Label5 As Label
Friend WithEvents Label6 As Label
Friend WithEvents Label7 As Label
Friend WithEvents Label8 As Label
Friend WithEvents Label9 As Label
Friend WithEvents Label10 As Label
Friend WithEvents Label11 As Label
Friend WithEvents Label12 As Label
Friend WithEvents Label13 As Label
Friend WithEvents Button1 As Button
Friend WithEvents GroupBox1 As GroupBox
Friend WithEvents Button2 As Button
Friend WithEvents Label15 As Label
Friend WithEvents Label14 As Label
Friend WithEvents TextUser As TextBox
Friend WithEvents Label16 As Label
Friend WithEvents Label17 As Label
Friend WithEvents TextConst As TextBox
Friend WithEvents Label18 As Label
Friend WithEvents ComboBox1 As ComboBox
Friend WithEvents Label19 As Label
Friend WithEvents Label20 As Label
Friend WithEvents FlowLayoutPanel1 As FlowLayoutPanel
End Class

View File

@@ -1,474 +0,0 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="FlowLayoutPanel1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAABU0AAAHDCAYAAAAQkzvuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFxEAABcRAcom8z8AAF9fSURBVHhe7d09suzIdSjcN4Ib1AwYirg+IzgBGRoAHRk3
nkOLdnvPpSmTbnu0ZdH/HA2ABiegiHaOq+gZ6Nu7+xRVRO86p1AFoJA7l7Gi++YpJDJRqASwkT//53/+
538AAAAAAHhXJgIAAAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkA
AAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAA
gFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzK
RAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAA
AADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABg
VmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIR
AAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAA
ADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhV
mQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQA
AAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAA
zKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUm
AgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAA
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
MmwW0I68MmD62Rys176v8oGtlYkAAAAAcLEIXGaQ8+lpE2L7nPt2TcA06YHMIcpEAAAAALgogpcXOTdr
Tqnwr9V2S/G5y1QNj8wrfMpV/+mpTAQAAACAiyKAeUsGQy/z0y6t7VW6pJcphykTAQAAAOCiCGAebZdF
qOCWMhEAAAAALr793FO0CmYe4a9VmWBPZSIAAAAAXHz7eR7SKqC5txzS/09VmWBPZSIAAAAAXPt2fG/T
nB/1t1VZYG9lIgAAAABc+/bt//5TyNXyqwDn1nI/epjyMmUiAAAAACxlIPM9oFkFOrdi0SderkwEAAAA
gFsysBlyvtEq6Pmo78M/V/uDo5WJAAAAAPCRbz/3Os3g6TM9T3Pe0n8PgqWcSpkIAAAAAPfKoGfIFfYz
AJoLRlWB1ExP+Zn8rEApp1UmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQA
AAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAA
wKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZl
IgAAAADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAA
AABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAw
qzIRAAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkI
AAAAADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAAZlUmAgAAAADMqkwEAAAA
AJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoTAQAAAABmVSYCAAAAAMyq
TAQAAAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAAAACzKhMBAAAAAGZVJgIA
AAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZlYkAAAAAALMqEwEAAAAA
ZlUmAgAAAADMqkwEAAAAAJhVmQgAAAAAMKsyEQAAAABgVmUiAAAAAMCsykQAAAAAgFmViQAAAAAAsyoT
AQAAAABmVSYCAAAAAMyqTAQAAAAAmFWZCAAAAAAwqzIRAAAAAGBWZSIAAAAAwKzKRAAAAACAWZWJAAAA
AACzKhMBAAAAAGZVJgIAAAAAzKpMBAAAAACYVZkIAAAAADCrMhEAAAAAYFZlIgAAAADArMpEAAAAAIBZ
lYkAAAAAALMqEwEAAAAA5vQ//+f/By4PBi+rkyMlAAAAAElFTkSuQmCC
</value>
</data>
</root>

View File

@@ -1,107 +0,0 @@
Imports DocumentFormat.OpenXml.Wordprocessing
Imports Microsoft.Data.SqlClient
Imports System.Data.DataTable
Imports System.Timers
Public Class Form9
'setari pentru server
Dim DataString As String = My.Settings.subnet
Dim surce As String = My.Settings.serverName
Dim catalog As String = My.Settings.serverdatabase
Dim user As String = My.Settings.serverUser
Dim pass As String = My.Settings.serverUserpass
Dim timeout As String = My.Settings.timeout
Dim encrypt As String = My.Settings.encrypt
Dim trust As String = My.Settings.cert
Dim reason As String = My.Settings.reason
Dim subnet As String = My.Settings.subnet
Dim rowIdval As String ' gasirea randului din datagrid
Dim rowData As String
Dim rowOra As String
Dim rowZona As String
Dim rowmasina As String
Dim rowdefect As String
Dim rowstatus As String
Dim Timer1 As System.Timers.Timer
Private Sub Form9_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'updateTable()
Dim items As String() = New String() {"", "In Lucru", "Inchis"}
ComboBox1.DataSource = items
updateTable()
End Sub
Private Sub updateTable()
' updateul tabelului din datagrid care se face dupa fiecare conexiune la server
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("select top 14 * from dbo.mentenanta order by id desc", con)
Dim sda As New SqlDataAdapter(command)
Dim dt As New DataTable
sda.Fill(dt)
DataGridView1.DataSource = dt
con.Close()
Dim LTime As String 'string pentru SQL time
LTime = Date.Now.ToString("hh:mm") 'Format time
Label20.Text = LTime
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
Dim selectRow As Integer = e.RowIndex ' gasirea indezului din datagrid
If selectRow >= 0 Then 'gasirea id din randul selectat din datagrid
Dim selectedCellValue As String = DataGridView1.Rows(selectRow).Cells("id").Value.ToString()
rowIdval = selectedCellValue ' devinirea valorii lui rowIdVal pe baza selectarii din datagrid
Dim selectedCellValue1 As String = DataGridView1.Rows(selectRow).Cells("Data").Value.ToString()
rowData = selectedCellValue1 ' devinirea valorii lui rowData pe baza selectarii din datagrid
Dim selectedCellValue2 As String = DataGridView1.Rows(selectRow).Cells("Ora").Value.ToString()
rowOra = selectedCellValue2 ' devinirea valorii lui rowOra pe baza selectarii din datagrid
Dim selectedCellValue3 As String = DataGridView1.Rows(selectRow).Cells("zona").Value.ToString()
rowZona = selectedCellValue3 ' devinirea valorii lui rowzona pe baza selectarii din datagrid
Dim selectedCellValue4 As String = DataGridView1.Rows(selectRow).Cells("masina").Value.ToString()
rowmasina = selectedCellValue4 ' devinirea valorii lui rowzona pe baza selectarii din datagrid
Dim selectedCellValue5 As String = DataGridView1.Rows(selectRow).Cells("defect").Value.ToString()
rowdefect = selectedCellValue5 ' devinirea valorii lui rowzona pe baza selectarii din datagrid
Dim selectedCellValue6 As String = DataGridView1.Rows(selectRow).Cells("status").Value.ToString()
rowstatus = selectedCellValue6 ' devinirea valorii lui rowzona pe baza selectarii din datagrid
Label8.Text = rowIdval
Label9.Text = rowData
Label10.Text = rowOra
Label11.Text = rowZona
Label12.Text = rowmasina
Label13.Text = rowdefect
Label15.Text = rowstatus
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Form1.Show() 'inchiderea formularului
Me.Close()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' incarcare informatii noi in tabelul pentru mentenanta
Dim dta As String 'string pentru SQL data
dta = Date.Now.ToString("yyyy.MM.dd") ' format string
Dim dTime As String 'string pentru SQL time
dTime = Date.Now.ToString("hh:mm") 'Format time
Dim con As New SqlConnection("Data Source=" & surce & "; Initial Catalog=" & catalog & "; User ID=" & user &
"; Password=" & pass & "; Connect Timeout=" & timeout & "; Encrypt=" & encrypt &
"; TrustServerCertificate=" & trust & "; ApplicationIntent=" & reason & "; MultiSubnetFailover=" & subnet & "")
con.Open()
Dim command As New SqlCommand("update calitate.dbo.mentenanta set status = '" & ComboBox1.Text & "', datastart = '" & dta & "', Orastart = '" & dTime & "', constatare = '" & TextConst.Text & "', operator = '" & TextUser.Text & "' where id ='" & rowIdval & "' ", con)
command.ExecuteNonQuery()
con.Close()
updateTable()
End Sub
End Class

View File

@@ -1,117 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<StartupObject>Sub Main</StartupObject>
<UseWindowsForms>true</UseWindowsForms>
<MyType>WindowsForms</MyType>
</PropertyGroup>
<ItemGroup>
<COMReference Include="Microsoft.Office.Core">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>8</VersionMinor>
<VersionMajor>2</VersionMajor>
<Guid>2df8d04c-5bfa-101b-bde5-00aa0044de52</Guid>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
<COMReference Include="Microsoft.Office.Interop.Excel">
<WrapperTool>tlbimp</WrapperTool>
<VersionMinor>9</VersionMinor>
<VersionMajor>1</VersionMajor>
<Guid>00020813-0000-0000-c000-000000000046</Guid>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup>
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Compile Update="Form10.vb" />
<Compile Update="Form18.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form17.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form16.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form2 - Copy.vb" />
<Compile Update="Form13.vb" />
<Compile Update="Form7.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form6.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="My Project\Application.Designer.vb">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Update="My Project\Resources.Designer.vb">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Update="My Project\Settings.Designer.vb">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Update="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Update="My Project\Settings.settings">
<CustomToolNamespace>My</CustomToolNamespace>
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="My Project\DataSources\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="ClosedXML" Version="0.100.3" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.1.0" />
<PackageReference Include="Microsoft.Office.Interop.Excel" Version="15.0.4795.1001" />
<PackageReference Include="Microsoft.Windows.Compatibility" Version="7.0.0" />
<PackageReference Include="Syncfusion.XlsIO.Net.Core" Version="20.4.0.44" />
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.117" />
<PackageReference Include="System.Runtime.InteropServices" Version="4.3.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="MessagingToolkit.Barcode">
<HintPath>..\..\report print\waredata.com_RECEIPT\MessagingToolkit.Barcode.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Office.Interop.Excel">
<HintPath>..\..\Microsoft.Office.Interop.Excel.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="My Project\Resources.resx">
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

View File

@@ -1,44 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Update="Form1.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form10.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form11.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form12.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form14.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form15.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form2.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form3.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form4.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form5.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form13.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form8.vb">
<SubType>Form</SubType>
</Compile>
<Compile Update="Form9.vb">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>

View File

@@ -1,29 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33213.308
MinimumVisualStudioVersion = 10.0.40219.1
Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "Management_Resurse_Companie", "Management_Resurse_Companie.vbproj", "{ACC1025E-F27D-47DA-8A60-0F0DC5E42C14}"
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Instal Management resurse Companie", "..\Quality scan\Quality scan.vdproj", "{4FC93D3C-AC39-4F1B-A8F8-B764FB6C7793}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{ACC1025E-F27D-47DA-8A60-0F0DC5E42C14}.Debug|Any CPU.ActiveCfg = Release|Any CPU
{ACC1025E-F27D-47DA-8A60-0F0DC5E42C14}.Debug|Any CPU.Build.0 = Release|Any CPU
{ACC1025E-F27D-47DA-8A60-0F0DC5E42C14}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ACC1025E-F27D-47DA-8A60-0F0DC5E42C14}.Release|Any CPU.Build.0 = Release|Any CPU
{4FC93D3C-AC39-4F1B-A8F8-B764FB6C7793}.Debug|Any CPU.ActiveCfg = Release
{4FC93D3C-AC39-4F1B-A8F8-B764FB6C7793}.Release|Any CPU.ActiveCfg = Release
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FA120826-0D16-428A-9C10-3402C8677093}
EndGlobalSection
EndGlobal

View File

@@ -1,274 +0,0 @@
<!DOCTYPE html>
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt"><head><meta content="en-us" http-equiv="Content-Language" /><meta content="text/html; charset=utf-16" http-equiv="Content-Type" /><title _locID="ConversionReport0">
Migration Report
</title><style>
/* Body style, for the entire document */
body
{
background: #F3F3F4;
color: #1E1E1F;
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
padding: 0;
margin: 0;
}
/* Header1 style, used for the main title */
h1
{
padding: 10px 0px 10px 10px;
font-size: 21pt;
background-color: #E2E2E2;
border-bottom: 1px #C1C1C2 solid;
color: #201F20;
margin: 0;
font-weight: normal;
}
/* Header2 style, used for "Overview" and other sections */
h2
{
font-size: 18pt;
font-weight: normal;
padding: 15px 0 5px 0;
margin: 0;
}
/* Header3 style, used for sub-sections, such as project name */
h3
{
font-weight: normal;
font-size: 15pt;
margin: 0;
padding: 15px 0 5px 0;
background-color: transparent;
}
/* Color all hyperlinks one color */
a
{
color: #1382CE;
}
/* Table styles */
table
{
border-spacing: 0 0;
border-collapse: collapse;
font-size: 10pt;
}
table th
{
background: #E7E7E8;
text-align: left;
text-decoration: none;
font-weight: normal;
padding: 3px 6px 3px 6px;
}
table td
{
vertical-align: top;
padding: 3px 6px 5px 5px;
margin: 0px;
border: 1px solid #E7E7E8;
background: #F7F7F8;
}
/* Local link is a style for hyperlinks that link to file:/// content, there are lots so color them as 'normal' text until the user mouse overs */
.localLink
{
color: #1E1E1F;
background: #EEEEED;
text-decoration: none;
}
.localLink:hover
{
color: #1382CE;
background: #FFFF99;
text-decoration: none;
}
/* Center text, used in the over views cells that contain message level counts */
.textCentered
{
text-align: center;
}
/* The message cells in message tables should take up all avaliable space */
.messageCell
{
width: 100%;
}
/* Padding around the content after the h1 */
#content
{
padding: 0px 12px 12px 12px;
}
/* The overview table expands to width, with a max width of 97% */
#overview table
{
width: auto;
max-width: 75%;
}
/* The messages tables are always 97% width */
#messages table
{
width: 97%;
}
/* All Icons */
.IconSuccessEncoded, .IconInfoEncoded, .IconWarningEncoded, .IconErrorEncoded
{
min-width:18px;
min-height:18px;
background-repeat:no-repeat;
background-position:center;
}
/* Success icon encoded */
.IconSuccessEncoded
{
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
/* [---XsltValidateInternal-Base64EncodedImage:IconSuccess#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABcElEQVR4Xq2TsUsCURzHv15g8ZJcBWlyiYYgCIWcb9DFRRwMW5TA2c0/QEFwFkxxUQdxVlBwCYWOi6IhWgQhBLHJUCkhLr/BW8S7gvrAg+N+v8/v+x68Z8MGy+XSCyABQAXgBgHGALoASkIIDWSLeLBetdHryMjd5IxQPWT4rn1c/P7+xxp72Cs9m5SZ0Bq2vPnbPFafK2zDvmNHypdC0BPkLlQhxJsCAhQoZwdZU5mwxh720qGo8MzTxTTKZDPCx2HoVzp6lz0Q9tKhyx0kGs8Ny+TkWRKk8lCROwEduhyg9l/6lunOPSfmH3NUH6uQ0KHLAe7JYvJjevm+DAMGJHToKtigE+vwvIidxLamb8IBY9e+C5LiXREkfho3TSd06HJA13/oh6T51MTsfQbHrsMynQ5dDihFjiK8JJAU9AKIWTp76dCVN7HWHrajmUEGvyF9nkbAE6gLIS7kTUyuf2gscLoJrElZo/Mvj+nPz/kLTmfnEwP3tB0AAAAASUVORK5CYII=);
}
/* Information icon encoded */
.IconInfoEncoded
{
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
/* [---XsltValidateInternal-Base64EncodedImage:IconInformation#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHElEQVR4Xs2TsUoDQRRF7wwoziokjZUKadInhdhukR9YP8DMX1hYW+QvdsXa/QHBbcXC7W0CamWTQnclFutceIQJwwaWNLlwm5k5d94M76mmaeCrrmsLYOocY12FcxZFUeozCqKqqgYA8uevv1H6VuPxcwlfk5N92KHBxfFeCSAxxswlYAW/Xr989x/mv9gkhtyMDhcAxgzRsp7flj8B/HF1RsMXq+NZMkopaHe7lbKxQUEIGbKsYNoGn969060hZBkQex/W8oRQwsQaW2o3Ago2SVcJUzAgY3N0lTCZZm+zPS8HB51gMmS1DEYyOz9acKO1D8JWTlafKIMxdhvlfdyT94Vv5h7P8Ky7nQzACmhvKq3zk3PjW9asz9D/1oigecsioooAAAAASUVORK5CYII=);
}
/* Warning icon encoded */
.IconWarningEncoded
{
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
/* [---XsltValidateInternal-Base64EncodedImage:IconWarning#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAx0lEQVR4XpWSMQ7CMAxFf4xAyBMLCxMrO8dhaBcuwdCJS3RJBw7SA/QGTCxdWJgiQYWKXJWKIXHIlyw5lqr34tQgEOdcBsCOx5yZK3hCCKdYXneQkh4pEfqzLfu+wVDSyyzFoJjfz9NB+pAF+eizx2Vruts0k15mPgvS6GYvpVtQhB61IB/dk6AF6fS4Ben0uIX5odtFe8Q/eW1KvFeH4e8khT6+gm5B+t3juyDt7n0jpe+CANTd+oTUjN/U3yVaABnSUjFz/gFq44JaVSCXeQAAAABJRU5ErkJggg==);
}
/* Error icon encoded */
.IconErrorEncoded
{
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
/* [---XsltValidateInternal-Base64EncodedImage:IconError#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQElEQVR4XqWTvUoEQRCE6wYPZUA80AfwAQz23uCMjA7MDRQEIzPBVEyNTQUFIw00vcQTTMzuAh/AxEQQT8HF/3G/oGGnEUGuoNnd6qoZuqltyKEsyzVJq5I6rnUp6SjGeGhESikzzlc1eL7opfuVbrqbU1Zw9NCgtQMaZpY0eNnaaL2fHusvTK5vKu7sjSS1Y4y3QUA6K3e3Mau5UFDyMP7tYF9o8cAHZv68vipoIJg971PZIZ5HiwdvYGGvFVFHmGmZ2MxwmQYPXubPl9Up0tfoMQGetXd6mRbvhBw+boZ6WF7Mbv1+GsHRk0fQmPAH1GfmZirbCfDJ61tw3Px8/8pZsPAG4jlVhcPgZ7adwNWBB68lkRQWFiTgFlbnLY3DGGM7izIJIyT/jjIvEJw6fdJTc6krDzh6aMwMP9bvDH4ADSsa9uSWVJkAAAAASUVORK5CYII=);
}
</style><script type="text/javascript" language="javascript">
// Startup
// Hook up the the loaded event for the document/window, to linkify the document content
var startupFunction = function() { linkifyElement("messages"); };
if(window.attachEvent)
{
window.attachEvent('onload', startupFunction);
}
else if (window.addEventListener)
{
window.addEventListener('load', startupFunction, false);
}
else
{
document.addEventListener('load', startupFunction, false);
}
// Toggles the visibility of table rows with the specified name
function toggleTableRowsByName(name)
{
var allRows = document.getElementsByTagName('tr');
for (i=0; i < allRows.length; i++)
{
var currentName = allRows[i].getAttribute('name');
if(!!currentName && currentName.indexOf(name) == 0)
{
var isVisible = allRows[i].style.display == '';
isVisible ? allRows[i].style.display = 'none' : allRows[i].style.display = '';
}
}
}
function scrollToFirstVisibleRow(name)
{
var allRows = document.getElementsByTagName('tr');
for (i=0; i < allRows.length; i++)
{
var currentName = allRows[i].getAttribute('name');
var isVisible = allRows[i].style.display == '';
if(!!currentName && currentName.indexOf(name) == 0 && isVisible)
{
allRows[i].scrollIntoView(true);
return true;
}
}
return false;
}
// Linkifies the specified text content, replaces candidate links with html links
function linkify(text)
{
if(!text || 0 === text.length)
{
return text;
}
// Find http, https and ftp links and replace them with hyper links
var urlLink = /(http|https|ftp)\:\/\/[a-zA-Z0-9\-\.]+(:[a-zA-Z0-9]*)?\/?([a-zA-Z0-9\-\._\?\,\/\\\+&%\$#\=~;\{\}])*/gi;
return text.replace(urlLink, '<a href="$&">$&</a>') ;
}
// Linkifies the specified element by ID
function linkifyElement(id)
{
var element = document.getElementById(id);
if(!!element)
{
element.innerHTML = linkify(element.innerHTML);
}
}
function ToggleMessageVisibility(projectName)
{
if(!projectName || 0 === projectName.length)
{
return;
}
toggleTableRowsByName("MessageRowClass" + projectName);
toggleTableRowsByName('MessageRowHeaderShow' + projectName);
toggleTableRowsByName('MessageRowHeaderHide' + projectName);
}
function ScrollToFirstVisibleMessage(projectName)
{
if(!projectName || 0 === projectName.length)
{
return;
}
// First try the 'Show messages' row
if(!scrollToFirstVisibleRow('MessageRowHeaderShow' + projectName))
{
// Failed to find a visible row for 'Show messages', try an actual message row
scrollToFirstVisibleRow('MessageRowClass' + projectName);
}
}
</script></head><body><h1 _locID="ConversionReport">
Migration Report - </h1><div id="content"><h2 _locID="OverviewTitle">Overview</h2><div id="overview"><table><tr><th></th><th _locID="ProjectTableHeader">Project</th><th _locID="PathTableHeader">Path</th><th _locID="ErrorsTableHeader">Errors</th><th _locID="WarningsTableHeader">Warnings</th><th _locID="MessagesTableHeader">Messages</th></tr><tr><td class="IconErrorEncoded" /><td><strong><a href="#Instal Excell">Instal Excell</a></strong></td><td>..\Instal Excell\Instal Excell.vdproj</td><td class="textCentered"><a href="#Instal ExcellError">1</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#">0</a></td></tr><tr><td class="IconSuccessEncoded" /><td><strong><a href="#Quality_Scan">Quality_Scan</a></strong></td><td>Quality_Scan.vbproj</td><td class="textCentered"><a>0</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#">0</a></td></tr><tr><td class="IconSuccessEncoded" /><td><strong><a href="#Solution"><span _locID="OverviewSolutionSpan">Solution</span></a></strong></td><td>Quality_Scan.sln</td><td class="textCentered"><a>0</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#" onclick="ScrollToFirstVisibleMessage('Solution'); return false;">1</a></td></tr></table></div><h2 _locID="SolutionAndProjectsTitle">Solution and projects</h2><div id="messages"><a name="Instal Excell" /><h3>Instal Excell</h3><table><tr id="Instal ExcellHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Message</th></tr><tr name="ErrorRowClassInstal Excell"><td class="IconErrorEncoded"><a name="Instal ExcellError" /></td><td class="messageCell"><strong>..\Instal Excell\Instal Excell.vdproj:
</strong><span>The application which this project type is based on was not found. Please try this link for further information: 54435603-dbb4-11d2-8724-00a0c9a8b90c</span></td></tr></table><a name="Quality_Scan" /><h3>Quality_Scan</h3><table><tr id="Quality_ScanHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Message</th></tr><tr><td class="IconInfoEncoded" /><td class="messageCell" _locID="NoMessagesRow">Quality_Scan logged no messages.
</td></tr></table><a name="Solution" /><h3 _locID="ProjectDisplayNameHeader">Solution</h3><table><tr id="SolutionHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">Message</th></tr><tr name="MessageRowHeaderShowSolution"><td class="IconInfoEncoded" /><td class="messageCell"><a _locID="ShowAdditionalMessages" href="#" name="SolutionMessage" onclick="ToggleMessageVisibility('Solution'); return false;">
Show 1 additional messages
</a></td></tr><tr name="MessageRowClassSolution" style="display: none"><td class="IconInfoEncoded"><a name="SolutionMessage" /></td><td class="messageCell"><strong>Quality_Scan.sln:
</strong><span>The solution file does not require migration.</span></td></tr><tr style="display: none" name="MessageRowHeaderHideSolution"><td class="IconInfoEncoded" /><td class="messageCell"><a _locID="HideAdditionalMessages" href="#" name="SolutionMessage" onclick="ToggleMessageVisibility('Solution'); return false;">
Hide 1 additional messages
</a></td></tr></table></div></div></body></html>

View File

@@ -10,5 +10,113 @@
"size": 305632, "size": 305632,
"timestamp": "2025-11-06T03:00:00.179220", "timestamp": "2025-11-06T03:00:00.179220",
"database": "trasabilitate" "database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251107_030000.sql",
"size": 325353,
"timestamp": "2025-11-07T03:00:00.178234",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251108_030000.sql",
"size": 346471,
"timestamp": "2025-11-08T03:00:00.175266",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251109_030000.sql",
"size": 364071,
"timestamp": "2025-11-09T03:00:00.175309",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251110_030000.sql",
"size": 364071,
"timestamp": "2025-11-10T03:00:00.174557",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251111_030000.sql",
"size": 392102,
"timestamp": "2025-11-11T03:00:00.175496",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251112_030000.sql",
"size": 417468,
"timestamp": "2025-11-12T03:00:00.177699",
"database": "trasabilitate"
},
{
"filename": "data_only_trasabilitate_20251113_002851.sql",
"size": 435126,
"timestamp": "2025-11-13T00:28:51.949113",
"database": "trasabilitate"
},
{
"filename": "backup_trasabilitate_20251113_004522.sql",
"size": 455459,
"timestamp": "2025-11-13T00:45:22.992984",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251113_030000.sql",
"size": 435126,
"timestamp": "2025-11-13T03:00:00.187954",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251114_030000.sql",
"size": 458259,
"timestamp": "2025-11-14T03:00:00.179754",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251115_030000.sql",
"size": 484020,
"timestamp": "2025-11-15T03:00:00.181883",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251116_030000.sql",
"size": 494281,
"timestamp": "2025-11-16T03:00:00.179753",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251117_030000.sql",
"size": 494281,
"timestamp": "2025-11-17T03:00:00.181115",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251118_030000.sql",
"size": 536395,
"timestamp": "2025-11-18T03:00:00.183002",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251119_030000.sql",
"size": 539493,
"timestamp": "2025-11-19T03:00:00.182323",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251120_030000.sql",
"size": 539493,
"timestamp": "2025-11-20T03:00:00.182801",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251121_030000.sql",
"size": 539493,
"timestamp": "2025-11-21T03:00:00.183179",
"database": "trasabilitate"
},
{
"filename": "data_only_scheduled_20251122_030000.sql",
"size": 539493,
"timestamp": "2025-11-22T03:00:00.182628",
"database": "trasabilitate"
} }
] ]

View File

@@ -1,8 +1,8 @@
version: '3.8' #version: '3.8'
# ============================================================================ # ============================================================================
# Recticel Quality Application - Docker Compose Configuration # Recticel Quality Application - Docker Compose Configuration
# Simplified configuration - most settings are in .env file # Production-ready with mapped volumes for code, data, and backups
# ============================================================================ # ============================================================================
services: services:
@@ -26,8 +26,12 @@ services:
- "${DB_PORT}:3306" - "${DB_PORT}:3306"
volumes: volumes:
# Database data persistence - CRITICAL: Do not delete this volume
- ${DB_DATA_PATH}:/var/lib/mysql - ${DB_DATA_PATH}:/var/lib/mysql
# Database initialization script
- ./init-db.sql:/docker-entrypoint-initdb.d/01-init.sql:ro - ./init-db.sql:/docker-entrypoint-initdb.d/01-init.sql:ro
# Backup folder mapped for easy database dumps
- ${BACKUP_PATH}:/backups
networks: networks:
- quality-app-network - quality-app-network
@@ -116,9 +120,16 @@ services:
- "${APP_PORT}:8781" - "${APP_PORT}:8781"
volumes: volumes:
# Application code - mapped for easy updates without rebuilding
- ${APP_CODE_PATH}:/app
# Application logs - persistent across container restarts
- ${LOGS_PATH}:/srv/quality_app/logs - ${LOGS_PATH}:/srv/quality_app/logs
# Instance configuration files (database config)
- ${INSTANCE_PATH}:/app/instance - ${INSTANCE_PATH}:/app/instance
# Backup storage - shared with database container
- ${BACKUP_PATH}:/srv/quality_app/backups - ${BACKUP_PATH}:/srv/quality_app/backups
# Host /data folder for direct access (includes /data/backups)
- /data:/data
networks: networks:
- quality-app-network - quality-app-network
@@ -159,13 +170,39 @@ networks:
# ============================================================================ # ============================================================================
# USAGE NOTES # USAGE NOTES
# ============================================================================ # ============================================================================
# 1. Copy .env.example to .env and customize all values # VOLUME STRUCTURE:
# 2. Set INIT_DB=true and SEED_DB=true for first deployment only # ./data/mariadb/ - Database files (MariaDB data directory)
# 3. Change default passwords and SECRET_KEY in production # ./config/instance/ - Application configuration (external_server.conf)
# 4. Ensure all volume paths exist with proper permissions: # ./logs/ - Application logs
# mkdir -p /srv/quality_app/{mariadb,logs,backups} # ./backups/ - Database backups
# 5. Start: docker-compose up -d # ./py_app/ - (Optional) Application code for development
# 6. Stop: docker-compose down #
# 7. Logs: docker-compose logs -f web # FIRST TIME SETUP:
# 8. Rebuild: docker-compose up -d --build # 1. Create directory structure:
# mkdir -p data/mariadb config/instance logs backups
# 2. Copy .env.example to .env and customize all values
# 3. Set INIT_DB=true and SEED_DB=true in .env for first deployment
# 4. Change default passwords and SECRET_KEY in .env (CRITICAL!)
# 5. Build and start: docker-compose up -d --build
#
# SUBSEQUENT DEPLOYMENTS:
# 1. Set INIT_DB=false and SEED_DB=false in .env
# 2. Start: docker-compose up -d
#
# COMMANDS:
# - Build and start: docker-compose up -d --build
# - Stop: docker-compose down
# - Stop & remove data: docker-compose down -v (WARNING: deletes database!)
# - View logs: docker-compose logs -f web
# - Database logs: docker-compose logs -f db
# - Restart: docker-compose restart
# - Rebuild image: docker-compose build --no-cache web
#
# BACKUP:
# - Manual backup: docker-compose exec db mysqldump -u trasabilitate -p trasabilitate > backups/manual_backup.sql
# - Restore: docker-compose exec -T db mysql -u trasabilitate -p trasabilitate < backups/backup.sql
#
# DATABASE ACCESS:
# - MySQL client: docker-compose exec db mysql -u trasabilitate -p trasabilitate
# - From host: mysql -h 127.0.0.1 -P 3306 -u trasabilitate -p
# ============================================================================ # ============================================================================

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,152 +0,0 @@
# CSS Modular Structure Guide
## Overview
This guide explains how to migrate from a monolithic CSS file to a modular CSS structure for better maintainability and organization.
## New CSS Structure
```
app/static/css/
├── base.css # Global styles, header, buttons, theme
├── login.css # Login page specific styles
├── dashboard.css # Dashboard and module cards
├── warehouse.css # Warehouse module styles
├── etichete.css # Labels/etiquette module styles (to be created)
├── quality.css # Quality module styles (to be created)
└── scan.css # Scan module styles (to be created)
```
## Implementation Strategy
### Phase 1: Setup Modular Structure ✅
- [x] Created `css/` directory
- [x] Created `base.css` with global styles
- [x] Created `login.css` for login page
- [x] Created `warehouse.css` for warehouse module
- [x] Updated `base.html` to include modular CSS
- [x] Updated `login.html` to use new structure
### Phase 2: Migration Plan (Next Steps)
1. **Extract module-specific styles from style.css:**
- Etiquette/Labels module → `etichete.css`
- Quality module → `quality.css`
- Scan module → `scan.css`
2. **Update templates to use modular CSS:**
```html
{% block head %}
<link rel="stylesheet" href="{{ url_for('static', filename='css/module-name.css') }}">
{% endblock %}
```
3. **Clean up original style.css:**
- Remove extracted styles
- Keep only legacy/common styles temporarily
- Eventually eliminate when all modules migrated
## Template Usage Pattern
### Standard Template Structure:
```html
{% extends "base.html" %}
{% block title %}Page Title{% endblock %}
{% block head %}
<!-- Include module-specific CSS -->
<link rel="stylesheet" href="{{ url_for('static', filename='css/module-name.css') }}">
<!-- Page-specific overrides -->
<style>
/* Only use this for page-specific customizations */
</style>
{% endblock %}
{% block content %}
<!-- Page content -->
{% endblock %}
```
## CSS Loading Order
1. `base.css` - Global styles, header, buttons, theme
2. `style.css` - Legacy styles (temporary, for backward compatibility)
3. Module-specific CSS (e.g., `warehouse.css`)
4. Inline `<style>` blocks for page-specific overrides
## Benefits of This Structure
### 1. **Maintainability**
- Easy to find and edit module-specific styles
- Reduced conflicts between different modules
- Clear separation of concerns
### 2. **Performance**
- Only load CSS needed for specific pages
- Smaller file sizes per page
- Better caching (module CSS rarely changes)
### 3. **Team Development**
- Different developers can work on different modules
- Less merge conflicts in CSS files
- Clear ownership of styles
### 4. **Scalability**
- Easy to add new modules
- Simple to deprecate old styles
- Clear migration path
## Migration Checklist
### For Each Template:
- [ ] Identify module/page type
- [ ] Extract relevant styles to module CSS file
- [ ] Update template to include module CSS
- [ ] Test styling works correctly
- [ ] Remove old styles from style.css
### Current Status:
- [x] Login page - Fully migrated
- [x] Warehouse module - Partially migrated (create_locations.html updated)
- [ ] Dashboard - CSS created, templates need updating
- [ ] Etiquette module - Needs CSS extraction
- [ ] Quality module - Needs CSS extraction
- [ ] Scan module - Needs CSS extraction
## Example: Migrating a Template
### Before:
```html
{% block head %}
<style>
.my-module-specific-class {
/* styles here */
}
</style>
{% endblock %}
```
### After:
1. Move styles to `css/module-name.css`
2. Update template:
```html
{% block head %}
<link rel="stylesheet" href="{{ url_for('static', filename='css/module-name.css') }}">
{% endblock %}
```
## Best Practices
1. **Use semantic naming:** `warehouse.css`, `login.css`, not `page1.css`
2. **Keep base.css minimal:** Only truly global styles
3. **Avoid deep nesting:** Keep CSS selectors simple
4. **Use consistent naming:** Follow existing patterns
5. **Document changes:** Update this guide when adding new modules
## Next Steps
1. Extract etiquette module styles to `etichete.css`
2. Update all etiquette templates to use new CSS
3. Extract quality module styles to `quality.css`
4. Extract scan module styles to `scan.css`
5. Gradually remove migrated styles from `style.css`
6. Eventually remove `style.css` dependency from `base.html`

View File

@@ -1,133 +0,0 @@
# Quick Database Setup for Trasabilitate Application
This script provides a complete one-step database setup for quick deployment of the Trasabilitate application.
## Prerequisites
Before running the setup script, ensure:
1. **MariaDB is installed and running**
2. **Database and user are created**:
```sql
CREATE DATABASE trasabilitate;
CREATE USER 'trasabilitate'@'localhost' IDENTIFIED BY 'Initial01!';
GRANT ALL PRIVILEGES ON trasabilitate.* TO 'trasabilitate'@'localhost';
FLUSH PRIVILEGES;
```
3. **Python virtual environment is activated**:
```bash
source ../recticel/bin/activate
```
4. **Python dependencies are installed**:
```bash
pip install -r requirements.txt
```
## Usage
### Quick Setup (Recommended)
```bash
cd /srv/quality_recticel/py_app
source ../recticel/bin/activate
python3 app/db_create_scripts/setup_complete_database.py
```
### What the script creates:
#### MariaDB Tables:
- `scan1_orders` - Quality scanning data for process 1
- `scanfg_orders` - Quality scanning data for finished goods
- `order_for_labels` - Label printing orders
- `warehouse_locations` - Warehouse location management
- `permissions` - System permissions
- `role_permissions` - Role-permission mappings
- `role_hierarchy` - User role hierarchy
- `permission_audit_log` - Permission change audit trail
#### Database Triggers:
- Auto-increment approved/rejected quantities based on quality codes
- Triggers for both scan1_orders and scanfg_orders tables
#### SQLite Tables:
- `users` - User authentication (in instance/users.db)
- `roles` - User roles (in instance/users.db)
#### Configuration:
- Updates `instance/external_server.conf` with correct database settings
- Creates default superadmin user (username: `superadmin`, password: `superadmin123`)
#### Permission System:
- 7 user roles (superadmin, admin, manager, quality_manager, warehouse_manager, quality_worker, warehouse_worker)
- 25+ granular permissions for different application areas
- Complete role hierarchy with inheritance
## After Setup
1. **Start the application**:
```bash
python3 run.py
```
2. **Access the application**:
- Local: http://127.0.0.1:8781
- Network: http://192.168.0.205:8781
3. **Login with superadmin**:
- Username: `superadmin`
- Password: `superadmin123`
## Troubleshooting
### Common Issues:
1. **Database connection failed**:
- Check if MariaDB is running: `sudo systemctl status mariadb`
- Verify database exists: `sudo mysql -e "SHOW DATABASES;"`
- Check user privileges: `sudo mysql -e "SHOW GRANTS FOR 'trasabilitate'@'localhost';"`
2. **Import errors**:
- Ensure virtual environment is activated
- Install missing dependencies: `pip install -r requirements.txt`
3. **Permission denied**:
- Make script executable: `chmod +x app/db_create_scripts/setup_complete_database.py`
- Check file ownership: `ls -la app/db_create_scripts/`
### Manual Database Recreation:
If you need to completely reset the database:
```bash
# Drop and recreate database
sudo mysql -e "DROP DATABASE IF EXISTS trasabilitate; CREATE DATABASE trasabilitate; GRANT ALL PRIVILEGES ON trasabilitate.* TO 'trasabilitate'@'localhost'; FLUSH PRIVILEGES;"
# Remove SQLite database
rm -f instance/users.db
# Run setup script
python3 app/db_create_scripts/setup_complete_database.py
```
## Script Features
- ✅ **Comprehensive**: Creates all necessary database structure
- ✅ **Safe**: Uses `IF NOT EXISTS` clauses to prevent conflicts
- ✅ **Verified**: Includes verification step to confirm setup
- ✅ **Informative**: Detailed output showing each step
- ✅ **Error handling**: Clear error messages and troubleshooting hints
- ✅ **Idempotent**: Can be run multiple times safely
## Development Notes
The script combines functionality from these individual scripts:
- `create_scan_1db.py`
- `create_scanfg_orders.py`
- `create_order_for_labels_table.py`
- `create_warehouse_locations_table.py`
- `create_permissions_tables.py`
- `create_roles_table.py`
- `create_triggers.py`
- `create_triggers_fg.py`
- `populate_permissions.py`
For development or debugging, you can still run individual scripts if needed.

View File

@@ -1,319 +0,0 @@
# Recticel Quality Application - Docker Deployment Guide
## 📋 Overview
This is a complete Docker-based deployment solution for the Recticel Quality Application. It includes:
- **Flask Web Application** (Python 3.10)
- **MariaDB 11.3 Database** with automatic initialization
- **Gunicorn WSGI Server** for production-ready performance
- **Automatic database schema setup** using existing setup scripts
- **Superadmin user seeding** for immediate access
## 🚀 Quick Start
### Prerequisites
- Docker Engine 20.10+
- Docker Compose 2.0+
- At least 2GB free disk space
- Ports 8781 and 3306 available (or customize in .env)
### 1. Clone and Prepare
```bash
cd /srv/quality_recticel
```
### 2. Configure Environment (Optional)
Create a `.env` file from the example:
```bash
cp .env.example .env
```
Edit `.env` to customize settings:
```env
MYSQL_ROOT_PASSWORD=your_secure_root_password
DB_PORT=3306
APP_PORT=8781
INIT_DB=true
SEED_DB=true
```
### 3. Build and Deploy
Start all services:
```bash
docker-compose up -d --build
```
This will:
1. ✅ Build the Flask application Docker image
2. ✅ Pull MariaDB 11.3 image
3. ✅ Create and initialize the database
4. ✅ Run all database schema creation scripts
5. ✅ Seed the superadmin user
6. ✅ Start the web application on port 8781
### 4. Verify Deployment
Check service status:
```bash
docker-compose ps
```
View logs:
```bash
# All services
docker-compose logs -f
# Just the web app
docker-compose logs -f web
# Just the database
docker-compose logs -f db
```
### 5. Access the Application
Open your browser and navigate to:
```
http://localhost:8781
```
**Default Login:**
- Username: `superadmin`
- Password: `superadmin123`
## 🔧 Management Commands
### Start Services
```bash
docker-compose up -d
```
### Stop Services
```bash
docker-compose down
```
### Stop and Remove All Data (including database)
```bash
docker-compose down -v
```
### Restart Services
```bash
docker-compose restart
```
### View Real-time Logs
```bash
docker-compose logs -f
```
### Rebuild After Code Changes
```bash
docker-compose up -d --build
```
### Access Database Console
```bash
docker-compose exec db mariadb -u trasabilitate -p trasabilitate
# Password: Initial01!
```
### Execute Commands in App Container
```bash
docker-compose exec web bash
```
## 📁 Data Persistence
The following data is persisted across container restarts:
- **Database Data:** Stored in Docker volume `mariadb_data`
- **Application Logs:** Mapped to `./logs` directory
- **Instance Config:** Mapped to `./instance` directory
## 🔐 Security Considerations
### Production Deployment Checklist:
1. **Change Default Passwords:**
- Update `MYSQL_ROOT_PASSWORD` in `.env`
- Update database password in `docker-compose.yml`
- Change superadmin password after first login
2. **Use Environment Variables:**
- Never commit `.env` file to version control
- Use secrets management for production
3. **Network Security:**
- If database access from host is not needed, remove the port mapping:
```yaml
# Comment out in docker-compose.yml:
# ports:
# - "3306:3306"
```
4. **SSL/TLS:**
- Configure reverse proxy (nginx/traefik) for HTTPS
- Update gunicorn SSL configuration if needed
5. **Firewall:**
- Only expose necessary ports
- Use firewall rules to restrict access
## 🐛 Troubleshooting
### Database Connection Issues
If the app can't connect to the database:
```bash
# Check database health
docker-compose exec db healthcheck.sh --connect
# Check database logs
docker-compose logs db
# Verify database is accessible
docker-compose exec db mariadb -u trasabilitate -p -e "SHOW DATABASES;"
```
### Application Not Starting
```bash
# Check application logs
docker-compose logs web
# Verify database initialization
docker-compose exec web python3 -c "import mariadb; print('MariaDB module OK')"
# Restart with fresh initialization
docker-compose down
docker-compose up -d
```
### Port Already in Use
If port 8781 or 3306 is already in use, edit `.env`:
```env
APP_PORT=8782
DB_PORT=3307
```
Then restart:
```bash
docker-compose down
docker-compose up -d
```
### Reset Everything
To start completely fresh:
```bash
# Stop and remove all containers, networks, and volumes
docker-compose down -v
# Remove any local data
rm -rf logs/* instance/external_server.conf
# Start fresh
docker-compose up -d --build
```
## 🔄 Updating the Application
### Update Application Code
1. Make your code changes
2. Rebuild and restart:
```bash
docker-compose up -d --build web
```
### Update Database Schema
If you need to run migrations or schema updates:
```bash
docker-compose exec web python3 /app/app/db_create_scripts/setup_complete_database.py
```
## 📊 Monitoring
### Health Checks
Both services have health checks configured:
```bash
# Check overall status
docker-compose ps
# Detailed health status
docker inspect recticel-app | grep -A 10 Health
docker inspect recticel-db | grep -A 10 Health
```
### Resource Usage
```bash
# View resource consumption
docker stats recticel-app recticel-db
```
## 🏗️ Architecture
```
┌─────────────────────────────────────┐
│ Docker Compose Network │
│ │
│ ┌──────────────┐ ┌─────────────┐ │
│ │ MariaDB │ │ Flask App │ │
│ │ Container │◄─┤ Container │ │
│ │ │ │ │ │
│ │ Port: 3306 │ │ Port: 8781 │ │
│ └──────┬───────┘ └──────┬──────┘ │
│ │ │ │
└─────────┼─────────────────┼─────────┘
│ │
▼ ▼
[Volume: [Logs &
mariadb_data] Instance]
```
## 📝 Environment Variables
### Database Configuration
- `MYSQL_ROOT_PASSWORD`: MariaDB root password
- `DB_HOST`: Database hostname (default: `db`)
- `DB_PORT`: Database port (default: `3306`)
- `DB_NAME`: Database name (default: `trasabilitate`)
- `DB_USER`: Database user (default: `trasabilitate`)
- `DB_PASSWORD`: Database password (default: `Initial01!`)
### Application Configuration
- `FLASK_ENV`: Flask environment (default: `production`)
- `FLASK_APP`: Flask app entry point (default: `run.py`)
- `APP_PORT`: Application port (default: `8781`)
### Initialization Flags
- `INIT_DB`: Run database initialization (default: `true`)
- `SEED_DB`: Seed superadmin user (default: `true`)
## 🆘 Support
For issues or questions:
1. Check the logs: `docker-compose logs -f`
2. Verify environment configuration
3. Ensure all prerequisites are met
4. Review this documentation
## 📄 License
[Your License Here]

View File

@@ -1,346 +0,0 @@
# Recticel Quality Application - Docker Solution Summary
## 📦 What Has Been Created
A complete, production-ready Docker deployment solution for your Recticel Quality Application with the following components:
### Core Files Created
1. **`Dockerfile`** - Multi-stage Flask application container
- Based on Python 3.10-slim
- Installs all dependencies from requirements.txt
- Configures Gunicorn WSGI server
- Exposes port 8781
2. **`docker-compose.yml`** - Complete orchestration configuration
- MariaDB 11.3 database service
- Flask web application service
- Automatic networking between services
- Health checks for both services
- Volume persistence for database and logs
3. **`docker-entrypoint.sh`** - Smart initialization script
- Waits for database to be ready
- Creates database configuration file
- Runs database schema initialization
- Seeds superadmin user
- Starts the application
4. **`init-db.sql`** - MariaDB initialization
- Creates database and user
- Sets up permissions automatically
5. **`.env.example`** - Configuration template
- Database passwords
- Port configurations
- Initialization flags
6. **`.dockerignore`** - Build optimization
- Excludes unnecessary files from Docker image
- Reduces image size
7. **`deploy.sh`** - One-command deployment script
- Checks prerequisites
- Creates configuration
- Builds and starts services
- Shows deployment status
8. **`Makefile`** - Convenient management commands
- `make install` - First-time installation
- `make up` - Start services
- `make down` - Stop services
- `make logs` - View logs
- `make shell` - Access container
- `make backup-db` - Backup database
- And many more...
9. **`DOCKER_DEPLOYMENT.md`** - Complete documentation
- Quick start guide
- Management commands
- Troubleshooting
- Security considerations
- Architecture diagrams
### Enhanced Files
10. **`setup_complete_database.py`** - Updated to support Docker
- Now reads from environment variables
- Fallback to config file for non-Docker deployments
- Maintains backward compatibility
## 🎯 Key Features
### 1. Single-Command Deployment
```bash
./deploy.sh
```
This single command will:
- ✅ Build Docker images
- ✅ Create MariaDB database
- ✅ Initialize all database tables and triggers
- ✅ Seed superadmin user
- ✅ Start the application
### 2. Complete Isolation
- Application runs in its own container
- Database runs in its own container
- No system dependencies needed except Docker
- No Python/MariaDB installation on host required
### 3. Data Persistence
- Database data persists across restarts (Docker volume)
- Application logs accessible on host
- Configuration preserved
### 4. Production Ready
- Gunicorn WSGI server (not Flask dev server)
- Health checks for monitoring
- Automatic restart on failure
- Proper logging configuration
- Resource isolation
### 5. Easy Management
```bash
# Start
docker compose up -d
# Stop
docker compose down
# View logs
docker compose logs -f
# Backup database
make backup-db
# Restore database
make restore-db BACKUP=backup_20231215.sql
# Access shell
make shell
# Complete reset
make reset
```
## 🚀 Deployment Options
### Option 1: Quick Deploy (Recommended for Testing)
```bash
cd /srv/quality_recticel
./deploy.sh
```
### Option 2: Using Makefile (Recommended for Management)
```bash
cd /srv/quality_recticel
make install # First time only
make up # Start services
make logs # Monitor
```
### Option 3: Using Docker Compose Directly
```bash
cd /srv/quality_recticel
cp .env.example .env
docker compose up -d --build
```
## 📋 Prerequisites
The deployment **requires** Docker to be installed on the target system:
### Installing Docker on Ubuntu/Debian:
```bash
# Update package index
sudo apt-get update
# Install dependencies
sudo apt-get install -y ca-certificates curl gnupg
# Add Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Set up the repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker Engine
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Add current user to docker group (optional, to run without sudo)
sudo usermod -aG docker $USER
```
After installation, log out and back in for group changes to take effect.
### Installing Docker on CentOS/RHEL:
```bash
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER
```
## 🏗️ Architecture
```
┌──────────────────────────────────────────────────────┐
│ Docker Compose Stack │
│ │
│ ┌────────────────────┐ ┌───────────────────┐ │
│ │ MariaDB 11.3 │ │ Flask App │ │
│ │ Container │◄─────┤ Container │ │
│ │ │ │ │ │
│ │ - Port: 3306 │ │ - Port: 8781 │ │
│ │ - Volume: DB Data │ │ - Gunicorn WSGI │ │
│ │ - Auto Init │ │ - Python 3.10 │ │
│ │ - Health Checks │ │ - Health Checks │ │
│ └──────────┬─────────┘ └─────────┬─────────┘ │
│ │ │ │
└─────────────┼──────────────────────────┼─────────────┘
│ │
▼ ▼
[mariadb_data] [logs directory]
Docker Volume Host filesystem
```
## 🔐 Security Features
1. **Database Isolation**: Database not exposed to host by default (can be configured)
2. **Password Management**: All passwords in `.env` file (not committed to git)
3. **User Permissions**: Proper MariaDB user with limited privileges
4. **Network Isolation**: Services communicate on private Docker network
5. **Production Mode**: Flask runs in production mode with Gunicorn
## 📊 What Gets Deployed
### Database Schema
All tables from `setup_complete_database.py`:
- `scan1_orders` - First scan orders
- `scanfg_orders` - Final goods scan orders
- `order_for_labels` - Label orders
- `warehouse_locations` - Warehouse locations
- `permissions` - Permission system
- `role_permissions` - Role-based access
- `role_hierarchy` - Role hierarchy
- `permission_audit_log` - Audit logging
- Plus SQLAlchemy tables: `users`, `roles`
### Initial Data
- Superadmin user: `superadmin` / `superadmin123`
### Application Features
- Complete Flask web application
- Gunicorn WSGI server (4-8 workers depending on CPU)
- Static file serving
- Session management
- Database connection pooling
## 🔄 Migration from Existing Deployment
If you have an existing non-Docker deployment:
### 1. Backup Current Data
```bash
# Backup database
mysqldump -u trasabilitate -p trasabilitate > backup.sql
# Backup any uploaded files or custom data
cp -r py_app/instance backup_instance/
```
### 2. Deploy Docker Solution
```bash
cd /srv/quality_recticel
./deploy.sh
```
### 3. Restore Data (if needed)
```bash
# Restore database
docker compose exec -T db mariadb -u trasabilitate -pInitial01! trasabilitate < backup.sql
```
### 4. Stop Old Service
```bash
# Stop systemd service
sudo systemctl stop trasabilitate
sudo systemctl disable trasabilitate
```
## 🎓 Learning Resources
- Docker Compose docs: https://docs.docker.com/compose/
- Gunicorn configuration: https://docs.gunicorn.org/
- MariaDB Docker: https://hub.docker.com/_/mariadb
## ✅ Testing Checklist
After deployment, verify:
- [ ] Services are running: `docker compose ps`
- [ ] App is accessible: http://localhost:8781
- [ ] Can log in with superadmin
- [ ] Database contains tables: `make shell-db` then `SHOW TABLES;`
- [ ] Logs are being written: `ls -la logs/`
- [ ] Can restart services: `docker compose restart`
- [ ] Data persists after restart
## 🆘 Support Commands
```bash
# View all services
docker compose ps
# View logs
docker compose logs -f
# Restart a specific service
docker compose restart web
# Access web container shell
docker compose exec web bash
# Access database
docker compose exec db mariadb -u trasabilitate -p
# Check resource usage
docker stats
# Remove everything and start fresh
docker compose down -v
./deploy.sh
```
## 📝 Next Steps
1. **Install Docker** on the target server (if not already installed)
2. **Review and customize** `.env` file after copying from `.env.example`
3. **Run deployment**: `./deploy.sh`
4. **Change default passwords** after first login
5. **Set up reverse proxy** (nginx/traefik) for HTTPS if needed
6. **Configure backups** using `make backup-db`
7. **Monitor logs** regularly with `make logs`
## 🎉 Benefits of This Solution
1. **Portable**: Works on any system with Docker
2. **Reproducible**: Same deployment every time
3. **Isolated**: No conflicts with system packages
4. **Easy Updates**: Just rebuild and restart
5. **Scalable**: Can easily add more services
6. **Professional**: Production-ready configuration
7. **Documented**: Complete documentation included
8. **Maintainable**: Simple management commands
---
**Your Flask application is now ready for modern, containerized deployment! 🚀**

View File

@@ -1,280 +0,0 @@
# ✅ Docker Solution - Files Created
## 📦 Complete Docker Deployment Package
Your Flask application has been packaged into a complete Docker solution. Here's everything that was created:
### Core Docker Files
```
/srv/quality_recticel/
├── Dockerfile # Flask app container definition
├── docker-compose.yml # Multi-container orchestration
├── docker-entrypoint.sh # Container initialization script
├── init-db.sql # MariaDB initialization
├── .dockerignore # Build optimization
└── .env.example # Configuration template
```
### Deployment & Management
```
├── deploy.sh # One-command deployment script
├── Makefile # Management commands (make up, make down, etc.)
├── README-DOCKER.md # Quick start guide
├── DOCKER_DEPLOYMENT.md # Complete deployment documentation
└── DOCKER_SOLUTION_SUMMARY.md # This comprehensive summary
```
### Modified Files
```
py_app/app/db_create_scripts/
└── setup_complete_database.py # Updated to support Docker env vars
```
## 🎯 What This Deployment Includes
### Services
1. **Flask Web Application**
- Python 3.10
- Gunicorn WSGI server (production-ready)
- Auto-generated database configuration
- Health checks
- Automatic restart on failure
2. **MariaDB 11.3 Database**
- Automatic initialization
- User and database creation
- Data persistence (Docker volume)
- Health checks
### Features
- ✅ Single-command deployment
- ✅ Automatic database schema setup
- ✅ Superadmin user seeding
- ✅ Data persistence across restarts
- ✅ Container health monitoring
- ✅ Log collection and management
- ✅ Production-ready configuration
- ✅ Easy backup and restore
- ✅ Complete isolation from host system
## 🚀 How to Deploy
### Prerequisites
**Install Docker first:**
```bash
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# Log out and back in
```
### Deploy
```bash
cd /srv/quality_recticel
./deploy.sh
```
That's it! Your application will be available at http://localhost:8781
## 📋 Usage Examples
### Basic Operations
```bash
# Start services
docker compose up -d
# View logs
docker compose logs -f
# Stop services
docker compose down
# Restart
docker compose restart
# Check status
docker compose ps
```
### Using Makefile (Recommended)
```bash
make install # First-time setup
make up # Start services
make down # Stop services
make logs # View logs
make logs-web # View only web logs
make logs-db # View only database logs
make shell # Access app container
make shell-db # Access database console
make backup-db # Backup database
make status # Show service status
make help # Show all commands
```
### Advanced Operations
```bash
# Rebuild after code changes
docker compose up -d --build web
# Access application shell
docker compose exec web bash
# Run database commands
docker compose exec db mariadb -u trasabilitate -p trasabilitate
# View resource usage
docker stats recticel-app recticel-db
# Complete reset (removes all data!)
docker compose down -v
```
## 🗂️ Data Storage
### Persistent Data
- **Database**: Stored in Docker volume `mariadb_data`
- **Logs**: Mounted to `./logs` directory
- **Config**: Mounted to `./instance` directory
### Backup Database
```bash
docker compose exec -T db mariadb-dump -u trasabilitate -pInitial01! trasabilitate > backup.sql
```
### Restore Database
```bash
docker compose exec -T db mariadb -u trasabilitate -pInitial01! trasabilitate < backup.sql
```
## 🔐 Default Credentials
### Application
- URL: http://localhost:8781
- Username: `superadmin`
- Password: `superadmin123`
- **⚠️ Change after first login!**
### Database
- Host: `localhost:3306` (from host) or `db:3306` (from containers)
- Database: `trasabilitate`
- User: `trasabilitate`
- Password: `Initial01!`
- Root Password: Set in `.env` file
## 📊 Service Architecture
```
┌─────────────────────────────────────────────────────┐
│ recticel-network (Docker) │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ recticel-db │ │ recticel-app │ │
│ │ (MariaDB 11.3) │◄───────┤ (Flask/Python) │ │
│ │ │ │ │ │
│ │ - Internal DB │ │ - Gunicorn │ │
│ │ - Health Check │ │ - Health Check │ │
│ │ - Auto Init │ │ - Auto Config │ │
│ └────────┬────────┘ └────────┬────────┘ │
│ │ │ │
│ │ 3306 (optional) 8781 │ │
└────────────┼──────────────────────────┼────────────┘
│ │
▼ ▼
[mariadb_data] [Host: 8781]
Docker Volume Application Access
```
## 🎓 Quick Reference
### Environment Variables (.env)
```env
MYSQL_ROOT_PASSWORD=rootpassword # MariaDB root password
DB_PORT=3306 # Database port (external)
APP_PORT=8781 # Application port
INIT_DB=true # Run DB initialization
SEED_DB=true # Seed superadmin user
```
### Important Ports
- `8781`: Flask application (web interface)
- `3306`: MariaDB database (optional external access)
### Log Locations
- Application logs: `./logs/access.log` and `./logs/error.log`
- Container logs: `docker compose logs`
## 🔧 Troubleshooting
### Can't connect to application
```bash
# Check if services are running
docker compose ps
# Check web logs
docker compose logs web
# Verify port not in use
netstat -tuln | grep 8781
```
### Database connection issues
```bash
# Check database health
docker compose exec db healthcheck.sh --connect
# View database logs
docker compose logs db
# Test database connection
docker compose exec web python3 -c "import mariadb; print('OK')"
```
### Port already in use
Edit `.env` file:
```env
APP_PORT=8782 # Change to available port
DB_PORT=3307 # Change if needed
```
### Start completely fresh
```bash
docker compose down -v
rm -rf logs/* instance/external_server.conf
./deploy.sh
```
## 📖 Documentation Files
1. **README-DOCKER.md** - Quick start guide (start here!)
2. **DOCKER_DEPLOYMENT.md** - Complete deployment guide
3. **DOCKER_SOLUTION_SUMMARY.md** - Comprehensive overview
4. **FILES_CREATED.md** - This file
## ✨ Benefits
- **No System Dependencies**: Only Docker required
- **Portable**: Deploy on any system with Docker
- **Reproducible**: Consistent deployments every time
- **Isolated**: No conflicts with other applications
- **Production-Ready**: Gunicorn, health checks, proper logging
- **Easy Management**: Simple commands, one-line deployment
- **Persistent**: Data survives container restarts
- **Scalable**: Easy to add more services
## 🎉 Success!
Your Recticel Quality Application is now containerized and ready for deployment!
**Next Steps:**
1. Install Docker (if not already installed)
2. Run `./deploy.sh`
3. Access http://localhost:8781
4. Log in with superadmin credentials
5. Change default passwords
6. Enjoy your containerized application!
For detailed instructions, see **README-DOCKER.md** or **DOCKER_DEPLOYMENT.md**.

View File

@@ -1,73 +0,0 @@
# 🚀 Quick Start - Docker Deployment
## What You Need
- A server with Docker installed
- 2GB free disk space
- Ports 8781 and 3306 available
## Deploy in 3 Steps
### 1⃣ Install Docker (if not already installed)
**Ubuntu/Debian:**
```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
```
Then log out and back in.
### 2⃣ Deploy the Application
```bash
cd /srv/quality_recticel
./deploy.sh
```
### 3⃣ Access Your Application
Open browser: **http://localhost:8781**
**Login:**
- Username: `superadmin`
- Password: `superadmin123`
## 🎯 Done!
Your complete application with database is now running in Docker containers.
## Common Commands
```bash
# View logs
docker compose logs -f
# Stop services
docker compose down
# Restart services
docker compose restart
# Backup database
docker compose exec -T db mariadb-dump -u trasabilitate -pInitial01! trasabilitate > backup.sql
```
## 📚 Full Documentation
See `DOCKER_DEPLOYMENT.md` for complete documentation.
## 🆘 Problems?
```bash
# Check status
docker compose ps
# View detailed logs
docker compose logs -f web
# Start fresh
docker compose down -v
./deploy.sh
```
---
**Note:** This is a production-ready deployment using Gunicorn WSGI server, MariaDB 11.3, and proper health checks.

View File

@@ -1,36 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Database Test</title>
</head>
<body>
<h2>Database Connection Test</h2>
<button id="test-btn">Test Database</button>
<div id="result"></div>
<script>
document.getElementById('test-btn').addEventListener('click', function() {
const resultDiv = document.getElementById('result');
resultDiv.innerHTML = 'Loading...';
fetch('/get_unprinted_orders')
.then(response => {
console.log('Response status:', response.status);
if (response.ok) {
return response.json();
} else {
throw new Error('HTTP ' + response.status);
}
})
.then(data => {
console.log('Data received:', data);
resultDiv.innerHTML = `<pre>${JSON.stringify(data, null, 2)}</pre>`;
})
.catch(error => {
console.error('Error:', error);
resultDiv.innerHTML = 'Error: ' + error.message;
});
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,487 +0,0 @@
{% extends "base.html" %}
{% block head %}
<style>
#label-preview {
background: #fafafa;
position: relative;
overflow: hidden;
}
/* Enhanced table styling */
.card.scan-table-card table.print-module-table.scan-table thead th {
border-bottom: 2px solid #dee2e6 !important;
background-color: #f8f9fa !important;
padding: 0.25rem 0.4rem !important;
text-align: left !important;
font-weight: 600 !important;
font-size: 10px !important;
line-height: 1.2 !important;
}
.card.scan-table-card table.print-module-table.scan-table {
width: 100% !important;
border-collapse: collapse !important;
}
.card.scan-table-card table.print-module-table.scan-table tbody tr:hover td {
background-color: #f8f9fa !important;
cursor: pointer !important;
}
.card.scan-table-card table.print-module-table.scan-table tbody tr.selected td {
background-color: #007bff !important;
color: white !important;
}
</style>
{% endblock %}
{% block content %}
<div class="scan-container" style="display: flex; flex-direction: row; gap: 20px; width: 100%; align-items: flex-start;">
<!-- Label Preview Card -->
<div class="card scan-form-card" style="display: flex; flex-direction: column; justify-content: flex-start; align-items: center; min-height: 700px; width: 330px; flex-shrink: 0; position: relative; padding: 15px;">
<div class="label-view-title" style="width: 100%; text-align: center; padding: 0 0 15px 0; font-size: 18px; font-weight: bold; letter-spacing: 0.5px;">Label View</div>
<!-- Label Preview Section -->
<div id="label-preview" style="border: 1px solid #ddd; padding: 10px; position: relative; background: #fafafa; width: 301px; height: 434.7px;">
<!-- Label content rectangle -->
<div id="label-content" style="position: absolute; top: 65.7px; left: 11.34px; width: 227.4px; height: 321.3px; border: 2px solid #333; background: white;">
<!-- Top row content: Company name -->
<div style="position: absolute; top: 0; left: 0; right: 0; height: 32.13px; display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 12px; color: #000; z-index: 10;">
INNOFA ROMANIA SRL
</div>
<!-- Row 2 content: Customer Name -->
<div id="customer-name-row" style="position: absolute; top: 32.13px; left: 0; right: 0; height: 32.13px; display: flex; align-items: center; justify-content: center; font-size: 11px; color: #000;">
<!-- Customer name will be populated here -->
</div>
<!-- Horizontal dividing lines -->
<div style="position: absolute; top: 32.13px; left: 0; right: 0; height: 1px; background: #999;"></div>
<div style="position: absolute; top: 64.26px; left: 0; right: 0; height: 1px; background: #999;"></div>
<div style="position: absolute; top: 96.39px; left: 0; right: 0; height: 1px; background: #999;"></div>
<div style="position: absolute; top: 128.52px; left: 0; right: 0; height: 1px; background: #999;"></div>
<div style="position: absolute; top: 160.65px; left: 0; right: 0; height: 1px; background: #999;"></div>
<div style="position: absolute; top: 224.91px; left: 0; right: 0; height: 1px; background: #999;"></div>
<div style="position: absolute; top: 257.04px; left: 0; right: 0; height: 1px; background: #999;"></div>
<div style="position: absolute; top: 289.17px; left: 0; right: 0; height: 1px; background: #999;"></div>
<!-- Vertical dividing line -->
<div style="position: absolute; left: 90.96px; top: 64.26px; width: 1px; height: 257.04px; background: #999;"></div>
<!-- Row 3: Quantity ordered -->
<div style="position: absolute; top: 64.26px; left: 0; width: 90.96px; height: 32.13px; display: flex; align-items: center; padding-left: 5px; font-size: 10px; color: #000;">
Quantity ordered
</div>
<div id="quantity-ordered-value" style="position: absolute; top: 64.26px; left: 90.96px; width: 136.44px; height: 32.13px; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: bold; color: #000;">
<!-- Quantity value will be populated here -->
</div>
<!-- Row 4: Customer order -->
<div style="position: absolute; top: 96.39px; left: 0; width: 90.96px; height: 32.13px; display: flex; align-items: center; padding-left: 5px; font-size: 10px; color: #000;">
Customer order
</div>
<div id="client-order-info" style="position: absolute; top: 96.39px; left: 90.96px; width: 136.44px; height: 32.13px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; color: #000;">
<!-- Client order info will be populated here -->
</div>
<!-- Row 5: Delivery date -->
<div style="position: absolute; top: 128.52px; left: 0; width: 90.96px; height: 32.13px; display: flex; align-items: center; padding-left: 5px; font-size: 10px; color: #000;">
Delivery date
</div>
<div id="delivery-date-value" style="position: absolute; top: 128.52px; left: 90.96px; width: 136.44px; height: 32.13px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; color: #000;">
<!-- Delivery date value will be populated here -->
</div>
<!-- Row 6: Description (double height) -->
<div style="position: absolute; top: 160.65px; left: 0; width: 90.96px; height: 64.26px; display: flex; align-items: center; padding-left: 5px; font-size: 10px; color: #000;">
Product description
</div>
<div id="description-value" style="position: absolute; top: 160.65px; left: 90.96px; width: 136.44px; height: 64.26px; display: flex; align-items: center; justify-content: center; font-size: 8px; color: #000; text-align: center; padding: 2px; overflow: hidden;">
<!-- Description will be populated here -->
</div>
<!-- Row 7: Size -->
<div style="position: absolute; top: 224.91px; left: 0; width: 90.96px; height: 32.13px; display: flex; align-items: center; padding-left: 5px; font-size: 10px; color: #000;">
Size
</div>
<div id="size-value" style="position: absolute; top: 224.91px; left: 90.96px; width: 136.44px; height: 32.13px; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: bold; color: #000;">
<!-- Size value will be populated here -->
</div>
<!-- Row 8: Article Code -->
<div style="position: absolute; top: 257.04px; left: 0; width: 90.96px; height: 32.13px; display: flex; align-items: center; padding-left: 5px; font-size: 10px; color: #000;">
Article code
</div>
<div id="article-code-value" style="position: absolute; top: 257.04px; left: 90.96px; width: 136.44px; height: 32.13px; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: bold; color: #000;">
<!-- Article code will be populated here -->
</div>
<!-- Row 9: Production Order -->
<div style="position: absolute; top: 289.17px; left: 0; width: 90.96px; height: 32.13px; display: flex; align-items: center; padding-left: 5px; font-size: 10px; color: #000;">
Prod. order
</div>
<div id="prod-order-value" style="position: absolute; top: 289.17px; left: 90.96px; width: 136.44px; height: 32.13px; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: bold; color: #000;">
<!-- Production order will be populated here -->
</div>
</div>
<!-- Bottom barcode section -->
<div style="position: absolute; bottom: 28.35px; left: 11.34px; width: 227.4px; height: 28.35px; border: 2px solid #333; background: white; display: flex; align-items: center; justify-content: center;">
<div id="barcode-text" style="font-family: 'Courier New', monospace; font-size: 12px; font-weight: bold; letter-spacing: 1px; color: #000;">
<!-- Barcode text will be populated here -->
</div>
</div>
<!-- Vertical barcode (right side) -->
<div style="position: absolute; right: 11.34px; top: 65.7px; width: 28.35px; height: 321.3px; border: 2px solid #333; background: white; writing-mode: vertical-lr; text-orientation: sideways; display: flex; align-items: center; justify-content: center;">
<div id="vertical-barcode-text" style="font-family: 'Courier New', monospace; font-size: 10px; font-weight: bold; letter-spacing: 1px; color: #000; transform: rotate(180deg);">
<!-- Vertical barcode text will be populated here -->
</div>
</div>
</div>
<!-- Print Options -->
<div style="width: 100%; margin-top: 20px;">
<!-- Print Method Selection -->
<div style="margin-bottom: 15px;">
<label style="font-size: 12px; font-weight: 600; color: #495057; margin-bottom: 8px; display: block;">
📄 Print Method:
</label>
<div class="form-check mb-2">
<input class="form-check-input" type="radio" name="printMethod" id="pdfGenerate" value="pdf" checked>
<label class="form-check-label" for="pdfGenerate" style="font-size: 11px; line-height: 1.3;">
<strong>Generate PDF</strong><br>
<span class="text-muted">Create PDF for manual printing (recommended)</span>
</label>
</div>
</div>
<!-- Print Button -->
<div style="width: 100%; text-align: center; margin-bottom: 15px;">
<button id="print-label-btn" class="btn btn-success" style="font-size: 14px; padding: 10px 30px; border-radius: 6px; font-weight: 600;">
📄 Generate PDF Labels
</button>
</div>
<!-- Print Information -->
<div style="width: 100%; text-align: center; color: #6c757d; font-size: 11px; line-height: 1.4;">
<div style="margin-bottom: 5px;">Creates sequential labels based on quantity</div>
<small>(e.g., CP00000711-001 to CP00000711-063)</small>
</div>
</div>
</div>
<!-- Data Preview Card -->
<div class="card scan-table-card" style="min-height: 700px; width: calc(100% - 350px); margin: 0;">
<h3>Data Preview (Unprinted Orders)</h3>
<button id="check-db-btn" class="btn btn-primary mb-3">Load Orders</button>
<div class="report-table-container">
<table class="scan-table print-module-table">
<thead>
<tr>
<th>ID</th>
<th>Comanda Productie</th>
<th>Cod Articol</th>
<th>Descr. Com. Prod</th>
<th>Cantitate</th>
<th>Data Livrare</th>
<th>Dimensiune</th>
<th>Com. Achiz. Client</th>
<th>Nr. Linie</th>
<th>Customer Name</th>
<th>Customer Art. Nr.</th>
<th>Open Order</th>
<th>Line</th>
<th>Printed</th>
<th>Created</th>
</tr>
</thead>
<tbody id="unprinted-orders-table">
<!-- Data will be dynamically loaded here -->
</tbody>
</table>
</div>
</div>
</div>
<script>
// Simplified notification system
function showNotification(message, type = 'info') {
const existingNotifications = document.querySelectorAll('.notification');
existingNotifications.forEach(n => n.remove());
const notification = document.createElement('div');
notification.className = `notification alert alert-${type === 'error' ? 'danger' : type === 'success' ? 'success' : type === 'warning' ? 'warning' : 'info'}`;
notification.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
z-index: 9999;
max-width: 350px;
padding: 15px;
border-radius: 5px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
`;
notification.innerHTML = `
<div style="display: flex; align-items: center; justify-content: space-between;">
<span style="flex: 1; padding-right: 10px;">${message}</span>
<button type="button" onclick="this.parentElement.parentElement.remove()" style="background: none; border: none; font-size: 20px; cursor: pointer;">&times;</button>
</div>
`;
document.body.appendChild(notification);
setTimeout(() => {
if (notification.parentElement) {
notification.remove();
}
}, 5000);
}
// Database loading functionality
document.getElementById('check-db-btn').addEventListener('click', function() {
const button = this;
const originalText = button.textContent;
button.textContent = 'Loading...';
button.disabled = true;
fetch('/get_unprinted_orders')
.then(response => {
if (response.status === 403) {
return response.json().then(errorData => {
throw new Error(`Access Denied: ${errorData.error}`);
});
} else if (!response.ok) {
return response.text().then(text => {
throw new Error(`HTTP ${response.status}: ${text}`);
});
}
return response.json();
})
.then(data => {
console.log('Received data:', data);
const tbody = document.getElementById('unprinted-orders-table');
tbody.innerHTML = '';
if (data.length === 0) {
tbody.innerHTML = '<tr><td colspan="15" style="text-align: center; padding: 20px; color: #28a745;"><strong>✅ All orders have been printed!</strong><br><small>No unprinted orders remaining.</small></td></tr>';
clearLabelPreview();
return;
}
data.forEach((order, index) => {
const tr = document.createElement('tr');
tr.dataset.orderId = order.id;
tr.dataset.orderIndex = index;
tr.style.cursor = 'pointer';
tr.innerHTML = `
<td style="font-size: 9px;">${order.id}</td>
<td style="font-size: 9px;"><strong>${order.comanda_productie}</strong></td>
<td style="font-size: 9px;">${order.cod_articol || '-'}</td>
<td style="font-size: 9px;">${order.descr_com_prod}</td>
<td style="text-align: right; font-weight: 600; font-size: 9px;">${order.cantitate}</td>
<td style="text-align: center; font-size: 9px;">
${order.data_livrare ? new Date(order.data_livrare).toLocaleDateString() : '-'}
</td>
<td style="text-align: center; font-size: 9px;">${order.dimensiune || '-'}</td>
<td style="font-size: 9px;">${order.com_achiz_client || '-'}</td>
<td style="text-align: right; font-size: 9px;">${order.nr_linie_com_client || '-'}</td>
<td style="font-size: 9px;">${order.customer_name || '-'}</td>
<td style="font-size: 9px;">${order.customer_article_number || '-'}</td>
<td style="font-size: 9px;">${order.open_for_order || '-'}</td>
<td style="text-align: right; font-size: 9px;">${order.line_number || '-'}</td>
<td style="text-align: center; font-size: 9px;">
${order.printed_labels == 1 ?
'<span style="color: #28a745; font-weight: bold;">✅ Yes</span>' :
'<span style="color: #dc3545;">❌ No</span>'}
</td>
<td style="font-size: 9px; color: #6c757d;">
${order.created_at ? new Date(order.created_at).toLocaleString() : '-'}
</td>
`;
tr.addEventListener('click', function() {
console.log('Row clicked:', order.id);
// Remove selection from other rows
document.querySelectorAll('.print-module-table tbody tr').forEach(row => {
row.classList.remove('selected');
const cells = row.querySelectorAll('td');
cells.forEach(cell => {
cell.style.backgroundColor = '';
cell.style.color = '';
});
});
// Select this row
this.classList.add('selected');
const cells = this.querySelectorAll('td');
cells.forEach(cell => {
cell.style.backgroundColor = '#007bff';
cell.style.color = 'white';
});
// Update label preview with selected order data
updateLabelPreview(order);
});
tbody.appendChild(tr);
});
// Auto-select first row
setTimeout(() => {
const firstRow = document.querySelector('.print-module-table tbody tr');
if (firstRow && !firstRow.querySelector('td[colspan]')) {
firstRow.click();
}
}, 100);
showNotification(`✅ Loaded ${data.length} unprinted orders`, 'success');
})
.catch(error => {
console.error('Error loading orders:', error);
const tbody = document.getElementById('unprinted-orders-table');
tbody.innerHTML = '<tr><td colspan="15" style="text-align: center; padding: 20px; color: #dc3545;"><strong>❌ Failed to load data</strong><br><small>' + error.message + '</small></td></tr>';
showNotification('❌ Failed to load orders: ' + error.message, 'error');
})
.finally(() => {
button.textContent = originalText;
button.disabled = false;
});
});
// Update label preview with order data
function updateLabelPreview(order) {
document.getElementById('customer-name-row').textContent = order.customer_name || 'N/A';
document.getElementById('quantity-ordered-value').textContent = order.cantitate || '0';
document.getElementById('client-order-info').textContent =
`${order.com_achiz_client || 'N/A'}-${order.nr_linie_com_client || '00'}`;
document.getElementById('delivery-date-value').textContent =
order.data_livrare ? new Date(order.data_livrare).toLocaleDateString() : 'N/A';
document.getElementById('description-value').textContent = order.descr_com_prod || 'N/A';
document.getElementById('size-value').textContent = order.dimensiune || 'N/A';
document.getElementById('article-code-value').textContent = order.cod_articol || 'N/A';
document.getElementById('prod-order-value').textContent = order.comanda_productie || 'N/A';
document.getElementById('barcode-text').textContent = order.comanda_productie || 'N/A';
document.getElementById('vertical-barcode-text').textContent =
`${order.comanda_productie || '000000'}-${order.nr_linie_com_client ? String(order.nr_linie_com_client).padStart(2, '0') : '00'}`;
}
// Clear label preview when no orders are available
function clearLabelPreview() {
document.getElementById('customer-name-row').textContent = 'No orders available';
document.getElementById('quantity-ordered-value').textContent = '0';
document.getElementById('client-order-info').textContent = 'N/A';
document.getElementById('delivery-date-value').textContent = 'N/A';
document.getElementById('size-value').textContent = 'N/A';
document.getElementById('description-value').textContent = 'N/A';
document.getElementById('article-code-value').textContent = 'N/A';
document.getElementById('prod-order-value').textContent = 'N/A';
document.getElementById('barcode-text').textContent = 'N/A';
document.getElementById('vertical-barcode-text').textContent = '000000-00';
}
// PDF Generation Handler
document.getElementById('print-label-btn').addEventListener('click', function(e) {
e.preventDefault();
// Get selected order
const selectedRow = document.querySelector('.print-module-table tbody tr.selected');
if (!selectedRow) {
showNotification('⚠️ Please select an order first from the table below.', 'warning');
return;
}
handlePDFGeneration(selectedRow);
});
// Handle PDF generation
function handlePDFGeneration(selectedRow) {
const orderId = selectedRow.dataset.orderId;
const quantityCell = selectedRow.querySelector('td:nth-child(5)');
const quantity = quantityCell ? parseInt(quantityCell.textContent) : 1;
const prodOrderCell = selectedRow.querySelector('td:nth-child(2)');
const prodOrder = prodOrderCell ? prodOrderCell.textContent.trim() : 'N/A';
const button = document.getElementById('print-label-btn');
const originalText = button.textContent;
button.textContent = 'Generating PDF...';
button.disabled = true;
console.log(`Generating PDF for order ${orderId} with ${quantity} labels`);
// Generate PDF with paper-saving mode enabled (optimized for thermal printers)
fetch(`/generate_labels_pdf/${orderId}/true`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.blob();
})
.then(blob => {
// Create blob URL for PDF
const url = window.URL.createObjectURL(blob);
// Create download link for PDF
const a = document.createElement('a');
a.href = url;
a.download = `labels_${prodOrder}_${quantity}pcs.pdf`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
// Also open PDF in new tab for printing
const printWindow = window.open(url, '_blank');
if (printWindow) {
printWindow.focus();
// Wait for PDF to load, then show print dialog
setTimeout(() => {
printWindow.print();
// Clean up blob URL after print dialog is shown
setTimeout(() => {
window.URL.revokeObjectURL(url);
}, 2000);
}, 1500);
} else {
// If popup was blocked, clean up immediately
setTimeout(() => {
window.URL.revokeObjectURL(url);
}, 1000);
}
// Show success message
showNotification(`✅ PDF generated successfully!\n📊 Order: ${prodOrder}\n📦 Labels: ${quantity} pieces`, 'success');
// Refresh the orders table to reflect printed status
setTimeout(() => {
document.getElementById('check-db-btn').click();
}, 1000);
})
.catch(error => {
console.error('Error generating PDF:', error);
showNotification('❌ Failed to generate PDF labels. Error: ' + error.message, 'error');
})
.finally(() => {
// Reset button state
button.textContent = originalText;
button.disabled = false;
});
}
// Load orders on page load
document.addEventListener('DOMContentLoaded', function() {
setTimeout(() => {
document.getElementById('check-db-btn').click();
}, 500);
});
</script>
{% endblock %}

File diff suppressed because it is too large Load Diff

View File

@@ -1,110 +0,0 @@
#!/usr/bin/env python3
import mariadb
import os
import sys
def get_external_db_connection():
"""Reads the external_server.conf file and returns a MariaDB database connection."""
# Get the instance folder path
current_dir = os.path.dirname(os.path.abspath(__file__))
instance_folder = os.path.join(current_dir, '../../instance')
settings_file = os.path.join(instance_folder, 'external_server.conf')
if not os.path.exists(settings_file):
raise FileNotFoundError(f"The external_server.conf file is missing: {settings_file}")
# Read settings from the configuration file
settings = {}
with open(settings_file, 'r') as f:
for line in f:
line = line.strip()
if line and '=' in line:
key, value = line.split('=', 1)
settings[key] = value
print(f"Connecting to MariaDB:")
print(f" Host: {settings.get('server_domain', 'N/A')}")
print(f" Port: {settings.get('port', 'N/A')}")
print(f" Database: {settings.get('database_name', 'N/A')}")
return mariadb.connect(
user=settings['username'],
password=settings['password'],
host=settings['server_domain'],
port=int(settings['port']),
database=settings['database_name']
)
def main():
try:
print("=== Adding Email Column to Users Table ===")
conn = get_external_db_connection()
cursor = conn.cursor()
# First, check the current table structure
print("\n1. Checking current table structure...")
cursor.execute("DESCRIBE users")
columns = cursor.fetchall()
has_email = False
for column in columns:
print(f" Column: {column[0]} ({column[1]})")
if column[0] == 'email':
has_email = True
if not has_email:
print("\n2. Adding email column...")
cursor.execute("ALTER TABLE users ADD COLUMN email VARCHAR(255)")
conn.commit()
print(" ✓ Email column added successfully")
else:
print("\n2. Email column already exists")
# Now check and display all users
print("\n3. Current users in database:")
cursor.execute("SELECT id, username, role, email FROM users")
users = cursor.fetchall()
if users:
print(f" Found {len(users)} users:")
for user in users:
email = user[3] if user[3] else "No email"
print(f" - ID: {user[0]}, Username: {user[1]}, Role: {user[2]}, Email: {email}")
else:
print(" No users found - creating test users...")
# Create some test users
test_users = [
('admin_user', 'admin123', 'admin', 'admin@company.com'),
('manager_user', 'manager123', 'manager', 'manager@company.com'),
('warehouse_user', 'warehouse123', 'warehouse_manager', 'warehouse@company.com'),
('quality_user', 'quality123', 'quality_manager', 'quality@company.com')
]
for username, password, role, email in test_users:
try:
cursor.execute("""
INSERT INTO users (username, password, role, email)
VALUES (%s, %s, %s, %s)
""", (username, password, role, email))
print(f" ✓ Created user: {username} ({role})")
except mariadb.IntegrityError as e:
print(f" ⚠ User {username} already exists: {e}")
conn.commit()
print(" ✓ Test users created successfully")
conn.close()
print("\n=== Database Update Complete ===")
except Exception as e:
print(f"❌ Error: {e}")
import traceback
traceback.print_exc()
return 1
return 0
if __name__ == "__main__":
sys.exit(main())

View File

@@ -1,105 +0,0 @@
#!/usr/bin/env python3
import mariadb
import os
import sys
def get_external_db_connection():
"""Reads the external_server.conf file and returns a MariaDB database connection."""
# Get the instance folder path
current_dir = os.path.dirname(os.path.abspath(__file__))
instance_folder = os.path.join(current_dir, '../../instance')
settings_file = os.path.join(instance_folder, 'external_server.conf')
if not os.path.exists(settings_file):
raise FileNotFoundError(f"The external_server.conf file is missing: {settings_file}")
# Read settings from the configuration file
settings = {}
with open(settings_file, 'r') as f:
for line in f:
line = line.strip()
if line and '=' in line:
key, value = line.split('=', 1)
settings[key] = value
print(f"Connecting to MariaDB with settings:")
print(f" Host: {settings.get('server_domain', 'N/A')}")
print(f" Port: {settings.get('port', 'N/A')}")
print(f" Database: {settings.get('database_name', 'N/A')}")
print(f" Username: {settings.get('username', 'N/A')}")
# Create a database connection
return mariadb.connect(
user=settings['username'],
password=settings['password'],
host=settings['server_domain'],
port=int(settings['port']),
database=settings['database_name']
)
def main():
try:
print("=== Checking External MariaDB Database ===")
conn = get_external_db_connection()
cursor = conn.cursor()
# Create users table if it doesn't exist
print("\n1. Creating/verifying users table...")
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role VARCHAR(50) NOT NULL,
email VARCHAR(255)
)
''')
print(" ✓ Users table created/verified")
# Check existing users
print("\n2. Checking existing users...")
cursor.execute("SELECT id, username, role, email FROM users")
users = cursor.fetchall()
if users:
print(f" Found {len(users)} existing users:")
for user in users:
email = user[3] if user[3] else "No email"
print(f" - ID: {user[0]}, Username: {user[1]}, Role: {user[2]}, Email: {email}")
else:
print(" No users found in external database")
# Create some test users
print("\n3. Creating test users...")
test_users = [
('admin_user', 'admin123', 'admin', 'admin@company.com'),
('manager_user', 'manager123', 'manager', 'manager@company.com'),
('warehouse_user', 'warehouse123', 'warehouse_manager', 'warehouse@company.com'),
('quality_user', 'quality123', 'quality_manager', 'quality@company.com')
]
for username, password, role, email in test_users:
try:
cursor.execute("""
INSERT INTO users (username, password, role, email)
VALUES (%s, %s, %s, %s)
""", (username, password, role, email))
print(f" ✓ Created user: {username} ({role})")
except mariadb.IntegrityError as e:
print(f" ⚠ User {username} already exists: {e}")
conn.commit()
print(" ✓ Test users created successfully")
conn.close()
print("\n=== Database Check Complete ===")
except Exception as e:
print(f"❌ Error: {e}")
return 1
return 0
if __name__ == "__main__":
sys.exit(main())

View File

@@ -1,60 +0,0 @@
import mariadb
import os
def get_external_db_connection():
"""Get MariaDB connection using external_server.conf"""
settings_file = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../instance/external_server.conf'))
settings = {}
with open(settings_file, 'r') as f:
for line in f:
key, value = line.strip().split('=', 1)
settings[key] = value
return mariadb.connect(
user=settings['username'],
password=settings['password'],
host=settings['server_domain'],
port=int(settings['port']),
database=settings['database_name']
)
def create_external_users_table():
"""Create users table and superadmin user in external MariaDB database"""
try:
conn = get_external_db_connection()
cursor = conn.cursor()
# Create users table if not exists (MariaDB syntax)
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role VARCHAR(50) NOT NULL
)
''')
# Insert superadmin user if not exists
cursor.execute('''
INSERT IGNORE INTO users (username, password, role)
VALUES (%s, %s, %s)
''', ('superadmin', 'superadmin123', 'superadmin'))
# Check if user was created/exists
cursor.execute("SELECT username, password, role FROM users WHERE username = %s", ('superadmin',))
result = cursor.fetchone()
if result:
print(f"SUCCESS: Superadmin user exists in external database")
print(f"Username: {result[0]}, Password: {result[1]}, Role: {result[2]}")
else:
print("ERROR: Failed to create/find superadmin user")
conn.commit()
conn.close()
print("External MariaDB users table setup completed.")
except Exception as e:
print(f"ERROR: {e}")
if __name__ == "__main__":
create_external_users_table()

View File

@@ -1,110 +0,0 @@
#!/usr/bin/env python3
"""
Database script to create the order_for_labels table
This table will store order information for label generation
"""
import sys
import os
import mariadb
from flask import Flask
# Add the app directory to the path
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
def get_db_connection():
"""Get database connection using settings from external_server.conf"""
# Go up two levels from this script to reach py_app directory, then to instance
app_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
settings_file = os.path.join(app_root, 'instance', 'external_server.conf')
settings = {}
with open(settings_file, 'r') as f:
for line in f:
key, value = line.strip().split('=', 1)
settings[key] = value
return mariadb.connect(
user=settings['username'],
password=settings['password'],
host=settings['server_domain'],
port=int(settings['port']),
database=settings['database_name']
)
def create_order_for_labels_table():
"""
Creates the order_for_labels table with the specified structure
"""
try:
conn = get_db_connection()
cursor = conn.cursor()
# First check if table already exists
cursor.execute("SHOW TABLES LIKE 'order_for_labels'")
result = cursor.fetchone()
if result:
print("Table 'order_for_labels' already exists.")
# Show current structure
cursor.execute("DESCRIBE order_for_labels")
columns = cursor.fetchall()
print("\nCurrent table structure:")
for col in columns:
print(f" {col[0]} - {col[1]} {'NULL' if col[2] == 'YES' else 'NOT NULL'}")
else:
# Create the table
create_table_sql = """
CREATE TABLE order_for_labels (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique identifier',
comanda_productie VARCHAR(15) NOT NULL COMMENT 'Production Order',
cod_articol VARCHAR(15) COMMENT 'Article Code',
descr_com_prod VARCHAR(50) NOT NULL COMMENT 'Production Order Description',
cantitate INT(3) NOT NULL COMMENT 'Quantity',
com_achiz_client VARCHAR(25) COMMENT 'Client Purchase Order',
nr_linie_com_client INT(3) COMMENT 'Client Order Line Number',
customer_name VARCHAR(50) COMMENT 'Customer Name',
customer_article_number VARCHAR(25) COMMENT 'Customer Article Number',
open_for_order VARCHAR(25) COMMENT 'Open for Order Status',
line_number INT(3) COMMENT 'Line Number',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Record creation timestamp',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Record update timestamp'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Table for storing order information for label generation'
"""
cursor.execute(create_table_sql)
conn.commit()
print("✅ Table 'order_for_labels' created successfully!")
# Show the created structure
cursor.execute("DESCRIBE order_for_labels")
columns = cursor.fetchall()
print("\n📋 Table structure:")
for col in columns:
null_info = 'NULL' if col[2] == 'YES' else 'NOT NULL'
default_info = f" DEFAULT {col[4]}" if col[4] else ""
print(f" 📌 {col[0]:<25} {col[1]:<20} {null_info}{default_info}")
conn.close()
except mariadb.Error as e:
print(f"❌ Database error: {e}")
return False
except Exception as e:
print(f"❌ Error: {e}")
return False
return True
if __name__ == "__main__":
print("🏗️ Creating order_for_labels table...")
print("="*50)
success = create_order_for_labels_table()
if success:
print("\n✅ Database setup completed successfully!")
else:
print("\n❌ Database setup failed!")
print("="*50)

View File

@@ -1,141 +0,0 @@
#!/usr/bin/env python3
import mariadb
import os
import sys
def get_external_db_connection():
"""Reads the external_server.conf file and returns a MariaDB database connection."""
# Get the instance folder path
current_dir = os.path.dirname(os.path.abspath(__file__))
instance_folder = os.path.join(current_dir, '../../instance')
settings_file = os.path.join(instance_folder, 'external_server.conf')
if not os.path.exists(settings_file):
raise FileNotFoundError(f"The external_server.conf file is missing: {settings_file}")
# Read settings from the configuration file
settings = {}
with open(settings_file, 'r') as f:
for line in f:
line = line.strip()
if line and '=' in line:
key, value = line.split('=', 1)
settings[key] = value
return mariadb.connect(
user=settings['username'],
password=settings['password'],
host=settings['server_domain'],
port=int(settings['port']),
database=settings['database_name']
)
def main():
try:
print("=== Creating Permission Management Tables ===")
conn = get_external_db_connection()
cursor = conn.cursor()
# 1. Create permissions table
print("\n1. Creating permissions table...")
cursor.execute('''
CREATE TABLE IF NOT EXISTS permissions (
id INT AUTO_INCREMENT PRIMARY KEY,
permission_key VARCHAR(255) UNIQUE NOT NULL,
page VARCHAR(100) NOT NULL,
page_name VARCHAR(255) NOT NULL,
section VARCHAR(100) NOT NULL,
section_name VARCHAR(255) NOT NULL,
action VARCHAR(50) NOT NULL,
action_name VARCHAR(255) NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
''')
print(" ✓ Permissions table created/verified")
# 2. Create role_permissions table
print("\n2. Creating role_permissions table...")
cursor.execute('''
CREATE TABLE IF NOT EXISTS role_permissions (
id INT AUTO_INCREMENT PRIMARY KEY,
role VARCHAR(50) NOT NULL,
permission_key VARCHAR(255) NOT NULL,
granted BOOLEAN DEFAULT TRUE,
granted_by VARCHAR(50),
granted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY unique_role_permission (role, permission_key),
FOREIGN KEY (permission_key) REFERENCES permissions(permission_key) ON DELETE CASCADE
)
''')
print(" ✓ Role permissions table created/verified")
# 3. Create role_hierarchy table for role management
print("\n3. Creating role_hierarchy table...")
cursor.execute('''
CREATE TABLE IF NOT EXISTS role_hierarchy (
id INT AUTO_INCREMENT PRIMARY KEY,
role_name VARCHAR(50) UNIQUE NOT NULL,
display_name VARCHAR(255) NOT NULL,
description TEXT,
level INT DEFAULT 0,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
''')
print(" ✓ Role hierarchy table created/verified")
# 4. Create permission_audit_log table for tracking changes
print("\n4. Creating permission_audit_log table...")
cursor.execute('''
CREATE TABLE IF NOT EXISTS permission_audit_log (
id INT AUTO_INCREMENT PRIMARY KEY,
role VARCHAR(50) NOT NULL,
permission_key VARCHAR(255) NOT NULL,
action ENUM('granted', 'revoked') NOT NULL,
changed_by VARCHAR(50) NOT NULL,
changed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
reason TEXT,
ip_address VARCHAR(45)
)
''')
print(" ✓ Permission audit log table created/verified")
conn.commit()
# 5. Check if we need to populate initial data
print("\n5. Checking for existing data...")
cursor.execute("SELECT COUNT(*) FROM permissions")
permission_count = cursor.fetchone()[0]
if permission_count == 0:
print(" No permissions found - will need to populate with default data")
print(" Run 'populate_permissions.py' to initialize the permission system")
else:
print(f" Found {permission_count} existing permissions")
cursor.execute("SELECT COUNT(*) FROM role_hierarchy")
role_count = cursor.fetchone()[0]
if role_count == 0:
print(" No roles found - will need to populate with default roles")
else:
print(f" Found {role_count} existing roles")
conn.close()
print("\n=== Permission Database Schema Created Successfully ===")
except Exception as e:
print(f"❌ Error: {e}")
import traceback
traceback.print_exc()
return 1
return 0
if __name__ == "__main__":
sys.exit(main())

View File

@@ -1,45 +0,0 @@
import sqlite3
import os
def create_roles_and_users_tables(db_path):
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# Create users table if not exists
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
role TEXT NOT NULL
)
''')
# Insert superadmin user if not exists (default password: 'admin', change after first login)
cursor.execute('''
INSERT OR IGNORE INTO users (username, password, role)
VALUES (?, ?, ?)
''', ('superadmin', 'superadmin123', 'superadmin'))
# Create roles table if not exists
cursor.execute('''
CREATE TABLE IF NOT EXISTS roles (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT UNIQUE NOT NULL,
access_level TEXT NOT NULL,
description TEXT
)
''')
# Insert superadmin role if not exists
cursor.execute('''
INSERT OR IGNORE INTO roles (name, access_level, description)
VALUES (?, ?, ?)
''', ('superadmin', 'full', 'Full access to all app areas and functions'))
conn.commit()
conn.close()
if __name__ == "__main__":
# Default path to users.db in instance folder
instance_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../instance'))
if not os.path.exists(instance_folder):
os.makedirs(instance_folder)
db_path = os.path.join(instance_folder, 'users.db')
create_roles_and_users_tables(db_path)
print("Roles and users tables created. Superadmin user and role initialized.")

View File

@@ -1,42 +0,0 @@
import mariadb
# Database connection credentials
db_config = {
"user": "trasabilitate",
"password": "Initial01!",
"host": "localhost",
"database": "trasabilitate"
}
# Connect to the database
try:
conn = mariadb.connect(**db_config)
cursor = conn.cursor()
print("Connected to the database successfully!")
# Create the scan1_orders table
create_table_query = """
CREATE TABLE IF NOT EXISTS scan1_orders (
Id INT AUTO_INCREMENT PRIMARY KEY, -- Auto-incremented ID with 6 digits
operator_code VARCHAR(4) NOT NULL, -- Operator code with 4 characters
CP_full_code VARCHAR(15) NOT NULL UNIQUE, -- Full CP code with up to 15 characters
OC1_code VARCHAR(4) NOT NULL, -- OC1 code with 4 characters
OC2_code VARCHAR(4) NOT NULL, -- OC2 code with 4 characters
CP_base_code VARCHAR(10) GENERATED ALWAYS AS (LEFT(CP_full_code, 10)) STORED, -- Auto-generated base code (first 10 characters of CP_full_code)
quality_code INT(3) NOT NULL, -- Quality code with 3 digits
date DATE NOT NULL, -- Date in format dd-mm-yyyy
time TIME NOT NULL, -- Time in format hh:mm:ss
approved_quantity INT DEFAULT 0, -- Auto-incremented quantity for quality_code = 000
rejected_quantity INT DEFAULT 0 -- Auto-incremented quantity for quality_code != 000
);
"""
cursor.execute(create_table_query)
print("Table 'scan1_orders' created successfully!")
# Commit changes and close the connection
conn.commit()
cursor.close()
conn.close()
except mariadb.Error as e:
print(f"Error connecting to the database: {e}")

View File

@@ -1,41 +0,0 @@
import mariadb
# Database connection credentials
# (reuse from create_scan_1db.py or update as needed)
db_config = {
"user": "trasabilitate",
"password": "Initial01!",
"host": "localhost",
"database": "trasabilitate"
}
try:
conn = mariadb.connect(**db_config)
cursor = conn.cursor()
print("Connected to the database successfully!")
# Create the scanfg_orders table (same structure as scan1_orders)
create_table_query = """
CREATE TABLE IF NOT EXISTS scanfg_orders (
Id INT AUTO_INCREMENT PRIMARY KEY,
operator_code VARCHAR(4) NOT NULL,
CP_full_code VARCHAR(15) NOT NULL UNIQUE,
OC1_code VARCHAR(4) NOT NULL,
OC2_code VARCHAR(4) NOT NULL,
CP_base_code VARCHAR(10) GENERATED ALWAYS AS (LEFT(CP_full_code, 10)) STORED,
quality_code INT(3) NOT NULL,
date DATE NOT NULL,
time TIME NOT NULL,
approved_quantity INT DEFAULT 0,
rejected_quantity INT DEFAULT 0
);
"""
cursor.execute(create_table_query)
print("Table 'scanfg_orders' created successfully!")
conn.commit()
cursor.close()
conn.close()
except mariadb.Error as e:
print(f"Error connecting to the database: {e}")

View File

@@ -1,70 +0,0 @@
import mariadb
# Database connection credentials
db_config = {
"user": "trasabilitate",
"password": "Initial01!",
"host": "localhost",
"database": "trasabilitate"
}
# Connect to the database
try:
conn = mariadb.connect(**db_config)
cursor = conn.cursor()
print("Connected to the database successfully!")
# Delete old triggers if they exist
try:
cursor.execute("DROP TRIGGER IF EXISTS increment_approved_quantity;")
print("Old trigger 'increment_approved_quantity' deleted successfully.")
except mariadb.Error as e:
print(f"Error deleting old trigger 'increment_approved_quantity': {e}")
try:
cursor.execute("DROP TRIGGER IF EXISTS increment_rejected_quantity;")
print("Old trigger 'increment_rejected_quantity' deleted successfully.")
except mariadb.Error as e:
print(f"Error deleting old trigger 'increment_rejected_quantity': {e}")
# Create corrected trigger for approved_quantity
create_approved_trigger = """
CREATE TRIGGER increment_approved_quantity
BEFORE INSERT ON scan1_orders
FOR EACH ROW
BEGIN
IF NEW.quality_code = 000 THEN
SET NEW.approved_quantity = (
SELECT COUNT(*)
FROM scan1_orders
WHERE CP_base_code = NEW.CP_base_code AND quality_code = 000
) + 1;
SET NEW.rejected_quantity = (
SELECT COUNT(*)
FROM scan1_orders
WHERE CP_base_code = NEW.CP_base_code AND quality_code != 000
);
ELSE
SET NEW.approved_quantity = (
SELECT COUNT(*)
FROM scan1_orders
WHERE CP_base_code = NEW.CP_base_code AND quality_code = 000
);
SET NEW.rejected_quantity = (
SELECT COUNT(*)
FROM scan1_orders
WHERE CP_base_code = NEW.CP_base_code AND quality_code != 000
) + 1;
END IF;
END;
"""
cursor.execute(create_approved_trigger)
print("Trigger 'increment_approved_quantity' created successfully!")
# Commit changes and close the connection
conn.commit()
cursor.close()
conn.close()
except mariadb.Error as e:
print(f"Error connecting to the database or creating triggers: {e}")

View File

@@ -1,73 +0,0 @@
import mariadb
# Database connection credentials
db_config = {
"user": "trasabilitate",
"password": "Initial01!",
"host": "localhost",
"database": "trasabilitate"
}
# Connect to the database
try:
conn = mariadb.connect(**db_config)
cursor = conn.cursor()
print("Connected to the database successfully!")
# Delete old triggers if they exist
try:
cursor.execute("DROP TRIGGER IF EXISTS increment_approved_quantity_fg;")
print("Old trigger 'increment_approved_quantity_fg' deleted successfully.")
except mariadb.Error as e:
print(f"Error deleting old trigger 'increment_approved_quantity_fg': {e}")
try:
cursor.execute("DROP TRIGGER IF EXISTS increment_rejected_quantity_fg;")
print("Old trigger 'increment_rejected_quantity_fg' deleted successfully.")
except mariadb.Error as e:
print(f"Error deleting old trigger 'increment_rejected_quantity_fg': {e}")
# Create corrected trigger for approved_quantity in scanfg_orders
create_approved_trigger_fg = """
CREATE TRIGGER increment_approved_quantity_fg
BEFORE INSERT ON scanfg_orders
FOR EACH ROW
BEGIN
IF NEW.quality_code = 000 THEN
SET NEW.approved_quantity = (
SELECT COUNT(*)
FROM scanfg_orders
WHERE CP_base_code = NEW.CP_base_code AND quality_code = 000
) + 1;
SET NEW.rejected_quantity = (
SELECT COUNT(*)
FROM scanfg_orders
WHERE CP_base_code = NEW.CP_base_code AND quality_code != 000
);
ELSE
SET NEW.approved_quantity = (
SELECT COUNT(*)
FROM scanfg_orders
WHERE CP_base_code = NEW.CP_base_code AND quality_code = 000
);
SET NEW.rejected_quantity = (
SELECT COUNT(*)
FROM scanfg_orders
WHERE CP_base_code = NEW.CP_base_code AND quality_code != 000
) + 1;
END IF;
END;
"""
cursor.execute(create_approved_trigger_fg)
print("Trigger 'increment_approved_quantity_fg' created successfully for scanfg_orders table!")
# Commit changes and close the connection
conn.commit()
cursor.close()
conn.close()
print("\n✅ All triggers for scanfg_orders table created successfully!")
print("The approved_quantity and rejected_quantity will now be calculated automatically.")
except mariadb.Error as e:
print(f"Error connecting to the database or creating triggers: {e}")

View File

@@ -1,25 +0,0 @@
import mariadb
from app.warehouse import get_db_connection
from flask import Flask
import os
def create_warehouse_locations_table():
conn = get_db_connection()
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS warehouse_locations (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
location_code VARCHAR(12) NOT NULL UNIQUE,
size INT,
description VARCHAR(250)
)
''')
conn.commit()
conn.close()
if __name__ == "__main__":
instance_path = os.path.abspath("instance")
app = Flask(__name__, instance_path=instance_path)
with app.app_context():
create_warehouse_locations_table()
print("warehouse_locations table created or already exists.")

View File

@@ -1,30 +0,0 @@
import mariadb
# Database connection credentials
def get_db_connection():
return mariadb.connect(
user="trasabilitate", # Replace with your username
password="Initial01!", # Replace with your password
host="localhost", # Replace with your host
port=3306, # Default MariaDB port
database="trasabilitate_database" # Replace with your database name
)
try:
# Connect to the database
conn = get_db_connection()
cursor = conn.cursor()
# Delete query
delete_query = "DELETE FROM scan1_orders"
cursor.execute(delete_query)
conn.commit()
print("All data from the 'scan1_orders' table has been deleted successfully.")
# Close the connection
cursor.close()
conn.close()
except mariadb.Error as e:
print(f"Error deleting data: {e}")

View File

@@ -1,26 +0,0 @@
import mariadb
import os
def get_external_db_connection():
settings_file = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../instance/external_server.conf'))
settings = {}
with open(settings_file, 'r') as f:
for line in f:
key, value = line.strip().split('=', 1)
settings[key] = value
return mariadb.connect(
user=settings['username'],
password=settings['password'],
host=settings['server_domain'],
port=int(settings['port']),
database=settings['database_name']
)
if __name__ == "__main__":
conn = get_external_db_connection()
cursor = conn.cursor()
cursor.execute("DROP TABLE IF EXISTS users")
cursor.execute("DROP TABLE IF EXISTS roles")
conn.commit()
conn.close()
print("Dropped users and roles tables from external database.")

View File

@@ -1,53 +0,0 @@
import sqlite3
import os
def check_database(db_path, description):
"""Check if a database exists and show its users."""
if os.path.exists(db_path):
print(f"\n{description}: FOUND at {db_path}")
try:
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# Check if users table exists
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='users'")
if cursor.fetchone():
cursor.execute("SELECT id, username, password, role FROM users")
users = cursor.fetchall()
if users:
print("Users in this database:")
for user in users:
print(f" ID: {user[0]}, Username: {user[1]}, Password: {user[2]}, Role: {user[3]}")
else:
print(" Users table exists but is empty")
else:
print(" No users table found")
conn.close()
except Exception as e:
print(f" Error reading database: {e}")
else:
print(f"\n{description}: NOT FOUND at {db_path}")
if __name__ == "__main__":
# Check different possible locations for users.db
# 1. Root quality_recticel/instance/users.db
root_instance = "/home/ske087/quality_recticel/instance/users.db"
check_database(root_instance, "Root instance users.db")
# 2. App instance folder
app_instance = "/home/ske087/quality_recticel/py_app/instance/users.db"
check_database(app_instance, "App instance users.db")
# 3. Current working directory
cwd_db = "/home/ske087/quality_recticel/py_app/users.db"
check_database(cwd_db, "Working directory users.db")
# 4. Flask app database (relative to py_app)
flask_db = "/home/ske087/quality_recticel/py_app/app/users.db"
check_database(flask_db, "Flask app users.db")
print("\n" + "="*50)
print("RECOMMENDATION:")
print("The login should use the external MariaDB database.")
print("Make sure you have created the superadmin user in MariaDB using create_roles_table.py")

View File

@@ -1,143 +0,0 @@
#!/usr/bin/env python3
import mariadb
import os
import sys
# Add the app directory to the path so we can import our permissions module
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
from permissions import APP_PERMISSIONS, ROLE_HIERARCHY, ACTIONS, get_all_permissions, get_default_permissions_for_role
def get_external_db_connection():
"""Reads the external_server.conf file and returns a MariaDB database connection."""
current_dir = os.path.dirname(os.path.abspath(__file__))
instance_folder = os.path.join(current_dir, '../../instance')
settings_file = os.path.join(instance_folder, 'external_server.conf')
if not os.path.exists(settings_file):
raise FileNotFoundError(f"The external_server.conf file is missing: {settings_file}")
settings = {}
with open(settings_file, 'r') as f:
for line in f:
line = line.strip()
if line and '=' in line:
key, value = line.split('=', 1)
settings[key] = value
return mariadb.connect(
user=settings['username'],
password=settings['password'],
host=settings['server_domain'],
port=int(settings['port']),
database=settings['database_name']
)
def main():
try:
print("=== Populating Permission System ===")
conn = get_external_db_connection()
cursor = conn.cursor()
# 1. Populate all permissions
print("\n1. Populating permissions...")
permissions = get_all_permissions()
for perm in permissions:
try:
cursor.execute('''
INSERT INTO permissions (permission_key, page, page_name, section, section_name, action, action_name)
VALUES (%s, %s, %s, %s, %s, %s, %s)
ON DUPLICATE KEY UPDATE
page_name = VALUES(page_name),
section_name = VALUES(section_name),
action_name = VALUES(action_name),
updated_at = CURRENT_TIMESTAMP
''', (
perm['key'],
perm['page'],
perm['page_name'],
perm['section'],
perm['section_name'],
perm['action'],
perm['action_name']
))
except Exception as e:
print(f" ⚠ Error inserting permission {perm['key']}: {e}")
conn.commit()
print(f" ✓ Populated {len(permissions)} permissions")
# 2. Populate role hierarchy
print("\n2. Populating role hierarchy...")
for role_name, role_data in ROLE_HIERARCHY.items():
try:
cursor.execute('''
INSERT INTO role_hierarchy (role_name, display_name, description, level)
VALUES (%s, %s, %s, %s)
ON DUPLICATE KEY UPDATE
display_name = VALUES(display_name),
description = VALUES(description),
level = VALUES(level),
updated_at = CURRENT_TIMESTAMP
''', (
role_name,
role_data['name'],
role_data['description'],
role_data['level']
))
except Exception as e:
print(f" ⚠ Error inserting role {role_name}: {e}")
conn.commit()
print(f" ✓ Populated {len(ROLE_HIERARCHY)} roles")
# 3. Set default permissions for each role
print("\n3. Setting default role permissions...")
for role_name in ROLE_HIERARCHY.keys():
default_permissions = get_default_permissions_for_role(role_name)
print(f" Setting permissions for {role_name}: {len(default_permissions)} permissions")
for permission_key in default_permissions:
try:
cursor.execute('''
INSERT INTO role_permissions (role, permission_key, granted, granted_by)
VALUES (%s, %s, TRUE, 'system')
ON DUPLICATE KEY UPDATE
granted = TRUE,
updated_at = CURRENT_TIMESTAMP
''', (role_name, permission_key))
except Exception as e:
print(f" ⚠ Error setting permission {permission_key} for {role_name}: {e}")
conn.commit()
# 4. Show summary
print("\n4. Permission Summary:")
cursor.execute('''
SELECT r.role_name, r.display_name, COUNT(rp.permission_key) as permission_count
FROM role_hierarchy r
LEFT JOIN role_permissions rp ON r.role_name = rp.role AND rp.granted = TRUE
GROUP BY r.role_name, r.display_name
ORDER BY r.level DESC
''')
results = cursor.fetchall()
for role_name, display_name, count in results:
print(f" {display_name} ({role_name}): {count} permissions")
conn.close()
print("\n=== Permission System Initialization Complete ===")
except Exception as e:
print(f"❌ Error: {e}")
import traceback
traceback.print_exc()
return 1
return 0
if __name__ == "__main__":
sys.exit(main())

View File

@@ -1,30 +0,0 @@
import sqlite3
import os
instance_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../instance'))
db_path = os.path.join(instance_folder, 'users.db')
if not os.path.exists(db_path):
print("users.db not found at", db_path)
exit(1)
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# Check if users table exists
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='users'")
if not cursor.fetchone():
print("No users table found in users.db.")
conn.close()
exit(1)
# Print all users
cursor.execute("SELECT id, username, password, role FROM users")
rows = cursor.fetchall()
if not rows:
print("No users found in users.db.")
else:
print("Users in users.db:")
for row in rows:
print(f"id={row[0]}, username={row[1]}, password={row[2]}, role={row[3]}")
conn.close()

View File

@@ -1,34 +0,0 @@
import mariadb
# Database connection credentials
db_config = {
"user": "trasabilitate",
"password": "Initial01!",
"host": "localhost",
"database": "trasabilitate_database"
}
try:
# Connect to the database
conn = mariadb.connect(**db_config)
cursor = conn.cursor()
# Query to fetch all records from the scan1 table
query = "SELECT * FROM scan1_orders ORDER BY Id DESC LIMIT 15"
cursor.execute(query)
# Fetch and print the results
rows = cursor.fetchall()
if rows:
print("Records in the 'scan1_orders' table:")
for row in rows:
print(row)
else:
print("No records found in the 'scan1_orders' table.")
# Close the connection
cursor.close()
conn.close()
except mariadb.Error as e:
print(f"Error connecting to the database: {e}")

View File

@@ -1,50 +0,0 @@
import mariadb
# Database connection credentials
DB_CONFIG = {
"user": "sa",
"password": "12345678",
"host": "localhost",
"database": "recticel"
}
def recreate_order_for_labels_table():
conn = mariadb.connect(**DB_CONFIG)
cursor = conn.cursor()
print("Connected to the database successfully!")
# Drop the table if it exists
cursor.execute("DROP TABLE IF EXISTS order_for_labels")
print("Dropped existing 'order_for_labels' table.")
# Create the table with the new unique constraint
create_table_sql = """
CREATE TABLE order_for_labels (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique identifier',
comanda_productie VARCHAR(15) NOT NULL UNIQUE COMMENT 'Production Order (unique)',
cod_articol VARCHAR(15) COMMENT 'Article Code',
descr_com_prod VARCHAR(50) NOT NULL COMMENT 'Production Order Description',
cantitate INT(3) NOT NULL COMMENT 'Quantity',
data_livrare DATE COMMENT 'Delivery date',
dimensiune VARCHAR(20) COMMENT 'Dimensions',
com_achiz_client VARCHAR(25) COMMENT 'Client Purchase Order',
nr_linie_com_client INT(3) COMMENT 'Client Order Line Number',
customer_name VARCHAR(50) COMMENT 'Customer Name',
customer_article_number VARCHAR(25) COMMENT 'Customer Article Number',
open_for_order VARCHAR(25) COMMENT 'Open for Order Status',
line_number INT(3) COMMENT 'Line Number',
printed_labels TINYINT(1) NOT NULL DEFAULT 0 COMMENT 'Boolean flag: 0=labels not printed, 1=labels printed',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Record creation timestamp',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Record update timestamp'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Table for storing order information for label generation';
"""
cursor.execute(create_table_sql)
print("Created new 'order_for_labels' table with unique comanda_productie.")
conn.commit()
cursor.close()
conn.close()
print("Done.")
if __name__ == "__main__":
recreate_order_for_labels_table()

View File

@@ -1,34 +0,0 @@
import sqlite3
import os
from flask import Flask
app = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key' # Use the same key as in __init__.py
instance_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../instance'))
if not os.path.exists(instance_folder):
os.makedirs(instance_folder)
db_path = os.path.join(instance_folder, 'users.db')
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# Create users table if not exists
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
role TEXT NOT NULL
)
''')
# Insert superadmin user if not exists
cursor.execute('''
INSERT OR IGNORE INTO users (username, password, role)
VALUES (?, ?, ?)
''', ('superadmin', 'superadmin123', 'superadmin'))
conn.commit()
conn.close()
print("Internal users.db seeded with superadmin user.")

Some files were not shown because too many files have changed in this diff Show More