更新销售合同/提成/业绩、精工工序工价/生产审核/工时统计、仓储盘点/库存/补货/入库/库房管理,新增提成设置/销售业绩/库房管理/入库单移动端等模块及SQL脚本
This commit is contained in:
102
sql/apply_PDM_confirm_test_patch.ps1
Normal file
102
sql/apply_PDM_confirm_test_patch.ps1
Normal file
@@ -0,0 +1,102 @@
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$server = '192.168.1.27'
|
||||
$db = 'ERPTOOL_JY_20250826Back'
|
||||
$user = 'sa'
|
||||
$pwd = '126.com'
|
||||
$connStr = "Server=$server;Database=$db;User ID=$user;Password=$pwd;TrustServerCertificate=True;"
|
||||
|
||||
$conn = New-Object System.Data.SqlClient.SqlConnection $connStr
|
||||
$conn.Open()
|
||||
|
||||
try {
|
||||
$cmd = $conn.CreateCommand()
|
||||
$cmd.CommandText = "SELECT OBJECT_DEFINITION(OBJECT_ID(N'dbo.PDM_组件名称_确认更改新'))"
|
||||
$sql = [string]$cmd.ExecuteScalar()
|
||||
|
||||
if ([string]::IsNullOrEmpty($sql)) {
|
||||
throw '未找到存储过程 PDM_组件名称_确认更改新'
|
||||
}
|
||||
|
||||
if ($sql.Contains('修改人:Ld 修改时间:2026-07-23 允许合同修改时删除未领料机床')) {
|
||||
Write-Output '测试库过程已包含本次删除机床加固逻辑,无需重复修改'
|
||||
exit 0
|
||||
}
|
||||
|
||||
$anchor = 'delete from PDM_机床名称_修改记录_临时表 where 项目流水号 = @项目流水号'
|
||||
$alter = [regex]::Replace($sql, '^CREATE\s+PROCEDURE', 'ALTER PROCEDURE')
|
||||
$pos = $alter.IndexOf($anchor, [System.StringComparison]::Ordinal)
|
||||
if ($pos -lt 0) {
|
||||
throw '未找到预期插入位置,未执行修改'
|
||||
}
|
||||
|
||||
$new = @'
|
||||
-- 修改人:Ld 修改时间:2026-07-23 允许合同修改时删除未领料机床,已领料机床保留,避免误删已领料数据
|
||||
IF EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 WHERE 项目流水号 = @项目流水号)
|
||||
BEGIN
|
||||
DELETE r FROM 车间装配管理_装配任务 r
|
||||
INNER JOIN PDM_组件名称 c ON c.组件流水号 = r.组件流水号
|
||||
INNER JOIN PDM_机床名称 m ON m.机床流水号 = c.机床流水号
|
||||
WHERE m.项目流水号 = @项目流水号
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 t WHERE t.项目流水号 = @项目流水号 AND t.机床流水号 = m.机床流水号)
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_组件名称 c2 WHERE c2.机床流水号 = m.机床流水号 AND ISNULL(c2.是否领料, 0) <> 0)
|
||||
|
||||
DELETE r FROM 车间装配管理_装配执行_临时领料明细 r
|
||||
INNER JOIN PDM_组件名称 c ON c.组件流水号 = r.组件流水号
|
||||
INNER JOIN PDM_机床名称 m ON m.机床流水号 = c.机床流水号
|
||||
WHERE m.项目流水号 = @项目流水号
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 t WHERE t.项目流水号 = @项目流水号 AND t.机床流水号 = m.机床流水号)
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_组件名称 c2 WHERE c2.机床流水号 = m.机床流水号 AND ISNULL(c2.是否领料, 0) <> 0)
|
||||
|
||||
DELETE r FROM 车间装配管理_领料单明细 r
|
||||
INNER JOIN PDM_组件名称 c ON c.组件流水号 = r.组件流水号
|
||||
INNER JOIN PDM_机床名称 m ON m.机床流水号 = c.机床流水号
|
||||
WHERE m.项目流水号 = @项目流水号
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 t WHERE t.项目流水号 = @项目流水号 AND t.机床流水号 = m.机床流水号)
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_组件名称 c2 WHERE c2.机床流水号 = m.机床流水号 AND ISNULL(c2.是否领料, 0) <> 0)
|
||||
|
||||
DELETE r FROM 车间装配管理_领料单 r
|
||||
INNER JOIN PDM_组件名称 c ON c.组件流水号 = r.组件流水号
|
||||
INNER JOIN PDM_机床名称 m ON m.机床流水号 = c.机床流水号
|
||||
WHERE m.项目流水号 = @项目流水号
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 t WHERE t.项目流水号 = @项目流水号 AND t.机床流水号 = m.机床流水号)
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_组件名称 c2 WHERE c2.机床流水号 = m.机床流水号 AND ISNULL(c2.是否领料, 0) <> 0)
|
||||
|
||||
DELETE r FROM PDM_零件明细表_基本件 r
|
||||
INNER JOIN PDM_组件名称 c ON c.组件流水号 = r.组件流水号
|
||||
INNER JOIN PDM_机床名称 m ON m.机床流水号 = c.机床流水号
|
||||
WHERE m.项目流水号 = @项目流水号
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 t WHERE t.项目流水号 = @项目流水号 AND t.机床流水号 = m.机床流水号)
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_组件名称 c2 WHERE c2.机床流水号 = m.机床流水号 AND ISNULL(c2.是否领料, 0) <> 0)
|
||||
|
||||
DELETE r FROM PDM_零件明细表_标准件和外购件 r
|
||||
INNER JOIN PDM_组件名称 c ON c.组件流水号 = r.组件流水号
|
||||
INNER JOIN PDM_机床名称 m ON m.机床流水号 = c.机床流水号
|
||||
WHERE m.项目流水号 = @项目流水号
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 t WHERE t.项目流水号 = @项目流水号 AND t.机床流水号 = m.机床流水号)
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_组件名称 c2 WHERE c2.机床流水号 = m.机床流水号 AND ISNULL(c2.是否领料, 0) <> 0)
|
||||
|
||||
DELETE c FROM PDM_组件名称 c
|
||||
INNER JOIN PDM_机床名称 m ON m.机床流水号 = c.机床流水号
|
||||
WHERE m.项目流水号 = @项目流水号
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 t WHERE t.项目流水号 = @项目流水号 AND t.机床流水号 = m.机床流水号)
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_组件名称 c2 WHERE c2.机床流水号 = m.机床流水号 AND ISNULL(c2.是否领料, 0) <> 0)
|
||||
|
||||
DELETE m FROM PDM_机床名称 m
|
||||
WHERE m.项目流水号 = @项目流水号
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_机床名称_修改记录_临时表 t WHERE t.项目流水号 = @项目流水号 AND t.机床流水号 = m.机床流水号)
|
||||
AND NOT EXISTS (SELECT 1 FROM PDM_组件名称 c WHERE c.机床流水号 = m.机床流水号 AND ISNULL(c.是否领料, 0) <> 0)
|
||||
END
|
||||
|
||||
'@
|
||||
|
||||
$alter = $alter.Insert($pos, $new)
|
||||
$cmd = $conn.CreateCommand()
|
||||
$cmd.CommandTimeout = 120
|
||||
$cmd.CommandText = $alter
|
||||
[void]$cmd.ExecuteNonQuery()
|
||||
Write-Output '测试库 PDM_组件名称_确认更改新 修改完成'
|
||||
}
|
||||
finally {
|
||||
$conn.Close()
|
||||
}
|
||||
Reference in New Issue
Block a user