feat: 更新装配任务和质量报表
This commit is contained in:
@@ -307,9 +307,7 @@ export default {
|
||||
.replace(/'/g, ''')
|
||||
},
|
||||
isOutsourceProcess(process) {
|
||||
return process.指派对象 === '外协' ||
|
||||
String(process.工序名称 || '').includes('(外协)') ||
|
||||
String(process.工序名称 || '').includes('(外协)')
|
||||
return process.指派对象 === '外协'
|
||||
},
|
||||
getProcessStatusNum(status) {
|
||||
const statusNum = parseInt(status)
|
||||
@@ -333,8 +331,10 @@ export default {
|
||||
return statusNum === 6 || statusNum === 3 || countNum > 0
|
||||
},
|
||||
isGreenProcess(process) {
|
||||
console.log(process)
|
||||
console.log( this.toProcessNumber(process.收料数量), this.toProcessNumber(process.完成数量),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) {
|
||||
if (this.isGreenProcess(process)) {
|
||||
@@ -375,7 +375,6 @@ export default {
|
||||
return lineNo === lastLineNo + 1 &&
|
||||
String(process.外协分组 || '') === String(lastProcess.外协分组 || '')
|
||||
}
|
||||
|
||||
processes.forEach((process, index) => {
|
||||
if (!this.isOutsourceProcess(process)) {
|
||||
flushOutsourceRun()
|
||||
@@ -388,8 +387,9 @@ export default {
|
||||
lastProcess = process
|
||||
})
|
||||
flushOutsourceRun()
|
||||
|
||||
console.log(classes)
|
||||
return classes
|
||||
|
||||
},
|
||||
getProcessClass(process, index, outsourceGroupClasses) {
|
||||
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>
|
||||
</template>
|
||||
</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">
|
||||
<el-progress
|
||||
:percentage="scope.row.Progress || 0"
|
||||
@@ -152,7 +152,7 @@
|
||||
<span>{{ scope.row.Battery }}%</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column prop="Operator" label="操作人" align="center" width="100"/>
|
||||
<el-table-column prop="UpdateTime" label="更新时间" align="center" width="160"/>
|
||||
<el-table-column label="操作" align="center" width="200" fixed="right">
|
||||
@@ -172,14 +172,14 @@
|
||||
style="color: #E6A23C;"
|
||||
@click="pauseTask(scope.row)"
|
||||
:disabled="scope.row.TaskStatus !== 'RUNNING'"
|
||||
>暂停</el-button>
|
||||
>暂停</el-button> -->
|
||||
<el-button
|
||||
type="text"
|
||||
icon="el-icon-circle-close"
|
||||
size="mini"
|
||||
style="color: #F56C6C;"
|
||||
@click="cancelTask(scope.row)"
|
||||
>取消</el-button> -->
|
||||
>取消</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -373,6 +373,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from 'axios'
|
||||
|
||||
const AGV_MOVE_API = 'http://192.168.2.92:9981/api/zk/call_agv_move_web'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -436,7 +440,7 @@ export default {
|
||||
created() {
|
||||
this.getLocationPoints()
|
||||
this.getRealtimeData()
|
||||
this.startAutoRefresh()
|
||||
//this.startAutoRefresh()
|
||||
},
|
||||
|
||||
beforeDestroy() {
|
||||
@@ -513,7 +517,7 @@ export default {
|
||||
|
||||
var Data = this.CreateData('12', '生产管理_物料机器人_修改点位', param)
|
||||
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.pointFormVisible = false
|
||||
this.getLocationPoints()
|
||||
@@ -536,13 +540,13 @@ export default {
|
||||
param[5] = ['Y坐标', this.pointForm.YCoordinate]
|
||||
param[6] = ['描述', this.pointForm.Description || '']
|
||||
|
||||
var Data = this.CreateData('12', '生产管理_物料机器人_新增点位', param)
|
||||
var Data = this.CreateData('11', '生产管理_物料机器人_新增点位', param)
|
||||
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.pointFormVisible = false
|
||||
this.getLocationPoints()
|
||||
} else if (response.data[0].result === '编码重复') {s
|
||||
} else if (response.data[0].Result === '编码重复') {
|
||||
this.$message.error('点位编码已存在')
|
||||
} else {
|
||||
this.$message.error('新增点位失败')
|
||||
@@ -564,12 +568,12 @@ export default {
|
||||
var param = []
|
||||
param[0] = ['ID', row.ID]
|
||||
|
||||
var Data = this.CreateData('12', '生产管理_物料机器人_删除点位', param)
|
||||
var Data = this.CreateData('11', '生产管理_物料机器人_删除点位', param)
|
||||
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.getLocationPoints()
|
||||
} else if (response.data[0].result === '点位使用中') {
|
||||
} else if (response.data[0].Result === '点位使用中') {
|
||||
this.$message.error('该点位正在被任务使用,无法删除')
|
||||
} else {
|
||||
this.$message.error('删除点位失败')
|
||||
@@ -712,30 +716,73 @@ export default {
|
||||
this.$confirm('确认开始该任务?', '提示', {
|
||||
type: 'info'
|
||||
}).then(() => {
|
||||
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)
|
||||
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('操作失败')
|
||||
}
|
||||
this.callAgvMove(row).then(() => {
|
||||
return this.updateTaskStatus(row)
|
||||
}).then(() => {
|
||||
this.$message.success('任务已开始')
|
||||
this.getRealtimeData()
|
||||
}).catch(error => {
|
||||
console.error('开始任务失败:', error)
|
||||
this.$message.error('操作失败')
|
||||
this.$message.error(error.message || '操作失败')
|
||||
})
|
||||
}).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) {
|
||||
@@ -767,29 +814,29 @@ export default {
|
||||
// }).catch(() => {})
|
||||
// },
|
||||
|
||||
// 取消任务
|
||||
// cancelTask(row) {
|
||||
// this.$confirm('确认取消该任务?', '提示', {
|
||||
// type: 'warning'
|
||||
// }).then(() => {
|
||||
// var param = []
|
||||
// param[0] = ['任务编号', row.TaskNo]
|
||||
// param[1] = ['状态', 'CANCELED']
|
||||
//取消任务
|
||||
cancelTask(row) {
|
||||
this.$confirm('确认取消该任务?', '提示', {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
var param = []
|
||||
param[0] = ['任务编号', row.TaskNo]
|
||||
param[1] = ['状态', 'CANCELED']
|
||||
|
||||
// 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 => {
|
||||
// console.error('取消任务失败:', error)
|
||||
// this.$message.error('操作失败')
|
||||
// })
|
||||
// }).catch(() => {})
|
||||
// },
|
||||
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 => {
|
||||
console.error('取消任务失败:', error)
|
||||
this.$message.error('操作失败')
|
||||
})
|
||||
}).catch(() => {})
|
||||
},
|
||||
|
||||
// ========== 历史记录相关方法 ==========
|
||||
|
||||
@@ -1007,4 +1054,4 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -43,6 +43,13 @@
|
||||
clearable
|
||||
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>
|
||||
<el-date-picker
|
||||
v-model="completionTime"
|
||||
@@ -1833,6 +1840,7 @@ export default {
|
||||
salenum:'',
|
||||
contractNo: "",
|
||||
productCode2: "",
|
||||
productname2: "",
|
||||
process: "",
|
||||
processList2: [],
|
||||
nature: "",
|
||||
@@ -2711,6 +2719,7 @@ getUserId() {
|
||||
param.push(["TaskAID", this.TaskAID || 0]);
|
||||
param.push(["订单号", this.orderNo2 || 0]);
|
||||
param.push(["零件编号", this.productCode2]);
|
||||
param.push(["零件名称", this.productname2]);
|
||||
param.push(["计划开工_Start", ""]);
|
||||
param.push(["计划开工_End", ""]);
|
||||
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 ==========
|
||||
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 {
|
||||
const startDate = record.开始时间 ? record.开始时间.split(' ')[0] : this.currentdate
|
||||
const result = await postB1("/InventoryGenExits", {
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="班次标准工时">
|
||||
<el-input v-model="editForm.班次标准工时" readonly />
|
||||
<el-input v-model="editForm.当日班次最小标准工时" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="工序顺序">
|
||||
<el-input v-model="editForm.工艺顺序" readonly />
|
||||
@@ -682,7 +682,7 @@ export default {
|
||||
加工工时: row.加工工时 || 0,
|
||||
总时长: row.总时长 || 0,
|
||||
工艺顺序: row.订单行号 || 0,
|
||||
当日班次最小标准工时 : row.当日班次最小标准工时 || 0
|
||||
当日班次最小标准工时 : row.当日班次最小标准工时 || 8
|
||||
}
|
||||
this.editDialogVisible = true
|
||||
},
|
||||
|
||||
@@ -285,7 +285,7 @@
|
||||
width="180"
|
||||
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">
|
||||
<el-button
|
||||
class="operation-btn"
|
||||
@@ -299,9 +299,15 @@
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click="getitemdraw(scope.row)"
|
||||
>图纸</el-button
|
||||
>零件图纸</el-button
|
||||
>
|
||||
<el-button
|
||||
class="operation-btn"
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click="getitemdraw2(scope.row)"
|
||||
>工艺图纸</el-button
|
||||
>
|
||||
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
@@ -598,31 +604,23 @@ export default {
|
||||
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;
|
||||
|
||||
// // 2. 等待对话框完全渲染(使用 $nextTick 确保 DOM 已更新)
|
||||
// await this.$nextTick();
|
||||
|
||||
// // 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('未上传图纸');
|
||||
// }
|
||||
// });
|
||||
|
||||
},
|
||||
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"
|
||||
|
||||
window.open(pdfSrc,'_blank')
|
||||
}else {
|
||||
this.$message.error('未上传图纸');
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
Urgent(row){
|
||||
var param = []
|
||||
|
||||
@@ -965,6 +965,7 @@ export default {
|
||||
return;
|
||||
}
|
||||
// 调用存储过程保存数据
|
||||
this.receiveCheckVisible = false;
|
||||
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>
|
||||
</template>
|
||||
</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">
|
||||
<template slot-scope="scope">
|
||||
<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-input v-model="form1.account" placeholder="请输入工号" readonly style="width: 240px;border-radius: 4px" />
|
||||
</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-input-->
|
||||
<!-- v-model="form1.password"-->
|
||||
@@ -167,7 +193,8 @@ export default {
|
||||
PersonalName: '',
|
||||
account: '',
|
||||
password: '',
|
||||
PersonalroleValue: ''
|
||||
PersonalroleValue: '',
|
||||
team:''
|
||||
},
|
||||
rules1: {
|
||||
PersonalName: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
|
||||
@@ -179,7 +206,8 @@ export default {
|
||||
tableData: [],
|
||||
total: 0, // 总条数
|
||||
pageSize: 10, // 每页显示条数
|
||||
pageList: 1 // 后台获取页
|
||||
pageList: 1, // 后台获取页
|
||||
team:''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -251,7 +279,8 @@ export default {
|
||||
password: response.data.result[i].password,
|
||||
roles_number: parseInt(response.data.result[i].Roles_number),
|
||||
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.password = row.password
|
||||
this.form1.PersonalroleValue = row.roles_number
|
||||
this.form1.team = row.班组
|
||||
this.title1 = '编辑人员'
|
||||
this.dialogFormVisible1 = true
|
||||
},
|
||||
@@ -284,6 +314,7 @@ export default {
|
||||
param[2] = ['password', this.form1.password]
|
||||
param[3] = ['Personnel_Name', this.form1.PersonalName]
|
||||
param[4] = ['Roles_number', this.form1.PersonalroleValue]
|
||||
param[5] = ['班组', this.form1.team]
|
||||
if (this.form1.account === '' || this.form1.account === null) {
|
||||
this.$message.error('请输入工号')
|
||||
} 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">
|
||||
<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" />
|
||||
<div class="summary-value" :class="item.valueClass"><span>{{ item.value }}</span><small
|
||||
v-if="item.unit">{{ item.unit }}</small></div>
|
||||
@@ -143,7 +150,7 @@ onMounted(() => {
|
||||
searchDashboardData()
|
||||
startAllScroll()
|
||||
setInterval(function(){
|
||||
searchDashboardData
|
||||
searchDashboardData()
|
||||
},600000)
|
||||
|
||||
})
|
||||
@@ -221,6 +228,7 @@ const stopAllScroll = () => {
|
||||
|
||||
// ============ 数据查询 ============
|
||||
const searchDashboardData = () => {
|
||||
searchExecutableData()
|
||||
searchUnclosedData()
|
||||
searchMaterialshortageData()
|
||||
searchUrgentData()
|
||||
@@ -229,6 +237,9 @@ const searchDashboardData = () => {
|
||||
searchPassRateData()
|
||||
searchDoneTaskData()
|
||||
}
|
||||
const searchExecutableData = () => {
|
||||
queryDashboardData('装配中心任务看板_可执行任务数', applyExecutableData)
|
||||
}
|
||||
const searchUnclosedData = () => {
|
||||
queryDashboardData('装配中心任务看板_异常未关闭总数', applyUnclosedData)
|
||||
}
|
||||
@@ -250,8 +261,14 @@ const searchPassRateData = () => {
|
||||
const searchDoneTaskData = () => {
|
||||
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 => {
|
||||
summaryCards[3].value = rows[0].装配异常未关闭总数
|
||||
summaryCards[4].value = rows[0].装配异常未关闭总数
|
||||
}
|
||||
const applyDeliveryData = rows => {
|
||||
deliveryRows.value = rows.map(item => {
|
||||
@@ -286,7 +303,7 @@ const applyDeliveryData = rows => {
|
||||
})
|
||||
}
|
||||
const applyUrgentData = rows => {
|
||||
summaryCards[1].value = rows[0].加急总数
|
||||
summaryCards[3].value = rows[0].加急总数
|
||||
}
|
||||
const applyPassRateData = rows => {
|
||||
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"/>')
|
||||
}
|
||||
const summaryCards = [
|
||||
{ title: '及时送检数', value: 18, unit: '条', icon: icons.pending },
|
||||
{ title: '加急任务数', value: 125, unit: '条', icon: icons.urgent, valueClass: 'red-text' },
|
||||
{ title: '可执行任务数', unit: '条', className: 'executable-card', metrics: [{ label: '阀类', value: 0 }, { label: '系统类', value: 0 }] },
|
||||
{ title: '及时送检数', value: 0, unit: '条', icon: icons.pending , valueClass: 'red-text'},
|
||||
{ title: '装配合格率', value: '100%', icon: icons.finalCheck, valueClass: 'green-text full-value' },
|
||||
{ title: '异常未关闭消息数', value: 5, 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: 125, unit: '条', icon: icons.urgent, valueClass: 'red-text' },
|
||||
{ title: '异常未关闭消息数', value: 5, unit: '条', icon: icons.urgent, valueClass: 'red-text', className: 'exception-card' },
|
||||
]
|
||||
const taskColumns = [
|
||||
{ label: '生产订单', key: 'productionOrder', width: '72px' },
|
||||
@@ -504,7 +521,7 @@ const doneColumns = [
|
||||
|
||||
.summary-row {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -594,6 +611,90 @@ const doneColumns = [
|
||||
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 {
|
||||
margin-bottom: 5px;
|
||||
color: #89d4ff;
|
||||
|
||||
Reference in New Issue
Block a user