opt:优化
This commit is contained in:
@@ -96,6 +96,7 @@
|
|||||||
p.material_code,
|
p.material_code,
|
||||||
p.material_name,
|
p.material_name,
|
||||||
sum( p.qty ) AS total_num,
|
sum( p.qty ) AS total_num,
|
||||||
|
0 as sign_num,
|
||||||
MAX( bs.point_code ) AS point_code,
|
MAX( bs.point_code ) AS point_code,
|
||||||
MAX( bs.product_area ) AS product_area,
|
MAX( bs.product_area ) AS product_area,
|
||||||
MAX( dict.label ) as product_area_name
|
MAX( dict.label ) as product_area_name
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ public class ShowStockView {
|
|||||||
//管芯名称
|
//管芯名称
|
||||||
private String material_name;
|
private String material_name;
|
||||||
//数量
|
//数量
|
||||||
private String total_num;
|
private Integer total_num;
|
||||||
|
//数量
|
||||||
|
private Integer sign_num;
|
||||||
//点位编码
|
//点位编码
|
||||||
private String point_code;
|
private String point_code;
|
||||||
//区域
|
//区域
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -218,9 +219,19 @@ public class StockingIvtServiceImpl implements StockingIvtService {
|
|||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
String product_area = param.getString("product_area");
|
String product_area = param.getString("product_area");
|
||||||
String material_code = param.getString("material_code");
|
String material_code = param.getString("material_code");
|
||||||
|
Integer material_qty = param.getInteger("material_qty");
|
||||||
List<ShowStockView> list = bstIvtStockingivtMapper.showPapervehicleView(product_area,material_code);
|
List<ShowStockView> list = bstIvtStockingivtMapper.showPapervehicleView(product_area,material_code);
|
||||||
log.info("showPapervehicleView数据size:{}", list.size());
|
List<ShowStockView> newList = new ArrayList<ShowStockView>();
|
||||||
jo.put("rows", list);
|
for( int i=0;i<list.size();i++){
|
||||||
|
ShowStockView now = list.get(i);
|
||||||
|
if(material_qty>=now.getTotal_num()){
|
||||||
|
material_qty = material_qty - now.getTotal_num();
|
||||||
|
now.setSign_num(now.getTotal_num());
|
||||||
|
}
|
||||||
|
newList.add(now);
|
||||||
|
}
|
||||||
|
log.info("showPapervehicleView数据size:{}", newList.size());
|
||||||
|
jo.put("rows", newList);
|
||||||
jo.put("status", HttpStatus.HTTP_OK);
|
jo.put("status", HttpStatus.HTTP_OK);
|
||||||
jo.put("message", "查询成功!");
|
jo.put("message", "查询成功!");
|
||||||
return jo;
|
return jo;
|
||||||
@@ -337,7 +348,7 @@ public class StockingIvtServiceImpl implements StockingIvtService {
|
|||||||
lam.eq( ObjectUtil.isNotEmpty(paper_code),MdPbPaper::getPaper_code,paper_code);
|
lam.eq( ObjectUtil.isNotEmpty(paper_code),MdPbPaper::getPaper_code,paper_code);
|
||||||
MdPbPaper paper = mdPbPaperMapper.selectOne(lam);
|
MdPbPaper paper = mdPbPaperMapper.selectOne(lam);
|
||||||
if(ObjectUtil.isEmpty(paper)){
|
if(ObjectUtil.isEmpty(paper)){
|
||||||
throw new BadRequestException("管芯/纸管记录不存在!");
|
throw new BadRequestException("管芯编码:"+paper_code+"不存在!");
|
||||||
}
|
}
|
||||||
//物料
|
//物料
|
||||||
String material_code = paper.getMaterial_code();
|
String material_code = paper.getMaterial_code();
|
||||||
|
|||||||
@@ -507,12 +507,19 @@ public class SlitterTaskUtil {
|
|||||||
// 如果有重复 key,保留第一个(按需调整)
|
// 如果有重复 key,保留第一个(按需调整)
|
||||||
(existing, replacement) -> existing
|
(existing, replacement) -> existing
|
||||||
));
|
));
|
||||||
|
Map<String, String> planMap2 = plans.stream()
|
||||||
|
.collect(Collectors.toMap(
|
||||||
|
p -> p.getContainer_name(),
|
||||||
|
p -> p.getLeft_or_right(),
|
||||||
|
// 如果有重复 key,保留第一个(按需调整)
|
||||||
|
(existing, replacement) -> existing
|
||||||
|
));
|
||||||
// 2. 遍历 JSONArray
|
// 2. 遍历 JSONArray
|
||||||
for (int i = 0; i < jsonArray.size(); i++) {
|
for (int i = 0; i < jsonArray.size(); i++) {
|
||||||
JSONObject item = jsonArray.getJSONObject(i);
|
JSONObject item = jsonArray.getJSONObject(i);
|
||||||
String containerName = item.getString("container_name");
|
String containerName = item.getString("container_name");
|
||||||
String site = item.getString("site");
|
String site = item.getString("site");
|
||||||
|
String left_or_right = item.getString("left_or_right");
|
||||||
|
|
||||||
// 3. 检查 Plan 中是否存在对应的 container_name
|
// 3. 检查 Plan 中是否存在对应的 container_name
|
||||||
if (!planMap.containsKey(containerName)) {
|
if (!planMap.containsKey(containerName)) {
|
||||||
@@ -526,6 +533,14 @@ public class SlitterTaskUtil {
|
|||||||
+ " 的上下轴位置"
|
+ " 的上下轴位置"
|
||||||
+ "与MES分切计划中的上下轴位置" + expectedUpDown + "不一致!");
|
+ "与MES分切计划中的上下轴位置" + expectedUpDown + "不一致!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 4. 比较 left_or_right 和 left_or_right 是否一致
|
||||||
|
String expectedLeftRight = planMap2.get(containerName);
|
||||||
|
if (!expectedLeftRight.equals(left_or_right)) {
|
||||||
|
throw new BadRequestException("校验失败: 子卷号 " + containerName
|
||||||
|
+ " 的左右卷位置"
|
||||||
|
+ "与MES分切计划中的左右卷位置" + expectedLeftRight + "不一致!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
log.info("分切下卷计划位置校验通过!");
|
log.info("分切下卷计划位置校验通过!");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,27 +38,27 @@
|
|||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="600px">
|
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="600px">
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="120px">
|
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="120px">
|
||||||
<el-form-item label="管芯编码">
|
<el-form-item label="管芯编码" prop="paper_code">
|
||||||
<el-input v-model="form.paper_code" disabled placeholder="系统生成" style="width: 200px;" />
|
<el-input v-model="form.paper_code" disabled placeholder="系统生成" style="width: 200px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="FRP管/纸管编码">
|
<el-form-item label="管芯类型" prop="material_code">
|
||||||
<el-input v-model="form.material_code" disabled class="input-with-select" style="width: 200px">
|
<el-input v-model="form.material_code" disabled class="input-with-select" style="width: 200px">
|
||||||
<el-button slot="append" icon="el-icon-search" @click="queryMater()" />
|
<el-button slot="append" icon="el-icon-search" @click="queryMater()" />
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="FRP管/纸管描述">
|
<el-form-item label="管芯类型名称" prop="material_name">
|
||||||
<el-input v-model="form.material_name" disabled style="width: 370px;" />
|
<el-input v-model="form.material_name" disabled style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="理论重量">
|
<el-form-item label="理论重量" prop="standard_weight">
|
||||||
<el-input-number v-model="form.standard_weight" :precision="3" :controls="false" :min="0" style="width: 200px" />
|
<el-input-number v-model="form.standard_weight" :precision="3" :controls="false" :min="0" style="width: 200px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="实际重量">
|
<el-form-item label="实际重量" prop="fact_weight">
|
||||||
<el-input v-model="form.fact_weight" disabled style="width: 200px;" />
|
<el-input v-model="form.fact_weight" disabled style="width: 200px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="修改时间">
|
<el-form-item label="修改时间" prop="update_time">
|
||||||
<el-input v-model="form.update_time" disabled style="width: 200px;" />
|
<el-input v-model="form.update_time" disabled style="width: 200px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="修改人姓名">
|
<el-form-item label="修改人姓名" prop="update_optname">
|
||||||
<el-input v-model="form.update_optname" disabled style="width: 200px;" />
|
<el-input v-model="form.update_optname" disabled style="width: 200px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -72,8 +72,8 @@
|
|||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column prop="ivt_id" v-if="false" label="载具标识" :min-width="flexWidth('ivt_id',crud.data,'载具标识')" />
|
<el-table-column prop="ivt_id" v-if="false" label="载具标识" :min-width="flexWidth('ivt_id',crud.data,'载具标识')" />
|
||||||
<el-table-column prop="paper_code" label="管芯编码" :min-width="flexWidth('paper_code',crud.data,'管芯编码')" />
|
<el-table-column prop="paper_code" label="管芯编码" :min-width="flexWidth('paper_code',crud.data,'管芯编码')" />
|
||||||
<el-table-column prop="material_code" label="物料号" :min-width="flexWidth('material_code',crud.data,'物料号')" />
|
<el-table-column prop="material_code" label="管芯类型" :min-width="flexWidth('material_code',crud.data,'物料号')" />
|
||||||
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
<el-table-column prop="material_name" label="管芯类型名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
||||||
<el-table-column prop="standard_weight" label="理论重量" :formatter="crud.formatNum3" :min-width="flexWidth('qty',crud.data,'理论重量')" />
|
<el-table-column prop="standard_weight" label="理论重量" :formatter="crud.formatNum3" :min-width="flexWidth('qty',crud.data,'理论重量')" />
|
||||||
<el-table-column prop="fact_weight" label="实际重量" :formatter="crud.formatNum3" :min-width="flexWidth('qty',crud.data,'实际重量')" />
|
<el-table-column prop="fact_weight" label="实际重量" :formatter="crud.formatNum3" :min-width="flexWidth('qty',crud.data,'实际重量')" />
|
||||||
<el-table-column prop="update_optname" label="修改人" :min-width="flexWidth('update_optname',crud.data,'修改人')" />
|
<el-table-column prop="update_optname" label="修改人" :min-width="flexWidth('update_optname',crud.data,'修改人')" />
|
||||||
@@ -144,8 +144,14 @@ export default {
|
|||||||
materShow: false,
|
materShow: false,
|
||||||
materType: '',
|
materType: '',
|
||||||
rules: {
|
rules: {
|
||||||
|
material_code: [
|
||||||
|
{ required: true, message: '物料号不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
standard_weight: [
|
standard_weight: [
|
||||||
{ required: true, message: '标准重量不能为空', trigger: 'blur' }
|
{ required: true, message: '标准重量不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
material_name: [
|
||||||
|
{ required: true, message: '物料名称不能为空', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
}}
|
}}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user