提交
This commit is contained in:
16
run_sql.bat
Normal file
16
run_sql.bat
Normal file
@@ -0,0 +1,16 @@
|
||||
@echo off
|
||||
set MYSQL_PATH="C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe"
|
||||
set SQL_FILE="D:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\sql\ry_engineering.sql"
|
||||
set DB_NAME=engineering
|
||||
set DB_USER=root
|
||||
set DB_PASS=147123369A
|
||||
|
||||
echo Executing SQL script...
|
||||
%MYSQL_PATH% -u %DB_USER% -p%DB_PASS% --default-character-set=utf8mb4 %DB_NAME% < %SQL_FILE%
|
||||
|
||||
if %ERRORLEVEL% equ 0 (
|
||||
echo SQL script executed successfully!
|
||||
) else (
|
||||
echo Failed to execute SQL script.
|
||||
pause
|
||||
)
|
||||
@@ -13,8 +13,11 @@ import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.ruoyi.common.config.RuoYiConfig;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||
import com.ruoyi.common.utils.file.FileUtils;
|
||||
@@ -159,4 +162,18 @@ public class CommonController
|
||||
log.error("下载文件失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户权限信息(用于前端控制显示)
|
||||
*/
|
||||
@GetMapping("/user/permissions")
|
||||
public AjaxResult getUserPermissions()
|
||||
{
|
||||
Map<String, Object> permissions = new HashMap<>();
|
||||
permissions.put("hideAmount", SecurityUtils.isHideAmount());
|
||||
permissions.put("isEngineering", SecurityUtils.isEngineeringRole());
|
||||
permissions.put("isPurchase", SecurityUtils.isPurchaseRole());
|
||||
permissions.put("isAdmin", SecurityUtils.isAdmin());
|
||||
return AjaxResult.success(permissions);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,6 +179,126 @@ CREATE TABLE IF NOT EXISTS engineering_material_out (
|
||||
CONSTRAINT fk_material_out_construction FOREIGN KEY (construction_id) REFERENCES engineering_construction(construction_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS engineering_material_return (
|
||||
return_id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
return_no VARCHAR(50) NOT NULL UNIQUE,
|
||||
material_id BIGINT NOT NULL,
|
||||
quantity DECIMAL(18,4) NOT NULL,
|
||||
return_date DATE,
|
||||
supplier_id BIGINT,
|
||||
return_reason VARCHAR(500),
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
remark TEXT,
|
||||
create_by VARCHAR(64) DEFAULT '',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64) DEFAULT '',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_material_return_material FOREIGN KEY (material_id) REFERENCES engineering_material(material_id),
|
||||
CONSTRAINT fk_material_return_supplier FOREIGN KEY (supplier_id) REFERENCES engineering_supplier(supplier_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS engineering_material_pick (
|
||||
pick_id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
pick_no VARCHAR(50) NOT NULL UNIQUE,
|
||||
material_id BIGINT NOT NULL,
|
||||
quantity DECIMAL(18,4) NOT NULL,
|
||||
pick_date DATE,
|
||||
dept_name VARCHAR(100),
|
||||
receiver VARCHAR(50),
|
||||
use_purpose VARCHAR(500),
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
remark TEXT,
|
||||
create_by VARCHAR(64) DEFAULT '',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64) DEFAULT '',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_material_pick_material FOREIGN KEY (material_id) REFERENCES engineering_material(material_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS engineering_material_return_back (
|
||||
return_back_id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
return_back_no VARCHAR(50) NOT NULL UNIQUE,
|
||||
pick_id BIGINT,
|
||||
material_id BIGINT NOT NULL,
|
||||
quantity DECIMAL(18,4) NOT NULL,
|
||||
return_back_date DATE,
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
remark TEXT,
|
||||
create_by VARCHAR(64) DEFAULT '',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64) DEFAULT '',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_material_return_back_material FOREIGN KEY (material_id) REFERENCES engineering_material(material_id),
|
||||
CONSTRAINT fk_material_return_back_pick FOREIGN KEY (pick_id) REFERENCES engineering_material_pick(pick_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS engineering_material_transfer (
|
||||
transfer_id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
transfer_no VARCHAR(50) NOT NULL UNIQUE,
|
||||
material_id BIGINT NOT NULL,
|
||||
quantity DECIMAL(18,4) NOT NULL,
|
||||
from_project VARCHAR(200),
|
||||
to_project VARCHAR(200),
|
||||
transfer_date DATE,
|
||||
transfer_type VARCHAR(20),
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
remark TEXT,
|
||||
create_by VARCHAR(64) DEFAULT '',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64) DEFAULT '',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_material_transfer_material FOREIGN KEY (material_id) REFERENCES engineering_material(material_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS engineering_material_inventory (
|
||||
inventory_id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
inventory_no VARCHAR(50) NOT NULL UNIQUE,
|
||||
inventory_date DATE,
|
||||
warehouse VARCHAR(200),
|
||||
inventory_type VARCHAR(20),
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
remark TEXT,
|
||||
create_by VARCHAR(64) DEFAULT '',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64) DEFAULT '',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS engineering_material_inventory_detail (
|
||||
detail_id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
inventory_id BIGINT NOT NULL,
|
||||
material_id BIGINT NOT NULL,
|
||||
system_stock DECIMAL(18,4),
|
||||
actual_stock DECIMAL(18,4),
|
||||
diff_quantity DECIMAL(18,4),
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
remark TEXT,
|
||||
create_by VARCHAR(64) DEFAULT '',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64) DEFAULT '',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_inventory_detail_inventory FOREIGN KEY (inventory_id) REFERENCES engineering_material_inventory(inventory_id) ON DELETE CASCADE,
|
||||
CONSTRAINT fk_inventory_detail_material FOREIGN KEY (material_id) REFERENCES engineering_material(material_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS engineering_material_scrap (
|
||||
scrap_id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
scrap_no VARCHAR(50) NOT NULL UNIQUE,
|
||||
material_id BIGINT NOT NULL,
|
||||
quantity DECIMAL(18,4) NOT NULL,
|
||||
scrap_type VARCHAR(20),
|
||||
scrap_date DATE,
|
||||
reason VARCHAR(500),
|
||||
handler VARCHAR(50),
|
||||
status VARCHAR(20) DEFAULT 'pending',
|
||||
remark TEXT,
|
||||
create_by VARCHAR(64) DEFAULT '',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
update_by VARCHAR(64) DEFAULT '',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_material_scrap_material FOREIGN KEY (material_id) REFERENCES engineering_material(material_id)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS engineering_payment (
|
||||
payment_id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
contract_id BIGINT NOT NULL,
|
||||
@@ -318,9 +438,167 @@ INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame
|
||||
SELECT '物料出库', @materialMenuId, 6, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:out:add', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '物料出库' AND parent_id = @materialMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '退货单管理', @engineeringMenuId, 5, 'materialReturn', 'engineering/material/return', 1, 0, 'C', '0', '0', 'system:engineering:material:return:list', 'shopping', 'admin', CURRENT_TIMESTAMP, '', NULL, '退货单管理菜单'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '退货单管理' AND parent_id = @engineeringMenuId);
|
||||
|
||||
SET @materialReturnMenuId = (SELECT menu_id FROM sys_menu WHERE menu_name = '退货单管理' AND parent_id = @engineeringMenuId);
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '退货单查询', @materialReturnMenuId, 1, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:return:query', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '退货单查询' AND parent_id = @materialReturnMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '退货单新增', @materialReturnMenuId, 2, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:return:add', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '退货单新增' AND parent_id = @materialReturnMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '退货单修改', @materialReturnMenuId, 3, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:return:edit', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '退货单修改' AND parent_id = @materialReturnMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '退货单删除', @materialReturnMenuId, 4, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:return:remove', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '退货单删除' AND parent_id = @materialReturnMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '退货单审批', @materialReturnMenuId, 5, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:return:approve', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '退货单审批' AND parent_id = @materialReturnMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '领料单管理', @engineeringMenuId, 6, 'materialPick', 'engineering/material/pick', 1, 0, 'C', '0', '0', 'system:engineering:material:pick:list', 'shopping', 'admin', CURRENT_TIMESTAMP, '', NULL, '领料单管理菜单'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '领料单管理' AND parent_id = @engineeringMenuId);
|
||||
|
||||
SET @materialPickMenuId = (SELECT menu_id FROM sys_menu WHERE menu_name = '领料单管理' AND parent_id = @engineeringMenuId);
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '领料单查询', @materialPickMenuId, 1, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:pick:query', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '领料单查询' AND parent_id = @materialPickMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '领料单新增', @materialPickMenuId, 2, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:pick:add', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '领料单新增' AND parent_id = @materialPickMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '领料单修改', @materialPickMenuId, 3, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:pick:edit', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '领料单修改' AND parent_id = @materialPickMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '领料单删除', @materialPickMenuId, 4, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:pick:remove', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '领料单删除' AND parent_id = @materialPickMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '领料单审批', @materialPickMenuId, 5, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:pick:approve', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '领料单审批' AND parent_id = @materialPickMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '领料单发放', @materialPickMenuId, 6, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:pick:issue', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '领料单发放' AND parent_id = @materialPickMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '还料单管理', @engineeringMenuId, 7, 'materialReturnBack', 'engineering/material/returnBack', 1, 0, 'C', '0', '0', 'system:engineering:material:returnBack:list', 'shopping', 'admin', CURRENT_TIMESTAMP, '', NULL, '还料单管理菜单'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '还料单管理' AND parent_id = @engineeringMenuId);
|
||||
|
||||
SET @materialReturnBackMenuId = (SELECT menu_id FROM sys_menu WHERE menu_name = '还料单管理' AND parent_id = @engineeringMenuId);
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '还料单查询', @materialReturnBackMenuId, 1, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:returnBack:query', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '还料单查询' AND parent_id = @materialReturnBackMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '还料单新增', @materialReturnBackMenuId, 2, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:returnBack:add', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '还料单新增' AND parent_id = @materialReturnBackMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '还料单修改', @materialReturnBackMenuId, 3, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:returnBack:edit', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '还料单修改' AND parent_id = @materialReturnBackMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '还料单删除', @materialReturnBackMenuId, 4, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:returnBack:remove', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '还料单删除' AND parent_id = @materialReturnBackMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '还料单审批', @materialReturnBackMenuId, 5, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:returnBack:approve', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '还料单审批' AND parent_id = @materialReturnBackMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '调拨单管理', @engineeringMenuId, 8, 'materialTransfer', 'engineering/material/transfer', 1, 0, 'C', '0', '0', 'system:engineering:material:transfer:list', 'shopping', 'admin', CURRENT_TIMESTAMP, '', NULL, '调拨单管理菜单'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '调拨单管理' AND parent_id = @engineeringMenuId);
|
||||
|
||||
SET @materialTransferMenuId = (SELECT menu_id FROM sys_menu WHERE menu_name = '调拨单管理' AND parent_id = @engineeringMenuId);
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '调拨单查询', @materialTransferMenuId, 1, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:transfer:query', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '调拨单查询' AND parent_id = @materialTransferMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '调拨单新增', @materialTransferMenuId, 2, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:transfer:add', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '调拨单新增' AND parent_id = @materialTransferMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '调拨单修改', @materialTransferMenuId, 3, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:transfer:edit', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '调拨单修改' AND parent_id = @materialTransferMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '调拨单删除', @materialTransferMenuId, 4, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:transfer:remove', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '调拨单删除' AND parent_id = @materialTransferMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '调拨单审批', @materialTransferMenuId, 5, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:transfer:approve', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '调拨单审批' AND parent_id = @materialTransferMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '盘点单管理', @engineeringMenuId, 9, 'materialInventory', 'engineering/material/inventory', 1, 0, 'C', '0', '0', 'system:engineering:material:inventory:list', 'shopping', 'admin', CURRENT_TIMESTAMP, '', NULL, '盘点单管理菜单'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '盘点单管理' AND parent_id = @engineeringMenuId);
|
||||
|
||||
SET @materialInventoryMenuId = (SELECT menu_id FROM sys_menu WHERE menu_name = '盘点单管理' AND parent_id = @engineeringMenuId);
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '盘点单查询', @materialInventoryMenuId, 1, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:inventory:query', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '盘点单查询' AND parent_id = @materialInventoryMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '盘点单新增', @materialInventoryMenuId, 2, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:inventory:add', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '盘点单新增' AND parent_id = @materialInventoryMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '盘点单修改', @materialInventoryMenuId, 3, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:inventory:edit', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '盘点单修改' AND parent_id = @materialInventoryMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '盘点单删除', @materialInventoryMenuId, 4, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:inventory:remove', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '盘点单删除' AND parent_id = @materialInventoryMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '盘点单完成', @materialInventoryMenuId, 5, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:inventory:complete', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '盘点单完成' AND parent_id = @materialInventoryMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '盘点单调整', @materialInventoryMenuId, 6, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:inventory:adjust', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '盘点单调整' AND parent_id = @materialInventoryMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '报损报溢管理', @engineeringMenuId, 10, 'materialScrap', 'engineering/material/scrap', 1, 0, 'C', '0', '0', 'system:engineering:material:scrap:list', 'shopping', 'admin', CURRENT_TIMESTAMP, '', NULL, '报损报溢管理菜单'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '报损报溢管理' AND parent_id = @engineeringMenuId);
|
||||
|
||||
SET @materialScrapMenuId = (SELECT menu_id FROM sys_menu WHERE menu_name = '报损报溢管理' AND parent_id = @engineeringMenuId);
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '报损报溢查询', @materialScrapMenuId, 1, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:scrap:query', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '报损报溢查询' AND parent_id = @materialScrapMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '报损报溢新增', @materialScrapMenuId, 2, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:scrap:add', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '报损报溢新增' AND parent_id = @materialScrapMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '报损报溢修改', @materialScrapMenuId, 3, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:scrap:edit', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '报损报溢修改' AND parent_id = @materialScrapMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '报损报溢删除', @materialScrapMenuId, 4, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:scrap:remove', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '报损报溢删除' AND parent_id = @materialScrapMenuId);
|
||||
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '报损报溢审批', @materialScrapMenuId, 5, '#', '', 1, 0, 'F', '0', '0', 'system:engineering:material:scrap:approve', '#', 'admin', CURRENT_TIMESTAMP, '', NULL, ''
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '报损报溢审批' AND parent_id = @materialScrapMenuId);
|
||||
|
||||
-- 付款管理二级菜单
|
||||
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
SELECT '付款管理', @engineeringMenuId, 5, 'payment', 'engineering/payment/index', 1, 0, 'C', '0', '0', 'system:engineering:payment:list', 'money', 'admin', CURRENT_TIMESTAMP, '', NULL, '付款管理菜单'
|
||||
SELECT '付款管理', @engineeringMenuId, 11, 'payment', 'engineering/payment/index', 1, 0, 'C', '0', '0', 'system:engineering:payment:list', 'money', 'admin', CURRENT_TIMESTAMP, '', NULL, '付款管理菜单'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_name = '付款管理' AND parent_id = @engineeringMenuId);
|
||||
|
||||
-- 付款管理按钮
|
||||
|
||||
@@ -185,4 +185,37 @@ public class SecurityUtils
|
||||
.anyMatch(x -> Constants.SUPER_ADMIN.equals(x) || PatternMatchUtils.simpleMatch(x, role));
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户是否需要隐藏金额字段
|
||||
* 工程角色(engineering)和采购角色(purchase)需要隐藏金额字段
|
||||
*
|
||||
* @return 是否需要隐藏金额字段
|
||||
*/
|
||||
public static boolean isHideAmount()
|
||||
{
|
||||
List<SysRole> roleList = getLoginUser().getUser().getRoles();
|
||||
Collection<String> roles = roleList.stream().map(SysRole::getRoleKey).collect(Collectors.toSet());
|
||||
return roles.contains("engineering") || roles.contains("purchase");
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户是否为工程角色
|
||||
*
|
||||
* @return 是否为工程角色
|
||||
*/
|
||||
public static boolean isEngineeringRole()
|
||||
{
|
||||
return hasRole("engineering");
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户是否为采购角色
|
||||
*
|
||||
* @return 是否为采购角色
|
||||
*/
|
||||
public static boolean isPurchaseRole()
|
||||
{
|
||||
return hasRole("purchase");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ public class ConstructionController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:construction:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(Construction construction) {
|
||||
startPage();
|
||||
return constructionService.selectConstructionList(construction);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ public class ContractController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:contract:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(Contract contract) {
|
||||
startPage();
|
||||
return contractService.selectContractList(contract);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,13 @@ import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.system.domain.engineering.Material;
|
||||
import com.ruoyi.system.domain.engineering.MaterialIn;
|
||||
import com.ruoyi.system.domain.engineering.MaterialOut;
|
||||
import com.ruoyi.system.domain.engineering.MaterialReturn;
|
||||
import com.ruoyi.system.domain.engineering.MaterialPick;
|
||||
import com.ruoyi.system.domain.engineering.MaterialReturnBack;
|
||||
import com.ruoyi.system.domain.engineering.MaterialTransfer;
|
||||
import com.ruoyi.system.domain.engineering.MaterialInventory;
|
||||
import com.ruoyi.system.domain.engineering.MaterialInventoryDetail;
|
||||
import com.ruoyi.system.domain.engineering.MaterialScrap;
|
||||
import com.ruoyi.system.service.engineering.IMaterialService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -25,6 +32,7 @@ public class MaterialController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(Material material) {
|
||||
startPage();
|
||||
return materialService.selectMaterialList(material);
|
||||
}
|
||||
|
||||
@@ -91,6 +99,7 @@ public class MaterialController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:in:list')")
|
||||
@GetMapping("/in/list")
|
||||
public TableDataInfo listMaterialIn(MaterialIn materialIn) {
|
||||
startPage();
|
||||
return materialService.selectMaterialInList(materialIn);
|
||||
}
|
||||
|
||||
@@ -131,6 +140,7 @@ public class MaterialController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:out:list')")
|
||||
@GetMapping("/out/list")
|
||||
public TableDataInfo listMaterialOut(MaterialOut materialOut) {
|
||||
startPage();
|
||||
return materialService.selectMaterialOutList(materialOut);
|
||||
}
|
||||
|
||||
@@ -139,4 +149,291 @@ public class MaterialController extends BaseController {
|
||||
public AjaxResult getMaterialOut(@PathVariable Long outId) {
|
||||
return AjaxResult.success(materialService.selectMaterialOutById(outId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:return:list')")
|
||||
@GetMapping("/return/list")
|
||||
public TableDataInfo listMaterialReturn(MaterialReturn materialReturn) {
|
||||
startPage();
|
||||
return materialService.selectMaterialReturnList(materialReturn);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:return:query')")
|
||||
@GetMapping("/return/{returnId}")
|
||||
public AjaxResult getMaterialReturn(@PathVariable Long returnId) {
|
||||
return AjaxResult.success(materialService.selectMaterialReturnById(returnId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:return:add')")
|
||||
@Log(title = "退货单管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/return")
|
||||
public AjaxResult addMaterialReturn(@RequestBody MaterialReturn materialReturn) {
|
||||
return toAjax(materialService.insertMaterialReturn(materialReturn));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:return:edit')")
|
||||
@Log(title = "退货单管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/return")
|
||||
public AjaxResult updateMaterialReturn(@RequestBody MaterialReturn materialReturn) {
|
||||
return toAjax(materialService.updateMaterialReturn(materialReturn));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:return:approve')")
|
||||
@Log(title = "退货单审批", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/return/approve/{returnId}")
|
||||
public AjaxResult approveMaterialReturn(@PathVariable Long returnId) {
|
||||
return toAjax(materialService.approveMaterialReturn(returnId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:return:remove')")
|
||||
@Log(title = "退货单删除", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/return/{returnId}")
|
||||
public AjaxResult deleteMaterialReturn(@PathVariable Long returnId) {
|
||||
return toAjax(materialService.deleteMaterialReturnById(returnId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:pick:list')")
|
||||
@GetMapping("/pick/list")
|
||||
public TableDataInfo listMaterialPick(MaterialPick materialPick) {
|
||||
startPage();
|
||||
return materialService.selectMaterialPickList(materialPick);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:pick:query')")
|
||||
@GetMapping("/pick/{pickId}")
|
||||
public AjaxResult getMaterialPick(@PathVariable Long pickId) {
|
||||
return AjaxResult.success(materialService.selectMaterialPickById(pickId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:pick:add')")
|
||||
@Log(title = "领料单管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/pick")
|
||||
public AjaxResult addMaterialPick(@RequestBody MaterialPick materialPick) {
|
||||
return toAjax(materialService.insertMaterialPick(materialPick));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:pick:edit')")
|
||||
@Log(title = "领料单管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/pick")
|
||||
public AjaxResult updateMaterialPick(@RequestBody MaterialPick materialPick) {
|
||||
return toAjax(materialService.updateMaterialPick(materialPick));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:pick:approve')")
|
||||
@Log(title = "领料单审批", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/pick/approve/{pickId}")
|
||||
public AjaxResult approveMaterialPick(@PathVariable Long pickId) {
|
||||
return toAjax(materialService.approveMaterialPick(pickId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:pick:issue')")
|
||||
@Log(title = "领料单发放", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/pick/issue/{pickId}")
|
||||
public AjaxResult issueMaterialPick(@PathVariable Long pickId) {
|
||||
return toAjax(materialService.issueMaterialPick(pickId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:pick:remove')")
|
||||
@Log(title = "领料单删除", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/pick/{pickId}")
|
||||
public AjaxResult deleteMaterialPick(@PathVariable Long pickId) {
|
||||
return toAjax(materialService.deleteMaterialPickById(pickId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:returnBack:list')")
|
||||
@GetMapping("/returnBack/list")
|
||||
public TableDataInfo listMaterialReturnBack(MaterialReturnBack materialReturnBack) {
|
||||
startPage();
|
||||
return materialService.selectMaterialReturnBackList(materialReturnBack);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:returnBack:query')")
|
||||
@GetMapping("/returnBack/{returnBackId}")
|
||||
public AjaxResult getMaterialReturnBack(@PathVariable Long returnBackId) {
|
||||
return AjaxResult.success(materialService.selectMaterialReturnBackById(returnBackId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:returnBack:add')")
|
||||
@Log(title = "还料单管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/returnBack")
|
||||
public AjaxResult addMaterialReturnBack(@RequestBody MaterialReturnBack materialReturnBack) {
|
||||
return toAjax(materialService.insertMaterialReturnBack(materialReturnBack));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:returnBack:edit')")
|
||||
@Log(title = "还料单管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/returnBack")
|
||||
public AjaxResult updateMaterialReturnBack(@RequestBody MaterialReturnBack materialReturnBack) {
|
||||
return toAjax(materialService.updateMaterialReturnBack(materialReturnBack));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:returnBack:approve')")
|
||||
@Log(title = "还料单审批", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/returnBack/approve/{returnBackId}")
|
||||
public AjaxResult approveMaterialReturnBack(@PathVariable Long returnBackId) {
|
||||
return toAjax(materialService.approveMaterialReturnBack(returnBackId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:returnBack:remove')")
|
||||
@Log(title = "还料单删除", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/returnBack/{returnBackId}")
|
||||
public AjaxResult deleteMaterialReturnBack(@PathVariable Long returnBackId) {
|
||||
return toAjax(materialService.deleteMaterialReturnBackById(returnBackId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:transfer:list')")
|
||||
@GetMapping("/transfer/list")
|
||||
public TableDataInfo listMaterialTransfer(MaterialTransfer materialTransfer) {
|
||||
startPage();
|
||||
return materialService.selectMaterialTransferList(materialTransfer);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:transfer:query')")
|
||||
@GetMapping("/transfer/{transferId}")
|
||||
public AjaxResult getMaterialTransfer(@PathVariable Long transferId) {
|
||||
return AjaxResult.success(materialService.selectMaterialTransferById(transferId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:transfer:add')")
|
||||
@Log(title = "调拨单管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/transfer")
|
||||
public AjaxResult addMaterialTransfer(@RequestBody MaterialTransfer materialTransfer) {
|
||||
return toAjax(materialService.insertMaterialTransfer(materialTransfer));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:transfer:edit')")
|
||||
@Log(title = "调拨单管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/transfer")
|
||||
public AjaxResult updateMaterialTransfer(@RequestBody MaterialTransfer materialTransfer) {
|
||||
return toAjax(materialService.updateMaterialTransfer(materialTransfer));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:transfer:approve')")
|
||||
@Log(title = "调拨单审批", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/transfer/approve/{transferId}")
|
||||
public AjaxResult approveMaterialTransfer(@PathVariable Long transferId) {
|
||||
return toAjax(materialService.approveMaterialTransfer(transferId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:transfer:remove')")
|
||||
@Log(title = "调拨单删除", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/transfer/{transferId}")
|
||||
public AjaxResult deleteMaterialTransfer(@PathVariable Long transferId) {
|
||||
return toAjax(materialService.deleteMaterialTransferById(transferId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:list')")
|
||||
@GetMapping("/inventory/list")
|
||||
public TableDataInfo listMaterialInventory(MaterialInventory materialInventory) {
|
||||
startPage();
|
||||
return materialService.selectMaterialInventoryList(materialInventory);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:query')")
|
||||
@GetMapping("/inventory/{inventoryId}")
|
||||
public AjaxResult getMaterialInventory(@PathVariable Long inventoryId) {
|
||||
return AjaxResult.success(materialService.selectMaterialInventoryById(inventoryId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:add')")
|
||||
@Log(title = "盘点单管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/inventory")
|
||||
public AjaxResult addMaterialInventory(@RequestBody MaterialInventory materialInventory) {
|
||||
return toAjax(materialService.insertMaterialInventory(materialInventory));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:edit')")
|
||||
@Log(title = "盘点单管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/inventory")
|
||||
public AjaxResult updateMaterialInventory(@RequestBody MaterialInventory materialInventory) {
|
||||
return toAjax(materialService.updateMaterialInventory(materialInventory));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:complete')")
|
||||
@Log(title = "盘点单完成", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/inventory/complete/{inventoryId}")
|
||||
public AjaxResult completeMaterialInventory(@PathVariable Long inventoryId) {
|
||||
return toAjax(materialService.completeMaterialInventory(inventoryId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:adjust')")
|
||||
@Log(title = "盘点单调整", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/inventory/adjust/{inventoryId}")
|
||||
public AjaxResult adjustMaterialInventory(@PathVariable Long inventoryId) {
|
||||
return toAjax(materialService.adjustMaterialInventory(inventoryId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:remove')")
|
||||
@Log(title = "盘点单删除", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/inventory/{inventoryId}")
|
||||
public AjaxResult deleteMaterialInventory(@PathVariable Long inventoryId) {
|
||||
return toAjax(materialService.deleteMaterialInventoryById(inventoryId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:detail:list')")
|
||||
@GetMapping("/inventory/detail/{inventoryId}")
|
||||
public AjaxResult getMaterialInventoryDetail(@PathVariable Long inventoryId) {
|
||||
return AjaxResult.success(materialService.selectMaterialInventoryDetailList(inventoryId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:detail:add')")
|
||||
@Log(title = "盘点明细管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/inventory/detail")
|
||||
public AjaxResult addMaterialInventoryDetail(@RequestBody MaterialInventoryDetail detail) {
|
||||
return toAjax(materialService.insertMaterialInventoryDetail(detail));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:detail:edit')")
|
||||
@Log(title = "盘点明细管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/inventory/detail")
|
||||
public AjaxResult updateMaterialInventoryDetail(@RequestBody MaterialInventoryDetail detail) {
|
||||
return toAjax(materialService.updateMaterialInventoryDetail(detail));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:inventory:detail:adjust')")
|
||||
@Log(title = "盘点明细调整", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/inventory/detail/adjust/{detailId}")
|
||||
public AjaxResult adjustMaterialInventoryDetail(@PathVariable Long detailId) {
|
||||
return toAjax(materialService.adjustMaterialInventoryDetail(detailId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:scrap:list')")
|
||||
@GetMapping("/scrap/list")
|
||||
public TableDataInfo listMaterialScrap(MaterialScrap materialScrap) {
|
||||
startPage();
|
||||
return materialService.selectMaterialScrapList(materialScrap);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:scrap:query')")
|
||||
@GetMapping("/scrap/{scrapId}")
|
||||
public AjaxResult getMaterialScrap(@PathVariable Long scrapId) {
|
||||
return AjaxResult.success(materialService.selectMaterialScrapById(scrapId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:scrap:add')")
|
||||
@Log(title = "报损报溢管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/scrap")
|
||||
public AjaxResult addMaterialScrap(@RequestBody MaterialScrap materialScrap) {
|
||||
return toAjax(materialService.insertMaterialScrap(materialScrap));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:scrap:edit')")
|
||||
@Log(title = "报损报溢管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/scrap")
|
||||
public AjaxResult updateMaterialScrap(@RequestBody MaterialScrap materialScrap) {
|
||||
return toAjax(materialService.updateMaterialScrap(materialScrap));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:scrap:approve')")
|
||||
@Log(title = "报损报溢审批", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/scrap/approve/{scrapId}")
|
||||
public AjaxResult approveMaterialScrap(@PathVariable Long scrapId) {
|
||||
return toAjax(materialService.approveMaterialScrap(scrapId));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:material:scrap:remove')")
|
||||
@Log(title = "报损报溢删除", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/scrap/{scrapId}")
|
||||
public AjaxResult deleteMaterialScrap(@PathVariable Long scrapId) {
|
||||
return toAjax(materialService.deleteMaterialScrapById(scrapId));
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,7 @@ public class PaymentController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:payment:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(Payment payment) {
|
||||
startPage();
|
||||
return paymentService.selectPaymentList(payment);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ public class SupplierController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('system:engineering:supplier:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(Supplier supplier) {
|
||||
startPage();
|
||||
return supplierService.selectSupplierList(supplier);
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ public class Construction extends BaseEntity {
|
||||
@Excel(name = "阶段编码")
|
||||
private String phaseCode;
|
||||
|
||||
private Long parentPhaseId;
|
||||
private Long parentId;
|
||||
|
||||
private String constructionContent;
|
||||
|
||||
@@ -133,12 +133,12 @@ public class Construction extends BaseEntity {
|
||||
this.phaseCode = phaseCode;
|
||||
}
|
||||
|
||||
public Long getParentPhaseId() {
|
||||
return parentPhaseId;
|
||||
public Long getParentId() {
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setParentPhaseId(Long parentPhaseId) {
|
||||
this.parentPhaseId = parentPhaseId;
|
||||
public void setParentId(Long parentId) {
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public String getConstructionContent() {
|
||||
@@ -346,6 +346,10 @@ public class Construction extends BaseEntity {
|
||||
.toString();
|
||||
}
|
||||
|
||||
private boolean getParentPhaseId() {
|
||||
return false;
|
||||
}
|
||||
|
||||
private Integer delFlag;
|
||||
|
||||
public Integer getDelFlag() {
|
||||
|
||||
@@ -29,7 +29,7 @@ public class Material extends BaseEntity {
|
||||
private String materialType;
|
||||
|
||||
@Excel(name = "物料分类")
|
||||
private String materialCategory;
|
||||
private String category;
|
||||
|
||||
@Size(max = 200, message = "规格型号长度不能超过200个字符")
|
||||
@Excel(name = "规格型号")
|
||||
@@ -123,12 +123,12 @@ public class Material extends BaseEntity {
|
||||
this.materialType = materialType;
|
||||
}
|
||||
|
||||
public String getMaterialCategory() {
|
||||
return materialCategory;
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
||||
public void setMaterialCategory(String materialCategory) {
|
||||
this.materialCategory = materialCategory;
|
||||
public void setCategory(String category) {
|
||||
this.category = category;
|
||||
}
|
||||
|
||||
public String getSpecification() {
|
||||
@@ -317,6 +317,10 @@ public class Material extends BaseEntity {
|
||||
.toString();
|
||||
}
|
||||
|
||||
private boolean getMaterialCategory() {
|
||||
return false;
|
||||
}
|
||||
|
||||
private Integer delFlag;
|
||||
|
||||
public Integer getDelFlag() {
|
||||
|
||||
@@ -59,6 +59,14 @@ public class MaterialIn extends BaseEntity {
|
||||
@Excel(name = "状态", readConverterExp = "pending=待审核,approved=已审核,canceled=已取消")
|
||||
private String status;
|
||||
|
||||
private Long contractId;
|
||||
|
||||
@Excel(name = "合同编号")
|
||||
private String contractNo;
|
||||
|
||||
@Excel(name = "合同名称")
|
||||
private String contractName;
|
||||
|
||||
private String remark;
|
||||
|
||||
public Long getInId() {
|
||||
@@ -181,6 +189,30 @@ public class MaterialIn extends BaseEntity {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Long getContractId() {
|
||||
return contractId;
|
||||
}
|
||||
|
||||
public void setContractId(Long contractId) {
|
||||
this.contractId = contractId;
|
||||
}
|
||||
|
||||
public String getContractNo() {
|
||||
return contractNo;
|
||||
}
|
||||
|
||||
public void setContractNo(String contractNo) {
|
||||
this.contractNo = contractNo;
|
||||
}
|
||||
|
||||
public String getContractName() {
|
||||
return contractName;
|
||||
}
|
||||
|
||||
public void setContractName(String contractName) {
|
||||
this.contractName = contractName;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
@@ -207,6 +239,9 @@ public class MaterialIn extends BaseEntity {
|
||||
.append("warehouse", getWarehouse())
|
||||
.append("location", getLocation())
|
||||
.append("status", getStatus())
|
||||
.append("contractId", getContractId())
|
||||
.append("contractNo", getContractNo())
|
||||
.append("contractName", getContractName())
|
||||
.append("remark", getRemark())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
|
||||
@@ -0,0 +1,142 @@
|
||||
package com.ruoyi.system.domain.engineering;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class MaterialInventory extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long inventoryId;
|
||||
|
||||
@Excel(name = "盘点单号")
|
||||
private String inventoryNo;
|
||||
|
||||
@Excel(name = "盘点日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date inventoryDate;
|
||||
|
||||
@Excel(name = "仓库")
|
||||
private String warehouse;
|
||||
|
||||
@Excel(name = "盘点类型", readConverterExp = "full=全盘,partial=抽盘")
|
||||
private String inventoryType;
|
||||
|
||||
@Excel(name = "状态", readConverterExp = "pending=待盘点,in_progress=盘点中,completed=已完成,adjusted=已调整")
|
||||
private String status;
|
||||
|
||||
@Excel(name = "盘点人员")
|
||||
private String inventoryPerson;
|
||||
|
||||
@Excel(name = "差异数量")
|
||||
private BigDecimal diffQuantity;
|
||||
|
||||
@Excel(name = "差异金额")
|
||||
private BigDecimal diffAmount;
|
||||
|
||||
@Excel(name = "备注")
|
||||
private String remark;
|
||||
|
||||
public Long getInventoryId() {
|
||||
return inventoryId;
|
||||
}
|
||||
|
||||
public void setInventoryId(Long inventoryId) {
|
||||
this.inventoryId = inventoryId;
|
||||
}
|
||||
|
||||
public String getInventoryNo() {
|
||||
return inventoryNo;
|
||||
}
|
||||
|
||||
public void setInventoryNo(String inventoryNo) {
|
||||
this.inventoryNo = inventoryNo;
|
||||
}
|
||||
|
||||
public Date getInventoryDate() {
|
||||
return inventoryDate;
|
||||
}
|
||||
|
||||
public void setInventoryDate(Date inventoryDate) {
|
||||
this.inventoryDate = inventoryDate;
|
||||
}
|
||||
|
||||
public String getWarehouse() {
|
||||
return warehouse;
|
||||
}
|
||||
|
||||
public void setWarehouse(String warehouse) {
|
||||
this.warehouse = warehouse;
|
||||
}
|
||||
|
||||
public String getInventoryType() {
|
||||
return inventoryType;
|
||||
}
|
||||
|
||||
public void setInventoryType(String inventoryType) {
|
||||
this.inventoryType = inventoryType;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getInventoryPerson() {
|
||||
return inventoryPerson;
|
||||
}
|
||||
|
||||
public void setInventoryPerson(String inventoryPerson) {
|
||||
this.inventoryPerson = inventoryPerson;
|
||||
}
|
||||
|
||||
public BigDecimal getDiffQuantity() {
|
||||
return diffQuantity;
|
||||
}
|
||||
|
||||
public void setDiffQuantity(BigDecimal diffQuantity) {
|
||||
this.diffQuantity = diffQuantity;
|
||||
}
|
||||
|
||||
public BigDecimal getDiffAmount() {
|
||||
return diffAmount;
|
||||
}
|
||||
|
||||
public void setDiffAmount(BigDecimal diffAmount) {
|
||||
this.diffAmount = diffAmount;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("inventoryId", getInventoryId())
|
||||
.append("inventoryNo", getInventoryNo())
|
||||
.append("inventoryDate", getInventoryDate())
|
||||
.append("warehouse", getWarehouse())
|
||||
.append("inventoryType", getInventoryType())
|
||||
.append("status", getStatus())
|
||||
.append("inventoryPerson", getInventoryPerson())
|
||||
.append("diffQuantity", getDiffQuantity())
|
||||
.append("diffAmount", getDiffAmount())
|
||||
.append("remark", getRemark())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
package com.ruoyi.system.domain.engineering;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class MaterialInventoryDetail extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long detailId;
|
||||
|
||||
private Long inventoryId;
|
||||
|
||||
private Long materialId;
|
||||
|
||||
@Excel(name = "物料编码")
|
||||
private String materialCode;
|
||||
|
||||
@Excel(name = "物料名称")
|
||||
private String materialName;
|
||||
|
||||
@Excel(name = "规格型号")
|
||||
private String specification;
|
||||
|
||||
@Excel(name = "计量单位")
|
||||
private String unit;
|
||||
|
||||
@Excel(name = "系统库存")
|
||||
private BigDecimal systemStock;
|
||||
|
||||
@Excel(name = "实际库存")
|
||||
private BigDecimal actualStock;
|
||||
|
||||
@Excel(name = "差异数量")
|
||||
private BigDecimal diffQuantity;
|
||||
|
||||
@Excel(name = "差异原因")
|
||||
private String diffReason;
|
||||
|
||||
@Excel(name = "处理状态", readConverterExp = "pending=待处理,adjusted=已调整")
|
||||
private String status;
|
||||
|
||||
@Excel(name = "备注")
|
||||
private String remark;
|
||||
|
||||
public Long getDetailId() {
|
||||
return detailId;
|
||||
}
|
||||
|
||||
public void setDetailId(Long detailId) {
|
||||
this.detailId = detailId;
|
||||
}
|
||||
|
||||
public Long getInventoryId() {
|
||||
return inventoryId;
|
||||
}
|
||||
|
||||
public void setInventoryId(Long inventoryId) {
|
||||
this.inventoryId = inventoryId;
|
||||
}
|
||||
|
||||
public Long getMaterialId() {
|
||||
return materialId;
|
||||
}
|
||||
|
||||
public void setMaterialId(Long materialId) {
|
||||
this.materialId = materialId;
|
||||
}
|
||||
|
||||
public String getMaterialCode() {
|
||||
return materialCode;
|
||||
}
|
||||
|
||||
public void setMaterialCode(String materialCode) {
|
||||
this.materialCode = materialCode;
|
||||
}
|
||||
|
||||
public String getMaterialName() {
|
||||
return materialName;
|
||||
}
|
||||
|
||||
public void setMaterialName(String materialName) {
|
||||
this.materialName = materialName;
|
||||
}
|
||||
|
||||
public String getSpecification() {
|
||||
return specification;
|
||||
}
|
||||
|
||||
public void setSpecification(String specification) {
|
||||
this.specification = specification;
|
||||
}
|
||||
|
||||
public String getUnit() {
|
||||
return unit;
|
||||
}
|
||||
|
||||
public void setUnit(String unit) {
|
||||
this.unit = unit;
|
||||
}
|
||||
|
||||
public BigDecimal getSystemStock() {
|
||||
return systemStock;
|
||||
}
|
||||
|
||||
public void setSystemStock(BigDecimal systemStock) {
|
||||
this.systemStock = systemStock;
|
||||
}
|
||||
|
||||
public BigDecimal getActualStock() {
|
||||
return actualStock;
|
||||
}
|
||||
|
||||
public void setActualStock(BigDecimal actualStock) {
|
||||
this.actualStock = actualStock;
|
||||
}
|
||||
|
||||
public BigDecimal getDiffQuantity() {
|
||||
return diffQuantity;
|
||||
}
|
||||
|
||||
public void setDiffQuantity(BigDecimal diffQuantity) {
|
||||
this.diffQuantity = diffQuantity;
|
||||
}
|
||||
|
||||
public String getDiffReason() {
|
||||
return diffReason;
|
||||
}
|
||||
|
||||
public void setDiffReason(String diffReason) {
|
||||
this.diffReason = diffReason;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("detailId", getDetailId())
|
||||
.append("inventoryId", getInventoryId())
|
||||
.append("materialId", getMaterialId())
|
||||
.append("materialCode", getMaterialCode())
|
||||
.append("materialName", getMaterialName())
|
||||
.append("specification", getSpecification())
|
||||
.append("unit", getUnit())
|
||||
.append("systemStock", getSystemStock())
|
||||
.append("actualStock", getActualStock())
|
||||
.append("diffQuantity", getDiffQuantity())
|
||||
.append("diffReason", getDiffReason())
|
||||
.append("status", getStatus())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -62,6 +62,16 @@ public class MaterialOut extends BaseEntity {
|
||||
@Excel(name = "状态", readConverterExp = "pending=待审核,approved=已审核,canceled=已取消")
|
||||
private String status;
|
||||
|
||||
private Long constructionId;
|
||||
|
||||
@Excel(name = "施工节点")
|
||||
private String constructionName;
|
||||
|
||||
private Long contractId;
|
||||
|
||||
@Excel(name = "合同编号")
|
||||
private String contractNo;
|
||||
|
||||
private String remark;
|
||||
|
||||
public Long getOutId() {
|
||||
@@ -192,6 +202,38 @@ public class MaterialOut extends BaseEntity {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Long getConstructionId() {
|
||||
return constructionId;
|
||||
}
|
||||
|
||||
public void setConstructionId(Long constructionId) {
|
||||
this.constructionId = constructionId;
|
||||
}
|
||||
|
||||
public String getConstructionName() {
|
||||
return constructionName;
|
||||
}
|
||||
|
||||
public void setConstructionName(String constructionName) {
|
||||
this.constructionName = constructionName;
|
||||
}
|
||||
|
||||
public Long getContractId() {
|
||||
return contractId;
|
||||
}
|
||||
|
||||
public void setContractId(Long contractId) {
|
||||
this.contractId = contractId;
|
||||
}
|
||||
|
||||
public String getContractNo() {
|
||||
return contractNo;
|
||||
}
|
||||
|
||||
public void setContractNo(String contractNo) {
|
||||
this.contractNo = contractNo;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
@@ -219,6 +261,10 @@ public class MaterialOut extends BaseEntity {
|
||||
.append("warehouse", getWarehouse())
|
||||
.append("location", getLocation())
|
||||
.append("status", getStatus())
|
||||
.append("constructionId", getConstructionId())
|
||||
.append("constructionName", getConstructionName())
|
||||
.append("contractId", getContractId())
|
||||
.append("contractNo", getContractNo())
|
||||
.append("remark", getRemark())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
|
||||
@@ -0,0 +1,261 @@
|
||||
package com.ruoyi.system.domain.engineering;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class MaterialPick extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long pickId;
|
||||
|
||||
@Excel(name = "领料单号")
|
||||
private String pickNo;
|
||||
|
||||
@NotNull(message = "物料ID不能为空")
|
||||
private Long materialId;
|
||||
|
||||
@Excel(name = "物料编码")
|
||||
private String materialCode;
|
||||
|
||||
@Excel(name = "物料名称")
|
||||
private String materialName;
|
||||
|
||||
@NotNull(message = "领料数量不能为空")
|
||||
@Excel(name = "领料数量")
|
||||
private BigDecimal quantity;
|
||||
|
||||
@Excel(name = "单价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
@Excel(name = "金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Excel(name = "领料日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date pickDate;
|
||||
|
||||
@Excel(name = "使用部门")
|
||||
private String deptName;
|
||||
|
||||
@Excel(name = "领用人")
|
||||
private String receiver;
|
||||
|
||||
@Excel(name = "用途")
|
||||
private String purpose;
|
||||
|
||||
@Excel(name = "仓库")
|
||||
private String warehouse;
|
||||
|
||||
@Excel(name = "库位")
|
||||
private String location;
|
||||
|
||||
@Excel(name = "状态", readConverterExp = "pending=待审核,approved=已审核,issued=已发放,canceled=已取消")
|
||||
private String status;
|
||||
|
||||
private Long constructionId;
|
||||
|
||||
@Excel(name = "施工节点")
|
||||
private String constructionName;
|
||||
|
||||
private Long contractId;
|
||||
|
||||
@Excel(name = "合同编号")
|
||||
private String contractNo;
|
||||
|
||||
private String remark;
|
||||
|
||||
public Long getPickId() {
|
||||
return pickId;
|
||||
}
|
||||
|
||||
public void setPickId(Long pickId) {
|
||||
this.pickId = pickId;
|
||||
}
|
||||
|
||||
public String getPickNo() {
|
||||
return pickNo;
|
||||
}
|
||||
|
||||
public void setPickNo(String pickNo) {
|
||||
this.pickNo = pickNo;
|
||||
}
|
||||
|
||||
public Long getMaterialId() {
|
||||
return materialId;
|
||||
}
|
||||
|
||||
public void setMaterialId(Long materialId) {
|
||||
this.materialId = materialId;
|
||||
}
|
||||
|
||||
public String getMaterialCode() {
|
||||
return materialCode;
|
||||
}
|
||||
|
||||
public void setMaterialCode(String materialCode) {
|
||||
this.materialCode = materialCode;
|
||||
}
|
||||
|
||||
public String getMaterialName() {
|
||||
return materialName;
|
||||
}
|
||||
|
||||
public void setMaterialName(String materialName) {
|
||||
this.materialName = materialName;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal quantity) {
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public BigDecimal getUnitPrice() {
|
||||
return unitPrice;
|
||||
}
|
||||
|
||||
public void setUnitPrice(BigDecimal unitPrice) {
|
||||
this.unitPrice = unitPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public Date getPickDate() {
|
||||
return pickDate;
|
||||
}
|
||||
|
||||
public void setPickDate(Date pickDate) {
|
||||
this.pickDate = pickDate;
|
||||
}
|
||||
|
||||
public String getDeptName() {
|
||||
return deptName;
|
||||
}
|
||||
|
||||
public void setDeptName(String deptName) {
|
||||
this.deptName = deptName;
|
||||
}
|
||||
|
||||
public String getReceiver() {
|
||||
return receiver;
|
||||
}
|
||||
|
||||
public void setReceiver(String receiver) {
|
||||
this.receiver = receiver;
|
||||
}
|
||||
|
||||
public String getPurpose() {
|
||||
return purpose;
|
||||
}
|
||||
|
||||
public void setPurpose(String purpose) {
|
||||
this.purpose = purpose;
|
||||
}
|
||||
|
||||
public String getWarehouse() {
|
||||
return warehouse;
|
||||
}
|
||||
|
||||
public void setWarehouse(String warehouse) {
|
||||
this.warehouse = warehouse;
|
||||
}
|
||||
|
||||
public String getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
public void setLocation(String location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Long getConstructionId() {
|
||||
return constructionId;
|
||||
}
|
||||
|
||||
public void setConstructionId(Long constructionId) {
|
||||
this.constructionId = constructionId;
|
||||
}
|
||||
|
||||
public String getConstructionName() {
|
||||
return constructionName;
|
||||
}
|
||||
|
||||
public void setConstructionName(String constructionName) {
|
||||
this.constructionName = constructionName;
|
||||
}
|
||||
|
||||
public Long getContractId() {
|
||||
return contractId;
|
||||
}
|
||||
|
||||
public void setContractId(Long contractId) {
|
||||
this.contractId = contractId;
|
||||
}
|
||||
|
||||
public String getContractNo() {
|
||||
return contractNo;
|
||||
}
|
||||
|
||||
public void setContractNo(String contractNo) {
|
||||
this.contractNo = contractNo;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("pickId", getPickId())
|
||||
.append("pickNo", getPickNo())
|
||||
.append("materialId", getMaterialId())
|
||||
.append("materialCode", getMaterialCode())
|
||||
.append("materialName", getMaterialName())
|
||||
.append("quantity", getQuantity())
|
||||
.append("unitPrice", getUnitPrice())
|
||||
.append("amount", getAmount())
|
||||
.append("pickDate", getPickDate())
|
||||
.append("deptName", getDeptName())
|
||||
.append("receiver", getReceiver())
|
||||
.append("purpose", getPurpose())
|
||||
.append("warehouse", getWarehouse())
|
||||
.append("location", getLocation())
|
||||
.append("status", getStatus())
|
||||
.append("constructionId", getConstructionId())
|
||||
.append("constructionName", getConstructionName())
|
||||
.append("contractId", getContractId())
|
||||
.append("contractNo", getContractNo())
|
||||
.append("remark", getRemark())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,237 @@
|
||||
package com.ruoyi.system.domain.engineering;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class MaterialReturn extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long returnId;
|
||||
|
||||
@Excel(name = "退货单号")
|
||||
private String returnNo;
|
||||
|
||||
@NotNull(message = "物料ID不能为空")
|
||||
private Long materialId;
|
||||
|
||||
@Excel(name = "物料编码")
|
||||
private String materialCode;
|
||||
|
||||
@Excel(name = "物料名称")
|
||||
private String materialName;
|
||||
|
||||
@NotNull(message = "退货数量不能为空")
|
||||
@Excel(name = "退货数量")
|
||||
private BigDecimal quantity;
|
||||
|
||||
@Excel(name = "单价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
@Excel(name = "金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Excel(name = "退货日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date returnDate;
|
||||
|
||||
@Excel(name = "退货原因")
|
||||
private String returnReason;
|
||||
|
||||
private Long supplierId;
|
||||
|
||||
@Excel(name = "供应商名称")
|
||||
private String supplierName;
|
||||
|
||||
@Excel(name = "仓库")
|
||||
private String warehouse;
|
||||
|
||||
@Excel(name = "库位")
|
||||
private String location;
|
||||
|
||||
@Excel(name = "状态", readConverterExp = "pending=待审核,approved=已审核,canceled=已取消")
|
||||
private String status;
|
||||
|
||||
private Long contractId;
|
||||
|
||||
@Excel(name = "合同编号")
|
||||
private String contractNo;
|
||||
|
||||
private String remark;
|
||||
|
||||
public Long getReturnId() {
|
||||
return returnId;
|
||||
}
|
||||
|
||||
public void setReturnId(Long returnId) {
|
||||
this.returnId = returnId;
|
||||
}
|
||||
|
||||
public String getReturnNo() {
|
||||
return returnNo;
|
||||
}
|
||||
|
||||
public void setReturnNo(String returnNo) {
|
||||
this.returnNo = returnNo;
|
||||
}
|
||||
|
||||
public Long getMaterialId() {
|
||||
return materialId;
|
||||
}
|
||||
|
||||
public void setMaterialId(Long materialId) {
|
||||
this.materialId = materialId;
|
||||
}
|
||||
|
||||
public String getMaterialCode() {
|
||||
return materialCode;
|
||||
}
|
||||
|
||||
public void setMaterialCode(String materialCode) {
|
||||
this.materialCode = materialCode;
|
||||
}
|
||||
|
||||
public String getMaterialName() {
|
||||
return materialName;
|
||||
}
|
||||
|
||||
public void setMaterialName(String materialName) {
|
||||
this.materialName = materialName;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal quantity) {
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public BigDecimal getUnitPrice() {
|
||||
return unitPrice;
|
||||
}
|
||||
|
||||
public void setUnitPrice(BigDecimal unitPrice) {
|
||||
this.unitPrice = unitPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public Date getReturnDate() {
|
||||
return returnDate;
|
||||
}
|
||||
|
||||
public void setReturnDate(Date returnDate) {
|
||||
this.returnDate = returnDate;
|
||||
}
|
||||
|
||||
public String getReturnReason() {
|
||||
return returnReason;
|
||||
}
|
||||
|
||||
public void setReturnReason(String returnReason) {
|
||||
this.returnReason = returnReason;
|
||||
}
|
||||
|
||||
public Long getSupplierId() {
|
||||
return supplierId;
|
||||
}
|
||||
|
||||
public void setSupplierId(Long supplierId) {
|
||||
this.supplierId = supplierId;
|
||||
}
|
||||
|
||||
public String getSupplierName() {
|
||||
return supplierName;
|
||||
}
|
||||
|
||||
public void setSupplierName(String supplierName) {
|
||||
this.supplierName = supplierName;
|
||||
}
|
||||
|
||||
public String getWarehouse() {
|
||||
return warehouse;
|
||||
}
|
||||
|
||||
public void setWarehouse(String warehouse) {
|
||||
this.warehouse = warehouse;
|
||||
}
|
||||
|
||||
public String getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
public void setLocation(String location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Long getContractId() {
|
||||
return contractId;
|
||||
}
|
||||
|
||||
public void setContractId(Long contractId) {
|
||||
this.contractId = contractId;
|
||||
}
|
||||
|
||||
public String getContractNo() {
|
||||
return contractNo;
|
||||
}
|
||||
|
||||
public void setContractNo(String contractNo) {
|
||||
this.contractNo = contractNo;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("returnId", getReturnId())
|
||||
.append("returnNo", getReturnNo())
|
||||
.append("materialId", getMaterialId())
|
||||
.append("materialCode", getMaterialCode())
|
||||
.append("materialName", getMaterialName())
|
||||
.append("quantity", getQuantity())
|
||||
.append("unitPrice", getUnitPrice())
|
||||
.append("amount", getAmount())
|
||||
.append("returnDate", getReturnDate())
|
||||
.append("returnReason", getReturnReason())
|
||||
.append("supplierId", getSupplierId())
|
||||
.append("supplierName", getSupplierName())
|
||||
.append("warehouse", getWarehouse())
|
||||
.append("location", getLocation())
|
||||
.append("status", getStatus())
|
||||
.append("contractId", getContractId())
|
||||
.append("contractNo", getContractNo())
|
||||
.append("remark", getRemark())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,226 @@
|
||||
package com.ruoyi.system.domain.engineering;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class MaterialReturnBack extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long returnBackId;
|
||||
|
||||
@Excel(name = "还料单号")
|
||||
private String returnBackNo;
|
||||
|
||||
private Long pickId;
|
||||
|
||||
@Excel(name = "原领料单号")
|
||||
private String pickNo;
|
||||
|
||||
@NotNull(message = "物料ID不能为空")
|
||||
private Long materialId;
|
||||
|
||||
@Excel(name = "物料编码")
|
||||
private String materialCode;
|
||||
|
||||
@Excel(name = "物料名称")
|
||||
private String materialName;
|
||||
|
||||
@NotNull(message = "还料数量不能为空")
|
||||
@Excel(name = "还料数量")
|
||||
private BigDecimal quantity;
|
||||
|
||||
@Excel(name = "单价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
@Excel(name = "金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Excel(name = "还料日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date returnBackDate;
|
||||
|
||||
@Excel(name = "使用部门")
|
||||
private String deptName;
|
||||
|
||||
@Excel(name = "还料人")
|
||||
private String returnBackPerson;
|
||||
|
||||
@Excel(name = "仓库")
|
||||
private String warehouse;
|
||||
|
||||
@Excel(name = "库位")
|
||||
private String location;
|
||||
|
||||
@Excel(name = "状态", readConverterExp = "pending=待审核,approved=已审核,canceled=已取消")
|
||||
private String status;
|
||||
|
||||
private String remark;
|
||||
|
||||
public Long getReturnBackId() {
|
||||
return returnBackId;
|
||||
}
|
||||
|
||||
public void setReturnBackId(Long returnBackId) {
|
||||
this.returnBackId = returnBackId;
|
||||
}
|
||||
|
||||
public String getReturnBackNo() {
|
||||
return returnBackNo;
|
||||
}
|
||||
|
||||
public void setReturnBackNo(String returnBackNo) {
|
||||
this.returnBackNo = returnBackNo;
|
||||
}
|
||||
|
||||
public Long getPickId() {
|
||||
return pickId;
|
||||
}
|
||||
|
||||
public void setPickId(Long pickId) {
|
||||
this.pickId = pickId;
|
||||
}
|
||||
|
||||
public String getPickNo() {
|
||||
return pickNo;
|
||||
}
|
||||
|
||||
public void setPickNo(String pickNo) {
|
||||
this.pickNo = pickNo;
|
||||
}
|
||||
|
||||
public Long getMaterialId() {
|
||||
return materialId;
|
||||
}
|
||||
|
||||
public void setMaterialId(Long materialId) {
|
||||
this.materialId = materialId;
|
||||
}
|
||||
|
||||
public String getMaterialCode() {
|
||||
return materialCode;
|
||||
}
|
||||
|
||||
public void setMaterialCode(String materialCode) {
|
||||
this.materialCode = materialCode;
|
||||
}
|
||||
|
||||
public String getMaterialName() {
|
||||
return materialName;
|
||||
}
|
||||
|
||||
public void setMaterialName(String materialName) {
|
||||
this.materialName = materialName;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal quantity) {
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public BigDecimal getUnitPrice() {
|
||||
return unitPrice;
|
||||
}
|
||||
|
||||
public void setUnitPrice(BigDecimal unitPrice) {
|
||||
this.unitPrice = unitPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public Date getReturnBackDate() {
|
||||
return returnBackDate;
|
||||
}
|
||||
|
||||
public void setReturnBackDate(Date returnBackDate) {
|
||||
this.returnBackDate = returnBackDate;
|
||||
}
|
||||
|
||||
public String getDeptName() {
|
||||
return deptName;
|
||||
}
|
||||
|
||||
public void setDeptName(String deptName) {
|
||||
this.deptName = deptName;
|
||||
}
|
||||
|
||||
public String getReturnBackPerson() {
|
||||
return returnBackPerson;
|
||||
}
|
||||
|
||||
public void setReturnBackPerson(String returnBackPerson) {
|
||||
this.returnBackPerson = returnBackPerson;
|
||||
}
|
||||
|
||||
public String getWarehouse() {
|
||||
return warehouse;
|
||||
}
|
||||
|
||||
public void setWarehouse(String warehouse) {
|
||||
this.warehouse = warehouse;
|
||||
}
|
||||
|
||||
public String getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
public void setLocation(String location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("returnBackId", getReturnBackId())
|
||||
.append("returnBackNo", getReturnBackNo())
|
||||
.append("pickId", getPickId())
|
||||
.append("pickNo", getPickNo())
|
||||
.append("materialId", getMaterialId())
|
||||
.append("materialCode", getMaterialCode())
|
||||
.append("materialName", getMaterialName())
|
||||
.append("quantity", getQuantity())
|
||||
.append("unitPrice", getUnitPrice())
|
||||
.append("amount", getAmount())
|
||||
.append("returnBackDate", getReturnBackDate())
|
||||
.append("deptName", getDeptName())
|
||||
.append("returnBackPerson", getReturnBackPerson())
|
||||
.append("warehouse", getWarehouse())
|
||||
.append("location", getLocation())
|
||||
.append("status", getStatus())
|
||||
.append("remark", getRemark())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,226 @@
|
||||
package com.ruoyi.system.domain.engineering;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class MaterialScrap extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long scrapId;
|
||||
|
||||
@Excel(name = "报损报溢单号")
|
||||
private String scrapNo;
|
||||
|
||||
@NotNull(message = "物料ID不能为空")
|
||||
private Long materialId;
|
||||
|
||||
@Excel(name = "物料编码")
|
||||
private String materialCode;
|
||||
|
||||
@Excel(name = "物料名称")
|
||||
private String materialName;
|
||||
|
||||
@NotNull(message = "数量不能为空")
|
||||
@Excel(name = "数量")
|
||||
private BigDecimal quantity;
|
||||
|
||||
@Excel(name = "单价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
@Excel(name = "金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Excel(name = "类型", readConverterExp = "scrap=报损,overflow=报溢")
|
||||
private String scrapType;
|
||||
|
||||
@Excel(name = "原因")
|
||||
private String reason;
|
||||
|
||||
@Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date scrapDate;
|
||||
|
||||
@Excel(name = "仓库")
|
||||
private String warehouse;
|
||||
|
||||
@Excel(name = "库位")
|
||||
private String location;
|
||||
|
||||
@Excel(name = "状态", readConverterExp = "pending=待审核,approved=已审核,canceled=已取消")
|
||||
private String status;
|
||||
|
||||
private Long inventoryId;
|
||||
|
||||
@Excel(name = "关联盘点单号")
|
||||
private String inventoryNo;
|
||||
|
||||
private String remark;
|
||||
|
||||
public Long getScrapId() {
|
||||
return scrapId;
|
||||
}
|
||||
|
||||
public void setScrapId(Long scrapId) {
|
||||
this.scrapId = scrapId;
|
||||
}
|
||||
|
||||
public String getScrapNo() {
|
||||
return scrapNo;
|
||||
}
|
||||
|
||||
public void setScrapNo(String scrapNo) {
|
||||
this.scrapNo = scrapNo;
|
||||
}
|
||||
|
||||
public Long getMaterialId() {
|
||||
return materialId;
|
||||
}
|
||||
|
||||
public void setMaterialId(Long materialId) {
|
||||
this.materialId = materialId;
|
||||
}
|
||||
|
||||
public String getMaterialCode() {
|
||||
return materialCode;
|
||||
}
|
||||
|
||||
public void setMaterialCode(String materialCode) {
|
||||
this.materialCode = materialCode;
|
||||
}
|
||||
|
||||
public String getMaterialName() {
|
||||
return materialName;
|
||||
}
|
||||
|
||||
public void setMaterialName(String materialName) {
|
||||
this.materialName = materialName;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal quantity) {
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public BigDecimal getUnitPrice() {
|
||||
return unitPrice;
|
||||
}
|
||||
|
||||
public void setUnitPrice(BigDecimal unitPrice) {
|
||||
this.unitPrice = unitPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public String getScrapType() {
|
||||
return scrapType;
|
||||
}
|
||||
|
||||
public void setScrapType(String scrapType) {
|
||||
this.scrapType = scrapType;
|
||||
}
|
||||
|
||||
public String getReason() {
|
||||
return reason;
|
||||
}
|
||||
|
||||
public void setReason(String reason) {
|
||||
this.reason = reason;
|
||||
}
|
||||
|
||||
public Date getScrapDate() {
|
||||
return scrapDate;
|
||||
}
|
||||
|
||||
public void setScrapDate(Date scrapDate) {
|
||||
this.scrapDate = scrapDate;
|
||||
}
|
||||
|
||||
public String getWarehouse() {
|
||||
return warehouse;
|
||||
}
|
||||
|
||||
public void setWarehouse(String warehouse) {
|
||||
this.warehouse = warehouse;
|
||||
}
|
||||
|
||||
public String getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
public void setLocation(String location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Long getInventoryId() {
|
||||
return inventoryId;
|
||||
}
|
||||
|
||||
public void setInventoryId(Long inventoryId) {
|
||||
this.inventoryId = inventoryId;
|
||||
}
|
||||
|
||||
public String getInventoryNo() {
|
||||
return inventoryNo;
|
||||
}
|
||||
|
||||
public void setInventoryNo(String inventoryNo) {
|
||||
this.inventoryNo = inventoryNo;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("scrapId", getScrapId())
|
||||
.append("scrapNo", getScrapNo())
|
||||
.append("materialId", getMaterialId())
|
||||
.append("materialCode", getMaterialCode())
|
||||
.append("materialName", getMaterialName())
|
||||
.append("quantity", getQuantity())
|
||||
.append("unitPrice", getUnitPrice())
|
||||
.append("amount", getAmount())
|
||||
.append("scrapType", getScrapType())
|
||||
.append("reason", getReason())
|
||||
.append("scrapDate", getScrapDate())
|
||||
.append("warehouse", getWarehouse())
|
||||
.append("location", getLocation())
|
||||
.append("status", getStatus())
|
||||
.append("inventoryId", getInventoryId())
|
||||
.append("inventoryNo", getInventoryNo())
|
||||
.append("remark", getRemark())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
package com.ruoyi.system.domain.engineering;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class MaterialTransfer extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long transferId;
|
||||
|
||||
@Excel(name = "调拨单号")
|
||||
private String transferNo;
|
||||
|
||||
@NotNull(message = "物料ID不能为空")
|
||||
private Long materialId;
|
||||
|
||||
@Excel(name = "物料编码")
|
||||
private String materialCode;
|
||||
|
||||
@Excel(name = "物料名称")
|
||||
private String materialName;
|
||||
|
||||
@NotNull(message = "调拨数量不能为空")
|
||||
@Excel(name = "调拨数量")
|
||||
private BigDecimal quantity;
|
||||
|
||||
@Excel(name = "单价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
@Excel(name = "金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Excel(name = "调拨日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date transferDate;
|
||||
|
||||
@Excel(name = "调出仓库")
|
||||
private String fromWarehouse;
|
||||
|
||||
@Excel(name = "调出库位")
|
||||
private String fromLocation;
|
||||
|
||||
@Excel(name = "调入仓库")
|
||||
private String toWarehouse;
|
||||
|
||||
@Excel(name = "调入库位")
|
||||
private String toLocation;
|
||||
|
||||
@Excel(name = "调拨类型", readConverterExp = "out=调拨出库,in=调拨入库")
|
||||
private String transferType;
|
||||
|
||||
@Excel(name = "状态", readConverterExp = "pending=待审核,approved=已审核,canceled=已取消")
|
||||
private String status;
|
||||
|
||||
private Long relatedTransferId;
|
||||
|
||||
@Excel(name = "关联调拨单号")
|
||||
private String relatedTransferNo;
|
||||
|
||||
private String remark;
|
||||
|
||||
public Long getTransferId() {
|
||||
return transferId;
|
||||
}
|
||||
|
||||
public void setTransferId(Long transferId) {
|
||||
this.transferId = transferId;
|
||||
}
|
||||
|
||||
public String getTransferNo() {
|
||||
return transferNo;
|
||||
}
|
||||
|
||||
public void setTransferNo(String transferNo) {
|
||||
this.transferNo = transferNo;
|
||||
}
|
||||
|
||||
public Long getMaterialId() {
|
||||
return materialId;
|
||||
}
|
||||
|
||||
public void setMaterialId(Long materialId) {
|
||||
this.materialId = materialId;
|
||||
}
|
||||
|
||||
public String getMaterialCode() {
|
||||
return materialCode;
|
||||
}
|
||||
|
||||
public void setMaterialCode(String materialCode) {
|
||||
this.materialCode = materialCode;
|
||||
}
|
||||
|
||||
public String getMaterialName() {
|
||||
return materialName;
|
||||
}
|
||||
|
||||
public void setMaterialName(String materialName) {
|
||||
this.materialName = materialName;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal quantity) {
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public BigDecimal getUnitPrice() {
|
||||
return unitPrice;
|
||||
}
|
||||
|
||||
public void setUnitPrice(BigDecimal unitPrice) {
|
||||
this.unitPrice = unitPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public Date getTransferDate() {
|
||||
return transferDate;
|
||||
}
|
||||
|
||||
public void setTransferDate(Date transferDate) {
|
||||
this.transferDate = transferDate;
|
||||
}
|
||||
|
||||
public String getFromWarehouse() {
|
||||
return fromWarehouse;
|
||||
}
|
||||
|
||||
public void setFromWarehouse(String fromWarehouse) {
|
||||
this.fromWarehouse = fromWarehouse;
|
||||
}
|
||||
|
||||
public String getFromLocation() {
|
||||
return fromLocation;
|
||||
}
|
||||
|
||||
public void setFromLocation(String fromLocation) {
|
||||
this.fromLocation = fromLocation;
|
||||
}
|
||||
|
||||
public String getToWarehouse() {
|
||||
return toWarehouse;
|
||||
}
|
||||
|
||||
public void setToWarehouse(String toWarehouse) {
|
||||
this.toWarehouse = toWarehouse;
|
||||
}
|
||||
|
||||
public String getToLocation() {
|
||||
return toLocation;
|
||||
}
|
||||
|
||||
public void setToLocation(String toLocation) {
|
||||
this.toLocation = toLocation;
|
||||
}
|
||||
|
||||
public String getTransferType() {
|
||||
return transferType;
|
||||
}
|
||||
|
||||
public void setTransferType(String transferType) {
|
||||
this.transferType = transferType;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public Long getRelatedTransferId() {
|
||||
return relatedTransferId;
|
||||
}
|
||||
|
||||
public void setRelatedTransferId(Long relatedTransferId) {
|
||||
this.relatedTransferId = relatedTransferId;
|
||||
}
|
||||
|
||||
public String getRelatedTransferNo() {
|
||||
return relatedTransferNo;
|
||||
}
|
||||
|
||||
public void setRelatedTransferNo(String relatedTransferNo) {
|
||||
this.relatedTransferNo = relatedTransferNo;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("transferId", getTransferId())
|
||||
.append("transferNo", getTransferNo())
|
||||
.append("materialId", getMaterialId())
|
||||
.append("materialCode", getMaterialCode())
|
||||
.append("materialName", getMaterialName())
|
||||
.append("quantity", getQuantity())
|
||||
.append("unitPrice", getUnitPrice())
|
||||
.append("amount", getAmount())
|
||||
.append("transferDate", getTransferDate())
|
||||
.append("fromWarehouse", getFromWarehouse())
|
||||
.append("fromLocation", getFromLocation())
|
||||
.append("toWarehouse", getToWarehouse())
|
||||
.append("toLocation", getToLocation())
|
||||
.append("transferType", getTransferType())
|
||||
.append("status", getStatus())
|
||||
.append("relatedTransferId", getRelatedTransferId())
|
||||
.append("relatedTransferNo", getRelatedTransferNo())
|
||||
.append("remark", getRemark())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -43,11 +43,11 @@ public class Supplier extends BaseEntity {
|
||||
|
||||
@Size(max = 100, message = "联系人长度不能超过100个字符")
|
||||
@Excel(name = "联系人")
|
||||
private String contact;
|
||||
private String contactPerson;
|
||||
|
||||
@Size(max = 50, message = "联系电话长度不能超过50个字符")
|
||||
@Excel(name = "联系电话")
|
||||
private String phone;
|
||||
private String contactPhone;
|
||||
|
||||
@Size(max = 50, message = "手机号长度不能超过50个字符")
|
||||
@Excel(name = "手机号")
|
||||
@@ -199,20 +199,20 @@ public class Supplier extends BaseEntity {
|
||||
this.legalPerson = legalPerson;
|
||||
}
|
||||
|
||||
public String getContact() {
|
||||
return contact;
|
||||
public String getContactPerson() {
|
||||
return contactPerson;
|
||||
}
|
||||
|
||||
public void setContact(String contact) {
|
||||
this.contact = contact;
|
||||
public void setContactPerson(String contactPerson) {
|
||||
this.contactPerson = contactPerson;
|
||||
}
|
||||
|
||||
public String getPhone() {
|
||||
return phone;
|
||||
public String getContactPhone() {
|
||||
return contactPhone;
|
||||
}
|
||||
|
||||
public void setPhone(String phone) {
|
||||
this.phone = phone;
|
||||
public void setContactPhone(String contactPhone) {
|
||||
this.contactPhone = contactPhone;
|
||||
}
|
||||
|
||||
public String getMobile() {
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.system.mapper.engineering;
|
||||
|
||||
import com.ruoyi.system.domain.engineering.MaterialInventoryDetail;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MaterialInventoryDetailMapper {
|
||||
|
||||
List<MaterialInventoryDetail> selectMaterialInventoryDetailList(MaterialInventoryDetail detail);
|
||||
|
||||
MaterialInventoryDetail selectMaterialInventoryDetailById(Long detailId);
|
||||
|
||||
int insertMaterialInventoryDetail(MaterialInventoryDetail detail);
|
||||
|
||||
int updateMaterialInventoryDetail(MaterialInventoryDetail detail);
|
||||
|
||||
int updateMaterialInventoryDetailStatus(Long detailId, String status);
|
||||
|
||||
int deleteMaterialInventoryDetailById(Long detailId);
|
||||
|
||||
int deleteMaterialInventoryDetailByInventoryId(Long inventoryId);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.system.mapper.engineering;
|
||||
|
||||
import com.ruoyi.system.domain.engineering.MaterialInventory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MaterialInventoryMapper {
|
||||
|
||||
List<MaterialInventory> selectMaterialInventoryList(MaterialInventory materialInventory);
|
||||
|
||||
MaterialInventory selectMaterialInventoryById(Long inventoryId);
|
||||
|
||||
int insertMaterialInventory(MaterialInventory materialInventory);
|
||||
|
||||
int updateMaterialInventory(MaterialInventory materialInventory);
|
||||
|
||||
int updateMaterialInventoryStatus(Long inventoryId, String status);
|
||||
|
||||
int deleteMaterialInventoryById(Long inventoryId);
|
||||
|
||||
int deleteMaterialInventoryByIds(Long[] inventoryIds);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.system.mapper.engineering;
|
||||
|
||||
import com.ruoyi.system.domain.engineering.MaterialPick;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MaterialPickMapper {
|
||||
|
||||
List<MaterialPick> selectMaterialPickList(MaterialPick materialPick);
|
||||
|
||||
MaterialPick selectMaterialPickById(Long pickId);
|
||||
|
||||
int insertMaterialPick(MaterialPick materialPick);
|
||||
|
||||
int updateMaterialPick(MaterialPick materialPick);
|
||||
|
||||
int updateMaterialPickStatus(Long pickId, String status);
|
||||
|
||||
int deleteMaterialPickById(Long pickId);
|
||||
|
||||
int deleteMaterialPickByIds(Long[] pickIds);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.system.mapper.engineering;
|
||||
|
||||
import com.ruoyi.system.domain.engineering.MaterialReturnBack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MaterialReturnBackMapper {
|
||||
|
||||
List<MaterialReturnBack> selectMaterialReturnBackList(MaterialReturnBack materialReturnBack);
|
||||
|
||||
MaterialReturnBack selectMaterialReturnBackById(Long returnBackId);
|
||||
|
||||
int insertMaterialReturnBack(MaterialReturnBack materialReturnBack);
|
||||
|
||||
int updateMaterialReturnBack(MaterialReturnBack materialReturnBack);
|
||||
|
||||
int updateMaterialReturnBackStatus(Long returnBackId, String status);
|
||||
|
||||
int deleteMaterialReturnBackById(Long returnBackId);
|
||||
|
||||
int deleteMaterialReturnBackByIds(Long[] returnBackIds);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.system.mapper.engineering;
|
||||
|
||||
import com.ruoyi.system.domain.engineering.MaterialReturn;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MaterialReturnMapper {
|
||||
|
||||
List<MaterialReturn> selectMaterialReturnList(MaterialReturn materialReturn);
|
||||
|
||||
MaterialReturn selectMaterialReturnById(Long returnId);
|
||||
|
||||
int insertMaterialReturn(MaterialReturn materialReturn);
|
||||
|
||||
int updateMaterialReturn(MaterialReturn materialReturn);
|
||||
|
||||
int updateMaterialReturnStatus(Long returnId, String status);
|
||||
|
||||
int deleteMaterialReturnById(Long returnId);
|
||||
|
||||
int deleteMaterialReturnByIds(Long[] returnIds);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.system.mapper.engineering;
|
||||
|
||||
import com.ruoyi.system.domain.engineering.MaterialScrap;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MaterialScrapMapper {
|
||||
|
||||
List<MaterialScrap> selectMaterialScrapList(MaterialScrap materialScrap);
|
||||
|
||||
MaterialScrap selectMaterialScrapById(Long scrapId);
|
||||
|
||||
int insertMaterialScrap(MaterialScrap materialScrap);
|
||||
|
||||
int updateMaterialScrap(MaterialScrap materialScrap);
|
||||
|
||||
int updateMaterialScrapStatus(Long scrapId, String status);
|
||||
|
||||
int deleteMaterialScrapById(Long scrapId);
|
||||
|
||||
int deleteMaterialScrapByIds(Long[] scrapIds);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.system.mapper.engineering;
|
||||
|
||||
import com.ruoyi.system.domain.engineering.MaterialTransfer;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MaterialTransferMapper {
|
||||
|
||||
List<MaterialTransfer> selectMaterialTransferList(MaterialTransfer materialTransfer);
|
||||
|
||||
MaterialTransfer selectMaterialTransferById(Long transferId);
|
||||
|
||||
int insertMaterialTransfer(MaterialTransfer materialTransfer);
|
||||
|
||||
int updateMaterialTransfer(MaterialTransfer materialTransfer);
|
||||
|
||||
int updateMaterialTransferStatus(Long transferId, String status);
|
||||
|
||||
int deleteMaterialTransferById(Long transferId);
|
||||
|
||||
int deleteMaterialTransferByIds(Long[] transferIds);
|
||||
}
|
||||
@@ -1,9 +1,7 @@
|
||||
package com.ruoyi.system.service.engineering;
|
||||
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.system.domain.engineering.Material;
|
||||
import com.ruoyi.system.domain.engineering.MaterialIn;
|
||||
import com.ruoyi.system.domain.engineering.MaterialOut;
|
||||
import com.ruoyi.system.domain.engineering.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -45,4 +43,92 @@ public interface IMaterialService {
|
||||
public TableDataInfo selectMaterialOutList(MaterialOut materialOut);
|
||||
|
||||
public MaterialOut selectMaterialOutById(Long outId);
|
||||
|
||||
public List<Material> selectWarningMaterials();
|
||||
|
||||
public String calculateWarningStatus(Material material);
|
||||
|
||||
public int insertMaterialReturn(MaterialReturn materialReturn);
|
||||
|
||||
public int updateMaterialReturn(MaterialReturn materialReturn);
|
||||
|
||||
public int approveMaterialReturn(Long returnId);
|
||||
|
||||
public int deleteMaterialReturnById(Long returnId);
|
||||
|
||||
public TableDataInfo selectMaterialReturnList(MaterialReturn materialReturn);
|
||||
|
||||
public MaterialReturn selectMaterialReturnById(Long returnId);
|
||||
|
||||
public int insertMaterialPick(MaterialPick materialPick);
|
||||
|
||||
public int updateMaterialPick(MaterialPick materialPick);
|
||||
|
||||
public int approveMaterialPick(Long pickId);
|
||||
|
||||
public int issueMaterialPick(Long pickId);
|
||||
|
||||
public int deleteMaterialPickById(Long pickId);
|
||||
|
||||
public TableDataInfo selectMaterialPickList(MaterialPick materialPick);
|
||||
|
||||
public MaterialPick selectMaterialPickById(Long pickId);
|
||||
|
||||
public int insertMaterialReturnBack(MaterialReturnBack materialReturnBack);
|
||||
|
||||
public int updateMaterialReturnBack(MaterialReturnBack materialReturnBack);
|
||||
|
||||
public int approveMaterialReturnBack(Long returnBackId);
|
||||
|
||||
public int deleteMaterialReturnBackById(Long returnBackId);
|
||||
|
||||
public TableDataInfo selectMaterialReturnBackList(MaterialReturnBack materialReturnBack);
|
||||
|
||||
public MaterialReturnBack selectMaterialReturnBackById(Long returnBackId);
|
||||
|
||||
public int insertMaterialTransfer(MaterialTransfer materialTransfer);
|
||||
|
||||
public int updateMaterialTransfer(MaterialTransfer materialTransfer);
|
||||
|
||||
public int approveMaterialTransfer(Long transferId);
|
||||
|
||||
public int deleteMaterialTransferById(Long transferId);
|
||||
|
||||
public TableDataInfo selectMaterialTransferList(MaterialTransfer materialTransfer);
|
||||
|
||||
public MaterialTransfer selectMaterialTransferById(Long transferId);
|
||||
|
||||
public int insertMaterialInventory(MaterialInventory materialInventory);
|
||||
|
||||
public int updateMaterialInventory(MaterialInventory materialInventory);
|
||||
|
||||
public int completeMaterialInventory(Long inventoryId);
|
||||
|
||||
public int adjustMaterialInventory(Long inventoryId);
|
||||
|
||||
public int deleteMaterialInventoryById(Long inventoryId);
|
||||
|
||||
public TableDataInfo selectMaterialInventoryList(MaterialInventory materialInventory);
|
||||
|
||||
public MaterialInventory selectMaterialInventoryById(Long inventoryId);
|
||||
|
||||
public int insertMaterialInventoryDetail(MaterialInventoryDetail detail);
|
||||
|
||||
public int updateMaterialInventoryDetail(MaterialInventoryDetail detail);
|
||||
|
||||
public int adjustMaterialInventoryDetail(Long detailId);
|
||||
|
||||
public List<MaterialInventoryDetail> selectMaterialInventoryDetailList(Long inventoryId);
|
||||
|
||||
public int insertMaterialScrap(MaterialScrap materialScrap);
|
||||
|
||||
public int updateMaterialScrap(MaterialScrap materialScrap);
|
||||
|
||||
public int approveMaterialScrap(Long scrapId);
|
||||
|
||||
public int deleteMaterialScrapById(Long scrapId);
|
||||
|
||||
public TableDataInfo selectMaterialScrapList(MaterialScrap materialScrap);
|
||||
|
||||
public MaterialScrap selectMaterialScrapById(Long scrapId);
|
||||
}
|
||||
@@ -24,7 +24,8 @@ public class ConstructionServiceImpl implements IConstructionService {
|
||||
@Override
|
||||
public TableDataInfo selectConstructionList(Construction construction) {
|
||||
List<Construction> list = constructionMapper.selectConstructionList(construction);
|
||||
long total = PageHelper.getLocalPage().getTotal();
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,8 @@ public class ContractServiceImpl implements IContractService {
|
||||
for (Contract c : list) {
|
||||
c.setPaidAmount(sumPaymentAmountByContractId(c.getContractId()));
|
||||
}
|
||||
long total = PageHelper.getLocalPage().getTotal();
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,12 +3,8 @@ package com.ruoyi.system.service.impl.engineering;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.system.domain.engineering.Material;
|
||||
import com.ruoyi.system.domain.engineering.MaterialIn;
|
||||
import com.ruoyi.system.domain.engineering.MaterialOut;
|
||||
import com.ruoyi.system.mapper.engineering.MaterialInMapper;
|
||||
import com.ruoyi.system.mapper.engineering.MaterialMapper;
|
||||
import com.ruoyi.system.mapper.engineering.MaterialOutMapper;
|
||||
import com.ruoyi.system.domain.engineering.*;
|
||||
import com.ruoyi.system.mapper.engineering.*;
|
||||
import com.ruoyi.system.service.engineering.IMaterialService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -29,10 +25,32 @@ public class MaterialServiceImpl implements IMaterialService {
|
||||
@Autowired
|
||||
private MaterialOutMapper materialOutMapper;
|
||||
|
||||
@Autowired
|
||||
private MaterialReturnMapper materialReturnMapper;
|
||||
|
||||
@Autowired
|
||||
private MaterialPickMapper materialPickMapper;
|
||||
|
||||
@Autowired
|
||||
private MaterialReturnBackMapper materialReturnBackMapper;
|
||||
|
||||
@Autowired
|
||||
private MaterialTransferMapper materialTransferMapper;
|
||||
|
||||
@Autowired
|
||||
private MaterialInventoryMapper materialInventoryMapper;
|
||||
|
||||
@Autowired
|
||||
private MaterialInventoryDetailMapper materialInventoryDetailMapper;
|
||||
|
||||
@Autowired
|
||||
private MaterialScrapMapper materialScrapMapper;
|
||||
|
||||
@Override
|
||||
public TableDataInfo selectMaterialList(Material material) {
|
||||
List<Material> list = materialMapper.selectMaterialList(material);
|
||||
long total = PageHelper.getLocalPage().getTotal();
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@@ -122,7 +140,8 @@ public class MaterialServiceImpl implements IMaterialService {
|
||||
@Override
|
||||
public TableDataInfo selectMaterialInList(MaterialIn materialIn) {
|
||||
List<MaterialIn> list = materialInMapper.selectMaterialInList(materialIn);
|
||||
long total = PageHelper.getLocalPage().getTotal();
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@@ -182,7 +201,8 @@ public class MaterialServiceImpl implements IMaterialService {
|
||||
@Override
|
||||
public TableDataInfo selectMaterialOutList(MaterialOut materialOut) {
|
||||
List<MaterialOut> list = materialOutMapper.selectMaterialOutList(materialOut);
|
||||
long total = PageHelper.getLocalPage().getTotal();
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@@ -190,4 +210,486 @@ public class MaterialServiceImpl implements IMaterialService {
|
||||
public MaterialOut selectMaterialOutById(Long outId) {
|
||||
return materialOutMapper.selectMaterialOutById(outId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Material> selectWarningMaterials() {
|
||||
List<Material> allMaterials = materialMapper.selectMaterialList(new Material());
|
||||
List<Material> warningMaterials = new java.util.ArrayList<>();
|
||||
|
||||
for (Material material : allMaterials) {
|
||||
String status = calculateWarningStatus(material);
|
||||
if (!"normal".equals(status)) {
|
||||
material.setWarningStatus(status);
|
||||
warningMaterials.add(material);
|
||||
}
|
||||
}
|
||||
|
||||
return warningMaterials;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String calculateWarningStatus(Material material) {
|
||||
BigDecimal stock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal minStock = material.getMinStock() != null ? material.getMinStock() : BigDecimal.ZERO;
|
||||
BigDecimal safetyStock = material.getSafetyStock() != null ? material.getSafetyStock() : minStock;
|
||||
|
||||
if (safetyStock.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
return "normal";
|
||||
}
|
||||
|
||||
if (stock.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
return "urgent";
|
||||
}
|
||||
|
||||
if (stock.compareTo(safetyStock) < 0) {
|
||||
BigDecimal ratio = stock.divide(safetyStock, 2, java.math.RoundingMode.HALF_UP);
|
||||
if (ratio.compareTo(new BigDecimal("0.3")) < 0) {
|
||||
return "urgent";
|
||||
} else {
|
||||
return "warning";
|
||||
}
|
||||
}
|
||||
|
||||
return "normal";
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertMaterialReturn(MaterialReturn materialReturn) {
|
||||
if (StringUtils.isBlank(materialReturn.getStatus())) {
|
||||
materialReturn.setStatus("pending");
|
||||
}
|
||||
return materialReturnMapper.insertMaterialReturn(materialReturn);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateMaterialReturn(MaterialReturn materialReturn) {
|
||||
return materialReturnMapper.updateMaterialReturn(materialReturn);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int approveMaterialReturn(Long returnId) {
|
||||
MaterialReturn materialReturn = materialReturnMapper.selectMaterialReturnById(returnId);
|
||||
if (materialReturn == null) {
|
||||
throw new RuntimeException("退货记录不存在");
|
||||
}
|
||||
|
||||
materialReturnMapper.updateMaterialReturnStatus(returnId, "approved");
|
||||
|
||||
Material material = materialMapper.selectMaterialById(materialReturn.getMaterialId());
|
||||
if (material != null) {
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal newStock = currentStock.subtract(materialReturn.getQuantity() != null ? materialReturn.getQuantity() : BigDecimal.ZERO);
|
||||
if (newStock.compareTo(BigDecimal.ZERO) < 0) {
|
||||
newStock = BigDecimal.ZERO;
|
||||
}
|
||||
materialMapper.updateMaterialStock(materialReturn.getMaterialId(), newStock);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteMaterialReturnById(Long returnId) {
|
||||
return materialReturnMapper.deleteMaterialReturnById(returnId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo selectMaterialReturnList(MaterialReturn materialReturn) {
|
||||
List<MaterialReturn> list = materialReturnMapper.selectMaterialReturnList(materialReturn);
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialReturn selectMaterialReturnById(Long returnId) {
|
||||
return materialReturnMapper.selectMaterialReturnById(returnId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertMaterialPick(MaterialPick materialPick) {
|
||||
if (StringUtils.isBlank(materialPick.getStatus())) {
|
||||
materialPick.setStatus("pending");
|
||||
}
|
||||
return materialPickMapper.insertMaterialPick(materialPick);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateMaterialPick(MaterialPick materialPick) {
|
||||
return materialPickMapper.updateMaterialPick(materialPick);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int approveMaterialPick(Long pickId) {
|
||||
MaterialPick materialPick = materialPickMapper.selectMaterialPickById(pickId);
|
||||
if (materialPick == null) {
|
||||
throw new RuntimeException("领料记录不存在");
|
||||
}
|
||||
|
||||
Material material = materialMapper.selectMaterialById(materialPick.getMaterialId());
|
||||
if (material == null) {
|
||||
throw new RuntimeException("物料不存在");
|
||||
}
|
||||
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal pickQuantity = materialPick.getQuantity() != null ? materialPick.getQuantity() : BigDecimal.ZERO;
|
||||
|
||||
if (currentStock.compareTo(pickQuantity) < 0) {
|
||||
throw new RuntimeException("库存不足");
|
||||
}
|
||||
|
||||
materialPickMapper.updateMaterialPickStatus(pickId, "approved");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int issueMaterialPick(Long pickId) {
|
||||
MaterialPick materialPick = materialPickMapper.selectMaterialPickById(pickId);
|
||||
if (materialPick == null) {
|
||||
throw new RuntimeException("领料记录不存在");
|
||||
}
|
||||
|
||||
if (!"approved".equals(materialPick.getStatus())) {
|
||||
throw new RuntimeException("领料记录未通过审核");
|
||||
}
|
||||
|
||||
Material material = materialMapper.selectMaterialById(materialPick.getMaterialId());
|
||||
if (material != null) {
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal newStock = currentStock.subtract(materialPick.getQuantity() != null ? materialPick.getQuantity() : BigDecimal.ZERO);
|
||||
materialMapper.updateMaterialStock(materialPick.getMaterialId(), newStock);
|
||||
}
|
||||
|
||||
materialPickMapper.updateMaterialPickStatus(pickId, "issued");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteMaterialPickById(Long pickId) {
|
||||
return materialPickMapper.deleteMaterialPickById(pickId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo selectMaterialPickList(MaterialPick materialPick) {
|
||||
List<MaterialPick> list = materialPickMapper.selectMaterialPickList(materialPick);
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialPick selectMaterialPickById(Long pickId) {
|
||||
return materialPickMapper.selectMaterialPickById(pickId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertMaterialReturnBack(MaterialReturnBack materialReturnBack) {
|
||||
if (StringUtils.isBlank(materialReturnBack.getStatus())) {
|
||||
materialReturnBack.setStatus("pending");
|
||||
}
|
||||
return materialReturnBackMapper.insertMaterialReturnBack(materialReturnBack);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateMaterialReturnBack(MaterialReturnBack materialReturnBack) {
|
||||
return materialReturnBackMapper.updateMaterialReturnBack(materialReturnBack);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int approveMaterialReturnBack(Long returnBackId) {
|
||||
MaterialReturnBack materialReturnBack = materialReturnBackMapper.selectMaterialReturnBackById(returnBackId);
|
||||
if (materialReturnBack == null) {
|
||||
throw new RuntimeException("还料记录不存在");
|
||||
}
|
||||
|
||||
materialReturnBackMapper.updateMaterialReturnBackStatus(returnBackId, "approved");
|
||||
|
||||
Material material = materialMapper.selectMaterialById(materialReturnBack.getMaterialId());
|
||||
if (material != null) {
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal newStock = currentStock.add(materialReturnBack.getQuantity() != null ? materialReturnBack.getQuantity() : BigDecimal.ZERO);
|
||||
materialMapper.updateMaterialStock(materialReturnBack.getMaterialId(), newStock);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteMaterialReturnBackById(Long returnBackId) {
|
||||
return materialReturnBackMapper.deleteMaterialReturnBackById(returnBackId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo selectMaterialReturnBackList(MaterialReturnBack materialReturnBack) {
|
||||
List<MaterialReturnBack> list = materialReturnBackMapper.selectMaterialReturnBackList(materialReturnBack);
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialReturnBack selectMaterialReturnBackById(Long returnBackId) {
|
||||
return materialReturnBackMapper.selectMaterialReturnBackById(returnBackId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertMaterialTransfer(MaterialTransfer materialTransfer) {
|
||||
if (StringUtils.isBlank(materialTransfer.getStatus())) {
|
||||
materialTransfer.setStatus("pending");
|
||||
}
|
||||
return materialTransferMapper.insertMaterialTransfer(materialTransfer);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateMaterialTransfer(MaterialTransfer materialTransfer) {
|
||||
return materialTransferMapper.updateMaterialTransfer(materialTransfer);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int approveMaterialTransfer(Long transferId) {
|
||||
MaterialTransfer materialTransfer = materialTransferMapper.selectMaterialTransferById(transferId);
|
||||
if (materialTransfer == null) {
|
||||
throw new RuntimeException("调拨记录不存在");
|
||||
}
|
||||
|
||||
materialTransferMapper.updateMaterialTransferStatus(transferId, "approved");
|
||||
|
||||
if ("out".equals(materialTransfer.getTransferType())) {
|
||||
Material material = materialMapper.selectMaterialById(materialTransfer.getMaterialId());
|
||||
if (material != null) {
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal newStock = currentStock.subtract(materialTransfer.getQuantity() != null ? materialTransfer.getQuantity() : BigDecimal.ZERO);
|
||||
materialMapper.updateMaterialStock(materialTransfer.getMaterialId(), newStock);
|
||||
}
|
||||
} else if ("in".equals(materialTransfer.getTransferType())) {
|
||||
Material material = materialMapper.selectMaterialById(materialTransfer.getMaterialId());
|
||||
if (material != null) {
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal newStock = currentStock.add(materialTransfer.getQuantity() != null ? materialTransfer.getQuantity() : BigDecimal.ZERO);
|
||||
materialMapper.updateMaterialStock(materialTransfer.getMaterialId(), newStock);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteMaterialTransferById(Long transferId) {
|
||||
return materialTransferMapper.deleteMaterialTransferById(transferId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo selectMaterialTransferList(MaterialTransfer materialTransfer) {
|
||||
List<MaterialTransfer> list = materialTransferMapper.selectMaterialTransferList(materialTransfer);
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialTransfer selectMaterialTransferById(Long transferId) {
|
||||
return materialTransferMapper.selectMaterialTransferById(transferId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertMaterialInventory(MaterialInventory materialInventory) {
|
||||
if (StringUtils.isBlank(materialInventory.getStatus())) {
|
||||
materialInventory.setStatus("pending");
|
||||
}
|
||||
return materialInventoryMapper.insertMaterialInventory(materialInventory);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateMaterialInventory(MaterialInventory materialInventory) {
|
||||
return materialInventoryMapper.updateMaterialInventory(materialInventory);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int completeMaterialInventory(Long inventoryId) {
|
||||
MaterialInventory inventory = materialInventoryMapper.selectMaterialInventoryById(inventoryId);
|
||||
if (inventory == null) {
|
||||
throw new RuntimeException("盘点记录不存在");
|
||||
}
|
||||
|
||||
materialInventoryMapper.updateMaterialInventoryStatus(inventoryId, "completed");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int adjustMaterialInventory(Long inventoryId) {
|
||||
MaterialInventory inventory = materialInventoryMapper.selectMaterialInventoryById(inventoryId);
|
||||
if (inventory == null) {
|
||||
throw new RuntimeException("盘点记录不存在");
|
||||
}
|
||||
|
||||
List<MaterialInventoryDetail> details = materialInventoryDetailMapper.selectMaterialInventoryDetailList(new MaterialInventoryDetail());
|
||||
for (MaterialInventoryDetail detail : details) {
|
||||
if ("pending".equals(detail.getStatus()) && detail.getDiffQuantity() != null && detail.getDiffQuantity().compareTo(BigDecimal.ZERO) != 0) {
|
||||
Material material = materialMapper.selectMaterialById(detail.getMaterialId());
|
||||
if (material != null) {
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal newStock = currentStock.add(detail.getDiffQuantity());
|
||||
materialMapper.updateMaterialStock(detail.getMaterialId(), newStock);
|
||||
materialInventoryDetailMapper.updateMaterialInventoryDetailStatus(detail.getDetailId(), "adjusted");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
materialInventoryMapper.updateMaterialInventoryStatus(inventoryId, "adjusted");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteMaterialInventoryById(Long inventoryId) {
|
||||
materialInventoryDetailMapper.deleteMaterialInventoryDetailByInventoryId(inventoryId);
|
||||
return materialInventoryMapper.deleteMaterialInventoryById(inventoryId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo selectMaterialInventoryList(MaterialInventory materialInventory) {
|
||||
List<MaterialInventory> list = materialInventoryMapper.selectMaterialInventoryList(materialInventory);
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialInventory selectMaterialInventoryById(Long inventoryId) {
|
||||
return materialInventoryMapper.selectMaterialInventoryById(inventoryId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertMaterialInventoryDetail(MaterialInventoryDetail detail) {
|
||||
if (StringUtils.isBlank(detail.getStatus())) {
|
||||
detail.setStatus("pending");
|
||||
}
|
||||
if (detail.getDiffQuantity() == null) {
|
||||
BigDecimal systemStock = detail.getSystemStock() != null ? detail.getSystemStock() : BigDecimal.ZERO;
|
||||
BigDecimal actualStock = detail.getActualStock() != null ? detail.getActualStock() : BigDecimal.ZERO;
|
||||
detail.setDiffQuantity(actualStock.subtract(systemStock));
|
||||
}
|
||||
return materialInventoryDetailMapper.insertMaterialInventoryDetail(detail);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateMaterialInventoryDetail(MaterialInventoryDetail detail) {
|
||||
if (detail.getDiffQuantity() == null) {
|
||||
BigDecimal systemStock = detail.getSystemStock() != null ? detail.getSystemStock() : BigDecimal.ZERO;
|
||||
BigDecimal actualStock = detail.getActualStock() != null ? detail.getActualStock() : BigDecimal.ZERO;
|
||||
detail.setDiffQuantity(actualStock.subtract(systemStock));
|
||||
}
|
||||
return materialInventoryDetailMapper.updateMaterialInventoryDetail(detail);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int adjustMaterialInventoryDetail(Long detailId) {
|
||||
MaterialInventoryDetail detail = materialInventoryDetailMapper.selectMaterialInventoryDetailById(detailId);
|
||||
if (detail == null) {
|
||||
throw new RuntimeException("盘点明细不存在");
|
||||
}
|
||||
|
||||
if (detail.getDiffQuantity() != null && detail.getDiffQuantity().compareTo(BigDecimal.ZERO) != 0) {
|
||||
Material material = materialMapper.selectMaterialById(detail.getMaterialId());
|
||||
if (material != null) {
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal newStock = currentStock.add(detail.getDiffQuantity());
|
||||
materialMapper.updateMaterialStock(detail.getMaterialId(), newStock);
|
||||
}
|
||||
}
|
||||
|
||||
materialInventoryDetailMapper.updateMaterialInventoryDetailStatus(detailId, "adjusted");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MaterialInventoryDetail> selectMaterialInventoryDetailList(Long inventoryId) {
|
||||
MaterialInventoryDetail query = new MaterialInventoryDetail();
|
||||
query.setInventoryId(inventoryId);
|
||||
return materialInventoryDetailMapper.selectMaterialInventoryDetailList(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertMaterialScrap(MaterialScrap materialScrap) {
|
||||
if (StringUtils.isBlank(materialScrap.getStatus())) {
|
||||
materialScrap.setStatus("pending");
|
||||
}
|
||||
return materialScrapMapper.insertMaterialScrap(materialScrap);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateMaterialScrap(MaterialScrap materialScrap) {
|
||||
return materialScrapMapper.updateMaterialScrap(materialScrap);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int approveMaterialScrap(Long scrapId) {
|
||||
MaterialScrap materialScrap = materialScrapMapper.selectMaterialScrapById(scrapId);
|
||||
if (materialScrap == null) {
|
||||
throw new RuntimeException("报损报溢记录不存在");
|
||||
}
|
||||
|
||||
materialScrapMapper.updateMaterialScrapStatus(scrapId, "approved");
|
||||
|
||||
Material material = materialMapper.selectMaterialById(materialScrap.getMaterialId());
|
||||
if (material != null) {
|
||||
BigDecimal currentStock = material.getStock() != null ? material.getStock() : BigDecimal.ZERO;
|
||||
BigDecimal quantity = materialScrap.getQuantity() != null ? materialScrap.getQuantity() : BigDecimal.ZERO;
|
||||
|
||||
if ("scrap".equals(materialScrap.getScrapType())) {
|
||||
BigDecimal newStock = currentStock.subtract(quantity);
|
||||
if (newStock.compareTo(BigDecimal.ZERO) < 0) {
|
||||
newStock = BigDecimal.ZERO;
|
||||
}
|
||||
materialMapper.updateMaterialStock(materialScrap.getMaterialId(), newStock);
|
||||
} else if ("overflow".equals(materialScrap.getScrapType())) {
|
||||
BigDecimal newStock = currentStock.add(quantity);
|
||||
materialMapper.updateMaterialStock(materialScrap.getMaterialId(), newStock);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteMaterialScrapById(Long scrapId) {
|
||||
return materialScrapMapper.deleteMaterialScrapById(scrapId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo selectMaterialScrapList(MaterialScrap materialScrap) {
|
||||
List<MaterialScrap> list = materialScrapMapper.selectMaterialScrapList(materialScrap);
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialScrap selectMaterialScrapById(Long scrapId) {
|
||||
return materialScrapMapper.selectMaterialScrapById(scrapId);
|
||||
}
|
||||
}
|
||||
@@ -3,9 +3,11 @@ package com.ruoyi.system.service.impl.engineering;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.system.domain.engineering.Construction;
|
||||
import com.ruoyi.system.domain.engineering.Contract;
|
||||
import com.ruoyi.system.domain.engineering.Payment;
|
||||
import com.ruoyi.system.domain.engineering.SupplierPaymentRecord;
|
||||
import com.ruoyi.system.mapper.engineering.ConstructionMapper;
|
||||
import com.ruoyi.system.mapper.engineering.ContractMapper;
|
||||
import com.ruoyi.system.mapper.engineering.PaymentMapper;
|
||||
import com.ruoyi.system.mapper.engineering.SupplierPaymentRecordMapper;
|
||||
@@ -30,10 +32,14 @@ public class PaymentServiceImpl implements IPaymentService {
|
||||
@Autowired
|
||||
private SupplierPaymentRecordMapper supplierPaymentRecordMapper;
|
||||
|
||||
@Autowired
|
||||
private ConstructionMapper constructionMapper;
|
||||
|
||||
@Override
|
||||
public TableDataInfo selectPaymentList(Payment payment) {
|
||||
List<Payment> list = paymentMapper.selectPaymentList(payment);
|
||||
long total = PageHelper.getLocalPage().getTotal();
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
@@ -59,9 +65,69 @@ public class PaymentServiceImpl implements IPaymentService {
|
||||
throw new RuntimeException("付款金额超过合同未付金额");
|
||||
}
|
||||
|
||||
if ("progress".equals(payment.getPaymentType())) {
|
||||
validateProgressPayment(payment);
|
||||
} else if ("quality".equals(payment.getPaymentType())) {
|
||||
validateQualityPayment(payment, contract);
|
||||
}
|
||||
|
||||
return paymentMapper.insertPayment(payment);
|
||||
}
|
||||
|
||||
private void validateProgressPayment(Payment payment) {
|
||||
if (payment.getConstructionId() == null) {
|
||||
throw new RuntimeException("进度款必须关联施工节点");
|
||||
}
|
||||
|
||||
Construction construction = constructionMapper.selectConstructionById(payment.getConstructionId());
|
||||
if (construction == null) {
|
||||
throw new RuntimeException("施工节点不存在");
|
||||
}
|
||||
|
||||
if (!"approved".equals(construction.getAcceptanceStatus())) {
|
||||
throw new RuntimeException("施工节点未通过验收,无法申请进度款");
|
||||
}
|
||||
}
|
||||
|
||||
private void validateQualityPayment(Payment payment, Contract contract) {
|
||||
if (contract.getEndDate() == null) {
|
||||
throw new RuntimeException("合同未设置结束日期,无法申请质保金");
|
||||
}
|
||||
|
||||
Date endDate = contract.getEndDate();
|
||||
Date now = new Date();
|
||||
if (now.before(endDate)) {
|
||||
throw new RuntimeException("合同尚未到期,无法申请质保金");
|
||||
}
|
||||
|
||||
BigDecimal qualityAmount = contract.getQualityAmount();
|
||||
if (qualityAmount == null || qualityAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
throw new RuntimeException("合同未设置质保金金额");
|
||||
}
|
||||
|
||||
BigDecimal totalQualityPaid = sumQualityPaymentByContractId(contract.getContractId());
|
||||
BigDecimal remainingQuality = qualityAmount.subtract(totalQualityPaid);
|
||||
|
||||
if (payment.getAmount().compareTo(remainingQuality) > 0) {
|
||||
throw new RuntimeException("质保金申请金额超过剩余可申请金额");
|
||||
}
|
||||
}
|
||||
|
||||
private BigDecimal sumQualityPaymentByContractId(Long contractId) {
|
||||
Payment query = new Payment();
|
||||
query.setContractId(contractId);
|
||||
query.setPaymentType("quality");
|
||||
List<Payment> payments = paymentMapper.selectPaymentList(query);
|
||||
|
||||
BigDecimal sum = BigDecimal.ZERO;
|
||||
for (Payment p : payments) {
|
||||
if ("paid".equals(p.getStatus())) {
|
||||
sum = sum.add(p.getAmount() != null ? p.getAmount() : BigDecimal.ZERO);
|
||||
}
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int updatePayment(Payment payment) {
|
||||
|
||||
@@ -43,7 +43,8 @@ public class SupplierServiceImpl implements ISupplierService {
|
||||
s.setTotalContractAmount(sumContractAmount(s.getSupplierId()));
|
||||
s.setTotalPaymentAmount(sumPaymentAmount(s.getSupplierId()));
|
||||
}
|
||||
long total = PageHelper.getLocalPage().getTotal();
|
||||
com.github.pagehelper.Page<?> page = PageHelper.getLocalPage();
|
||||
long total = page != null ? page.getTotal() : list.size();
|
||||
return TableDataInfo.build(list, total);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.engineering.MaterialInventoryDetailMapper">
|
||||
|
||||
<resultMap type="MaterialInventoryDetail" id="MaterialInventoryDetailResult">
|
||||
<id property="detailId" column="detail_id" />
|
||||
<result property="inventoryId" column="inventory_id" />
|
||||
<result property="materialId" column="material_id" />
|
||||
<result property="systemQuantity" column="system_quantity" />
|
||||
<result property="actualQuantity" column="actual_quantity" />
|
||||
<result property="difference" column="difference" />
|
||||
<result property="status" column="status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMaterialInventoryDetailVo">
|
||||
SELECT detail_id, inventory_id, material_id, system_quantity, actual_quantity,
|
||||
difference, status, remark, create_by, create_time, update_by, update_time
|
||||
FROM engineering_material_inventory_detail
|
||||
</sql>
|
||||
|
||||
<select id="selectMaterialInventoryDetailList" parameterType="MaterialInventoryDetail" resultMap="MaterialInventoryDetailResult">
|
||||
<include refid="selectMaterialInventoryDetailVo"/>
|
||||
<where>
|
||||
<if test="inventoryId != null">AND inventory_id = #{inventoryId}</if>
|
||||
<if test="materialId != null">AND material_id = #{materialId}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectMaterialInventoryDetailById" parameterType="Long" resultMap="MaterialInventoryDetailResult">
|
||||
<include refid="selectMaterialInventoryDetailVo"/>
|
||||
WHERE detail_id = #{detailId}
|
||||
</select>
|
||||
|
||||
<insert id="insertMaterialInventoryDetail" parameterType="MaterialInventoryDetail" useGeneratedKeys="true" keyProperty="detailId">
|
||||
INSERT INTO engineering_material_inventory_detail (
|
||||
inventory_id, material_id, system_quantity, actual_quantity, difference,
|
||||
status, remark, create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
#{inventoryId}, #{materialId}, #{systemQuantity}, #{actualQuantity}, #{difference},
|
||||
#{status}, #{remark}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMaterialInventoryDetail" parameterType="MaterialInventoryDetail">
|
||||
UPDATE engineering_material_inventory_detail
|
||||
SET inventory_id = #{inventoryId},
|
||||
material_id = #{materialId},
|
||||
system_quantity = #{systemQuantity},
|
||||
actual_quantity = #{actualQuantity},
|
||||
difference = #{difference},
|
||||
status = #{status},
|
||||
remark = #{remark},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime}
|
||||
WHERE detail_id = #{detailId}
|
||||
</update>
|
||||
|
||||
<update id="updateMaterialInventoryDetailStatus">
|
||||
UPDATE engineering_material_inventory_detail
|
||||
SET status = #{status}
|
||||
WHERE detail_id = #{detailId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMaterialInventoryDetailById" parameterType="Long">
|
||||
DELETE FROM engineering_material_inventory_detail WHERE detail_id = #{detailId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteMaterialInventoryDetailByInventoryId" parameterType="Long">
|
||||
DELETE FROM engineering_material_inventory_detail WHERE inventory_id = #{inventoryId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.engineering.MaterialInventoryMapper">
|
||||
|
||||
<resultMap type="MaterialInventory" id="MaterialInventoryResult">
|
||||
<id property="inventoryId" column="inventory_id" />
|
||||
<result property="inventoryNo" column="inventory_no" />
|
||||
<result property="inventoryDate" column="inventory_date" />
|
||||
<result property="warehouse" column="warehouse" />
|
||||
<result property="status" column="status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMaterialInventoryVo">
|
||||
SELECT inventory_id, inventory_no, inventory_date, warehouse,
|
||||
status, remark, create_by, create_time, update_by, update_time
|
||||
FROM engineering_material_inventory
|
||||
</sql>
|
||||
|
||||
<select id="selectMaterialInventoryList" parameterType="MaterialInventory" resultMap="MaterialInventoryResult">
|
||||
<include refid="selectMaterialInventoryVo"/>
|
||||
<where>
|
||||
<if test="inventoryNo != null and inventoryNo != ''">AND inventory_no LIKE CONCAT('%', #{inventoryNo}, '%')</if>
|
||||
<if test="warehouse != null and warehouse != ''">AND warehouse LIKE CONCAT('%', #{warehouse}, '%')</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectMaterialInventoryById" parameterType="Long" resultMap="MaterialInventoryResult">
|
||||
<include refid="selectMaterialInventoryVo"/>
|
||||
WHERE inventory_id = #{inventoryId}
|
||||
</select>
|
||||
|
||||
<insert id="insertMaterialInventory" parameterType="MaterialInventory" useGeneratedKeys="true" keyProperty="inventoryId">
|
||||
INSERT INTO engineering_material_inventory (
|
||||
inventory_no, inventory_date, warehouse, status, remark,
|
||||
create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
#{inventoryNo}, #{inventoryDate}, #{warehouse}, #{status}, #{remark},
|
||||
#{createBy}, #{createTime}, #{updateBy}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMaterialInventory" parameterType="MaterialInventory">
|
||||
UPDATE engineering_material_inventory
|
||||
SET inventory_no = #{inventoryNo},
|
||||
inventory_date = #{inventoryDate},
|
||||
warehouse = #{warehouse},
|
||||
status = #{status},
|
||||
remark = #{remark},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime}
|
||||
WHERE inventory_id = #{inventoryId}
|
||||
</update>
|
||||
|
||||
<update id="updateMaterialInventoryStatus">
|
||||
UPDATE engineering_material_inventory
|
||||
SET status = #{status}
|
||||
WHERE inventory_id = #{inventoryId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMaterialInventoryById" parameterType="Long">
|
||||
DELETE FROM engineering_material_inventory WHERE inventory_id = #{inventoryId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.engineering.MaterialPickMapper">
|
||||
|
||||
<resultMap type="MaterialPick" id="MaterialPickResult">
|
||||
<id property="pickId" column="pick_id" />
|
||||
<result property="pickNo" column="pick_no" />
|
||||
<result property="materialId" column="material_id" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="pickDate" column="pick_date" />
|
||||
<result property="department" column="department" />
|
||||
<result property="purpose" column="purpose" />
|
||||
<result property="picker" column="picker" />
|
||||
<result property="status" column="status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMaterialPickVo">
|
||||
SELECT pick_id, pick_no, material_id, quantity, pick_date, department,
|
||||
purpose, picker, status, remark, create_by, create_time, update_by, update_time
|
||||
FROM engineering_material_pick
|
||||
</sql>
|
||||
|
||||
<select id="selectMaterialPickList" parameterType="MaterialPick" resultMap="MaterialPickResult">
|
||||
<include refid="selectMaterialPickVo"/>
|
||||
<where>
|
||||
<if test="pickNo != null and pickNo != ''">AND pick_no LIKE CONCAT('%', #{pickNo}, '%')</if>
|
||||
<if test="materialId != null">AND material_id = #{materialId}</if>
|
||||
<if test="department != null and department != ''">AND department LIKE CONCAT('%', #{department}, '%')</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectMaterialPickById" parameterType="Long" resultMap="MaterialPickResult">
|
||||
<include refid="selectMaterialPickVo"/>
|
||||
WHERE pick_id = #{pickId}
|
||||
</select>
|
||||
|
||||
<insert id="insertMaterialPick" parameterType="MaterialPick" useGeneratedKeys="true" keyProperty="pickId">
|
||||
INSERT INTO engineering_material_pick (
|
||||
pick_no, material_id, quantity, pick_date, department,
|
||||
purpose, picker, status, remark, create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
#{pickNo}, #{materialId}, #{quantity}, #{pickDate}, #{department},
|
||||
#{purpose}, #{picker}, #{status}, #{remark}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMaterialPick" parameterType="MaterialPick">
|
||||
UPDATE engineering_material_pick
|
||||
SET pick_no = #{pickNo},
|
||||
material_id = #{materialId},
|
||||
quantity = #{quantity},
|
||||
pick_date = #{pickDate},
|
||||
department = #{department},
|
||||
purpose = #{purpose},
|
||||
picker = #{picker},
|
||||
status = #{status},
|
||||
remark = #{remark},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime}
|
||||
WHERE pick_id = #{pickId}
|
||||
</update>
|
||||
|
||||
<update id="updateMaterialPickStatus">
|
||||
UPDATE engineering_material_pick
|
||||
SET status = #{status}
|
||||
WHERE pick_id = #{pickId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMaterialPickById" parameterType="Long">
|
||||
DELETE FROM engineering_material_pick WHERE pick_id = #{pickId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.engineering.MaterialReturnBackMapper">
|
||||
|
||||
<resultMap type="MaterialReturnBack" id="MaterialReturnBackResult">
|
||||
<id property="returnBackId" column="return_back_id" />
|
||||
<result property="returnBackNo" column="return_back_no" />
|
||||
<result property="materialId" column="material_id" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="returnBackDate" column="return_back_date" />
|
||||
<result property="originalPickId" column="original_pick_id" />
|
||||
<result property="status" column="status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMaterialReturnBackVo">
|
||||
SELECT return_back_id, return_back_no, material_id, quantity, return_back_date, original_pick_id,
|
||||
status, remark, create_by, create_time, update_by, update_time
|
||||
FROM engineering_material_return_back
|
||||
</sql>
|
||||
|
||||
<select id="selectMaterialReturnBackList" parameterType="MaterialReturnBack" resultMap="MaterialReturnBackResult">
|
||||
<include refid="selectMaterialReturnBackVo"/>
|
||||
<where>
|
||||
<if test="returnBackNo != null and returnBackNo != ''">AND return_back_no LIKE CONCAT('%', #{returnBackNo}, '%')</if>
|
||||
<if test="materialId != null">AND material_id = #{materialId}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectMaterialReturnBackById" parameterType="Long" resultMap="MaterialReturnBackResult">
|
||||
<include refid="selectMaterialReturnBackVo"/>
|
||||
WHERE return_back_id = #{returnBackId}
|
||||
</select>
|
||||
|
||||
<insert id="insertMaterialReturnBack" parameterType="MaterialReturnBack" useGeneratedKeys="true" keyProperty="returnBackId">
|
||||
INSERT INTO engineering_material_return_back (
|
||||
return_back_no, material_id, quantity, return_back_date, original_pick_id,
|
||||
status, remark, create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
#{returnBackNo}, #{materialId}, #{quantity}, #{returnBackDate}, #{originalPickId},
|
||||
#{status}, #{remark}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMaterialReturnBack" parameterType="MaterialReturnBack">
|
||||
UPDATE engineering_material_return_back
|
||||
SET return_back_no = #{returnBackNo},
|
||||
material_id = #{materialId},
|
||||
quantity = #{quantity},
|
||||
return_back_date = #{returnBackDate},
|
||||
original_pick_id = #{originalPickId},
|
||||
status = #{status},
|
||||
remark = #{remark},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime}
|
||||
WHERE return_back_id = #{returnBackId}
|
||||
</update>
|
||||
|
||||
<update id="updateMaterialReturnBackStatus">
|
||||
UPDATE engineering_material_return_back
|
||||
SET status = #{status}
|
||||
WHERE return_back_id = #{returnBackId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMaterialReturnBackById" parameterType="Long">
|
||||
DELETE FROM engineering_material_return_back WHERE return_back_id = #{returnBackId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.engineering.MaterialReturnMapper">
|
||||
|
||||
<resultMap type="MaterialReturn" id="MaterialReturnResult">
|
||||
<id property="returnId" column="return_id" />
|
||||
<result property="returnNo" column="return_no" />
|
||||
<result property="materialId" column="material_id" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="returnDate" column="return_date" />
|
||||
<result property="supplierId" column="supplier_id" />
|
||||
<result property="returnReason" column="return_reason" />
|
||||
<result property="status" column="status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMaterialReturnVo">
|
||||
SELECT return_id, return_no, material_id, quantity, return_date, supplier_id,
|
||||
return_reason, status, remark, create_by, create_time, update_by, update_time
|
||||
FROM engineering_material_return
|
||||
</sql>
|
||||
|
||||
<select id="selectMaterialReturnList" parameterType="MaterialReturn" resultMap="MaterialReturnResult">
|
||||
<include refid="selectMaterialReturnVo"/>
|
||||
<where>
|
||||
<if test="returnNo != null and returnNo != ''">AND return_no LIKE CONCAT('%', #{returnNo}, '%')</if>
|
||||
<if test="materialId != null">AND material_id = #{materialId}</if>
|
||||
<if test="supplierId != null">AND supplier_id = #{supplierId}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectMaterialReturnById" parameterType="Long" resultMap="MaterialReturnResult">
|
||||
<include refid="selectMaterialReturnVo"/>
|
||||
WHERE return_id = #{returnId}
|
||||
</select>
|
||||
|
||||
<insert id="insertMaterialReturn" parameterType="MaterialReturn" useGeneratedKeys="true" keyProperty="returnId">
|
||||
INSERT INTO engineering_material_return (
|
||||
return_no, material_id, quantity, return_date, supplier_id,
|
||||
return_reason, status, remark, create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
#{returnNo}, #{materialId}, #{quantity}, #{returnDate}, #{supplierId},
|
||||
#{returnReason}, #{status}, #{remark}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMaterialReturn" parameterType="MaterialReturn">
|
||||
UPDATE engineering_material_return
|
||||
SET return_no = #{returnNo},
|
||||
material_id = #{materialId},
|
||||
quantity = #{quantity},
|
||||
return_date = #{returnDate},
|
||||
supplier_id = #{supplierId},
|
||||
return_reason = #{returnReason},
|
||||
status = #{status},
|
||||
remark = #{remark},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime}
|
||||
WHERE return_id = #{returnId}
|
||||
</update>
|
||||
|
||||
<update id="updateMaterialReturnStatus">
|
||||
UPDATE engineering_material_return
|
||||
SET status = #{status}
|
||||
WHERE return_id = #{returnId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMaterialReturnById" parameterType="Long">
|
||||
DELETE FROM engineering_material_return WHERE return_id = #{returnId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.engineering.MaterialScrapMapper">
|
||||
|
||||
<resultMap type="MaterialScrap" id="MaterialScrapResult">
|
||||
<id property="scrapId" column="scrap_id" />
|
||||
<result property="scrapNo" column="scrap_no" />
|
||||
<result property="materialId" column="material_id" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="scrapDate" column="scrap_date" />
|
||||
<result property="scrapType" column="scrap_type" />
|
||||
<result property="reason" column="reason" />
|
||||
<result property="handleResult" column="handle_result" />
|
||||
<result property="status" column="status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMaterialScrapVo">
|
||||
SELECT scrap_id, scrap_no, material_id, quantity, scrap_date, scrap_type,
|
||||
reason, handle_result, status, remark, create_by, create_time, update_by, update_time
|
||||
FROM engineering_material_scrap
|
||||
</sql>
|
||||
|
||||
<select id="selectMaterialScrapList" parameterType="MaterialScrap" resultMap="MaterialScrapResult">
|
||||
<include refid="selectMaterialScrapVo"/>
|
||||
<where>
|
||||
<if test="scrapNo != null and scrapNo != ''">AND scrap_no LIKE CONCAT('%', #{scrapNo}, '%')</if>
|
||||
<if test="materialId != null">AND material_id = #{materialId}</if>
|
||||
<if test="scrapType != null and scrapType != ''">AND scrap_type = #{scrapType}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectMaterialScrapById" parameterType="Long" resultMap="MaterialScrapResult">
|
||||
<include refid="selectMaterialScrapVo"/>
|
||||
WHERE scrap_id = #{scrapId}
|
||||
</select>
|
||||
|
||||
<insert id="insertMaterialScrap" parameterType="MaterialScrap" useGeneratedKeys="true" keyProperty="scrapId">
|
||||
INSERT INTO engineering_material_scrap (
|
||||
scrap_no, material_id, quantity, scrap_date, scrap_type,
|
||||
reason, handle_result, status, remark, create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
#{scrapNo}, #{materialId}, #{quantity}, #{scrapDate}, #{scrapType},
|
||||
#{reason}, #{handleResult}, #{status}, #{remark}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMaterialScrap" parameterType="MaterialScrap">
|
||||
UPDATE engineering_material_scrap
|
||||
SET scrap_no = #{scrapNo},
|
||||
material_id = #{materialId},
|
||||
quantity = #{quantity},
|
||||
scrap_date = #{scrapDate},
|
||||
scrap_type = #{scrapType},
|
||||
reason = #{reason},
|
||||
handle_result = #{handleResult},
|
||||
status = #{status},
|
||||
remark = #{remark},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime}
|
||||
WHERE scrap_id = #{scrapId}
|
||||
</update>
|
||||
|
||||
<update id="updateMaterialScrapStatus">
|
||||
UPDATE engineering_material_scrap
|
||||
SET status = #{status}
|
||||
WHERE scrap_id = #{scrapId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMaterialScrapById" parameterType="Long">
|
||||
DELETE FROM engineering_material_scrap WHERE scrap_id = #{scrapId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.engineering.MaterialTransferMapper">
|
||||
|
||||
<resultMap type="MaterialTransfer" id="MaterialTransferResult">
|
||||
<id property="transferId" column="transfer_id" />
|
||||
<result property="transferNo" column="transfer_no" />
|
||||
<result property="materialId" column="material_id" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="transferDate" column="transfer_date" />
|
||||
<result property="fromProject" column="from_project" />
|
||||
<result property="toProject" column="to_project" />
|
||||
<result property="transferType" column="transfer_type" />
|
||||
<result property="status" column="status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectMaterialTransferVo">
|
||||
SELECT transfer_id, transfer_no, material_id, quantity, transfer_date, from_project,
|
||||
to_project, transfer_type, status, remark, create_by, create_time, update_by, update_time
|
||||
FROM engineering_material_transfer
|
||||
</sql>
|
||||
|
||||
<select id="selectMaterialTransferList" parameterType="MaterialTransfer" resultMap="MaterialTransferResult">
|
||||
<include refid="selectMaterialTransferVo"/>
|
||||
<where>
|
||||
<if test="transferNo != null and transferNo != ''">AND transfer_no LIKE CONCAT('%', #{transferNo}, '%')</if>
|
||||
<if test="materialId != null">AND material_id = #{materialId}</if>
|
||||
<if test="transferType != null and transferType != ''">AND transfer_type = #{transferType}</if>
|
||||
<if test="status != null and status != ''">AND status = #{status}</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectMaterialTransferById" parameterType="Long" resultMap="MaterialTransferResult">
|
||||
<include refid="selectMaterialTransferVo"/>
|
||||
WHERE transfer_id = #{transferId}
|
||||
</select>
|
||||
|
||||
<insert id="insertMaterialTransfer" parameterType="MaterialTransfer" useGeneratedKeys="true" keyProperty="transferId">
|
||||
INSERT INTO engineering_material_transfer (
|
||||
transfer_no, material_id, quantity, transfer_date, from_project,
|
||||
to_project, transfer_type, status, remark, create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
#{transferNo}, #{materialId}, #{quantity}, #{transferDate}, #{fromProject},
|
||||
#{toProject}, #{transferType}, #{status}, #{remark}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateMaterialTransfer" parameterType="MaterialTransfer">
|
||||
UPDATE engineering_material_transfer
|
||||
SET transfer_no = #{transferNo},
|
||||
material_id = #{materialId},
|
||||
quantity = #{quantity},
|
||||
transfer_date = #{transferDate},
|
||||
from_project = #{fromProject},
|
||||
to_project = #{toProject},
|
||||
transfer_type = #{transferType},
|
||||
status = #{status},
|
||||
remark = #{remark},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime}
|
||||
WHERE transfer_id = #{transferId}
|
||||
</update>
|
||||
|
||||
<update id="updateMaterialTransferStatus">
|
||||
UPDATE engineering_material_transfer
|
||||
SET status = #{status}
|
||||
WHERE transfer_id = #{transferId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteMaterialTransferById" parameterType="Long">
|
||||
DELETE FROM engineering_material_transfer WHERE transfer_id = #{transferId}
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -134,3 +134,317 @@ export function delMaterialOut(outId) {
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function listMaterialReturn(query) {
|
||||
return request({
|
||||
url: '/system/engineering/material/return/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterialReturn(returnId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/return/' + returnId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addMaterialReturn(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/return',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMaterialReturn(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/return',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function approveMaterialReturn(returnId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/return/approve/' + returnId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function delMaterialReturn(returnId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/return/' + returnId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function listMaterialPick(query) {
|
||||
return request({
|
||||
url: '/system/engineering/material/pick/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterialPick(pickId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/pick/' + pickId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addMaterialPick(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/pick',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMaterialPick(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/pick',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function approveMaterialPick(pickId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/pick/approve/' + pickId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function issueMaterialPick(pickId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/pick/issue/' + pickId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function delMaterialPick(pickId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/pick/' + pickId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function listMaterialReturnBack(query) {
|
||||
return request({
|
||||
url: '/system/engineering/material/returnBack/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterialReturnBack(returnBackId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/returnBack/' + returnBackId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addMaterialReturnBack(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/returnBack',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMaterialReturnBack(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/returnBack',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function approveMaterialReturnBack(returnBackId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/returnBack/approve/' + returnBackId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function delMaterialReturnBack(returnBackId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/returnBack/' + returnBackId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function listMaterialTransfer(query) {
|
||||
return request({
|
||||
url: '/system/engineering/material/transfer/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterialTransfer(transferId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/transfer/' + transferId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addMaterialTransfer(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/transfer',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMaterialTransfer(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/transfer',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function approveMaterialTransfer(transferId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/transfer/approve/' + transferId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function delMaterialTransfer(transferId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/transfer/' + transferId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function listMaterialInventory(query) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterialInventory(inventoryId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/' + inventoryId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addMaterialInventory(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMaterialInventory(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function completeMaterialInventory(inventoryId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/complete/' + inventoryId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function adjustMaterialInventory(inventoryId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/adjust/' + inventoryId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function delMaterialInventory(inventoryId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/' + inventoryId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterialInventoryDetail(inventoryId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/detail/' + inventoryId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addMaterialInventoryDetail(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/detail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMaterialInventoryDetail(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/detail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function adjustMaterialInventoryDetail(detailId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/inventory/detail/adjust/' + detailId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function listMaterialScrap(query) {
|
||||
return request({
|
||||
url: '/system/engineering/material/scrap/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterialScrap(scrapId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/scrap/' + scrapId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function addMaterialScrap(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/scrap',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMaterialScrap(data) {
|
||||
return request({
|
||||
url: '/system/engineering/material/scrap',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function approveMaterialScrap(scrapId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/scrap/approve/' + scrapId,
|
||||
method: 'put'
|
||||
})
|
||||
}
|
||||
|
||||
export function delMaterialScrap(scrapId) {
|
||||
return request({
|
||||
url: '/system/engineering/material/scrap/' + scrapId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@@ -1,14 +1,21 @@
|
||||
<template>
|
||||
<div class="image-preview-wrapper">
|
||||
<el-image
|
||||
:src="`${realSrc}`"
|
||||
v-if="realSrc"
|
||||
:src="realSrc"
|
||||
fit="cover"
|
||||
:style="`width:${realWidth};height:${realHeight};`"
|
||||
:style="imageStyle"
|
||||
:preview-src-list="realSrcList"
|
||||
@error="handleImageError"
|
||||
>
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
<div v-else class="image-slot default">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -30,10 +37,15 @@ export default {
|
||||
default: ""
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
imageError: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
realSrc() {
|
||||
if (!this.src) {
|
||||
return
|
||||
return null
|
||||
}
|
||||
let real_src = this.src.split(",")[0]
|
||||
if (isExternal(real_src)) {
|
||||
@@ -43,23 +55,30 @@ export default {
|
||||
},
|
||||
realSrcList() {
|
||||
if (!this.src) {
|
||||
return
|
||||
return []
|
||||
}
|
||||
let real_src_list = this.src.split(",")
|
||||
let srcList = []
|
||||
real_src_list.forEach(item => {
|
||||
if (isExternal(item)) {
|
||||
return srcList.push(item)
|
||||
srcList.push(item)
|
||||
} else {
|
||||
srcList.push(process.env.VUE_APP_BASE_API + item)
|
||||
}
|
||||
return srcList.push(process.env.VUE_APP_BASE_API + item)
|
||||
})
|
||||
return srcList
|
||||
},
|
||||
realWidth() {
|
||||
return typeof this.width == "string" ? this.width : `${this.width}px`
|
||||
imageStyle() {
|
||||
return {
|
||||
width: typeof this.width === "string" ? this.width : `${this.width}px`,
|
||||
height: typeof this.height === "string" ? this.height : `${this.height}px`
|
||||
}
|
||||
}
|
||||
},
|
||||
realHeight() {
|
||||
return typeof this.height == "string" ? this.height : `${this.height}px`
|
||||
methods: {
|
||||
handleImageError(e) {
|
||||
this.imageError = true
|
||||
console.warn("Image preview error:", e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open(row) {
|
||||
show(row) {
|
||||
this.open = true
|
||||
this.form = {
|
||||
constructionId: row.constructionId,
|
||||
|
||||
@@ -75,7 +75,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open(row) {
|
||||
show(row) {
|
||||
this.open = true
|
||||
this.title = row ? '修改施工节点' : '新增施工节点'
|
||||
this.form = row ? { ...row } : { progress: 0, status: 'in_progress', parentId: 0 }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" inline :label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" inline label-width="100px">
|
||||
<el-form-item label="合同" prop="contractId">
|
||||
<el-select v-model="queryParams.contractId" placeholder="请选择合同" clearable>
|
||||
<el-option v-for="contract in contractOptions" :key="contract.contractId" :label="contract.contractName" :value="contract.contractId" />
|
||||
|
||||
@@ -74,7 +74,7 @@ export default {
|
||||
this.supplierOptions = response.data
|
||||
})
|
||||
},
|
||||
open(row) {
|
||||
show(row) {
|
||||
this.open = true
|
||||
this.form = {
|
||||
contractId: null,
|
||||
|
||||
@@ -106,7 +106,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open(contractId) {
|
||||
show(contractId) {
|
||||
this.open = true
|
||||
getContractDetail(contractId).then(response => {
|
||||
this.detail = response.data
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" inline :label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" inline label-width="100px">
|
||||
<el-form-item label="合同编号" prop="contractNo">
|
||||
<el-input v-model="queryParams.contractNo" placeholder="请输入合同编号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
|
||||
420
ruoyi-ui/src/views/engineering/material/inventory.vue
Normal file
420
ruoyi-ui/src/views/engineering/material/inventory.vue
Normal file
@@ -0,0 +1,420 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="盘点单号" prop="inventoryNo">
|
||||
<el-input v-model="queryParams.inventoryNo" placeholder="请输入盘点单号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="仓库" prop="warehouse">
|
||||
<el-input v-model="queryParams.warehouse" placeholder="请输入仓库" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
||||
<el-option label="待盘点" value="pending" />
|
||||
<el-option label="已完成" value="completed" />
|
||||
<el-option label="已调整" value="adjusted" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="handleAdd">新增盘点单</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="inventoryList" border fit highlight-current-row>
|
||||
<el-table-column label="盘点单号" prop="inventoryNo" />
|
||||
<el-table-column label="仓库" prop="warehouse" />
|
||||
<el-table-column label="盘点日期" prop="inventoryDate" />
|
||||
<el-table-column label="盘点类型" prop="inventoryType">
|
||||
<template slot-scope="scope">
|
||||
<el-tag type="primary">{{ scope.row.inventoryType === 'full' ? '全面盘点' : '抽样盘点' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.status === 'adjusted' ? 'success' : (scope.row.status === 'completed' ? 'primary' : 'warning')">
|
||||
{{ scope.row.status === 'adjusted' ? '已调整' : (scope.row.status === 'completed' ? '已完成' : '待盘点') }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="createTime" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)" v-if="scope.row.status === 'pending'">编辑</el-button>
|
||||
<el-button size="mini" icon="el-icon-check" type="success" @click="handleComplete(scope.row)" v-if="scope.row.status === 'pending'">完成盘点</el-button>
|
||||
<el-button size="mini" icon="el-icon-refresh" type="warning" @click="handleAdjust(scope.row)" v-if="scope.row.status === 'completed'">调整库存</el-button>
|
||||
<el-button size="mini" icon="el-icon-delete" type="danger" @click="handleDelete(scope.row)" v-if="scope.row.status !== 'adjusted'">删除</el-button>
|
||||
<el-button size="mini" icon="el-icon-list" @click="viewDetail(scope.row)">查看明细</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<el-dialog title="盘点单信息" :visible.sync="open" width="700px" append-to-body>
|
||||
<el-form :model="form" ref="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="盘点单号" prop="inventoryNo">
|
||||
<el-input v-model="form.inventoryNo" placeholder="请输入盘点单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="盘点日期" prop="inventoryDate">
|
||||
<el-date-picker v-model="form.inventoryDate" type="date" placeholder="请选择盘点日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="仓库" prop="warehouse">
|
||||
<el-input v-model="form.warehouse" placeholder="请输入仓库" />
|
||||
</el-form-item>
|
||||
<el-form-item label="盘点类型" prop="inventoryType">
|
||||
<el-radio-group v-model="form.inventoryType">
|
||||
<el-radio label="full">全面盘点</el-radio>
|
||||
<el-radio label="partial">抽样盘点</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-textarea v-model="form.remark" placeholder="请输入备注" rows="3" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="盘点明细" :visible.sync="detailOpen" width="800px" append-to-body>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="addDetail">新增明细</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="detailList" border>
|
||||
<el-table-column label="物料" prop="materialName" />
|
||||
<el-table-column label="规格型号" prop="specification" />
|
||||
<el-table-column label="系统库存" prop="systemStock" />
|
||||
<el-table-column label="实际库存" prop="actualStock">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.actualStock" type="number" @change="updateDiff(scope.row)" v-if="currentInventory && currentInventory.status === 'pending'" />
|
||||
<span v-else>{{ scope.row.actualStock }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="差异数量" prop="diffQuantity">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.diffQuantity > 0 ? 'success' : (scope.row.diffQuantity < 0 ? 'danger' : '')">
|
||||
{{ scope.row.diffQuantity || 0 }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.status === 'adjusted' ? 'success' : 'warning'">
|
||||
{{ scope.row.status === 'adjusted' ? '已调整' : '待调整' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" icon="el-icon-edit" @click="editDetail(scope.row)" v-if="currentInventory && currentInventory.status === 'pending'">编辑</el-button>
|
||||
<el-button size="mini" icon="el-icon-check" type="success" @click="adjustDetail(scope.row)" v-if="scope.row.status === 'pending' && scope.row.diffQuantity !== 0">调整</el-button>
|
||||
<el-button size="mini" icon="el-icon-delete" type="danger" @click="deleteDetail(scope.row)" v-if="currentInventory && currentInventory.status === 'pending'">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="detailOpen = false">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="新增盘点明细" :visible.sync="detailFormOpen" width="600px" append-to-body>
|
||||
<el-form :model="detailForm" ref="detailForm" :rules="detailRules" label-width="100px">
|
||||
<el-form-item label="物料" prop="materialId">
|
||||
<el-select v-model="detailForm.materialId" placeholder="请选择物料">
|
||||
<el-option v-for="item in materialOptions" :key="item.materialId" :label="item.materialName + ' (' + item.materialCode + ') 库存:' + item.stock" :value="item.materialId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="系统库存" prop="systemStock">
|
||||
<el-input v-model="detailForm.systemStock" type="number" :disabled="true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="实际库存" prop="actualStock">
|
||||
<el-input v-model="detailForm.actualStock" type="number" placeholder="请输入实际库存" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-textarea v-model="detailForm.remark" placeholder="请输入备注" rows="3" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitDetail">确 定</el-button>
|
||||
<el-button @click="cancelDetail">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMaterialInventory, getMaterialInventory, addMaterialInventory, updateMaterialInventory, completeMaterialInventory, adjustMaterialInventory, delMaterialInventory, getMaterialInventoryDetail, addMaterialInventoryDetail, updateMaterialInventoryDetail, adjustMaterialInventoryDetail } from '@/api/engineering/material'
|
||||
import { getMaterialOptions } from '@/api/engineering/material'
|
||||
|
||||
export default {
|
||||
name: 'MaterialInventory',
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
loading: false,
|
||||
total: 0,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
inventoryNo: '',
|
||||
warehouse: '',
|
||||
status: ''
|
||||
},
|
||||
inventoryList: [],
|
||||
materialOptions: [],
|
||||
materialMap: {},
|
||||
open: false,
|
||||
detailOpen: false,
|
||||
detailFormOpen: false,
|
||||
form: {},
|
||||
detailList: [],
|
||||
detailForm: {},
|
||||
currentInventory: null,
|
||||
rules: {
|
||||
inventoryNo: [
|
||||
{ required: true, message: '盘点单号不能为空', trigger: 'blur' }
|
||||
],
|
||||
inventoryDate: [
|
||||
{ required: true, message: '盘点日期不能为空', trigger: 'change' }
|
||||
],
|
||||
warehouse: [
|
||||
{ required: true, message: '仓库不能为空', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
detailRules: {
|
||||
materialId: [
|
||||
{ required: true, message: '请选择物料', trigger: 'change' }
|
||||
],
|
||||
actualStock: [
|
||||
{ required: true, message: '实际库存不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getOptions()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
listMaterialInventory(this.queryParams).then(response => {
|
||||
this.inventoryList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
getOptions() {
|
||||
getMaterialOptions().then(response => {
|
||||
this.materialOptions = response.data
|
||||
this.materialMap = {}
|
||||
response.data.forEach(item => {
|
||||
this.materialMap[item.materialId] = item
|
||||
})
|
||||
})
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
resetQuery() {
|
||||
this.queryParams = {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
inventoryNo: '',
|
||||
warehouse: '',
|
||||
status: ''
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
handleAdd() {
|
||||
this.open = true
|
||||
this.form = { inventoryType: 'full' }
|
||||
},
|
||||
handleEdit(row) {
|
||||
this.open = true
|
||||
getMaterialInventory(row.inventoryId).then(response => {
|
||||
this.form = response.data
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定删除该盘点单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delMaterialInventory(row.inventoryId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
handleComplete(row) {
|
||||
this.$confirm('确定完成该盘点单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
completeMaterialInventory(row.inventoryId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('完成成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
handleAdjust(row) {
|
||||
this.$confirm('确定调整库存吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
adjustMaterialInventory(row.inventoryId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('调整成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
viewDetail(row) {
|
||||
this.currentInventory = row
|
||||
this.detailOpen = true
|
||||
this.loadDetail(row.inventoryId)
|
||||
},
|
||||
loadDetail(inventoryId) {
|
||||
getMaterialInventoryDetail(inventoryId).then(response => {
|
||||
this.detailList = response.data || []
|
||||
})
|
||||
},
|
||||
addDetail() {
|
||||
this.detailForm = { inventoryId: this.currentInventory.inventoryId }
|
||||
this.detailFormOpen = true
|
||||
},
|
||||
editDetail(row) {
|
||||
this.detailForm = { ...row }
|
||||
this.detailFormOpen = true
|
||||
},
|
||||
deleteDetail(row) {
|
||||
this.$confirm('确定删除该明细吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.detailList = this.detailList.filter(item => item.detailId !== row.detailId)
|
||||
this.msgSuccess('删除成功')
|
||||
})
|
||||
},
|
||||
adjustDetail(row) {
|
||||
this.$confirm('确定调整该物料库存吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
adjustMaterialInventoryDetail(row.detailId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('调整成功')
|
||||
this.loadDetail(this.currentInventory.inventoryId)
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
updateDiff(row) {
|
||||
if (row.systemStock !== undefined && row.actualStock !== undefined) {
|
||||
row.diffQuantity = (row.actualStock - row.systemStock) || 0
|
||||
}
|
||||
},
|
||||
submitDetail() {
|
||||
this.$refs['detailForm'].validate(valid => {
|
||||
if (valid) {
|
||||
const material = this.materialMap[this.detailForm.materialId]
|
||||
if (material) {
|
||||
this.detailForm.systemStock = material.stock
|
||||
this.detailForm.diffQuantity = (this.detailForm.actualStock - material.stock) || 0
|
||||
}
|
||||
|
||||
if (this.detailForm.detailId) {
|
||||
updateMaterialInventoryDetail(this.detailForm).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('修改成功')
|
||||
this.detailFormOpen = false
|
||||
this.loadDetail(this.currentInventory.inventoryId)
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addMaterialInventoryDetail(this.detailForm).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('新增成功')
|
||||
this.detailFormOpen = false
|
||||
this.loadDetail(this.currentInventory.inventoryId)
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancelDetail() {
|
||||
this.detailFormOpen = false
|
||||
this.detailForm = {}
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.inventoryId) {
|
||||
updateMaterialInventory(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addMaterialInventory(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.form = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
269
ruoyi-ui/src/views/engineering/material/pick.vue
Normal file
269
ruoyi-ui/src/views/engineering/material/pick.vue
Normal file
@@ -0,0 +1,269 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="领料单号" prop="pickNo">
|
||||
<el-input v-model="queryParams.pickNo" placeholder="请输入领料单号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
||||
<el-option label="待审核" value="pending" />
|
||||
<el-option label="已审核" value="approved" />
|
||||
<el-option label="已发放" value="issued" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="handleAdd">新增领料单</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="pickList" border fit highlight-current-row>
|
||||
<el-table-column label="领料单号" prop="pickNo" />
|
||||
<el-table-column label="物料" prop="materialName" />
|
||||
<el-table-column label="规格型号" prop="specification" />
|
||||
<el-table-column label="领料数量" prop="quantity" />
|
||||
<el-table-column label="领料日期" prop="pickDate" />
|
||||
<el-table-column label="领用部门" prop="deptName" />
|
||||
<el-table-column label="领用人" prop="receiver" />
|
||||
<el-table-column label="用途" prop="usePurpose" />
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.status === 'issued' ? 'success' : (scope.row.status === 'approved' ? 'primary' : 'warning')">
|
||||
{{ scope.row.status === 'issued' ? '已发放' : (scope.row.status === 'approved' ? '已审核' : '待审核') }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="createTime" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)" v-if="scope.row.status === 'pending'">编辑</el-button>
|
||||
<el-button size="mini" icon="el-icon-check" type="success" @click="handleApprove(scope.row)" v-if="scope.row.status === 'pending'">审核</el-button>
|
||||
<el-button size="mini" icon="el-icon-send" type="primary" @click="handleIssue(scope.row)" v-if="scope.row.status === 'approved'">发放</el-button>
|
||||
<el-button size="mini" icon="el-icon-delete" type="danger" @click="handleDelete(scope.row)" v-if="scope.row.status !== 'issued'">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<el-dialog title="领料单信息" :visible.sync="open" width="700px" append-to-body>
|
||||
<el-form :model="form" ref="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="领料单号" prop="pickNo">
|
||||
<el-input v-model="form.pickNo" placeholder="请输入领料单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料" prop="materialId">
|
||||
<el-select v-model="form.materialId" placeholder="请选择物料" @change="onMaterialChange">
|
||||
<el-option v-for="item in materialOptions" :key="item.materialId" :label="item.materialName + ' (' + item.materialCode + ') 库存:' + item.stock" :value="item.materialId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="领料数量" prop="quantity">
|
||||
<el-input v-model="form.quantity" type="number" placeholder="请输入领料数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="领料日期" prop="pickDate">
|
||||
<el-date-picker v-model="form.pickDate" type="date" placeholder="请选择领料日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="领用部门" prop="deptName">
|
||||
<el-input v-model="form.deptName" placeholder="请输入领用部门" />
|
||||
</el-form-item>
|
||||
<el-form-item label="领用人" prop="receiver">
|
||||
<el-input v-model="form.receiver" placeholder="请输入领用人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用途" prop="usePurpose">
|
||||
<el-textarea v-model="form.usePurpose" placeholder="请输入用途" rows="3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-textarea v-model="form.remark" placeholder="请输入备注" rows="3" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMaterialPick, getMaterialPick, addMaterialPick, updateMaterialPick, approveMaterialPick, issueMaterialPick, delMaterialPick } from '@/api/engineering/material'
|
||||
import { getMaterialOptions } from '@/api/engineering/material'
|
||||
|
||||
export default {
|
||||
name: 'MaterialPick',
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
loading: false,
|
||||
total: 0,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pickNo: '',
|
||||
materialName: '',
|
||||
status: ''
|
||||
},
|
||||
pickList: [],
|
||||
materialOptions: [],
|
||||
open: false,
|
||||
form: {},
|
||||
rules: {
|
||||
pickNo: [
|
||||
{ required: true, message: '领料单号不能为空', trigger: 'blur' }
|
||||
],
|
||||
materialId: [
|
||||
{ required: true, message: '请选择物料', trigger: 'change' }
|
||||
],
|
||||
quantity: [
|
||||
{ required: true, message: '领料数量不能为空', trigger: 'blur' }
|
||||
],
|
||||
pickDate: [
|
||||
{ required: true, message: '领料日期不能为空', trigger: 'change' }
|
||||
],
|
||||
deptName: [
|
||||
{ required: true, message: '领用部门不能为空', trigger: 'blur' }
|
||||
],
|
||||
receiver: [
|
||||
{ required: true, message: '领用人不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getOptions()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
listMaterialPick(this.queryParams).then(response => {
|
||||
this.pickList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
getOptions() {
|
||||
getMaterialOptions().then(response => {
|
||||
this.materialOptions = response.data
|
||||
})
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
resetQuery() {
|
||||
this.queryParams = {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pickNo: '',
|
||||
materialName: '',
|
||||
status: ''
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
handleAdd() {
|
||||
this.open = true
|
||||
this.form = {}
|
||||
this.getOptions()
|
||||
},
|
||||
handleEdit(row) {
|
||||
this.open = true
|
||||
getMaterialPick(row.pickId).then(response => {
|
||||
this.form = response.data
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定删除该领料单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delMaterialPick(row.pickId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
handleApprove(row) {
|
||||
this.$confirm('确定审核该领料单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
approveMaterialPick(row.pickId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('审核成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
handleIssue(row) {
|
||||
this.$confirm('确定发放该领料单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
issueMaterialPick(row.pickId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('发放成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
onMaterialChange() {
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.pickId) {
|
||||
updateMaterialPick(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addMaterialPick(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.form = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
248
ruoyi-ui/src/views/engineering/material/return.vue
Normal file
248
ruoyi-ui/src/views/engineering/material/return.vue
Normal file
@@ -0,0 +1,248 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="退货单号" prop="returnNo">
|
||||
<el-input v-model="queryParams.returnNo" placeholder="请输入退货单号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
||||
<el-option label="待审核" value="pending" />
|
||||
<el-option label="已审核" value="approved" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="handleAdd">新增退货单</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="returnList" border fit highlight-current-row>
|
||||
<el-table-column label="退货单号" prop="returnNo" />
|
||||
<el-table-column label="物料" prop="materialName" />
|
||||
<el-table-column label="规格型号" prop="specification" />
|
||||
<el-table-column label="退货数量" prop="quantity" />
|
||||
<el-table-column label="退货日期" prop="returnDate" />
|
||||
<el-table-column label="供应商" prop="supplierName" />
|
||||
<el-table-column label="退货原因" prop="returnReason" />
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.status === 'approved' ? 'success' : 'warning'">
|
||||
{{ scope.row.status === 'approved' ? '已审核' : '待审核' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="createTime" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)" v-if="scope.row.status === 'pending'">编辑</el-button>
|
||||
<el-button size="mini" icon="el-icon-check" type="success" @click="handleApprove(scope.row)" v-if="scope.row.status === 'pending'">审核</el-button>
|
||||
<el-button size="mini" icon="el-icon-delete" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<el-dialog title="退货单信息" :visible.sync="open" width="700px" append-to-body>
|
||||
<el-form :model="form" ref="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="退货单号" prop="returnNo">
|
||||
<el-input v-model="form.returnNo" placeholder="请输入退货单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料" prop="materialId">
|
||||
<el-select v-model="form.materialId" placeholder="请选择物料" @change="onMaterialChange">
|
||||
<el-option v-for="item in materialOptions" :key="item.materialId" :label="item.materialName + ' (' + item.materialCode + ')'" :value="item.materialId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="退货数量" prop="quantity">
|
||||
<el-input v-model="form.quantity" type="number" placeholder="请输入退货数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="退货日期" prop="returnDate">
|
||||
<el-date-picker v-model="form.returnDate" type="date" placeholder="请选择退货日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="供应商" prop="supplierId">
|
||||
<el-select v-model="form.supplierId" placeholder="请选择供应商">
|
||||
<el-option v-for="item in supplierOptions" :key="item.supplierId" :label="item.supplierName" :value="item.supplierId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="退货原因" prop="returnReason">
|
||||
<el-textarea v-model="form.returnReason" placeholder="请输入退货原因" rows="3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-textarea v-model="form.remark" placeholder="请输入备注" rows="3" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMaterialReturn, getMaterialReturn, addMaterialReturn, updateMaterialReturn, approveMaterialReturn, delMaterialReturn } from '@/api/engineering/material'
|
||||
import { getMaterialOptions } from '@/api/engineering/material'
|
||||
import { getSupplierOptions } from '@/api/engineering/supplier'
|
||||
|
||||
export default {
|
||||
name: 'MaterialReturn',
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
loading: false,
|
||||
total: 0,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
returnNo: '',
|
||||
materialName: '',
|
||||
status: ''
|
||||
},
|
||||
returnList: [],
|
||||
materialOptions: [],
|
||||
supplierOptions: [],
|
||||
open: false,
|
||||
form: {},
|
||||
rules: {
|
||||
returnNo: [
|
||||
{ required: true, message: '退货单号不能为空', trigger: 'blur' }
|
||||
],
|
||||
materialId: [
|
||||
{ required: true, message: '请选择物料', trigger: 'change' }
|
||||
],
|
||||
quantity: [
|
||||
{ required: true, message: '退货数量不能为空', trigger: 'blur' }
|
||||
],
|
||||
returnDate: [
|
||||
{ required: true, message: '退货日期不能为空', trigger: 'change' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getOptions()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
listMaterialReturn(this.queryParams).then(response => {
|
||||
this.returnList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
getOptions() {
|
||||
getMaterialOptions().then(response => {
|
||||
this.materialOptions = response.data
|
||||
})
|
||||
getSupplierOptions().then(response => {
|
||||
this.supplierOptions = response.data
|
||||
})
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
resetQuery() {
|
||||
this.queryParams = {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
returnNo: '',
|
||||
materialName: '',
|
||||
status: ''
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
handleAdd() {
|
||||
this.open = true
|
||||
this.form = {}
|
||||
this.getOptions()
|
||||
},
|
||||
handleEdit(row) {
|
||||
this.open = true
|
||||
getMaterialReturn(row.returnId).then(response => {
|
||||
this.form = response.data
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定删除该退货单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delMaterialReturn(row.returnId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
handleApprove(row) {
|
||||
this.$confirm('确定审核该退货单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
approveMaterialReturn(row.returnId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('审核成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
onMaterialChange() {
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.returnId) {
|
||||
updateMaterialReturn(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addMaterialReturn(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.form = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
244
ruoyi-ui/src/views/engineering/material/returnBack.vue
Normal file
244
ruoyi-ui/src/views/engineering/material/returnBack.vue
Normal file
@@ -0,0 +1,244 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="还料单号" prop="returnBackNo">
|
||||
<el-input v-model="queryParams.returnBackNo" placeholder="请输入还料单号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
||||
<el-option label="待审核" value="pending" />
|
||||
<el-option label="已审核" value="approved" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="handleAdd">新增还料单</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="returnBackList" border fit highlight-current-row>
|
||||
<el-table-column label="还料单号" prop="returnBackNo" />
|
||||
<el-table-column label="关联领料单" prop="pickNo" />
|
||||
<el-table-column label="物料" prop="materialName" />
|
||||
<el-table-column label="规格型号" prop="specification" />
|
||||
<el-table-column label="还料数量" prop="quantity" />
|
||||
<el-table-column label="还料日期" prop="returnBackDate" />
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.status === 'approved' ? 'success' : 'warning'">
|
||||
{{ scope.row.status === 'approved' ? '已审核' : '待审核' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="createTime" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)" v-if="scope.row.status === 'pending'">编辑</el-button>
|
||||
<el-button size="mini" icon="el-icon-check" type="success" @click="handleApprove(scope.row)" v-if="scope.row.status === 'pending'">审核</el-button>
|
||||
<el-button size="mini" icon="el-icon-delete" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<el-dialog title="还料单信息" :visible.sync="open" width="700px" append-to-body>
|
||||
<el-form :model="form" ref="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="还料单号" prop="returnBackNo">
|
||||
<el-input v-model="form.returnBackNo" placeholder="请输入还料单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关联领料单" prop="pickId">
|
||||
<el-select v-model="form.pickId" placeholder="请选择关联领料单">
|
||||
<el-option v-for="item in pickOptions" :key="item.pickId" :label="item.pickNo" :value="item.pickId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料" prop="materialId">
|
||||
<el-select v-model="form.materialId" placeholder="请选择物料" @change="onMaterialChange">
|
||||
<el-option v-for="item in materialOptions" :key="item.materialId" :label="item.materialName + ' (' + item.materialCode + ')'" :value="item.materialId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="还料数量" prop="quantity">
|
||||
<el-input v-model="form.quantity" type="number" placeholder="请输入还料数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="还料日期" prop="returnBackDate">
|
||||
<el-date-picker v-model="form.returnBackDate" type="date" placeholder="请选择还料日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-textarea v-model="form.remark" placeholder="请输入备注" rows="3" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMaterialReturnBack, getMaterialReturnBack, addMaterialReturnBack, updateMaterialReturnBack, approveMaterialReturnBack, delMaterialReturnBack } from '@/api/engineering/material'
|
||||
import { getMaterialOptions } from '@/api/engineering/material'
|
||||
import { listMaterialPick } from '@/api/engineering/material'
|
||||
|
||||
export default {
|
||||
name: 'MaterialReturnBack',
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
loading: false,
|
||||
total: 0,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
returnBackNo: '',
|
||||
materialName: '',
|
||||
status: ''
|
||||
},
|
||||
returnBackList: [],
|
||||
materialOptions: [],
|
||||
pickOptions: [],
|
||||
open: false,
|
||||
form: {},
|
||||
rules: {
|
||||
returnBackNo: [
|
||||
{ required: true, message: '还料单号不能为空', trigger: 'blur' }
|
||||
],
|
||||
materialId: [
|
||||
{ required: true, message: '请选择物料', trigger: 'change' }
|
||||
],
|
||||
quantity: [
|
||||
{ required: true, message: '还料数量不能为空', trigger: 'blur' }
|
||||
],
|
||||
returnBackDate: [
|
||||
{ required: true, message: '还料日期不能为空', trigger: 'change' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getOptions()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
listMaterialReturnBack(this.queryParams).then(response => {
|
||||
this.returnBackList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
getOptions() {
|
||||
getMaterialOptions().then(response => {
|
||||
this.materialOptions = response.data
|
||||
})
|
||||
listMaterialPick({}).then(response => {
|
||||
this.pickOptions = response.rows || []
|
||||
})
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
resetQuery() {
|
||||
this.queryParams = {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
returnBackNo: '',
|
||||
materialName: '',
|
||||
status: ''
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
handleAdd() {
|
||||
this.open = true
|
||||
this.form = {}
|
||||
this.getOptions()
|
||||
},
|
||||
handleEdit(row) {
|
||||
this.open = true
|
||||
getMaterialReturnBack(row.returnBackId).then(response => {
|
||||
this.form = response.data
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定删除该还料单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delMaterialReturnBack(row.returnBackId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
handleApprove(row) {
|
||||
this.$confirm('确定审核该还料单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
approveMaterialReturnBack(row.returnBackId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('审核成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
onMaterialChange() {
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.returnBackId) {
|
||||
updateMaterialReturnBack(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addMaterialReturnBack(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.form = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
272
ruoyi-ui/src/views/engineering/material/scrap.vue
Normal file
272
ruoyi-ui/src/views/engineering/material/scrap.vue
Normal file
@@ -0,0 +1,272 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="单据号" prop="scrapNo">
|
||||
<el-input v-model="queryParams.scrapNo" placeholder="请输入单据号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="异常类型" prop="scrapType">
|
||||
<el-select v-model="queryParams.scrapType" placeholder="请选择异常类型" clearable>
|
||||
<el-option label="报损" value="scrap" />
|
||||
<el-option label="报溢" value="overflow" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
||||
<el-option label="待审核" value="pending" />
|
||||
<el-option label="已审核" value="approved" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="handleAdd">新增报损报溢</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="scrapList" border fit highlight-current-row>
|
||||
<el-table-column label="单据号" prop="scrapNo" />
|
||||
<el-table-column label="物料" prop="materialName" />
|
||||
<el-table-column label="规格型号" prop="specification" />
|
||||
<el-table-column label="数量" prop="quantity" />
|
||||
<el-table-column label="异常类型" prop="scrapType">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.scrapType === 'scrap' ? 'danger' : 'success'">
|
||||
{{ scope.row.scrapType === 'scrap' ? '报损' : '报溢' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="异常日期" prop="scrapDate" />
|
||||
<el-table-column label="原因" prop="reason" />
|
||||
<el-table-column label="处理人" prop="handler" />
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.status === 'approved' ? 'success' : 'warning'">
|
||||
{{ scope.row.status === 'approved' ? '已审核' : '待审核' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="createTime" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)" v-if="scope.row.status === 'pending'">编辑</el-button>
|
||||
<el-button size="mini" icon="el-icon-check" type="success" @click="handleApprove(scope.row)" v-if="scope.row.status === 'pending'">审核</el-button>
|
||||
<el-button size="mini" icon="el-icon-delete" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<el-dialog title="报损报溢信息" :visible.sync="open" width="700px" append-to-body>
|
||||
<el-form :model="form" ref="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="单据号" prop="scrapNo">
|
||||
<el-input v-model="form.scrapNo" placeholder="请输入单据号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料" prop="materialId">
|
||||
<el-select v-model="form.materialId" placeholder="请选择物料" @change="onMaterialChange">
|
||||
<el-option v-for="item in materialOptions" :key="item.materialId" :label="item.materialName + ' (' + item.materialCode + ') 库存:' + item.stock" :value="item.materialId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数量" prop="quantity">
|
||||
<el-input v-model="form.quantity" type="number" placeholder="请输入数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="异常类型" prop="scrapType">
|
||||
<el-radio-group v-model="form.scrapType">
|
||||
<el-radio label="scrap">报损</el-radio>
|
||||
<el-radio label="overflow">报溢</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="异常日期" prop="scrapDate">
|
||||
<el-date-picker v-model="form.scrapDate" type="date" placeholder="请选择异常日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="原因" prop="reason">
|
||||
<el-textarea v-model="form.reason" placeholder="请输入异常原因" rows="3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="处理人" prop="handler">
|
||||
<el-input v-model="form.handler" placeholder="请输入处理人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-textarea v-model="form.remark" placeholder="请输入备注" rows="3" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMaterialScrap, getMaterialScrap, addMaterialScrap, updateMaterialScrap, approveMaterialScrap, delMaterialScrap } from '@/api/engineering/material'
|
||||
import { getMaterialOptions } from '@/api/engineering/material'
|
||||
|
||||
export default {
|
||||
name: 'MaterialScrap',
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
loading: false,
|
||||
total: 0,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
scrapNo: '',
|
||||
materialName: '',
|
||||
scrapType: '',
|
||||
status: ''
|
||||
},
|
||||
scrapList: [],
|
||||
materialOptions: [],
|
||||
open: false,
|
||||
form: {},
|
||||
rules: {
|
||||
scrapNo: [
|
||||
{ required: true, message: '单据号不能为空', trigger: 'blur' }
|
||||
],
|
||||
materialId: [
|
||||
{ required: true, message: '请选择物料', trigger: 'change' }
|
||||
],
|
||||
quantity: [
|
||||
{ required: true, message: '数量不能为空', trigger: 'blur' }
|
||||
],
|
||||
scrapType: [
|
||||
{ required: true, message: '请选择异常类型', trigger: 'change' }
|
||||
],
|
||||
scrapDate: [
|
||||
{ required: true, message: '异常日期不能为空', trigger: 'change' }
|
||||
],
|
||||
reason: [
|
||||
{ required: true, message: '原因不能为空', trigger: 'blur' }
|
||||
],
|
||||
handler: [
|
||||
{ required: true, message: '处理人不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getOptions()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
listMaterialScrap(this.queryParams).then(response => {
|
||||
this.scrapList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
getOptions() {
|
||||
getMaterialOptions().then(response => {
|
||||
this.materialOptions = response.data
|
||||
})
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
resetQuery() {
|
||||
this.queryParams = {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
scrapNo: '',
|
||||
materialName: '',
|
||||
scrapType: '',
|
||||
status: ''
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
handleAdd() {
|
||||
this.open = true
|
||||
this.form = {}
|
||||
this.getOptions()
|
||||
},
|
||||
handleEdit(row) {
|
||||
this.open = true
|
||||
getMaterialScrap(row.scrapId).then(response => {
|
||||
this.form = response.data
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定删除该报损报溢单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delMaterialScrap(row.scrapId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
handleApprove(row) {
|
||||
const typeText = row.scrapType === 'scrap' ? '报损' : '报溢'
|
||||
this.$confirm('确定审核该' + typeText + '单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
approveMaterialScrap(row.scrapId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('审核成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
onMaterialChange() {
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.scrapId) {
|
||||
updateMaterialScrap(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addMaterialScrap(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.form = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
271
ruoyi-ui/src/views/engineering/material/transfer.vue
Normal file
271
ruoyi-ui/src/views/engineering/material/transfer.vue
Normal file
@@ -0,0 +1,271 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="调拨单号" prop="transferNo">
|
||||
<el-input v-model="queryParams.transferNo" placeholder="请输入调拨单号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="调拨类型" prop="transferType">
|
||||
<el-select v-model="queryParams.transferType" placeholder="请选择调拨类型" clearable>
|
||||
<el-option label="调拨出库" value="out" />
|
||||
<el-option label="调拨入库" value="in" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
|
||||
<el-option label="待审核" value="pending" />
|
||||
<el-option label="已审核" value="approved" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" @click="handleAdd">新增调拨单</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="transferList" border fit highlight-current-row>
|
||||
<el-table-column label="调拨单号" prop="transferNo" />
|
||||
<el-table-column label="物料" prop="materialName" />
|
||||
<el-table-column label="规格型号" prop="specification" />
|
||||
<el-table-column label="调拨数量" prop="quantity" />
|
||||
<el-table-column label="调出项目" prop="fromProject" />
|
||||
<el-table-column label="调入项目" prop="toProject" />
|
||||
<el-table-column label="调拨日期" prop="transferDate" />
|
||||
<el-table-column label="调拨类型" prop="transferType">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.transferType === 'out' ? 'warning' : 'success'">
|
||||
{{ scope.row.transferType === 'out' ? '调拨出库' : '调拨入库' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.status === 'approved' ? 'success' : 'warning'">
|
||||
{{ scope.row.status === 'approved' ? '已审核' : '待审核' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="createTime" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)" v-if="scope.row.status === 'pending'">编辑</el-button>
|
||||
<el-button size="mini" icon="el-icon-check" type="success" @click="handleApprove(scope.row)" v-if="scope.row.status === 'pending'">审核</el-button>
|
||||
<el-button size="mini" icon="el-icon-delete" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<el-dialog title="调拨单信息" :visible.sync="open" width="700px" append-to-body>
|
||||
<el-form :model="form" ref="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="调拨单号" prop="transferNo">
|
||||
<el-input v-model="form.transferNo" placeholder="请输入调拨单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料" prop="materialId">
|
||||
<el-select v-model="form.materialId" placeholder="请选择物料" @change="onMaterialChange">
|
||||
<el-option v-for="item in materialOptions" :key="item.materialId" :label="item.materialName + ' (' + item.materialCode + ')'" :value="item.materialId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="调拨数量" prop="quantity">
|
||||
<el-input v-model="form.quantity" type="number" placeholder="请输入调拨数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="调出项目" prop="fromProject">
|
||||
<el-input v-model="form.fromProject" placeholder="请输入调出项目" />
|
||||
</el-form-item>
|
||||
<el-form-item label="调入项目" prop="toProject">
|
||||
<el-input v-model="form.toProject" placeholder="请输入调入项目" />
|
||||
</el-form-item>
|
||||
<el-form-item label="调拨日期" prop="transferDate">
|
||||
<el-date-picker v-model="form.transferDate" type="date" placeholder="请选择调拨日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="调拨类型" prop="transferType">
|
||||
<el-radio-group v-model="form.transferType">
|
||||
<el-radio label="out">调拨出库</el-radio>
|
||||
<el-radio label="in">调拨入库</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-textarea v-model="form.remark" placeholder="请输入备注" rows="3" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMaterialTransfer, getMaterialTransfer, addMaterialTransfer, updateMaterialTransfer, approveMaterialTransfer, delMaterialTransfer } from '@/api/engineering/material'
|
||||
import { getMaterialOptions } from '@/api/engineering/material'
|
||||
|
||||
export default {
|
||||
name: 'MaterialTransfer',
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
loading: false,
|
||||
total: 0,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
transferNo: '',
|
||||
materialName: '',
|
||||
transferType: '',
|
||||
status: ''
|
||||
},
|
||||
transferList: [],
|
||||
materialOptions: [],
|
||||
open: false,
|
||||
form: {},
|
||||
rules: {
|
||||
transferNo: [
|
||||
{ required: true, message: '调拨单号不能为空', trigger: 'blur' }
|
||||
],
|
||||
materialId: [
|
||||
{ required: true, message: '请选择物料', trigger: 'change' }
|
||||
],
|
||||
quantity: [
|
||||
{ required: true, message: '调拨数量不能为空', trigger: 'blur' }
|
||||
],
|
||||
fromProject: [
|
||||
{ required: true, message: '调出项目不能为空', trigger: 'blur' }
|
||||
],
|
||||
toProject: [
|
||||
{ required: true, message: '调入项目不能为空', trigger: 'blur' }
|
||||
],
|
||||
transferDate: [
|
||||
{ required: true, message: '调拨日期不能为空', trigger: 'change' }
|
||||
],
|
||||
transferType: [
|
||||
{ required: true, message: '请选择调拨类型', trigger: 'change' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getOptions()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.loading = true
|
||||
listMaterialTransfer(this.queryParams).then(response => {
|
||||
this.transferList = response.rows
|
||||
this.total = response.total
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
getOptions() {
|
||||
getMaterialOptions().then(response => {
|
||||
this.materialOptions = response.data
|
||||
})
|
||||
},
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
resetQuery() {
|
||||
this.queryParams = {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
transferNo: '',
|
||||
materialName: '',
|
||||
transferType: '',
|
||||
status: ''
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
handleAdd() {
|
||||
this.open = true
|
||||
this.form = {}
|
||||
this.getOptions()
|
||||
},
|
||||
handleEdit(row) {
|
||||
this.open = true
|
||||
getMaterialTransfer(row.transferId).then(response => {
|
||||
this.form = response.data
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定删除该调拨单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delMaterialTransfer(row.transferId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('删除成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
handleApprove(row) {
|
||||
this.$confirm('确定审核该调拨单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
approveMaterialTransfer(row.transferId).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('审核成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
onMaterialChange() {
|
||||
},
|
||||
submitForm() {
|
||||
this.$refs['form'].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.transferId) {
|
||||
updateMaterialTransfer(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addMaterialTransfer(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
} else {
|
||||
this.msgError(response.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.form = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -80,7 +80,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open(row) {
|
||||
show(row) {
|
||||
this.open = true
|
||||
this.form = {
|
||||
supplierId: null,
|
||||
|
||||
@@ -1,61 +1,65 @@
|
||||
<template>
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||
<div v-if="detail">
|
||||
<div v-if="loading" class="text-center">
|
||||
<el-loading-spinner></el-loading-spinner>
|
||||
<p>加载中...</p>
|
||||
</div>
|
||||
<div v-else-if="detail && detail.supplier">
|
||||
<el-tabs type="border-card">
|
||||
<el-tab-pane label="基本信息">
|
||||
<el-form :model="detail.supplier" label-width="120px" class="detail-form">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="供应商编号">
|
||||
<span>{{ detail.supplier.supplierCode }}</span>
|
||||
<span>{{ detail.supplier.supplierCode || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="供应商名称">
|
||||
<span>{{ detail.supplier.supplierName }}</span>
|
||||
<span>{{ detail.supplier.supplierName || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="简称">
|
||||
<span>{{ detail.supplier.shortName }}</span>
|
||||
<span>{{ detail.supplier.shortName || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系人">
|
||||
<span>{{ detail.supplier.contactPerson }}</span>
|
||||
<span>{{ detail.supplier.contactPerson || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系电话">
|
||||
<span>{{ detail.supplier.contactPhone }}</span>
|
||||
<span>{{ detail.supplier.contactPhone || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="邮箱">
|
||||
<span>{{ detail.supplier.email }}</span>
|
||||
<span>{{ detail.supplier.email || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="地址">
|
||||
<span>{{ detail.supplier.address }}</span>
|
||||
<span>{{ detail.supplier.address || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="资质等级">
|
||||
<span>{{ detail.supplier.qualification }}</span>
|
||||
<span>{{ detail.supplier.qualification || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="注册资本">
|
||||
<span>{{ detail.supplier.registerCapital }}</span>
|
||||
<span>{{ detail.supplier.registerCapital || '-' }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -74,7 +78,7 @@
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="银行账户">
|
||||
<el-table :data="detail.accounts" border>
|
||||
<el-table :data="detail.accounts || []" border>
|
||||
<el-table-column label="账户ID" prop="accountId" />
|
||||
<el-table-column label="开户行" prop="bankName" />
|
||||
<el-table-column label="账号" prop="accountNo" />
|
||||
@@ -91,19 +95,19 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="合同总额">
|
||||
<span>{{ formatMoney(detail.statistics.totalContractAmount) }}</span>
|
||||
<span>{{ formatMoney(detail.statistics && detail.statistics.totalContractAmount) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="已付款">
|
||||
<span>{{ formatMoney(detail.statistics.totalPayment) }}</span>
|
||||
<span>{{ formatMoney(detail.statistics && detail.statistics.totalPayment) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="未付款">
|
||||
<span>{{ formatMoney(detail.statistics.unpaidAmount) }}</span>
|
||||
<span>{{ formatMoney(detail.statistics && detail.statistics.unpaidAmount) }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -111,6 +115,9 @@
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="text-center text-gray">暂无数据</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">关闭</el-button>
|
||||
</div>
|
||||
@@ -126,14 +133,22 @@ export default {
|
||||
return {
|
||||
open: false,
|
||||
title: '供应商详情',
|
||||
detail: {}
|
||||
detail: {},
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open(supplierId) {
|
||||
show(supplierId) {
|
||||
this.open = true
|
||||
this.loading = true
|
||||
this.detail = {}
|
||||
getSupplierDetail(supplierId).then(response => {
|
||||
this.detail = response.data
|
||||
this.detail = response.data || {}
|
||||
}).catch(error => {
|
||||
console.error('加载供应商详情失败:', error)
|
||||
this.detail = {}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" inline :label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" inline label-width="100px">
|
||||
<el-form-item label="供应商编号" prop="supplierCode">
|
||||
<el-input v-model="queryParams.supplierCode" placeholder="请输入供应商编号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
-- 排序规则: utf8mb4_general_ci
|
||||
-- ================================================
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- 1、部门表
|
||||
-- ----------------------------
|
||||
@@ -130,6 +132,8 @@ CREATE TABLE sys_role (
|
||||
-- ----------------------------
|
||||
INSERT INTO sys_role VALUES('1', '超级管理员', 'admin', 1, 1, 1, 1, '0', '0', 'admin', NOW(), '', NULL, '超级管理员');
|
||||
INSERT INTO sys_role VALUES('2', '普通角色', 'common', 2, 2, 1, 1, '0', '0', 'admin', NOW(), '', NULL, '普通角色');
|
||||
INSERT INTO sys_role VALUES('3', '工程角色', 'engineering',3, 3, 1, 1, '0', '0', 'admin', NOW(), '', NULL, '工程角色-隐藏金额字段');
|
||||
INSERT INTO sys_role VALUES('4', '采购角色', 'purchase', 4, 4, 1, 1, '0', '0', 'admin', NOW(), '', NULL, '采购角色-隐藏金额字段');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
@@ -167,8 +171,7 @@ CREATE TABLE sys_menu (
|
||||
INSERT INTO sys_menu VALUES('1', '系统管理', '0', '1', 'system', NULL, '', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', NOW(), '', NULL, '系统管理目录');
|
||||
INSERT INTO sys_menu VALUES('2', '系统监控', '0', '2', 'monitor', NULL, '', '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', NOW(), '', NULL, '系统监控目录');
|
||||
INSERT INTO sys_menu VALUES('3', '系统工具', '0', '3', 'tool', NULL, '', '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', NOW(), '', NULL, '系统工具目录');
|
||||
INSERT INTO sys_menu VALUES('4', '若依官网', '0', '4', 'http://ruoyi.vip', NULL, '', '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', NOW(), '', NULL, '若依官网地址');
|
||||
INSERT INTO sys_menu VALUES('5', '工程管理', '0', '5', 'engineering', NULL, '', '', 1, 0, 'M', '0', '0', '', 'build', 'admin', NOW(), '', NULL, '工程管理目录');
|
||||
INSERT INTO sys_menu VALUES('4', '工程管理', '0', '4', 'engineering', NULL, '', '', 1, 0, 'M', '0', '0', '', 'build', 'admin', NOW(), '', NULL, '工程管理目录');
|
||||
-- 二级菜单
|
||||
INSERT INTO sys_menu VALUES('100', '用户管理', '1', '1', 'user', 'system/user/index', '', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', NOW(), '', NULL, '用户管理菜单');
|
||||
INSERT INTO sys_menu VALUES('101', '角色管理', '1', '2', 'role', 'system/role/index', '', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', NOW(), '', NULL, '角色管理菜单');
|
||||
@@ -188,11 +191,11 @@ INSERT INTO sys_menu VALUES('114', '缓存列表', '2', '6', 'cacheList', 'm
|
||||
INSERT INTO sys_menu VALUES('115', '表单构建', '3', '1', 'build', 'tool/build/index', '', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', NOW(), '', NULL, '表单构建菜单');
|
||||
INSERT INTO sys_menu VALUES('116', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', NOW(), '', NULL, '代码生成菜单');
|
||||
INSERT INTO sys_menu VALUES('117', '系统接口', '3', '3', 'swagger', 'tool/swagger/index', '', '', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', NOW(), '', NULL, '系统接口菜单');
|
||||
INSERT INTO sys_menu VALUES('200', '供应商管理', '5', '1', 'supplier', 'engineering/supplier/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:supplier:list', 'people', 'admin', NOW(), '', NULL, '供应商管理菜单');
|
||||
INSERT INTO sys_menu VALUES('201', '合同管理', '5', '2', 'contract', 'engineering/contract/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:contract:list', 'file-text', 'admin', NOW(), '', NULL, '合同管理菜单');
|
||||
INSERT INTO sys_menu VALUES('202', '施工进度管理', '5', '3', 'construction', 'engineering/construction/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:construction:list', 'tree-table', 'admin', NOW(), '', NULL, '施工进度管理菜单');
|
||||
INSERT INTO sys_menu VALUES('203', '物料管理', '5', '4', 'material', 'engineering/material/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:material:list', 'shopping', 'admin', NOW(), '', NULL, '物料管理菜单');
|
||||
INSERT INTO sys_menu VALUES('204', '付款管理', '5', '5', 'payment', 'engineering/payment/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:payment:list', 'money', 'admin', NOW(), '', NULL, '付款管理菜单');
|
||||
INSERT INTO sys_menu VALUES('200', '供应商管理', '4', '1', 'supplier', 'engineering/supplier/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:supplier:list', 'people', 'admin', NOW(), '', NULL, '供应商管理菜单');
|
||||
INSERT INTO sys_menu VALUES('201', '合同管理', '4', '2', 'contract', 'engineering/contract/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:contract:list', 'file-text', 'admin', NOW(), '', NULL, '合同管理菜单');
|
||||
INSERT INTO sys_menu VALUES('202', '施工进度管理', '4', '3', 'construction', 'engineering/construction/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:construction:list', 'tree-table', 'admin', NOW(), '', NULL, '施工进度管理菜单');
|
||||
INSERT INTO sys_menu VALUES('203', '物料管理', '4', '4', 'material', 'engineering/material/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:material:list', 'shopping', 'admin', NOW(), '', NULL, '物料管理菜单');
|
||||
INSERT INTO sys_menu VALUES('204', '付款管理', '4', '5', 'payment', 'engineering/payment/index', '', '', 1, 0, 'C', '0', '0', 'system:engineering:payment:list', 'money', 'admin', NOW(), '', NULL, '付款管理菜单');
|
||||
-- 三级菜单
|
||||
INSERT INTO sys_menu VALUES('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', NOW(), '', NULL, '操作日志菜单');
|
||||
INSERT INTO sys_menu VALUES('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', NOW(), '', NULL, '登录日志菜单');
|
||||
@@ -544,6 +547,16 @@ INSERT INTO sys_dict_type VALUES(7, '通知类型', 'sys_notice_type', '0',
|
||||
INSERT INTO sys_dict_type VALUES(8, '通知状态', 'sys_notice_status', '0', 'admin', NOW(), '', NULL, '通知状态列表');
|
||||
INSERT INTO sys_dict_type VALUES(9, '操作类型', 'sys_oper_type', '0', 'admin', NOW(), '', NULL, '操作类型列表');
|
||||
INSERT INTO sys_dict_type VALUES(10, '系统状态', 'sys_common_status', '0', 'admin', NOW(), '', NULL, '登录状态列表');
|
||||
INSERT INTO sys_dict_type VALUES(11, '合同类型', 'contract_type', '0', 'admin', NOW(), '', NULL, '合同类型列表');
|
||||
INSERT INTO sys_dict_type VALUES(12, '付款类型', 'payment_type', '0', 'admin', NOW(), '', NULL, '付款类型列表');
|
||||
INSERT INTO sys_dict_type VALUES(13, '付款方式', 'payment_method', '0', 'admin', NOW(), '', NULL, '付款方式列表');
|
||||
INSERT INTO sys_dict_type VALUES(14, '供应商状态', 'supplier_status', '0', 'admin', NOW(), '', NULL, '供应商状态列表');
|
||||
INSERT INTO sys_dict_type VALUES(15, '供应商类型', 'supplier_type', '0', 'admin', NOW(), '', NULL, '供应商类型列表');
|
||||
INSERT INTO sys_dict_type VALUES(16, '合作状态', 'cooperation_status', '0', 'admin', NOW(), '', NULL, '合作状态列表');
|
||||
INSERT INTO sys_dict_type VALUES(17, '验收状态', 'acceptance_status', '0', 'admin', NOW(), '', NULL, '验收状态列表');
|
||||
INSERT INTO sys_dict_type VALUES(18, '施工状态', 'construction_status', '0', 'admin', NOW(), '', NULL, '施工状态列表');
|
||||
INSERT INTO sys_dict_type VALUES(19, '审批状态', 'approval_status', '0', 'admin', NOW(), '', NULL, '审批状态列表');
|
||||
INSERT INTO sys_dict_type VALUES(20, '合同状态', 'contract_status', '0', 'admin', NOW(), '', NULL, '合同状态列表');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
@@ -597,6 +610,42 @@ INSERT INTO sys_dict_data VALUES(26, 8, '生成代码', '8', 'sys_oper_ty
|
||||
INSERT INTO sys_dict_data VALUES(27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '清空操作');
|
||||
INSERT INTO sys_dict_data VALUES(28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', NOW(), '', NULL, '正常状态');
|
||||
INSERT INTO sys_dict_data VALUES(29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '停用状态');
|
||||
INSERT INTO sys_dict_data VALUES(30, 1, '施工合同', 'construction', 'contract_type', '', 'primary', 'Y', '0', 'admin', NOW(), '', NULL, '施工合同');
|
||||
INSERT INTO sys_dict_data VALUES(31, 2, '采购合同', 'purchase', 'contract_type', '', 'success', 'N', '0', 'admin', NOW(), '', NULL, '采购合同');
|
||||
INSERT INTO sys_dict_data VALUES(32, 3, '设备合同', 'equipment', 'contract_type', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '设备合同');
|
||||
INSERT INTO sys_dict_data VALUES(33, 1, '预付款', 'advance', 'payment_type', '', 'primary', 'Y', '0', 'admin', NOW(), '', NULL, '预付款');
|
||||
INSERT INTO sys_dict_data VALUES(34, 2, '进度款', 'progress', 'payment_type', '', 'success', 'N', '0', 'admin', NOW(), '', NULL, '进度款');
|
||||
INSERT INTO sys_dict_data VALUES(35, 3, '尾款', 'final', 'payment_type', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '尾款');
|
||||
INSERT INTO sys_dict_data VALUES(36, 4, '质保金', 'quality', 'payment_type', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '质保金');
|
||||
INSERT INTO sys_dict_data VALUES(37, 1, '银行转账', 'bank', 'payment_method', '', 'primary', 'Y', '0', 'admin', NOW(), '', NULL, '银行转账');
|
||||
INSERT INTO sys_dict_data VALUES(38, 2, '现金', 'cash', 'payment_method', '', 'success', 'N', '0', 'admin', NOW(), '', NULL, '现金');
|
||||
INSERT INTO sys_dict_data VALUES(39, 3, '支票', 'check', 'payment_method', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '支票');
|
||||
INSERT INTO sys_dict_data VALUES(40, 4, '承兑汇票', 'acceptance', 'payment_method', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '承兑汇票');
|
||||
INSERT INTO sys_dict_data VALUES(41, 1, '正常', 'normal', 'supplier_status', '', 'primary', 'Y', '0', 'admin', NOW(), '', NULL, '正常');
|
||||
INSERT INTO sys_dict_data VALUES(42, 2, '禁用', 'disabled', 'supplier_status', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '禁用');
|
||||
INSERT INTO sys_dict_data VALUES(43, 3, '黑名单', 'blacklist', 'supplier_status', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '黑名单');
|
||||
INSERT INTO sys_dict_data VALUES(44, 1, '施工单位', 'construction', 'supplier_type', '', 'primary', 'Y', '0', 'admin', NOW(), '', NULL, '施工单位');
|
||||
INSERT INTO sys_dict_data VALUES(45, 2, '材料供应商', 'material', 'supplier_type', '', 'success', 'N', '0', 'admin', NOW(), '', NULL, '材料供应商');
|
||||
INSERT INTO sys_dict_data VALUES(46, 3, '设备供应商', 'equipment', 'supplier_type', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '设备供应商');
|
||||
INSERT INTO sys_dict_data VALUES(47, 4, '服务提供商', 'service', 'supplier_type', '', 'info', 'N', '0', 'admin', NOW(), '', NULL, '服务提供商');
|
||||
INSERT INTO sys_dict_data VALUES(48, 1, '合作中', 'cooperating', 'cooperation_status', '', 'primary', 'Y', '0', 'admin', NOW(), '', NULL, '合作中');
|
||||
INSERT INTO sys_dict_data VALUES(49, 2, '暂停合作', 'suspended', 'cooperation_status', '', 'warning', 'N', '0', 'admin', NOW(), '', NULL, '暂停合作');
|
||||
INSERT INTO sys_dict_data VALUES(50, 3, '终止合作', 'terminated', 'cooperation_status', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '终止合作');
|
||||
INSERT INTO sys_dict_data VALUES(51, 1, '待验收', 'pending', 'acceptance_status', '', 'warning', 'Y', '0', 'admin', NOW(), '', NULL, '待验收');
|
||||
INSERT INTO sys_dict_data VALUES(52, 2, '已提交', 'submitted', 'acceptance_status', '', 'info', 'N', '0', 'admin', NOW(), '', NULL, '已提交');
|
||||
INSERT INTO sys_dict_data VALUES(53, 3, '已通过', 'approved', 'acceptance_status', '', 'success', 'N', '0', 'admin', NOW(), '', NULL, '已通过');
|
||||
INSERT INTO sys_dict_data VALUES(54, 4, '已驳回', 'rejected', 'acceptance_status', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '已驳回');
|
||||
INSERT INTO sys_dict_data VALUES(55, 1, '待开工', 'pending', 'construction_status','', 'warning', 'Y', '0', 'admin', NOW(), '', NULL, '待开工');
|
||||
INSERT INTO sys_dict_data VALUES(56, 2, '进行中', 'executing', 'construction_status','', 'primary', 'N', '0', 'admin', NOW(), '', NULL, '进行中');
|
||||
INSERT INTO sys_dict_data VALUES(57, 3, '已完工', 'completed', 'construction_status','', 'success', 'N', '0', 'admin', NOW(), '', NULL, '已完工');
|
||||
INSERT INTO sys_dict_data VALUES(58, 4, '已验收', 'accepted', 'construction_status','', 'info', 'N', '0', 'admin', NOW(), '', NULL, '已验收');
|
||||
INSERT INTO sys_dict_data VALUES(59, 1, '待审批', 'pending', 'approval_status', '', 'warning', 'Y', '0', 'admin', NOW(), '', NULL, '待审批');
|
||||
INSERT INTO sys_dict_data VALUES(60, 2, '已通过', 'approved', 'approval_status', '', 'success', 'N', '0', 'admin', NOW(), '', NULL, '已通过');
|
||||
INSERT INTO sys_dict_data VALUES(61, 3, '已驳回', 'rejected', 'approval_status', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '已驳回');
|
||||
INSERT INTO sys_dict_data VALUES(62, 1, '草稿', 'draft', 'contract_status', '', 'info', 'Y', '0', 'admin', NOW(), '', NULL, '草稿');
|
||||
INSERT INTO sys_dict_data VALUES(63, 2, '执行中', 'executing', 'contract_status', '', 'primary', 'N', '0', 'admin', NOW(), '', NULL, '执行中');
|
||||
INSERT INTO sys_dict_data VALUES(64, 3, '已完成', 'completed', 'contract_status', '', 'success', 'N', '0', 'admin', NOW(), '', NULL, '已完成');
|
||||
INSERT INTO sys_dict_data VALUES(65, 4, '已终止', 'terminated', 'contract_status', '', 'danger', 'N', '0', 'admin', NOW(), '', NULL, '已终止');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
@@ -716,38 +765,6 @@ INSERT INTO sys_notice VALUES(1, '欢迎使用若依管理系统', '2', '<p>欢
|
||||
-- 工程管理业务表
|
||||
-- ============================
|
||||
|
||||
-- ----------------------------
|
||||
-- 供应商信息表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS engineering_supplier;
|
||||
CREATE TABLE engineering_supplier (
|
||||
supplier_id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '供应商ID',
|
||||
supplier_code VARCHAR(50) NOT NULL UNIQUE COMMENT '供应商编码',
|
||||
supplier_name VARCHAR(200) NOT NULL COMMENT '供应商名称',
|
||||
short_name VARCHAR(100) COMMENT '简称',
|
||||
contact_person VARCHAR(50) COMMENT '联系人',
|
||||
contact_phone VARCHAR(20) COMMENT '联系电话',
|
||||
email VARCHAR(100) COMMENT '邮箱',
|
||||
address VARCHAR(500) COMMENT '地址',
|
||||
business_scope TEXT COMMENT '经营范围',
|
||||
qualification VARCHAR(200) COMMENT '资质证书',
|
||||
register_capital DECIMAL(18,4) COMMENT '注册资本',
|
||||
establish_date DATE COMMENT '成立日期',
|
||||
status VARCHAR(20) DEFAULT 'normal' COMMENT '状态',
|
||||
cooperation_status VARCHAR(20) DEFAULT 'cooperating' COMMENT '合作状态',
|
||||
total_contract_amount DECIMAL(18,4) DEFAULT 0 COMMENT '合同总额',
|
||||
total_payment_amount DECIMAL(18,4) DEFAULT 0 COMMENT '已付款总额',
|
||||
remark TEXT COMMENT '备注',
|
||||
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志',
|
||||
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
KEY idx_supplier_code (supplier_code),
|
||||
KEY idx_supplier_status (status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='供应商信息表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 供应商账户表
|
||||
-- ----------------------------
|
||||
@@ -779,7 +796,7 @@ CREATE TABLE engineering_supplier_payment_record (
|
||||
record_id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '记录ID',
|
||||
supplier_id BIGINT NOT NULL COMMENT '供应商ID',
|
||||
payment_id BIGINT COMMENT '付款单ID',
|
||||
amount DECIMAL(18,4) NOT NULL COMMENT '付款金额',
|
||||
amount DECIMAL(18,4) NOT NULL COMMENT '金额',
|
||||
payment_date DATE COMMENT '付款日期',
|
||||
contract_id BIGINT COMMENT '合同ID',
|
||||
payment_type VARCHAR(20) COMMENT '付款类型',
|
||||
@@ -787,11 +804,43 @@ CREATE TABLE engineering_supplier_payment_record (
|
||||
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志',
|
||||
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
KEY idx_payment_record_supplier (supplier_id),
|
||||
CONSTRAINT fk_payment_record_supplier FOREIGN KEY (supplier_id) REFERENCES engineering_supplier(supplier_id) ON DELETE CASCADE
|
||||
KEY idx_record_supplier (supplier_id),
|
||||
KEY idx_record_payment (payment_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='供应商付款记录表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 供应商信息表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS engineering_supplier;
|
||||
CREATE TABLE engineering_supplier (
|
||||
supplier_id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '供应商ID',
|
||||
supplier_code VARCHAR(50) NOT NULL UNIQUE COMMENT '供应商编码',
|
||||
supplier_name VARCHAR(200) NOT NULL COMMENT '供应商名称',
|
||||
short_name VARCHAR(100) COMMENT '简称',
|
||||
contact_person VARCHAR(50) COMMENT '联系人',
|
||||
contact_phone VARCHAR(20) COMMENT '联系电话',
|
||||
email VARCHAR(100) COMMENT '邮箱',
|
||||
address VARCHAR(500) COMMENT '地址',
|
||||
business_scope TEXT COMMENT '经营范围',
|
||||
qualification VARCHAR(200) COMMENT '资质证书',
|
||||
register_capital DECIMAL(18,4) COMMENT '注册资本',
|
||||
establish_date DATE COMMENT '成立日期',
|
||||
status VARCHAR(20) DEFAULT 'normal' COMMENT '状态',
|
||||
cooperation_status VARCHAR(20) DEFAULT 'cooperating' COMMENT '合作状态',
|
||||
total_contract_amount DECIMAL(18,4) DEFAULT 0 COMMENT '合同总额',
|
||||
total_payment_amount DECIMAL(18,4) DEFAULT 0 COMMENT '已付款总额',
|
||||
remark TEXT COMMENT '备注',
|
||||
del_flag CHAR(1) DEFAULT '0' COMMENT '删除标志',
|
||||
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
KEY idx_supplier_code (supplier_code),
|
||||
KEY idx_supplier_status (status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='供应商信息表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 合同信息表
|
||||
-- ----------------------------
|
||||
@@ -985,4 +1034,6 @@ CREATE TABLE engineering_payment (
|
||||
CONSTRAINT fk_payment_supplier FOREIGN KEY (supplier_id) REFERENCES engineering_supplier(supplier_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='付款申请表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
COMMIT;
|
||||
77
start_backend.bat
Normal file
77
start_backend.bat
Normal file
@@ -0,0 +1,77 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
set M2_REPO=C:\Users\86133\.m2\repository
|
||||
set ADMIN_CLASSES=d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-admin\target\classes
|
||||
set SYSTEM_CLASSES=d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-system\target\classes
|
||||
set FRAMEWORK_CLASSES=d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-framework\target\classes
|
||||
set COMMON_CLASSES=d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-common\target\classes
|
||||
|
||||
set CLASSPATH=%ADMIN_CLASSES%;%SYSTEM_CLASSES%;%FRAMEWORK_CLASSES%;%COMMON_CLASSES%
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-web\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-autoconfigure\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-logging\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-aop\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-jdbc\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-data-redis\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-security\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-validation\4.0.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-core\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-beans\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-context\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-expression\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-aop\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-tx\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-jdbc\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-web\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-webmvc\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-jcl\6.1.7\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-web\6.2.4\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-config\6.2.4\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-core\6.2.4\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\mybatis\mybatis\3.5.13\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\mybatis\mybatis-spring\3.0.3\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\alibaba\druid\1.2.28\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\mysql\mysql-connector-j\8.0.33\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\alibaba\fastjson2\2.0.62\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\pagehelper\pagehelper-spring-boot-starter\4.1.0\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springdoc\springdoc-openapi-starter-webmvc-ui\3.0.3\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\github\pavlobu\kaptcha\2.3.3\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\io\jsonwebtoken\jjwt-api\0.9.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\io\jsonwebtoken\jjwt-impl\0.9.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\io\jsonwebtoken\jjwt-jackson\0.9.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\hibernate\validator\8.0.1.Final\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\sun\mail\jakarta.mail\2.0.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\ch\qos\logback\logback-classic\1.5.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\ch\qos\logback\logback-core\1.5.6\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\slf4j\slf4j-api\2.0.12\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-core\10.1.20\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-el\10.1.20\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.20\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-databind\2.16.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-annotations\2.16.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-core\2.16.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.16.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.16.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\commons\commons-lang3\3.14.0\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\commons\io\commons-io\2.22.0\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\poi\poi\4.1.2\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\poi\poi-ooxml\4.1.2\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\javax\xml\bind\jaxb-api\2.3.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\sun\xml\bind\jaxb-impl\2.3.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\sun\xml\bind\jaxb-core\2.3.1\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\javax\activation\javax.activation-api\1.2.0\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\velocity\velocity-engine-core\2.3\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\commons-collections\commons-collections\3.2.2\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\redis\clients\jedis\5.1.0\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\commons\commons-pool2\2.12.0\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\github\ben-manes\caffeine\caffeine\3.1.8\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\yaml\snakeyaml\2.2\*
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\ibm\icu\icu4j\74.1\*
|
||||
|
||||
echo Starting RuoYi Application...
|
||||
java -cp "%CLASSPATH%" com.ruoyi.RuoYiApplication
|
||||
|
||||
pause
|
||||
19
start_backend_simple.bat
Normal file
19
start_backend_simple.bat
Normal file
@@ -0,0 +1,19 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
set M2_REPO=C:\Users\86133\.m2\repository
|
||||
set CLASSES_DIR=d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue
|
||||
|
||||
set CLASSPATH=%CLASSES_DIR%\ruoyi-admin\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;%CLASSES_DIR%\ruoyi-system\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;%CLASSES_DIR%\ruoyi-framework\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;%CLASSES_DIR%\ruoyi-common\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;%CLASSES_DIR%\ruoyi-quartz\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;%CLASSES_DIR%\ruoyi-generator\target\classes
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\**\*.jar
|
||||
|
||||
echo Starting RuoYi Application...
|
||||
java -cp "%CLASSPATH%" com.ruoyi.RuoYiApplication
|
||||
|
||||
pause
|
||||
93
start_final.bat
Normal file
93
start_final.bat
Normal file
@@ -0,0 +1,93 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
set M2_REPO=C:\Users\86133\.m2\repository
|
||||
set BOOT_VERSION=4.0.6
|
||||
set SPRING_VERSION=6.1.7
|
||||
|
||||
set CLASSPATH=d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-admin\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-system\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-framework\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-common\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-quartz\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-generator\target\classes
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot\%BOOT_VERSION%\spring-boot-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-autoconfigure\%BOOT_VERSION%\spring-boot-autoconfigure-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter\%BOOT_VERSION%\spring-boot-starter-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-web\%BOOT_VERSION%\spring-boot-starter-web-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-logging\%BOOT_VERSION%\spring-boot-starter-logging-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-aop\%BOOT_VERSION%\spring-boot-starter-aop-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-jdbc\%BOOT_VERSION%\spring-boot-starter-jdbc-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-data-redis\%BOOT_VERSION%\spring-boot-starter-data-redis-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-security\%BOOT_VERSION%\spring-boot-starter-security-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-validation\%BOOT_VERSION%\spring-boot-starter-validation-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-thymeleaf\%BOOT_VERSION%\spring-boot-starter-thymeleaf-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-mail\%BOOT_VERSION%\spring-boot-starter-mail-%BOOT_VERSION%.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-core\%SPRING_VERSION%\spring-core-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-beans\%SPRING_VERSION%\spring-beans-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-context\%SPRING_VERSION%\spring-context-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-expression\%SPRING_VERSION%\spring-expression-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-aop\%SPRING_VERSION%\spring-aop-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-tx\%SPRING_VERSION%\spring-tx-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-jdbc\%SPRING_VERSION%\spring-jdbc-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-web\%SPRING_VERSION%\spring-web-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-webmvc\%SPRING_VERSION%\spring-webmvc-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-jcl\%SPRING_VERSION%\spring-jcl-%SPRING_VERSION%.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-web\6.2.4\spring-security-web-6.2.4.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-config\6.2.4\spring-security-config-6.2.4.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-core\6.2.4\spring-security-core-6.2.4.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\mybatis\mybatis\3.5.13\mybatis-3.5.13.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\mybatis\mybatis-spring\3.0.3\mybatis-spring-3.0.3.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\baomidou\mybatis-plus\3.5.5\mybatis-plus-3.5.5.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\baomidou\mybatis-plus-core\3.5.5\mybatis-plus-core-3.5.5.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\pagehelper\pagehelper\6.5.0\pagehelper-6.5.0.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\pagehelper\pagehelper-spring-boot-starter\4.1.0\pagehelper-spring-boot-starter-4.1.0.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\alibaba\druid\1.2.28\druid-1.2.28.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\mysql\mysql-connector-j\8.0.33\mysql-connector-j-8.0.33.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\alibaba\fastjson2\2.0.62\fastjson2-2.0.62.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-databind\2.16.1\jackson-databind-2.16.1.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-annotations\2.16.1\jackson-annotations-2.16.1.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-core\2.16.1\jackson-core-2.16.1.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.16.1\jackson-datatype-jdk8-2.16.1.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.16.1\jackson-datatype-jsr310-2.16.1.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-core\10.1.20\tomcat-embed-core-10.1.20.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-el\10.1.20\tomcat-embed-el-10.1.20.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.20\tomcat-embed-websocket-10.1.20.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\hibernate\validator\8.0.1.Final\hibernate-validator-8.0.1.Final.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\jakarta\validation\jakarta.validation-api\3.0.2\jakarta.validation-api-3.0.2.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\redis\clients\jedis\5.1.0\jedis-5.1.0.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\commons\commons-pool2\2.12.0\commons-pool2-2.12.0.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\yaml\snakeyaml\2.2\snakeyaml-2.2.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\slf4j\slf4j-api\2.0.12\slf4j-api-2.0.12.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\ch\qos\logback\logback-classic\1.5.6\logback-classic-1.5.6.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\ch\qos\logback\logback-core\1.5.6\logback-core-1.5.6.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\commons\commons-lang3\3.14.0\commons-lang3-3.14.0.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\commons\io\commons-io\2.22.0\commons-io-2.22.0.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springdoc\springdoc-openapi-starter-webmvc-ui\3.0.3\springdoc-openapi-starter-webmvc-ui-3.0.3.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\io\swagger\swagger-core\2.2.20\swagger-core-2.2.20.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\io\jsonwebtoken\jjwt-api\0.9.1\jjwt-api-0.9.1.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\io\jsonwebtoken\jjwt-impl\0.9.1\jjwt-impl-0.9.1.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\io\jsonwebtoken\jjwt-jackson\0.9.1\jjwt-jackson-0.9.1.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\github\ben-manes\caffeine\caffeine\3.1.8\caffeine-3.1.8.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\github\pavlobu\kaptcha\2.3.3\kaptcha-2.3.3.jar
|
||||
|
||||
echo Starting RuoYi Application...
|
||||
java -cp "%CLASSPATH%" com.ruoyi.RuoYiApplication
|
||||
|
||||
pause
|
||||
74
start_spring.bat
Normal file
74
start_spring.bat
Normal file
@@ -0,0 +1,74 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
set M2_REPO=C:\Users\86133\.m2\repository
|
||||
set BOOT_VERSION=4.0.6
|
||||
set SPRING_VERSION=6.1.7
|
||||
|
||||
set CLASSPATH=d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-admin\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-system\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-framework\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-common\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-quartz\target\classes
|
||||
set CLASSPATH=%CLASSPATH%;d:\klp-oa\engineering-management-ruoyi\RuoYi-Vue\ruoyi-generator\target\classes
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot\%BOOT_VERSION%\spring-boot-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-autoconfigure\%BOOT_VERSION%\spring-boot-autoconfigure-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter\%BOOT_VERSION%\spring-boot-starter-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-web\%BOOT_VERSION%\spring-boot-starter-web-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-logging\%BOOT_VERSION%\spring-boot-starter-logging-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-aop\%BOOT_VERSION%\spring-boot-starter-aop-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-jdbc\%BOOT_VERSION%\spring-boot-starter-jdbc-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-data-redis\%BOOT_VERSION%\spring-boot-starter-data-redis-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-security\%BOOT_VERSION%\spring-boot-starter-security-%BOOT_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\boot\spring-boot-starter-validation\%BOOT_VERSION%\spring-boot-starter-validation-%BOOT_VERSION%.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-core\%SPRING_VERSION%\spring-core-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-beans\%SPRING_VERSION%\spring-beans-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-context\%SPRING_VERSION%\spring-context-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-expression\%SPRING_VERSION%\spring-expression-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-aop\%SPRING_VERSION%\spring-aop-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-tx\%SPRING_VERSION%\spring-tx-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-jdbc\%SPRING_VERSION%\spring-jdbc-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-web\%SPRING_VERSION%\spring-web-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-webmvc\%SPRING_VERSION%\spring-webmvc-%SPRING_VERSION%.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\spring-jcl\%SPRING_VERSION%\spring-jcl-%SPRING_VERSION%.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-web\6.2.4\spring-security-web-6.2.4.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-config\6.2.4\spring-security-config-6.2.4.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\springframework\security\spring-security-core\6.2.4\spring-security-core-6.2.4.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\mybatis\mybatis\3.5.13\mybatis-3.5.13.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\mybatis\mybatis-spring\3.0.3\mybatis-spring-3.0.3.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\alibaba\druid\1.2.28\druid-1.2.28.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\mysql\mysql-connector-j\8.0.33\mysql-connector-j-8.0.33.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\alibaba\fastjson2\2.0.62\fastjson2-2.0.62.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-databind\2.16.1\jackson-databind-2.16.1.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-annotations\2.16.1\jackson-annotations-2.16.1.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\com\fasterxml\jackson\core\jackson-core\2.16.1\jackson-core-2.16.1.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-core\10.1.20\tomcat-embed-core-10.1.20.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-el\10.1.20\tomcat-embed-el-10.1.20.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.20\tomcat-embed-websocket-10.1.20.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\hibernate\validator\8.0.1.Final\hibernate-validator-8.0.1.Final.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\jakarta\validation\jakarta.validation-api\3.0.2\jakarta.validation-api-3.0.2.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\redis\clients\jedis\5.1.0\jedis-5.1.0.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\commons\commons-pool2\2.12.0\commons-pool2-2.12.0.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\yaml\snakeyaml\2.2\snakeyaml-2.2.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\slf4j\slf4j-api\2.0.12\slf4j-api-2.0.12.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\ch\qos\logback\logback-classic\1.5.6\logback-classic-1.5.6.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\ch\qos\logback\logback-core\1.5.6\logback-core-1.5.6.jar
|
||||
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\apache\commons\commons-lang3\3.14.0\commons-lang3-3.14.0.jar
|
||||
set CLASSPATH=%CLASSPATH%;%M2_REPO%\org\commons\io\commons-io\2.22.0\commons-io-2.22.0.jar
|
||||
|
||||
echo Starting RuoYi Application...
|
||||
java -cp "%CLASSPATH%" com.ruoyi.RuoYiApplication
|
||||
|
||||
pause
|
||||
Reference in New Issue
Block a user