优化
This commit is contained in:
@@ -35,8 +35,8 @@ public enum MaterOptTypeEnum {
|
|||||||
TJJ_AND_OTHER(24, "25", "添加剂和其他有色金属粉", "('1503644361697660928','1503644362838511616')", ""),
|
TJJ_AND_OTHER(24, "25", "添加剂和其他有色金属粉", "('1503644361697660928','1503644362838511616')", ""),
|
||||||
BJID(25, "26", "备品备件", "1503644361789935616", ""),
|
BJID(25, "26", "备品备件", "1503644361789935616", ""),
|
||||||
THW_AND_GF_AND_TJJ(26, "27", "碳化钨、钴粉、添加剂", "('1503644361664106496','1503644362192588800','1503644361697660928')", ""),
|
THW_AND_GF_AND_TJJ(26, "27", "碳化钨、钴粉、添加剂", "('1503644361664106496','1503644362192588800','1503644361697660928')", ""),
|
||||||
BCP_AND_YL_AND_FL(27, "28", "半成品、原辅料、合金制品", "('1503644359155912704','1503644353019645952','1503644353116114944','1503644349995552768')", "");
|
BCP_AND_YL_AND_FL(27, "28", "半成品、原辅料、合金制品", "('1503644359155912704','1503644353019645952','1503644353116114944','1503644349995552768')", ""),
|
||||||
|
YYJS(28, "29", "有色金属中除了焊条", "('1503644361664106496','1503644361697660928','1503644362192588800','1503644362234531840','1503644362788179968','1503644362838511616')", "");
|
||||||
|
|
||||||
|
|
||||||
//顺序号
|
//顺序号
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.exception.BadRequestException;
|
import org.nl.exception.BadRequestException;
|
||||||
|
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
|
||||||
import org.nl.wms.common.util.DataAuthUtil;
|
import org.nl.wms.common.util.DataAuthUtil;
|
||||||
import org.nl.wms.statistics.service.StatisticalReportService;
|
import org.nl.wms.statistics.service.StatisticalReportService;
|
||||||
import org.nl.wms.statistics.service.StifleQueryService;
|
import org.nl.wms.statistics.service.StifleQueryService;
|
||||||
@@ -133,9 +134,32 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); // 物料信息表
|
WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); // 物料信息表
|
||||||
String begin_time = MapUtil.getStr(whereJson, "begin_time");
|
String begin_time = MapUtil.getStr(whereJson, "begin_time");
|
||||||
String end_time = MapUtil.getStr(whereJson, "end_time");
|
String end_time = MapUtil.getStr(whereJson, "end_time");
|
||||||
String org_id = MapUtil.getStr(whereJson, "org_id");
|
|
||||||
|
String begin_date = "";
|
||||||
|
String end_date = "";
|
||||||
|
if (StrUtil.isNotEmpty(begin_time)) {
|
||||||
|
begin_time = begin_time.substring(0,10)+" 00:00:00";
|
||||||
|
begin_date = begin_time.substring(0,10);
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotEmpty(end_time)) {
|
||||||
|
end_time = end_time.substring(0,10)+" 23:59:59";
|
||||||
|
end_date = end_time.substring(0,10);
|
||||||
|
}
|
||||||
|
String org_ids = MapUtil.getStr(whereJson, "task_status");
|
||||||
|
|
||||||
|
String org_ids_new = "";
|
||||||
|
if (StrUtil.isNotEmpty(org_ids) && !"null".equals(org_ids)) {
|
||||||
|
String[] strs = org_ids.split(",");
|
||||||
|
for( int i=0;i<strs.length;i++){
|
||||||
|
if(i==0){
|
||||||
|
org_ids_new = "('" +strs[i];
|
||||||
|
}else{
|
||||||
|
org_ids_new =org_ids_new +"','"+strs[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
org_ids_new =org_ids_new +"')";
|
||||||
|
}
|
||||||
Date date1 = DateUtil.parse(begin_time);
|
Date date1 = DateUtil.parse(begin_time);
|
||||||
Date date2 = DateUtil.parse(end_time);
|
|
||||||
JSONArray rows = new JSONArray();
|
JSONArray rows = new JSONArray();
|
||||||
JSONArray mater_rows = WQL.getWO("statistical_report_query_01").addParam("flag", "3").process().getResultJSONArray(0);
|
JSONArray mater_rows = WQL.getWO("statistical_report_query_01").addParam("flag", "3").process().getResultJSONArray(0);
|
||||||
JSONObject jo1 = new JSONObject();
|
JSONObject jo1 = new JSONObject();
|
||||||
@@ -165,6 +189,9 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
JSONObject jo8 = new JSONObject();
|
JSONObject jo8 = new JSONObject();
|
||||||
jo8.put("first", "采购缺口");
|
jo8.put("first", "采购缺口");
|
||||||
rows.add(jo8);
|
rows.add(jo8);
|
||||||
|
JSONObject jo9 = new JSONObject();
|
||||||
|
jo9.put("first", "历史开单");
|
||||||
|
rows.add(jo9);
|
||||||
|
|
||||||
//汇总所有配方明细物料
|
//汇总所有配方明细物料
|
||||||
HashMap<String,Double> dtlJa_map = new HashMap<String,Double>();
|
HashMap<String,Double> dtlJa_map = new HashMap<String,Double>();
|
||||||
@@ -173,11 +200,23 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
JSONObject form_qty = dtlJa.getJSONObject(i);
|
JSONObject form_qty = dtlJa.getJSONObject(i);
|
||||||
dtlJa_map.put(form_qty.getString("material_id"),form_qty.getDouble("qty"));
|
dtlJa_map.put(form_qty.getString("material_id"),form_qty.getDouble("qty"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//汇总历史配方明细物料
|
||||||
|
HashMap<String,Double> dtlJa_map2 = new HashMap<String,Double>();
|
||||||
|
JSONArray dtlJa2 = WQL.getWO("statistical_report_query_02").addParam("flag", "4")
|
||||||
|
.addParam("begin_time", begin_time)
|
||||||
|
.addParam("end_time", end_time)
|
||||||
|
.process()
|
||||||
|
.getResultJSONArray(0);
|
||||||
|
for (int i = 0; i < dtlJa2.size(); i++) {
|
||||||
|
JSONObject form_qty = dtlJa2.getJSONObject(i);
|
||||||
|
dtlJa_map2.put(form_qty.getString("material_id"),form_qty.getDouble("qty"));
|
||||||
|
}
|
||||||
//库存物料数量
|
//库存物料数量
|
||||||
JSONArray materQryArray = WQL.getWO("statistical_report_query_01").addParam("flag", "4").process().getResultJSONArray(0);
|
JSONArray materQryArray = WQL.getWO("statistical_report_query_01").addParam("flag", "4").process().getResultJSONArray(0);
|
||||||
Map<String, List<Object>> materialMap = materQryArray.stream().collect(Collectors.groupingBy(a -> ((JSONObject)a).getString("material_id")));
|
Map<String, List<Object>> materialMap = materQryArray.stream().collect(Collectors.groupingBy(a -> ((JSONObject)a).getString("material_id")));
|
||||||
//排产需求
|
//排产需求
|
||||||
JSONArray needMaterArray = WQL.getWO("statistical_report_query_01").addParam("flag", "6").addParam("begin_time", begin_time).addParam("end_time", end_time).addParam("org_id", org_id).process().getResultJSONArray(0);
|
JSONArray needMaterArray = WQL.getWO("statistical_report_query_01").addParam("flag", "6").addParam("begin_date", begin_date).addParam("end_date", end_date).addParam("org_ids", org_ids_new).process().getResultJSONArray(0);
|
||||||
Map<String, List<Object>> needMaterMap = needMaterArray.stream().collect(Collectors.groupingBy(a -> ((JSONObject)a).getString("material_id")));
|
Map<String, List<Object>> needMaterMap = needMaterArray.stream().collect(Collectors.groupingBy(a -> ((JSONObject)a).getString("material_id")));
|
||||||
|
|
||||||
//3、待检入库量:sum(此物料未确认的到货单的单据数-入库数)
|
//3、待检入库量:sum(此物料未确认的到货单的单据数-入库数)
|
||||||
@@ -186,8 +225,11 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
|
|
||||||
//查询物料计划日期内的需求量
|
//查询物料计划日期内的需求量
|
||||||
JSONArray DataPlanQtyArray = WQL.getWO("statistical_report_query_01").addParam("flag", "10")
|
JSONArray DataPlanQtyArray = WQL.getWO("statistical_report_query_01").addParam("flag", "10")
|
||||||
.addParam("begin_time", begin_time.substring(0, 10) + "%")
|
.addParam("begin_time", begin_time)
|
||||||
.addParam("end_time", end_time.substring(0, 10) + "%").process().getResultJSONArray(0);
|
.addParam("end_time", end_time)
|
||||||
|
.addParam("begin_date", begin_date)
|
||||||
|
.addParam("end_date", end_date)
|
||||||
|
.process().getResultJSONArray(0);
|
||||||
Map<String, List<Object>> datePlanMap = DataPlanQtyArray.stream().collect(Collectors.groupingBy(a -> ((JSONObject)a).getString("material_id")));
|
Map<String, List<Object>> datePlanMap = DataPlanQtyArray.stream().collect(Collectors.groupingBy(a -> ((JSONObject)a).getString("material_id")));
|
||||||
|
|
||||||
for (int i = 0; i < mater_rows.size(); i++) {
|
for (int i = 0; i < mater_rows.size(); i++) {
|
||||||
@@ -211,7 +253,6 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
//已开单重量
|
//已开单重量
|
||||||
jo22.put(material_id, String.format("%.2f", need_qty));
|
jo22.put(material_id, String.format("%.2f", need_qty));
|
||||||
//2、排产需求量(未开工的工令重量+排产未生成工令日计划重量)根据bom计算需要多少原料库存重量:
|
//2、排产需求量(未开工的工令重量+排产未生成工令日计划重量)根据bom计算需要多少原料库存重量:
|
||||||
// JSONObject nedd_mater = WQL.getWO("statistical_report_query_01").addParam("flag", "6").addParam("material_id", material_id).addParam("begin_time", begin_time).addParam("end_time", end_time).addParam("org_id", org_id).process().uniqueResult(0);
|
|
||||||
double bom_qty = 0;
|
double bom_qty = 0;
|
||||||
List<Object> needMaterInfo = needMaterMap.get(material_id);
|
List<Object> needMaterInfo = needMaterMap.get(material_id);
|
||||||
if (ObjectUtil.isNotEmpty(needMaterInfo)) {
|
if (ObjectUtil.isNotEmpty(needMaterInfo)) {
|
||||||
@@ -270,6 +311,14 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
double buy_qty = (canuse_num + noin_qty + notqty) - (bom_qty + safe_qty);
|
double buy_qty = (canuse_num + noin_qty + notqty) - (bom_qty + safe_qty);
|
||||||
jo8.put(material_id, String.format("%.2f", buy_qty));
|
jo8.put(material_id, String.format("%.2f", buy_qty));
|
||||||
|
|
||||||
|
//9
|
||||||
|
double need_qty2 = 0;
|
||||||
|
if (dtlJa_map2.containsKey(material_id)) {
|
||||||
|
need_qty2 = dtlJa_map2.get(material_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
jo9.put(material_id, String.format("%.2f", need_qty2));
|
||||||
|
|
||||||
//6、覆盖日期:物料库存可坚持到哪一天:库存现存量减每天需求量,哪天<0,取前一天
|
//6、覆盖日期:物料库存可坚持到哪一天:库存现存量减每天需求量,哪天<0,取前一天
|
||||||
if (canuse_num<0){
|
if (canuse_num<0){
|
||||||
jo5.put(material_id, DateUtil.offsetDay(date1, -1).toString().substring(0, 10));
|
jo5.put(material_id, DateUtil.offsetDay(date1, -1).toString().substring(0, 10));
|
||||||
@@ -290,25 +339,6 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// for (int j = 1; j <= betweenDay; j++) {
|
|
||||||
// DateTime newDate = DateUtil.offsetDay(date1, j);
|
|
||||||
// //查询该物料当天的需求量
|
|
||||||
// JSONObject today_qty = WQL.getWO("statistical_report_query_01").addParam("flag", "8").addParam("material_id", material_id).addParam("begin_time", newDate.toString().substring(0, 10) + "%").process().uniqueResult(0);
|
|
||||||
// double need_weight = 0;
|
|
||||||
// if (ObjectUtil.isNotEmpty(today_qty)) {
|
|
||||||
// need_weight = today_qty.getDoubleValue("qty");
|
|
||||||
// }
|
|
||||||
// if (canuse_num < need_weight) {
|
|
||||||
// jo5.put(material_id, DateUtil.offsetDay(newDate, -1).toString().substring(0, 10));
|
|
||||||
// break;
|
|
||||||
// } else {
|
|
||||||
// canuse_num -= need_weight;
|
|
||||||
// }
|
|
||||||
// if (j == betweenDay) {
|
|
||||||
// jo5.put(material_id, end_time.substring(0, 10));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
@@ -320,9 +350,36 @@ public class StatisticalReportServiceImpl implements StatisticalReportService {
|
|||||||
public Map<String, Object> materPlanDtlQuery(Map whereJson) {
|
public Map<String, Object> materPlanDtlQuery(Map whereJson) {
|
||||||
String begin_time = MapUtil.getStr(whereJson, "begin_time");
|
String begin_time = MapUtil.getStr(whereJson, "begin_time");
|
||||||
String end_time = MapUtil.getStr(whereJson, "end_time");
|
String end_time = MapUtil.getStr(whereJson, "end_time");
|
||||||
String org_id = MapUtil.getStr(whereJson, "org_id");
|
String begin_date = "";
|
||||||
|
String end_date = "";
|
||||||
|
if (StrUtil.isNotEmpty(begin_time)) {
|
||||||
|
begin_time = begin_time.substring(0,10)+" 00:00:00";
|
||||||
|
begin_date = begin_time.substring(0,10);
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotEmpty(end_time)) {
|
||||||
|
end_time = end_time.substring(0,10)+" 23:59:59";
|
||||||
|
end_date = end_time.substring(0,10);
|
||||||
|
}
|
||||||
|
String org_ids = MapUtil.getStr(whereJson, "task_status");
|
||||||
|
|
||||||
|
String org_ids_new = "";
|
||||||
|
if (StrUtil.isNotEmpty(org_ids) && !"null".equals(org_ids)) {
|
||||||
|
String[] strs = org_ids.split(",");
|
||||||
|
for( int i=0;i<strs.length;i++){
|
||||||
|
if(i==0){
|
||||||
|
org_ids_new = "('" +strs[i];
|
||||||
|
}else{
|
||||||
|
org_ids_new =org_ids_new +"','"+strs[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
org_ids_new =org_ids_new +"')";
|
||||||
|
}
|
||||||
//查询日期内的排产日计划物料信息
|
//查询日期内的排产日计划物料信息
|
||||||
JSONArray jsonArr = WQL.getWO("statistical_report_query_01").addParam("flag", "9").addParam("begin_time", begin_time).addParam("end_time", end_time).addParam("org_id", org_id).process().getResultJSONArray(0);
|
JSONArray jsonArr = WQL.getWO("statistical_report_query_01").addParam("flag", "9")
|
||||||
|
.addParam("begin_time", begin_time).addParam("end_time", end_time)
|
||||||
|
.addParam("begin_date", begin_date)
|
||||||
|
.addParam("end_date", end_date)
|
||||||
|
.addParam("org_ids", org_ids_new).process().getResultJSONArray(0);
|
||||||
JSONArray rows = new JSONArray();
|
JSONArray rows = new JSONArray();
|
||||||
for (int i = 0; i < jsonArr.size(); i++) {
|
for (int i = 0; i < jsonArr.size(); i++) {
|
||||||
JSONObject row = jsonArr.getJSONObject(i);
|
JSONObject row = jsonArr.getJSONObject(i);
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
输入.flag TYPEAS s_string
|
输入.flag TYPEAS s_string
|
||||||
输入.begin_time TYPEAS s_string
|
输入.begin_time TYPEAS s_string
|
||||||
输入.end_time TYPEAS s_string
|
输入.end_time TYPEAS s_string
|
||||||
|
输入.begin_date TYPEAS s_string
|
||||||
|
输入.end_date TYPEAS s_string
|
||||||
输入.pcsn TYPEAS s_string
|
输入.pcsn TYPEAS s_string
|
||||||
输入.material_code TYPEAS s_string
|
输入.material_code TYPEAS s_string
|
||||||
输入.bill_code TYPEAS s_string
|
输入.bill_code TYPEAS s_string
|
||||||
@@ -28,6 +30,8 @@
|
|||||||
输入.bill_status TYPEAS s_string
|
输入.bill_status TYPEAS s_string
|
||||||
输入.material_id TYPEAS s_string
|
输入.material_id TYPEAS s_string
|
||||||
输入.org_id TYPEAS s_string
|
输入.org_id TYPEAS s_string
|
||||||
|
输入.material_ids TYPEAS f_string
|
||||||
|
输入.org_ids TYPEAS f_string
|
||||||
|
|
||||||
|
|
||||||
[临时表]
|
[临时表]
|
||||||
@@ -313,45 +317,55 @@
|
|||||||
mb.material_name,
|
mb.material_name,
|
||||||
mb.material_code,
|
mb.material_code,
|
||||||
class.parent_class_id,
|
class.parent_class_id,
|
||||||
(case when class.class_id = '1503644362192588800' then 1
|
|
||||||
when class.class_id = '1503644361664106496' then 2
|
|
||||||
when class.class_id = '1503644362788179968' then 4
|
|
||||||
when class.class_id = '1503644362234531840' then 5
|
|
||||||
else 3 end) AS order_no
|
|
||||||
FROM
|
|
||||||
(
|
(
|
||||||
SELECT
|
CASE
|
||||||
wo.material_id
|
|
||||||
|
WHEN class.class_id = '1503644362192588800' THEN
|
||||||
|
1
|
||||||
|
WHEN class.class_id = '1503644361664106496' THEN
|
||||||
|
2
|
||||||
|
WHEN class.class_id = '1503644362788179968' THEN
|
||||||
|
4
|
||||||
|
WHEN class.class_id = '1503644362234531840' THEN
|
||||||
|
5 ELSE 3
|
||||||
|
END
|
||||||
|
) AS order_no
|
||||||
FROM
|
FROM
|
||||||
pdm_bi_workorder wo
|
(
|
||||||
WHERE
|
SELECT
|
||||||
wo.is_delete = '0'
|
dtl.material_id
|
||||||
AND wo.`status` IN ( '10', '20', '30' )
|
FROM
|
||||||
OPTION 输入.begin_time <> ""
|
(
|
||||||
wo.planstart_time >= 输入.begin_time
|
SELECT
|
||||||
ENDOPTION
|
wo.material_id
|
||||||
OPTION 输入.end_time <> ""
|
FROM
|
||||||
wo.planstart_time <= 输入.end_time
|
pdm_bi_workorder wo
|
||||||
ENDOPTION
|
WHERE
|
||||||
UNION
|
wo.is_delete = '0'
|
||||||
SELECT
|
AND wo.`status` IN ( '10', '20', '30' ) UNION
|
||||||
plan.material_id
|
SELECT
|
||||||
FROM
|
plan.material_id
|
||||||
mps_bd_productdailyplan plan
|
FROM
|
||||||
WHERE
|
mps_bd_productdailyplan plan
|
||||||
plan.`status` = '01'
|
WHERE
|
||||||
OPTION 输入.begin_time <> ""
|
plan.`status` = '01'
|
||||||
plan.planstart_date >= 输入.begin_time
|
) a
|
||||||
ENDOPTION
|
INNER JOIN md_pd_productbom bom ON bom.material_id = a.material_id
|
||||||
OPTION 输入.end_time <> ""
|
INNER JOIN md_pd_productbomdtl dtl ON dtl.bom_id = bom.bom_id UNION
|
||||||
plan.planstart_date <= 输入.end_time
|
SELECT
|
||||||
ENDOPTION
|
mb2.material_id
|
||||||
) a
|
FROM
|
||||||
LEFT JOIN md_pd_productbom bom ON bom.material_id = a.material_id
|
md_me_materialbase mb2
|
||||||
LEFT JOIN md_pd_productbomdtl dtl ON dtl.bom_id = bom.bom_id
|
WHERE
|
||||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
|
1 = 1
|
||||||
LEFT JOIN md_pb_classstandard class ON class.class_id = mb.material_type_id
|
AND mb2.is_delete = '0'
|
||||||
ORDER BY order_no,material_code
|
AND mb2.material_type_id IN ( '1503644361664106496', '1503644361697660928', '1503644362192588800', '1503644362234531840', '1503644362788179968', '1503644362838511616' )
|
||||||
|
) b
|
||||||
|
INNER JOIN md_me_materialbase mb ON mb.material_id = b.material_id
|
||||||
|
INNER JOIN md_pb_classstandard class ON class.class_id = mb.material_type_id
|
||||||
|
ORDER BY
|
||||||
|
order_no,
|
||||||
|
material_code
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -433,14 +447,14 @@
|
|||||||
WHERE
|
WHERE
|
||||||
wo.`status` < 50
|
wo.`status` < 50
|
||||||
AND is_delete = '0'
|
AND is_delete = '0'
|
||||||
OPTION 输入.begin_time <> ""
|
OPTION 输入.begin_date <> ""
|
||||||
wo.planstart_time >= 输入.begin_time
|
wo.planstart_time >= 输入.begin_date
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.end_time <> ""
|
OPTION 输入.end_date <> ""
|
||||||
wo.planstart_time <= 输入.end_time
|
wo.planstart_time <= 输入.end_date
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.org_id <> ""
|
OPTION 输入.org_ids <> ""
|
||||||
wo.org_id = 输入.org_id
|
wo.org_id in 输入.org_ids
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT
|
SELECT
|
||||||
@@ -457,8 +471,8 @@
|
|||||||
OPTION 输入.end_time <> ""
|
OPTION 输入.end_time <> ""
|
||||||
plan.planstart_date <= 输入.end_time
|
plan.planstart_date <= 输入.end_time
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.org_id <> ""
|
OPTION 输入.org_ids <> ""
|
||||||
dept.dept_id = 输入.org_id
|
dept.dept_id in 输入.org_ids
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
) a
|
) a
|
||||||
GROUP BY
|
GROUP BY
|
||||||
@@ -632,16 +646,15 @@
|
|||||||
LEFT JOIN sys_dept dept ON dept.`code` = plan.plan_org_code
|
LEFT JOIN sys_dept dept ON dept.`code` = plan.plan_org_code
|
||||||
WHERE
|
WHERE
|
||||||
plan.status = '01'
|
plan.status = '01'
|
||||||
OPTION 输入.begin_time <> ""
|
OPTION 输入.begin_date <> ""
|
||||||
plan.planstart_date >= 输入.begin_time
|
plan.planstart_date >= 输入.begin_date
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.end_time <> ""
|
OPTION 输入.end_date <> ""
|
||||||
plan.planstart_date <= 输入.end_time
|
plan.planstart_date <= 输入.end_date
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.org_id <> ""
|
OPTION 输入.org_ids <> ""
|
||||||
dept.dept_id = 输入.org_id
|
dept.dept_id in 输入.org_ids
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
@@ -665,12 +678,11 @@
|
|||||||
OPTION 输入.end_time <> ""
|
OPTION 输入.end_time <> ""
|
||||||
wo.planstart_time <= 输入.end_time
|
wo.planstart_time <= 输入.end_time
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.org_id <> ""
|
OPTION 输入.org_ids <> ""
|
||||||
wo.org_id = 输入.org_id
|
wo.org_id in 输入.org_ids
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
GROUP BY
|
GROUP BY
|
||||||
planstart_time,wo.material_id
|
planstart_time,wo.material_id
|
||||||
|
|
||||||
ORDER BY
|
ORDER BY
|
||||||
planstart_date
|
planstart_date
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
@@ -709,11 +721,11 @@
|
|||||||
FROM
|
FROM
|
||||||
MPS_BD_ProductDailyPlan
|
MPS_BD_ProductDailyPlan
|
||||||
WHERE `status` = '01'
|
WHERE `status` = '01'
|
||||||
OPTION 输入.begin_time <> ""
|
OPTION 输入.begin_date <> ""
|
||||||
planstart_date >= 输入.begin_time
|
planstart_date >= 输入.begin_date
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
OPTION 输入.end_time <> ""
|
OPTION 输入.end_date <> ""
|
||||||
planstart_date <= 输入.end_time
|
planstart_date <= 输入.end_date
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
) a GROUP BY a.material_id,currentDate
|
) a GROUP BY a.material_id,currentDate
|
||||||
) b
|
) b
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
输入.flag TYPEAS s_string
|
输入.flag TYPEAS s_string
|
||||||
输入.begin_time TYPEAS s_string
|
输入.begin_time TYPEAS s_string
|
||||||
输入.end_time TYPEAS s_string
|
输入.end_time TYPEAS s_string
|
||||||
|
输入.begin_date TYPEAS s_string
|
||||||
|
输入.end_date TYPEAS s_string
|
||||||
输入.pcsn TYPEAS s_string
|
输入.pcsn TYPEAS s_string
|
||||||
输入.material_code TYPEAS s_string
|
输入.material_code TYPEAS s_string
|
||||||
输入.bill_code TYPEAS s_string
|
输入.bill_code TYPEAS s_string
|
||||||
@@ -131,4 +133,25 @@
|
|||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "4"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
FormulaDtl.material_id,
|
||||||
|
SUM( FormulaDtl.formula_qty ) AS qty
|
||||||
|
FROM PDM_BI_Formula Formula
|
||||||
|
inner JOIN PDM_BI_FormulaDtl FormulaDtl ON FormulaDtl.formula_id = Formula.formula_id
|
||||||
|
where 1=1
|
||||||
|
and Formula.is_delete='0'
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
Formula.create_time >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
Formula.create_time <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
|
GROUP BY
|
||||||
|
FormulaDtl.material_id
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,16 @@
|
|||||||
label-suffix=":"
|
label-suffix=":"
|
||||||
>
|
>
|
||||||
<el-form-item label="统计日期">
|
<el-form-item label="统计日期">
|
||||||
<date-range-picker v-model="query.createTime" class="date-item" />
|
<el-date-picker
|
||||||
|
v-model="query.createTime"
|
||||||
|
type="daterange"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
@input="onInput()"
|
||||||
|
@change="mytoQuery"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所属组织">
|
<el-form-item label="所属组织">
|
||||||
<el-select
|
<el-select
|
||||||
@@ -20,8 +29,10 @@
|
|||||||
clearable
|
clearable
|
||||||
size="mini"
|
size="mini"
|
||||||
placeholder="所属组织"
|
placeholder="所属组织"
|
||||||
|
multiple
|
||||||
|
style="width: 400px"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
@change="crud.toQuery"
|
@change="handTaskStatus"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in Depts"
|
v-for="item in Depts"
|
||||||
@@ -99,17 +110,15 @@ import crudOperation from '@crud/CRUD.operation'
|
|||||||
import StructIvt4 from '@/views/wms/statistics/materPlan/StructIvt4'
|
import StructIvt4 from '@/views/wms/statistics/materPlan/StructIvt4'
|
||||||
import StructIvt3 from '@/views/wms/statistics/materPlan/StructIvt3'
|
import StructIvt3 from '@/views/wms/statistics/materPlan/StructIvt3'
|
||||||
import StructIvt2 from '@/views/wms/statistics/materPlan/StructIvt2'
|
import StructIvt2 from '@/views/wms/statistics/materPlan/StructIvt2'
|
||||||
import DateRangePicker from '@/components/DateRangePicker'
|
|
||||||
import crudInspectionsheetmst from '@/api/wms/ql/inspectionsheetmst'
|
import crudInspectionsheetmst from '@/api/wms/ql/inspectionsheetmst'
|
||||||
import { download } from '@/api/data'
|
import { download } from '@/api/data'
|
||||||
import { downloadFile } from '@/utils'
|
import { downloadFile } from '@/utils'
|
||||||
import Date from '@/utils/datetime'
|
import Date from '@/utils/datetime'
|
||||||
import workorder from '@/api/wms/pdm/workorder'
|
import workorder from '@/api/wms/pdm/workorder'
|
||||||
|
|
||||||
const start = new Date()
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MaterPlanQuery',
|
name: 'MaterPlanQuery',
|
||||||
components: { crudOperation, rrOperation, DateRangePicker, StructIvt4, StructIvt2, StructIvt3 },
|
components: { crudOperation, rrOperation, StructIvt4, StructIvt2, StructIvt3 },
|
||||||
mixins: [presenter(), header(), crud()],
|
mixins: [presenter(), header(), crud()],
|
||||||
cruds() {
|
cruds() {
|
||||||
return CRUD({
|
return CRUD({
|
||||||
@@ -118,7 +127,7 @@ export default {
|
|||||||
idField: '1',
|
idField: '1',
|
||||||
sort: '1,desc',
|
sort: '1,desc',
|
||||||
query: {
|
query: {
|
||||||
createTime: [new Date(), start.daysLater(30)]
|
task_status: ''
|
||||||
},
|
},
|
||||||
optShow: {
|
optShow: {
|
||||||
add: false,
|
add: false,
|
||||||
@@ -139,6 +148,7 @@ export default {
|
|||||||
structshow2: false,
|
structshow2: false,
|
||||||
structshow3: false,
|
structshow3: false,
|
||||||
Depts: [],
|
Depts: [],
|
||||||
|
query_flag: true,
|
||||||
statusList: [],
|
statusList: [],
|
||||||
permission: {},
|
permission: {},
|
||||||
rules: {}
|
rules: {}
|
||||||
@@ -150,6 +160,7 @@ export default {
|
|||||||
workorder.getDepts().then(res => {
|
workorder.getDepts().then(res => {
|
||||||
this.Depts = res
|
this.Depts = res
|
||||||
})
|
})
|
||||||
|
this.crud.query.createTime = [new Date(), new Date().daysLater(30)]
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||||
@@ -160,9 +171,10 @@ export default {
|
|||||||
report.getHeader2().then(res => {
|
report.getHeader2().then(res => {
|
||||||
this.cols2 = res
|
this.cols2 = res
|
||||||
})
|
})
|
||||||
if (this.crud.query.createTime) {
|
if (this.query_flag) {
|
||||||
this.crud.query.begin_time = this.crud.query.createTime[0]
|
this.crud.query.begin_time = (new Date()).strftime('%F', 'zh')
|
||||||
this.crud.query.end_time = this.crud.query.createTime[1]
|
this.crud.query.end_time = (new Date().daysLater(30)).strftime('%F', 'zh')
|
||||||
|
this.query_flag = false
|
||||||
}
|
}
|
||||||
const data = this.crud.query
|
const data = this.crud.query
|
||||||
report.materPlanDtlQuery(data).then(res => {
|
report.materPlanDtlQuery(data).then(res => {
|
||||||
@@ -173,6 +185,21 @@ export default {
|
|||||||
})
|
})
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
|
handTaskStatus(value) {
|
||||||
|
var str1 = ''
|
||||||
|
if (value) {
|
||||||
|
for (const item of value) {
|
||||||
|
if (str1 === '') {
|
||||||
|
str1 = item
|
||||||
|
} else {
|
||||||
|
str1 = str1 + ',' + item
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.query.task_status = str1
|
||||||
|
} else {
|
||||||
|
this.query.task_status = ''
|
||||||
|
}
|
||||||
|
},
|
||||||
open2(index, row) {
|
open2(index, row) {
|
||||||
if (row.first === '库存现存量') {
|
if (row.first === '库存现存量') {
|
||||||
this.structshow = true
|
this.structshow = true
|
||||||
@@ -198,6 +225,19 @@ export default {
|
|||||||
hand(value) {
|
hand(value) {
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
},
|
},
|
||||||
|
onInput() {
|
||||||
|
this.$forceUpdate()
|
||||||
|
},
|
||||||
|
mytoQuery(array1) {
|
||||||
|
if (array1 === null) {
|
||||||
|
this.crud.query.begin_time = ''
|
||||||
|
this.crud.query.end_time = ''
|
||||||
|
} else {
|
||||||
|
this.crud.query.begin_time = array1[0]
|
||||||
|
this.crud.query.end_time = array1[1]
|
||||||
|
}
|
||||||
|
this.crud.toQuery()
|
||||||
|
},
|
||||||
downdtl() {
|
downdtl() {
|
||||||
if (this.currentRow !== null) {
|
if (this.currentRow !== null) {
|
||||||
crud.downloadLoading = true
|
crud.downloadLoading = true
|
||||||
|
|||||||
Reference in New Issue
Block a user