Browse Source

add:sorting接口2

master
zhangzq 7 months ago
parent
commit
99693bfacd
  1. 21
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/controller/SortingController.java
  2. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/SortingService.java
  3. 16
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java
  4. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java
  5. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.java
  6. 22
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml
  7. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dto/PointMaterialInfo.java
  8. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java
  9. 22
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingSMTTask.java

21
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/controller/SortingController.java

@ -7,12 +7,13 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.logging.annotation.Log; import org.nl.common.logging.annotation.Log;
import org.nl.wms.ext.sorting.service.SortingService; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map; import java.util.Map;
@RestController @RestController
@ -28,11 +29,17 @@ public class SortingController {
@PostMapping("/agv") @PostMapping("/agv")
@Log("sorting下发agv任务") @Log("sorting下发agv任务")
@ApiOperation("sorting下发agv任务")
@SaIgnore @SaIgnore
public Map createAgvTaskBySorting(@RequestBody JSONObject jsonObject){ public ResponseEntity<Object> createAgvTaskBySorting(@RequestBody JSONObject jsonObject){
Map map = sortingService.createAgvTask(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);
} }
} }

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/SortingService.java

@ -1,7 +1,9 @@
package org.nl.wms.ext.sorting.service; package org.nl.wms.ext.sorting.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -15,4 +17,6 @@ public interface SortingService {
* @return * @return
*/ */
Map createAgvTask(JSONObject jsonObject); Map createAgvTask(JSONObject jsonObject);
List<PointMaterialInfo> getStructList(String jobName);
} }

16
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java

@ -1,13 +1,15 @@
package org.nl.wms.ext.sorting.service.impl; package org.nl.wms.ext.sorting.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONArray; import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.nl.common.enums.region.RegionEnum;
import org.nl.config.IdUtil; import org.nl.config.IdUtil;
import org.nl.config.MapOf; import org.nl.config.MapOf;
import org.nl.wms.ext.sorting.enums.SortingEnum; import org.nl.wms.ext.sorting.enums.SortingEnum;
import org.nl.wms.ext.sorting.service.SortingService; 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.SortingCMTTask;
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCNTTask; import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCNTTask;
import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingSMTTask; 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.stereotype.Service;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import java.util.HashMap; import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -33,6 +35,8 @@ public class SortingServiceImpl implements SortingService {
private SortingSMTTask sortingSMTTask; private SortingSMTTask sortingSMTTask;
@Autowired @Autowired
private SortingSNTTask sortingSNTTask; private SortingSNTTask sortingSNTTask;
@Autowired
private ISchBasePointService iSchBasePointService;
@Override @Override
@ -69,11 +73,17 @@ public class SortingServiceImpl implements SortingService {
//TODO:将满料放到线边库 //TODO:将满料放到线边库
}else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){ }else if(SortingEnum.TASK_TYPE_TWO.getValue().equals(task_type) && SortingEnum.NOT_EMPTY.getValue().equals(is_empty)){
taskParam.put("config_code","sortingCMTTask"); taskParam.put("config_code","sortingCMTTask");
sortingCMTTask.apply(taskParam); sortingSMTTask.apply(taskParam);
} }
return MapOf.of("status", 200,"msg", "sucess"); return MapOf.of("status", 200,"msg", "sucess");
}catch (Exception ex){ }catch (Exception ex){
return MapOf.of("status", 200,"msg", "操作失败","errMsg",ex.getMessage()); 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;
}
} }

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.query.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.sch.point.service.dao.SchBasePoint; 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.List;
import java.util.Map; import java.util.Map;
@ -101,4 +102,12 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
* @return * @return
*/ */
SchBasePoint selectByReassign(String region_code ,String vehicleCode); SchBasePoint selectByReassign(String region_code ,String vehicleCode);
/**
* 根据区域及托盘类型获取库存信息
* @param region_code
* @return
*/
List<PointMaterialInfo> getStructList(String region_code ,String vehicle_type);
} }

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.java

@ -1,7 +1,9 @@
package org.nl.wms.sch.point.service.dao.mapper; package org.nl.wms.sch.point.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.dao.SchBasePoint;
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
import java.util.List; import java.util.List;
@ -19,4 +21,6 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
void batchChangeUsed(List<String> pointCodes, Boolean used); void batchChangeUsed(List<String> pointCodes, Boolean used);
SchBasePoint selectByIdLock(String id); SchBasePoint selectByIdLock(String id);
List<PointMaterialInfo> getStructList(@Param("region_code") String region_code, @Param("vehicle_type")String vehicle_type);
} }

22
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml

@ -20,4 +20,26 @@
WHERE p.point_code = #{id} WHERE p.point_code = #{id}
FOR UPDATE FOR UPDATE
</select> </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> </mapper>

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dto/PointMaterialInfo.java

@ -28,12 +28,12 @@ public class PointMaterialInfo extends SchBasePoint {
@ApiModelProperty(value = "物料数量") @ApiModelProperty(value = "物料数量")
private Integer material_qty; private Integer material_qty;
@ApiModelProperty(value = "物料重量")
private BigDecimal material_weight;
@ApiModelProperty(value = "额外信息") @ApiModelProperty(value = "额外信息")
private String ext_data; private String ext_data;
private String region_name; private String region_name;
private String workorder_code;
} }

9
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java

@ -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.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint; 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.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.SchBaseRegion;
import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper; import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper;
import org.nl.wms.sch.task_manage.enums.PointStatusEnum; import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
@ -321,6 +322,12 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
return null; 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 @Override
@Transactional(propagation= Propagation.REQUIRES_NEW) @Transactional(propagation= Propagation.REQUIRES_NEW)
public SchBasePoint selectEmpVehicleByRegionCode(String region_code, String...vehicleType) { public SchBasePoint selectEmpVehicleByRegionCode(String region_code, String...vehicleType) {
@ -330,7 +337,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
isNotNull(SchBasePoint::getVehicle_code) isNotNull(SchBasePoint::getVehicle_code)
.eq(SchBasePoint::getRegion_code, region_code) .eq(SchBasePoint::getRegion_code, region_code)
.eq(SchBasePoint::getPoint_status,GoodsEnum.EMPTY_PALLETS.getValue()) .eq(SchBasePoint::getPoint_status,GoodsEnum.EMPTY_PALLETS.getValue())
.in(SchBasePoint::getVehicle_type, vehicleType) .in(SchBasePoint::getCan_vehicle_type, vehicleType)
.eq(SchBasePoint::getIs_used, true)); .eq(SchBasePoint::getIs_used, true));
if(CollectionUtils.isEmpty(schBasePoints)) { if(CollectionUtils.isEmpty(schBasePoints)) {
return null; return null;

22
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingSMTTask.java

@ -1,8 +1,10 @@
package org.nl.wms.sch.task_manage.task.tasks.sorting; package org.nl.wms.sch.task_manage.task.tasks.sorting;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import jdk.nashorn.internal.scripts.JS;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.enums.region.RegionEnum; import org.nl.common.enums.region.RegionEnum;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
@ -74,14 +76,24 @@ public class SortingSMTTask extends AbstractTask {
NoticeTypeEnum.WARN.getCode()); NoticeTypeEnum.WARN.getCode());
continue; continue;
} }
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 schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup();
schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code()); schBaseVehiclematerialgroup.setVehicle_code(vehicle_code);
schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code());
schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code()); schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code());
schBaseVehiclematerialgroup.setMaterial_id(); schBaseVehiclematerialgroup.setMaterial_id(ProductID);
schBaseVehiclematerialgroup.setMaterial_qty(); schBaseVehiclematerialgroup.setMaterial_qty(qty);
schBaseVehiclematerialgroup.setRegion_code(region_code);
schBaseVehiclematerialgroup.setWorkorder_code(workorder);
schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup);
}
// 设置终点并修改创建成功状态 // 设置终点并修改创建成功状态
task.setPoint_code2(schBasePoint.getPoint_code()); task.setPoint_code2(schBasePoint.getPoint_code());

Loading…
Cancel
Save