diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaEmpVehicleController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaEmpVehicleController.java deleted file mode 100644 index 7641607..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaEmpVehicleController.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.nl.wms.pda.ios_manage.controller; - - -import cn.dev33.satoken.annotation.SaIgnore; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.logging.annotation.Log; -import org.nl.wms.pda.ios_manage.service.PdaEmpVehicleService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -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 Liuxy - * @since 2025-08-05 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/pda/empVehicle") -@Slf4j -public class PdaEmpVehicleController { - - @Autowired - private PdaEmpVehicleService pdaEmpVehicleService; - - @PostMapping("/in") - @Log("空托盘入库") - @SaIgnore - public ResponseEntity empVehicleIn(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaEmpVehicleService.empVehicleIn(whereJson),HttpStatus.OK); - } - - @PostMapping("/out") - @Log("空托盘出库") - @SaIgnore - public ResponseEntity empVehicleOut(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaEmpVehicleService.empVehicleOut(whereJson),HttpStatus.OK); - } - -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosCheckController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosCheckController.java deleted file mode 100644 index 9b36c5b..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosCheckController.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.nl.wms.pda.ios_manage.controller; - - -import cn.dev33.satoken.annotation.SaIgnore; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.logging.annotation.Log; -import org.nl.wms.pda.ios_manage.service.PdaIosCheckService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -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 Liuxy - * @since 2025-06-06 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/pda/iosCheck") -@Slf4j -public class PdaIosCheckController { - - @Autowired - private PdaIosCheckService pdaIosCheckService; - - @PostMapping("/getDtl") - @Log("获取盘点明细") - @SaIgnore - public ResponseEntity getDtl(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosCheckService.getDtl(whereJson), HttpStatus.OK); - } - - @PostMapping("/confirm") - @Log("确认") - @SaIgnore - public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosCheckService.confirm(whereJson), HttpStatus.OK); - } - -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosInController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosInController.java deleted file mode 100644 index fac1f9c..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosInController.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.nl.wms.pda.ios_manage.controller; - - -import cn.dev33.satoken.annotation.SaIgnore; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.logging.annotation.Log; -import org.nl.wms.pda.ios_manage.service.PdaIosInService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -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 Liuxy - * @since 2025-06-05 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/pda/iosIn") -@Slf4j -public class PdaIosInController { - - @Autowired - private PdaIosInService pdaIosInService; - - @PostMapping("/sweepCode") - @Log("扫码解析") - @SaIgnore - public ResponseEntity sweepCode(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosInService.sweepCode(whereJson),HttpStatus.OK); - } - - @PostMapping("/groupPlate") - @Log("组盘") - @SaIgnore - public ResponseEntity groupPlate(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosInService.groupPlate(whereJson),HttpStatus.OK); - } - - @PostMapping("/getPlateDtl") - @Log("查询明细") - @SaIgnore - public ResponseEntity getPlateDtl(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosInService.getPlateDtl(whereJson),HttpStatus.OK); - } - - @PostMapping("/deleteDtl") - @Log("删除明细") - @SaIgnore - public ResponseEntity deleteDtl(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosInService.deleteDtl(whereJson),HttpStatus.OK); - } - - @PostMapping("/getSect") - @Log("获取库区") - @SaIgnore - public ResponseEntity getSect() { - return new ResponseEntity<>(pdaIosInService.getSect(),HttpStatus.OK); - } - - @PostMapping("/confirmIn") - @Log("入库确认") - @SaIgnore - public ResponseEntity confirmIn(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosInService.confirmIn(whereJson),HttpStatus.OK); - } - - @PostMapping("/getMaterCode") - @Log("获取物料信息") - @SaIgnore - public ResponseEntity getMaterCode(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosInService.getMaterCode(whereJson),HttpStatus.OK); - } - - @PostMapping("/groupPlateTwo") - @Log("人工组盘确认") - @SaIgnore - public ResponseEntity groupPlateTwo(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosInService.groupPlateTwo(whereJson),HttpStatus.OK); - } - -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosOutController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosOutController.java deleted file mode 100644 index 96a7cb5..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosOutController.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.nl.wms.pda.ios_manage.controller; - - -import cn.dev33.satoken.annotation.SaIgnore; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.logging.annotation.Log; -import org.nl.wms.pda.ios_manage.service.PdaIosOutService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -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 Liuxy - * @since 2025-06-06 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/pda/iosOut") -@Slf4j -public class PdaIosOutController { - - @Autowired - private PdaIosOutService pdaIosOutService; - - @PostMapping("/getDtl") - @Log("获取库存明细") - @SaIgnore - public ResponseEntity getDtl(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosOutService.getDtl(whereJson), HttpStatus.OK); - } - - @PostMapping("/confirm") - @Log("出库确认") - @SaIgnore - public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosOutService.confirm(whereJson), HttpStatus.OK); - } - -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaEmpVehicleService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaEmpVehicleService.java deleted file mode 100644 index a433846..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaEmpVehicleService.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.nl.wms.pda.ios_manage.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.pda.util.PdaResponse; - -/** - *

- * 手持空托盘管理 服务类 - *

- * - * @author Liuxy - * @since 2025-08-05 - */ -public interface PdaEmpVehicleService { - - /** - * 空托盘入库 - * @param whereJson { - * point_code: 起点 - * storagevehicle_code: 载具编码 - * - * } - * @return PdaResponse - */ - PdaResponse empVehicleIn(JSONObject whereJson); - - /** - * - * @param whereJson { - * point_code: 终点 - * storagevehicle_type: 载具类型 - * } - * @return PdaResponse - */ - PdaResponse empVehicleOut(JSONObject whereJson); -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosCheckService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosCheckService.java deleted file mode 100644 index db484e1..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosCheckService.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.nl.wms.pda.ios_manage.service; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.service.IService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.warehouse_management.service.dao.StIvtCheckdtl; - -/** - *

- * 手持盘点确认 服务类 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -public interface PdaIosCheckService extends IService { - - /** - * 获取盘点明细 - * @param whereJson { - * storagevehicle_code: 载具编码 - * struct_code: 仓位 - * } - * @return PdaResponse - */ - PdaResponse getDtl(JSONObject whereJson); - - /** - * 确认 - * @param whereJson { - * storagevehicle_code: 载具编码 - * struct_code:仓位编码 - * data: [ - * checkdtl_id: 明细标识 - * bill_code: 单据编码 - * bill_code: 单据编码 - * pcsn: 批次 - * base_qty: 库存数量 - * fac_qty: 盘点数量 - * qty_unit_name: 单位 - * ] - * } - * @return PdaResponse - */ - PdaResponse confirm(JSONObject whereJson); -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosInService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosInService.java deleted file mode 100644 index aa9bcd9..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosInService.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.nl.wms.pda.ios_manage.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.pda.util.PdaResponse; - -/** - *

- * 手持IOS 服务类 - *

- * - * @author Liuxy - * @since 2025-06-05 - */ -public interface PdaIosInService { - - /** - * - * @param whereJson { - * code: 二维码内容 - * } - * @return PdaResponse - */ - PdaResponse sweepCode(JSONObject whereJson); - - /** - * 组盘 - * @param whereJson { - * storagevehicle_code: 载具编码 - * group_id: 组盘记录id - * } - * @return PdaResponse - */ - PdaResponse groupPlate(JSONObject whereJson); - - /** - * 查询明细 - * @param whereJson { - * storagevehicle_code : 载具编码 - * } - * @return PdaResponse - */ - PdaResponse getPlateDtl(JSONObject whereJson); - - /** - * 删除明细 - * @param whereJson { - * group_id: 组盘标识 - * material_code: 物料编码 - * material_name: 物料名称 - * pcsn: 批次 - * qty: 数量 - * qty_unit_name: 单位 - * } - * @return PdaResponse - */ - PdaResponse deleteDtl(JSONObject whereJson); - - /** - * 查询库区 - * @return PdaResponse - */ - PdaResponse getSect(); - - /** - * 入库确认 - * @param whereJson { - * storagevehicle_code:载具编码 - * point_code:点位编码 - * sect_id:库区 - * } - * @return PdaResponse - */ - PdaResponse confirmIn(JSONObject whereJson); - - /** - * 获取物料信息 - * @param whereJson { - * material_code: 物料编码 - * } - * @return PdaResponse - */ - PdaResponse getMaterCode(JSONObject whereJson); - - /** - * 人工组盘确认 - * @param whereJson { - * storagevehicle_code: 载具编码 - * material_code: 物料编码 - * material_name: 物料名称 - * material_spec: 物料规格 - * pcsn: 批次 - * qty: 数量 - * prison_area: 监区 - * } - * @return PdaResponse - */ - PdaResponse groupPlateTwo(JSONObject whereJson); -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosOutService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosOutService.java deleted file mode 100644 index 8f3e16d..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosOutService.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.nl.wms.pda.ios_manage.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.pda.util.PdaResponse; - -/** - *

- * 手持IOS 服务类 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -public interface PdaIosOutService { - - /** - * 获取库存明细 - * @param whereJson { - * storagevehicle_code: 载具码 - * } - * @return PdaResponse - */ - PdaResponse getDtl(JSONObject whereJson); - - /** - * 出库确认 - * @param whereJson { - * storagevehicle_code: 载具码 - * point_code: 点位编码 - * } - * @return PdaResponse - */ - PdaResponse confirm(JSONObject whereJson); -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaEmpVehicleServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaEmpVehicleServiceImpl.java deleted file mode 100644 index 7acdf3b..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaEmpVehicleServiceImpl.java +++ /dev/null @@ -1,186 +0,0 @@ -package org.nl.wms.pda.ios_manage.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import org.nl.common.exception.BadRequestException; -import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; -import org.nl.wms.basedata_manage.service.IStructattrService; -import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; -import org.nl.wms.basedata_manage.service.dao.Structattr; -import org.nl.wms.pda.ios_manage.service.PdaEmpVehicleService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.sch_manage.service.util.tasks.EmpVehicleInTask; -import org.nl.wms.sch_manage.service.util.tasks.EmpVehicleOutTask; -import org.nl.wms.warehouse_management.enums.IOSConstant; -import org.nl.wms.warehouse_management.enums.IOSEnum; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - *

- * 手持空托盘管理 实现类 - *

- * - * @author Liuxy - * @since 2025-08-05 - */ -@Service -public class PdaEmpVehicleServiceImpl implements PdaEmpVehicleService { - - /** - * 载具服务 - */ - @Autowired - private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService; - - /** - * 仓位服务 - */ - @Autowired - private IStructattrService iStructattrService; - - /** - * 载具入库任务类 - */ - @Autowired - private EmpVehicleInTask empVehicleInTask; - - /** - * 载具出库任务类 - */ - @Autowired - private EmpVehicleOutTask empVehicleOutTask; - - @Override - @Transactional - public PdaResponse empVehicleIn(JSONObject whereJson) { - // 基础校验 - MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("storagevehicle_code")); - if (ObjectUtil.isEmpty(vehicleDao)) { - throw new BadRequestException("载具不存在!【" + whereJson.getString("storagevehicle_code") + "】"); - } - if (ObjectUtil.isEmpty(whereJson.getString("point_code"))) { - throw new BadRequestException("起点不能为空!"); - } - - // 根据托盘类型,尺寸大小找对应入库货位 - Structattr attrDao = queryInPoint(vehicleDao); - if (ObjectUtil.isEmpty(attrDao)) { - throw new BadRequestException("仓位不足或条件不满足!"); - } - - // 锁定终点 - attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("空托盘入库锁")); - iStructattrService.updateById(attrDao); - - // 创建任务 - JSONObject jsonTask = new JSONObject(); - jsonTask.put("point_code1", whereJson.getString("point_code")); - jsonTask.put("point_code2", attrDao.getStruct_code()); - jsonTask.put("vehicle_code", whereJson.getString("storagevehicle_code")); - jsonTask.put("Priority", IOSConstant.IS_DELETE_YES); - empVehicleInTask.create(jsonTask); - - return PdaResponse.requestOk(); - } - - @Override - @Transactional - public PdaResponse empVehicleOut(JSONObject whereJson) { - // 基础校验 - if (ObjectUtil.isEmpty(whereJson.getString("point_code"))) { - throw new BadRequestException("终点不能为空!"); - } - if (ObjectUtil.isEmpty(whereJson.getString("storagevehicle_type"))) { - throw new BadRequestException("载具类型不能为空!"); - } - // 根据载具类型查找对应载具 - Structattr attrDao = queryOutPoint(whereJson); - if (ObjectUtil.isEmpty(attrDao)) { - throw new BadRequestException("库内此类型空托盘不足!【" + whereJson.getString("storagevehicle_type") + "】"); - } - - // 锁定仓位 - attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("空托盘出库锁")); - iStructattrService.updateById(attrDao); - - // 创建任务 - JSONObject jsonTask = new JSONObject(); - jsonTask.put("point_code1", attrDao.getStruct_code()); - jsonTask.put("point_code2", whereJson.getString("point_code")); - jsonTask.put("vehicle_code", attrDao.getStoragevehicle_code()); - jsonTask.put("Priority", IOSConstant.IS_DELETE_YES); - empVehicleOutTask.create(jsonTask); - - return PdaResponse.requestOk(); - } - - /** - * 查找入库货位 - * 分配规则: - * 1.满足托盘类型 2.满足载具的长宽高 - * - * @param vehicleDao 载具实体类 - * @return Structattr 仓位实体类 - */ - private Structattr queryInPoint(MdPbStoragevehicleinfo vehicleDao) { - // 默认库区为主存区 - List structattrList = iStructattrService.list(new LambdaQueryWrapper<>(Structattr.class) - .eq(Structattr::getSect_code, IOSConstant.SECT_CODE) - .eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) - .and(wrapper -> wrapper.isNull(Structattr::getStoragevehicle_code).or().eq(Structattr::getStoragevehicle_code, "")) - .eq(vehicleDao.getStoragevehicle_type().equals(IOSEnum.VEHICLE_TYPE.code("金属托盘")), - Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("金属托盘")) - .eq(vehicleDao.getStoragevehicle_type().equals(IOSEnum.VEHICLE_TYPE.code("小料架")), - Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("小料架")) - .eq(vehicleDao.getStoragevehicle_type().equals(IOSEnum.VEHICLE_TYPE.code("大料架(短边)")), - Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("大料架(短边)")) - .eq(vehicleDao.getStoragevehicle_type().equals(IOSEnum.VEHICLE_TYPE.code("大料架(长边)")), - Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("大料架(长边)")) - .orderByAsc(Structattr::getStruct_code) - ); - - // 校验长宽高 - Structattr structattr = structattrList.stream().filter(st -> - st.getWidth().compareTo(vehicleDao.getVehicle_width()) >= 0 && - st.getHeight().compareTo(vehicleDao.getVehicle_height()) >= 0 && - st.getZdepth().compareTo(vehicleDao.getVehicle_long()) >= 0 - ).findAny().get(); - return structattr; - } - - /** - * 寻找出库托盘仓位 - * 分配规则 - * 1.根据载具类型匹配 - * - * @param whereJson { - * storagevehicle_type: 载具类型 - * } - * @return Structattr 仓位实体类 - */ - private Structattr queryOutPoint(JSONObject whereJson) { - // 默认库区为主存区 - String storagevehicle_type = whereJson.getString("storagevehicle_type"); - Structattr attrDao = iStructattrService.getOne(new LambdaQueryWrapper<>(Structattr.class) - .eq(Structattr::getSect_code, IOSConstant.SECT_CODE) - .eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) - .eq(Structattr::getIs_emptyvehicle, IOSConstant.IS_DELETE_YES) - .and(wrapper -> wrapper.isNotNull(Structattr::getStoragevehicle_code).or().ne(Structattr::getStoragevehicle_code, "")) - .eq(storagevehicle_type.equals(IOSEnum.VEHICLE_TYPE.code("金属托盘")), - Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("金属托盘")) - .eq(storagevehicle_type.equals(IOSEnum.VEHICLE_TYPE.code("小料架")), - Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("小料架")) - .eq(storagevehicle_type.equals(IOSEnum.VEHICLE_TYPE.code("大料架(短边)")), - Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("大料架(短边)")) - .eq(storagevehicle_type.equals(IOSEnum.VEHICLE_TYPE.code("大料架(长边)")), - Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("大料架(长边)")) - .orderByAsc(Structattr::getStruct_code) - ); - return attrDao; - } -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosCheckServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosCheckServiceImpl.java deleted file mode 100644 index 1adad9c..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosCheckServiceImpl.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.nl.wms.pda.ios_manage.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.nl.wms.pda.ios_manage.service.PdaIosCheckService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.warehouse_management.enums.IOSEnum; -import org.nl.wms.warehouse_management.service.IStIvtCheckdtlService; -import org.nl.wms.warehouse_management.service.IStIvtCheckmstService; -import org.nl.wms.warehouse_management.service.dao.StIvtCheckdtl; -import org.nl.wms.warehouse_management.service.dao.mapper.StIvtCheckdtlMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - *

- * 手持盘点确认 实现类 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -@Service -public class PdaIosCheckServiceImpl extends ServiceImpl implements PdaIosCheckService { - - /** - * 盘点单主表服务 - */ - @Autowired - private IStIvtCheckmstService iStIvtCheckmstService; - - /** - * 盘点单明细服务 - */ - @Autowired - private IStIvtCheckdtlService iStIvtCheckdtlService; - - @Override - public PdaResponse getDtl(JSONObject whereJson) { - return PdaResponse.requestParamOk(this.baseMapper.getPdaDtl(whereJson)); - } - - @Override - @Transactional - public PdaResponse confirm(JSONObject whereJson) { - List dataList = whereJson.getJSONArray("data").toJavaList(JSONObject.class); - // 查询明细 - List dtlDaoList = this.list( - new QueryWrapper().lambda() - .in(StIvtCheckdtl::getCheckdtl_id, dataList.stream() - .map(row -> row.getString("checkdtl_id")) - .collect(Collectors.toList()) - ) - ); - // 需要更新的明细集合 - List needUpdateList = new ArrayList<>(); - for (JSONObject json : dataList) { - StIvtCheckdtl dtlDao = dtlDaoList.stream() - .filter(row -> row.getCheckdtl_id().equals(json.getString("checkdtl_id"))) - .findFirst().orElse(null); - dtlDao.setStatus(IOSEnum.CHECK_DTL_STATUS.code("完成")); - dtlDao.setFac_qty(json.getBigDecimal("fac_qty")); - needUpdateList.add(dtlDao); - } - // 更新明细 - this.updateBatchById(needUpdateList); - // 更新主表状态 - iStIvtCheckmstService.updateMst(dtlDaoList.get(0).getCheck_id()); - // 创建损益单 - iStIvtCheckdtlService.createMore(needUpdateList,dtlDaoList.get(0).getCheck_id()); - return PdaResponse.requestOk(); - } -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java deleted file mode 100644 index c565b9b..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java +++ /dev/null @@ -1,414 +0,0 @@ -package org.nl.wms.pda.ios_manage.service.impl; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import org.nl.common.exception.BadRequestException; -import org.nl.common.utils.IdUtil; -import org.nl.common.utils.SecurityUtils; -import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService; -import org.nl.wms.basedata_manage.service.IMdPbMeasureunitService; -import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; -import org.nl.wms.basedata_manage.service.ISectattrService; -import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; -import org.nl.wms.basedata_manage.service.dao.MdPbMeasureunit; -import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; -import org.nl.wms.basedata_manage.service.dao.Sectattr; -import org.nl.wms.pda.ios_manage.service.PdaIosInService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.warehouse_management.enums.IOSConstant; -import org.nl.wms.warehouse_management.enums.IOSEnum; -import org.nl.wms.warehouse_management.service.IMdPbGroupplateService; -import org.nl.wms.warehouse_management.service.IRawAssistIStorService; -import org.nl.wms.warehouse_management.service.dao.GroupPlate; -import org.nl.wms.warehouse_management.service.dao.IOStorInvDtl; -import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper; -import org.nl.wms.warehouse_management.service.dao.mapper.MdPbGroupplateMapper; -import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.*; - -/** - *

- * 手持IOS 实现类 - *

- * - * @author Liuxy - * @since 2025-06-05 - */ -@Service -public class PdaIosInServiceImpl implements PdaIosInService { - - /** - * 组盘记录mapper - */ - @Autowired - private MdPbGroupplateMapper mdPbGroupplateMapper; - - /** - * 组盘记录服务 - */ - @Autowired - private IMdPbGroupplateService iMdPbGroupplateService; - - /** - * 基础物料服务 - */ - @Autowired - private IMdMeMaterialbaseService iMdMeMaterialbaseService; - - /** - * 计量单位服务 - */ - @Autowired - private IMdPbMeasureunitService iMdPbMeasureunitService; - - /** - * 载具服务 - */ - @Autowired - private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService; - - /** - * 库区服务 - */ - @Autowired - private ISectattrService iSectattrService; - - /** - * 入库服务 - */ - @Autowired - private IRawAssistIStorService iRawAssistIStorService; - - /** - * 入库明细服务 - */ - @Autowired - private IOStorInvDtlMapper ioStorInvDtlMapper; - - @Override - @Transactional - public PdaResponse sweepCode(JSONObject whereJson) { - // 解析二维码内容:"wl0001##pc050401##1000##kg##dj000001##01" - String code = whereJson.getString("code"); - String[] split = code.split("##"); - // 物料编码 - String material_code = split[0]; - // 批次 - String pcsn = split[1]; - // 数量 - String qty = split[2]; - // 计量单位 - String unit_code = split[3]; - // 单据号 - String ext_code = split[4]; - // 业务类型 - String ext_type = split[5]; - - // 校验 - MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(material_code); - MdPbMeasureunit unitDao = iMdPbMeasureunitService.getByCode(unit_code); - GroupPlate groupDao = iMdPbGroupplateService.getOne( - new QueryWrapper().lambda() - .eq(GroupPlate::getPcsn, pcsn) - .eq(GroupPlate::getQty, qty) - .eq(GroupPlate::getQty_unit_id, unitDao.getMeasure_unit_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("生成")) - ); - - if (ObjectUtil.isEmpty(groupDao)) { - // 插入组盘记录表 - groupDao = new GroupPlate(); - groupDao.setGroup_id(IdUtil.getStringId()); - groupDao.setPcsn(pcsn); - groupDao.setQty_unit_id(unitDao.getMeasure_unit_id()); - groupDao.setQty_unit_name(unitDao.getUnit_name()); - groupDao.setQty(BigDecimal.valueOf(Double.parseDouble(qty))); - groupDao.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("生成")); - groupDao.setCreate_id(SecurityUtils.getCurrentUserId()); - groupDao.setCreate_name(SecurityUtils.getCurrentNickName()); - groupDao.setCreate_time(DateUtil.now()); - iMdPbGroupplateService.save(groupDao); - } - - // 组织返回数据 - JSONObject result = new JSONObject(); - result.put("group_id", groupDao.getGroup_id()); - result.put("material_code", material_code); - result.put("material_name", materDao.getMaterial_name()); - result.put("material_spec", materDao.getMaterial_spec()); - result.put("pcsn", pcsn); - result.put("qty", qty); - result.put("qty_unit_name", unitDao.getUnit_name()); - return PdaResponse.requestParamOk(result); - } - - @Override - @Transactional - public PdaResponse groupPlate(JSONObject whereJson) { - // 校验载具 - MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("storagevehicle_code")); - // 校验此载具是否有入库状态的组盘信息 - boolean is_in = iMdPbGroupplateService.list( - new QueryWrapper().lambda() - .eq(GroupPlate::getStoragevehicle_code, vehicleDao.getStoragevehicle_code()) - ).stream() - .anyMatch(row -> row.getStatus().equals(IOSEnum.GROUP_PLATE_STATUS.code("入库"))); - if (is_in) { - throw new BadRequestException("当前载具已经入库,请检查数据!【"+whereJson.getString("storagevehicle_code")+"】"); - } - - // 校验组盘记录 - GroupPlate groupDao = iMdPbGroupplateService.getById(whereJson.getString("group_id")); - if (!groupDao.getStatus().equals(IOSEnum.GROUP_PLATE_STATUS.code("生成"))) { - throw new BadRequestException("当前信息已经组盘!【"+whereJson.getString("group_id")+"】"); - } - - // 校验组盘物料、批次、原单据号、原单据类型是否一样 - List plateDaoList = iMdPbGroupplateService.list( - new QueryWrapper().lambda() - .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘")) - ); - if (ObjectUtil.isNotEmpty(plateDaoList)) { - boolean is_like = plateDaoList.stream() - .allMatch(row -> row.getMaterial_id().equals(groupDao.getMaterial_id()) && - row.getPcsn().equals(groupDao.getPcsn()) - ); - if (!is_like) { - throw new BadRequestException("当前托盘所绑物料批次或者源单据与当前组盘物料批次不一致!"); - } - } - - // 更新数据组盘数据 - groupDao.setStoragevehicle_code(vehicleDao.getStoragevehicle_code()); - groupDao.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("组盘")); - iMdPbGroupplateService.updateById(groupDao); - return PdaResponse.requestOk(); - } - - @Override - public PdaResponse getPlateDtl(JSONObject whereJson) { - return PdaResponse.requestParamOk(mdPbGroupplateMapper.getDtl(whereJson)); - } - - @Override - @Transactional - public PdaResponse deleteDtl(JSONObject whereJson) { - iMdPbGroupplateService.removeById(whereJson.getString("group_id")); - return PdaResponse.requestOk(); - } - - @Override - public PdaResponse getSect() { - List sectList = iSectattrService.list( - new QueryWrapper().lambda() - .eq(Sectattr::getIs_delete, IOSConstant.IS_DELETE_NO) - .eq(Sectattr::getIs_used, IOSConstant.IS_DELETE_YES) - ); - return PdaResponse.requestParamOk(sectList); - } - - @Override - @Transactional - public PdaResponse confirmIn(JSONObject whereJson) { - // 组织新增数据 - Map jsonMst = organizeInsertData(whereJson); - // 调用服务新增数据 - String iostorinv_id = iRawAssistIStorService.insertDtl(jsonMst); - // 组织分配数据 - whereJson.put("iostorinv_id",iostorinv_id); - Map jsonDtl = organizeDivData(whereJson); - // 调用分配 - iRawAssistIStorService.divStruct(jsonDtl); - // 下发任务 - sendTask(whereJson); - return PdaResponse.requestOk(); - } - - @Override - public PdaResponse getMaterCode(JSONObject whereJson) { - return PdaResponse.requestParamOk(iMdMeMaterialbaseService.getByCode(whereJson.getString("material_code"))); - } - - @Override - @Transactional - public PdaResponse groupPlateTwo(JSONObject whereJson) { - // 校验载具 - MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("storagevehicle_code")); - if (ObjectUtil.isEmpty(vehicleDao)) { - throw new BadRequestException("载具不存在!【"+whereJson.getString("storagevehicle_code")+"】"); - } - // 校验此载具是否有入库状态的组盘信息 - boolean is_in = iMdPbGroupplateService.list( - new QueryWrapper().lambda() - .eq(GroupPlate::getStoragevehicle_code, vehicleDao.getStoragevehicle_code()) - ).stream() - .anyMatch(row -> row.getStatus().equals(IOSEnum.GROUP_PLATE_STATUS.code("入库"))); - if (is_in) { - throw new BadRequestException("当前载具已经入库,请检查数据!【"+whereJson.getString("storagevehicle_code")+"】"); - } - - // 获取物料信息 - MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(whereJson.getString("material_code")); - // 校验组盘物料、批次、原单据号、原单据类型是否一样 - List plateDaoList = iMdPbGroupplateService.list( - new QueryWrapper().lambda() - .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘")) - ); - if (ObjectUtil.isNotEmpty(plateDaoList)) { - boolean is_like = plateDaoList.stream() - .allMatch(row -> row.getMaterial_id().equals(materDao.getMaterial_code()) && - row.getPcsn().equals(whereJson.getString("pcsn")) - ); - if (!is_like) { - throw new BadRequestException("当前托盘所绑物料批次与当前组盘物料批次不一致!"); - } - } - - // 插入组盘记录表 - GroupPlate groupDao = new GroupPlate(); - groupDao.setGroup_id(org.nl.config.IdUtil.getStringId()); - groupDao.setStoragevehicle_code(whereJson.getString("storagevehicle_code")); - groupDao.setPcsn(whereJson.getString("pcsn")); - // 默认数量个 - MdPbMeasureunit unitDao = iMdPbMeasureunitService.getByCode("EA"); - groupDao.setQty_unit_id(unitDao.getMeasure_unit_id()); - groupDao.setQty_unit_name(unitDao.getUnit_name()); - groupDao.setQty(whereJson.getBigDecimal("qty")); - groupDao.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("组盘")); - groupDao.setCreate_id(SecurityUtils.getCurrentUserId()); - groupDao.setCreate_name(SecurityUtils.getCurrentNickName()); - groupDao.setCreate_time(DateUtil.now()); - iMdPbGroupplateService.save(groupDao); - return PdaResponse.requestOk(); - } - - /** - * 组织入库插入数据 - * @param whereJson { - * storagevehicle_code:载具编码 - * point_code:点位编码 - * sect_id:库区 - * } - * @return Map - */ - private Map organizeInsertData(JSONObject whereJson) { - // 查询组盘明细 - List plateDaoList = iMdPbGroupplateService.list( - new QueryWrapper().lambda() - .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘")) - ); - if (ObjectUtil.isEmpty(plateDaoList)) { - throw new BadRequestException("当前没有可入库的物料!"); - } - // 总数量 - Double total_qty = plateDaoList.stream() - .map(row -> row.getQty().doubleValue()) - .reduce(Double::sum).orElse(0.0); - - // 查询库区 - Sectattr sectDao = iSectattrService.getById(whereJson.getString("sect_id")); - // 组织主表数据 - Map jsonMst = new HashMap<>(); - jsonMst.put("stor_id", sectDao.getStor_id()); - jsonMst.put("bill_status", IOSEnum.BILL_STATUS.code("生成")); - jsonMst.put("total_qty", total_qty); - jsonMst.put("detail_count", 1); - jsonMst.put("bill_type", IOSEnum.IN_BILL_TYPE.code("收货入库")); - jsonMst.put("biz_date", DateUtil.now()); - - // 组织明细数据 - ArrayList tableData = new ArrayList<>(); - HashMap dtl = new HashMap<>(); - GroupPlate plateDao = plateDaoList.get(0); - dtl.put("storagevehicle_code", plateDao.getStoragevehicle_code()); - dtl.put("pcsn", plateDao.getPcsn()); - dtl.put("qty_unit_id", plateDao.getQty_unit_id()); - dtl.put("qty_unit_name", plateDao.getQty_unit_name()); - dtl.put("qty", String.valueOf(total_qty)); - MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(plateDao.getMaterial_id()); - dtl.put("material_code", materDao.getMaterial_code()); - dtl.put("material_name", materDao.getMaterial_name()); - dtl.put("plan_qty", String.valueOf(total_qty)); - // 调用新增 - tableData.add(dtl); - jsonMst.put("tableData",tableData); - return jsonMst; - } - - /** - * 组织分配数据 - * @param whereJson { - * iostorinv_id - * sect_id - * } - * @return Map - */ - private Map organizeDivData(JSONObject whereJson) { - // 查询库区 - Sectattr sectDao = iSectattrService.getById(whereJson.getString("sect_id")); - // 组织主数据 - Map jsonMst = new HashMap<>(); - jsonMst.put("checked", true); - jsonMst.put("sect_id", sectDao.getSect_id()); - jsonMst.put("stor_id", sectDao.getStor_id()); - // 组织明细数据 - IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne( - new QueryWrapper().lambda() - .eq(IOStorInvDtl::getIostorinv_id, whereJson.getString("iostorinv_id")) - ); - // 查找分配明细 - Map map = new HashMap<>(); - map.put("iostorinvdtl_id",dtlDao.getIostorinvdtl_id()); - List disDtl = iRawAssistIStorService.getDisDtl(map); - // 类型转换 - ArrayList tableMater = new ArrayList<>(); - disDtl.forEach(item -> { - tableMater.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class)); - }); - jsonMst.put("tableMater", tableMater); - - return jsonMst; - } - - /** - * 下发任务 - * @param whereJson { - * storagevehicle_code:载具编码 - * point_code:点位编码 - * sect_id:库区 - * iostorinv_id: id - * } - */ - private void sendTask(JSONObject whereJson) { - // 组织主数据 - Map jsonMst = new HashMap<>(); - jsonMst.put("point_code", whereJson.getString("point_code")); - // 组织明细数据 - IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne( - new QueryWrapper().lambda() - .eq(IOStorInvDtl::getIostorinv_id, whereJson.getString("iostorinv_id")) - ); - // 查找分配明细 - Map map = new HashMap<>(); - map.put("iostorinvdtl_id",dtlDao.getIostorinvdtl_id()); - List disDtl = iRawAssistIStorService.getDisDtl(map); - // 类型转换 - ArrayList tableMater = new ArrayList<>(); - disDtl.forEach(item -> { - tableMater.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class)); - }); - jsonMst.put("tableMater", tableMater); - - iRawAssistIStorService.divPoint(jsonMst); - } -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosOutServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosOutServiceImpl.java deleted file mode 100644 index d17ebec..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosOutServiceImpl.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.nl.wms.pda.ios_manage.service.impl; - -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import org.nl.common.exception.BadRequestException; -import org.nl.wms.basedata_manage.service.IStructattrService; -import org.nl.wms.basedata_manage.service.dao.Structattr; -import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper; -import org.nl.wms.pda.ios_manage.service.PdaIosOutService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.sch_manage.enums.TaskEnum; -import org.nl.wms.sch_manage.service.ISchBasePointService; -import org.nl.wms.sch_manage.service.dao.SchBasePoint; -import org.nl.wms.sch_manage.service.util.tasks.BackInTask; -import org.nl.wms.warehouse_management.enums.IOSConstant; -import org.nl.wms.warehouse_management.enums.IOSEnum; -import org.nl.wms.warehouse_management.service.IRawAssistIStorService; -import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; -import org.nl.wms.warehouse_management.service.dao.IOStorInvDtl; -import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; -import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper; -import org.nl.wms.warehouse_management.service.util.UpdateIvtUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; - -/** - *

- * 手持IOS 实现类 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -@Service -public class PdaIosOutServiceImpl implements PdaIosOutService { - - /** - * 载具扩展属性服务 - */ - @Autowired - private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper; - - /** - * 点位服务 - */ - @Autowired - private ISchBasePointService iSchBasePointService; - - /** - * 仓位服务 - */ - @Autowired - private IStructattrService iStructattrService; - - /** - * 出入库单明细mapper - */ - @Autowired - private IOStorInvDtlMapper ioStorInvDtlMapper; - - /** - * 出入库单分配明细mapper - */ - @Autowired - private IOStorInvDisMapper ioStorInvDisMapper; - - /** - * 更新库存服务 - */ - @Autowired - private UpdateIvtUtils updateIvtUtils; - - /** - * 回库任务类 - */ - @Autowired - private BackInTask backInTask; - - /** - * 入库服务服务 - */ - @Autowired - private IRawAssistIStorService iRawAssistIStorService; - - @Override - public PdaResponse getDtl(JSONObject whereJson) { - return PdaResponse.requestParamOk(mdPbStoragevehicleextMapper.getIosDtl(whereJson)); - } - - @Override - @Transactional - public PdaResponse confirm(JSONObject whereJson) { - // 获取点位信息 - SchBasePoint pointDao = iSchBasePointService.getById(whereJson.getString("point_code")); - if (ObjectUtil.isEmpty(pointDao)) { - throw new BadRequestException("当前点位不存在!!"); - } - // 获取出入库单明细信息 - IOStorInvDis disDao = ioStorInvDisMapper.selectById(pointDao.getIos_id()); - if(ObjectUtil.isEmpty(disDao)) { - throw new BadRequestException("未查询到出库单分配明细!"); - } - IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectById(disDao.getIostorinvdtl_id()); - - // 获取点位库存信息 - JSONObject jsonIvt = mdPbStoragevehicleextMapper.getIosDtl(whereJson).get(0); - if (ObjectUtil.isEmpty(jsonIvt)) { - throw new BadRequestException("当前点位没有库存信息!"); - } - // 判断是否整出 - double plan_qty = dtlDao.getPlan_qty().doubleValue(); - double real_qty = NumberUtil.add(dtlDao.getReal_qty(), jsonIvt.getDoubleValue("qty")).doubleValue(); - - if (plan_qty >= real_qty) { - // ------整出------ - // 删除当前库存记录 - mdPbStoragevehicleextMapper.deleteById(jsonIvt.getString("storagevehicleext_id")); - // 释放点位 - iSchBasePointService.unLockPoint(pointDao.getPoint_code()); - // 更新明细实际出库重量 - dtlDao.setReal_qty(BigDecimal.valueOf(real_qty)); - ioStorInvDtlMapper.updateById(dtlDao); - // 更新分配明细实际出库数量 - disDao.setReal_qty(jsonIvt.getBigDecimal("qty")); - ioStorInvDisMapper.updateById(disDao); - } else { - // ------剩余回库------ - // 更新库存 :变动数量 = 减可用(库存数量-(实际出库数量-计划数量)) - jsonIvt.put("type", IOSConstant.UPDATE_IVT_TYPE_SUB_CANUSE_IVT); - BigDecimal change_qty = NumberUtil.sub(jsonIvt.getBigDecimal("qty"), NumberUtil.sub(real_qty, plan_qty)); - jsonIvt.put("change_qty", change_qty); - jsonIvt.put("remark", "剩余回库"); - updateIvtUtils.updateIvt(jsonIvt); - // 更新明细实际出库重量(明细计划数量) - dtlDao.setReal_qty(BigDecimal.valueOf(plan_qty)); - ioStorInvDtlMapper.updateById(dtlDao); - // 更新分配明细实际出库重量 = 变动数量 - disDao.setReal_qty(change_qty); - ioStorInvDisMapper.updateById(disDao); - - // 查找入库货位 - JSONObject paramPoint = new JSONObject(); - paramPoint.put("sect_id", disDao.getSect_id()); - paramPoint.put("storagevehicle_code", jsonIvt.getString("storagevehicle_code")); - Structattr attrDao = iRawAssistIStorService.autoDis(paramPoint); - // 生成回库任务 - JSONObject task = new JSONObject(); - task.put("config_code", IOSConstant.BACK_IN_TASK); - task.put("point_code1", pointDao.getPoint_code()); - task.put("point_code2", attrDao.getStruct_code()); - task.put("vehicle_code", jsonIvt.getString("storagevehicle_code")); - task.put("Priority", TaskEnum.ACS_PRIORITY.code("1")); - String task_id = backInTask.create(task); - - // 更新终点锁定状态 - attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("入库锁")); - attrDao.setTaskdtl_id(task_id); - iStructattrService.updateById(attrDao); - - // 更新起点绑定id - iSchBasePointService.update( - new UpdateWrapper().lambda() - .set(SchBasePoint::getIos_id, null) - .eq(SchBasePoint::getPoint_code, pointDao.getPoint_code()) - ); - } - return PdaResponse.requestOk(); - } -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchPointController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchPointController.java deleted file mode 100644 index b8b3e0b..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchPointController.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.nl.wms.pda.sch_manage.controller; - - -import cn.dev33.satoken.annotation.SaIgnore; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.logging.annotation.Log; -import org.nl.wms.pda.sch_manage.service.PdaSchPointService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -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 Liuxy - * @since 2025-06-06 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/pda/schPoint") -@Slf4j -public class PdaSchPointController { - - @Autowired - private PdaSchPointService pdaSchPointService; - - @PostMapping("/getPoint") - @Log("查询点位信息") - @SaIgnore - public ResponseEntity getPoint(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaSchPointService.getPoint(whereJson), HttpStatus.OK); - } - - @PostMapping("/binding") - @Log("解绑") - @SaIgnore - public ResponseEntity binding(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaSchPointService.binding(whereJson), HttpStatus.OK); - } - - @PostMapping("/dissect") - @Log("绑定") - @SaIgnore - public ResponseEntity dissect(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaSchPointService.dissect(whereJson), HttpStatus.OK); - } - -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/PdaSchPointService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/PdaSchPointService.java deleted file mode 100644 index 86b527b..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/PdaSchPointService.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.nl.wms.pda.sch_manage.service; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.service.IService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.sch_manage.service.dao.SchBasePoint; - -/** - *

- * 手持点位操作 服务类 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -public interface PdaSchPointService extends IService { - - /** - * 查询点位信息 - * @param whereJson { - * point_code: 点位编码 - * } - * @return PdaResponse - */ - PdaResponse getPoint(JSONObject whereJson); - - /** - * 解绑 - * @param whereJson { - * point_code: 点位编码 - * point_name: 点位名称 - * storagevehicle_code: 载具编码 - * } - * @return PdaResponse - */ - PdaResponse binding(JSONObject whereJson); - - /** - * 绑定 - * @param whereJson { - * point_code: 点位编码 - * point_name: 点位名称 - * storagevehicle_code: 载具编码 - * } - * @return PdaResponse - */ - PdaResponse dissect(JSONObject whereJson); - -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/impl/PdaSchPointServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/impl/PdaSchPointServiceImpl.java deleted file mode 100644 index 622d9ec..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/impl/PdaSchPointServiceImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.nl.wms.pda.sch_manage.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; -import org.nl.wms.pda.sch_manage.service.PdaSchPointService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.sch_manage.service.dao.SchBasePoint; -import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - *

- * 手持点位操作 实现类 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -@Service -public class PdaSchPointServiceImpl extends ServiceImpl implements PdaSchPointService { - - /** - * 载具信息服务 - */ - @Autowired - private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService; - - @Override - public PdaResponse getPoint(JSONObject whereJson) { - SchBasePoint pointDao = this.getById(whereJson.getString("point_code")); - pointDao.setStoragevehicle_code(pointDao.getVehicle_code()); - return PdaResponse.requestParamOk(pointDao); - } - - @Override - @Transactional - public PdaResponse binding(JSONObject whereJson) { - this.update( - new UpdateWrapper().lambda() - .eq(SchBasePoint::getPoint_code, whereJson.getString("point_code")) - .set(SchBasePoint::getVehicle_code, null) - .set(SchBasePoint::getIos_id, null) - ); - return PdaResponse.requestOk(); - } - - @Override - @Transactional - public PdaResponse dissect(JSONObject whereJson) { - // 判断载具是否存在 - iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("storagevehicle_code")); - this.update( - new UpdateWrapper().lambda() - .eq(SchBasePoint::getPoint_code, whereJson.getString("point_code")) - .set(SchBasePoint::getVehicle_code, whereJson.getString("storagevehicle_code")) - ); - return PdaResponse.requestOk(); - } -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/impl/PdmBomCallMaterialDtlServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/impl/PdmBomCallMaterialDtlServiceImpl.java index f4de41e..12a0a43 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/impl/PdmBomCallMaterialDtlServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm_manage/service/impl/PdmBomCallMaterialDtlServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -23,10 +24,14 @@ import org.nl.wms.pdm_manage.service.dto.PdmBomCallMaterialDtlDto; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.warehouse_management.enums.IOSConstant; +import org.nl.wms.warehouse_management.enums.IOSEnum; +import org.nl.wms.warehouse_management.service.dao.GroupPlate; +import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; import java.util.Map; @@ -65,6 +70,12 @@ public class PdmBomCallMaterialDtlServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page) { return this.baseMapper.queryAllByPage(new Page<>(page.getPage() + 1, page.getSize()), @@ -134,5 +145,11 @@ public class PdmBomCallMaterialDtlServiceImpl extends ServiceImpl().lambda() + .eq(GroupPlate::getStoragevehicle_code, dto.getVehicle_code()) + ); } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/BackOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/BackOutTask.java index f056be2..1b18ce8 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/BackOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/BackOutTask.java @@ -3,6 +3,7 @@ package org.nl.wms.sch_manage.service.util.tasks; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.nl.common.exception.BadRequestException; @@ -21,7 +22,9 @@ import org.nl.wms.sch_manage.service.util.TaskType; import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IOutBillService; +import org.nl.wms.warehouse_management.service.dao.GroupPlate; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; +import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -31,7 +34,7 @@ import javax.annotation.Resource; /** *

- * 退货出库出库任务类 + * 退货出库任务类 *

* * @author Liuxy @@ -71,6 +74,12 @@ public class BackOutTask extends AbstractTask { @Resource private PdaPointTask pdaPointTask; + /* + * 组盘记录服务 + */ + @Resource + private GroupPlateMapper groupPlateMapper; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -212,6 +221,13 @@ public class BackOutTask extends AbstractTask { @Override public void taskConfirm(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); + // 删除组盘信息 + groupPlateMapper.delete( + new QueryWrapper().lambda() + .eq(GroupPlate::getStoragevehicle_code, taskObj.getVehicle_code()) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) + ); + // 判断point_code3是否有值; 有值需要生成点位点任务到库外站点 if (ObjectUtil.isNotEmpty(taskObj.getPoint_code3())) { createAgvTask(taskObj); diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleInTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleInTask.java index a9ec762..89c647a 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleInTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleInTask.java @@ -3,6 +3,7 @@ package org.nl.wms.sch_manage.service.util.tasks; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; @@ -21,6 +22,8 @@ import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; +import org.nl.wms.warehouse_management.service.dao.GroupPlate; +import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -57,6 +60,12 @@ public class EmpVehicleInTask extends AbstractTask { @Resource private ISchBasePointService iSchBasePointService; + /* + * 组盘记录服务 + */ + @Resource + private GroupPlateMapper groupPlateMapper; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -142,10 +151,6 @@ public class EmpVehicleInTask extends AbstractTask { this.cancelTask(taskObj); } - @Override - public void taskConfirm(String task_code) { - } - @Transactional public void finishTask(SchBaseTask taskObj) { // 更新起点 @@ -169,6 +174,7 @@ public class EmpVehicleInTask extends AbstractTask { taskObj.setRemark("已完成"); taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskService.updateById(taskObj); + this.taskConfirm(taskObj.getTask_code()); } @Transactional @@ -186,4 +192,15 @@ public class EmpVehicleInTask extends AbstractTask { taskObj.setTask_status(TaskStatus.CANCELED.getCode()); taskService.updateById(taskObj); } + + @Override + public void taskConfirm(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + // 删除组盘信息 + groupPlateMapper.delete( + new QueryWrapper().lambda() + .eq(GroupPlate::getStoragevehicle_code, taskObj.getVehicle_code()) + ); + } + } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandOutTask.java index d63276b..5b676c5 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandOutTask.java @@ -3,6 +3,7 @@ package org.nl.wms.sch_manage.service.util.tasks; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.nl.common.exception.BadRequestException; @@ -20,7 +21,9 @@ import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IOutBillService; +import org.nl.wms.warehouse_management.service.dao.GroupPlate; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; +import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -64,6 +67,12 @@ public class HandOutTask extends AbstractTask { @Resource private ISchBasePointService iSchBasePointService; + /* + * 组盘记录服务 + */ + @Resource + private GroupPlateMapper groupPlateMapper; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -198,5 +207,13 @@ public class HandOutTask extends AbstractTask { @Override public void taskConfirm(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + + // 删除组盘信息 + groupPlateMapper.delete( + new QueryWrapper().lambda() + .eq(GroupPlate::getStoragevehicle_code, taskObj.getVehicle_code()) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) + ); } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java index 07464d4..57f9aac 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java @@ -100,6 +100,11 @@ public class GroupPlate implements Serializable { */ private String box_type; + /** + * 工单信息 + */ + private String bom_id; + /** * 组盘人 */ diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml index e9ef918..91d14be 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml @@ -100,7 +100,7 @@ LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id LEFT JOIN ST_IVT_IOStorInv mst ON mst.iostorinv_id = dtl.iostorinv_id LEFT JOIN md_pb_groupplate late ON mb.material_id = late.material_id - AND dtl.pcsn = late.pcsn AND late.status = '1' + AND dtl.pcsn = late.pcsn AND late.status = '1' AND dtl.plan_qty = late.qty where 1=1 diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java index 7a70c97..91a1a31 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java @@ -1202,25 +1202,14 @@ public class OutBillServiceImpl extends ServiceImpl //查询明细信息 IOStorInvDtl ioStorInvDtl = ioStorInvDtlMapper.selectById(ioStorInvDis.getIostorinvdtl_id()); - // 如果单据类型为:质检出库、领料出库、烘干出库则更新为出库,否则删除组盘记录 - if (ioStorInvDtl.getIs_check().equals(IOSConstant.ONE)) { - groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) - .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) - .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - ); - } else { - // 删除组盘信息 - groupPlateMapper.delete( - new QueryWrapper().lambda() - .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) - .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) - .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - ); - } + // 更新组盘信息为出库 + groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) + .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) + .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) + .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) + .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) + ); } @@ -1297,25 +1286,14 @@ public class OutBillServiceImpl extends ServiceImpl updateIvtList.add(jsonIvt); iMdPbStoragevehicleextService.updateIvt(updateIvtList); - // 如果单据类型为:质检出库、领料出库、烘干出库则更新为出库,否则删除组盘记录 - if (ioStorInvDtl.getIs_check().equals(IOSConstant.ONE)) { - groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) - .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) - .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - ); - } else { - // 删除组盘信息 - groupPlateMapper.delete( - new QueryWrapper().lambda() - .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) - .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) - .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - ); - } + // 更新组盘信息为出库 + groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) + .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) + .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) + .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) + .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) + ); // 查询该明细下是否还有未完成的分配明细 int countDis = ioStorInvDisMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDis.class) diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/SelectOutServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/SelectOutServiceImpl.java index ef1ed63..9ff9b0a 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/SelectOutServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/SelectOutServiceImpl.java @@ -212,7 +212,7 @@ public class SelectOutServiceImpl extends ServiceImpl().lambda() .eq(GroupPlate::getStoragevehicle_code, dto.getSelect_vehicle()) .eq(GroupPlate::getMaterial_id, disDao.getMaterial_id()) - .eq(GroupPlate::getPcsn, dto.getPcsn()) + .eq(GroupPlate::getPcsn, dto.getSelect_pcsn()) .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) ); // 新增组盘信息 @@ -229,9 +229,16 @@ public class SelectOutServiceImpl extends ServiceImpl().lambda() + .set(PdmBomCallMaterialDtl::getVehicle_code,dto.getNew_vehicle()) + .eq(PdmBomCallMaterialDtl::getOut_dis_id, disDao.getIostorinvdis_id()) + ); } - // 删除其他组盘信息 + /*// 删除其他组盘信息 List deleteGroupDisList = ioStorInvDisMapper.selectList( new QueryWrapper().lambda() .eq(IOStorInvDis::getIostorinvdtl_id, dto.getIostorinvdtl_id()) @@ -252,7 +259,7 @@ public class SelectOutServiceImpl extends ServiceImpl jsonMst = new HashMap<>(); diff --git a/wms/nladmin-ui/src/views/wms/pdm/callmaterialdtl/index.vue b/wms/nladmin-ui/src/views/wms/pdm/callmaterialdtl/index.vue index 41f481b..e5994df 100644 --- a/wms/nladmin-ui/src/views/wms/pdm/callmaterialdtl/index.vue +++ b/wms/nladmin-ui/src/views/wms/pdm/callmaterialdtl/index.vue @@ -100,6 +100,17 @@ > 退料确认 + + 空料确认 + import crudCallMaterialDtl from '@/views/wms/pdm/callmaterialdtl/callmaterialdtl' import WeighDialog from '@/views/wms/pdm/callmaterialdtl/WeighDialog' -import CRUD, {crud, form, header, presenter} from '@crud/crud' +import CRUD, { crud, form, header, presenter } from '@crud/crud' import crudOperation from '@crud/CRUD.operation' import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' @@ -219,6 +230,16 @@ export default { this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.toQuery() }) + }, + empConfirm() { + const data = this.$refs.table.selection[0] + if (data.bom_status === '2') { + this.crud.notify('当前明细已确认!', CRUD.NOTIFICATION_TYPE.ERROR) + } + crudCallMaterialDtl.confirm(data).then(res => { + this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() + }) } } }