fix:叫料接口修改,扫码申请接口修改
This commit is contained in:
@@ -47,7 +47,7 @@ public interface AcsToWmsService {
|
|||||||
/** 扫码成功申请 - 判断是否静置完成 */
|
/** 扫码成功申请 - 判断是否静置完成 */
|
||||||
ApplyTaskResponse isStandingFinish(ApplyTaskRequest baseRequest);
|
ApplyTaskResponse isStandingFinish(ApplyTaskRequest baseRequest);
|
||||||
/** 扫码成功申请 - 入窑记录时间 */
|
/** 扫码成功申请 - 入窑记录时间 */
|
||||||
ApplyTaskResponse recordKilnTime(ApplyTaskRequest baseRequest);
|
ApplyTaskResponse recordKilnTime(ApplyTaskRequest baseRequest,String type);
|
||||||
/** 压机叫料 */
|
/** 压机叫料 */
|
||||||
BaseResponse pressRequestMaterial(JSONObject param);
|
BaseResponse pressRequestMaterial(JSONObject param);
|
||||||
/** 任务反馈 */
|
/** 任务反馈 */
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ import org.nl.wms.sch.task_manage.task.TaskFactory;
|
|||||||
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||||
import org.nl.wms.sch.task_manage.task.tasks.fj.FJQLTask;
|
import org.nl.wms.sch.task_manage.task.tasks.fj.FJQLTask;
|
||||||
import org.nl.wms.sch.task_manage.task.tasks.fj.mapper.FJMapper;
|
import org.nl.wms.sch.task_manage.task.tasks.fj.mapper.FJMapper;
|
||||||
|
import org.nl.wms.sch.task_manage.task.tasks.yz.mapper.YZMapper;
|
||||||
import org.nl.wms.util.CommonUtils;
|
import org.nl.wms.util.CommonUtils;
|
||||||
import org.nl.wms.util.PointUtils;
|
import org.nl.wms.util.PointUtils;
|
||||||
import org.nl.wms.util.TaskUtils;
|
import org.nl.wms.util.TaskUtils;
|
||||||
@@ -123,6 +124,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private FJMapper fjMapper;
|
private FJMapper fjMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private YZMapper yzMapper;
|
||||||
|
|
||||||
// 初始化反射方法
|
// 初始化反射方法
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void initCacheMethod() {
|
public void initCacheMethod() {
|
||||||
@@ -193,18 +197,33 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
if (ObjectUtil.isEmpty(workOrder)) {
|
if (ObjectUtil.isEmpty(workOrder)) {
|
||||||
throw new BadRequestException("工单不能为空!");
|
throw new BadRequestException("工单不能为空!");
|
||||||
}
|
}
|
||||||
// 从所选区域中,选择满料位、无锁、可用的点位
|
if ("FJ".equals(basePoint.getRegion_code())){
|
||||||
List<String> regin = new ArrayList<>();
|
// 从所选区域中,选择满料位、无锁、可用的点位
|
||||||
regin.add("HCHJ");
|
List<String> regin = new ArrayList<>();
|
||||||
List<SchBasePoint> points = fjMapper.findPointForFJQL(regin, workOrder.getMaterial_id(), workOrder.getCustomer());
|
regin.add("HCHJ");
|
||||||
if (ObjectUtil.isEmpty(points)) {
|
List<SchBasePoint> points = fjMapper.findPointForFJQL(regin, workOrder.getMaterial_id(), workOrder.getCustomer());
|
||||||
ApplyTaskResponse response = new ApplyTaskResponse();
|
if (ObjectUtil.isEmpty(points)) {
|
||||||
response.setRequestNo(requestNo);
|
ApplyTaskResponse response = new ApplyTaskResponse();
|
||||||
response.setMessage("任务申请成功");
|
response.setRequestNo(requestNo);
|
||||||
response.setResponseDate(DateUtil.now());
|
response.setMessage("缓存货架没有所需物料");
|
||||||
response.setCode(HttpStatus.HTTP_OK);
|
response.setResponseDate(DateUtil.now());
|
||||||
response.setIs_needmaterial("0");
|
response.setCode(HttpStatus.HTTP_BAD_REQUEST);
|
||||||
return response;
|
response.setIs_needmaterial("0");
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("YZ".equals(basePoint.getRegion_code())){
|
||||||
|
List<String> regin = new ArrayList<>();
|
||||||
|
regin.add("KL");
|
||||||
|
List<SchBasePoint> points = yzMapper.findPointByYZQL(regin, workOrder.getMaterial_id());
|
||||||
|
if (ObjectUtil.isEmpty(points)) {
|
||||||
|
ApplyTaskResponse response = new ApplyTaskResponse();
|
||||||
|
response.setRequestNo(requestNo);
|
||||||
|
response.setMessage("困料货架没有所需物料");
|
||||||
|
response.setResponseDate(DateUtil.now());
|
||||||
|
response.setCode(HttpStatus.HTTP_BAD_REQUEST);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
String configCode = basePoint.getRegion_code() + "QLTask";
|
String configCode = basePoint.getRegion_code() + "QLTask";
|
||||||
// 组织参数
|
// 组织参数
|
||||||
@@ -585,13 +604,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
return this.isStandingFinish(baseRequest);
|
return this.isStandingFinish(baseRequest);
|
||||||
// 如果是入窑口就是记录数据
|
// 如果是入窑口就是记录数据
|
||||||
case GeneralDefinition.GZY:
|
case GeneralDefinition.GZY:
|
||||||
return this.recordKilnTime(baseRequest);
|
return this.recordKilnTime(baseRequest,GeneralDefinition.GZY);
|
||||||
// 入窑缓存线
|
// 入窑缓存线
|
||||||
case GeneralDefinition.RYHCX:
|
case GeneralDefinition.RYHCX:
|
||||||
return this.recordKilnTime(baseRequest);
|
return this.recordKilnTime(baseRequest,GeneralDefinition.RYHCX);
|
||||||
// 出窑缓存线
|
// 出窑缓存线
|
||||||
case GeneralDefinition.CYHCX:
|
case GeneralDefinition.CYHCX:
|
||||||
return this.recordKilnTime(baseRequest);
|
return this.recordKilnTime(baseRequest,GeneralDefinition.CYHCX);
|
||||||
default:
|
default:
|
||||||
taskResponse.setMessage("参数错误!");
|
taskResponse.setMessage("参数错误!");
|
||||||
taskResponse.setCode(HttpStatus.HTTP_BAD_REQUEST);
|
taskResponse.setCode(HttpStatus.HTTP_BAD_REQUEST);
|
||||||
@@ -691,7 +710,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
* 扫码成功申请 - 入窑记录时间
|
* 扫码成功申请 - 入窑记录时间
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ApplyTaskResponse recordKilnTime(ApplyTaskRequest baseRequest) {
|
public ApplyTaskResponse recordKilnTime(ApplyTaskRequest baseRequest,String type) {
|
||||||
log.info("扫码成功申请 - 出入窑记录时间的参数: {}", baseRequest);
|
log.info("扫码成功申请 - 出入窑记录时间的参数: {}", baseRequest);
|
||||||
if (ObjectUtil.isEmpty(baseRequest.getVehicle_code())) {
|
if (ObjectUtil.isEmpty(baseRequest.getVehicle_code())) {
|
||||||
throw new BadRequestException("载具编码不能为空");
|
throw new BadRequestException("载具编码不能为空");
|
||||||
@@ -704,17 +723,15 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
// 入窑记录时间
|
// 入窑记录时间
|
||||||
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getGroupInfo(baseRequest.getVehicle_code(),
|
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getGroupInfo(baseRequest.getVehicle_code(),
|
||||||
baseRequest.getVehicle_type(), GroupBindMaterialStatusEnum.BOUND.getValue());
|
baseRequest.getVehicle_type(), GroupBindMaterialStatusEnum.BOUND.getValue());
|
||||||
if (basePoint.getPoint_type().equals(GeneralDefinition.ENTRANCE)
|
if (GeneralDefinition.RYHCX.equals(type) && ObjectUtil.isNotEmpty(groupInfo.getInto_kiln_time())) {
|
||||||
&& ObjectUtil.isNotEmpty(groupInfo.getInto_kiln_time())) {
|
|
||||||
// 如果已经记录就跳过
|
// 如果已经记录就跳过
|
||||||
return ApplyTaskResponse.responseOk(baseRequest.getRequestNo());
|
return ApplyTaskResponse.responseOk(baseRequest.getRequestNo());
|
||||||
}
|
}
|
||||||
if (basePoint.getPoint_type().equals(GeneralDefinition.EXIT)
|
if (GeneralDefinition.CYHCX.equals(type) && ObjectUtil.isNotEmpty(groupInfo.getOut_kiln_time())) {
|
||||||
&& ObjectUtil.isNotEmpty(groupInfo.getOut_kiln_time())) {
|
|
||||||
// 如果已经记录就跳过
|
// 如果已经记录就跳过
|
||||||
return ApplyTaskResponse.responseOk(baseRequest.getRequestNo());
|
return ApplyTaskResponse.responseOk(baseRequest.getRequestNo());
|
||||||
}
|
}
|
||||||
recordInOrOutKilnTime(groupInfo, basePoint);
|
recordInOrOutKilnTime(groupInfo, basePoint,type);
|
||||||
if (ObjectUtil.isNotEmpty(basePoint)) {
|
if (ObjectUtil.isNotEmpty(basePoint)) {
|
||||||
// 记录当前位置
|
// 记录当前位置
|
||||||
groupInfo.setPoint_code(basePoint.getPoint_code()); // 当前位置
|
groupInfo.setPoint_code(basePoint.getPoint_code()); // 当前位置
|
||||||
@@ -733,10 +750,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
return ApplyTaskResponse.responseOk(baseRequest.getRequestNo(), "扫码成功申请");
|
return ApplyTaskResponse.responseOk(baseRequest.getRequestNo(), "扫码成功申请");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void recordInOrOutKilnTime(SchBaseVehiclematerialgroup groupInfo, SchBasePoint basePoint) {
|
|
||||||
if (GeneralDefinition.ENTRANCE.equals(basePoint.getPoint_type())) {
|
|
||||||
|
private void recordInOrOutKilnTime(SchBaseVehiclematerialgroup groupInfo, SchBasePoint basePoint,String type) {
|
||||||
|
if (GeneralDefinition.RYHCX.equals(type)) {
|
||||||
groupInfo.setInto_kiln_time(DateUtil.now());
|
groupInfo.setInto_kiln_time(DateUtil.now());
|
||||||
} else {
|
}
|
||||||
|
if (GeneralDefinition.CYHCX.equals(type)) {
|
||||||
groupInfo.setOut_kiln_time(DateUtil.now());
|
groupInfo.setOut_kiln_time(DateUtil.now());
|
||||||
groupInfo.setIs_firing(true);
|
groupInfo.setIs_firing(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -180,8 +180,7 @@ public class YZQLTask extends AbstractTask {
|
|||||||
: null;
|
: null;
|
||||||
Assert.notNull(workOrder, "工单不能为空!");
|
Assert.notNull(workOrder, "工单不能为空!");
|
||||||
// hint: redundance_material_code暂时存在着
|
// hint: redundance_material_code暂时存在着
|
||||||
List<SchBasePoint> points = yzMapper.findPointByYZQL(startRegionStr, workOrder.getRaw_material_code(),
|
List<SchBasePoint> points = yzMapper.findPointByYZQL(startRegionStr, workOrder.getMaterial_id());
|
||||||
extGroupData.getBoolean("is_new"));
|
|
||||||
return ObjectUtil.isNotEmpty(points) ? points.get(0) : null;
|
return ObjectUtil.isNotEmpty(points) ? points.get(0) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,13 +19,12 @@ public interface YZMapper {
|
|||||||
*/
|
*/
|
||||||
int countConveyorLine(String regionCode, String pointType, String pointStatus);
|
int countConveyorLine(String regionCode, String pointType, String pointStatus);
|
||||||
/**
|
/**
|
||||||
* 根据泥料编码获取
|
* 根据泥料id获取
|
||||||
* @param regionCode
|
* @param regionCode
|
||||||
* @param rawMaterialCode
|
* @param materialId
|
||||||
* @param isNew
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SchBasePoint> findPointByYZQL(List<String> regionCode, String rawMaterialCode, Boolean isNew);
|
List<SchBasePoint> findPointByYZQL(List<String> regionCode, String materialId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,16 +13,15 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="findPointByYZQL" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
<select id="findPointByYZQL" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||||
SELECT
|
SELECT
|
||||||
p.*,
|
p.*,
|
||||||
vg.group_id
|
vg.group_id
|
||||||
FROM
|
FROM
|
||||||
`sch_base_point` p
|
`sch_base_point` p
|
||||||
LEFT JOIN sch_base_vehiclematerialgroup vg ON p.vehicle_code = vg.vehicle_code
|
LEFT JOIN sch_base_vehiclematerialgroup vg ON p.vehicle_code = vg.vehicle_code
|
||||||
AND p.vehicle_type = vg.vehicle_type AND vg.group_bind_material_status = '2'
|
AND p.vehicle_type = vg.vehicle_type AND vg.group_bind_material_status = '2'
|
||||||
LEFT JOIN pdm_bd_workorder w ON w.workorder_code = vg.workorder_code
|
LEFT JOIN pdm_bd_workorder w ON w.workorder_code = vg.workorder_code
|
||||||
WHERE (p.ing_task_code = '' OR p.ing_task_code IS NULL) AND p.point_status = '3'
|
WHERE (p.ing_task_code = '' OR p.ing_task_code IS NULL) AND p.point_status = '3'
|
||||||
AND vg.group_id IS NOT NULL AND vg.redundance_material_code = #{rawMaterialCode}
|
AND vg.group_id IS NOT NULL AND vg.material_id = #{materialId}
|
||||||
AND w.is_new = #{isNew} AND TIMESTAMPDIFF(MINUTE, vg.instorage_time, NOW()) >= vg.standing_time
|
|
||||||
AND p.region_code IN
|
AND p.region_code IN
|
||||||
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
||||||
#{code}
|
#{code}
|
||||||
|
|||||||
Reference in New Issue
Block a user