add:浪潮接口开发

This commit is contained in:
2025-12-10 17:26:10 +08:00
parent bcb989c383
commit 795b21859c
31 changed files with 337 additions and 2 deletions

View File

@@ -35,7 +35,14 @@ public class LcToWmsController {
@PostMapping("/taskDataQuery")
@Log("出入库任务查询")
@SaIgnore
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
public ResponseEntity<Object> taskDataQuery(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(lcToWmsService.taskDataQuery(whereJson), HttpStatus.OK);
}
@PostMapping("/agvTaskQuery")
@Log("AGV任务数据接口")
@SaIgnore
public ResponseEntity<Object> agvTaskQuery(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(lcToWmsService.agvTaskQuery(whereJson), HttpStatus.OK);
}
}

View File

@@ -24,4 +24,16 @@ public interface LcToWmsService {
* @return LcResponse
*/
LcResponse taskDataQuery(JSONObject whereJson);
/**
* AGV任务数据接口
* @param whereJson {
* task_status: 任务状态7-未完成4-执行中5-已完成)
* start_time: 开始时间
* end_time: 结束时间
* task_code: 任务编码
* }
* @return LcResponse
*/
LcResponse agvTaskQuery(JSONObject whereJson);
}

View File

@@ -1,11 +1,28 @@
package org.nl.wms.ext.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.wms.basedata_manage.service.IMdCsSupplierbaseService;
import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase;
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase;
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
import org.nl.wms.ext.service.LcToWmsService;
import org.nl.wms.ext.service.util.LcResponse;
import org.nl.wms.sch_manage.service.dao.mapper.SchBaseTaskMapper;
import org.nl.wms.warehouse_management.enums.IOSConstant;
import org.nl.wms.warehouse_management.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_management.service.dao.GroupPlate;
import org.nl.wms.warehouse_management.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 浪潮调用WMS 实现类
@@ -18,8 +35,173 @@ import org.springframework.stereotype.Service;
@Slf4j
public class LcToWmsServiceImpl implements LcToWmsService {
/**
* 任务服务mapper
*/
@Autowired
private SchBaseTaskMapper schBaseTaskMapper;
/**
* 物料服务
*/
@Autowired
private IMdMeMaterialbaseService iMdMeMaterialbaseService;
/**
* 出入库分配明细服务mapper
*/
@Autowired
private IOStorInvDisMapper ioStorInvDisMapper;
/**
* 组盘服务
*/
@Autowired
private IMdPbGroupplateService iMdPbGroupplateService;
/**
* 供应商服务
*/
@Autowired
private IMdCsSupplierbaseService iMdCsSupplierbaseService;
/**
* 载具信息服务
*/
@Autowired
private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService;
@Override
public LcResponse taskDataQuery(JSONObject whereJson) {
return null;
// ------- 查询任务 -------
List<JSONObject> jsonTaskList = schBaseTaskMapper.taskDataQueryLc(whereJson);
for (JSONObject json : jsonTaskList) {
// ------- 物料信息 -------
JSONObject material_info = new JSONObject();
// 查询物料
MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(json.getString("material_id"));
if (ObjectUtil.isNotEmpty(materDao)) {
material_info.put("material_code", materDao.getMaterial_code());
material_info.put("material_name", materDao.getMaterial_name());
material_info.put("material_spec", materDao.getMaterial_spec());
material_info.put("material_model", materDao.getMaterial_model());
material_info.put("execution_stand", materDao.getExecution_stand());
}
// 查询分配明细信息
IOStorInvDis disDao = ioStorInvDisMapper.selectOne(
new QueryWrapper<IOStorInvDis>().lambda()
.eq(IOStorInvDis::getTask_id, json.getString("task_id"))
);
material_info.put("pcsn", disDao.getPcsn());
material_info.put("qty", disDao.getPlan_qty());
material_info.put("qty_unit_name", disDao.getQty_unit_name());
// 查询组盘信息
GroupPlate lateDao = iMdPbGroupplateService.getOne(
new QueryWrapper<GroupPlate>().lambda()
.eq(GroupPlate::getStoragevehicle_code, disDao.getStoragevehicle_code())
.eq(GroupPlate::getPcsn, disDao.getPcsn())
.eq(GroupPlate::getMaterial_id, disDao.getMaterial_id())
);
if (ObjectUtil.isNotEmpty(lateDao)) {
// 查询供应商
MdCsSupplierbase suppDao = iMdCsSupplierbaseService.getOne(
new QueryWrapper<MdCsSupplierbase>().lambda()
.eq(MdCsSupplierbase::getSupp_code, lateDao.getSupp_code())
);
material_info.put("supp_code", suppDao.getSupp_code());
material_info.put("supp_name", suppDao.getSupp_name());
material_info.put("quality_time", lateDao.getQuality_time());
material_info.put("produce_time", lateDao.getProduce_time());
material_info.put("status", lateDao.getQuality_type());
}
json.put("material_info", material_info);
}
return LcResponse.requestParamOk(jsonTaskList);
}
@Override
public LcResponse agvTaskQuery(JSONObject whereJson) {
// ------- 查询任务 -------
List<JSONObject> jsonTaskList = schBaseTaskMapper.agvTaskQueryLc(whereJson);
for (JSONObject json : jsonTaskList) {
// ------- 物料信息 -------
JSONObject material_info = new JSONObject();
// 查询物料
MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(json.getString("material_id"));
if (ObjectUtil.isNotEmpty(materDao)) {
material_info.put("material_code", materDao.getMaterial_code());
material_info.put("material_name", materDao.getMaterial_name());
material_info.put("material_spec", materDao.getMaterial_spec());
material_info.put("material_model", materDao.getMaterial_model());
material_info.put("execution_stand", materDao.getExecution_stand());
}
// 查询分配明细信息
IOStorInvDis disDao = ioStorInvDisMapper.selectOne(
new QueryWrapper<IOStorInvDis>().lambda()
.eq(IOStorInvDis::getTask_id, json.getString("task_id"))
);
if (ObjectUtil.isNotEmpty(disDao)) {
material_info.put("pcsn", disDao.getPcsn());
material_info.put("qty", disDao.getPlan_qty());
material_info.put("qty_unit_name", disDao.getQty_unit_name());
// 查询组盘信息
GroupPlate lateDao = iMdPbGroupplateService.getOne(
new QueryWrapper<GroupPlate>().lambda()
.eq(GroupPlate::getStoragevehicle_code, disDao.getStoragevehicle_code())
.eq(GroupPlate::getPcsn, disDao.getPcsn())
.eq(GroupPlate::getMaterial_id, disDao.getMaterial_id())
);
if (ObjectUtil.isNotEmpty(lateDao)) {
// 查询供应商
MdCsSupplierbase suppDao = iMdCsSupplierbaseService.getOne(
new QueryWrapper<MdCsSupplierbase>().lambda()
.eq(MdCsSupplierbase::getSupp_code, lateDao.getSupp_code())
);
material_info.put("supp_code", suppDao.getSupp_code());
material_info.put("supp_name", suppDao.getSupp_name());
material_info.put("quality_time", lateDao.getQuality_time());
material_info.put("produce_time", lateDao.getProduce_time());
material_info.put("status", lateDao.getQuality_type());
}
}
json.put("bear_status", bearStatus(json.getString("bear_box")));
json.put("material_info", material_info);
}
return LcResponse.requestParamOk(jsonTaskList);
}
/**
* 根据载具编码 判断承载状态
* @param bear_box 载具编码
* @return String
*/
private String bearStatus(String bear_box) {
String bear_status = IOSConstant.FOUR;
if (ObjectUtil.isNotEmpty(bear_box)) {
// 查询组盘信息:如果有组盘信息则是 有货
List<GroupPlate> vehicleList = iMdPbGroupplateService.list(
new QueryWrapper<GroupPlate>().lambda()
.eq(GroupPlate::getStoragevehicle_code, bear_box)
);
if (ObjectUtil.isNotEmpty(vehicleList)) {
bear_status = IOSConstant.TWO;
}
// 判断是否有载具
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, bear_box)
);
if (ObjectUtil.isNotEmpty(vehicleDao)) {
bear_status = IOSConstant.ONE;
} else {
bear_status = IOSConstant.THREE;
}
}
return bear_status;
}
}

View File

@@ -64,4 +64,27 @@ public interface SchBaseTaskMapper extends BaseMapper<SchBaseTask> {
*/
IPage<JSONObject> getPointtoPoint(Page<JSONObject> page, @Param("param") Map whereJson);
/**
* 浪潮--出入库任务查询
* @param whereJson {
* task_status: 任务状态7-未完成4-执行中5-已完成)
* start_time: 开始时间
* end_time: 结束时间
* task_code: 任务编码
* }
* @return List<JSONObject>
*/
List<JSONObject> taskDataQueryLc(@Param("param") JSONObject whereJson);
/**
* 浪潮--AGV任务数据接口
* @param whereJson {
* task_status: 任务状态7-未完成4-执行中5-已完成)
* start_time: 开始时间
* end_time: 结束时间
* task_code: 任务编码
* }
* @return List<JSONObject>
*/
List<JSONObject> agvTaskQueryLc(@Param("param") JSONObject whereJson);
}

View File

@@ -172,4 +172,85 @@
</where>
ORDER BY t.create_time DESC
</select>
<select id="taskDataQueryLc" resultType="com.alibaba.fastjson.JSONObject">
SELECT
t.config_code AS task_type,
t.task_status,
t.task_code,
t.point_code1,
t.point_code2,
t.vehicle_code,
t.material_qty,
t.create_time,
t.create_time AS start_time,
t.car_no,
t.material_id,
t.task_id
FROM
`sch_base_task` t
<where>
t.is_delete = '0'
AND t.config_code IN ('DetainInTask','ReceiveOutTask','BackInTask','CombinedBoxInTask','QualityOutTask',
'HotOutTask','HandOutTask','HandInTask','BackOutTask')
<if test="param.task_status != null and param.task_status != ''">
AND t.task_status = #{param.task_status}
</if>
<if test="param.task_code != null and param.task_code != ''">
AND t.task_code = #{param.task_code}
</if>
<if test="param.start_time != null and param.start_time != ''">
AND SUBSTR(t.create_time,1,10) >= #{param.start_time}
</if>
<if test="param.end_time != null and param.end_time != ''">
AND #{param.end_time} >= SUBSTR(t.create_time,1,10)
</if>
</where>
ORDER BY t.create_time DESC
</select>
<select id="agvTaskQueryLc" resultType="com.alibaba.fastjson.JSONObject">
SELECT
t.task_id,
t.car_no,
t.point_code1,
t.point_code2,
t.create_time AS start_time,
t.update_time AS end_time,
t.task_status,
t.task_code,
t.vehicle_code AS bear_box,
t.config_code
FROM
`sch_base_task` t
<where>
t.is_delete = '0'
AND t.config_code IN ('PdaPointTask','KwzdInTask','ThreePointTask')
<if test="param.task_status != null and param.task_status != ''">
AND t.task_status = #{param.task_status}
</if>
<if test="param.task_code != null and param.task_code != ''">
AND t.task_code = #{param.task_code}
</if>
<if test="param.start_time != null and param.start_time != ''">
AND SUBSTR(t.create_time,1,10) >= #{param.start_time}
</if>
<if test="param.end_time != null and param.end_time != ''">
AND #{param.end_time} >= SUBSTR(t.create_time,1,10)
</if>
</where>
ORDER BY t.create_time DESC
</select>
</mapper>

View File

@@ -170,6 +170,7 @@ public class BackInTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj) {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskService.updateById(taskObj);
rawAssistIStorService.taskFinish(taskObj);

View File

@@ -205,6 +205,7 @@ public class BackOutTask extends AbstractTask {
);
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskService.updateById(taskObj);
outBillService.taskFinish(taskObj);

View File

@@ -191,6 +191,7 @@ public class CheckBackMoveTask extends AbstractTask {
// 完成任务
this.taskConfirm(taskObj.getTask_code());
// 更新任务状态
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -173,6 +173,7 @@ public class CheckMoveTask extends AbstractTask {
// 完成任务
this.taskConfirm(taskObj.getTask_code());
// 更新任务状态
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -196,6 +196,7 @@ public class CombinedBoxInTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj) {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskService.updateById(taskObj);
rawAssistIStorService.taskFinish(taskObj);

View File

@@ -190,6 +190,7 @@ public class CombinedBoxMoveTask extends AbstractTask {
// 完成任务
this.taskConfirm(taskObj.getTask_code());
// 更新任务状态
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -181,6 +181,7 @@ public class DetainInTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj) {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskService.updateById(taskObj);
rawAssistIStorService.taskFinish(taskObj);

View File

@@ -186,6 +186,7 @@ public class EmpOutMoveTask extends AbstractTask {
// 更新任务状态
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);
}

View File

@@ -212,6 +212,7 @@ public class EmpVehicleInTask extends AbstractTask {
.set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
);
// 更新任务
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -193,6 +193,7 @@ public class EmpVehicleOutTask extends AbstractTask {
);
// 更新任务
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -179,6 +179,7 @@ public class HandInTask extends AbstractTask {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskService.updateById(taskObj);
rawAssistIStorService.taskFinish(taskObj);
// 更新起点

View File

@@ -189,6 +189,7 @@ public class HandOutTask extends AbstractTask {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskService.updateById(taskObj);
outBillService.taskFinish(taskObj);
this.taskConfirm(taskObj.getTask_code());

View File

@@ -197,6 +197,7 @@ public class HotOutTask extends AbstractTask {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskService.updateById(taskObj);
outBillService.taskFinish(taskObj);
this.taskConfirm(taskObj.getTask_code());

View File

@@ -165,6 +165,7 @@ public class InsideDtlMoveTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj) {
// 更新任务状态
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -176,6 +176,7 @@ public class InsideMoveTask extends AbstractTask {
iStIvtMoveinvService.confirmTask(dtlDao);
// 更新任务状态
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);
}

View File

@@ -203,6 +203,7 @@ public class IosOutMoveTask extends AbstractTask {
// 更新任务状态
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);
}

View File

@@ -173,6 +173,7 @@ public class KwzdInTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj) {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskService.updateById(taskObj);
// 更新起点

View File

@@ -210,6 +210,7 @@ public class MoveOutMoveTask extends AbstractTask {
// 更新任务状态
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -227,6 +227,7 @@ public class PdaPointTask extends AbstractTask {
);
// 更新任务
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -203,6 +203,7 @@ public class PieceBoxInTask extends AbstractTask {
public void finishTask(SchBaseTask taskObj) {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setUpdate_time(DateUtil.now());
taskObj.setRemark("已完成");
taskService.updateById(taskObj);
// 更新起点

View File

@@ -194,6 +194,7 @@ public class PieceBoxMoveTask extends AbstractTask {
this.taskConfirm(taskObj.getTask_code());
// 更新任务状态
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);
}

View File

@@ -180,6 +180,7 @@ public class QualityOutTask extends AbstractTask {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskService.updateById(taskObj);
outBillService.taskFinish(taskObj);
this.taskConfirm(taskObj.getTask_code());

View File

@@ -197,6 +197,7 @@ public class ReceiveOutTask extends AbstractTask {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskService.updateById(taskObj);
outBillService.taskFinish(taskObj);
this.taskConfirm(taskObj.getTask_code());

View File

@@ -204,6 +204,7 @@ public class SelectBackInTask extends AbstractTask {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskService.updateById(taskObj);
this.taskConfirm(taskObj.getTask_code());
}

View File

@@ -199,6 +199,7 @@ public class ThreePointTask extends AbstractTask {
);
// 更新任务
taskObj.setRemark("已完成");
taskObj.setUpdate_time(DateUtil.now());
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskService.updateById(taskObj);

View File

@@ -37,6 +37,11 @@ public class IOSConstant {
*/
public final static String THREE = "3";
/**
* 数字4
*/
public final static String FOUR = "4";
/**
* 出入库 入库
*/