This commit is contained in:
zds
2022-11-22 13:18:38 +08:00
parent 97b5fa68f3
commit 717ab75d31
6 changed files with 103 additions and 24 deletions

View File

@@ -11,6 +11,7 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.exception.BadRequestException;
@@ -32,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author zhouz
@@ -50,14 +52,17 @@ public class MaterialParametersServiceImpl implements MaterialParametersService
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
HashMap<Object, Object> map = new HashMap<>();
String material_code = (String) whereJson.get("material_code");
String material_type_id = (String) whereJson.get("material_type_id");
String class_idStr = (String) whereJson.get("class_idStr");
String ids = MapUtil.getStr(whereJson, "ids");
map.put("flag", "1");
if (!StrUtil.isEmpty(material_code)) {
//处理转义字符
if (material_code.contains("\\")) material_code = material_code.replace("\\", "\\\\\\");
map.put("material_code", material_code);
map.put("search", material_code);
}
String material_type_id = (String) whereJson.get("material_type_id");
String class_idStr = (String) whereJson.get("class_idStr");
//处理物料当前节点的所有子节点
if (!StrUtil.isEmpty(material_type_id)) {
map.put("material_type_id", material_type_id);
@@ -71,8 +76,37 @@ public class MaterialParametersServiceImpl implements MaterialParametersService
if (!StrUtil.isEmpty(class_code)) {
map.put("class_code", class_code + "%");
}
JSONObject json = WQL.getWO("QMT_MATERIALPARAMETERS_001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "material_id");
return json;
StringBuffer where = new StringBuffer();
if (StrUtil.isNotEmpty(ids)) {
ids = ids.replaceAll("\'", "");
String[] strs = ids.split(",");
where.append("(");
for (int i = 0; i < strs.length; ) {
where.append("class.class_code like '" + strs[i] + "%'");
i++;
if (i < strs.length) {
where.append(" or ");
}
}
where.append(")");
map.put("idssql", where.toString());
} else {
map.put("idssql", "1=1");
}
map.put("flag", "2");
JSONObject allmaterialIds = WQL.getWO("QMD_ME_MATERIAL").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "material_id");
JSONArray array = allmaterialIds.getJSONArray("content");
String allmaterialId = " ";
if (ObjectUtil.isNotEmpty(array)){
allmaterialId = "(\""+array.stream().map(o -> ((JSONObject) o).getString("material_id")).collect(Collectors.joining("\",\""))+"\")";
}
Map<String, String> query = Maps.newHashMap();
query.put("flag", "11");
query.put("materialIds", allmaterialId);
JSONArray currentArray = WQL.getWO("QMT_MATERIALPARAMETERS_001").addParamMap(query).process().getResultJSONArray(0);
allmaterialIds.put("content",currentArray);
return allmaterialIds;
}
@Override

View File

@@ -116,7 +116,7 @@
ENDIF
IF 输入.flag = "3"
PAGEQUERY
QUERY
SELECT
mb.material_id,
mb.material_code,
@@ -147,7 +147,7 @@
mb.material_id in 输入.materialIds
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDQUERY
ENDIF

View File

@@ -19,6 +19,7 @@
输入.material_type_id TYPEAS s_string
输入.class_code TYPEAS s_string
输入.classIds TYPEAS f_string
输入.materialIds TYPEAS f_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -111,6 +112,67 @@
ENDPAGEQUERY
ENDIF
IF 输入.flag = "11"
QUERY
SELECT
m.material_id,
m.material_code,
m.material_name,
m.base_unit_id,
m.material_type_id,
s.is_need_plan,
s.standard_weight AS stock_standard_weight,
s.is_report AS stock_is_report,
s.wc_seqno,
s.report_seqno,
s.is_pure,
s.is_need_move AS stock_is_need_move,
p.old_mark,
p.standard_mark,
p.product_mode,
p.is_auto_open,
p.waste_limit_down,
p.waste_limit_up,
p.report_time,
p.is_report AS produc_is_report,
p.is_again_put,
p.standard_weight AS produc_standard_weight,
p.product_series,
p.c_balance,
p.ball_speed,
p.weight_lost_up,
p.weight_lost_down,
p.product_ball_time,
p.standard_weight_pft,
p.is_need_move AS product_is_need_move,
p.net_rate,
p.technology_code,
p.ball_rate,
p.liquid_rate,
m.is_used,
m.update_optname,
m.update_time,
m.material_height_type,
b.class_name,
b.class_code,
u.unit_name,
work.value AS qm_time
FROM
md_me_materialbase m
LEFT JOIN md_me_stockmaterialext s ON m.material_id = s.material_id
LEFT JOIN md_me_producmaterialext p ON m.material_id = p.material_id
LEFT JOIN md_pb_classstandard b ON m.material_type_id = b.class_id
LEFT JOIN md_pb_measureunit u ON u.measure_unit_id = m.base_unit_id
LEFT JOIN PDM_BI_WorkProcedureParaProduct work ON work.material_id = m.material_id AND para_code = 'QM008'
WHERE
m.is_delete = '0'
OPTION 输入.materialIds <> ""
m.material_id in 输入.materialIds
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "3"
PAGEQUERY
SELECT

View File

@@ -12,6 +12,7 @@
<el-select
v-model="query.base_data_type"
placeholder="请选择"
clearable
>
<el-option
v-for="item in dict.base_data"

View File

@@ -251,15 +251,6 @@ export default {
this.initTree()
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
if (this.open) {
this.open = false
return false
} else {
return true
}
},
initTree() {
const param = {
'materOpt_code': '00'

View File

@@ -196,15 +196,6 @@ export default {
})
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
if (this.open) {
this.open = false
return false
} else {
return true
}
},
stockIsNeedMove(row, clou) {
if (row.stock_is_need_move === '0') return '否'
if (row.stock_is_need_move === '1') return '是'