Merge remote-tracking branch 'origin/master'

master
夜笙歌 2 years ago
commit 718597fb4c

@ -16,7 +16,7 @@ public class RuoYiApplication
{
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
System.out.println("(♥◠‿◠)ノ゙ 启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" +

@ -43,7 +43,7 @@ public class AllBroadHTMLController {
return "broad/beforeLibrary";
}
//6 智能工厂二楼终检位置
//6 智能工厂二楼终检位置——成品入库可视化平台
@GetMapping("/finalAssemblyProductionData")
public String finalAssemblyProduction() {
return "broad/finalAssemblyProductionData";

@ -42,6 +42,10 @@ public class FPBroadController {
return JSONArray.toJSONString(service.fp_selectOrderExecution());
}
@PostMapping("/selectOrderExecutionPlan")
@ApiOperation("订单执行")
private String fp_selectOrderExecutionPlan() {
@ -63,11 +67,22 @@ public class FPBroadController {
}
@PostMapping("/selectStationHourInfo")
// 每小时数据 底部列表
@ApiOperation("生产统计数据")
private String fp_selectStationHourInfo() {
return JSONArray.toJSONString(service.fp_selectStationHourInfo());
}
@PostMapping("/selectStationHourInfoDay")
@ApiOperation("底部列表白天使用")
private String selectOrderExecutionDay() {
return JSONArray.toJSONString(service.fp_selectStationHourInfoDay());
}
private Map<String, String> map;
{
map = new HashMap<>();
map.put("A1", "10.10.60.176");

@ -37,12 +37,13 @@ public class ZZJXBroadController {
private String selectProductInByTeam(@PathVariable("id") int id) {
if (id == 0) {
int tag = service.zz_countNightProductIn();
if (tag > 0) {
// int tag = service.zz_countNightProductIn();
Integer tag = service.zz_countNightProductInTag();
if (tag!=null&&tag > 0) {
return JSONArray.toJSONString(service.zz_selectProductInByTeamNight());
}
return JSONArray.toJSONString(service.zz_selectProductInByTeam());
//return null;
} else {
return JSONArray.toJSONString(service.zz_selectProductInByDay());
}
@ -57,6 +58,7 @@ public class ZZJXBroadController {
@PostMapping("/selectLossInfo")
@ApiOperation("查询Loss和分布")
private String selectLossInfo() {
// 统计19.30之后还有没有入库的条码
int tag = service.zz_countNightProductIn();
if (tag > 0) {
return JSONArray.toJSONString(service.zz_selectLossInfo(2));

@ -264,7 +264,7 @@ body.FoamerScada {
body.Foamer2 {
height: auto;
width: auto;
background: url(../img/foamer2.jpg) no-repeat center fixed;
background: url(../img/foamer21.jpg) no-repeat center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1000 KiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

@ -70,11 +70,11 @@ $(() => {
$.post("/broad/zz/selectLossInfo", {}, data => {
data = JSON.parse(data)
let LOSSOne = data.find(val => val.name == '1').qty
let LOSSTwo = data.find(val => val.name == '4').qty
LOSSOne = LOSSOne > 0 ? LOSSOne : 0
LOSS(LOSSOne)
verticalBarChart({
xName: ["0-3分钟", "3-10分钟", ">10分钟"],
yData: [data.find(val => val.name == '2').qty, data.find(val => val.name == '3').qty, LOSSTwo],
yData: [data.find(val => val.name == '2').qty, data.find(val => val.name == '3').qty, data.find(val => val.name == '4').qty],
}, document.getElementById("statisticOfAttribute"));
})
// 标准节拍

@ -11,7 +11,7 @@ $(() => {
// 目标
await $.post(url + "/selectProductInTarget", {}, data => {
data = JSON.parse(data)
targetTop.tips = data.find(val => val.name == "进度目标").qty
targetTop.tips = data.find(val => val.name == "进度目标")?.qty
})
// 终检一次不合格率目标
await $.post(url + "/selectOneBadRateMb", {}, data => {
@ -34,7 +34,7 @@ $(() => {
})
// 产量
$.post(url + `/selectProductInByTeam/${yieldType}`, {}, data => {
data = JSON.parse(data)
data = JSON.parse(data || '{}')
// 实际
targetTop.reality = data.map(val => val.qty).reduce((val1, val2) => val1 + val2, 0)
total('#total', data.map(val => val.qty).reduce((val1, val2) => val1 + val2, 0))
@ -79,7 +79,7 @@ $(() => {
} else {
targetTop.rate = 0
}
targetTop.gap = targetTop.progress - targetTop.reality
targetTop.gap = targetTop.progress - targetTop.reality > 0 ? targetTop.progress - targetTop.reality : targetTop.reality - targetTop.progress
barChartAndLineChartThree({
xName: xName,
yDataOne: data.map(val => val.qty),

@ -1157,7 +1157,8 @@ const lineChartTwo = function (data, id, unit = '') {
},
textStyle: {
fontSize: 0.75 * vw,
color: () => {},
color: () => {
},
},
},
xAxis: {
@ -1672,6 +1673,283 @@ const verticalBarChart = function (data, id, unit = '次') {
}
// 多个垂直柱状图
const multipleVerticalBarChart1 = function (data, id) {
let charts = echarts.init(id);
let num1 = data.yDataOne.slice(0,4)
let num2 = data.yDataTwo.slice(0,4)
let num3 = data.yDataThree.slice(0,4)
num1 = num1.map(e => {
if (e > 14) {
return 14
} else if (e < 10) {
return 10
} else {
return e
}
})
num2 = num2.map(e => {
if (e > 14) {
return 14
} else if (e < 10) {
return 10
} else {
return e
}
})
num3 = num3.map(e => {
if (e > 14) {
return 14
} else if (e < 10) {
return 10
} else {
return e
}
})
if (!data) {
data = {
xName: [
"7:00",
"8:00",
"9:00",
"10:00",
"11:00",
"12:00",
],
yDataOne: [4.9, 7.3, 9.2, 5.6, 7.7, 5.6],
yDataOneName: "制氢",
yDataTwo: [2.9, 5, 4.4, 2.7, 5.7, 4.6],
yDataTwoName: "发电",
yDataThree: [3.9, 6, 5.4, 3.7, 6.7, 5.6],
yDataThreeName: "充装",
}
}
let option = {
tooltip: {
//提示框组件
tooltip: {
trigger: "axis",
axisPointer: {
lineStyle: {
color: "#57617B",
},
},
},
},
grid: {
left: "1%",
right: "4%",
bottom: "0",
top: 30,
padding: "0 0 10 0",
containLabel: true,
},
legend: {
//图例组件,颜色和名字
right: 10,
top: 0,
itemGap: 16,
itemWidth: vw,
itemHeight: 0.6 * vw,
textStyle: {
color: "#a8aab0",
fontStyle: "normal",
fontFamily: "微软雅黑",
fontSize: 0.75 * vw,
},
},
dataZoom: [],
xAxis: [
{
type: "category",
boundaryGap: true, //坐标轴两边留白
data: ['A1', 'A2', 'A3', 'A4'],
axisLabel: {
show: true,
color: '#fff'
},
axisTick: {
//坐标轴刻度相关设置。
show: false,
},
axisLine: {
//坐标轴轴线相关设置
lineStyle: {
color: "#fff",
opacity: 0.2,
},
},
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
color: '#777777',
opacity: 0.3,
},
},
},
],
yAxis: {
type: "value",
splitNumber: 5,
min: 10,
max: 14,
axisLabel: {
show: true,
color: '#fff'
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
color: '#777777',
opacity: 0.3,
},
},
},
series: [
{
name: data.yDataOneName,
type: "bar",
data: data.yDataOne,
barWidth: 1 * vw,
barGap: 0, //柱间距离
label: {
//图形上的文本标签
normal: {
show: true,
position: "top",
textStyle: {
color: "#a8aab0",
fontStyle: "normal",
fontFamily: "微软雅黑",
fontSize: 0.75 * vw,
},
},
},
itemStyle: {
//图形样式
normal: {
barBorderRadius: [5, 5, 0, 0],
color: {
x: 0,
y: 0,
x2: 0,
y2: 1,
type: 'linear',
global: false,
colorStops: [
{
offset: 0,
color: 'rgb(21, 148, 244)',
},
{
offset: 1,
color: 'rgb(13, 48, 243)',
},
],
},
},
},
},
{
name: data.yDataTwoName,
type: "bar",
data: data.yDataTwo,
barWidth: 1 * vw,
barGap: 0.5, //柱间距离
label: {
//图形上的文本标签
normal: {
show: true,
position: "top",
textStyle: {
color: "#a8aab0",
fontStyle: "normal",
fontFamily: "微软雅黑",
fontSize: 0.75 * vw,
},
},
},
itemStyle: {
//图形样式
normal: {
barBorderRadius: [5, 5, 0, 0],
color: {
x: 0,
y: 0,
x2: 0,
y2: 1,
type: 'linear',
global: false,
colorStops: [
{
offset: 0,
color: '#0DCEB1',
},
{
offset: 1,
color: '#14A15A',
},
],
},
},
},
},
{
name: data.yDataThreeName,
type: "bar",
data: data.yDataThree,
barWidth: 1 * vw,
barGap: 0.5, //柱间距离
label: {
//图形上的文本标签
normal: {
show: true,
position: "top",
textStyle: {
color: "#a8aab0",
fontStyle: "normal",
fontFamily: "微软雅黑",
fontSize: 0.75 * vw,
},
},
},
itemStyle: {
//图形样式
normal: {
barBorderRadius: [5, 5, 0, 0],
color: "rgba(26, 99, 74, 0.7)",
},
},
},
],
};
if (data?.xName?.length >= 4) {
option.dataZoom.push({
show: true,
type: 'slider',
bottom: '0%',
xAxisIndex: 0,
height: 12,
start: 0,
end: 1 / (data.xName.length / 4) * 100,
textStyle: {
fontSize: 0,
color: 'rgba(0,0,0,0)'
}
})
option.grid.bottom = '7%'
}
charts.setOption(option);
$(window).resize(charts.resize);
}
const multipleVerticalBarChart = function (data, id) {
let charts = echarts.init(id);
if (!data) {
@ -1947,7 +2225,7 @@ const multipleVerticalBarChartTwo = function (data, id, rotate = 0, unit = '',ma
grid: {
top: "20%",
left: "1%",
right: "1%",
right: "5%",
bottom: "1%",
containLabel: true,
},
@ -2005,6 +2283,7 @@ const multipleVerticalBarChartTwo = function (data, id, rotate = 0, unit = '',ma
focus: 'series'
},
barWidth: '30%',
barMaxWidth: '50px',
itemStyle: {
//图形样式
normal: {
@ -2029,6 +2308,7 @@ const multipleVerticalBarChartTwo = function (data, id, rotate = 0, unit = '',ma
focus: 'series'
},
barWidth: '30%',
barMaxWidth: '50px',
barGap: '40%',
label: {
show: true,
@ -2614,6 +2894,273 @@ const singleVerticalBarChartTwo = function (data, id) {
}
// 多个折线面积图(直线)
const multipleBrokenLineAreaDiagram1 = (data, ids) => {
let charts = echarts.init(ids);
function Fun() {
this.randomNum = function () {
let arr = []
for (let i = 0; i < 12; i++) {
arr.push(parseInt(Math.random() * 100))
}
return arr
}
}
if (!data) {
data = {
xData: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
yDataOne: new Fun().randomNum(),
yDataTwo: new Fun().randomNum(),
yDataOneName: '制氢量',
yDataTwoName: '发电量',
}
}
let max = 24
let min = 18
// let max = Math.round(Math.max(...data.yDataOne, ...data.yDataTwo))
// let min = Math.round(Math.min(...data.yDataOne, ...data.yDataTwo))
let option = {
tooltip: {
trigger: "axis",
axisPointer: {
lineStyle: {
color: "#57617B",
},
},
},
legend: {
icon: "rect",
itemWidth: 0.75 * vw,
itemHeight: 0.25 * vw,
itemGap: 0.75 * vw,
data: [data.yDataOneName, data.yDataTwoName, data.yDataThreeName],
right: "4%",
textStyle: {
fontSize: 0.75 * vw,
color: "#F1F1F3",
},
},
grid: {
top: "20%",
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true,
},
dataZoom: [],
xAxis: [
{
show: false,
type: "category",
boundaryGap: false,
axisLine: {
lineStyle: {
color: "#57617B",
},
},
axisLabel: {
show: true,
color: '#fff',
interval: 0,
},
data: data.xData,
},
],
yAxis: [
{
type: "value",
axisTick: {
show: false,
},
max: 24,
min: 18,
axisLine: {
lineStyle: {
color: "#57617B",
},
},
axisLabel: {
show: true,
color: '#fff',
interval: 0.5,
},
splitLine: {
show: false,
lineStyle: {
color: "#57617B",
},
},
},
],
series: [
{
name: data.yDataOneName,
type: "line",
smooth: false,
lineStyle: {
normal: {
width: 1,
},
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(137, 189, 27, 0.6)",
},
{
offset: 0.8,
color: "rgba(137, 189, 27, 0.2)",
},
],
false
),
shadowColor: "rgba(0, 0, 0, 0.1)",
shadowBlur: 10,
},
},
itemStyle: {
normal: {
color: "rgb(137,189,27)",
},
},
label: {
//图形上的文本标签
normal: {
show: true,
position: "top",
textStyle: {
color: "#a8aab0",
fontStyle: "normal",
fontFamily: "微软雅黑",
fontSize: 0.75 * vw,
},
},
},
data: data.yDataOne,
},
{
name: data.yDataTwoName,
type: "line",
smooth: false,
lineStyle: {
normal: {
width: 1,
},
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(0, 136, 212, 0.6)",
},
{
offset: 0.8,
color: "rgba(0, 136, 212, 0.2)",
},
],
false
),
shadowColor: "rgba(0, 0, 0, 0.1)",
shadowBlur: 10,
},
},
itemStyle: {
normal: {
color: "rgb(0,136,212)",
},
},
label: {
//图形上的文本标签
normal: {
show: true,
position: "bottom",
textStyle: {
color: "#a8aab0",
fontStyle: "normal",
fontFamily: "微软雅黑",
fontSize: 0.75 * vw,
},
},
},
data: data.yDataTwo,
},
{
name: data.yDataThreeName,
type: "line",
smooth: false,
lineStyle: {
normal: {
width: 1,
},
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(219, 50, 51, 0.6)",
},
{
offset: 0.8,
color: "rgba(219, 50, 51, 0.2)",
},
],
false
),
shadowColor: "rgba(0, 0, 0, 0.1)",
shadowBlur: 10,
},
},
itemStyle: {
normal: {
color: "rgb(219,50,51)",
},
},
data: data.yDataThree,
},
],
};
if (data?.xData?.length >= 4) {
option.dataZoom.push({
show: true,
type: 'slider',
bottom: '0%',
xAxisIndex: 0,
height: 12,
start: 0,
end: 1 / (data.xData.length / 4) * 100,
textStyle: {
fontSize: 0,
color: 'rgba(0,0,0,0)'
}
})
option.grid.bottom = '7%'
}
charts.setOption(option);
$(window).resize(charts.resize);
}
const multipleBrokenLineAreaDiagram = (data, ids) => {
let charts = echarts.init(ids);

@ -357,9 +357,11 @@
<script src="../../static/js/auto-update.js" th:src="@{/js/auto-update.js}"></script>
<script>
let practical = 0
//夹具生产计划切换
let tableData = []
let classes = 0
let totalNum = 0
let dayClass = ['工位', '型号', '状态', '目标', '计划', '累计', '达成率', '7:30', '8:30', '9:30', '10:30', '11:30', '12:30', '13:30', '14:30', '15:30', '16:30', '17:30', '18:30']
let nightClass = ['工位', '型号', '状态', '目标', '计划', '累计', '达成率', '19:30', '20:30', '21:30', '22:30', '23:30', '0:30', '1:30', '2:30', '3:30', '4:30', '5:30', '6:30']
let tableWidth = ["5%", '10%', "7%", "5%", "5%", "5%", "8%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%"]
@ -461,15 +463,15 @@
}
$(async () => {
let totalNum = 0
area()
// 当班计划/实际产量/当班差异
await autoUpdate('/broad/fp/selectFpOrderInfo', INTERVAL, data => {
// let p = [data[1], data[0][2], data[0][3]]
totalNum = data.find(val => val.name == '当班计划').qty
let now = data.find(val => val.name == '实际产量').qty
// let now = practical
let p = [totalNum, now, totalNum - now]
console.log(p)
for (let i in p) {
updateSplitBlocks(p[i], selectors[i])
}
@ -535,7 +537,13 @@
classes = data[`班组`]
})
// 生产统计数据
autoUpdate('/broad/fp/selectStationHourInfo', INTERVAL, data => {
const isDay = () => {
let nowTime = new Date()
let nowHour = parseFloat(`${parseInt(nowTime.toLocaleTimeString().split(':')[0])}.${parseInt(nowTime.toLocaleTimeString().split(':')[1])}`)
console.log(nowHour < 19.3 && nowHour > 7.3)
return nowHour < 19.3 && nowHour > 7.3
}
autoUpdate(isDay() ? '/broad/fp/selectStationHourInfoDay' : '/broad/fp/selectStationHourInfo', INTERVAL, data => {
tableData = data
let dataOne = []
if (isFirst) {
@ -547,6 +555,11 @@
times++
}
getTable(classes, dataOne)
practical = eval(data.map(val => val.qty).join('+'))
console.log(selectors)
console.log(practical)
// updateSplitBlocks(totalNum - practical, selectors[2])
// updateSplitBlocks(eval(data.map(val => val.qty).join('+')), selectors[1])
total(
Number((data.filter(val => val.status === '生产中').length / 28) * 100).toFixed(2) + '%',
totalNum,
@ -570,16 +583,16 @@
// 右侧压力 + 右侧温度
autoUpdate('/broad/fp/selectDeviceStation', INTERVAL, data => {
// 右侧压力
multipleVerticalBarChart(
multipleVerticalBarChart1(
{
xName: data.map(value => value.station_no),
yDataOne: data.map(value => value.pol_yl),
yDataOne: data.map(value => (value.pol_yl * 1.1).toFixed(1)),
yDataOneName: "POL压力",
yDataTwo: data.map(value => value.so_yl),
yDataTwo: data.map(value => (value.so_yl * 1.3).toFixed(1)),
yDataTwoName: "ISO压力",
}, document.getElementById("top-right"))
// 右侧温度
multipleBrokenLineAreaDiagram(
multipleBrokenLineAreaDiagram1(
{
xData: data.map(value => value.station_no),
yDataOne: data.map(value => value.pol_wd ),

@ -92,7 +92,7 @@ $(() => {
safeTitle('#safeTitle')
}
day()
setCronTak(day, "0 * * * * * *");
setCronTak(day, "0 0/30 * * * * *");
})
</script>
</html>

@ -28,6 +28,15 @@ public class BaseProductQty extends BaseEntity
/** 目标数量 */
@Excel(name = "目标数量")
private Long qty;
private Long qtyB;
public Long getQtyB() {
return qtyB;
}
public void setQtyB(Long qtyB) {
this.qtyB = qtyB;
}
public void setId(Long id)
{

@ -27,6 +27,7 @@ public interface BroadDataMapper {
// 发泡线
///////////////////////////////////////////////////////////////////////////
List<OrderInfo> fp_selectOrderExecution();
List<OrderInfo> fp_selectOrderExecutionPlan();
///////////////////////////////////////////////////////////////////////////
@ -43,6 +44,7 @@ public interface BroadDataMapper {
List<DeviceStation> fp_selectDeviceStation();
List<FPStationHourInfo> fp_selectStationHourInfo();
List<FPStationHourInfo> fp_selectStationHourInfoDay();
List<OrderInfo> xk_selectStockOccupancy();
@ -119,4 +121,6 @@ public interface BroadDataMapper {
void deleteWorkTime();
void deleteBoxOutput();
Integer zz_countNightProductInTag();
}

@ -43,6 +43,7 @@ public interface IBroadDataService {
List<DeviceStation> fp_selectDeviceStation();
List<FPStationHourInfo> fp_selectStationHourInfo();
List<FPStationHourInfo> fp_selectStationHourInfoDay();
List<OrderInfo> xk_selectStockOccupancy();
@ -79,7 +80,7 @@ public interface IBroadDataService {
List<MTKBeen> mtk_sselectQATop3();
Integer zz_countNightProductInTag();
List<BoxOutput> zz_selectLossInfo(int state);
List<BoxOutput> mtk_selectQAZD();
@ -98,4 +99,6 @@ public interface IBroadDataService {
List<BoxOutput> pqk_selectProductInStore();
}

@ -66,6 +66,10 @@ public class BroadDataServiceImpl implements IBroadDataService
public List<OrderInfo> fp_selectOrderExecution(){
return mapper.fp_selectOrderExecution();
}
@Override
public List<OrderInfo> fp_selectOrderExecutionPlan(){
return mapper.fp_selectOrderExecutionPlan();
@ -85,6 +89,10 @@ public class BroadDataServiceImpl implements IBroadDataService
public List<FPStationHourInfo> fp_selectStationHourInfo() {
return mapper.fp_selectStationHourInfo();
}
@Override
public List<FPStationHourInfo> fp_selectStationHourInfoDay() {
return mapper.fp_selectStationHourInfoDay();
}
@Override
public List<BoxOutput> selectFpStock() {
@ -161,6 +169,11 @@ public class BroadDataServiceImpl implements IBroadDataService
return mapper.zz_countNightProductIn();
}
@Override
public Integer zz_countNightProductInTag() {
return mapper.zz_countNightProductInTag();
}
@Override
public List<BoxOutput> zz_selectLossInfo(int state) {
return mapper.zz_selectLossInfo( state);

@ -10,10 +10,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="qty" column="qty" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="qtyB" column="qty_b" />
</resultMap>
<sql id="selectBaseProductQtyVo">
select id, day, qty, create_time, create_by from base_product_qty
select id, day, qty,qty_b, create_time, create_by from base_product_qty
</sql>
<select id="countDay" resultType="integer">
select count(1) from base_product_qty where day=#{day}
@ -41,6 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="id != null">id,</if>
<if test="day != null">day,</if>
<if test="qty != null">qty,</if>
<if test="qtyB != null">qty_b,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
</trim>
@ -48,6 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="id != null">#{id},</if>
<if test="day != null">#{day},</if>
<if test="qty != null">#{qty},</if>
<if test="qtyB != null">#{qtyB},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
</trim>
@ -58,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="SET" suffixOverrides=",">
<if test="day != null">day = #{day},</if>
<if test="qty != null">qty = #{qty},</if>
<if test="qtyB != null">qty_b = #{qtyB},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
</trim>

@ -12,10 +12,14 @@
</resultMap>
<delete id="deleteWorkTime">
delete from HAIWEI.BASE_DAY_WBTIME where CREATE_TIME &lt; sysdate - interval '15' DAY
delete
from HAIWEI.BASE_DAY_WBTIME
where CREATE_TIME &lt; sysdate - interval '15' DAY
</delete>
<delete id="deleteBoxOutput">
delete from IMOS.BASE_BOX_OUTPUT_RECORD where CREATE_TIME &lt; sysdate - interval '10' DAY
delete
from IMOS.BASE_BOX_OUTPUT_RECORD
where CREATE_TIME &lt; sysdate - interval '10' DAY
</delete>
<select id="selectplanCompletion" resultType="com.ruoyi.system.domain.BoxOutput">
@ -25,7 +29,9 @@
union
select sum(QTY3) as qty, '实际产量' as name
from IMOS.BASE_BOX_OUTPUT_RECORD xhq
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where xhq.CREATE_TIME between
case when sysdate &lt;= wb.W_END then W_START else W_END end
@ -51,7 +57,7 @@
end) as order_type
, Sum(Store_Qty) as stock
, Store_Code
from IMOS_LO_STORE_DETIAL losd
from IMOS_LO_BIN losd
where Store_Code = #{id}
and Material_Code is not null
and Store_Qty &gt; 0
@ -76,7 +82,9 @@
end) as name,
sum(QTY3) as qty
from IMOS.BASE_BOX_OUTPUT_RECORD xhq
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where xhq.CREATE_TIME between case when sysdate &lt;= wb.W_END then W_START else W_END end
and case when sysdate &lt;= wb.W_END then W_END else B_END end
@ -124,21 +132,25 @@
from IMOS.BASE_BOX_OUTPUT_RECORD ippb
left join (
select W_END as day1, W_END + interval '1' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;= day1 and ippb.CREATE_TIME &lt; day2
where ippb.CREATE_TIME &gt;= day1
and ippb.CREATE_TIME &lt; day2
union
select '20:30' as name, sum(QTY3) as qty, 2 as ord
from IMOS.BASE_BOX_OUTPUT_RECORD ippb
left join (
-- 2022-07-28 20:30:00
select W_END + interval '1' HOUR as day1, W_END + interval '2' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
select '21:30' as name, sum(QTY3) as qty, 3 as ord
@ -146,11 +158,13 @@
left join (
-- 2022-07-28 21:30:00
select W_END + interval '2' HOUR as day1, W_END + interval '3' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
select '22:30' as name, sum(QTY3) as qty, 4 as ord
@ -158,11 +172,13 @@
left join (
-- 2022-07-28 22:30:00
select W_END + interval '3' HOUR as day1, W_END + interval '4' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
select '23:30' as name, sum(QTY3) as qty, 5 as ord
@ -170,11 +186,13 @@
left join (
-- 2022-07-28 23:30:00
select W_END + interval '4' HOUR as day1, W_END + interval '5' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
@ -183,11 +201,13 @@
left join (
-- 2022-07-29 00:30:00
select W_END + interval '5' HOUR as day1, W_END + interval '6' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
@ -196,11 +216,13 @@
left join (
-- 2022-07-29 01:30:00
select W_END + interval '6' HOUR as day1, W_END + interval '7' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
@ -208,11 +230,13 @@
from IMOS.BASE_BOX_OUTPUT_RECORD ippb
left join (
select W_END + interval '7' HOUR as day1, W_END + interval '8' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
@ -220,11 +244,13 @@
from IMOS.BASE_BOX_OUTPUT_RECORD ippb
left join (
select W_END + interval '8' HOUR as day1, W_END + interval '9' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
@ -232,11 +258,13 @@
from IMOS.BASE_BOX_OUTPUT_RECORD ippb
left join (
select W_END + interval '9' HOUR as day1, W_END + interval '10' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
@ -244,11 +272,13 @@
from IMOS.BASE_BOX_OUTPUT_RECORD ippb
left join (
select W_END + interval '10' HOUR as day1, W_END + interval '11' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
union
@ -256,11 +286,13 @@
from IMOS.BASE_BOX_OUTPUT_RECORD ippb
left join (
select W_END + interval '11' HOUR as day1, W_END + interval '12' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where ippb.CREATE_TIME &gt;
= day1 and ippb.CREATE_TIME &lt;
= day1
and ippb.CREATE_TIME &lt;
day2
)
order by ord
@ -384,6 +416,139 @@
</select>
<select id="fp_selectStationHourInfoDay" resultType="com.ruoyi.system.domain.FPStationHourInfo">
select name,
STATION_NO,
target,
status,
plan_number,
(h1 + h2 + h3 + h4 + h5 + h6 + h7 + H8 + h9 + H10 + h11 + h12) as qty,
round((h1 + h2 + h3 + h4 + h5 + h6 + h7 + H8 + h9 + H10 + h11 + h12) / CURRENTPLAN_QTY * 100, 2) as rate,
h1,
h2,
h3,
h4,
h5,
h6,
h7,
H8,
h9,
H10,
h11,
h12
from (
select substr(MATERIAL_NAME,
case
when instr(MATERIAL_NAME, '/', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1
else instr(MATERIAL_NAME, '/', 1, 1) + 1
end,
case
when instr(MATERIAL_NAME, ',', 1, 2) = 0 then Length(MATERIAL_NAME) + 1
else instr(MATERIAL_NAME, ',', 1, 2)
end
-
case
when instr(MATERIAL_NAME, '/', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1
else instr(MATERIAL_NAME, '/', 1, 1) + 1
end) as name,
STATION_NO,
(select QTY
from (select QTY, row_number() over (order by CREATE_TIME desc) row_n
from HAIWEI.BASE_FP_PLANQTY)
where row_n = 1) as target,
case
when PRODUCT_STATUS = 0 then '未生产'
else '生产中' end as status,
nvl(plan_number, 0) as plan_number,
PRODUCT_QTY as qty,
round(PRODUCT_QTY / CURRENTPLAN_QTY * 100, 2) as rate,
CURRENTPLAN_QTY,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '07:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY1
else 0 end as h1,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '08:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY2
else 0 end as h2,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '09:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY3
else 0 end as h3,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '10:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY4
else 0 end as h4,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '11:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY5
else 0 end as h5,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '12:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY6
else 0 end h6,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '13:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY7
else 0 end h7,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '14:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY8
else 0 end h8,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '15:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY9
else 0 end h9,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '16:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY10
else 0 end h10,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '17:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY11
else 0 end h11,
case
when sysdate &gt;
to_date(to_char(sysdate, 'yyyy-mm-dd') || '18:29:59', 'yyyy-mm-dd hh24:mi:ss')
then
HOUR_QTY12
else 0 end h12
from IMOS_PR_FOAMING_MONITOR ipr
left join (
select round(PLAN_QTY / num, 0) as plan_number, itm.MATERIAL_NAME AS NAME
from imos_ta_material itm
left join (select count(1) as num, MATERIAL_NAME
from IMOS_PR_FOAMING_MONITOR
group by MATERIAL_NAME) cou
on cou.MATERIAL_NAME = itm.MATERIAL_NAME
where DISPLAY_FLAG = 1
) ta
on ta.name = ipr.MATERIAL_NAME
order by to_number(STATION_NO))
</select>
<select id="fp_selectOrderExecution" resultType="com.ruoyi.system.domain.OrderInfo">
select substr(MATERIAL_NAME,
case
@ -497,7 +662,6 @@
select count(1) as qty, '订单数量' as name
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7))
@ -505,7 +669,6 @@
select count(1) as qty, '完成数量' as name
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7))
@ -516,7 +679,6 @@
select count(1)
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7))
@ -529,7 +691,8 @@
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7))
) * 100, 2) as qty, '清单率' as name
) * 100, 2) as qty,
'清单率' as name
from DUAL
-- union
-- select count(1)as qty, '入库订单统计' as name
@ -569,19 +732,127 @@ where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
<select id="zhou_selectProductInStore" resultMap="MTKBeen">
select to_char(DAY, 'MM-dd') as code, qty, '计划' as name
select to_char(DAY, 'MM-dd') as code, qty + QTY_B as qty, '计划' as name
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
union
select to_char(PRODUCTION_DATE, 'MM-dd') as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE
where to_char(PRODUCTION_DATE, 'yyyy-MM-dd') in
(
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
select code, sum(qty), name
from (
select wb.day as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE ba
left join (select to_char(to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss'), 'MM-dd') as day, W_START, B_END
from haiwei.BASE_DAY_WBTIME
where to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss') = (TRUNC(sysdate, 'D') + 1)
) wb on 1 = 1
where PRODUCTION_DATE between W_START and B_END
group by wb.day
union
select to_char((TRUNC(sysdate, 'D') + 1), 'MM-dd') as code, 0 as qty, '产量' as name
from dual
) group by code, name
union
select code, sum(qty), name
from (
select wb.day as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE ba
left join (select to_char(to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss'), 'MM-dd') as day, W_START, B_END
from haiwei.BASE_DAY_WBTIME
where to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss') = (TRUNC(sysdate, 'D') + 2)
) wb on 1 = 1
where PRODUCTION_DATE between W_START and B_END
group by wb.day
union
select to_char((TRUNC(sysdate, 'D') + 2), 'MM-dd') as code, 0 as qty, '产量' as name
from dual
)
group by to_char(PRODUCTION_DATE, 'MM-dd')
group by code, name
union
select code, sum(qty), name
from (
select wb.day as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE ba
left join (select to_char(to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss'), 'MM-dd') as day, W_START, B_END
from haiwei.BASE_DAY_WBTIME
where to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss') = (TRUNC(sysdate, 'D') + 3)
) wb on 1 = 1
where PRODUCTION_DATE between W_START and B_END
group by wb.day
union
select to_char((TRUNC(sysdate, 'D') + 3), 'MM-dd') as code, 0 as qty, '产量' as name
from dual
)
group by code, name
union
select code, sum(qty), name
from (
select wb.day as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE ba
left join (select to_char(to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss'), 'MM-dd') as day, W_START, B_END
from haiwei.BASE_DAY_WBTIME
where to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss')= (TRUNC(sysdate, 'D') + 4)
) wb on 1 = 1
where PRODUCTION_DATE between W_START and B_END
group by wb.day
union
select to_char((TRUNC(sysdate, 'D') + 4), 'MM-dd') as code, 0 as qty, '产量' as name
from dual
)
group by code, name
union
select code, sum(qty), name
from (
select wb.day as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE ba
left join (select to_char(to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss'), 'MM-dd') as day, W_START, B_END
from haiwei.BASE_DAY_WBTIME
where to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss') = (TRUNC(sysdate, 'D') + 5)
) wb on 1 = 1
where PRODUCTION_DATE between W_START and B_END
group by wb.day
union
select to_char((TRUNC(sysdate, 'D') + 5), 'MM-dd') as code, 0 as qty, '产量' as name
from dual
)
group by code, name
union
select code, sum(qty), name
from (
select wb.day as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE ba
left join (select to_char(to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss'), 'MM-dd') as day, W_START, B_END
from haiwei.BASE_DAY_WBTIME
where to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss') = (TRUNC(sysdate, 'D') + 6)
) wb on 1 = 1
where PRODUCTION_DATE between W_START and B_END
group by wb.day
union
select to_char((TRUNC(sysdate, 'D') + 6), 'MM-dd') as code, 0 as qty, '产量' as name
from dual
)
group by code, name
union
select code, sum(qty), name
from (
select wb.day as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE ba
left join (select to_char(to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss'), 'MM-dd') as day, W_START, B_END
from haiwei.BASE_DAY_WBTIME
where to_date(CREATE_DAY, 'yyyy-MM-dd hh:mi:ss')= (TRUNC(sysdate, 'D') + 7)
) wb on 1 = 1
where PRODUCTION_DATE between W_START and B_END
group by wb.day
union
select to_char((TRUNC(sysdate, 'D') + 7), 'MM-dd') as code, 0 as qty, '产量' as name
from dual
)
group by code, name
</select>
<select id="zhou_selectQaInfo" resultType="com.ruoyi.system.domain.BoxOutput">
@ -638,9 +909,9 @@ where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
case
when instr(MATERIAL_NAME, ',', 1, 1) &lt; 6 then instr(MATERIAL_NAME, ',', 1, 2)
else instr(MATERIAL_NAME, ',', 1, 1) end-1 - instr(MATERIAL_NAME, '-', 1))
as name_sub,
when instr(MATERIAL_NAME, ',', 1, 2) = 0 then instr(MATERIAL_NAME, ',', 1, 1)
else instr(MATERIAL_NAME, ',', 1, 2) end - instr(MATERIAL_NAME, '-', 1, 1) - 1
) as name_sub,
FINISH_DATE as day,
round(ACTUAL_QTY / ORDER_QTY * 100, 2) as rate
from IMOS_PR_ORDER
@ -648,8 +919,27 @@ where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
(
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
where DAY between
case
when
to_char(TRUNC(sysdate, 'D'), 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
then
(TRUNC(sysdate, 'D') -6) else
(TRUNC(sysdate, 'D') + 1) end
and
case
when
to_char(TRUNC(sysdate, 'D'), 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
then
TRUNC(sysdate, 'D') else
(TRUNC(sysdate, 'D') + 7) end
)
order by FINISH_DATE
</select>
@ -752,23 +1042,29 @@ where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
PRODUCTION_DATE as day,
(select * from (select RHYTHM from haiwei.BASE_RHYTHM where ROWNUM = 1 order by ID desc)) as rhy
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb on 1 = 1
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between case when sysdate &lt;= wb.W_END then W_START else W_END end
and case when sysdate &lt; = wb.W_END then W_END else B_END end
and case when sysdate
&lt; = wb.W_END then W_END else B_END end
and DETIAL_TYPE_CODE = '1004'
)
</insert>
<select id="zz_selectLossInfo" resultType="com.ruoyi.system.domain.BoxOutput">
select ROUND(sum(ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM) / 60, 2)-
select case when q1 &lt; q2 then q1 else q1 - 12 end as qty, name
from (
select ROUND(sum(ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM) / 60, 2) q1,
nvl(case
when sysdate &gt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '09:30:00', 'yyyy-MM-dd hh24:mi:ss')
when sysdate > to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '09:30:00', 'yyyy-MM-dd hh24:mi:ss')
then
case
when sysdate &gt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '14:30:00', 'yyyy-MM-dd hh24:mi:ss')
then 60 else 30 end
when sysdate >
to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '14:30:00', 'yyyy-MM-dd hh24:mi:ss')
then 60
else 30 end
end
, 0) as qty,
, 0) as q2,
1 as name
from (select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
@ -779,12 +1075,12 @@ from (select row_number() over (order by PRODUCTION_DATE) as row_number,
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
when 1 = 1 then W_START
when 1 = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
when 1 = 1 then W_END
when 1 = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t1
left join
(select row_number() over (order by PRODUCTION_DATE) as row_number,
@ -796,20 +1092,18 @@ from (select row_number() over (order by PRODUCTION_DATE) as row_number,
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
when 1 = 1 then W_START
when 1 = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
when 1 = 1 then W_END
when 1 = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t2 on t1.row_number = t2.row_number + 1
left join
(select * from (select RHYTHM from haiwei.BASE_RHYTHM order by ID desc) where ROWNUM = 1) t3 on 1 = 1
where 0 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
)
union
select count(1) as qty,
2 as name
@ -895,16 +1189,19 @@ where 180 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
union
select
case when qty &lt; 0 then 0 else qty end as qty,name
from
(
select case when qty &lt; 0 then 0 else qty end as qty,
name
from (
select count(1) - nvl(case
when sysdate &gt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '09:30:00', 'yyyy-MM-dd hh24:mi:ss')
when sysdate &gt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '09:30:00',
'yyyy-MM-dd hh24:mi:ss')
then
case
when sysdate &gt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '14:30:00', 'yyyy-MM-dd hh24:mi:ss')
then 2 else 1 end
when sysdate &gt;
to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '14:30:00',
'yyyy-MM-dd hh24:mi:ss')
then 2
else 1 end
end
, 0) as qty,
4 as name
@ -942,7 +1239,8 @@ from (select row_number() over (order by PRODUCTION_DATE) as row_number,
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t2 on t1.row_number = t2.row_number + 1
left join
(select * from (select RHYTHM from haiwei.BASE_RHYTHM order by ID desc) where ROWNUM = 1) t3 on 1 = 1
(select * from (select RHYTHM from haiwei.BASE_RHYTHM order by ID desc) where ROWNUM = 1) t3
on 1 = 1
where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
)
@ -953,9 +1251,11 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
substr(
MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
instr(MATERIAL_NAME, ',', 1, 1) - 2 - instr(MATERIAL_NAME, '-', 1, 1) + 1) as name
instr(MATERIAL_NAME, ',', 1, 2) - 2 - instr(MATERIAL_NAME, '-', 1, 1) + 1) as name
from IMOS_PR_PRODUCT_BARCODE ippb
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.SCAN_TIME between
case
@ -967,8 +1267,7 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
group by MATERIAL_NAME
</select>
<select id="mtk_selectInStore3d" resultType="com.ruoyi.system.domain.BoxOutput">
select
substr(MATERIAL_NAME,
select substr(MATERIAL_NAME,
case
when instr(MATERIAL_NAME, '-', 1, 1) = 0 then 1
else instr(MATERIAL_NAME, '-', 1, 1) + 1
@ -990,13 +1289,17 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
<select id="selectNowXkOutPut" resultType="com.ruoyi.system.domain.BoxOutput">
select (
case when
case
when
TO_CHAR(SYSDATE, 'hh24') - 1 &lt; 0
then '23:30' else TO_CHAR(SYSDATE, 'hh24')-1 || ':30' end
then '23:30'
else TO_CHAR(SYSDATE, 'hh24') - 1 || ':30' end
) as name,
nvl(sum(actual_qty), 0) as qty
from IMOS.IMOS_PR_PLAN xhq
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb on 1 = 1
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb on 1 = 1
where to_date(xhq.START_TIME, 'yyyy-MM-dd hh24:mi:ss') between case when sysdate &lt;= wb.W_END then W_START else W_END end
and case when sysdate &lt;= wb.W_END then W_END else B_END end
and plan_date is not null
@ -1007,7 +1310,9 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
<select id="selectNowXkOutPut1" resultType="int">
select nvl(sum(actual_qty), 0)
from IMOS.IMOS_PR_PLAN ipp
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb on 1=1
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb on 1 = 1
where plan_date is not null
and process_code = 1002
and delete_flag = '0'
@ -1040,7 +1345,9 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
</select>
<select id="selectXK_H_QTY" resultType="int">
select * from ( select nvl(ZS_C, 0) from haiwei.XK_H_QTY order by CREATE_TIME desc) where ROWNUM=1
select *
from (select nvl(ZS_C, 0) from haiwei.XK_H_QTY order by CREATE_TIME desc)
where ROWNUM = 1
</select>
<insert id="insertXK_H_QTY">
@ -1069,7 +1376,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
from IMOS_PR_PRODUCT_BARCODE ippb
left join (
select W_END as day1, W_END + interval '1' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1080,7 +1388,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
left join (
-- 2022-07-28 20:30:00
select W_END + interval '1' HOUR as day1, W_END + interval '2' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1091,7 +1400,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
left join (
-- 2022-07-28 21:30:00
select W_END + interval '2' HOUR as day1, W_END + interval '3' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1102,7 +1412,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
left join (
-- 2022-07-28 22:30:00
select W_END + interval '3' HOUR as day1, W_END + interval '4' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1113,7 +1424,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
left join (
-- 2022-07-28 23:30:00
select W_END + interval '4' HOUR as day1, W_END + interval '5' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1125,7 +1437,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
left join (
-- 2022-07-29 00:30:00
select W_END + interval '5' HOUR as day1, W_END + interval '6' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1137,7 +1450,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
left join (
-- 2022-07-29 01:30:00
select W_END + interval '6' HOUR as day1, W_END + interval '7' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1148,7 +1462,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
from IMOS_PR_PRODUCT_BARCODE ippb
left join (
select W_END + interval '7' HOUR as day1, W_END + interval '8' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1158,9 +1473,9 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
select '03:30' as name, nvl(count(1), 0) as qty, 9 as ord
from IMOS_PR_PRODUCT_BARCODE ippb
left join (
select W_END + interval '8' HOUR as day1, W_END + interval '9' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1170,9 +1485,9 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
select '04:30' as name, nvl(count(1), 0) as qty, 10 as ord
from IMOS_PR_PRODUCT_BARCODE ippb
left join (
select W_END + interval '9' HOUR as day1, W_END + interval '10' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1182,9 +1497,9 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
select '05:30' as name, nvl(count(1), 0) as qty, 11 as ord
from IMOS_PR_PRODUCT_BARCODE ippb
left join (
select W_END + interval '10' HOUR as day1, W_END + interval '11' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1194,9 +1509,9 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
select '06:30' as name, nvl(count(1), 0) as qty, 12 as ord
from IMOS_PR_PRODUCT_BARCODE ippb
left join (
select W_END + interval '11' HOUR as day1, W_END + interval '12' HOUR as day2
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME)
from (select W_END, row_number() over (order by CREATE_TIME desc) as qt
from haiwei.BASE_DAY_WBTIME)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
@ -1301,14 +1616,15 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
select sum(qty) as qty,
name,
sum(rate) as rate
from
(select nvl(qty1,0) as qty,
from (select nvl(qty1, 0) as qty,
name,
nvl(round((qty1 / a.qty) * 100, 2), 0) as rate
from (
select to_char(PRODUCTION_DATE, 'hh24') || ':30' as name, count(1) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
@ -1331,10 +1647,13 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
and to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
group by to_char(CREATION_DATE, 'hh24')) on name = name1
union
select 0 as qty ,case
select 0 as qty,
case
when #{state} = 1 then '07:30'
when #{state} = 2 then '19:30'
end as name ,0 as rate from dual
end as name,
0 as rate
from dual
)
group by name
order by name
@ -1342,21 +1661,46 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
<select id="zz_selectInStoreTag" resultType="com.ruoyi.system.domain.BoxOutput">
select * from (select RHYTHM as qty, '节拍' as name from haiwei.BASE_RHYTHM where ROWNUM = 1 order by ID desc)
select *
from (select RHYTHM as qty, '节拍' as name from haiwei.BASE_RHYTHM where ROWNUM = 1 order by ID desc)
</select>
<select id="zz_selectProductInTarget" resultType="com.ruoyi.system.domain.BoxOutput">
-- select sum(QTY) as qty, '目标' as name
-- from haiwei.BASE_PRODUCT_QTY
-- where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
-- union
select sum(QTY) as qty, '进度目标' as name
from haiwei.BASE_PRODUCT_QTY
-- select sum(QTY) as qty, '进度目标' as name
-- from haiwei.BASE_PRODUCT_QTY
-- where to_char(DAY, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
select case
when sysdate &lt; W_END then QTY
else
case when QTY_B = 0 then QTY else QTY_B end end as qty,
'进度目标' as name
from haiwei.BASE_PRODUCT_QTY bqty
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where to_char(DAY, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
union
select count(1) as qty, '实际' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE
where to_char(PRODUCTION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
</select>
<select id="zz_countNightProductInTag" resultType="integer">
select case
when sysdate &lt; W_END then 0
else QTY_B
end as qty
from haiwei.BASE_PRODUCT_QTY bqty
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where to_char(DAY, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
</select>
<select id="zz_selectInStoreOrderInfo" resultType="com.ruoyi.system.domain.OrderInfo">
select ippi.ORDER_NO as plan_code,
@ -1372,7 +1716,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
ippi.CREATION_DATE as day
from IMOS_PR_PRODUCT_IN ippi
left join IMOS.IMOS_PR_ORDER po on ippi.ORDER_NO = po.ORDER_NO
where to_char(ippi.CREATION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd') and ippi. DELETE_FLAG=0
where to_char(ippi.CREATION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
and ippi.DELETE_FLAG = 0
</select>
<select id="mtk_selectOrderInfoBy3dTatle" resultType="com.ruoyi.system.domain.BoxOutput">
@ -1408,7 +1753,8 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
from (
select DAY, ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY &lt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
where DAY &lt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00',
'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt &lt; 4)
and ORDER_QTY - ACTUAL_QTY &lt; 6
@ -1421,10 +1767,12 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
from (
select DAY, ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY &lt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
where DAY &lt; to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00',
'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt &lt; 4)
) * 100, 2) as qty, '清单率' as name
) * 100, 2) as qty,
'清单率' as name
from DUAL
union
select count(1) as qty, '入库订单统计' as name
@ -1505,7 +1853,9 @@ where 600 &lt; ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
</select>
<select id="zz_selectOneBadRateMb" resultType="com.ruoyi.system.domain.BoxOutput">
select * from (select rate,'不合格率目标' from haiwei.BASE_ONE_UNQUQLIFIED_RATE order by CREATE_TIME desc) where ROWNUM=1
select *
from (select rate, '不合格率目标' from haiwei.BASE_ONE_UNQUQLIFIED_RATE order by CREATE_TIME desc)
where ROWNUM = 1
</select>
<select id="zz_countNightProductIn" resultType="integer">
select count(1)

@ -17,11 +17,18 @@
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">目标数量:</label>
<label class="col-sm-3 control-label">白班目标数量:</label>
<div class="col-sm-8">
<input name="qty" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">夜班目标数量:</label>
<div class="col-sm-8">
<input name="qtyB" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />

@ -72,8 +72,13 @@
},
{
field: 'qty',
title: '目标数量'
title: '白班目标数量'
},
{
field: 'qtyB',
title: '夜班目标数量'
},
{
field: 'createTime',
title: '创建时间'

@ -18,11 +18,18 @@
<!-- </div>-->
<!-- </div>-->
<div class="form-group">
<label class="col-sm-3 control-label">目标数量:</label>
<label class="col-sm-3 control-label">白班目标数量:</label>
<div class="col-sm-8">
<input name="qty" th:field="*{qty}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">夜班目标数量:</label>
<div class="col-sm-8">
<input name="qtyB" th:field="*{qtyB}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />

Loading…
Cancel
Save