代码更新
This commit is contained in:
@@ -2,8 +2,8 @@ package org.nl.wms.pcs.Enum;
|
|||||||
|
|
||||||
public enum IsProcEnum {
|
public enum IsProcEnum {
|
||||||
GENERATE(1, "0", "生成"),
|
GENERATE(1, "0", "生成"),
|
||||||
PURCHASING_AGENT(2, "1", "采购汇总"),
|
PURCHASING_AGENT(2, "1", "提交"),
|
||||||
COMMIT(3, "2", "提交生产");
|
COMMIT(3, "2", "排产");
|
||||||
private int index;
|
private int index;
|
||||||
private String name;
|
private String name;
|
||||||
private String code;
|
private String code;
|
||||||
|
|||||||
@@ -249,44 +249,61 @@ public class ProductplanSumServiceImpl implements ProductplanSumService {
|
|||||||
|
|
||||||
HashMap<String, String> map = new HashMap<>(form);
|
HashMap<String, String> map = new HashMap<>(form);
|
||||||
String plan_month = map.get("plan_month");
|
String plan_month = map.get("plan_month");
|
||||||
|
String plan_org_code = map.get("plan_org_code");
|
||||||
String material_code = map.get("material_code");
|
String material_code = map.get("material_code");
|
||||||
map.put("flag", "2");
|
map.put("flag", "3");
|
||||||
if (StrUtil.isNotEmpty(material_code)) {
|
if (StrUtil.isNotEmpty(plan_month)) {
|
||||||
map.put("plan_month", plan_month.replace("-", ""));
|
map.put("plan_month", plan_month.replace("-", ""));
|
||||||
} else {
|
} else {
|
||||||
map.put("plan_month", "");
|
map.put("plan_month", "");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotEmpty(material_code)) {
|
map.put("plan_org_code", plan_org_code);
|
||||||
map.put("material_code", "%" + material_code + "%");
|
map.put("material_code", material_code);
|
||||||
}
|
|
||||||
//汇总查询
|
//汇总查询
|
||||||
JSONArray allArr = WQL.getWO("QPCS_IF_PRODUCTPLANSUM02").addParamMap(map).process().getResultJSONArray(0);
|
JSONArray allArr = WQL.getWO("QPCS_IF_PRODUCTPLANSUM02").addParamMap(map).process().getResultJSONArray(0);
|
||||||
if (ObjectUtil.isEmpty(allArr)) {
|
JSONArray resultArr = new JSONArray();
|
||||||
throw new BadRequestException("没有数据");
|
HashMap<String, JSONObject> resultMap = new HashMap<>();
|
||||||
}
|
|
||||||
String num = "0.01";
|
|
||||||
for (int i = 0; i < allArr.size(); i++) {
|
for (int i = 0; i < allArr.size(); i++) {
|
||||||
JSONObject json = allArr.getJSONObject(i);
|
JSONObject json = allArr.getJSONObject(i);
|
||||||
//计算所需数量
|
String product_weight = json.getString("product_weight"); // 生产计划重量
|
||||||
String product_weight = json.getString("product_weight");
|
|
||||||
String raet = json.getString("raet");
|
// 查询生产物料 所需要的原辅料
|
||||||
if (ObjectUtil.isEmpty(raet)) {
|
map.put("flag", "4");
|
||||||
throw new BadRequestException("此计划【" + json.getString("plan_code") + "】没有创建bom单");
|
map.put("bom_id", json.getString("bom_id"));
|
||||||
|
JSONArray materYFArr = WQL.getWO("QPCS_IF_PRODUCTPLANSUM02").addParamMap(map).process().getResultJSONArray(0);
|
||||||
|
for (int j = 0; j < materYFArr.size(); j++) {
|
||||||
|
JSONObject jsonYF = materYFArr.getJSONObject(j);
|
||||||
|
// 计算原辅料所需重量
|
||||||
|
String standard_rate = jsonYF.getString("standard_rate");
|
||||||
|
String s = String.valueOf(NumberUtil.mul(standard_rate, "0.01"));
|
||||||
|
BigDecimal div = NumberUtil.mul(product_weight, s);
|
||||||
|
jsonYF.put("plan_org_name", json.getString("plan_org_name"));
|
||||||
|
jsonYF.put("plan_month", json.getString("plan_month"));
|
||||||
|
jsonYF.put("num", div.toString());
|
||||||
|
|
||||||
|
// 汇总相同物料的所需重量
|
||||||
|
String material_id = jsonYF.getString("material_id");
|
||||||
|
|
||||||
|
if (resultMap.containsKey(material_id)) {
|
||||||
|
JSONObject jsonObject = resultMap.get(material_id);
|
||||||
|
BigDecimal allNum = NumberUtil.add(jsonObject.getString("num"), div.toString());
|
||||||
|
jsonObject.put("num",allNum);
|
||||||
|
resultMap.put(material_id,jsonObject);
|
||||||
|
} else {
|
||||||
|
resultMap.put(material_id,jsonYF);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
String s = String.valueOf(NumberUtil.mul(raet, num));
|
|
||||||
BigDecimal div = NumberUtil.mul(product_weight, s);
|
|
||||||
json.put("num", String.valueOf(div));
|
|
||||||
//更新月需求计划接口表
|
|
||||||
String plan_id = json.getString("plan_id");
|
|
||||||
WQLObject procTab = WQLObject.getWQLObject("PCS_IF_ProductPlanProc");
|
|
||||||
JSONObject jsonProc = procTab.query("plan_id = '" + plan_id + "'").uniqueResult(0);
|
|
||||||
jsonProc.put("is_proc", IsProcEnum.PURCHASING_AGENT.getCode());
|
|
||||||
procTab.update(jsonProc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (String k : resultMap.keySet()) {
|
||||||
|
JSONObject resultJson = resultMap.get(k);
|
||||||
|
resultArr.add(resultJson);
|
||||||
|
}
|
||||||
|
|
||||||
List<Map<String, Object>> list = new ArrayList<>();
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
for (int i = 0; i < allArr.size(); i++) {
|
for (int i = 0; i < resultArr.size(); i++) {
|
||||||
Map<String, Object> mp = new LinkedHashMap<>();
|
Map<String, Object> mp = new LinkedHashMap<>();
|
||||||
JSONObject json = allArr.getJSONObject(i);
|
JSONObject json = resultArr.getJSONObject(i);
|
||||||
mp.put("申报单位名称", json.getString("plan_org_name"));
|
mp.put("申报单位名称", json.getString("plan_org_name"));
|
||||||
mp.put("计划月份", json.getString("plan_month"));
|
mp.put("计划月份", json.getString("plan_month"));
|
||||||
mp.put("物料编码", json.getString("material_code"));
|
mp.put("物料编码", json.getString("material_code"));
|
||||||
@@ -313,41 +330,59 @@ public class ProductplanSumServiceImpl implements ProductplanSumService {
|
|||||||
String plan_org_code = dto.getPlan_org_code();
|
String plan_org_code = dto.getPlan_org_code();
|
||||||
String material_code = dto.getMaterial_code();
|
String material_code = dto.getMaterial_code();
|
||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
map.put("flag", "2");
|
map.put("flag", "3");
|
||||||
if (StrUtil.isNotEmpty(material_code)) {
|
if (StrUtil.isNotEmpty(plan_month)) {
|
||||||
map.put("plan_month", plan_month.replace("-", ""));
|
map.put("plan_month", plan_month.replace("-", ""));
|
||||||
} else {
|
} else {
|
||||||
map.put("plan_month", "");
|
map.put("plan_month", "");
|
||||||
}
|
}
|
||||||
map.put("plan_org_code", plan_org_code);
|
map.put("plan_org_code", plan_org_code);
|
||||||
if (StrUtil.isNotEmpty(material_code)) {
|
map.put("material_code", material_code);
|
||||||
map.put("material_code", "%" + material_code + "%");
|
|
||||||
}
|
|
||||||
//汇总查询
|
//汇总查询
|
||||||
JSONArray allArr = WQL.getWO("QPCS_IF_PRODUCTPLANSUM02").addParamMap(map).process().getResultJSONArray(0);
|
JSONArray allArr = WQL.getWO("QPCS_IF_PRODUCTPLANSUM02").addParamMap(map).process().getResultJSONArray(0);
|
||||||
if (ObjectUtil.isEmpty(allArr)) {
|
if (ObjectUtil.isEmpty(allArr)) {
|
||||||
throw new BadRequestException("没有数据");
|
throw new BadRequestException("没有数据");
|
||||||
}
|
}
|
||||||
String num = "0.01";
|
JSONArray resultArr = new JSONArray();
|
||||||
|
HashMap<String, JSONObject> resultMap = new HashMap<>();
|
||||||
for (int i = 0; i < allArr.size(); i++) {
|
for (int i = 0; i < allArr.size(); i++) {
|
||||||
JSONObject json = allArr.getJSONObject(i);
|
JSONObject json = allArr.getJSONObject(i);
|
||||||
//计算所需数量
|
String product_weight = json.getString("product_weight"); // 生产计划重量
|
||||||
String product_weight = json.getString("product_weight");
|
|
||||||
String raet = json.getString("raet");
|
// 查询生产物料 所需要的原辅料
|
||||||
if (ObjectUtil.isEmpty(raet)) {
|
map.put("flag", "4");
|
||||||
throw new BadRequestException("此计划【" + json.getString("plan_code") + "】没有创建bom单");
|
map.put("bom_id", json.getString("bom_id"));
|
||||||
|
JSONArray materYFArr = WQL.getWO("QPCS_IF_PRODUCTPLANSUM02").addParamMap(map).process().getResultJSONArray(0);
|
||||||
|
for (int j = 0; j < materYFArr.size(); j++) {
|
||||||
|
JSONObject jsonYF = materYFArr.getJSONObject(j);
|
||||||
|
// 计算原辅料所需重量
|
||||||
|
String standard_rate = jsonYF.getString("standard_rate");
|
||||||
|
String s = String.valueOf(NumberUtil.mul(standard_rate, "0.01"));
|
||||||
|
BigDecimal div = NumberUtil.mul(product_weight, s);
|
||||||
|
jsonYF.put("plan_org_name", json.getString("plan_org_name"));
|
||||||
|
jsonYF.put("plan_month", json.getString("plan_month"));
|
||||||
|
jsonYF.put("num", div.toString());
|
||||||
|
|
||||||
|
// 汇总相同物料的所需重量
|
||||||
|
String material_id = jsonYF.getString("material_id");
|
||||||
|
|
||||||
|
if (resultMap.containsKey(material_id)) {
|
||||||
|
JSONObject jsonObject = resultMap.get(material_id);
|
||||||
|
BigDecimal allNum = NumberUtil.add(jsonObject.getString("num"), div.toString());
|
||||||
|
jsonObject.put("num",allNum);
|
||||||
|
resultMap.put(material_id,jsonObject);
|
||||||
|
} else {
|
||||||
|
resultMap.put(material_id,jsonYF);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
String s = String.valueOf(NumberUtil.mul(raet, num));
|
|
||||||
BigDecimal div = NumberUtil.mul(product_weight, s);
|
|
||||||
json.put("num", String.valueOf(div));
|
|
||||||
//更新月需求计划接口表
|
|
||||||
String plan_id = json.getString("plan_id");
|
|
||||||
WQLObject procTab = WQLObject.getWQLObject("PCS_IF_ProductPlanProc");
|
|
||||||
JSONObject jsonProc = procTab.query("plan_id = '" + plan_id + "'").uniqueResult(0);
|
|
||||||
jsonProc.put("is_proc", IsProcEnum.PURCHASING_AGENT.getCode());
|
|
||||||
procTab.update(jsonProc);
|
|
||||||
}
|
}
|
||||||
return allArr;
|
|
||||||
|
for (String k : resultMap.keySet()) {
|
||||||
|
JSONObject resultJson = resultMap.get(k);
|
||||||
|
resultArr.add(resultJson);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultArr;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
FROM
|
FROM
|
||||||
sys_dept d
|
sys_dept d
|
||||||
WHERE
|
WHERE
|
||||||
d.code in(1001,1002,1003)
|
d.code in('H800000','H900000','H400000')
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
输入.plan_month TYPEAS s_string
|
输入.plan_month TYPEAS s_string
|
||||||
输入.plan_org_code TYPEAS s_string
|
输入.plan_org_code TYPEAS s_string
|
||||||
输入.material_code TYPEAS s_string
|
输入.material_code TYPEAS s_string
|
||||||
|
输入.bom_id TYPEAS s_string
|
||||||
|
|
||||||
|
|
||||||
[临时表]
|
[临时表]
|
||||||
@@ -51,7 +52,7 @@
|
|||||||
FROM
|
FROM
|
||||||
sys_dept d
|
sys_dept d
|
||||||
WHERE
|
WHERE
|
||||||
d.code in(1001,1002,1003)
|
d.code in ('H800000','H900000','H400000')
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -98,5 +99,64 @@
|
|||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "3"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
pp.*,
|
||||||
|
bom.bom_id
|
||||||
|
FROM
|
||||||
|
PCS_IF_ProductPlanProc pp
|
||||||
|
LEFT JOIN MD_ME_MaterialBase mater ON mater.material_id = pp.material_id
|
||||||
|
INNER JOIN MD_PD_ProductBOM bom ON bom.material_id = mater.material_id
|
||||||
|
WHERE
|
||||||
|
pp.is_proc <> '2'
|
||||||
|
|
||||||
|
OPTION 输入.plan_month <> ""
|
||||||
|
pp.plan_month = 输入.plan_month
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.plan_org_code <> ""
|
||||||
|
pp.plan_org_code = 输入.plan_org_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.material_code <> ""
|
||||||
|
mater.material_code = 输入.material_code
|
||||||
|
ENDOPTION
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "4"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
dtl.*,
|
||||||
|
mater.material_code,
|
||||||
|
mater.material_name,
|
||||||
|
ivt.ivt_qty,
|
||||||
|
unit.unit_name
|
||||||
|
FROM
|
||||||
|
MD_PD_ProductBOMDtl dtl
|
||||||
|
LEFT JOIN MD_ME_MaterialBase mater ON mater.material_id = dtl.material_id
|
||||||
|
LEFT JOIN MD_ME_StockMaterialExt ext ON ext.material_id = mater.material_id
|
||||||
|
LEFT JOIN md_pb_measureunit unit ON mater.base_unit_id = unit.measure_unit_id
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
sum(a.ivt_qty) AS ivt_qty,
|
||||||
|
a.material_id
|
||||||
|
FROM
|
||||||
|
ST_IVT_StructIvt a
|
||||||
|
group by a.material_id
|
||||||
|
) ivt ON ivt.material_id = mater.material_id
|
||||||
|
WHERE
|
||||||
|
ext.is_need_plan = '1'
|
||||||
|
|
||||||
|
OPTION 输入.bom_id <> ""
|
||||||
|
dtl.bom_id = 输入.bom_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -85,6 +85,7 @@
|
|||||||
icon="el-icon-position"
|
icon="el-icon-position"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="open"
|
@click="open"
|
||||||
|
:loading="fla"
|
||||||
>
|
>
|
||||||
导入Excel
|
导入Excel
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -260,6 +261,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
fla: false,
|
||||||
permission: {
|
permission: {
|
||||||
},
|
},
|
||||||
headers: { 'Authorization': getToken() },
|
headers: { 'Authorization': getToken() },
|
||||||
@@ -334,10 +336,12 @@ export default {
|
|||||||
return isLt2M
|
return isLt2M
|
||||||
},
|
},
|
||||||
handleSuccess(response, file, fileList) {
|
handleSuccess(response, file, fileList) {
|
||||||
|
this.fla = true
|
||||||
const id = response.id
|
const id = response.id
|
||||||
crudProductplanproc.importExcel(id).then(res => {
|
crudProductplanproc.importExcel(id).then(res => {
|
||||||
this.crud.notify('上传成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('上传成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
|
this.fla = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 监听上传失败
|
// 监听上传失败
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
icon="el-icon-position"
|
icon="el-icon-position"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="sumQuery"
|
@click="sumQuery"
|
||||||
|
:loading="fla"
|
||||||
>
|
>
|
||||||
汇总查询
|
汇总查询
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -134,6 +135,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
fla: false,
|
||||||
permission: {
|
permission: {
|
||||||
},
|
},
|
||||||
form:{
|
form:{
|
||||||
@@ -189,10 +191,12 @@ export default {
|
|||||||
this.form.material_code = ''
|
this.form.material_code = ''
|
||||||
},
|
},
|
||||||
sumQuery() {
|
sumQuery() {
|
||||||
|
this.fla = true
|
||||||
const data = this.form
|
const data = this.form
|
||||||
crudProductplansum.sumQuery(data).then(res => {
|
crudProductplansum.sumQuery(data).then(res => {
|
||||||
this.tableData = res
|
this.tableData = res
|
||||||
this.crud.notify('汇总完成', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('汇总完成', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
this.fla = false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,6 +84,7 @@
|
|||||||
icon="el-icon-position"
|
icon="el-icon-position"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="open"
|
@click="open"
|
||||||
|
:loading="fla"
|
||||||
>
|
>
|
||||||
导入Excel
|
导入Excel
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -276,6 +277,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
fla: false,
|
||||||
permission: {
|
permission: {
|
||||||
},
|
},
|
||||||
headers: { 'Authorization': getToken() },
|
headers: { 'Authorization': getToken() },
|
||||||
@@ -374,10 +376,12 @@ export default {
|
|||||||
return isLt2M
|
return isLt2M
|
||||||
},
|
},
|
||||||
handleSuccess(response, file, fileList) {
|
handleSuccess(response, file, fileList) {
|
||||||
|
this.fla = true
|
||||||
const id = response.id
|
const id = response.id
|
||||||
crudProductplansum.importExcel(id).then(res => {
|
crudProductplansum.importExcel(id).then(res => {
|
||||||
this.crud.notify('上传成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('上传成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
|
this.fla = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 监听上传失败
|
// 监听上传失败
|
||||||
|
|||||||
Reference in New Issue
Block a user