add:添加库区映射

This commit is contained in:
2026-07-29 16:53:23 +08:00
parent fd4c885787
commit 55bc3b18c0
7 changed files with 46 additions and 22 deletions

View File

@@ -52,6 +52,11 @@ public class MdMeMaterialbase implements Serializable {
*/
private String material_model;
/**
* 总型号(用于来料入库库区匹配)
*/
private String material_general_model;
/**
* 外文名称
*/

View File

@@ -194,15 +194,16 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl<MdMeMaterialbaseMap
throw new BadRequestException("物料[" + materialCodeCell + "]已存在!");
}
// 4. 读取6个字段
// 4. 读取字段:总型号为第 5 列,可不填
MdMeMaterialbase entity = new MdMeMaterialbase();
entity.setMaterial_id(IdUtil.getStringId());
entity.setMaterial_code(String.valueOf(materialCodeCell));
entity.setMaterial_name(String.valueOf(row.getCell(1)));
entity.setMaterial_spec(String.valueOf(row.getCell(2)));
entity.setMaterial_model(String.valueOf(row.getCell(3)));
entity.setBase_unit_id(String.valueOf(row.getCell(4)));
entity.setAss_unit_id(String.valueOf(row.getCell(5)));
entity.setMaterial_general_model(getCellString(row, 4));
entity.setBase_unit_id(getCellString(row, 5));
entity.setAss_unit_id(getCellString(row, 6));
entity.setCreate_id(SecurityUtils.getCurrentUserId());
entity.setCreate_name(SecurityUtils.getCurrentNickName());
entity.setCreate_time(DateUtil.now());
@@ -229,4 +230,9 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl<MdMeMaterialbaseMap
log.error(">>> 下载导入模板失败:", e);
}
}
private String getCellString(Row row, int cellIndex) {
Cell cell = row.getCell(cellIndex);
return cell == null ? null : cell.toString();
}
}

View File

@@ -177,7 +177,11 @@ public class PdaIosOutController {
if (byCode == null) {
throw new BadRequestException("更新失败:未配置apk下载地址");
}
Map of = MapOf.of("versionName", "1.0.1", "url", "http://" + byCode.getValue() + "/api/pda/iosOut/download/app-release");
Param appVersion = iSysParamService.findByCode("appVersion");
if (appVersion == null) {
throw new BadRequestException("更新失败:未配置APP版本");
}
Map of = MapOf.of("versionName", appVersion.getValue(), "url", "http://" + byCode.getValue() + "/api/pda/iosOut/download/app-release");
return new ResponseEntity<>(of, HttpStatus.OK);
}

View File

@@ -971,15 +971,15 @@ public class PdaIosInServiceImpl implements PdaIosInService {
//起点
whereJson.put("site_code", paramDto.getSite_code());
whereJson.put("noEmptyVehicle", "1");
String material_model = getVehicleMaterial(whereJson).getString("material_model");
if (StringUtils.isBlank(material_model)) {
throw new BadRequestException("组盘的物料未配置【物料型号】!");
String material_general_model = getVehicleMaterial(whereJson).getString("material_general_model");
if (StringUtils.isBlank(material_general_model)) {
throw new BadRequestException("组盘的物料未配置【型号】!");
}
//判断每个物料是否都已经配置库区
List<Dict> dicts = dictList.stream().filter(a -> material_model.equals(a.getPara1())).collect(Collectors.toList());
// 根据总型号匹配目标库区
List<Dict> dicts = dictList.stream().filter(a -> material_general_model.equals(a.getPara1())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(dicts)) {
throw new BadRequestException("字典MATERIAL_MODEL_SECT未配置物料类型" + material_model + "与库区的对应关系,请核对!");
throw new BadRequestException("字典MATERIAL_MODEL_SECT未配置总型号" + material_general_model + "与库区的对应关系,请核对!");
}
String sect_code = dicts.get(0).getValue();
@@ -1486,9 +1486,9 @@ public class PdaIosInServiceImpl implements PdaIosInService {
//起点
whereJson.put("site_code", site_code);
whereJson.put("noEmptyVehicle", "1");
String material_model = getVehicleMaterial(whereJson).getString("material_model");
if (StringUtils.isBlank(material_model)) {
throw new BadRequestException("组盘的物料未配置【物料型号】!");
String material_general_model = getVehicleMaterial(whereJson).getString("material_general_model");
if (StringUtils.isBlank(material_general_model)) {
throw new BadRequestException("组盘的物料未配置【型号】!");
}
//判断每个物料是否都已经配置库区
@@ -1496,9 +1496,9 @@ public class PdaIosInServiceImpl implements PdaIosInService {
List<Dict> dictList = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>()
.eq(Dict::getCode, "MATERIAL_MODEL_SECT"));
List<Dict> dicts = dictList.stream().filter(a -> material_model.equals(a.getPara1())).collect(Collectors.toList());
List<Dict> dicts = dictList.stream().filter(a -> material_general_model.equals(a.getPara1())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(dicts)) {
throw new BadRequestException("字典MATERIAL_MODEL_SECT未配置物料类型" + material_model + "与库区的对应关系,请核对!");
throw new BadRequestException("字典MATERIAL_MODEL_SECT未配置总型号" + material_general_model + "与库区的对应关系,请核对!");
}
String sect_code = dicts.get(0).getValue();
@@ -1597,10 +1597,10 @@ public class PdaIosInServiceImpl implements PdaIosInService {
whereJson.put("site_code", schBasePoint.getPoint_code());
whereJson.put("noEmptyVehicle", "1");
String material_model = "";
String material_general_model = "";
try {
material_model = getVehicleMaterial(whereJson).getString("material_model");
if (StringUtils.isBlank(material_model)) {
material_general_model = getVehicleMaterial(whereJson).getString("material_general_model");
if (StringUtils.isBlank(material_general_model)) {
continue;
}
} catch (Exception e){
@@ -1608,14 +1608,14 @@ public class PdaIosInServiceImpl implements PdaIosInService {
continue;
}
final String final_material_model = material_model;
final String final_material_general_model = material_general_model;
//判断每个物料是否都已经配置库区
//查询字典表
List<Dict> dictList = sysDictMapper.selectList(new LambdaQueryWrapper<Dict>()
.eq(Dict::getCode, "MATERIAL_MODEL_SECT"));
List<Dict> dicts = dictList.stream().filter(a -> final_material_model.equals(a.getPara1())).collect(Collectors.toList());
List<Dict> dicts = dictList.stream().filter(a -> final_material_general_model.equals(a.getPara1())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(dicts)) {
continue;
}

View File

@@ -124,9 +124,10 @@ public class PdaJBServiceImpl implements PdaJBService {
@Override
public PdaResponse getOrderList(JSONObject whereJson) {
String flag = whereJson.getString("flag");
List<PdmBdWorkorder> workorders = pdaJBMapper.getUnProductOrderList(
whereJson.getString("point_code"),
"1,2");
"1".equals(flag) ? "1,2" : "4");
return PdaResponse.requestParamOk(workorders);
}

View File

@@ -59,7 +59,8 @@
mater.material_id,
mater.material_code,
mater.material_name,
mater.material_model
mater.material_model,
mater.material_general_model
FROM
md_pb_groupplate gro
LEFT JOIN md_me_materialbase mater ON mater.material_id = gro.material_id

View File

@@ -67,6 +67,11 @@
<el-input v-model="form.material_model" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总型号" prop="material_general_model">
<el-input v-model="form.material_general_model" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="外部标识" prop="ext_id">
<el-input v-model="form.ext_id" style="width: 200px;" />
@@ -105,6 +110,7 @@
<el-table-column prop="material_name" label="物料名称" width="180" show-overflow-tooltip />
<el-table-column prop="material_spec" label="物料规格" width="140" />
<el-table-column prop="material_model" label="物料型号" width="140"/>
<el-table-column prop="material_general_model" label="总型号" width="140"/>
<el-table-column prop="material_type_id" label="物料分类" width="140" />
<!-- <el-table-column label="启用" align="center" prop="is_used">-->
<!-- <template slot-scope="scope">-->
@@ -159,6 +165,7 @@ const defaultForm = {
material_name: null,
material_spec: null,
material_model: null,
material_general_model: null,
english_name: null,
base_unit_id: null,
approve_fileno: null,