add:sorting接口2
This commit is contained in:
@@ -7,12 +7,13 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.logging.annotation.Log;
|
||||
import org.nl.wms.ext.sorting.service.SortingService;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@@ -28,11 +29,17 @@ public class SortingController {
|
||||
|
||||
@PostMapping("/agv")
|
||||
@Log("sorting下发agv任务")
|
||||
@ApiOperation("sorting下发agv任务")
|
||||
@SaIgnore
|
||||
public Map createAgvTaskBySorting(@RequestBody JSONObject jsonObject){
|
||||
public ResponseEntity<Object> createAgvTaskBySorting(@RequestBody JSONObject jsonObject){
|
||||
Map map = sortingService.createAgvTask(jsonObject);
|
||||
return null;
|
||||
return new ResponseEntity(map, HttpStatus.OK);
|
||||
}
|
||||
@GetMapping("/jobs")
|
||||
@Log("查询物料列表")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getMaterialList(String Jobname){
|
||||
List<PointMaterialInfo> structList = sortingService.getStructList(Jobname);
|
||||
return new ResponseEntity(structList, HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.nl.wms.ext.sorting.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -15,4 +17,6 @@ public interface SortingService {
|
||||
* @return
|
||||
*/
|
||||
Map createAgvTask(JSONObject jsonObject);
|
||||
|
||||
List<PointMaterialInfo> getStructList(String jobName);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package org.nl.wms.ext.sorting.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.enums.region.RegionEnum;
|
||||
import org.nl.config.IdUtil;
|
||||
import org.nl.config.MapOf;
|
||||
import org.nl.wms.ext.sorting.enums.SortingEnum;
|
||||
import org.nl.wms.ext.sorting.service.SortingService;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCMTTask;
|
||||
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCNTTask;
|
||||
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingSMTTask;
|
||||
@@ -16,7 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -33,6 +35,8 @@ public class SortingServiceImpl implements SortingService {
|
||||
private SortingSMTTask sortingSMTTask;
|
||||
@Autowired
|
||||
private SortingSNTTask sortingSNTTask;
|
||||
@Autowired
|
||||
private ISchBasePointService iSchBasePointService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -69,11 +73,17 @@ public class SortingServiceImpl implements SortingService {
|
||||
//TODO:将满料放到线边库
|
||||
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
|
||||
taskParam.put("config_code","sortingCMTTask");
|
||||
sortingCMTTask.apply(taskParam);
|
||||
sortingSMTTask.apply(taskParam);
|
||||
}
|
||||
return MapOf.of("status", 200,"msg", "sucess");
|
||||
}catch (Exception ex){
|
||||
return MapOf.of("status", 200,"msg", "操作失败","errMsg",ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PointMaterialInfo> getStructList(String jobName) {
|
||||
List<PointMaterialInfo> structList = iSchBasePointService.getStructList(RegionEnum.ZDFJ.getRegion_code(), "1");
|
||||
return structList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -101,4 +102,12 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
* @return
|
||||
*/
|
||||
SchBasePoint selectByReassign(String region_code ,String vehicleCode);
|
||||
|
||||
/**
|
||||
* 根据区域及托盘类型获取库存信息
|
||||
* @param region_code
|
||||
* @return
|
||||
*/
|
||||
List<PointMaterialInfo> getStructList(String region_code ,String vehicle_type);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.nl.wms.sch.point.service.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,4 +21,6 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
||||
void batchChangeUsed(List<String> pointCodes, Boolean used);
|
||||
|
||||
SchBasePoint selectByIdLock(String id);
|
||||
|
||||
List<PointMaterialInfo> getStructList(@Param("region_code") String region_code, @Param("vehicle_type")String vehicle_type);
|
||||
}
|
||||
|
||||
@@ -20,4 +20,26 @@
|
||||
WHERE p.point_code = #{id}
|
||||
FOR UPDATE
|
||||
</select>
|
||||
<select id="getStructList" resultType="org.nl.wms.sch.point.service.dto.PointMaterialInfo">
|
||||
SELECT
|
||||
sch_base_point.point_code,
|
||||
sch_base_point.point_name,
|
||||
sch_base_point.is_lock,
|
||||
sch_base_point.vehicle_code,
|
||||
sch_base_vehiclematerialgroup.group_id,
|
||||
sch_base_vehiclematerialgroup.material_id,
|
||||
sch_base_vehiclematerialgroup.material_qty,
|
||||
sch_base_vehiclematerialgroup.region_code,
|
||||
sch_base_vehiclematerialgroup.workorder_code,
|
||||
FROM
|
||||
sch_base_point
|
||||
inner JOIN sch_base_vehiclematerialgroup ON sch_base_point.vehicle_code = sch_base_vehiclematerialgroup.vehicle_code
|
||||
WHERE
|
||||
is_lock = FALSE
|
||||
AND sch_base_point.vehicle_code IS NOT NULL
|
||||
and sch_base_point.point_status = '2'
|
||||
and sch_base_point.can_vehicle_type = #{vehicle_type}
|
||||
AND sch_base_point.region_code = #{region_code}
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -28,12 +28,12 @@ public class PointMaterialInfo extends SchBasePoint {
|
||||
@ApiModelProperty(value = "物料数量")
|
||||
private Integer material_qty;
|
||||
|
||||
@ApiModelProperty(value = "物料重量")
|
||||
private BigDecimal material_weight;
|
||||
|
||||
@ApiModelProperty(value = "额外信息")
|
||||
private String ext_data;
|
||||
|
||||
private String region_name;
|
||||
|
||||
private String workorder_code;
|
||||
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.nl.wms.database.vehicle.service.dao.MdBaseVehicle;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
import org.nl.wms.sch.region.service.dao.SchBaseRegion;
|
||||
import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper;
|
||||
import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
|
||||
@@ -321,6 +322,12 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PointMaterialInfo> getStructList(String region_code, String vehicle_type) {
|
||||
List<PointMaterialInfo> structList = pointMapper.getStructList(region_code, vehicle_type);
|
||||
return structList;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(propagation= Propagation.REQUIRES_NEW)
|
||||
public SchBasePoint selectEmpVehicleByRegionCode(String region_code, String...vehicleType) {
|
||||
@@ -330,7 +337,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
isNotNull(SchBasePoint::getVehicle_code)
|
||||
.eq(SchBasePoint::getRegion_code, region_code)
|
||||
.eq(SchBasePoint::getPoint_status,GoodsEnum.EMPTY_PALLETS.getValue())
|
||||
.in(SchBasePoint::getVehicle_type, vehicleType)
|
||||
.in(SchBasePoint::getCan_vehicle_type, vehicleType)
|
||||
.eq(SchBasePoint::getIs_used, true));
|
||||
if(CollectionUtils.isEmpty(schBasePoints)) {
|
||||
return null;
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package org.nl.wms.sch.task_manage.task.tasks.sorting;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import jdk.nashorn.internal.scripts.JS;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.enums.region.RegionEnum;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
@@ -74,14 +76,24 @@ public class SortingSMTTask extends AbstractTask {
|
||||
NoticeTypeEnum.WARN.getCode());
|
||||
continue;
|
||||
}
|
||||
|
||||
SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup();
|
||||
schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code());
|
||||
schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code());
|
||||
schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code());
|
||||
schBaseVehiclematerialgroup.setMaterial_id();
|
||||
schBaseVehiclematerialgroup.setMaterial_qty();
|
||||
schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup);
|
||||
JSONObject ext_data = jsonObject.getJSONObject("ext_data");
|
||||
JSONArray pallet_detail = ext_data.getJSONArray("pallet_detail");
|
||||
for (Object o : pallet_detail) {
|
||||
JSONObject jO = (JSONObject)JSONObject.toJSON(o);
|
||||
String workorder = jO.getString("ProductionOrder");
|
||||
String ProductID = jO.getString("ProductID");
|
||||
Integer qty = jO.getInteger("Currentqty");
|
||||
String vehicle_code = jO.getString("vehicle_code");
|
||||
String region_code = jO.getString("NextOperation");
|
||||
SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup();
|
||||
schBaseVehiclematerialgroup.setVehicle_code(vehicle_code);
|
||||
schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code());
|
||||
schBaseVehiclematerialgroup.setMaterial_id(ProductID);
|
||||
schBaseVehiclematerialgroup.setMaterial_qty(qty);
|
||||
schBaseVehiclematerialgroup.setRegion_code(region_code);
|
||||
schBaseVehiclematerialgroup.setWorkorder_code(workorder);
|
||||
schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup);
|
||||
}
|
||||
|
||||
// 设置终点并修改创建成功状态
|
||||
task.setPoint_code2(schBasePoint.getPoint_code());
|
||||
|
||||
Reference in New Issue
Block a user