psh
12 months ago
15 changed files with 355 additions and 0 deletions
@ -0,0 +1,54 @@ |
|||||
|
package org.nl.wms.pda.controller; |
||||
|
|
||||
|
import cn.dev33.satoken.annotation.SaIgnore; |
||||
|
import com.alibaba.fastjson.JSONObject; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.nl.common.logging.annotation.Log; |
||||
|
import org.nl.wms.pda.service.PdaService; |
||||
|
import org.springframework.http.HttpStatus; |
||||
|
import org.springframework.http.ResponseEntity; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
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; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 手持接口 |
||||
|
* @Date: 2023/8/1 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@RestController |
||||
|
@Api(tags = "手持接口") |
||||
|
@RequestMapping("/api/pda") |
||||
|
@SaIgnore |
||||
|
public class PdaController { |
||||
|
|
||||
|
private PdaService pdaService; |
||||
|
|
||||
|
|
||||
|
@PostMapping("/outStruct/outSave") |
||||
|
@Log("涂板线下料") |
||||
|
@ApiOperation("涂板线下料") |
||||
|
public ResponseEntity<Object> outSave(@RequestBody JSONObject param){ |
||||
|
return new ResponseEntity<>(pdaService.outSave(param), HttpStatus.OK); |
||||
|
} |
||||
|
|
||||
|
@PostMapping("/cleanVehicle") |
||||
|
@Log("清空物料信息") |
||||
|
@ApiOperation("清空物料信息") |
||||
|
public ResponseEntity<Object> cleanVehicle(@RequestBody JSONObject param){ |
||||
|
return new ResponseEntity<>(pdaService.cleanVehicle(param), HttpStatus.OK); |
||||
|
} |
||||
|
|
||||
|
@PostMapping("/callingMaterialTask") |
||||
|
@Log("包片机叫料") |
||||
|
@ApiOperation("包片机叫料") |
||||
|
public ResponseEntity<Object> callingMaterialTask(@RequestBody JSONObject param){ |
||||
|
return new ResponseEntity<>(pdaService.callingMaterialTask(param), HttpStatus.OK); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
package org.nl.wms.pda.service; |
||||
|
|
||||
|
import com.alibaba.fastjson.JSONObject; |
||||
|
import org.nl.wms.pda.service.dao.vo.PdaResponseVo; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: |
||||
|
* @Date: 2023/8/1 |
||||
|
*/ |
||||
|
public interface PdaService { |
||||
|
PdaResponseVo outSave(JSONObject param); |
||||
|
|
||||
|
PdaResponseVo cleanVehicle(JSONObject param); |
||||
|
|
||||
|
PdaResponseVo callingMaterialTask(JSONObject param); |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 混碾搬运参数 |
||||
|
* @Date: 2023/9/21 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class BlendingMoveDto { |
||||
|
private String vehicle_code; |
||||
|
/** |
||||
|
* 混碾对接位 |
||||
|
*/ |
||||
|
private String start_point_code; |
||||
|
/** |
||||
|
* 压机号,需要自行寻找点位 |
||||
|
*/ |
||||
|
// private String end_point_code;
|
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 通用实体 |
||||
|
* @Date: 2023/10/16 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class CommonQueryDto { |
||||
|
private String material_code; |
||||
|
} |
@ -0,0 +1,14 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 强制静置实体 |
||||
|
* @Date: 2023/9/25 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ForcedRestingDto { |
||||
|
private Integer stand_time; // 静置时间
|
||||
|
private String group_id; // 组盘标识
|
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 人工组盘 |
||||
|
* @Date: 2023/9/18 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ManualGroupDto { |
||||
|
private String vehicle_code; |
||||
|
private String vehicle_type; |
||||
|
private String point_code; |
||||
|
private String order_code; // 不需要
|
||||
|
private BigDecimal material_weight; |
||||
|
} |
@ -0,0 +1,18 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 剩料回库参数 |
||||
|
* @Date: 2023/9/28 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ManualResidueInDto { |
||||
|
private String vehicle_code; |
||||
|
private String qty; |
||||
|
/** |
||||
|
* 剩余数量 |
||||
|
*/ |
||||
|
private String surplus_quantity; |
||||
|
} |
@ -0,0 +1,14 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 人工排产Dto |
||||
|
* @Date: 2023/9/28 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ManualSortingDto { |
||||
|
private String workorder_code; |
||||
|
private String username; // 用户
|
||||
|
} |
@ -0,0 +1,25 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 压机搬运dto |
||||
|
* @Date: 2023/10/16 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PressMoveDto { |
||||
|
/** |
||||
|
* 设备编码:对接位 |
||||
|
*/ |
||||
|
private String device_code; |
||||
|
/** |
||||
|
* 载具编码 |
||||
|
*/ |
||||
|
private String vehicle_code; |
||||
|
/** |
||||
|
* 数量 |
||||
|
*/ |
||||
|
private String qty; |
||||
|
|
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 货架组盘信息dto |
||||
|
* @Date: 2023/10/16 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class ShelfSaveDto { |
||||
|
private String point_code; |
||||
|
private String point_status; |
||||
|
private String vehicle_code; |
||||
|
private String material_qty; |
||||
|
private String material_id; |
||||
|
} |
@ -0,0 +1,14 @@ |
|||||
|
package org.nl.wms.pda.service.dao.dto; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 载具绑定 |
||||
|
* @Date: 2023/10/7 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class VehicleBindingDto { |
||||
|
private String origin_vehicle_code; |
||||
|
private String target_vehicle_code; |
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
package org.nl.wms.pda.service.dao.mapper; |
||||
|
|
||||
|
import org.nl.wms.pda.service.dao.dto.CommonQueryDto; |
||||
|
import org.nl.wms.sch.point.service.dao.SchBasePoint; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 手持mapper接口 |
||||
|
* @Date: 2023/8/1 |
||||
|
*/ |
||||
|
public interface PdaMapper { |
||||
|
|
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="org.nl.wms.pda.service.dao.mapper.PdaMapper"> |
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,20 @@ |
|||||
|
package org.nl.wms.pda.service.dao.vo; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 手持返回 |
||||
|
* @Date: 2023/8/3 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PdaResponseVo { |
||||
|
// 先提供一个message
|
||||
|
private String message; |
||||
|
|
||||
|
public static PdaResponseVo pdaResultOk(String message) { |
||||
|
PdaResponseVo vo = new PdaResponseVo(); |
||||
|
vo.setMessage(message); |
||||
|
return vo; |
||||
|
} |
||||
|
} |
@ -0,0 +1,89 @@ |
|||||
|
package org.nl.wms.pda.service.impl; |
||||
|
|
||||
|
import cn.hutool.core.date.DateUtil; |
||||
|
import com.alibaba.fastjson.JSONObject; |
||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.nl.common.exception.BadRequestException; |
||||
|
import org.nl.wms.database.material.service.IMdBaseMaterialService; |
||||
|
import org.nl.wms.ext.service.AcsToWmsService; |
||||
|
import org.nl.wms.pda.service.PdaService; |
||||
|
import org.nl.wms.pda.service.dao.mapper.PdaMapper; |
||||
|
import org.nl.wms.pda.service.dao.vo.PdaResponseVo; |
||||
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService; |
||||
|
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; |
||||
|
import org.nl.wms.sch.point.service.ISchBasePointService; |
||||
|
import org.nl.wms.sch.point.service.dao.SchBasePoint; |
||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskService; |
||||
|
import org.nl.wms.sch.task_manage.GeneralDefinition; |
||||
|
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
/** |
||||
|
* @Author: lyd |
||||
|
* @Description: 实现类 |
||||
|
* @Date: 2023/8/1 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@Service |
||||
|
public class PdaServiceImpl implements PdaService { |
||||
|
@Autowired |
||||
|
private PdaMapper pdaMapper; |
||||
|
@Autowired |
||||
|
private ISchBasePointService pointService; |
||||
|
@Autowired |
||||
|
private IMdBaseMaterialService materialService; |
||||
|
@Autowired |
||||
|
private ISchBaseVehiclematerialgroupService vehiclematerialgroupService; |
||||
|
@Autowired |
||||
|
private ISchBaseTaskService taskService; |
||||
|
@Autowired |
||||
|
private AcsToWmsService acsToWmsService; |
||||
|
|
||||
|
@Override |
||||
|
public PdaResponseVo outSave(JSONObject param) { |
||||
|
param.put("device_code",param.getString("point_code")); |
||||
|
if(!param.getString("point_code").startsWith("TBX")){ |
||||
|
throw new BadRequestException("非涂板线禁止叫料!"); |
||||
|
} |
||||
|
param.put("request_medthod_code","MJXLTask"); |
||||
|
param.put("request_medthod_name","涂板线满架下料"); |
||||
|
acsToWmsService.acsApply(param); |
||||
|
return PdaResponseVo.pdaResultOk("涂板线满架下料请求成功"); |
||||
|
} |
||||
|
@Override |
||||
|
public PdaResponseVo cleanVehicle(JSONObject param) { |
||||
|
//根据载具编码寻找点位,并且将它更新掉
|
||||
|
String vehicleCode=param.getString("vehicle_code"); |
||||
|
SchBaseVehiclematerialgroup groupEntity = vehiclematerialgroupService.getOne(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>() |
||||
|
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode) |
||||
|
.eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status, |
||||
|
GroupBindMaterialStatusEnum.BOUND.getValue())); |
||||
|
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue()); |
||||
|
groupEntity.setUpdate_id(GeneralDefinition.ACS_ID); |
||||
|
groupEntity.setUpdate_name(GeneralDefinition.ACS_NAME); |
||||
|
groupEntity.setUpdate_time(DateUtil.now()); |
||||
|
vehiclematerialgroupService.save(groupEntity); |
||||
|
SchBasePoint pointObj=pointService.getById(groupEntity.getPoint_code()); |
||||
|
if(pointObj.getVehicle_code().contains(",")){ |
||||
|
vehicleCode+=','; |
||||
|
} |
||||
|
pointObj.setVehicle_code(pointObj.getVehicle_code().replace(vehicleCode,"")); |
||||
|
pointObj.setVehicle_qty(pointObj.getVehicle_qty()-1); |
||||
|
pointService.update(pointObj); |
||||
|
//清空组盘表的信息
|
||||
|
return PdaResponseVo.pdaResultOk("呼叫物料请求成功"); |
||||
|
} |
||||
|
@Override |
||||
|
public PdaResponseVo callingMaterialTask(JSONObject param) { |
||||
|
if(!param.getString("point_code").startsWith("BP")){ |
||||
|
throw new BadRequestException("非包片机禁止叫料!"); |
||||
|
} |
||||
|
param.put("device_code",param.getString("point_code")); |
||||
|
param.put("request_medthod_code","BPSLTask"); |
||||
|
param.put("request_medthod_name","包片上料"); |
||||
|
acsToWmsService.acsApply(param); |
||||
|
return PdaResponseVo.pdaResultOk("呼叫物料请求成功"); |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue