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