This commit is contained in:
zds
2022-06-28 09:49:26 +08:00
parent 668a64ad6c
commit adf3bdb086

View File

@@ -390,7 +390,7 @@ public class AutoformulaServiceImpl implements AutoformulaService {
}
JSONObject result = new JSONObject();
result.put("tabledis",tabledis_new);
result.put("tableDtl",dtl_new);
result.put("tableDtl",dtl_new);
return result;
}
@@ -2345,10 +2345,10 @@ public class AutoformulaServiceImpl implements AutoformulaService {
double waste_limit_down_weight = workorder_qty * waste_limit_down/100.0;
//获取可分配的软废集合
JSONArray MaterialSets = WQL.getWO("QPF_AUTOFORMULA01")
.addParam("material_id",material_id)
.addParam("set_type","02")
.addParam("flag","7")
.process().getResultJSONArray(0);
.addParam("material_id",material_id)
.addParam("set_type","02")
.addParam("flag","7")
.process().getResultJSONArray(0);
if(MaterialSets.size() == 0){
throw new BadRequestException("产品"+material_code+"未配置新料模式可配粉软废信息!");
}
@@ -2366,38 +2366,38 @@ public class AutoformulaServiceImpl implements AutoformulaService {
ivts.addAll(now_ivts);
}
if(ivts.size()!=0){
//1.计算配粉所需重量环节
JSONArray bomdlts = WQL.getWO("QPF_AUTOFORMULA01")
.addParam("material_id",material_id)
.addParam("is_need_manage","1")
.addParam("flag","1")
.process().getResultJSONArray(0);
if(bomdlts.size() == 0 ){
throw new BadRequestException("当前成品"+material_code+" "+json.getString("material_name")+",bom异常");
}
//各bom明细配粉开单需重量
HashMap<String,JSONObject> bomdlts_need_map = new HashMap<String,JSONObject>();
//软废Map
HashMap<String,JSONObject> rf_map = new HashMap<String,JSONObject>();
//各批次碳化钨配粉开单重量
JSONArray bomdlts_Cr3C2 = new JSONArray();
//各碳化乌含量百比分之和
double sum_Cr3C2 = 0;
for(int i=0;i<bomdlts.size();i++){
JSONObject bomdlt = bomdlts.getJSONObject(i);
double nedd_qty = new_qty*bomdlt.getDouble("standard_rate")/100.0;
//需重量
bomdlt.put("need_qty",nedd_qty);
//仍需配粉重量
bomdlt.put("left_qty",nedd_qty);
String material_type_id = bomdlt.getString("material_type_id");
//如果该物料是碳化钨
if(MaterOptTypeEnum.THW.getClass_idStr().contains(material_type_id)){
sum_Cr3C2 = sum_Cr3C2 + bomdlt.getDouble("standard_rate");
}
bomdlt.put("need_sum_qty",nedd_qty);
bomdlts_need_map.put(bomdlt.getString("material_id"),bomdlt);
//1.计算配粉所需重量环节
JSONArray bomdlts = WQL.getWO("QPF_AUTOFORMULA01")
.addParam("material_id",material_id)
.addParam("is_need_manage","1")
.addParam("flag","1")
.process().getResultJSONArray(0);
if(bomdlts.size() == 0 ){
throw new BadRequestException("当前成品"+material_code+" "+json.getString("material_name")+",bom异常");
}
//各bom明细配粉开单需重量
HashMap<String,JSONObject> bomdlts_need_map = new HashMap<String,JSONObject>();
//软废Map
HashMap<String,JSONObject> rf_map = new HashMap<String,JSONObject>();
//各批次碳化钨配粉开单重量
JSONArray bomdlts_Cr3C2 = new JSONArray();
//各碳化乌含量百比分之和
double sum_Cr3C2 = 0;
for(int i=0;i<bomdlts.size();i++){
JSONObject bomdlt = bomdlts.getJSONObject(i);
double nedd_qty = new_qty*bomdlt.getDouble("standard_rate")/100.0;
//需重量
bomdlt.put("need_qty",nedd_qty);
//仍需配粉重量
bomdlt.put("left_qty",nedd_qty);
String material_type_id = bomdlt.getString("material_type_id");
//如果该物料是碳化钨
if(MaterOptTypeEnum.THW.getClass_idStr().contains(material_type_id)){
sum_Cr3C2 = sum_Cr3C2 + bomdlt.getDouble("standard_rate");
}
bomdlt.put("need_sum_qty",nedd_qty);
bomdlts_need_map.put(bomdlt.getString("material_id"),bomdlt);
}
//软废纯粉库存总量
double rf_ivts = 0;
JSONArray ivts_new = new JSONArray();
@@ -2990,7 +2990,7 @@ public class AutoformulaServiceImpl implements AutoformulaService {
}
});
// R3p=R3p-R3p减/ R3纯粉系数
double r3_formula_qty = R3p.getDouble("formula_qty");
double r3_formula_qty = R3p.getDouble("formula_qty");
r3_formula_qty = NumberUtil.round(r3_formula_qty - r3_formula_qty/(R3p.getDouble("net_rate")/100.0),3).doubleValue();
R3p.put("formula_qty",r3_formula_qty);
rf_map.put(R3p.getString("stockrecord_id"),R3p);