add:新增手持【软废直接入库】功能

This commit is contained in:
2025-04-18 15:22:05 +08:00
parent e02a0b29f0
commit 6232fbd6d7
3 changed files with 104 additions and 0 deletions

View File

@@ -135,4 +135,18 @@ public class HandNewMaterialController {
return new ResponseEntity<>(handNewMaterialService.insideInConfirm(whereJson),HttpStatus.OK);
}
@PostMapping("/directIn")
@Log("软废直接入库查询组盘信息")
@ApiOperation("软废直接入库查询组盘信息")
public ResponseEntity<Object> directIn(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(handNewMaterialService.directIn(whereJson),HttpStatus.OK);
}
@PostMapping("/directInConfirm")
@Log("软废直接入库确认")
@ApiOperation("软废直接入库确认")
public ResponseEntity<Object> directInConfirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(handNewMaterialService.directInConfirm(whereJson),HttpStatus.OK);
}
}

View File

@@ -115,4 +115,20 @@ public interface HandNewMaterialService {
* @return Map<String, Object> 字典内容
*/
Map<String, Object> getIvtLevel();
/**
* 软废直接入库查询组盘信息
*
* @param whereJson 条件
* @return Map
*/
Map<String, Object> directIn(JSONObject whereJson);
/**
* 软废直接入库确认
*
* @param whereJson 条件
* @return Map
*/
Map<String, Object> directInConfirm(JSONObject whereJson);
}

View File

@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.exception.BadRequestException;
import org.nl.modules.security.service.dto.JwtUserDto;
import org.nl.modules.system.service.impl.ParamServiceImpl;
import org.nl.modules.system.util.CodeUtil;
@@ -1065,6 +1066,79 @@ public class HandNewMaterialServiceImpl implements HandNewMaterialService {
return returnjo;
}
@Override
public Map<String, Object> directIn(JSONObject whereJson) {
String vehicle_code = whereJson.getString("vehicle_code");
if (ObjectUtil.isEmpty(vehicle_code)) throw new PdaRequestException("载具号不能为空");
JSONArray resultJSONArray = WQL.getWO("QST_IVT_RAWASSISTISTOR")
.addParam("flag", "12").addParam("storagevehicle_code", vehicle_code)
.process().getResultJSONArray(0);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "查询成功!");
returnjo.put("content", resultJSONArray);
return returnjo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> directInConfirm(JSONObject whereJson) {
String vehicle_code = whereJson.getString("vehicle_code");
String point_code = whereJson.getString("point_code");
if (ObjectUtil.isEmpty(vehicle_code)) throw new PdaRequestException("载具号不能为空!");
if (ObjectUtil.isEmpty(point_code)) throw new PdaRequestException("站点不能为空!");
// 此入库只能是RFRK01/RFRK02
if (!"RFRK01,RFRK02".contains(point_code)) {
throw new BadRequestException("此页面只允许固定点位入库【RFRK01/RFRK02】");
}
/*
* 1.根据托盘号找到生成状态的分配明细
* 2.调用接口自动分配并下发任务
*/
// 根据托盘找到分配明细
JSONArray disArr = WQL.getWO("QST_IVT_RAWASSISTISTOR")
.addParam("storagevehicle_code", vehicle_code).addParam("flag", "13")
.process().getResultJSONArray(0);
if (ObjectUtil.isEmpty(disArr)) throw new PdaRequestException("未找到对应分配明细!");
// 调用入库分配接口并下发任务
ArrayList<HashMap<String, String>> list = new ArrayList<>();
for (int i = 0; i < disArr.size(); i++) {
JSONObject jo = disArr.getJSONObject(i);
HashMap<String, String> row = new HashMap<>();
row.put("point_code", point_code);
row.put("storagevehicle_id", jo.getString("storagevehicle_id"));
row.put("storagevehicle_code", jo.getString("storagevehicle_code"));
row.put("storagevehicle_type", jo.getString("storagevehicle_type"));
row.put("material_id", jo.getString("material_id"));
row.put("iostorinv_id", jo.getString("iostorinv_id"));
JSONObject mater_jo = WQLObject.getWQLObject("md_me_materialbase").query("material_id = '" + jo.getString("material_id") + "'").uniqueResult(0);
row.put("material_code", mater_jo.getString("material_code"));
list.add(row);
}
whereJson.put("tableMater", list);
whereJson.put("checked", true);
whereJson.put("auto_issue", true);
try {
rawAssistIStorService.divStruct(whereJson);
} catch (Exception e) {
throw new PdaRequestException(e.getMessage());
}
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "入库成功!");
return returnjo;
}
@Transactional(rollbackFor = Exception.class)
public void insertBucket(HashMap row) {
WQLObject bucket_wql = WQLObject.getWQLObject("MD_PB_BucketRecord");