feat: 更新装配任务和质量报表
This commit is contained in:
@@ -307,9 +307,7 @@ export default {
|
|||||||
.replace(/'/g, ''')
|
.replace(/'/g, ''')
|
||||||
},
|
},
|
||||||
isOutsourceProcess(process) {
|
isOutsourceProcess(process) {
|
||||||
return process.指派对象 === '外协' ||
|
return process.指派对象 === '外协'
|
||||||
String(process.工序名称 || '').includes('(外协)') ||
|
|
||||||
String(process.工序名称 || '').includes('(外协)')
|
|
||||||
},
|
},
|
||||||
getProcessStatusNum(status) {
|
getProcessStatusNum(status) {
|
||||||
const statusNum = parseInt(status)
|
const statusNum = parseInt(status)
|
||||||
@@ -333,8 +331,10 @@ export default {
|
|||||||
return statusNum === 6 || statusNum === 3 || countNum > 0
|
return statusNum === 6 || statusNum === 3 || countNum > 0
|
||||||
},
|
},
|
||||||
isGreenProcess(process) {
|
isGreenProcess(process) {
|
||||||
|
console.log(process)
|
||||||
|
console.log( this.toProcessNumber(process.收料数量), this.toProcessNumber(process.完成数量),this.isOutsourceProcess(process))
|
||||||
return this.isOutsourceProcess(process) &&
|
return this.isOutsourceProcess(process) &&
|
||||||
this.toProcessNumber(process.收料数量) > this.toProcessNumber(process.收检合格数) + this.toProcessNumber(process.收检不合格数)
|
this.toProcessNumber(process.收料数量) > this.toProcessNumber(process.完成数量) + this.toProcessNumber(process.收检不合格数)
|
||||||
},
|
},
|
||||||
getProcessBaseClass(process) {
|
getProcessBaseClass(process) {
|
||||||
if (this.isGreenProcess(process)) {
|
if (this.isGreenProcess(process)) {
|
||||||
@@ -375,7 +375,6 @@ export default {
|
|||||||
return lineNo === lastLineNo + 1 &&
|
return lineNo === lastLineNo + 1 &&
|
||||||
String(process.外协分组 || '') === String(lastProcess.外协分组 || '')
|
String(process.外协分组 || '') === String(lastProcess.外协分组 || '')
|
||||||
}
|
}
|
||||||
|
|
||||||
processes.forEach((process, index) => {
|
processes.forEach((process, index) => {
|
||||||
if (!this.isOutsourceProcess(process)) {
|
if (!this.isOutsourceProcess(process)) {
|
||||||
flushOutsourceRun()
|
flushOutsourceRun()
|
||||||
@@ -388,8 +387,9 @@ export default {
|
|||||||
lastProcess = process
|
lastProcess = process
|
||||||
})
|
})
|
||||||
flushOutsourceRun()
|
flushOutsourceRun()
|
||||||
|
console.log(classes)
|
||||||
return classes
|
return classes
|
||||||
|
|
||||||
},
|
},
|
||||||
getProcessClass(process, index, outsourceGroupClasses) {
|
getProcessClass(process, index, outsourceGroupClasses) {
|
||||||
if (this.isOutsourceProcess(process)) {
|
if (this.isOutsourceProcess(process)) {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -132,7 +132,7 @@
|
|||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="Progress" label="进度" align="center" width="150">
|
<!-- <el-table-column prop="Progress" label="进度" align="center" width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-progress
|
<el-progress
|
||||||
:percentage="scope.row.Progress || 0"
|
:percentage="scope.row.Progress || 0"
|
||||||
@@ -152,7 +152,7 @@
|
|||||||
<span>{{ scope.row.Battery }}%</span>
|
<span>{{ scope.row.Battery }}%</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column> -->
|
||||||
<el-table-column prop="Operator" label="操作人" align="center" width="100"/>
|
<el-table-column prop="Operator" label="操作人" align="center" width="100"/>
|
||||||
<el-table-column prop="UpdateTime" label="更新时间" align="center" width="160"/>
|
<el-table-column prop="UpdateTime" label="更新时间" align="center" width="160"/>
|
||||||
<el-table-column label="操作" align="center" width="200" fixed="right">
|
<el-table-column label="操作" align="center" width="200" fixed="right">
|
||||||
@@ -172,14 +172,14 @@
|
|||||||
style="color: #E6A23C;"
|
style="color: #E6A23C;"
|
||||||
@click="pauseTask(scope.row)"
|
@click="pauseTask(scope.row)"
|
||||||
:disabled="scope.row.TaskStatus !== 'RUNNING'"
|
:disabled="scope.row.TaskStatus !== 'RUNNING'"
|
||||||
>暂停</el-button>
|
>暂停</el-button> -->
|
||||||
<el-button
|
<el-button
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-circle-close"
|
icon="el-icon-circle-close"
|
||||||
size="mini"
|
size="mini"
|
||||||
style="color: #F56C6C;"
|
style="color: #F56C6C;"
|
||||||
@click="cancelTask(scope.row)"
|
@click="cancelTask(scope.row)"
|
||||||
>取消</el-button> -->
|
>取消</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -373,6 +373,10 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import axios from 'axios'
|
||||||
|
|
||||||
|
const AGV_MOVE_API = 'http://192.168.2.92:9981/api/zk/call_agv_move_web'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -436,7 +440,7 @@ export default {
|
|||||||
created() {
|
created() {
|
||||||
this.getLocationPoints()
|
this.getLocationPoints()
|
||||||
this.getRealtimeData()
|
this.getRealtimeData()
|
||||||
this.startAutoRefresh()
|
//this.startAutoRefresh()
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
@@ -513,7 +517,7 @@ export default {
|
|||||||
|
|
||||||
var Data = this.CreateData('12', '生产管理_物料机器人_修改点位', param)
|
var Data = this.CreateData('12', '生产管理_物料机器人_修改点位', param)
|
||||||
this.ExecDatabase(Data).then(response => {
|
this.ExecDatabase(Data).then(response => {
|
||||||
if (response.data && response.data[0] && response.data[0].result === '1') {
|
if (response.data && response.data[0] && response.data[0].result === 1) {
|
||||||
this.$message.success('修改点位成功')
|
this.$message.success('修改点位成功')
|
||||||
this.pointFormVisible = false
|
this.pointFormVisible = false
|
||||||
this.getLocationPoints()
|
this.getLocationPoints()
|
||||||
@@ -536,13 +540,13 @@ export default {
|
|||||||
param[5] = ['Y坐标', this.pointForm.YCoordinate]
|
param[5] = ['Y坐标', this.pointForm.YCoordinate]
|
||||||
param[6] = ['描述', this.pointForm.Description || '']
|
param[6] = ['描述', this.pointForm.Description || '']
|
||||||
|
|
||||||
var Data = this.CreateData('12', '生产管理_物料机器人_新增点位', param)
|
var Data = this.CreateData('11', '生产管理_物料机器人_新增点位', param)
|
||||||
this.ExecDatabase(Data).then(response => {
|
this.ExecDatabase(Data).then(response => {
|
||||||
if (response.data && response.data[0] && response.data[0].result === '1') {
|
if (response.data && response.data[0] && response.data[0].Result === 1) {
|
||||||
this.$message.success('新增点位成功')
|
this.$message.success('新增点位成功')
|
||||||
this.pointFormVisible = false
|
this.pointFormVisible = false
|
||||||
this.getLocationPoints()
|
this.getLocationPoints()
|
||||||
} else if (response.data[0].result === '编码重复') {s
|
} else if (response.data[0].Result === '编码重复') {
|
||||||
this.$message.error('点位编码已存在')
|
this.$message.error('点位编码已存在')
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('新增点位失败')
|
this.$message.error('新增点位失败')
|
||||||
@@ -564,12 +568,12 @@ export default {
|
|||||||
var param = []
|
var param = []
|
||||||
param[0] = ['ID', row.ID]
|
param[0] = ['ID', row.ID]
|
||||||
|
|
||||||
var Data = this.CreateData('12', '生产管理_物料机器人_删除点位', param)
|
var Data = this.CreateData('11', '生产管理_物料机器人_删除点位', param)
|
||||||
this.ExecDatabase(Data).then(response => {
|
this.ExecDatabase(Data).then(response => {
|
||||||
if (response.data && response.data[0] && response.data[0].result === '1') {
|
if (response.data && response.data[0] && response.data[0].Result === 1) {
|
||||||
this.$message.success('删除点位成功')
|
this.$message.success('删除点位成功')
|
||||||
this.getLocationPoints()
|
this.getLocationPoints()
|
||||||
} else if (response.data[0].result === '点位使用中') {
|
} else if (response.data[0].Result === '点位使用中') {
|
||||||
this.$message.error('该点位正在被任务使用,无法删除')
|
this.$message.error('该点位正在被任务使用,无法删除')
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('删除点位失败')
|
this.$message.error('删除点位失败')
|
||||||
@@ -712,31 +716,74 @@ export default {
|
|||||||
this.$confirm('确认开始该任务?', '提示', {
|
this.$confirm('确认开始该任务?', '提示', {
|
||||||
type: 'info'
|
type: 'info'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
var param = []
|
this.callAgvMove(row).then(() => {
|
||||||
param[0] = ['任务编号', row.TaskNo]
|
return this.updateTaskStatus(row)
|
||||||
param[1] = ['状态', 'RUNNING']
|
}).then(() => {
|
||||||
param[2] = ['进度', row.Progress || 0]
|
this.$message.success('任务已开始')
|
||||||
param[3] = ['速度', 0.5]
|
this.getRealtimeData()
|
||||||
param[4] = ['电量', 100]
|
|
||||||
param[5] = ['X坐标', null]
|
|
||||||
param[6] = ['Y坐标', null]
|
|
||||||
param[7] = ['方向', '']
|
|
||||||
|
|
||||||
var Data = this.CreateData('12', '生产管理_物料机器人_更新任务状态', param)
|
|
||||||
this.ExecDatabase(Data).then(response => {
|
|
||||||
if (response.data && response.data[0] && response.data[0].result === '1') {
|
|
||||||
this.$message.success('任务已开始')
|
|
||||||
this.getRealtimeData()
|
|
||||||
} else {
|
|
||||||
this.$message.error('操作失败')
|
|
||||||
}
|
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
console.error('开始任务失败:', error)
|
console.error('开始任务失败:', error)
|
||||||
this.$message.error('操作失败')
|
this.$message.error(error.message || '操作失败')
|
||||||
})
|
})
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 调用 AGV 搬运接口
|
||||||
|
callAgvMove(row) {
|
||||||
|
const fromBin = row.CurrentPoint || row.StartPoint
|
||||||
|
const toBin = row.TargetPoint || row.EndPoint
|
||||||
|
|
||||||
|
if (!row.TaskNo || !fromBin || !toBin) {
|
||||||
|
return Promise.reject(new Error('任务点位信息不完整,无法下发AGV任务'))
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = {
|
||||||
|
entityName: 'ContainerTransportOrder',
|
||||||
|
entityValues: [
|
||||||
|
{
|
||||||
|
id: row.TaskNo,
|
||||||
|
kind: 'Luck',
|
||||||
|
status: 'Building',
|
||||||
|
priority: 10,
|
||||||
|
fromBin,
|
||||||
|
toBin
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
return axios.post(AGV_MOVE_API, data).then(response => {
|
||||||
|
const result = response.data || {}
|
||||||
|
console.log(response)
|
||||||
|
const isSuccess = Array.isArray(result.ids) && result.ids.indexOf(row.TaskNo) !== -1 && !result.code
|
||||||
|
if (!isSuccess) {
|
||||||
|
const message = result.message || result.code || 'AGV任务下发失败'
|
||||||
|
return Promise.reject(new Error(message))
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 更新 MES 任务状态
|
||||||
|
updateTaskStatus(row) {
|
||||||
|
var param = []
|
||||||
|
param[0] = ['任务编号', row.TaskNo]
|
||||||
|
param[1] = ['状态', 'RUNNING']
|
||||||
|
param[2] = ['进度', row.Progress || 0]
|
||||||
|
param[3] = ['速度', 0.5]
|
||||||
|
param[4] = ['电量', 100]
|
||||||
|
param[5] = ['X坐标', null]
|
||||||
|
param[6] = ['Y坐标', null]
|
||||||
|
param[7] = ['方向', '']
|
||||||
|
|
||||||
|
var Data = this.CreateData('12', '生产管理_物料机器人_更新任务状态', param)
|
||||||
|
return this.ExecDatabase(Data).then(response => {
|
||||||
|
if (response.data && response.data[0] && response.data[0].result === '1') {
|
||||||
|
return response
|
||||||
|
}
|
||||||
|
return Promise.reject(new Error('任务状态更新失败'))
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
// 暂停任务
|
// 暂停任务
|
||||||
// pauseTask(row) {
|
// pauseTask(row) {
|
||||||
// this.$confirm('确认暂停该任务?', '提示', {
|
// this.$confirm('确认暂停该任务?', '提示', {
|
||||||
@@ -767,29 +814,29 @@ export default {
|
|||||||
// }).catch(() => {})
|
// }).catch(() => {})
|
||||||
// },
|
// },
|
||||||
|
|
||||||
// 取消任务
|
//取消任务
|
||||||
// cancelTask(row) {
|
cancelTask(row) {
|
||||||
// this.$confirm('确认取消该任务?', '提示', {
|
this.$confirm('确认取消该任务?', '提示', {
|
||||||
// type: 'warning'
|
type: 'warning'
|
||||||
// }).then(() => {
|
}).then(() => {
|
||||||
// var param = []
|
var param = []
|
||||||
// param[0] = ['任务编号', row.TaskNo]
|
param[0] = ['任务编号', row.TaskNo]
|
||||||
// param[1] = ['状态', 'CANCELED']
|
param[1] = ['状态', 'CANCELED']
|
||||||
|
|
||||||
// var Data = this.CreateData('12', '生产管理_物料机器人_完成任务', param)
|
var Data = this.CreateData('12', '生产管理_物料机器人_完成任务', param)
|
||||||
// this.ExecDatabase(Data).then(response => {
|
this.ExecDatabase(Data).then(response => {
|
||||||
// if (response.data && response.data[0] && response.data[0].result === '1') {
|
if (response.data && response.data[0] && response.data[0].result === '1') {
|
||||||
// this.$message.success('任务已取消')
|
this.$message.success('任务已取消')
|
||||||
// this.getRealtimeData()
|
this.getRealtimeData()
|
||||||
// } else {
|
} else {
|
||||||
// this.$message.error('操作失败')
|
this.$message.error('操作失败')
|
||||||
// }
|
}
|
||||||
// }).catch(error => {
|
}).catch(error => {
|
||||||
// console.error('取消任务失败:', error)
|
console.error('取消任务失败:', error)
|
||||||
// this.$message.error('操作失败')
|
this.$message.error('操作失败')
|
||||||
// })
|
})
|
||||||
// }).catch(() => {})
|
}).catch(() => {})
|
||||||
// },
|
},
|
||||||
|
|
||||||
// ========== 历史记录相关方法 ==========
|
// ========== 历史记录相关方法 ==========
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,13 @@
|
|||||||
clearable
|
clearable
|
||||||
style="width: 150px; margin-right: 10px"
|
style="width: 150px; margin-right: 10px"
|
||||||
/>
|
/>
|
||||||
|
<span class="show-text">物料名称:</span>
|
||||||
|
<el-input
|
||||||
|
v-model="productname2"
|
||||||
|
placeholder="请输入零件名称"
|
||||||
|
clearable
|
||||||
|
style="width: 150px; margin-right: 10px"
|
||||||
|
/>
|
||||||
<!-- <span class="show-text">计划开工:</span>
|
<!-- <span class="show-text">计划开工:</span>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="completionTime"
|
v-model="completionTime"
|
||||||
@@ -1833,6 +1840,7 @@ export default {
|
|||||||
salenum:'',
|
salenum:'',
|
||||||
contractNo: "",
|
contractNo: "",
|
||||||
productCode2: "",
|
productCode2: "",
|
||||||
|
productname2: "",
|
||||||
process: "",
|
process: "",
|
||||||
processList2: [],
|
processList2: [],
|
||||||
nature: "",
|
nature: "",
|
||||||
@@ -2711,6 +2719,7 @@ getUserId() {
|
|||||||
param.push(["TaskAID", this.TaskAID || 0]);
|
param.push(["TaskAID", this.TaskAID || 0]);
|
||||||
param.push(["订单号", this.orderNo2 || 0]);
|
param.push(["订单号", this.orderNo2 || 0]);
|
||||||
param.push(["零件编号", this.productCode2]);
|
param.push(["零件编号", this.productCode2]);
|
||||||
|
param.push(["零件名称", this.productname2]);
|
||||||
param.push(["计划开工_Start", ""]);
|
param.push(["计划开工_Start", ""]);
|
||||||
param.push(["计划开工_End", ""]);
|
param.push(["计划开工_End", ""]);
|
||||||
param.push(["生产状态", this.productionStatus2 || -1]);
|
param.push(["生产状态", this.productionStatus2 || -1]);
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -731,6 +731,40 @@ async uploadToSAP(record, detail) {
|
|||||||
|
|
||||||
// ========== 9. 提交工时单据到SAP ==========
|
// ========== 9. 提交工时单据到SAP ==========
|
||||||
if (params.length > 0) {
|
if (params.length > 0) {
|
||||||
|
try {
|
||||||
|
await new Promise(resolve => setTimeout(resolve, 500))
|
||||||
|
|
||||||
|
const reorderResult = await getB1("/ProductionOrders", {
|
||||||
|
"$filter": `AbsoluteEntry eq ${record.订单编号}`
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!reorderResult.success || !reorderResult.data?.value?.length) {
|
||||||
|
return { success: false, error: '重新获取生产订单失败' }
|
||||||
|
}
|
||||||
|
|
||||||
|
const updatedOrder = reorderResult.data.value[0]
|
||||||
|
const lines = updatedOrder.ProductionOrderLines || []
|
||||||
|
|
||||||
|
lines.forEach(line => {
|
||||||
|
const matched = params.find(param => Number(line.LineNumber) === Number(param.BaseLine))
|
||||||
|
if (matched) {
|
||||||
|
line.PlannedQuantity = Number(line.IssuedQuantity) + Number(matched.Quantity)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const patchResult = await patchB1(`ProductionOrders(${updatedOrder.AbsoluteEntry})`, {
|
||||||
|
ProductionOrderLines: lines,
|
||||||
|
ProductionOrdersStages: updatedOrder.ProductionOrdersStages || []
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!patchResult.success) {
|
||||||
|
this.$message.error(patchResult.message)
|
||||||
|
return { success: false, error: patchResult.message || '更新生产订单PlannedQuantity失败' }
|
||||||
|
}
|
||||||
|
} catch (reorderError) {
|
||||||
|
console.warn(`重新获取订单数据失败:`, reorderError)
|
||||||
|
return { success: false, error: reorderError.message || '更新生产订单PlannedQuantity异常' }
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
const startDate = record.开始时间 ? record.开始时间.split(' ')[0] : this.currentdate
|
const startDate = record.开始时间 ? record.开始时间.split(' ')[0] : this.currentdate
|
||||||
const result = await postB1("/InventoryGenExits", {
|
const result = await postB1("/InventoryGenExits", {
|
||||||
|
|||||||
@@ -215,7 +215,7 @@
|
|||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="班次标准工时">
|
<el-form-item label="班次标准工时">
|
||||||
<el-input v-model="editForm.班次标准工时" readonly />
|
<el-input v-model="editForm.当日班次最小标准工时" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="工序顺序">
|
<!-- <el-form-item label="工序顺序">
|
||||||
<el-input v-model="editForm.工艺顺序" readonly />
|
<el-input v-model="editForm.工艺顺序" readonly />
|
||||||
@@ -682,7 +682,7 @@ export default {
|
|||||||
加工工时: row.加工工时 || 0,
|
加工工时: row.加工工时 || 0,
|
||||||
总时长: row.总时长 || 0,
|
总时长: row.总时长 || 0,
|
||||||
工艺顺序: row.订单行号 || 0,
|
工艺顺序: row.订单行号 || 0,
|
||||||
当日班次最小标准工时 : row.当日班次最小标准工时 || 0
|
当日班次最小标准工时 : row.当日班次最小标准工时 || 8
|
||||||
}
|
}
|
||||||
this.editDialogVisible = true
|
this.editDialogVisible = true
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -285,7 +285,7 @@
|
|||||||
width="180"
|
width="180"
|
||||||
prop="检测说明"
|
prop="检测说明"
|
||||||
/>
|
/>
|
||||||
<el-table-column label="操作" align="center" width="250" fixed="right">
|
<el-table-column label="操作" align="center" width="350" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
class="operation-btn"
|
class="operation-btn"
|
||||||
@@ -299,9 +299,15 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="getitemdraw(scope.row)"
|
@click="getitemdraw(scope.row)"
|
||||||
>图纸</el-button
|
>零件图纸</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
class="operation-btn"
|
||||||
|
type="primary"
|
||||||
|
size="mini"
|
||||||
|
@click="getitemdraw2(scope.row)"
|
||||||
|
>工艺图纸</el-button
|
||||||
>
|
>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -598,31 +604,23 @@ export default {
|
|||||||
this.$message.error('未上传图纸');
|
this.$message.error('未上传图纸');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// this.ExecDatabase(Data).then(async (response) => {
|
|
||||||
// console.log(response);
|
|
||||||
// if (response.data.length > 0) {
|
|
||||||
// var pdfSrc = "" + this.downPDF + "" + response.data[0].uid + ".pdf";
|
|
||||||
|
|
||||||
// // 1. 先打开对话框
|
},
|
||||||
// this.seeVisible = true;
|
getitemdraw2(row) {
|
||||||
|
var param = [];
|
||||||
|
param[0] = ['物料编号', row.零件编码];
|
||||||
|
var Data = this.CreateData('11', '工艺管理_工艺维护_查看图纸', param);
|
||||||
|
this.ExecDatabase(Data).then(response => {
|
||||||
|
console.log(response)
|
||||||
|
if (response.data.length > 0) {
|
||||||
|
var pdfSrc =""+this.downPDF+""+ response.data[0].uid+".pdf"
|
||||||
|
|
||||||
// // 2. 等待对话框完全渲染(使用 $nextTick 确保 DOM 已更新)
|
window.open(pdfSrc,'_blank')
|
||||||
// await this.$nextTick();
|
}else {
|
||||||
|
this.$message.error('未上传图纸');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// // 3. 等待一小段时间确保对话框内的容器完全渲染
|
|
||||||
// setTimeout(async () => {
|
|
||||||
// try {
|
|
||||||
// await seepdf(pdfSrc, 'see');
|
|
||||||
// } catch (error) {
|
|
||||||
// console.error('PDF 渲染失败:', error);
|
|
||||||
// this.$message.error('PDF 渲染失败: ' + error.message);
|
|
||||||
// }
|
|
||||||
// }, 300); // 增加延迟确保 DOM 完全渲染
|
|
||||||
|
|
||||||
// } else {
|
|
||||||
// this.$message.error('未上传图纸');
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
},
|
},
|
||||||
Urgent(row){
|
Urgent(row){
|
||||||
var param = []
|
var param = []
|
||||||
|
|||||||
@@ -965,6 +965,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 调用存储过程保存数据
|
// 调用存储过程保存数据
|
||||||
|
this.receiveCheckVisible = false;
|
||||||
this.saveReceiveCheck();
|
this.saveReceiveCheck();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -0,0 +1,132 @@
|
|||||||
|
<template>
|
||||||
|
<div class="test-assembly-task">
|
||||||
|
<el-card>
|
||||||
|
<div class="search-container">
|
||||||
|
<span class="show-text">任务类型:</span>
|
||||||
|
<el-select
|
||||||
|
v-model="taskType"
|
||||||
|
placeholder="请选择任务类型"
|
||||||
|
style="width: 150px; margin-right: 10px"
|
||||||
|
@change="searchTable"
|
||||||
|
>
|
||||||
|
<el-option label="全部" value="全部" />
|
||||||
|
<el-option label="阀类" value="阀类" />
|
||||||
|
<el-option label="系统类" value="系统类" />
|
||||||
|
</el-select>
|
||||||
|
<span class="show-text">生产订单:</span>
|
||||||
|
<el-input
|
||||||
|
v-model="productionOrder"
|
||||||
|
placeholder="请输入生产订单"
|
||||||
|
clearable
|
||||||
|
style="width: 150px; margin-right: 10px"
|
||||||
|
@keyup.enter.native="searchTable"
|
||||||
|
/>
|
||||||
|
<span class="show-text">销售订单:</span>
|
||||||
|
<el-input
|
||||||
|
v-model="salesOrder"
|
||||||
|
placeholder="请输入销售订单"
|
||||||
|
clearable
|
||||||
|
style="width: 150px; margin-right: 10px"
|
||||||
|
@keyup.enter.native="searchTable"
|
||||||
|
/>
|
||||||
|
<span class="show-text">物料名称:</span>
|
||||||
|
<el-input
|
||||||
|
v-model="materialName"
|
||||||
|
placeholder="请输入物料名称"
|
||||||
|
clearable
|
||||||
|
style="width: 160px; margin-right: 10px"
|
||||||
|
@keyup.enter.native="searchTable"
|
||||||
|
/>
|
||||||
|
<span class="show-text">物料编码:</span>
|
||||||
|
<el-input
|
||||||
|
v-model="materialCode"
|
||||||
|
placeholder="请输入物料编码"
|
||||||
|
clearable
|
||||||
|
style="width: 180px; margin-right: 10px"
|
||||||
|
@keyup.enter.native="searchTable"
|
||||||
|
/>
|
||||||
|
<el-button :disabled="loading" icon="el-icon-search" plain type="primary" @click="searchTable">查询</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-table
|
||||||
|
v-loading="loading"
|
||||||
|
:data="tableData"
|
||||||
|
:height="'72vh'"
|
||||||
|
border
|
||||||
|
element-loading-background="rgba(0, 0, 0, 0.2)"
|
||||||
|
element-loading-spinner="el-icon-loading"
|
||||||
|
highlight-current-row
|
||||||
|
size="mini"
|
||||||
|
style="width: 100%; margin-top: 20px"
|
||||||
|
tooltip-effect="dark"
|
||||||
|
>
|
||||||
|
<el-table-column align="center" label="序号" type="index" width="60" fixed />
|
||||||
|
<el-table-column align="center" prop="销售订单" label="销售订单" width="120" fixed show-overflow-tooltip />
|
||||||
|
<el-table-column align="center" prop="生产订单" label="生产订单" width="100" fixed />
|
||||||
|
<el-table-column align="center" prop="物料名称" label="物料名称" width="170" show-overflow-tooltip />
|
||||||
|
<el-table-column align="center" prop="物料编码" label="物料编码" width="180" show-overflow-tooltip />
|
||||||
|
<el-table-column align="center" prop="计划数量" label="计划数量" width="100" />
|
||||||
|
<el-table-column align="center" prop="完成数量" label="完成数量" width="100" />
|
||||||
|
<el-table-column align="center" prop="检验数量" label="检验数量" width="100" />
|
||||||
|
<el-table-column align="center" prop="检验合格数量" label="检验合格数量" width="120" />
|
||||||
|
<el-table-column align="center" prop="检验不合格数量" label="检验不合格数量" width="130" />
|
||||||
|
</el-table>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'TestAssemblyTask',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
taskType: '全部',
|
||||||
|
productionOrder: '',
|
||||||
|
salesOrder: '',
|
||||||
|
materialName: '',
|
||||||
|
materialCode: '',
|
||||||
|
loading: false,
|
||||||
|
tableData: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.searchTable()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
searchTable() {
|
||||||
|
this.loading = true
|
||||||
|
const param = []
|
||||||
|
param.push(['任务类型', this.taskType])
|
||||||
|
param.push(['生产订单', this.productionOrder])
|
||||||
|
param.push(['销售订单', this.salesOrder])
|
||||||
|
param.push(['物料名称', this.materialName])
|
||||||
|
param.push(['物料编码', this.materialCode])
|
||||||
|
const data = this.CreateData('11', '质量管理_测试装配任务_查询', param)
|
||||||
|
this.ExecDatabase(data).then(response => {
|
||||||
|
this.tableData = response.data || []
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message.error('查询失败:' + error.message)
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.test-assembly-task {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.show-text {
|
||||||
|
font-size: 14px;
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -52,6 +52,11 @@
|
|||||||
<span type="success">{{ scope.row.roles_function }}</span>
|
<span type="success">{{ scope.row.roles_function }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="班组" prop="班组" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span type="success">{{ scope.row.班组 }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column align="center" label="操作" min-width="450">
|
<el-table-column align="center" label="操作" min-width="450">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button icon="el-icon-refresh-right" style="font-family: MiSans Regular,serif;color: #4d77d6"
|
<el-button icon="el-icon-refresh-right" style="font-family: MiSans Regular,serif;color: #4d77d6"
|
||||||
@@ -111,6 +116,27 @@
|
|||||||
<el-form-item label="工号" prop="account">
|
<el-form-item label="工号" prop="account">
|
||||||
<el-input v-model="form1.account" placeholder="请输入工号" readonly style="width: 240px;border-radius: 4px" />
|
<el-input v-model="form1.account" placeholder="请输入工号" readonly style="width: 240px;border-radius: 4px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="班组" prop="班组">
|
||||||
|
<el-select
|
||||||
|
v-model="form1.team"
|
||||||
|
clearable
|
||||||
|
placeholder="请选择"
|
||||||
|
style="width: 150px; margin-right: 10px"
|
||||||
|
>
|
||||||
|
<el-option label="装配" value="装配" />
|
||||||
|
<el-option label="电气" value="电气" />
|
||||||
|
<el-option label="机加" value="机加" />
|
||||||
|
<el-option label="质检" value="质检" />
|
||||||
|
<el-option label="技术" value="技术" />
|
||||||
|
<el-option label="计划" value="计划" />
|
||||||
|
<el-option label="库房" value="库房" />
|
||||||
|
<el-option label="采购" value="采购" />
|
||||||
|
<el-option label="销售" value="销售" />
|
||||||
|
<el-option label="售后" value="售后" />
|
||||||
|
<el-option label="工艺" value="工艺" />
|
||||||
|
<el-option label="其他" value="其他" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<!-- <el-form-item label="密码" prop="password">-->
|
<!-- <el-form-item label="密码" prop="password">-->
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- v-model="form1.password"-->
|
<!-- v-model="form1.password"-->
|
||||||
@@ -167,7 +193,8 @@ export default {
|
|||||||
PersonalName: '',
|
PersonalName: '',
|
||||||
account: '',
|
account: '',
|
||||||
password: '',
|
password: '',
|
||||||
PersonalroleValue: ''
|
PersonalroleValue: '',
|
||||||
|
team:''
|
||||||
},
|
},
|
||||||
rules1: {
|
rules1: {
|
||||||
PersonalName: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
|
PersonalName: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
|
||||||
@@ -179,7 +206,8 @@ export default {
|
|||||||
tableData: [],
|
tableData: [],
|
||||||
total: 0, // 总条数
|
total: 0, // 总条数
|
||||||
pageSize: 10, // 每页显示条数
|
pageSize: 10, // 每页显示条数
|
||||||
pageList: 1 // 后台获取页
|
pageList: 1, // 后台获取页
|
||||||
|
team:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -251,7 +279,8 @@ export default {
|
|||||||
password: response.data.result[i].password,
|
password: response.data.result[i].password,
|
||||||
roles_number: parseInt(response.data.result[i].Roles_number),
|
roles_number: parseInt(response.data.result[i].Roles_number),
|
||||||
roles_function: response.data.result[i].Roles_Function,
|
roles_function: response.data.result[i].Roles_Function,
|
||||||
isClient: response.data.result[i].isClient
|
isClient: response.data.result[i].isClient,
|
||||||
|
班组:response.data.result[i].班组
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -270,6 +299,7 @@ export default {
|
|||||||
this.form1.account = row.account
|
this.form1.account = row.account
|
||||||
this.form1.password = row.password
|
this.form1.password = row.password
|
||||||
this.form1.PersonalroleValue = row.roles_number
|
this.form1.PersonalroleValue = row.roles_number
|
||||||
|
this.form1.team = row.班组
|
||||||
this.title1 = '编辑人员'
|
this.title1 = '编辑人员'
|
||||||
this.dialogFormVisible1 = true
|
this.dialogFormVisible1 = true
|
||||||
},
|
},
|
||||||
@@ -284,6 +314,7 @@ export default {
|
|||||||
param[2] = ['password', this.form1.password]
|
param[2] = ['password', this.form1.password]
|
||||||
param[3] = ['Personnel_Name', this.form1.PersonalName]
|
param[3] = ['Personnel_Name', this.form1.PersonalName]
|
||||||
param[4] = ['Roles_number', this.form1.PersonalroleValue]
|
param[4] = ['Roles_number', this.form1.PersonalroleValue]
|
||||||
|
param[5] = ['班组', this.form1.team]
|
||||||
if (this.form1.account === '' || this.form1.account === null) {
|
if (this.form1.account === '' || this.form1.account === null) {
|
||||||
this.$message.error('请输入工号')
|
this.$message.error('请输入工号')
|
||||||
} else if (this.form1.password === '' || this.form1.password === null) {
|
} else if (this.form1.password === '' || this.form1.password === null) {
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
IF COL_LENGTH(N'dbo.MES_接口_生产计划', N'预计送检日期') IS NULL
|
||||||
|
BEGIN
|
||||||
|
ALTER TABLE [dbo].[MES_接口_生产计划] ADD [预计送检日期] datetime NULL;
|
||||||
|
END;
|
||||||
|
|
||||||
|
IF COL_LENGTH(N'dbo.MES_接口_生产计划', N'销售要求日期') IS NULL
|
||||||
|
BEGIN
|
||||||
|
ALTER TABLE [dbo].[MES_接口_生产计划] ADD [销售要求日期] datetime NULL;
|
||||||
|
END;
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
ALTER VIEW dbo.View_生产订单_MES
|
||||||
|
AS
|
||||||
|
SELECT a.订单编号, a.合同号, b.订单拆分内码, a.订单类型, a.订单状态, a.物料编号, a.物料描述, b.计划数量 AS 工序计划数量, a.计量单位, a.下达日期,
|
||||||
|
a.计划开始, a.计划完成, a.项目代码, a.备注, a.重量, a.占用情况, a.加急状态, a.同步时间, b.订单行号, b.物料编码, b.物料名称, b.基本数量, b.计划数量,
|
||||||
|
b.已发货数量, b.订单发货类型, b.仓库代码, b.可视订单, b.物料类型, b.阶段标识, b.工序名称, b.顺序编号, b.性质, b.总工时, b.行文本备注, b.不装配,
|
||||||
|
b.指派对象, b.指派数量, b.计划开始时间, b.计划完成时间, b.最晚开始时间, b.派工状态, b.任务状态, b.修改时间, b.外协通知, b.优先级, b.未完成说明,
|
||||||
|
b.派工特殊说明, b.最后编辑人, b.最后编辑时间, b.可执行, b.收料, b.收料数量, b.开工, b.首检, b.巡检, b.完成数量, b.进度, b.序检, b.测试, b.入库,
|
||||||
|
b.AID AS TaskAID, b.加工状态, b.操作时间, b.开工时间, b.完工时间, b.合格数量, b.不合格数量, b.让步放行数量, b.报废数量,
|
||||||
|
a.计划数量 AS 计划数量订单, b.排产状态, a.自制件属性, b.二次派工, a.周转单打印次数, b.外协打印次数, b.单重, b.外协备注, a.齐套, a.单据状态,
|
||||||
|
a.生产工艺, a.标准工艺, a.任务状态 AS Expr1, b.指派对象编号, dbo.MES_资源主数据.VisCode, a.发料状态, a.拣配状态, a.计划号, b.外协分组,
|
||||||
|
a.加急数量, a.发货状态, a.要求发货日期, a.加急总数, b.打印数量, a.入库数量, dbo.物料基础数据_零件图纸.worker, b.本次检数, b.任务概述, a.齐套时间,
|
||||||
|
a.派工时间, a.钣金预达时间, a.预计送检日期, a.销售要求日期
|
||||||
|
FROM dbo.MES_接口_生产计划_生产任务 AS b LEFT OUTER JOIN
|
||||||
|
dbo.物料基础数据_零件图纸 ON b.物料编码 = dbo.物料基础数据_零件图纸.num LEFT OUTER JOIN
|
||||||
|
dbo.MES_资源主数据 ON b.指派对象 = dbo.MES_资源主数据.Name RIGHT OUTER JOIN
|
||||||
|
dbo.MES_接口_生产计划 AS a ON b.订单编号 = a.订单编号
|
||||||
|
WHERE (b.物料类型 = 'pit_Resource') AND (a.单据状态 IS NULL)
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
CREATE VIEW dbo.View_生产订单_MES
|
||||||
|
AS
|
||||||
|
SELECT a.订单编号, a.合同号, b.订单拆分内码, a.订单类型, a.订单状态, a.物料编号, a.物料描述, b.计划数量 AS 工序计划数量, a.计量单位, a.下达日期,
|
||||||
|
a.计划开始, a.计划完成, a.项目代码, a.备注, a.重量, a.占用情况, a.加急状态, a.同步时间, b.订单行号, b.物料编码, b.物料名称, b.基本数量, b.计划数量,
|
||||||
|
b.已发货数量, b.订单发货类型, b.仓库代码, b.可视订单, b.物料类型, b.阶段标识, b.工序名称, b.顺序编号, b.性质, b.总工时, b.行文本备注, b.不装配,
|
||||||
|
b.指派对象, b.指派数量, b.计划开始时间, b.计划完成时间, b.最晚开始时间, b.派工状态, b.任务状态, b.修改时间, b.外协通知, b.优先级, b.未完成说明,
|
||||||
|
b.派工特殊说明, b.最后编辑人, b.最后编辑时间, b.可执行, b.收料, b.收料数量, b.开工, b.首检, b.巡检, b.完成数量, b.进度, b.序检, b.测试, b.入库,
|
||||||
|
b.AID AS TaskAID, b.加工状态, b.操作时间, b.开工时间, b.完工时间, b.合格数量, b.不合格数量, b.让步放行数量, b.报废数量,
|
||||||
|
a.计划数量 AS 计划数量订单, b.排产状态, a.自制件属性, b.二次派工, a.周转单打印次数, b.外协打印次数, b.单重, b.外协备注, a.齐套, a.单据状态,
|
||||||
|
a.生产工艺, a.标准工艺, a.任务状态 AS Expr1, b.指派对象编号, dbo.MES_资源主数据.VisCode, a.发料状态, a.拣配状态, a.计划号, b.外协分组,
|
||||||
|
a.加急数量, a.发货状态, a.要求发货日期, a.加急总数, b.打印数量, a.入库数量, dbo.物料基础数据_零件图纸.worker, b.本次检数, b.任务概述, a.齐套时间,
|
||||||
|
a.派工时间, a.钣金预达时间
|
||||||
|
FROM dbo.MES_接口_生产计划_生产任务 AS b LEFT OUTER JOIN
|
||||||
|
dbo.物料基础数据_零件图纸 ON b.物料编码 = dbo.物料基础数据_零件图纸.num LEFT OUTER JOIN
|
||||||
|
dbo.MES_资源主数据 ON b.指派对象 = dbo.MES_资源主数据.Name RIGHT OUTER JOIN
|
||||||
|
dbo.MES_接口_生产计划 AS a ON b.订单编号 = a.订单编号
|
||||||
|
WHERE (b.物料类型 = 'pit_Resource') AND (a.单据状态 IS NULL)
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
CREATE OR ALTER PROCEDURE [dbo].[装配中心任务看板_可执行任务数]
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
;WITH base AS (
|
||||||
|
SELECT
|
||||||
|
CASE WHEN 物料描述 LIKE '%系统%' THEN 1 ELSE 0 END AS 是否系统类,
|
||||||
|
ISNULL(发料状态, 0) AS 发料状态,
|
||||||
|
派工时间,
|
||||||
|
ISNULL(预计送检日期,
|
||||||
|
CASE
|
||||||
|
WHEN 物料描述 LIKE '%系统%' THEN DATEADD(DAY, 3, 钣金预达时间)
|
||||||
|
ELSE DATEADD(DAY, 3, 齐套时间)
|
||||||
|
END
|
||||||
|
) AS 预计送检日期
|
||||||
|
FROM [dbo].[View_生产订单_MES]
|
||||||
|
WHERE [物料类型] = 'pit_Resource'
|
||||||
|
AND [自制件属性] LIKE '%装配%'
|
||||||
|
AND ISNULL(任务状态, 0) < 4
|
||||||
|
AND [物料描述] NOT LIKE '%软管总成%'
|
||||||
|
AND [物料描述] NOT LIKE '%发货部件%'
|
||||||
|
AND [不装配] <> '否'
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
SUM(CASE WHEN 是否系统类 = 0 AND 发料状态 = 1 THEN 1 ELSE 0 END) AS 阀类可执行任务数,
|
||||||
|
SUM(CASE WHEN 是否系统类 = 1 AND 派工时间 IS NOT NULL THEN 1 ELSE 0 END) AS 系统类可执行任务数,
|
||||||
|
SUM(CASE WHEN CAST(预计送检日期 AS date) < CAST(GETDATE() AS date) THEN 1 ELSE 0 END) AS 及时送检数
|
||||||
|
FROM base;
|
||||||
|
END;
|
||||||
21
db_backups/装配中心任务看板_可执行任务数_alter_status_20260618_162248.sql
Normal file
21
db_backups/装配中心任务看板_可执行任务数_alter_status_20260618_162248.sql
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
CREATE OR ALTER PROCEDURE [dbo].[装配中心任务看板_可执行任务数]
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
SUM(CASE WHEN 物料描述 NOT LIKE '%系统%' AND ISNULL(发料状态, 0) = 1 THEN 1 ELSE 0 END) AS 阀类可执行任务数,
|
||||||
|
SUM(CASE WHEN 物料描述 LIKE '%系统%' AND 派工时间 IS NOT NULL THEN 1 ELSE 0 END) AS 系统类可执行任务数,
|
||||||
|
SUM(CASE
|
||||||
|
WHEN 物料描述 NOT LIKE '%系统%' AND ISNULL(发料状态, 0) = 1 THEN 1
|
||||||
|
WHEN 物料描述 LIKE '%系统%' AND 派工时间 IS NOT NULL THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END) AS 可执行任务数
|
||||||
|
FROM [dbo].[View_生产订单_MES]
|
||||||
|
WHERE [物料类型] = 'pit_Resource'
|
||||||
|
AND [自制件属性] LIKE '%装配%'
|
||||||
|
AND ISNULL(任务状态, 0) < 4
|
||||||
|
AND [物料描述] NOT LIKE '%软管总成%'
|
||||||
|
AND [物料描述] NOT LIKE '%发货部件%'
|
||||||
|
AND [不装配] <> '否';
|
||||||
|
END;
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[装配中心任务看板_可执行任务数]
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
SUM(CASE WHEN 物料描述 NOT LIKE '%系统%' AND ISNULL(发料状态, 0) = 1 THEN 1 ELSE 0 END) AS 阀类可执行任务数,
|
||||||
|
SUM(CASE WHEN 物料描述 LIKE '%系统%' AND 派工时间 IS NOT NULL THEN 1 ELSE 0 END) AS 系统类可执行任务数,
|
||||||
|
SUM(CASE
|
||||||
|
WHEN 物料描述 NOT LIKE '%系统%' AND ISNULL(发料状态, 0) = 1 THEN 1
|
||||||
|
WHEN 物料描述 LIKE '%系统%' AND 派工时间 IS NOT NULL THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END) AS 可执行任务数
|
||||||
|
FROM [dbo].[View_生产订单_MES]
|
||||||
|
WHERE [物料类型] = 'pit_Resource'
|
||||||
|
AND [自制件属性] LIKE '%装配%'
|
||||||
|
AND ISNULL(任务状态, 0) < 4
|
||||||
|
AND [物料描述] NOT LIKE '%软管总成%'
|
||||||
|
AND [物料描述] NOT LIKE '%发货部件%'
|
||||||
|
AND [不装配] <> '否';
|
||||||
|
END;
|
||||||
21
db_backups/装配中心任务看板_可执行任务数_create_20260618_162141.sql
Normal file
21
db_backups/装配中心任务看板_可执行任务数_create_20260618_162141.sql
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
CREATE OR ALTER PROCEDURE [dbo].[装配中心任务看板_可执行任务数]
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
SUM(CASE WHEN 物料描述 NOT LIKE '%系统%' AND 齐套时间 IS NOT NULL THEN 1 ELSE 0 END) AS 阀类可执行任务数,
|
||||||
|
SUM(CASE WHEN 物料描述 LIKE '%系统%' AND 派工时间 IS NOT NULL THEN 1 ELSE 0 END) AS 系统类可执行任务数,
|
||||||
|
SUM(CASE
|
||||||
|
WHEN 物料描述 NOT LIKE '%系统%' AND 齐套时间 IS NOT NULL THEN 1
|
||||||
|
WHEN 物料描述 LIKE '%系统%' AND 派工时间 IS NOT NULL THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END) AS 可执行任务数
|
||||||
|
FROM [dbo].[View_生产订单_MES]
|
||||||
|
WHERE [物料类型] = 'pit_Resource'
|
||||||
|
AND [自制件属性] LIKE '%装配%'
|
||||||
|
AND ISNULL(任务状态, 0) < 4
|
||||||
|
AND [物料描述] NOT LIKE '%软管总成%'
|
||||||
|
AND [物料描述] NOT LIKE '%发货部件%'
|
||||||
|
AND [不装配] <> '否';
|
||||||
|
END;
|
||||||
129
db_backups/计划排产_系统类任务查询_alter_date_fields_20260618_140257.sql
Normal file
129
db_backups/计划排产_系统类任务查询_alter_date_fields_20260618_140257.sql
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,钣金预达时间,ISNULL(预计送检日期, DATEADD(DAY, 3, 钣金预达时间)) as 预计送检日期,销售要求日期,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
钣金预达时间,v.[合同号] '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
129
db_backups/计划排产_系统类任务查询_alter_progress_20260618_102524.sql
Normal file
129
db_backups/计划排产_系统类任务查询_alter_progress_20260618_102524.sql
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,钣金预达时间,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
钣金预达时间,v.计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,钣金预达时间,ISNULL(预计送检日期, DATEADD(DAY, 3, 钣金预达时间)) as 预计送检日期,ISNULL(销售要求日期, s.交货日期理论齐套日期) as 销售要求日期,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
钣金预达时间,v.[合同号] '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
133
db_backups/计划排产_系统类任务查询_alter_sap_min_date_20260618_143140.sql
Normal file
133
db_backups/计划排产_系统类任务查询_alter_sap_min_date_20260618_143140.sql
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,钣金预达时间,ISNULL(预计送检日期, DATEADD(DAY, 3, 钣金预达时间)) as 预计送检日期,ISNULL(销售要求日期, s.交货日期理论齐套日期) as 销售要求日期,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join (
|
||||||
|
SELECT 项目号, 物料号, MIN(交货日期理论齐套日期) as 交货日期理论齐套日期
|
||||||
|
FROM SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2
|
||||||
|
GROUP BY 项目号, 物料号
|
||||||
|
) s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
钣金预达时间,v.[合同号] '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
129
db_backups/计划排产_系统类任务查询_before_date_fields_20260618_140125.sql
Normal file
129
db_backups/计划排产_系统类任务查询_before_date_fields_20260618_140125.sql
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,钣金预达时间,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
钣金预达时间,v.[合同号] '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
98
db_backups/计划排产_系统类任务查询_before_progress_20260618_102446.sql
Normal file
98
db_backups/计划排产_系统类任务查询_before_progress_20260618_102446.sql
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
|
||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(4000)
|
||||||
|
declare @selectStrWhere nvarchar(4000)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,钣金预达时间,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
钣金预达时间,v.计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,钣金预达时间,ISNULL(预计送检日期, DATEADD(DAY, 3, 钣金预达时间)) as 预计送检日期,销售要求日期,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
钣金预达时间,v.[合同号] '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
129
db_backups/计划排产_系统类任务查询_before_sap_min_date_20260618_143032.sql
Normal file
129
db_backups/计划排产_系统类任务查询_before_sap_min_date_20260618_143032.sql
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,钣金预达时间,ISNULL(预计送检日期, DATEADD(DAY, 3, 钣金预达时间)) as 预计送检日期,ISNULL(销售要求日期, s.交货日期理论齐套日期) as 销售要求日期,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
钣金预达时间,v.[合同号] '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
213
db_backups/计划排产_系统类任务查询_导出_alter_date_fields_20260618_140416.sql
Normal file
213
db_backups/计划排产_系统类任务查询_导出_alter_date_fields_20260618_140416.sql
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.钣金预达时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), v.销售要求日期, 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 60.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 60.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 60.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 60.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
213
db_backups/计划排产_系统类任务查询_导出_alter_hours_3600_20260618_140521.sql
Normal file
213
db_backups/计划排产_系统类任务查询_导出_alter_hours_3600_20260618_140521.sql
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.钣金预达时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), v.销售要求日期, 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 3600.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 3600.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 3600.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 3600.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
@@ -0,0 +1,213 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.钣金预达时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.销售要求日期, s.交货日期理论齐套日期), 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 3600.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 3600.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 3600.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 3600.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
@@ -0,0 +1,217 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.钣金预达时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.销售要求日期, s.交货日期理论齐套日期), 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 3600.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 3600.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 3600.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 3600.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT 项目号, 物料号, MIN(交货日期理论齐套日期) as 交货日期理论齐套日期
|
||||||
|
FROM SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2
|
||||||
|
GROUP BY 项目号, 物料号
|
||||||
|
) s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
@@ -0,0 +1,213 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), DATEADD(DAY, 3, CONVERT(date, v.齐套时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), s.交货日期理论齐套日期, 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 60.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 60.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 60.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 60.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
213
db_backups/计划排产_系统类任务查询_导出_before_hours_3600_20260618_140521.sql
Normal file
213
db_backups/计划排产_系统类任务查询_导出_before_hours_3600_20260618_140521.sql
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.钣金预达时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), v.销售要求日期, 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 60.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 60.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 60.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 60.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
@@ -0,0 +1,213 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.钣金预达时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), v.销售要求日期, 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 3600.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 3600.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 3600.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 3600.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
@@ -0,0 +1,213 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.钣金预达时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.销售要求日期, s.交货日期理论齐套日期), 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 3600.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 3600.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 3600.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 3600.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
213
db_backups/计划排产_系统类任务查询_导出_create_20260618_103626.sql
Normal file
213
db_backups/计划排产_系统类任务查询_导出_create_20260618_103626.sql
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_系统类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '系统类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*18 AS 钣金预达时间,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 钣金预达时间,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.钣金预达时间, 120) AS 钣金预达时间,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), DATEADD(DAY, 3, CONVERT(date, v.齐套时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), s.交货日期理论齐套日期, 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 60.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 60.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 60.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 60.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 钣金预达时间 IS NULL THEN 1 ELSE 0 END, 钣金预达时间, v.计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
40
db_backups/计划排产_系统类装配任务_修改日期_create_20260618_140324.sql
Normal file
40
db_backups/计划排产_系统类装配任务_修改日期_create_20260618_140324.sql
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
CREATE OR ALTER PROCEDURE [dbo].[计划排产_系统类装配任务_修改预计送检日期]
|
||||||
|
@editstr nvarchar(100),
|
||||||
|
@订单号 int=0
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
DECLARE @whereStr nvarchar(max)=' where 1=1 ';
|
||||||
|
DECLARE @updateStr nvarchar(max)='update [MES_接口_生产计划] set ';
|
||||||
|
DECLARE @selStr nvarchar(max)='';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @whereStr=@whereStr + ' and [订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@editstr<>'') SET @updateStr = @updateStr + @editstr;
|
||||||
|
SET @selStr=@updateStr+@whereStr;
|
||||||
|
|
||||||
|
PRINT @selStr;
|
||||||
|
EXEC sp_executesql @selStr;
|
||||||
|
SELECT '1' AS result;
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE OR ALTER PROCEDURE [dbo].[计划排产_系统类装配任务_修改销售要求日期]
|
||||||
|
@editstr nvarchar(100),
|
||||||
|
@订单号 int=0
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
DECLARE @whereStr nvarchar(max)=' where 1=1 ';
|
||||||
|
DECLARE @updateStr nvarchar(max)='update [MES_接口_生产计划] set ';
|
||||||
|
DECLARE @selStr nvarchar(max)='';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @whereStr=@whereStr + ' and [订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@editstr<>'') SET @updateStr = @updateStr + @editstr;
|
||||||
|
SET @selStr=@updateStr+@whereStr;
|
||||||
|
|
||||||
|
PRINT @selStr;
|
||||||
|
EXEC sp_executesql @selStr;
|
||||||
|
SELECT '1' AS result;
|
||||||
|
END;
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: <Author,,Name>
|
||||||
|
-- Create date: <Create Date,,>
|
||||||
|
-- Description: <Description,,>
|
||||||
|
-- =============================================
|
||||||
|
create PROCEDURE [dbo].[计划排产_系统类装配任务_修改钣金预达时间]
|
||||||
|
@editstr nvarchar(50),
|
||||||
|
@订单号 int=0
|
||||||
|
AS
|
||||||
|
declare @whereStr nvarchar(max)=' where 1=1 '
|
||||||
|
declare @updateStr nvarchar(max)='update [MES_接口_生产计划] set '
|
||||||
|
declare @selStr nvarchar(max)=''
|
||||||
|
|
||||||
|
-- update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号=@订单号 and 订单行号=@订单行号 and 订单拆分内码<>@订单拆分内码 and isnull(派工状态,0)=0
|
||||||
|
if(@订单号>0)set @whereStr=@whereStr + ' and [订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@editstr<>'')set @updateStr = @updateStr + @editstr
|
||||||
|
set @selStr=@updateStr+@whereStr
|
||||||
|
|
||||||
|
print @selStr
|
||||||
|
EXEC sp_executesql @selStr
|
||||||
|
|
||||||
|
|
||||||
102
db_backups/计划排产_阀类任务查询_alter_20260618_100448.sql
Normal file
102
db_backups/计划排产_阀类任务查询_alter_20260618_100448.sql
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间,计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
129
db_backups/计划排产_阀类任务查询_alter_progress_20260618_102046.sql
Normal file
129
db_backups/计划排产_阀类任务查询_alter_progress_20260618_102046.sql
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间,计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
133
db_backups/计划排产_阀类任务查询_alter_sap_min_date_20260618_143447.sql
Normal file
133
db_backups/计划排产_阀类任务查询_alter_sap_min_date_20260618_143447.sql
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,ISNULL(预计送检日期, DATEADD(DAY, 3, 齐套时间)) as 预计送检日期,ISNULL(销售要求日期, s.交货日期理论齐套日期) as 销售要求日期,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join (
|
||||||
|
SELECT 项目号, 物料号, MIN(交货日期理论齐套日期) as 交货日期理论齐套日期
|
||||||
|
FROM SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2
|
||||||
|
GROUP BY 项目号, 物料号
|
||||||
|
) s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间,计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,ISNULL(预计送检日期, DATEADD(DAY, 3, 齐套时间)) as 预计送检日期,ISNULL(销售要求日期, s.交货日期理论齐套日期) as 销售要求日期,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间,计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
98
db_backups/计划排产_阀类任务查询_before_20260618_100413.sql
Normal file
98
db_backups/计划排产_阀类任务查询_before_20260618_100413.sql
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
|
||||||
|
CREATE PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(4000)
|
||||||
|
declare @selectStrWhere nvarchar(4000)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间,计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
102
db_backups/计划排产_阀类任务查询_before_progress_20260618_101940.sql
Normal file
102
db_backups/计划排产_阀类任务查询_before_progress_20260618_101940.sql
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间,计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
129
db_backups/计划排产_阀类任务查询_before_sap_min_date_20260618_143411.sql
Normal file
129
db_backups/计划排产_阀类任务查询_before_sap_min_date_20260618_143411.sql
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,ISNULL(预计送检日期, DATEADD(DAY, 3, 齐套时间)) as 预计送检日期,ISNULL(销售要求日期, s.交货日期理论齐套日期) as 销售要求日期,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间,计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
declare @selectStr nvarchar(max)
|
||||||
|
declare @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT [计划数量订单],isnull(开工时间,0) as 开工时间,isnull(进度,0) as 进度,[TaskAID],v.[合同号],v.[订单编号] as 订单号,
|
||||||
|
[订单行号],[订单拆分内码] as 拆分内码,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[计划完成] as 要求完工日期,[工序名称],完成数量,v.计划号,收料数量,外协分组,v.任务状态,v.齐套时间,v.派工时间,v.齐套,v.要求发货日期,
|
||||||
|
case when [加急状态]=1 then ''加急'' else '''' end as 加急状态,性质,isnull(总工时,0) as 总工时,[占用情况]
|
||||||
|
,[排产状态],[工序计划数量],指派对象编号,指派对象,TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量,计划开始时间,计划完成时间,最晚开始时间,
|
||||||
|
[派工状态],[外协通知],[优先级],[未完成说明],[派工特殊说明],[最后编辑人],[最后编辑时间],[二次派工],s.交货日期理论齐套日期 as 交货日期,
|
||||||
|
case when zj.计划号 is not null then ''是'' else ''否'' end as 终检,ISNULL(g.标准工时, 0) as 标准工时,
|
||||||
|
ISNULL(zp.装配工时, 0) as 任务装配工时,
|
||||||
|
ISNULL(zj1.质检工时, 0) as 任务质检工时,
|
||||||
|
ISNULL(htzp.合同装配工时, 0) as 合同装配工时,
|
||||||
|
ISNULL(htzj.合同质检工时, 0) as 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') as 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') as 质检工序说明,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') as 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') as 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') as 质检进行中 FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT DISTINCT 计划号
|
||||||
|
FROM dbo.YL_质量检验_质检记录
|
||||||
|
WHERE 质检类型 = ''终检''
|
||||||
|
) zj ON v.[订单编号] = zj.计划号
|
||||||
|
LEFT JOIN [dbo].[车间生产管理工艺_零件生产工艺_工艺库] g -- 新增LEFT JOIN
|
||||||
|
ON v.[订单编号] = g.订单编号
|
||||||
|
AND v.[订单行号] = g.工艺顺序
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 装配工时,max(gs.工序说明) as 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) as 质检工时,max(gs.工序说明) as 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
left join SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
on v.合同号 = s.项目号 and v.物料编号 = s.物料号'
|
||||||
|
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and v.[合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间,计划开始时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
210
db_backups/计划排产_阀类任务查询_导出_alter_match_page_20260618_103122.sql
Normal file
210
db_backups/计划排产_阀类任务查询_导出_alter_match_page_20260618_103122.sql
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_阀类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '阀类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), DATEADD(DAY, 3, CONVERT(date, v.齐套时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), s.交货日期理论齐套日期, 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 60.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 60.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 60.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 60.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END, 齐套时间, 计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
214
db_backups/计划排产_阀类任务查询_导出_alter_sap_min_date_20260618_143447.sql
Normal file
214
db_backups/计划排产_阀类任务查询_导出_alter_sap_min_date_20260618_143447.sql
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_阀类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '阀类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.齐套时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.销售要求日期, s.交货日期理论齐套日期), 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 3600.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 3600.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 3600.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 3600.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT 项目号, 物料号, MIN(交货日期理论齐套日期) as 交货日期理论齐套日期
|
||||||
|
FROM SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2
|
||||||
|
GROUP BY 项目号, 物料号
|
||||||
|
) s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END, 齐套时间, 计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
@@ -0,0 +1,210 @@
|
|||||||
|
ALTER PROCEDURE [dbo].[计划排产_阀类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '阀类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.齐套时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.销售要求日期, s.交货日期理论齐套日期), 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 3600.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 3600.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 3600.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 3600.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END, 齐套时间, 计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
|
||||||
|
CREATE PROCEDURE [dbo].[计划排产_阀类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
-- 导出文件名和类型
|
||||||
|
SELECT '阀类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype
|
||||||
|
|
||||||
|
-- 字段宽度
|
||||||
|
SELECT 256*20 AS 齐套时间, 256*20 AS 计划开始时间, 256*20 AS 派工时间, 256*10 AS 齐套, 256*10 AS 合同号,
|
||||||
|
256*10 AS 订单号, 256*40 AS 产品编码, 256*20 AS 产品名称, 256*10 AS 计划数量, 256*10 AS 二次派工, 256*20 AS 预计送检时间, 256*20 AS 销售要求日期,
|
||||||
|
256*20 AS 要求发货日期
|
||||||
|
|
||||||
|
-- 是否计算列
|
||||||
|
SELECT 0 AS 齐套时间, 0 AS 计划开始时间, 0 AS 派工时间, 0 AS 齐套, 0 AS 合同号,
|
||||||
|
0 AS 订单号, 0 AS 产品编码, 0 AS 产品名称, 0 AS 计划数量, 0 AS 二次派工, 0 AS 预计送检时间, 0 AS 销售要求日期,
|
||||||
|
0 AS 要求发货日期
|
||||||
|
|
||||||
|
-- 导出数据:每行都填满完整信息
|
||||||
|
|
||||||
|
declare @selectStr nvarchar(4000)
|
||||||
|
declare @selectStrWhere nvarchar(4000)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4'
|
||||||
|
|
||||||
|
if(@物料类型='自制件') --自制件
|
||||||
|
|
||||||
|
set @selectStr='
|
||||||
|
SELECT v.齐套时间,计划开始时间,v.派工时间,v.齐套,[合同号],v.[订单编号] as 订单号,[物料编号] as 产品编码,[物料描述] as 产品名称,TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS VARCHAR(30)))) AS 计划数量,
|
||||||
|
[二次派工],DATEADD(DAY, 3, CONVERT(DATE, v.齐套时间)),1,要求发货日期
|
||||||
|
FROM [View_生产订单_MES] v'
|
||||||
|
if(@订单号>0)set @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+Convert(VARCHAR(10),@订单号)
|
||||||
|
if(@合同号<>'')set @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''
|
||||||
|
if(@产品编码<>'')set @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''
|
||||||
|
if(@产品名称<>'')set @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''
|
||||||
|
if(@辅助配件 = '不含')set @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%'''
|
||||||
|
if(@工序名称<>'')set @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+''''
|
||||||
|
if(@要求完工日期1 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+''''
|
||||||
|
if(@要求完工日期2 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+''''
|
||||||
|
if(@计划开始 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+''''
|
||||||
|
if(@计划完成 <>'')set @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+''''
|
||||||
|
if(@排产状态='未完成')set @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0'
|
||||||
|
else if(@排产状态='已完成')set @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1'
|
||||||
|
if(@物料类型='自制件') set @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否'''
|
||||||
|
if(@物料类型='装配件') set @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否'''
|
||||||
|
if(@指派对象<>'全部') set @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))'
|
||||||
|
set @selectStrWhere = @selectStrWhere+ 'ORDER BY
|
||||||
|
CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END,
|
||||||
|
齐套时间 '
|
||||||
|
set @selectStr=@selectStr+@selectStrWhere
|
||||||
|
print @selectStr
|
||||||
|
EXEC sp_executesql @selectStr
|
||||||
|
END
|
||||||
@@ -0,0 +1,210 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_阀类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '阀类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.预计送检日期, DATEADD(DAY, 3, v.齐套时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), ISNULL(v.销售要求日期, s.交货日期理论齐套日期), 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 3600.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 3600.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 3600.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 3600.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END, 齐套时间, 计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
@@ -0,0 +1,210 @@
|
|||||||
|
CREATE PROCEDURE [dbo].[计划排产_阀类任务查询_导出]
|
||||||
|
@订单号 int=0,
|
||||||
|
@物料类型 nvarchar(50)='', --自制件、装配件
|
||||||
|
@合同号 nvarchar(50)='',
|
||||||
|
@产品编码 nvarchar(50)='',
|
||||||
|
@产品名称 nvarchar(50)='',
|
||||||
|
@工序名称 nvarchar(50)='',
|
||||||
|
@要求完工日期1 nvarchar(50)='',
|
||||||
|
@要求完工日期2 nvarchar(50)='',
|
||||||
|
@计划开始 nvarchar(50)='',
|
||||||
|
@计划完成 nvarchar(50)='',
|
||||||
|
@排产状态 nvarchar(50)='全部' , --全部,已完成、未完成
|
||||||
|
@指派对象 nvarchar(50)='全部',
|
||||||
|
@辅助配件 nvarchar(50)='不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT '阀类任务_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype;
|
||||||
|
|
||||||
|
SELECT 256*12 AS 发料齐套,
|
||||||
|
256*18 AS 计划开始,
|
||||||
|
256*12 AS 派工时间,
|
||||||
|
256*8 AS 齐套,
|
||||||
|
256*14 AS 销售订单,
|
||||||
|
256*10 AS 生产订单,
|
||||||
|
256*24 AS 物料编码,
|
||||||
|
256*24 AS 物料名称,
|
||||||
|
256*10 AS 计划数,
|
||||||
|
256*20 AS 二次派工,
|
||||||
|
256*14 AS 预计送检日期,
|
||||||
|
256*14 AS 销售要求日期,
|
||||||
|
256*14 AS 发货要求日期,
|
||||||
|
256*40 AS 异常报警信息,
|
||||||
|
256*40 AS 装配进行中,
|
||||||
|
256*40 AS 质检进行中,
|
||||||
|
256*14 AS 任务装配工时,
|
||||||
|
256*14 AS 任务质检工时,
|
||||||
|
256*14 AS 合同装配工时,
|
||||||
|
256*14 AS 合同质检工时,
|
||||||
|
256*24 AS 装配工序说明,
|
||||||
|
256*24 AS 质检工序说明,
|
||||||
|
256*14 AS 要求完工日期,
|
||||||
|
256*12 AS 工序名称,
|
||||||
|
256*10 AS 计划号,
|
||||||
|
256*18 AS 指派对象,
|
||||||
|
256*12 AS 指派数量,
|
||||||
|
256*10 AS 优先级,
|
||||||
|
256*20 AS 未完成说明,
|
||||||
|
256*20 AS 派工特殊备注,
|
||||||
|
256*14 AS 占用情况,
|
||||||
|
256*14 AS 最后编辑人,
|
||||||
|
256*20 AS 最后编辑时间;
|
||||||
|
|
||||||
|
SELECT 0 AS 发料齐套,
|
||||||
|
0 AS 计划开始,
|
||||||
|
0 AS 派工时间,
|
||||||
|
0 AS 齐套,
|
||||||
|
0 AS 销售订单,
|
||||||
|
0 AS 生产订单,
|
||||||
|
0 AS 物料编码,
|
||||||
|
0 AS 物料名称,
|
||||||
|
0 AS 计划数,
|
||||||
|
0 AS 二次派工,
|
||||||
|
0 AS 预计送检日期,
|
||||||
|
0 AS 销售要求日期,
|
||||||
|
0 AS 发货要求日期,
|
||||||
|
0 AS 异常报警信息,
|
||||||
|
0 AS 装配进行中,
|
||||||
|
0 AS 质检进行中,
|
||||||
|
0 AS 任务装配工时,
|
||||||
|
0 AS 任务质检工时,
|
||||||
|
0 AS 合同装配工时,
|
||||||
|
0 AS 合同质检工时,
|
||||||
|
0 AS 装配工序说明,
|
||||||
|
0 AS 质检工序说明,
|
||||||
|
0 AS 要求完工日期,
|
||||||
|
0 AS 工序名称,
|
||||||
|
0 AS 计划号,
|
||||||
|
0 AS 指派对象,
|
||||||
|
0 AS 指派数量,
|
||||||
|
0 AS 优先级,
|
||||||
|
0 AS 未完成说明,
|
||||||
|
0 AS 派工特殊备注,
|
||||||
|
0 AS 占用情况,
|
||||||
|
0 AS 最后编辑人,
|
||||||
|
0 AS 最后编辑时间;
|
||||||
|
|
||||||
|
DECLARE @selectStr nvarchar(max);
|
||||||
|
DECLARE @selectStrWhere nvarchar(max)=' where [物料类型]=''pit_Resource'' and [自制件属性] like ''%装配%'' and 物料描述 not like ''%系统%'' and isnull(任务状态,0)<4';
|
||||||
|
|
||||||
|
IF(@物料类型='自制件')
|
||||||
|
SET @selectStr='
|
||||||
|
SELECT
|
||||||
|
CONVERT(varchar(10), v.齐套时间, 120) AS 发料齐套,
|
||||||
|
CONVERT(varchar(10), v.计划开始时间, 120) AS 计划开始,
|
||||||
|
CONVERT(varchar(10), v.派工时间, 120) AS 派工时间,
|
||||||
|
CASE WHEN v.齐套 = 1 THEN ''是'' ELSE ''否'' END AS 齐套,
|
||||||
|
v.[合同号] AS 销售订单,
|
||||||
|
v.[订单编号] AS 生产订单,
|
||||||
|
v.[物料编号] AS 物料编码,
|
||||||
|
v.[物料描述] AS 物料名称,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数,
|
||||||
|
[二次派工] AS 二次派工,
|
||||||
|
CONVERT(varchar(10), DATEADD(DAY, 3, CONVERT(date, v.齐套时间)), 120) AS 预计送检日期,
|
||||||
|
CONVERT(varchar(10), s.交货日期理论齐套日期, 120) AS 销售要求日期,
|
||||||
|
CONVERT(varchar(10), v.要求发货日期, 120) AS 发货要求日期,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), lc.流程描述), N'','') WITHIN GROUP (ORDER BY lc.流程ID)
|
||||||
|
FROM [YL_MESDB].[dbo].[流程表] lc
|
||||||
|
WHERE lc.已关联计划号 = v.[订单编号]
|
||||||
|
), '''') AS 异常报警信息,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''装配''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 装配进行中,
|
||||||
|
ISNULL((
|
||||||
|
SELECT STRING_AGG(CONVERT(nvarchar(max), jxz.UserName + '': '' + CONVERT(varchar(19), jxz.StartTime, 120)), N'','') WITHIN GROUP (ORDER BY jxz.StartTime DESC)
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT t.操作人 AS UserName, t.开始时间 AS StartTime
|
||||||
|
FROM [dbo].[YL_加工中心_操作记录表] t
|
||||||
|
LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID
|
||||||
|
INNER JOIN [YL_MESDB].[dbo].[登录基础数据_人员信息] ry ON t.操作人 = ry.Personnel_Name
|
||||||
|
WHERE t.操作类别 = ''开始加工''
|
||||||
|
AND t.结束时间 IS NULL
|
||||||
|
AND t.操作数值 IS NOT NULL
|
||||||
|
AND pt.订单编号 = v.[订单编号]
|
||||||
|
AND ry.班组 = ''质检''
|
||||||
|
) jxz
|
||||||
|
), '''') AS 质检进行中,
|
||||||
|
CAST(ISNULL(zp.装配工时, 0) / 60.0 AS decimal(18,2)) AS 任务装配工时,
|
||||||
|
CAST(ISNULL(zj1.质检工时, 0) / 60.0 AS decimal(18,2)) AS 任务质检工时,
|
||||||
|
CAST(ISNULL(htzp.合同装配工时, 0) / 60.0 AS decimal(18,2)) AS 合同装配工时,
|
||||||
|
CAST(ISNULL(htzj.合同质检工时, 0) / 60.0 AS decimal(18,2)) AS 合同质检工时,
|
||||||
|
ISNULL(zp.装配工序说明, '''') AS 装配工序说明,
|
||||||
|
ISNULL(zj1.质检工序说明, '''') AS 质检工序说明,
|
||||||
|
CONVERT(varchar(10), [计划完成], 120) AS 要求完工日期,
|
||||||
|
[工序名称] AS 工序名称,
|
||||||
|
v.计划号 AS 计划号,
|
||||||
|
指派对象 AS 指派对象,
|
||||||
|
TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS varchar(30)))) AS 指派数量,
|
||||||
|
[优先级] AS 优先级,
|
||||||
|
[未完成说明] AS 未完成说明,
|
||||||
|
[派工特殊说明] AS 派工特殊备注,
|
||||||
|
[占用情况] AS 占用情况,
|
||||||
|
[最后编辑人] AS 最后编辑人,
|
||||||
|
CONVERT(varchar(19), [最后编辑时间], 120) AS 最后编辑时间
|
||||||
|
FROM [View_生产订单_MES] v
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 装配工时, MAX(gs.工序说明) AS 装配工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zp ON v.[订单编号] = zp.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.订单号, SUM(gs.总时长) AS 质检工时, MAX(gs.工序说明) AS 质检工序说明
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.订单号
|
||||||
|
) zj1 ON v.[订单编号] = zj1.订单号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同装配工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''装配''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzp ON v.[合同号] = htzp.合同号
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT gs.合同号, SUM(gs.总时长) AS 合同质检工时
|
||||||
|
FROM [dbo].[View_生产工时视图] gs
|
||||||
|
INNER JOIN [dbo].[登录基础数据_人员信息] ry ON gs.操作人 = ry.Personnel_Name
|
||||||
|
WHERE ry.班组 = ''质检''
|
||||||
|
GROUP BY gs.合同号
|
||||||
|
) htzj ON v.[合同号] = htzj.合同号
|
||||||
|
LEFT JOIN SAP.SBO_YL.dbo.UBT_MES_ORDROPEN2 s
|
||||||
|
ON v.合同号 = s.项目号 AND v.物料编号 = s.物料号';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @selectStrWhere=@selectStrWhere + ' and v.[订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@合同号<>'') SET @selectStrWhere=@selectStrWhere + ' and [合同号] like ''%'+@合同号+'%''';
|
||||||
|
IF(@产品编码<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%''';
|
||||||
|
IF(@产品名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%''';
|
||||||
|
IF(@辅助配件 = '不含') SET @selectStrWhere=@selectStrWhere + ' and [物料描述] not like ''%软管总成%'' and [物料描述] not like ''%发货部件%''';
|
||||||
|
IF(@工序名称<>'') SET @selectStrWhere=@selectStrWhere + ' and [工序名称] = '''+@工序名称+'''';
|
||||||
|
IF(@要求完工日期1 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] >= '''+@要求完工日期1+'''';
|
||||||
|
IF(@要求完工日期2 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成] <= '''+@要求完工日期2+'''';
|
||||||
|
IF(@计划开始 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划开始时间] >= '''+@计划开始+'''';
|
||||||
|
IF(@计划完成 <>'') SET @selectStrWhere=@selectStrWhere + ' and [计划完成时间] <= '''+@计划完成+'''';
|
||||||
|
IF(@排产状态='未完成') SET @selectStrWhere=@selectStrWhere + ' and isnull([排产状态],0) = 0';
|
||||||
|
ELSE IF(@排产状态='已完成') SET @selectStrWhere=@selectStrWhere + ' and [排产状态] = 1';
|
||||||
|
IF(@物料类型='自制件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] <> ''否''';
|
||||||
|
IF(@物料类型='装配件') SET @selectStrWhere=@selectStrWhere + ' and [不装配] = ''否''';
|
||||||
|
IF(@指派对象<>'全部') SET @selectStrWhere=@selectStrWhere + ' and [指派对象] in (SELECT value FROM STRING_SPLIT('''+@指派对象+''', '',''))';
|
||||||
|
|
||||||
|
SET @selectStrWhere = @selectStrWhere + ' ORDER BY CASE WHEN 齐套时间 IS NULL THEN 1 ELSE 0 END, 齐套时间, 计划开始时间';
|
||||||
|
SET @selectStr=@selectStr+@selectStrWhere;
|
||||||
|
PRINT @selectStr;
|
||||||
|
EXEC sp_executesql @selectStr;
|
||||||
|
END
|
||||||
40
db_backups/计划排产_阀类装配任务_修改日期_create_20260618_141211.sql
Normal file
40
db_backups/计划排产_阀类装配任务_修改日期_create_20260618_141211.sql
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
CREATE OR ALTER PROCEDURE [dbo].[计划排产_阀类装配任务_修改预计送检日期]
|
||||||
|
@editstr nvarchar(100),
|
||||||
|
@订单号 int=0
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
DECLARE @whereStr nvarchar(max)=' where 1=1 ';
|
||||||
|
DECLARE @updateStr nvarchar(max)='update [MES_接口_生产计划] set ';
|
||||||
|
DECLARE @selStr nvarchar(max)='';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @whereStr=@whereStr + ' and [订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@editstr<>'') SET @updateStr = @updateStr + @editstr;
|
||||||
|
SET @selStr=@updateStr+@whereStr;
|
||||||
|
|
||||||
|
PRINT @selStr;
|
||||||
|
EXEC sp_executesql @selStr;
|
||||||
|
SELECT '1' AS result;
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE OR ALTER PROCEDURE [dbo].[计划排产_阀类装配任务_修改销售要求日期]
|
||||||
|
@editstr nvarchar(100),
|
||||||
|
@订单号 int=0
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
DECLARE @whereStr nvarchar(max)=' where 1=1 ';
|
||||||
|
DECLARE @updateStr nvarchar(max)='update [MES_接口_生产计划] set ';
|
||||||
|
DECLARE @selStr nvarchar(max)='';
|
||||||
|
|
||||||
|
IF(@订单号>0) SET @whereStr=@whereStr + ' and [订单编号]='+CONVERT(varchar(10),@订单号);
|
||||||
|
IF(@editstr<>'') SET @updateStr = @updateStr + @editstr;
|
||||||
|
SET @selStr=@updateStr+@whereStr;
|
||||||
|
|
||||||
|
PRINT @selStr;
|
||||||
|
EXEC sp_executesql @selStr;
|
||||||
|
SELECT '1' AS result;
|
||||||
|
END;
|
||||||
@@ -12,7 +12,14 @@
|
|||||||
<article v-for="item in summaryCards" :key="item.title" class="panel summary-card" :class="item.className">
|
<article v-for="item in summaryCards" :key="item.title" class="panel summary-card" :class="item.className">
|
||||||
<div>
|
<div>
|
||||||
<div class="summary-title">{{ item.title }}</div>
|
<div class="summary-title">{{ item.title }}</div>
|
||||||
<div class="summary-body">
|
<div v-if="item.metrics" class="summary-metrics">
|
||||||
|
<div v-for="metric in item.metrics" :key="metric.label" class="summary-metric">
|
||||||
|
<span>{{ metric.label }}</span>
|
||||||
|
<b>{{ metric.value }}</b>
|
||||||
|
<small>{{ item.unit }}</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else class="summary-body">
|
||||||
<img class="summary-icon" :src="item.icon" :alt="item.title" />
|
<img class="summary-icon" :src="item.icon" :alt="item.title" />
|
||||||
<div class="summary-value" :class="item.valueClass"><span>{{ item.value }}</span><small
|
<div class="summary-value" :class="item.valueClass"><span>{{ item.value }}</span><small
|
||||||
v-if="item.unit">{{ item.unit }}</small></div>
|
v-if="item.unit">{{ item.unit }}</small></div>
|
||||||
@@ -143,7 +150,7 @@ onMounted(() => {
|
|||||||
searchDashboardData()
|
searchDashboardData()
|
||||||
startAllScroll()
|
startAllScroll()
|
||||||
setInterval(function(){
|
setInterval(function(){
|
||||||
searchDashboardData
|
searchDashboardData()
|
||||||
},600000)
|
},600000)
|
||||||
|
|
||||||
})
|
})
|
||||||
@@ -221,6 +228,7 @@ const stopAllScroll = () => {
|
|||||||
|
|
||||||
// ============ 数据查询 ============
|
// ============ 数据查询 ============
|
||||||
const searchDashboardData = () => {
|
const searchDashboardData = () => {
|
||||||
|
searchExecutableData()
|
||||||
searchUnclosedData()
|
searchUnclosedData()
|
||||||
searchMaterialshortageData()
|
searchMaterialshortageData()
|
||||||
searchUrgentData()
|
searchUrgentData()
|
||||||
@@ -229,6 +237,9 @@ const searchDashboardData = () => {
|
|||||||
searchPassRateData()
|
searchPassRateData()
|
||||||
searchDoneTaskData()
|
searchDoneTaskData()
|
||||||
}
|
}
|
||||||
|
const searchExecutableData = () => {
|
||||||
|
queryDashboardData('装配中心任务看板_可执行任务数', applyExecutableData)
|
||||||
|
}
|
||||||
const searchUnclosedData = () => {
|
const searchUnclosedData = () => {
|
||||||
queryDashboardData('装配中心任务看板_异常未关闭总数', applyUnclosedData)
|
queryDashboardData('装配中心任务看板_异常未关闭总数', applyUnclosedData)
|
||||||
}
|
}
|
||||||
@@ -250,8 +261,14 @@ const searchPassRateData = () => {
|
|||||||
const searchDoneTaskData = () => {
|
const searchDoneTaskData = () => {
|
||||||
queryDashboardData('装配中心任务看板_已完成任务', applyDoneTaskData)
|
queryDashboardData('装配中心任务看板_已完成任务', applyDoneTaskData)
|
||||||
}
|
}
|
||||||
|
const applyExecutableData = rows => {
|
||||||
|
const row = rows[0] || {}
|
||||||
|
summaryCards[0].metrics[0].value = row.阀类可执行任务数 || 0
|
||||||
|
summaryCards[0].metrics[1].value = row.系统类可执行任务数 || 0
|
||||||
|
summaryCards[1].value = row.及时送检数 || 0
|
||||||
|
}
|
||||||
const applyUnclosedData = rows => {
|
const applyUnclosedData = rows => {
|
||||||
summaryCards[3].value = rows[0].装配异常未关闭总数
|
summaryCards[4].value = rows[0].装配异常未关闭总数
|
||||||
}
|
}
|
||||||
const applyDeliveryData = rows => {
|
const applyDeliveryData = rows => {
|
||||||
deliveryRows.value = rows.map(item => {
|
deliveryRows.value = rows.map(item => {
|
||||||
@@ -286,7 +303,7 @@ const applyDeliveryData = rows => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
const applyUrgentData = rows => {
|
const applyUrgentData = rows => {
|
||||||
summaryCards[1].value = rows[0].加急总数
|
summaryCards[3].value = rows[0].加急总数
|
||||||
}
|
}
|
||||||
const applyPassRateData = rows => {
|
const applyPassRateData = rows => {
|
||||||
summaryCards[2].value = rows[0].总合格率+'%'
|
summaryCards[2].value = rows[0].总合格率+'%'
|
||||||
@@ -380,11 +397,11 @@ const icons = {
|
|||||||
done: svgIcon('#47eaa0', '#0da76b', '<rect x="19" y="19" width="34" height="34" rx="8"/><path d="M27 37l7 7 15-18"/>')
|
done: svgIcon('#47eaa0', '#0da76b', '<rect x="19" y="19" width="34" height="34" rx="8"/><path d="M27 37l7 7 15-18"/>')
|
||||||
}
|
}
|
||||||
const summaryCards = [
|
const summaryCards = [
|
||||||
{ title: '及时送检数', value: 18, unit: '条', icon: icons.pending },
|
{ title: '可执行任务数', unit: '条', className: 'executable-card', metrics: [{ label: '阀类', value: 0 }, { label: '系统类', value: 0 }] },
|
||||||
{ title: '加急任务数', value: 125, unit: '条', icon: icons.urgent, valueClass: 'red-text' },
|
{ title: '及时送检数', value: 0, unit: '条', icon: icons.pending , valueClass: 'red-text'},
|
||||||
{ title: '装配合格率', value: '100%', icon: icons.finalCheck, valueClass: 'green-text full-value' },
|
{ title: '装配合格率', value: '100%', icon: icons.finalCheck, valueClass: 'green-text full-value' },
|
||||||
{ title: '异常未关闭消息数', value: 5, unit: '条', icon: icons.urgent, valueClass: 'red-text' },
|
{ title: '加急任务数', value: 125, unit: '条', icon: icons.urgent, valueClass: 'red-text' },
|
||||||
{ title: '缺勤人员', value: 0, unit: '人', icon:icons.returnDown, valueClass: 'orange-text', className: 'absence-card', people: [{ name: '全勤', group: '装配1班' }, { name: '全勤', group: '装配2班' }, { name: '全勤', group: '装配3班' }] },
|
{ title: '异常未关闭消息数', value: 5, unit: '条', icon: icons.urgent, valueClass: 'red-text', className: 'exception-card' },
|
||||||
]
|
]
|
||||||
const taskColumns = [
|
const taskColumns = [
|
||||||
{ label: '生产订单', key: 'productionOrder', width: '72px' },
|
{ label: '生产订单', key: 'productionOrder', width: '72px' },
|
||||||
@@ -504,7 +521,7 @@ const doneColumns = [
|
|||||||
|
|
||||||
.summary-row {
|
.summary-row {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1.05fr 1.05fr 1fr 1.2fr 1.55fr;
|
grid-template-columns: 1.28fr 1fr 1fr 1fr .82fr;
|
||||||
gap: 17px;
|
gap: 17px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -594,6 +611,90 @@ const doneColumns = [
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.executable-card {
|
||||||
|
padding: 8px 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.executable-card .summary-title {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
font-size: 21px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.summary-metrics {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 14px;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.summary-metric {
|
||||||
|
position: relative;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: minmax(0, 1fr) auto;
|
||||||
|
grid-template-rows: 22px 48px;
|
||||||
|
align-items: baseline;
|
||||||
|
min-width: 0;
|
||||||
|
padding: 6px 10px 4px;
|
||||||
|
color: #fff;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
.summary-metric span {
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
color: #89d4ff;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 22px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.summary-metric b {
|
||||||
|
color: #18c65b;
|
||||||
|
font-size: 50px;
|
||||||
|
line-height: 1;
|
||||||
|
text-align: right;
|
||||||
|
text-shadow: 0 0 10px rgba(24, 198, 91, .32);
|
||||||
|
}
|
||||||
|
|
||||||
|
.summary-metric small {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 700;
|
||||||
|
text-align: left;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exception-card {
|
||||||
|
padding: 8px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exception-card .summary-title {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exception-card .summary-body {
|
||||||
|
grid-template-columns: 54px 150px;
|
||||||
|
column-gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exception-card .summary-icon {
|
||||||
|
width: 54px;
|
||||||
|
height: 54px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exception-card .summary-value {
|
||||||
|
grid-template-columns: 105px 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exception-card .summary-value span {
|
||||||
|
font-size: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exception-card .summary-value small {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
.summary-title {
|
.summary-title {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
color: #89d4ff;
|
color: #89d4ff;
|
||||||
|
|||||||
Reference in New Issue
Block a user