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