From eb925c73306c6d2bd9e3b9911f69bc30f33b47ab Mon Sep 17 00:00:00 2001 From: liuxy Date: Fri, 3 Apr 2026 17:02:34 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/start/Init.java | 18 +- .../MobileAuthorizationController.java | 20 +- .../controller/ReviewSignController.java | 43 +++++ .../service/IMdPdReviewsignService.java | 35 ++++ .../service/dao/MdPdReviewsign.java | 87 +++++++++ .../mapper/MdPbStoragevehicleextMapper.java | 10 + .../mapper/MdPbStoragevehicleextMapper.xml | 35 ++++ .../dao/mapper/MdPdReviewsignMapper.java | 30 +++ .../dao/mapper/MdPdReviewsignMapper.xml | 46 +++++ .../impl/MdPdReviewsignServiceImpl.java | 46 +++++ .../service/impl/NotCarToWmsServiceImpl.java | 1 + .../controller/PdaCommonController.java | 6 +- .../controller/PdaWarehouseController.java | 21 ++ .../service/PdaBuildParamService.java | 2 +- .../service/PdaCommonService.java | 6 +- .../service/PdaWarehouseService.java | 28 +++ .../service/dto/AssemblyBagParam.java | 4 + .../service/dto/AssemblyBucketParam.java | 4 + .../service/dto/AssemblyPalletParam.java | 6 +- .../impl/DefaultPdaBuildParamService.java | 2 +- .../service/impl/PdaCommonServiceImpl.java | 78 +++++++- .../service/impl/PdaNotCarServiceImpl.java | 120 ++++++++++-- .../impl/PdaProductionServiceImpl.java | 34 +++- .../service/impl/PdaWarehouseServiceImpl.java | 171 +++++++++++++++-- .../controller/PdaPackagingController.java | 4 +- .../service/PdaPackagingService.java | 4 +- .../service/impl/PdaPackagingServiceImpl.java | 48 ++++- .../sch_manage/service/dao/SchBasePoint.java | 1 + .../dao/mapper/SchBasePointMapper.java | 2 +- .../service/dao/mapper/SchBasePointMapper.xml | 4 + .../service/impl/SchBasePointServiceImpl.java | 2 +- .../service/util/tasks/NoCarBackCpTask.java | 4 +- .../service/util/tasks/NoCarUnloadTask.java | 7 +- .../service/util/tasks/RawInTask.java | 15 +- .../warehouse_management/enums/IOSEnum.java | 2 +- .../src/views/wms/statement/review/index.vue | 180 ++++++++++++++++++ .../src/views/wms/statement/review/review.js | 27 +++ 37 files changed, 1083 insertions(+), 70 deletions(-) create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/ReviewSignController.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdPdReviewsignService.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPdReviewsign.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdReviewsignMapper.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdReviewsignMapper.xml create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPdReviewsignServiceImpl.java create mode 100644 wms/nladmin-ui/src/views/wms/statement/review/index.vue create mode 100644 wms/nladmin-ui/src/views/wms/statement/review/review.js diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/start/Init.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/start/Init.java index e69783a..41e1dcb 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/start/Init.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/start/Init.java @@ -29,7 +29,7 @@ public class Init implements ApplicationRunner { public void run(ApplicationArguments args) throws Exception { // initTwoAttr(4,30,3,2, "2"); // createAttr(); -// initTwoAttr2(4,10,3); +// initTwoAttr2(1,100,1); } @@ -66,15 +66,15 @@ public class Init implements ApplicationRunner { col_num = "0" + i; } - String struct_code = "Z" + row + "-" + col_num + "-" + layer_num + ""; + String struct_code = "X" + row + "-" + col_num + "-" + layer_num + ""; // 新增仓位 - json.setSect_id("1993215690856861696"); - json.setSect_code("ZZC01"); - json.setSect_name("中间站(2)主存区"); - json.setStor_id("1582991156504039423"); - json.setStor_code("ZJZ01"); - json.setStor_name("中间站(2)仓库"); + json.setSect_id("2039261400093822976"); + json.setSect_code("ESPXN01"); + json.setSect_name("恩双平虚拟区"); + json.setStor_id("1582991156504039400"); + json.setStor_code("ESP01"); + json.setStor_name("恩双平总混颗粒仓库"); json.setLock_type("0"); json.setRow_num(BigDecimal.valueOf(row_num)); @@ -83,7 +83,7 @@ public class Init implements ApplicationRunner { json.setBlock_num(BigDecimal.valueOf(1)); json.setStruct_code(struct_code); - json.setStruct_name("Z"+row + "排" + col_num+ "列"+ layer_num +"层"); + json.setStruct_name("X"+row + "排" + col_num+ "列"+ layer_num +"层"); json.setSimple_name(json.getStruct_name()); json.setCreate_id("1"); diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java index 98b9bc7..bf01428 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java @@ -8,8 +8,6 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; 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.common.utils.RsaUtils; @@ -94,4 +92,22 @@ public class MobileAuthorizationController { return ResponseEntity.ok(authInfo); } + + public SysUser loginCheck(AuthUserDto authUser) throws Exception { + String salt = "salt"; + // 密码解密 - 前端的加密规则: encrypt(根据实际更改) + String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); + // 校验数据库 + // 根据用户名查询,在比对密码 + // 拿到多个已经抛出异常 + SysUser userInfo = userService.getOne(new LambdaQueryWrapper() + .eq(SysUser::getUsername, authUser.getUsername())); + if (ObjectUtil.isEmpty(userInfo) || !userInfo.getPassword().equals(SaSecureUtil.md5BySalt(password, salt))) { + throw new BadRequestException(LangProcess.msg("login_pwd")); + } + if (!userInfo.getIs_used()) { + throw new BadRequestException(LangProcess.msg("login_account")); + } + return userInfo; + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/ReviewSignController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/ReviewSignController.java new file mode 100644 index 0000000..0d26312 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/ReviewSignController.java @@ -0,0 +1,43 @@ +package org.nl.wms.basedata_manage.controller; + + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.basedata_manage.service.IMdPdReviewsignService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + + +/** + *

+ * 双签复核表 控制层 + *

+ * + * @author Liuxy + * @since 2026-04-01 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/review") +@Slf4j +public class ReviewSignController { + + @Resource + private IMdPdReviewsignService iMdPdReviewsignService; + + @GetMapping + @Log("分页查询") + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(iMdPdReviewsignService.queryAll(whereJson, page)), HttpStatus.OK); + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdPdReviewsignService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdPdReviewsignService.java new file mode 100644 index 0000000..33e4d7c --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdPdReviewsignService.java @@ -0,0 +1,35 @@ +package org.nl.wms.basedata_manage.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.basedata_manage.service.dao.MdPdReviewsign; + +import java.util.Map; + +/** + *

+ * 双签复核表 服务类 + *

+ * + * @author Liuxy + * @since 2026-04-01 + */ +public interface IMdPdReviewsignService extends IService { + + /** + * 分页查询 + * + * @param whereJson : {查询参数} + * @param page : 分页对象 + * @return 返回结果 + */ + IPage queryAll(Map whereJson, PageQuery page); + + /** + * 插入双签记录 + * @param dto 实体类 + */ + void insert(MdPdReviewsign dto); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPdReviewsign.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPdReviewsign.java new file mode 100644 index 0000000..7c828c0 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdPdReviewsign.java @@ -0,0 +1,87 @@ +package org.nl.wms.basedata_manage.service.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * 双签复核表 + *

+ * + * @author Liuxy + * @since 2026-04-01 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("md_pd_reviewsign") +public class MdPdReviewsign implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id标识 + */ + @TableId(value = "id") + private String id; + + /** + * 袋码/桶码 + */ + private String bag_code; + + /** + * 物料标识 + */ + private String material_id; + + /** + * 批号 + */ + private String pcsn; + + /** + * 重量 + */ + private String qty; + + /** + * 时间 + */ + private String create_time; + + /** + * 操作人编码 + */ + private String create_code; + + /** + * 操作人名称 + */ + private String create_name; + + /** + * 复核人编码 + */ + private String review_code; + + /** + * 复核人名称 + */ + private String review_name; + + /** + * 动作 + */ + private String action; + + /** + * 载具编码 + */ + private String vehicle_code; + + +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java index e28d068..a568ed9 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.java @@ -154,4 +154,14 @@ public interface MdPbStoragevehicleextMapper extends BaseMapper */ List queryMoreIvt(@Param("param") JSONObject param); + + /** + * 手持查询库存信息(虚拟出库) + * @param param { + * material_code: 物料编码 + * pcsn: 批次 + * } + * @return List + */ + List pdaHyQueryIvt(@Param("param") JSONObject param); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml index 1fe5d9d..42c6eae 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml @@ -658,4 +658,39 @@ + + + diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdReviewsignMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdReviewsignMapper.java new file mode 100644 index 0000000..fb24e00 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdReviewsignMapper.java @@ -0,0 +1,30 @@ +package org.nl.wms.basedata_manage.service.dao.mapper; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.basedata_manage.service.dao.MdPdReviewsign; + +import java.util.Map; + +/** + *

+ * 双签复核表 Mapper 接口 + *

+ * + * @author Liuxy + * @since 2026-04-01 + */ +public interface MdPdReviewsignMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页条件 + * @param whereJson 查询条件 + * @return IPage + */ + IPage queryAllByPage(Page page, @Param("param") Map whereJson); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdReviewsignMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdReviewsignMapper.xml new file mode 100644 index 0000000..f15584e --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPdReviewsignMapper.xml @@ -0,0 +1,46 @@ + + + + + + + diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPdReviewsignServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPdReviewsignServiceImpl.java new file mode 100644 index 0000000..42bd3f0 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPdReviewsignServiceImpl.java @@ -0,0 +1,46 @@ +package org.nl.wms.basedata_manage.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.wms.basedata_manage.service.IMdPdReviewsignService; +import org.nl.wms.basedata_manage.service.dao.MdPdReviewsign; +import org.nl.wms.basedata_manage.service.dao.mapper.MdPdReviewsignMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Map; + +/** + *

+ * 双签复核表 服务实现类 + *

+ * + * @author Liuxy + * @since 2026-04-01 + */ +@Service +public class MdPdReviewsignServiceImpl extends ServiceImpl implements IMdPdReviewsignService { + + @Override + public IPage queryAll(Map whereJson, PageQuery page) { + return this.baseMapper.queryAllByPage(new Page<>(page.getPage() + 1, page.getSize()), + whereJson); + } + + @Override + @Transactional + public void insert(MdPdReviewsign dto) { + dto.setId(IdUtil.getStringId()); + dto.setCreate_code(SecurityUtils.getCurrentUsername()); + dto.setCreate_name(SecurityUtils.getCurrentNickName()); + dto.setCreate_time(DateUtil.now()); + this.save(dto); + } + +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/NotCarToWmsServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/NotCarToWmsServiceImpl.java index 5da889c..f9bbbd6 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/NotCarToWmsServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/NotCarToWmsServiceImpl.java @@ -162,6 +162,7 @@ public class NotCarToWmsServiceImpl implements NotCarToWmsService { jsonTask.put("task_group_id", task_group_id); jsonTask.put("material_id", jsonIvt.getMaterial_id()); jsonTask.put("material_qty", jsonIvt.getMaterial_qty()); + jsonTask.put("priority", pointIvtList.size() - i); noCarBackCpTask.create(jsonTask); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/controller/PdaCommonController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/controller/PdaCommonController.java index 903d952..9746f30 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/controller/PdaCommonController.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/controller/PdaCommonController.java @@ -93,7 +93,7 @@ public class PdaCommonController { @PostMapping("/confirmBagAssembly") @Log("物料组袋-确认组袋") @SaIgnore - public ResponseEntity confirmBagAssembly(@RequestBody @Valid AssemblyBagParam param) { + public ResponseEntity confirmBagAssembly(@RequestBody @Valid AssemblyBagParam param) throws Exception { return new ResponseEntity<>(pdaCommonService.confirmBagAssembly(param), HttpStatus.OK); } @@ -107,7 +107,7 @@ public class PdaCommonController { @PostMapping("/confirmPalletAssembly") @Log("物料组盘-组盘") @SaIgnore - public ResponseEntity confirmPalletAssembly(@RequestBody @Valid AssemblyPalletParam param) { + public ResponseEntity confirmPalletAssembly(@RequestBody @Valid AssemblyPalletParam param) throws Exception { return new ResponseEntity<>(pdaCommonService.confirmPalletAssembly(param), HttpStatus.OK); } @@ -128,7 +128,7 @@ public class PdaCommonController { @PostMapping("/confirmBucketAssembly") @Log("物料组桶-组桶") @SaIgnore - public ResponseEntity confirmBucketAssembly(@RequestBody @Valid AssemblyBucketParam param) { + public ResponseEntity confirmBucketAssembly(@RequestBody @Valid AssemblyBucketParam param) throws Exception { return new ResponseEntity<>(pdaCommonService.confirmBucketAssembly(param), HttpStatus.OK); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/controller/PdaWarehouseController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/controller/PdaWarehouseController.java index 7a3f880..758b757 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/controller/PdaWarehouseController.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/controller/PdaWarehouseController.java @@ -112,4 +112,25 @@ public class PdaWarehouseController { public ResponseEntity confirmMore(@RequestBody JSONObject param) { return new ResponseEntity<>(pdaWarehouseService.confirmMore(param), HttpStatus.OK); } + + @PostMapping("/hyConfirmIn") + @Log("虚拟入库 - 确认入库") + @SaIgnore + public ResponseEntity hyConfirmIn(@RequestBody JSONObject param) { + return new ResponseEntity<>(pdaWarehouseService.hyConfirmIn(param), HttpStatus.OK); + } + + @PostMapping("/hyQueryIvt") + @Log("虚拟出库 - 查询库存明细") + @SaIgnore + public ResponseEntity hyQueryIvt(@RequestBody JSONObject param) { + return new ResponseEntity<>(pdaWarehouseService.hyQueryIvt(param), HttpStatus.OK); + } + + @PostMapping("/hyConfirmOut") + @Log("虚拟出库 - 确认出库") + @SaIgnore + public ResponseEntity hyConfirmOut(@RequestBody JSONObject param) { + return new ResponseEntity<>(pdaWarehouseService.hyConfirmOut(param), HttpStatus.OK); + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaBuildParamService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaBuildParamService.java index 5b54b79..e37ff97 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaBuildParamService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaBuildParamService.java @@ -19,7 +19,7 @@ public interface PdaBuildParamService { * @param param * @param startPoint */ - void doGroupPallet(JSONObject param, String vehicleCode); + void doGroupPallet(JSONObject param, String vehicleCode) throws Exception; /** * 构建创建任务参数 diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaCommonService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaCommonService.java index 7c803fa..0d7b0fc 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaCommonService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaCommonService.java @@ -21,7 +21,7 @@ public interface PdaCommonService { * @param param * @return */ - PdaResponse confirmBagAssembly(AssemblyBagParam param); + PdaResponse confirmBagAssembly(AssemblyBagParam param) throws Exception; /** * 获取组袋信息 @@ -37,7 +37,7 @@ public interface PdaCommonService { * @param param * @return */ - PdaResponse confirmPalletAssembly(AssemblyPalletParam param); + PdaResponse confirmPalletAssembly(AssemblyPalletParam param) throws Exception; /** * 空托盘入库 @@ -47,7 +47,7 @@ public interface PdaCommonService { */ PdaResponse inEmptyVehicle(JSONObject param); - PdaResponse confirmBucketAssembly(AssemblyBucketParam param); + PdaResponse confirmBucketAssembly(AssemblyBucketParam param) throws Exception; /** * 空载具堆叠-查询点位堆叠明细 diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaWarehouseService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaWarehouseService.java index 602e65c..291f3a4 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaWarehouseService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/PdaWarehouseService.java @@ -110,4 +110,32 @@ public interface PdaWarehouseService { * @return PdaResponse */ PdaResponse confirmMore(JSONObject param); + + /** + * 虚拟入库 - 确认入库 + * @param param : { + * rows: 明细 + * } + * @return PdaResponse + */ + PdaResponse hyConfirmIn(JSONObject param); + + /** + * 虚拟出库 - 查询库存明细 + * @param param : { + * material_code: 物料编码 + * pcsn: 批次 + * } + * @return PdaResponse + */ + PdaResponse hyQueryIvt(JSONObject param); + + /** + * 虚拟出库 - 确认出库 + * @param param { + * rows [列表明细] + * } + * @return PdaResponse + */ + PdaResponse hyConfirmOut(JSONObject param); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyBagParam.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyBagParam.java index 5b6d50b..cc0ddcf 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyBagParam.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyBagParam.java @@ -28,6 +28,10 @@ public class AssemblyBagParam { private String pcsn; @NotNull(message = "数量不能为空") private BigDecimal qty; + @NotBlank(message = "复核人编码不能为空") + private String username; + @NotBlank(message = "复核人名称不能为空") + private String password; public static GroupPlate buildGroupObj(AssemblyBagParam param) { GroupPlate groupPlate = new GroupPlate(); diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyBucketParam.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyBucketParam.java index 4606446..cee1640 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyBucketParam.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyBucketParam.java @@ -22,5 +22,9 @@ public class AssemblyBucketParam { @NotBlank(message = "批次号不能为空") private String pcsn; private BigDecimal qty; + @NotBlank(message = "复核人编码不能为空") + private String username; + @NotBlank(message = "复核人名称不能为空") + private String password; } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyPalletParam.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyPalletParam.java index a068a92..b4abdfb 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyPalletParam.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/dto/AssemblyPalletParam.java @@ -16,6 +16,10 @@ import java.util.List; public class AssemblyPalletParam { @NotBlank(message = "托盘码不能为空") private String vehicle_code; - @NotNull(message = "吨袋信息不能为空") + @NotNull(message = "袋信息不能为空") private List group_plates; + @NotBlank(message = "复核人编码不能为空") + private String username; + @NotBlank(message = "复核人名称不能为空") + private String password; } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/DefaultPdaBuildParamService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/DefaultPdaBuildParamService.java index c4ca1fc..6b82c81 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/DefaultPdaBuildParamService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/DefaultPdaBuildParamService.java @@ -80,7 +80,7 @@ public class DefaultPdaBuildParamService implements PdaBuildParamService { private IStructattrService structattrService; @Override - public void doGroupPallet(JSONObject param, String vehicleCode) { + public void doGroupPallet(JSONObject param, String vehicleCode) throws Exception { JSONArray rows = param.getJSONArray("rows"); List bagCode = rows .stream() diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaCommonServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaCommonServiceImpl.java index 1cd3d05..2aff9fe 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaCommonServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaCommonServiceImpl.java @@ -13,11 +13,17 @@ import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; +import org.nl.config.SpringContextHolder; +import org.nl.system.controller.secutiry.MobileAuthorizationController; import org.nl.system.service.dict.ISysDictService; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.system.service.user.dao.SysUser; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService; +import org.nl.wms.basedata_manage.service.IMdPdReviewsignService; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.MdPdGroupbucket; +import org.nl.wms.basedata_manage.service.dao.MdPdReviewsign; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.basedata_manage.service.dao.mapper.MdPdGroupbucketMapper; import org.nl.wms.pda.general_management.service.PdaCommonService; @@ -48,6 +54,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; @@ -88,6 +95,8 @@ public class PdaCommonServiceImpl implements PdaCommonService { private IMdPdGroupbucketService groupbucketService; @Resource private MdPdGroupbucketMapper mdPdGroupbucketMapper; + @Resource + private IMdPdReviewsignService iMdPdReviewsignService; /** * 点位服务类 @@ -106,6 +115,7 @@ public class PdaCommonServiceImpl implements PdaCommonService { @SneakyThrows @Override + @Transactional public PdaResponse callEmptyVehicle(JSONObject param) { log.info("手持请求呼叫空托盘:{}", param); RLock lock = redissonClient.getLock("lock:callEmptyVehicle"); @@ -162,7 +172,15 @@ public class PdaCommonServiceImpl implements PdaCommonService { } @Override - public PdaResponse confirmBagAssembly(AssemblyBagParam param) { + @Transactional + public PdaResponse confirmBagAssembly(AssemblyBagParam param) throws Exception { + // -------------调用接口进行账户密码进行校验------------- + MobileAuthorizationController bean = SpringContextHolder.getBean(MobileAuthorizationController.class); + AuthUserDto authUserDto = new AuthUserDto(); + authUserDto.setUsername(param.getUsername()); + authUserDto.setPassword(param.getPassword()); + SysUser sysUser = bean.loginCheck(authUserDto); + List list = groupplateService.list(new LambdaQueryWrapper() .eq(GroupPlate::getBag_code, param.getBagNo()) .le(GroupPlate::getStatus, "2")); @@ -171,6 +189,17 @@ public class PdaCommonServiceImpl implements PdaCommonService { } GroupPlate groupPlate = AssemblyBagParam.buildGroupObj(param); groupplateService.save(groupPlate); + + // -------------插入双签记录------------- + MdPdReviewsign mdPdReviewsign = new MdPdReviewsign(); + mdPdReviewsign.setBag_code(groupPlate.getBag_code()); + mdPdReviewsign.setMaterial_id(groupPlate.getMaterial_id()); + mdPdReviewsign.setPcsn(groupPlate.getPcsn()); + mdPdReviewsign.setQty(groupPlate.getQty().toString()); + mdPdReviewsign.setReview_code(sysUser.getUsername()); + mdPdReviewsign.setReview_name(sysUser.getPerson_name()); + mdPdReviewsign.setAction("组袋"); + iMdPdReviewsignService.insert(mdPdReviewsign); return PdaResponse.requestOk("组袋成功!"); } @@ -190,7 +219,14 @@ public class PdaCommonServiceImpl implements PdaCommonService { @Override @Transactional - public PdaResponse confirmPalletAssembly(AssemblyPalletParam param) { + public PdaResponse confirmPalletAssembly(AssemblyPalletParam param) throws Exception { + // -------------调用接口进行账户密码进行校验------------- + MobileAuthorizationController bean = SpringContextHolder.getBean(MobileAuthorizationController.class); + AuthUserDto authUserDto = new AuthUserDto(); + authUserDto.setUsername(param.getUsername()); + authUserDto.setPassword(param.getPassword()); + SysUser sysUser = bean.loginCheck(authUserDto); + // 判断此载具状态 JSONObject jsonObject = new JSONObject(); jsonObject.put("vehicle_code", param.getVehicle_code()); @@ -207,11 +243,28 @@ public class PdaCommonServiceImpl implements PdaCommonService { groupPlate.setVehicle_code(param.getVehicle_code()); groupPlate.setTableData(param.getGroup_plates()); groupplateService.create(groupPlate); + + // -------------插入双签记录------------- + List lateList = param.getGroup_plates(); + for (int i = 0; i < lateList.size(); i++) { + GroupPlate dao = lateList.get(i); + MdPdReviewsign mdPdReviewsign = new MdPdReviewsign(); + mdPdReviewsign.setBag_code(dao.getBag_code()); + mdPdReviewsign.setMaterial_id(dao.getMaterial_id()); + mdPdReviewsign.setPcsn(dao.getPcsn()); + mdPdReviewsign.setQty(dao.getQty().toString()); + mdPdReviewsign.setReview_code(sysUser.getUsername()); + mdPdReviewsign.setReview_name(sysUser.getPerson_name()); + mdPdReviewsign.setAction("组盘"); + mdPdReviewsign.setVehicle_code(param.getVehicle_code()); + iMdPdReviewsignService.insert(mdPdReviewsign); + } return PdaResponse.requestOk("组盘成功!"); } @SneakyThrows @Override + @Transactional public PdaResponse inEmptyVehicle(JSONObject param) { log.info("手持请求空托盘入库:{}", param); RLock lock = redissonClient.getLock("lock:inEmptyVehicle"); @@ -231,7 +284,15 @@ public class PdaCommonServiceImpl implements PdaCommonService { } @Override - public PdaResponse confirmBucketAssembly(AssemblyBucketParam param) { + @Transactional + public PdaResponse confirmBucketAssembly(AssemblyBucketParam param) throws Exception { + // -------------调用接口进行账户密码进行校验------------- + MobileAuthorizationController bean = SpringContextHolder.getBean(MobileAuthorizationController.class); + AuthUserDto authUserDto = new AuthUserDto(); + authUserDto.setUsername(param.getUsername()); + authUserDto.setPassword(param.getPassword()); + SysUser sysUser = bean.loginCheck(authUserDto); + String bucket_code = param.getBucket_code(); // 查询桶码是否存在 storagevehicleinfoService.getByCode(bucket_code); @@ -250,6 +311,17 @@ public class PdaCommonServiceImpl implements PdaCommonService { groupbucket.setQty_unit_id("1585604695483879424"); groupbucket.setQty_unit_name("千克"); groupbucketService.save(groupbucket); + + // -------------插入双签记录------------- + MdPdReviewsign mdPdReviewsign = new MdPdReviewsign(); + mdPdReviewsign.setBag_code(groupbucket.getBucket_code()); + mdPdReviewsign.setMaterial_id(groupbucket.getMaterial_id()); + mdPdReviewsign.setPcsn(groupbucket.getPcsn()); + mdPdReviewsign.setQty(IOSConstant.ZERO); + mdPdReviewsign.setReview_code(sysUser.getUsername()); + mdPdReviewsign.setReview_name(sysUser.getPerson_name()); + mdPdReviewsign.setAction("组桶"); + iMdPdReviewsignService.insert(mdPdReviewsign); return PdaResponse.requestOk(); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaNotCarServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaNotCarServiceImpl.java index 2891c97..1622cc3 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaNotCarServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaNotCarServiceImpl.java @@ -5,6 +5,7 @@ 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.SecurityUtils; import org.nl.config.IdUtil; import org.nl.config.SpringContextHolder; import org.nl.system.service.param.ISysParamService; @@ -16,6 +17,8 @@ import org.nl.wms.ext.util.NoCarResponse; import org.nl.wms.pda.general_management.service.PdaNotCarService; import org.nl.wms.pda.util.PDAEnum; import org.nl.wms.pda.util.PdaResponse; +import org.nl.wms.pdm_management.service.IMdPdmPackagingService; +import org.nl.wms.pdm_management.service.dao.MdPdmPackaging; import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper; import org.nl.wms.sch_manage.service.util.tasks.NoCarBackCpTask; @@ -79,6 +82,12 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { @Resource private MdMeMaterialbaseMapper mdMeMaterialbaseMapper; + /** + * 收货服务 + */ + @Resource + private IMdPdmPackagingService iMdPdmPackagingService; + @Override public PdaResponse queryNotCarPoint() { return PdaResponse.requestParamOk(schBasePointMapper.queryNotCarPoint()); @@ -97,11 +106,57 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { // 根据物料类型查询目的点位 List pointList = new ArrayList<>(); if (json.getString("class_code").equals(IOSConstant.WBC001)) { + // 1-说明书 2-小箱子 3-大箱子 + String material_type = ""; + // 说明书 + Param wbc_1 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("wbc_1"); + // 小箱子 + Param wbc_2 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("wbc_2"); + // 大箱子 + Param wbc_3 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("wbc_3"); + if (wbc_1.getValue().contains(json.getString("material_code"))) { + material_type = IOSConstant.ONE; + } else if (wbc_2.getValue().contains(json.getString("material_code"))) { + material_type = IOSConstant.TWO; + } else if (wbc_3.getValue().contains(json.getString("material_code"))) { + material_type = IOSConstant.THREE; + } + if (ObjectUtil.isEmpty(material_type)) { + throw new BadRequestException("当前物料编码【" + json.getString("material_code") + "】没有存放位!"); + } // 查询存放外包材区域 - pointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.AGVDJ01, IOSConstant.ONE, IOSConstant.ONE); + pointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.AGVDJ01, IOSConstant.ONE, IOSConstant.ONE, material_type); + // 插入外包材库存 + if (ObjectUtil.isNotEmpty(pointList)) { + MdPdmPackaging packDao = iMdPdmPackagingService.getOne( + new QueryWrapper().lambda() + .eq(MdPdmPackaging::getPoint_code, pointList.get(0).getPoint_code()) + ); + if (ObjectUtil.isNotEmpty(packDao)) { + // 更新 + packDao.setMaterial_id(json.getString("material_id")); + packDao.setPcsn(json.getString("pcsn")); + packDao.setQty(json.getBigDecimal("material_qty")); + packDao.setRemark("由无人车卸货创建"); + iMdPdmPackagingService.updateById(packDao); + } else { + // 插入 + MdPdmPackaging mdPdmPackaging = new MdPdmPackaging(); + mdPdmPackaging.setPacking_id(IdUtil.getStringId()); + mdPdmPackaging.setMaterial_id(json.getString("material_id")); + mdPdmPackaging.setPcsn(json.getString("material_pcsn")); + mdPdmPackaging.setQty(json.getBigDecimal("material_qty")); + mdPdmPackaging.setCreate_id(SecurityUtils.getCurrentUserId()); + mdPdmPackaging.setCreate_name(SecurityUtils.getCurrentNickName()); + mdPdmPackaging.setCreate_time(DateUtil.now()); + mdPdmPackaging.setPoint_code(pointList.get(0).getPoint_code()); + mdPdmPackaging.setRemark("由无人车卸货创建"); + iMdPdmPackagingService.save(mdPdmPackaging); + } + } } else { // 查询无人车卸货缓存区域 - pointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.WXHHC01, IOSConstant.ONE, IOSConstant.ONE); + pointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.WXHHC01, IOSConstant.ONE, IOSConstant.ONE, null); } if (ObjectUtil.isEmpty(pointList)) { throw new BadRequestException("卸货点位无空位可用!"); @@ -114,7 +169,9 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { jsonTask.put("point_code2", pointList.get(0).getPoint_code()); jsonTask.put("material_id", json.getString("material_id")); jsonTask.put("material_qty", json.getString("material_qty")); + jsonTask.put("material_pcsn", json.getString("material_pcsn")); jsonTask.put("task_group_id", task_group_id); + jsonTask.put("priority", rows.size() - i); noCarUnloadTask.create(jsonTask); } return PdaResponse.requestOk(); @@ -131,7 +188,7 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { @Override public PdaResponse queryZhPoint(JSONObject whereJson) { - List pointList = schBasePointMapper.getNoTaskPointByRegionAndType("CPQ01", IOSConstant.ONE, IOSConstant.TWO); + List pointList = schBasePointMapper.getNoTaskPointByRegionAndType("CPQ01", IOSConstant.ONE, IOSConstant.TWO, null); if (ObjectUtil.isNotEmpty(whereJson.getString("point_code"))) { pointList = pointList.stream() .filter(row -> row.getPoint_code().equals(whereJson.getString("point_code"))) @@ -245,8 +302,12 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { // 根据点位分组 Map> pointMapList = pointList.stream() .collect(Collectors.groupingBy(obj -> obj.getString("point_code"))); - // 外包位 - int wbClass = 0; + // 说明书 + int wbcClass_1 = 0; + // 小纸箱 + int wbcClass_2 = 0; + // 大纸箱 + int wbcClass_3 = 0; // 无人车卸货缓存 int materialClass = 0; @@ -270,9 +331,27 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { throw new BadRequestException("当前点位【" + point + "】存在不相同物料,请处理!"); } schBasePoint.setMaterial_qty(list.get(0).getString("qty")); + schBasePoint.setMaterial_pcsn(list.get(0).getString("pcsn")); // 更新需要用到的货位数量 if (list.get(0).getString("class_code").equals(IOSConstant.WBC001)) { - wbClass += 1; + // 说明书 + Param wbc_1 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("wbc_1"); + // 小箱子 + Param wbc_2 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("wbc_2"); + // 大箱子 + Param wbc_3 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("wbc_3"); + // 判断是哪些外包材 + for (JSONObject item : list) { + if (wbc_1.getValue().contains(item.getString("material_code"))) { + wbcClass_1 += 1; + } else if (wbc_2.getValue().contains(item.getString("material_code"))) { + wbcClass_2 += 1; + } else if (wbc_3.getValue().contains(item.getString("material_code"))) { + wbcClass_3 += 1; + } else { + throw new BadRequestException("当前物料编码【" + item.getString("material_code") + "】没有存放位!"); + } + } } else { materialClass += 1; } @@ -282,6 +361,7 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { .map(row -> row.getDoubleValue("qty")) .reduce(Double::sum).orElse(0.0); schBasePoint.setMaterial_qty(String.valueOf(qty)); + schBasePoint.setMaterial_pcsn(list.get(0).getString("pcsn")); // 更新需要用到的货位数量 materialClass = +1; } @@ -289,15 +369,29 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { schBasePointMapper.updateById(schBasePoint); } // ---------------校验车间空位--------------- - if (wbClass > 0) { - // 查询外包材空位 - List wbPointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.AGVDJ01, IOSConstant.ONE, IOSConstant.ONE); - if (wbClass > wbPointList.size()) { - throw new BadRequestException("存放外包材空位不足,当前需要空位【" + wbClass + "】当前已有空位【" + wbPointList.size() + "】"); + if (wbcClass_1 > 0) { + // 查询外包材说明书空位 + List wbPointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.AGVDJ01, IOSConstant.ONE, IOSConstant.ONE, IOSConstant.ONE); + if (wbcClass_1 > wbPointList.size()) { + throw new BadRequestException("说明书空位不足,当前需要空位【" + wbcClass_1 + "】当前已有空位【" + wbPointList.size() + "】"); + } + } + if (wbcClass_2 > 0) { + // 查询外包材小箱子空位 + List wbPointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.AGVDJ01, IOSConstant.ONE, IOSConstant.ONE, IOSConstant.TWO); + if (wbcClass_2 > wbPointList.size()) { + throw new BadRequestException("小箱空位不足,当前需要空位【" + wbcClass_2 + "】当前已有空位【" + wbPointList.size() + "】"); + } + } + if (wbcClass_3 > 0) { + // 查询外包材大箱子空位 + List wbPointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.AGVDJ01, IOSConstant.ONE, IOSConstant.ONE, IOSConstant.THREE); + if (wbcClass_3 > wbPointList.size()) { + throw new BadRequestException("大箱空位不足,当前需要空位【" + wbcClass_3 + "】当前已有空位【" + wbPointList.size() + "】"); } } if (materialClass > 0) { - List xhPointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.WXHHC01, IOSConstant.ONE, IOSConstant.ONE); + List xhPointList = schBasePointMapper.getNoTaskPointByRegionAndType(IOSConstant.WXHHC01, IOSConstant.ONE, IOSConstant.ONE, null); if (materialClass > xhPointList.size()) { throw new BadRequestException("卸货缓存区空位不足,当前需要空位【" + materialClass + "】当前已有空位【" + xhPointList.size() + "】"); } @@ -368,7 +462,7 @@ public class PdaNotCarServiceImpl implements PdaNotCarService { // 呼叫无人车 NoCarResponse noCarResponse = wmsToNotCarService.callNotCat(param); if (noCarResponse.getCode() != 200) { - throw new BadRequestException("下发无人车任务失败"+noCarResponse.getMsg()); + throw new BadRequestException("下发无人车任务失败" + noCarResponse.getMsg()); } } catch (Exception ignored) { throw new BadRequestException(ignored.getMessage()); diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaProductionServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaProductionServiceImpl.java index 2474e9b..b0fd24c 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaProductionServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaProductionServiceImpl.java @@ -18,14 +18,15 @@ import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; +import org.nl.config.SpringContextHolder; +import org.nl.system.controller.secutiry.MobileAuthorizationController; import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.dao.Param; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.system.service.user.dao.SysUser; import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.service.*; -import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext; -import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; -import org.nl.wms.basedata_manage.service.dao.Sectattr; -import org.nl.wms.basedata_manage.service.dao.Structattr; +import org.nl.wms.basedata_manage.service.dao.*; import org.nl.wms.pda.general_management.service.PdaBuildParamService; import org.nl.wms.pda.general_management.service.PdaWarehouseService; import org.nl.wms.pda.general_management.service.PdaProductionService; @@ -124,6 +125,9 @@ public class PdaProductionServiceImpl implements PdaProductionService { private SectMaterialCheck sectMaterialCheck; @Resource private SchBasePointMapper schBasePointMapper; + @Resource + private IMdPdReviewsignService iMdPdReviewsignService; + @Override public PdaResponse getGroupInfo(JSONObject param) { // search; @@ -306,6 +310,13 @@ public class PdaProductionServiceImpl implements PdaProductionService { boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { if (tryLock) { + // -------------调用接口进行账户密码进行校验------------- + MobileAuthorizationController bean = SpringContextHolder.getBean(MobileAuthorizationController.class); + AuthUserDto authUserDto = new AuthUserDto(); + authUserDto.setUsername(param.getString("username")); + authUserDto.setPassword(param.getString("password")); + SysUser sysUser = bean.loginCheck(authUserDto); + String search = param.getString("search"); SchBasePoint startPoint = pointService.getByPointCode(search, false); if (ObjectUtil.isEmpty(startPoint)) { @@ -344,6 +355,21 @@ public class PdaProductionServiceImpl implements PdaProductionService { // 3 创建任务 Map jsonMst = defaultPdaBuildParam.buildTaskData(startPoint, invId); rawAssistIStorService.divPoint(jsonMst); + + // -------------插入双签记录------------- + for (int i = 0; i < res.size(); i++) { + JSONObject json = res.get(i); + MdPdReviewsign mdPdReviewsign = new MdPdReviewsign(); + mdPdReviewsign.setBag_code(json.getString("bag_code")); + mdPdReviewsign.setMaterial_id(json.getString("material_id")); + mdPdReviewsign.setPcsn(json.getString("pcsn")); + mdPdReviewsign.setQty(json.getString("qty")); + mdPdReviewsign.setReview_code(sysUser.getUsername()); + mdPdReviewsign.setReview_name(sysUser.getPerson_name()); + mdPdReviewsign.setAction("剩料回库"); + mdPdReviewsign.setVehicle_code(startPoint.getVehicle_code()); + iMdPdReviewsignService.insert(mdPdReviewsign); + } } else { log.info("空载具回库"); // 空载具回库 diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaWarehouseServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaWarehouseServiceImpl.java index 1289829..dc6f39c 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaWarehouseServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/general_management/service/impl/PdaWarehouseServiceImpl.java @@ -10,14 +10,15 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; -import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService; -import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService; -import org.nl.wms.basedata_manage.service.ISectattrService; -import org.nl.wms.basedata_manage.service.IStructattrService; -import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext; -import org.nl.wms.basedata_manage.service.dao.MdPdGroupbucket; -import org.nl.wms.basedata_manage.service.dao.Sectattr; -import org.nl.wms.basedata_manage.service.dao.Structattr; +import org.nl.common.utils.CodeUtil; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.config.SpringContextHolder; +import org.nl.system.controller.secutiry.MobileAuthorizationController; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.system.service.user.dao.SysUser; +import org.nl.wms.basedata_manage.service.*; +import org.nl.wms.basedata_manage.service.dao.*; import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper; import org.nl.wms.pda.general_management.service.PdaBuildParamService; import org.nl.wms.pda.general_management.service.PdaWarehouseService; @@ -39,6 +40,7 @@ import org.nl.wms.warehouse_management.service.dao.mapper.MdPbGroupplateMapper; import org.nl.wms.warehouse_management.service.dto.MoreOrLessInsertDto; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -107,6 +109,21 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService { @Resource private IMdPdGroupbucketService iMdPdGroupbucketService; + /** + * 计量单位服务 + */ + @Autowired + private IMdPbMeasureunitService iMdPbMeasureunitService; + + /** + * 物料服务 + */ + @Autowired + private IMdMeMaterialbaseService iMdMeMaterialbaseService; + + @Resource + private IMdPdReviewsignService iMdPdReviewsignService; + @Override public PdaResponse getPalletAssembly(JSONObject param) { String bag_code = param.getString("bag_code"); @@ -514,6 +531,13 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService { boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { if (tryLock) { + // -------------调用接口进行账户密码进行校验------------- + MobileAuthorizationController bean = SpringContextHolder.getBean(MobileAuthorizationController.class); + AuthUserDto authUserDto = new AuthUserDto(); + authUserDto.setUsername(param.getString("username")); + authUserDto.setPassword(param.getString("password")); + SysUser sysUser = bean.loginCheck(authUserDto); + List jsonList = param.getJSONArray("rows").toJavaList(JSONObject.class); if (ObjectUtil.isEmpty(jsonList)) { throw new BadRequestException("数据为空!"); @@ -531,11 +555,11 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService { if (qty < change_qty) { // 溢 moreOrLessInsertDto.setMol_type(IOSEnum.MORE_TYPE.code("溢")); - ivt_qty = NumberUtil.sub(change_qty,qty); + ivt_qty = NumberUtil.sub(change_qty, qty); } else if (qty > change_qty) { // 损 moreOrLessInsertDto.setMol_type(IOSEnum.MORE_TYPE.code("损")); - ivt_qty = NumberUtil.sub(qty,change_qty); + ivt_qty = NumberUtil.sub(qty, change_qty); } else { // 不处理 continue; @@ -548,7 +572,7 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService { .eq(Structattr::getStoragevehicle_code, json.getString("vehicle_code")) ); if (ObjectUtil.isEmpty(attrList)) { - throw new BadRequestException("当前载具【"+json.getString("vehicle_code")+"】不在库内"); + throw new BadRequestException("当前载具【" + json.getString("vehicle_code") + "】不在库内"); } moreOrLessInsertDto.setStor_id(attrList.get(0).getStor_id()); moreOrLessInsertDto.setTotal_qty(BigDecimal.valueOf(ivt_qty)); @@ -583,17 +607,28 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService { // 更新袋重量 groupplateService.update( new UpdateWrapper().lambda() - .eq(GroupPlate::getBag_code, json.getString("bag_code")) - .set(GroupPlate::getQty, change_qty) + .eq(GroupPlate::getBag_code, json.getString("bag_code")) + .set(GroupPlate::getQty, change_qty) ); } else { // 更新桶重量 iMdPdGroupbucketService.update( new UpdateWrapper().lambda() - .eq(MdPdGroupbucket::getBucket_code, json.getString("vehicle_code")) - .set(MdPdGroupbucket::getQty, change_qty) + .eq(MdPdGroupbucket::getBucket_code, json.getString("vehicle_code")) + .set(MdPdGroupbucket::getQty, change_qty) ); } + // -------------插入双签记录------------- + MdPdReviewsign mdPdReviewsign = new MdPdReviewsign(); + mdPdReviewsign.setBag_code(json.getString("bag_code")); + mdPdReviewsign.setMaterial_id(json.getString("material_id")); + mdPdReviewsign.setPcsn(json.getString("pcsn")); + mdPdReviewsign.setQty(json.getString("change_qty")); + mdPdReviewsign.setReview_code(sysUser.getUsername()); + mdPdReviewsign.setReview_name(sysUser.getPerson_name()); + mdPdReviewsign.setAction("损益"); + mdPdReviewsign.setVehicle_code(json.getString("vehicle_code")); + iMdPdReviewsignService.insert(mdPdReviewsign); } } else { throw new BadRequestException("当前业务繁忙,稍后再试..."); @@ -605,4 +640,110 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService { } return PdaResponse.requestOk(); } + + @Override + @Transactional + public PdaResponse hyConfirmIn(JSONObject param) { + List rowsList = param.getJSONArray("rows").toJavaList(JSONObject.class); + if (ObjectUtil.isEmpty(rowsList)) { + throw new BadRequestException("明细不能为空"); + } + + // 组织入库参数 + List updateIvtList = new ArrayList<>(); + for (JSONObject json : rowsList) { + MdMeMaterialbase materialDao = iMdMeMaterialbaseService.getByCode(json.getString("material_code")); + if (ObjectUtil.isEmpty(materialDao)) { + throw new BadRequestException("物料【" + json.getString("material_code") + "】不存在!"); + } + MdPbMeasureunit unitDao = iMdPbMeasureunitService.getById(materialDao.getBase_unit_id()); + if (ObjectUtil.isEmpty(unitDao)) { + throw new BadRequestException("计量单位标识【" + materialDao.getBase_unit_id() + "】不存在!"); + } + String xn_vehicle_code = CodeUtil.getNewCode("XN_VEHICLE_CODE"); + // 查询一个虚拟空位 + List attrList = structattrService.list( + new QueryWrapper().lambda() + .eq(Structattr::getIs_used, IOSConstant.IS_DELETE_YES) + .eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .eq(Structattr::getSect_code, IOSEnum.SECT_CODE.code("恩双平虚拟库区")) + .eq(Structattr::getIs_delete, IOSConstant.IS_DELETE_NO) + .and(wrapper -> wrapper.isNull(Structattr::getStoragevehicle_code).or().eq(Structattr::getStoragevehicle_code, "")) + .orderByAsc(Structattr::getStruct_code) + ); + if (ObjectUtil.isEmpty(attrList)) { + throw new BadRequestException("没有可用的虚拟库位!"); + } + // 更新仓位载具号 + Structattr structattr = attrList.get(0); + structattr.setStoragevehicle_code(xn_vehicle_code); + structattrService.updateById(structattr); + + // 新增新载具库存信息 + MdPbStoragevehicleext extParamDao = new MdPbStoragevehicleext(); + extParamDao.setStoragevehicleext_id(IdUtil.getStringId()); + extParamDao.setStoragevehicle_code(xn_vehicle_code); + extParamDao.setMaterial_id(json.getString("material_id")); + extParamDao.setPcsn(json.getString("pcsn")); + extParamDao.setQty_unit_id(unitDao.getMeasure_unit_id()); + extParamDao.setQty_unit_name(unitDao.getUnit_name()); + extParamDao.setCanuse_qty(json.getBigDecimal("qty")); + extParamDao.setFrozen_qty(BigDecimal.valueOf(0)); + extParamDao.setInsert_time(DateUtil.now()); + extParamDao.setUpdate_optid(SecurityUtils.getCurrentUserId()); + extParamDao.setUpdate_optname(SecurityUtils.getCurrentNickName()); + extParamDao.setUpdate_time(DateUtil.now()); + updateIvtList.add(extParamDao); + } + iMdPbStoragevehicleextService.saveBatch(updateIvtList); + return PdaResponse.requestOk(); + } + + @Override + public PdaResponse hyQueryIvt(JSONObject param) { + return PdaResponse.requestParamOk(mdPbStoragevehicleextMapper.pdaHyQueryIvt(param)); + } + + @Override + public PdaResponse hyConfirmOut(JSONObject param) { + List rowsList = param.getJSONArray("rows").toJavaList(JSONObject.class); + if (ObjectUtil.isEmpty(rowsList)) { + throw new BadRequestException("明细不能为空"); + } + for (JSONObject json : rowsList) { + MdPbStoragevehicleext extDao = iMdPbStoragevehicleextService.getOne( + new QueryWrapper().lambda() + .eq(MdPbStoragevehicleext::getStoragevehicleext_id, json.getString("storagevehicleext_id")) + ); + if (ObjectUtil.isEmpty(extDao)) { + throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); + } + + // 减扣库存 + double canuse_qty = NumberUtil.sub(extDao.getCanuse_qty(), json.getDoubleValue("canuse_qty")).doubleValue(); + if (canuse_qty <= 0) { + // 删除 + iMdPbStoragevehicleextService.removeById(extDao); + // 更新仓位 + Structattr structattr = structattrService.getOne( + new QueryWrapper().lambda() + .eq(Structattr::getStoragevehicle_code, extDao.getStoragevehicle_code()) + .eq(Structattr::getSect_code, IOSEnum.SECT_CODE.code("恩双平虚拟库区")) + ); + if (ObjectUtil.isEmpty(structattr)) { + throw new BadRequestException("虚拟托盘为【" + extDao.getStoragevehicle_code() + "】的仓位不存在!"); + } + structattr.setStoragevehicle_code(""); + structattrService.updateById(structattr); + } else { + // 更新 + extDao.setCanuse_qty(BigDecimal.valueOf(canuse_qty)); + extDao.setUpdate_optid(SecurityUtils.getCurrentUserId()); + extDao.setUpdate_optname(SecurityUtils.getCurrentNickName()); + extDao.setUpdate_time(DateUtil.now()); + iMdPbStoragevehicleextService.updateById(extDao); + } + } + return PdaResponse.requestOk(); + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/controller/PdaPackagingController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/controller/PdaPackagingController.java index 06c70a0..7b51c07 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/controller/PdaPackagingController.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/controller/PdaPackagingController.java @@ -77,7 +77,7 @@ public class PdaPackagingController { @PostMapping("/packInConfirm") @Log("外包材送入-送入") @SaIgnore - public ResponseEntity packInConfirm(@RequestBody JSONObject whereJson) { + public ResponseEntity packInConfirm(@RequestBody JSONObject whereJson) throws Exception { return new ResponseEntity<>(pdaPackagingService.packInConfirm(whereJson), HttpStatus.OK); } @@ -98,7 +98,7 @@ public class PdaPackagingController { @PostMapping("/packConfirmReturn") @Log("外包材还回-确认还回") @SaIgnore - public ResponseEntity packConfirmReturn(@RequestBody JSONObject whereJson) { + public ResponseEntity packConfirmReturn(@RequestBody JSONObject whereJson) throws Exception { return new ResponseEntity<>(pdaPackagingService.packConfirmReturn(whereJson), HttpStatus.OK); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/service/PdaPackagingService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/service/PdaPackagingService.java index 8fc4c69..0a0e82f 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/service/PdaPackagingService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/service/PdaPackagingService.java @@ -86,7 +86,7 @@ public interface PdaPackagingService { * } * @return PdaResponse */ - PdaResponse packInConfirm(JSONObject whereJson); + PdaResponse packInConfirm(JSONObject whereJson) throws Exception; /** * 外包材领用-查询点位库存明细 @@ -122,5 +122,5 @@ public interface PdaPackagingService { * } * @return PdaResponse */ - PdaResponse packConfirmReturn(JSONObject whereJson); + PdaResponse packConfirmReturn(JSONObject whereJson) throws Exception; } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/service/impl/PdaPackagingServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/service/impl/PdaPackagingServiceImpl.java index 0d04710..775c1f4 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/service/impl/PdaPackagingServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/packaging_management/service/impl/PdaPackagingServiceImpl.java @@ -10,6 +10,12 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.JSONObjectOf; import org.nl.common.utils.SecurityUtils; +import org.nl.config.SpringContextHolder; +import org.nl.system.controller.secutiry.MobileAuthorizationController; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.system.service.user.dao.SysUser; +import org.nl.wms.basedata_manage.service.IMdPdReviewsignService; +import org.nl.wms.basedata_manage.service.dao.MdPdReviewsign; import org.nl.wms.pda.general_management.service.PdaPublicInterfaceService; import org.nl.wms.pda.packaging_management.service.PdaPackagingService; import org.nl.wms.pda.util.PdaResponse; @@ -71,6 +77,8 @@ public class PdaPackagingServiceImpl implements PdaPackagingService { */ @Resource private PackagingMiddleTask packagingMiddleTask; + @Resource + private IMdPdReviewsignService iMdPdReviewsignService; @Override public PdaResponse queryPointRegion(JSONObject whereJson) { @@ -201,7 +209,14 @@ public class PdaPackagingServiceImpl implements PdaPackagingService { @Override @Transactional - public PdaResponse packInConfirm(JSONObject whereJson) { + public PdaResponse packInConfirm(JSONObject whereJson) throws Exception { + // -------------调用接口进行账户密码进行校验------------- + MobileAuthorizationController bean = SpringContextHolder.getBean(MobileAuthorizationController.class); + AuthUserDto authUserDto = new AuthUserDto(); + authUserDto.setUsername(whereJson.getString("username")); + authUserDto.setPassword(whereJson.getString("password")); + SysUser sysUser = bean.loginCheck(authUserDto); + List rows = whereJson.getJSONArray("rows").toJavaList(JSONObject.class); // 创建agv任务 JSONObject jsonTask = new JSONObject(); @@ -215,6 +230,17 @@ public class PdaPackagingServiceImpl implements PdaPackagingService { jsonTask.put("material_qty", whereJson.getString("total_qty")); jsonTask.put("task_type", ACSTaskTypeEnum.AGV_TASK.getCode()); packagingMiddleTask.create(jsonTask); + + // -------------插入双签记录------------- + MdPdReviewsign mdPdReviewsign = new MdPdReviewsign(); + mdPdReviewsign.setBag_code(""); + mdPdReviewsign.setMaterial_id(rows.get(0).getString("material_id")); + mdPdReviewsign.setPcsn(rows.get(0).getString("pcsn")); + mdPdReviewsign.setQty(whereJson.getString("total_qty")); + mdPdReviewsign.setReview_code(sysUser.getUsername()); + mdPdReviewsign.setReview_name(sysUser.getPerson_name()); + mdPdReviewsign.setAction("外包材送入"); + iMdPdReviewsignService.insert(mdPdReviewsign); return PdaResponse.requestOk(); } @@ -266,7 +292,14 @@ public class PdaPackagingServiceImpl implements PdaPackagingService { @Override @Transactional - public PdaResponse packConfirmReturn(JSONObject whereJson) { + public PdaResponse packConfirmReturn(JSONObject whereJson) throws Exception { + // -------------调用接口进行账户密码进行校验------------- + MobileAuthorizationController bean = SpringContextHolder.getBean(MobileAuthorizationController.class); + AuthUserDto authUserDto = new AuthUserDto(); + authUserDto.setUsername(whereJson.getString("username")); + authUserDto.setPassword(whereJson.getString("password")); + SysUser sysUser = bean.loginCheck(authUserDto); + SchBasePoint pointDao = iSchBasePointService.getById(whereJson.getString("point_code")); if (ObjectUtil.isEmpty(pointDao)) { throw new BadRequestException("当前点位不存在【" + whereJson.getString("point_code") + "】"); @@ -320,6 +353,17 @@ public class PdaPackagingServiceImpl implements PdaPackagingService { // 新增带你为库存记录 iMdPdmPackagingService.save(mdPdmPackaging); } + + // -------------插入双签记录------------- + MdPdReviewsign mdPdReviewsign = new MdPdReviewsign(); + mdPdReviewsign.setBag_code(""); + mdPdReviewsign.setMaterial_id(whereJson.getString("material_id")); + mdPdReviewsign.setPcsn(whereJson.getString("pcsn")); + mdPdReviewsign.setQty(whereJson.getString("qty")); + mdPdReviewsign.setReview_code(sysUser.getUsername()); + mdPdReviewsign.setReview_name(sysUser.getPerson_name()); + mdPdReviewsign.setAction("外包材还回"); + iMdPdReviewsignService.insert(mdPdReviewsign); return PdaResponse.requestOk(); } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/SchBasePoint.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/SchBasePoint.java index 1eb0029..3f75078 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/SchBasePoint.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/SchBasePoint.java @@ -134,6 +134,7 @@ public class SchBasePoint implements Serializable { private String material_id; private String material_qty; + private String material_pcsn; @TableField(exist = false) private List can_vehicle_types; diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.java index aec8381..e3aa34a 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.java @@ -78,7 +78,7 @@ public interface SchBasePointMapper extends BaseMapper { */ List pdaQueryPointDtl(@Param("param") JSONObject whereJson); - List getNoTaskPointByRegionAndType(String region, String type, String pointStatus); + List getNoTaskPointByRegionAndType(String region, String type, String pointStatus, String material_type); List getNoTaskPointByRegionAndTypeCp(String region, String type, String pointStatus); diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.xml index 83ccce9..5be8e62 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBasePointMapper.xml @@ -204,6 +204,10 @@ AND (t.point_code1 = p.point_code OR t.point_code2 = p.point_code OR t.point_code3 = p.point_code OR t.point_code4 = p.point_code) AND '5' > t.task_status) + + AND + p.ext_point_code = #{material_type} +