数据推送及优化
This commit is contained in:
parent
b7aae9dd66
commit
37f581eeeb
|
|
@ -128,7 +128,8 @@ public class BmProjectController extends BaseController
|
||||||
public AjaxResult getProjectList(String token)
|
public AjaxResult getProjectList(String token)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
String url = "http://10.138.55.105:8097/data-center/dc-base/api/project/list";
|
String url = "http://10.138.55.128:30968/dc-base/api/project/list";
|
||||||
|
//String url = "http://10.138.55.105:8097/data-center/dc-base/api/project/list";
|
||||||
//String url = "http://192.168.1.167:8097/data-center/dc-base/api/project/list";
|
//String url = "http://192.168.1.167:8097/data-center/dc-base/api/project/list";
|
||||||
String res = HttpClient.sendGet(url,token);
|
String res = HttpClient.sendGet(url,token);
|
||||||
JSONObject jsonObject = JSONObject.parseObject(res);
|
JSONObject jsonObject = JSONObject.parseObject(res);
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
package com.bonus.material.push.controller;
|
package com.bonus.material.push.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.bonus.common.biz.config.ListPagingUtil;
|
||||||
import com.bonus.common.biz.utils.HttpHelper;
|
import com.bonus.common.biz.utils.HttpHelper;
|
||||||
import com.bonus.common.core.exception.ServiceException;
|
import com.bonus.common.core.exception.ServiceException;
|
||||||
|
import com.bonus.common.core.utils.ServletUtils;
|
||||||
import com.bonus.common.core.web.controller.BaseController;
|
import com.bonus.common.core.web.controller.BaseController;
|
||||||
import com.bonus.common.core.web.domain.AjaxResult;
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.common.core.web.page.TableDataInfo;
|
import com.bonus.common.core.web.page.TableDataInfo;
|
||||||
|
|
@ -20,6 +23,7 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:liang.chao
|
* @Author:liang.chao
|
||||||
|
|
@ -180,40 +184,193 @@ public class PushProDataUseInfoController extends BaseController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
// 检验临期和检验超期数量
|
* 宏源物资检验临期和检验超期数量
|
||||||
|
* @param bean
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@GetMapping(value = "getHyCheckingTimeout")
|
@GetMapping(value = "getHyCheckingTimeout")
|
||||||
public AjaxResult getHyCheckTimeout(ProIdsBean bean) {
|
public AjaxResult getHyCheckTimeout(ProIdsBean bean) {
|
||||||
try {
|
try {
|
||||||
List<StaticsNumsBean> results = new ArrayList<>();
|
StaticsNumsBean results = new StaticsNumsBean();
|
||||||
Map<String, String> map = new HashMap<String, String>();
|
Map<String, String> map = new HashMap<String, String>();
|
||||||
map.put("keyWord", "");
|
map.put("keyWord", "");
|
||||||
String body = JSONObject.toJSONString(map);
|
String body = JSONObject.toJSONString(map);
|
||||||
String url = "http://10.138.55.101:21021/iws/hystw/getHyNearWarnList";
|
// 检验临期接口路径
|
||||||
//String url = "http://192.168.1.134:8036/micro-server/zzaqgjf/syncSafetyTool";
|
String url = "http://10.138.55.101:21021/iws/hystw/backstage/machine/getHyNearWarnList";
|
||||||
String data = HttpHelper.sendHttpPost(url, body);
|
String data = HttpHelper.sendHttpPost(url, body);
|
||||||
JSONObject object = JSONObject.parseObject(data);
|
JSONObject object = JSONObject.parseObject(data);
|
||||||
System.err.println(data);
|
System.out.println(data);
|
||||||
|
String code = object.getString("res");
|
||||||
|
if ("1".equals(code)) {
|
||||||
|
JSONObject obj = object.getJSONObject("obj");
|
||||||
|
JSONArray dataArray = obj.getJSONArray("list");
|
||||||
|
// 临期数量
|
||||||
|
int num = dataArray.size();
|
||||||
|
results.setApproachingNum(BigDecimal.valueOf(num));
|
||||||
|
System.out.println("数组大小: " + dataArray.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检验超期接口路径
|
||||||
|
String url1 = "http://10.138.55.101:21021/iws/hystw/backstage/machine/getHyOverWarnList";
|
||||||
|
String overData = HttpHelper.sendHttpPost(url1, body);
|
||||||
|
JSONObject overObject = JSONObject.parseObject(overData);
|
||||||
|
System.out.println(overObject);
|
||||||
|
String overCode = overObject.getString("res");
|
||||||
|
if ("1".equals(overCode)) {
|
||||||
|
JSONObject obj = overObject.getJSONObject("obj");
|
||||||
|
JSONArray dataArray = obj.getJSONArray("list");
|
||||||
|
// 超期数量
|
||||||
|
int num = dataArray.size();
|
||||||
|
results.setTimeoutNum(BigDecimal.valueOf(num));
|
||||||
|
System.out.println("数组大小: " + dataArray.size());
|
||||||
|
}
|
||||||
|
return AjaxResult.success(results);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.toString(), e);
|
||||||
|
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String code = object.getString("code");
|
/**
|
||||||
if ("200".equals(code)) {
|
* 宏源物资临期、超期设备详情
|
||||||
String dataResultString = object.getString("data");
|
* @param bean
|
||||||
JSONArray dataArray = JSONArray.parseArray(dataResultString);
|
* @return
|
||||||
if (dataArray != null && !dataArray.isEmpty()) {
|
*/
|
||||||
// 有数据
|
@GetMapping(value = "getHyApproachingDetails")
|
||||||
for (int i = 0; i < dataArray.size(); i++) {
|
public AjaxResult getHyApproachingDetails(ProIdsBean bean) {
|
||||||
JSONObject dataObject = dataArray.getJSONObject(i);
|
Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1);
|
||||||
String counts = dataObject.getString("counts");
|
Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10);
|
||||||
StaticsNumsBean rs = new StaticsNumsBean();
|
List<MachineInfoBean> results = new ArrayList<>();
|
||||||
rs.setTimeoutNum(BigDecimal.valueOf(Integer.parseInt(counts)));
|
try {
|
||||||
results.add(rs);
|
Map<String, String> map = new HashMap<String, String>();
|
||||||
|
map.put("keyWord", "");
|
||||||
|
String body = JSONObject.toJSONString(map);
|
||||||
|
if (bean.getType() == null) {
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
if (bean.getType() == 0) {
|
||||||
|
// 检验临期接口路径
|
||||||
|
String url = "http://10.138.55.101:21021/iws/hystw/backstage/machine/getHyNearWarnList";
|
||||||
|
String data = HttpHelper.sendHttpPost(url, body);
|
||||||
|
JSONObject object = JSONObject.parseObject(data);
|
||||||
|
String code = object.getString("res");
|
||||||
|
if ("1".equals(code)) {
|
||||||
|
JSONObject obj = object.getJSONObject("obj");
|
||||||
|
JSONArray dataArray = obj.getJSONArray("list");
|
||||||
|
System.out.println("数组大小: " + dataArray.size());
|
||||||
|
if (!dataArray.isEmpty()) {
|
||||||
|
// 有数据
|
||||||
|
for (int i = 0; i < dataArray.size(); i++) {
|
||||||
|
JSONObject item = dataArray.getJSONObject(i);
|
||||||
|
//物资名称
|
||||||
|
JSONObject typeObject = item.getJSONObject("type");
|
||||||
|
String typeName = (typeObject != null) ? typeObject.getString("parentName") : null;
|
||||||
|
// 规格型号
|
||||||
|
String typeModelName = (typeObject != null) ? typeObject.getString("name") : null;
|
||||||
|
// 计量单位
|
||||||
|
String unitName = (typeObject != null) ? typeObject.getString("unitName") : null;
|
||||||
|
// 设备编码
|
||||||
|
String maCode = item.getString("code");
|
||||||
|
// 工程名称
|
||||||
|
String projectName = item.getString("projectName");
|
||||||
|
// 下次检验时间
|
||||||
|
String nextCheckTime = item.getString("nextRepairTime");
|
||||||
|
// 领用时间
|
||||||
|
String leaseTime = item.getString("pickTime");
|
||||||
|
// 实施单位
|
||||||
|
String deptName = item.getString("deptName");
|
||||||
|
// 到期天数
|
||||||
|
Integer daysDiff = item.getInteger("days");
|
||||||
|
MachineInfoBean rs = new MachineInfoBean();
|
||||||
|
rs.setTypeName(typeName);
|
||||||
|
rs.setTypeModelName(typeModelName);
|
||||||
|
rs.setUnit(unitName);
|
||||||
|
rs.setMaCode(maCode);
|
||||||
|
rs.setProName(projectName);
|
||||||
|
rs.setExpireTime(nextCheckTime);
|
||||||
|
rs.setLeaseTime(leaseTime);
|
||||||
|
rs.setDeptName(deptName);
|
||||||
|
rs.setDaysDiff(daysDiff);
|
||||||
|
results.add(rs);
|
||||||
|
}
|
||||||
|
// 根据前端传入的类型或者规格型号查询相关设备
|
||||||
|
if (StringUtils.isNotBlank(bean.getTypeName()) || StringUtils.isNotBlank(bean.getTypeModelName())) {
|
||||||
|
results = results.stream().filter(item -> {
|
||||||
|
boolean isTypeNameMatch = StringUtils.isBlank(bean.getTypeName())
|
||||||
|
|| (item.getTypeName() != null && item.getTypeName().contains(bean.getTypeName()));
|
||||||
|
|
||||||
|
boolean isModelNameMatch = StringUtils.isBlank(bean.getTypeModelName())
|
||||||
|
|| (item.getTypeModelName() != null && item.getTypeModelName().contains(bean.getTypeModelName()));
|
||||||
|
return isTypeNameMatch && isModelNameMatch;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bean.getType() == 1) {
|
||||||
|
// 检验超期接口路径
|
||||||
|
String url1 = "http://10.138.55.101:21021/iws/hystw/backstage/machine/getHyOverWarnList";
|
||||||
|
String overData = HttpHelper.sendHttpPost(url1, body);
|
||||||
|
JSONObject overObject = JSONObject.parseObject(overData);
|
||||||
|
String overCode = overObject.getString("res");
|
||||||
|
|
||||||
return AjaxResult.success(results);
|
if ("1".equals(overCode)) {
|
||||||
|
JSONObject obj = overObject.getJSONObject("obj");
|
||||||
|
JSONArray dataArray = obj.getJSONArray("list");
|
||||||
|
System.out.println("数组大小: " + dataArray.size());
|
||||||
|
if (!dataArray.isEmpty()) {
|
||||||
|
// 有数据
|
||||||
|
for (int i = 0; i < dataArray.size(); i++) {
|
||||||
|
JSONObject item = dataArray.getJSONObject(i);
|
||||||
|
//物资名称
|
||||||
|
JSONObject typeObject = item.getJSONObject("type");
|
||||||
|
String typeName = (typeObject != null) ? typeObject.getString("parentName") : null;
|
||||||
|
// 规格型号
|
||||||
|
String typeModelName = (typeObject != null) ? typeObject.getString("name") : null;
|
||||||
|
// 计量单位
|
||||||
|
String unitName = (typeObject != null) ? typeObject.getString("unitName") : null;
|
||||||
|
// 设备编码
|
||||||
|
String maCode = item.getString("code");
|
||||||
|
// 工程名称
|
||||||
|
String projectName = item.getString("projectName");
|
||||||
|
// 下次检验时间
|
||||||
|
String nextCheckTime = item.getString("nextRepairTime");
|
||||||
|
// 领用时间
|
||||||
|
String leaseTime = item.getString("pickTime");
|
||||||
|
// 实施单位
|
||||||
|
String deptName = item.getString("deptName");
|
||||||
|
// 到期天数
|
||||||
|
Integer daysDiff = item.getInteger("days");
|
||||||
|
MachineInfoBean rs = new MachineInfoBean();
|
||||||
|
rs.setTypeName(typeName);
|
||||||
|
rs.setTypeModelName(typeModelName);
|
||||||
|
rs.setUnit(unitName);
|
||||||
|
rs.setMaCode(maCode);
|
||||||
|
rs.setProName(projectName);
|
||||||
|
rs.setExpireTime(nextCheckTime);
|
||||||
|
rs.setLeaseTime(leaseTime);
|
||||||
|
rs.setDeptName(deptName);
|
||||||
|
rs.setDaysDiff(daysDiff);
|
||||||
|
results.add(rs);
|
||||||
|
}
|
||||||
|
// 根据前端传入的类型或者规格型号查询相关设备
|
||||||
|
if (StringUtils.isNotBlank(bean.getTypeName()) || StringUtils.isNotBlank(bean.getTypeModelName())) {
|
||||||
|
results = results.stream().filter(item -> {
|
||||||
|
boolean isTypeNameMatch = StringUtils.isBlank(bean.getTypeName())
|
||||||
|
|| (item.getTypeName() != null && item.getTypeName().contains(bean.getTypeName()));
|
||||||
|
|
||||||
|
boolean isModelNameMatch = StringUtils.isBlank(bean.getTypeModelName())
|
||||||
|
|| (item.getTypeModelName() != null && item.getTypeModelName().contains(bean.getTypeModelName()));
|
||||||
|
return isTypeNameMatch && isModelNameMatch;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, results));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.toString(), e);
|
logger.error(e.toString(), e);
|
||||||
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
|
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
|
||||||
|
|
|
||||||
|
|
@ -696,11 +696,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
IFNULL(subquery4.inputNum, 0) AS inputNum,
|
IFNULL(subquery4.inputNum, 0) AS inputNum,
|
||||||
CASE mt.manage_type
|
CASE mt.manage_type
|
||||||
WHEN 0 THEN
|
WHEN 0 THEN
|
||||||
IFNULL(subquery0.num, 0)+ IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0)
|
IFNULL(subquery0.num, 0)+ IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.dsNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0)
|
||||||
+ IFNULL(subquery4.inputNum, 0) + IFNULL(subquery6.pendingScrapNum, 0)
|
+ IFNULL(subquery12.repairAuditNum, 0)
|
||||||
ELSE
|
ELSE
|
||||||
IFNULL(mt.storage_num, 0)+ IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0)
|
IFNULL(mt.storage_num, 0)+ IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.dsNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0)
|
||||||
+ IFNULL(subquery4.inputNum, 0) + IFNULL(subquery6.pendingScrapNum, 0)
|
+ IFNULL(subquery12.repairAuditNum, 0)
|
||||||
END AS allNum
|
END AS allNum
|
||||||
FROM ma_type mt
|
FROM ma_type mt
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
|
|
@ -733,6 +733,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
WHERE
|
WHERE
|
||||||
sai.`status` = '0' and sai.`is_slt` = '0'
|
sai.`status` = '0' and sai.`is_slt` = '0'
|
||||||
|
AND (sai.source = 1 OR sai.source is NULL)
|
||||||
AND sai.end_time IS NULL
|
AND sai.end_time IS NULL
|
||||||
AND sai.back_id IS NULL
|
AND sai.back_id IS NULL
|
||||||
and mt.type_id =#{typeId}
|
and mt.type_id =#{typeId}
|
||||||
|
|
@ -742,26 +743,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
mt.type_id,
|
mt.type_id,
|
||||||
|
|
||||||
mt2.type_name AS typeName,
|
mt2.type_name AS typeName,
|
||||||
mt2.type_id AS thirdTypeId,
|
mt2.type_id AS thirdTypeId,
|
||||||
mt.type_name AS typeModelName,
|
mt.type_name AS typeModelName,
|
||||||
SUM(
|
SUM(CASE WHEN tt.task_status = 0 and rad.is_ds = 1 THEN (IFNULL(rad.repair_num, 0) - IFNULL(rad.repaired_num, 0) - IFNULL(rad.scrap_num, 0)) ELSE 0 END) AS dsNum,
|
||||||
IFNULL(rad.repair_num, 0) - IFNULL(rad.repaired_num, 0) -
|
SUM(CASE WHEN tt.task_status = 4 and rad.is_ds = 0 THEN (IFNULL(rad.repair_num, 0) - IFNULL(rad.repaired_num, 0) - IFNULL(rad.scrap_num, 0)) ELSE 0 END) AS repairNum
|
||||||
IFNULL(rad.scrap_num, 0)) AS repairNum
|
|
||||||
FROM repair_apply_details rad
|
FROM repair_apply_details rad
|
||||||
LEFT JOIN ma_type mt ON mt.type_id = rad.type_id
|
LEFT JOIN ma_type mt ON mt.type_id = rad.type_id
|
||||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||||
|
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
|
||||||
|
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
||||||
|
INNER JOIN tm_task tt ON rad.task_id = tt.task_id
|
||||||
WHERE
|
WHERE
|
||||||
rad.status = '0'
|
tt.task_status IN (0, 4)
|
||||||
|
and tt.code is not null
|
||||||
and mt.type_id =#{typeId}
|
and mt.type_id =#{typeId}
|
||||||
GROUP BY
|
GROUP BY
|
||||||
mt.type_id) AS subquery2 ON subquery2.type_id = mt.type_id
|
mt.type_id) AS subquery2 ON subquery2.type_id = mt.type_id
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
mt.type_id,
|
mt.type_id,
|
||||||
|
mt2.type_name AS typeName,
|
||||||
|
mt2.type_id AS thirdTypeId,
|
||||||
|
mt.type_name AS typeModelName,
|
||||||
|
SUM(IFNULL(rad.repair_num, 0) ) AS repairAuditNum
|
||||||
|
FROM repair_audit_details rad
|
||||||
|
LEFT JOIN ma_type mt ON mt.type_id = rad.type_id
|
||||||
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||||
|
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
|
||||||
|
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
||||||
|
LEFT JOIN tm_task tt ON rad.task_id = tt.task_id
|
||||||
|
WHERE
|
||||||
|
tt.code is not null
|
||||||
|
and rad.`status` = '0'
|
||||||
|
GROUP BY
|
||||||
|
mt.type_id) AS subquery12 ON subquery12.type_id = mt.type_id
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
mt.type_id,
|
||||||
|
mt4.type_name AS constructionType,
|
||||||
|
mt4.type_id AS firstTypeId,
|
||||||
|
mt3.type_name AS materialType,
|
||||||
|
mt3.type_id AS secondTypeId,
|
||||||
mt2.type_name AS typeName,
|
mt2.type_name AS typeName,
|
||||||
mt2.type_id AS thirdTypeId,
|
mt2.type_id AS thirdTypeId,
|
||||||
mt.type_name AS typeModelName,
|
mt.type_name AS typeModelName,
|
||||||
|
|
@ -770,8 +793,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
FROM repair_input_details rid
|
FROM repair_input_details rid
|
||||||
LEFT JOIN ma_type mt ON mt.type_id = rid.type_id
|
LEFT JOIN ma_type mt ON mt.type_id = rid.type_id
|
||||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||||
|
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
|
||||||
|
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
||||||
|
LEFT JOIN tm_task tt ON rid.task_id = tt.task_id
|
||||||
WHERE IFNULL(rid.repair_num, 0) - IFNULL(rid.input_num, 0) - IFNULL(rid.reject_num, 0) > 0
|
WHERE IFNULL(rid.repair_num, 0) - IFNULL(rid.input_num, 0) - IFNULL(rid.reject_num, 0) > 0
|
||||||
|
and tt.task_status = 0
|
||||||
and mt.type_id =#{typeId}
|
and mt.type_id =#{typeId}
|
||||||
GROUP BY
|
GROUP BY
|
||||||
mt.type_id) AS subquery3 ON subquery3.type_id = mt.type_id
|
mt.type_id) AS subquery3 ON subquery3.type_id = mt.type_id
|
||||||
|
|
@ -793,25 +819,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
and mt.type_id =#{typeId}
|
and mt.type_id =#{typeId}
|
||||||
GROUP BY
|
GROUP BY
|
||||||
mt.type_id) AS subquery4 ON subquery4.type_id = mt.type_id
|
mt.type_id) AS subquery4 ON subquery4.type_id = mt.type_id
|
||||||
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
mt.type_id AS typeId,
|
|
||||||
|
|
||||||
mt2.type_name AS typeName,
|
|
||||||
mt2.type_id AS thirdTypeId,
|
|
||||||
mt.type_name AS typeModelName,
|
|
||||||
SUM(IF(sad.ledger_status = '0', IFNULL(sad.scrap_num, 0), 0)) AS pendingScrapNum,
|
|
||||||
SUM(IF(sad.ledger_status = '1', IFNULL(sad.scrap_num, 0), 0)) AS scrapNum
|
|
||||||
FROM scrap_apply_details sad
|
|
||||||
LEFT JOIN ma_type mt ON mt.type_id = sad.type_id
|
|
||||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
|
||||||
WHERE
|
|
||||||
1=1
|
|
||||||
and mt.type_id =#{typeId}
|
|
||||||
GROUP BY
|
|
||||||
mt.type_id
|
|
||||||
) subquery6 ON subquery6.typeId = mt.type_id
|
|
||||||
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
|
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
|
||||||
|
|
||||||
WHERE mt.del_flag = '0'
|
WHERE mt.del_flag = '0'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue