opt: 区域锁定功能优化

This commit is contained in:
yanps
2024-09-29 17:58:13 +08:00
parent 31dea7a46d
commit f2bde5c656
2 changed files with 15 additions and 6 deletions

View File

@@ -59,8 +59,8 @@
</select> </select>
<select id="selectPointByRegion" resultType="com.alibaba.fastjson.JSONObject" <select id="selectPointByRegion" resultType="com.alibaba.fastjson.JSONObject"
parameterType="java.lang.String"> parameterType="java.lang.String">
select point_code, point_name select point_code, point_name,point_status
from sch_base_point from sch_base_point
where region_code = #{regionCode} where region_code = #{regionCode} and point_type is null
</select> </select>
</mapper> </mapper>

View File

@@ -74,10 +74,9 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
private ISysParamService iSysParamService; private ISysParamService iSysParamService;
private final Object lock = new Object(); private final Object lock = new Object();
private final Object lock2 = new Object(); private final Object lock2 = new Object();
private final Object lock3 = new Object(); private final Object lock3 = new Object();
private final Object lock4 = new Object();
@Override @Override
@@ -520,12 +519,22 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
@Override @Override
public List<JSONObject> selectPointByRegion(String regionCode) { public List<JSONObject> selectPointByRegion(String regionCode) {
return pointMapper.selectPointByRegion(regionCode); List<JSONObject> jsonObjectList = pointMapper.selectPointByRegion(regionCode);
jsonObjectList.stream().forEach(jsonObject -> {
if (ObjectUtil.isNotEmpty(jsonObject.get("point_status"))) {
if (jsonObject.get("point_status").equals(GoodsEnum.EMPTY_PALLETS.getValue()) || jsonObject.get("point_status").equals(GoodsEnum.IN_STOCK.getValue())) {
jsonObject.put("point_status", "1");
}
}else{
jsonObject.put("point_status", "0");
}
});
return jsonObjectList;
} }
@Override @Override
public SchBasePoint selectPointByEmpAndRegion(String region_code, String vehicle_code, String s) { public SchBasePoint selectPointByEmpAndRegion(String region_code, String vehicle_code, String s) {
synchronized (lock2) { synchronized (lock4) {
//查询载具的类型 //查询载具的类型
MdBaseVehicle mdBaseVehicle = iMdBaseVehicleService.getById(vehicle_code); MdBaseVehicle mdBaseVehicle = iMdBaseVehicleService.getById(vehicle_code);
if (ObjectUtil.isEmpty(mdBaseVehicle)) throw new BadRequestException("载具类型不存在!"); if (ObjectUtil.isEmpty(mdBaseVehicle)) throw new BadRequestException("载具类型不存在!");