rev:优化物料查询。

This commit is contained in:
2023-03-31 11:29:32 +08:00
parent a4886fe4bf
commit 428c57a28f
5 changed files with 227 additions and 15 deletions

View File

@@ -22,10 +22,10 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
/**
* 海亮缓存线手持服务
* 返回数据CommonResult,code,desc,result是因为原有对接文档给前端返回格式要求保留所以就包了一层。
*
* @author gbx
* @since 2023/3/22
@@ -39,36 +39,47 @@ import java.util.Map;
public class CacheLineHandController{
private final CacheLineHandService cacheLineHandService;
@PostMapping("/materialQuery")
@PostMapping("/queryMaterial")
@Log("物料查询")
@ApiOperation("物料查询")
public ResponseEntity<List<MaterialDto>> queryMaterial(@RequestBody JSONObject form) {
log.info("海亮缓存线手持服务 [查询物料] 接口被请求, 请求参数-{}", form);
String params = form.getString("search_bar");
if(StringUtils.isNotEmpty(params)) {
//限制查询参数过短,模糊力度大
int length = params.getBytes().length;
if(length < 4) {
throw new BizCoreException("输入条件所查询的内容过多请输入大于3个字的查询条件。");
}
}
//checkLength(params);
return new ResponseEntity<>(cacheLineHandService.queryMaterial(params), HttpStatus.OK);
}
@PostMapping("/queryMaterial")
@PostMapping("/materialQuery")
@Log("物料模糊查询")
@ApiOperation("物料模糊查询")
public ResponseEntity<JSONArray> materialQuery(@RequestBody JSONObject form) {
log.info("海亮缓存线手持服务 [查询物料] 接口被请求, 请求参数-{}", form);
String params = form.getString("search_bar");
//checkLength(params);
return new ResponseEntity<>(cacheLineHandService.materialQuery(form.getString("search_bar")), HttpStatus.OK);
}
/**
* 输入搜索条件校验,限制查询参数过短,模糊力度大
*/
private void checkLength(String params) {
if(StringUtils.isNotEmpty(params)) {
//限制查询参数过短,模糊力度大
int length = params.getBytes().length;
if(length < 4) {
//限制查询参数过短,模糊力度大
if(Pattern.compile("[0-9a-zA-Z]+").matcher(params).matches() || Pattern.compile("\\d+").matcher(params).matches()) {
if(length < 5) {
throw new BizCoreException("输入条件所查询的内容过多请输入大于4个字的查询条件。");
}
}
else if(Pattern.compile("[\u4e00-\u9fa5]+").matcher(params).matches()) {
if(length < 9) {
throw new BizCoreException("输入条件所查询的内容过多请输入大于3个字的查询条件。");
}
}
else if(length < 4) {
throw new BizCoreException("输入条件所查询的内容过多请输入大于3个字的查询条件。");
}
}
return new ResponseEntity<>(cacheLineHandService.materialQuery(form.getString("search_bar")), HttpStatus.OK);
}
@PostMapping("/semiMaterialSpecQuery")

View File

@@ -679,6 +679,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
//2.绑定新料箱条码(入满箱或者入空箱),设置缓存线点位不为空
vehiobj.put("vehicle_code", vehicle_code);
vehiobj.put("is_empty", "0");
//非雪花算法生产的ID为主键数据更新下需要拼接条件
positionTab.update(vehiobj, "position_code = '" + position_code + "'");
//3.删除入料箱之前的所有关联信息,包括物料,工序,生产区域
ivtTab.delete("vehicle_code = '" + vehicle_code + "'");

View File

@@ -154,9 +154,8 @@
OR mb.material_code LIKE CONCAT ('%', 输入.condition, '%')
OR mb.material_spec LIKE CONCAT ('%', 输入.condition, '%')
OR class.class_name LIKE CONCAT ('%', 输入.condition, '%')
ORDER BY
mb.material_id desc
ENDOPTION
ORDER BY mb.material_id desc limit 1000
ENDSELECT
ENDQUERY
ENDIF