From 92c00a502d443b97129bdf2ac21840843ed50f8d Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Mon, 28 Jul 2025 08:47:42 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MaterialbaseController.java | 7 -- .../service/IMdMeMaterialbaseService.java | 8 -- .../impl/MdMeMaterialbaseServiceImpl.java | 39 -------- .../controller/ErpToWmsController.java | 14 +-- .../nl/wms/ext_manage/enums/EXTConstant.java | 18 +++- .../ext_manage/service/ErpToWmsService.java | 36 ++++--- .../ext_manage/service/WmsToErpService.java | 29 +++--- .../service/impl/AcsToWmsServiceImpl.java | 14 ++- .../service/impl/ErpToWmsServiceImpl.java | 94 ++++++++++++++----- .../service/impl/WmsToErpServiceImpl.java | 37 ++++---- .../ext_manage/service/util/ErpResponse.java | 8 +- .../controller/PdaMoveStorController.java | 52 ++++++++++ .../service/PdaMoveStorService.java | 33 +++++++ .../service/impl/PdaMoveStorServiceImpl.java | 38 ++++++++ .../wms/pm_manage/service/dao/PmFormData.java | 2 + .../pm_manage/service/dto/PmFormDataDto.java | 2 + .../service/IRawAssistIStorService.java | 5 + .../service/dao/mapper/IOStorInvMapper.java | 2 + .../service/dao/mapper/IOStorInvMapper.xml | 55 ++++++++--- .../dao/mapper/StIvtMoveinvdtlMapper.java | 9 ++ .../dao/mapper/StIvtMoveinvdtlMapper.xml | 24 +++++ .../impl/RawAssistIStorServiceImpl.java | 32 +++++++ .../service/impl/RetrunServiceImpl.java | 2 +- .../src/views/wms/st/inbill/DivDialog.vue | 23 +---- .../src/views/wms/st/movebill/index.vue | 8 +- 25 files changed, 413 insertions(+), 178 deletions(-) create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaMoveStorController.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaMoveStorService.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/MaterialbaseController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/MaterialbaseController.java index f45506c..9091ee4 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/MaterialbaseController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/MaterialbaseController.java @@ -64,13 +64,6 @@ public class MaterialbaseController { return new ResponseEntity<>(HttpStatus.OK); } - @PostMapping("/materialSync") - @Log("物料同步") - public ResponseEntity materialSync(@RequestBody JSONObject whereJson) { - iMdMeMaterialbaseService.materialSync(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - @Log("查询物料操作类型") @PostMapping("/getMaterOptType") public ResponseEntity getMaterOptType(@RequestBody Map map) { String materOpt_code = MapUtil.getStr(map, "materOpt_code"); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdMeMaterialbaseService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdMeMaterialbaseService.java index 0002f90..86728ce 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdMeMaterialbaseService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdMeMaterialbaseService.java @@ -44,14 +44,6 @@ public interface IMdMeMaterialbaseService extends IService { */ void delete(Set ids); - /** - * 物料同步 - * @param whereJson { - * -- - * } - */ - void materialSync(JSONObject whereJson); - /** * 根据编码获取物料 * @param material_code 物料编码 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java index 55c6fc9..9c8e0a2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java @@ -105,45 +105,6 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl dataList = resultJson.getJSONArray("data").toJavaList(JSONObject.class); - // 查询是否有相同物料 - List likeMaterList = this.list( - new QueryWrapper().lambda() - .in(MdMeMaterialbase::getMaterial_code, dataList.stream() - .map(row -> row.getString("mater_code")) - .collect(Collectors.toList()) - ) - ); - // 需插入的物料集合 - List materDaoList = new ArrayList<>(); - for (JSONObject json : dataList) { - boolean is_like = likeMaterList.stream() - .anyMatch(row -> row.getMaterial_code().equals(json.getString("mater_code"))); - if (is_like) { - continue; - } - // 组织数据 - MdMeMaterialbase dao = new MdMeMaterialbase(); - dao.setMaterial_id(IdUtil.getStringId()); - dao.setMaterial_code(json.getString("mater_code")); - dao.setMaterial_name(json.getString("mater_name")); - dao.setMaterial_spec(json.getString("spec_dtl")); - dao.setNet_weight(json.getBigDecimal("mater_height")); - dao.setCreate_id(SecurityUtils.getCurrentUserId()); - dao.setCreate_name(SecurityUtils.getCurrentNickName()); - dao.setCreate_time(DateUtil.now()); - dao.setUpdate_optid(SecurityUtils.getCurrentUserId()); - dao.setUpdate_optname(SecurityUtils.getCurrentNickName()); - dao.setUpdate_time(DateUtil.now()); - materDaoList.add(dao); - } - this.saveBatch(materDaoList); - } - @Override public MdMeMaterialbase getByCode(String materialCode) { MdMeMaterialbase one = this.getOne( diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java index 41f4781..1aa40b9 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java @@ -32,17 +32,17 @@ public class ErpToWmsController { @Autowired private ErpToWmsService erpToWmsService; - @PostMapping("/inventory") - @Log("erp查询库存") - @SaIgnore - public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(erpToWmsService.erpQueryIvt(whereJson),HttpStatus.OK); - } - @PostMapping("/groupinfo") @Log("下发组盘信息") @SaIgnore public ResponseEntity sendGroupplate(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(erpToWmsService.sendGroupplate(whereJson),HttpStatus.OK); } + + @PostMapping("/usematerinfo") + @Log("下发用料信息") + @SaIgnore + public ResponseEntity usematerinfo(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(erpToWmsService.usematerinfo(whereJson),HttpStatus.OK); + } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java index 7ae9132..da189c2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java @@ -8,14 +8,24 @@ package org.nl.wms.ext_manage.enums; public class EXTConstant { /** - * 回传ERP接口地址 + * 入库反馈 */ - public final static String UPLOAD_ERP_API = "CamstarApi/MomRollBakeInBound"; + public final static String IN_STOR_INFO = "api/toerp/instorinfo"; /** - * 物料同步ERP接口地址 + * 出库反馈 */ - public final static String MATERIAL_SYNC_ERP_API = "CamstarApi/MomRollBakeInBound"; + public final static String OUT_STOR_INFO = "api/toerp/outstorinfo"; + + /** + * 出库反馈 + */ + public final static String SUCCESS = "S"; + + /** + * 出库反馈 + */ + public final static String ERROR = "E"; /** * ACS下发任务接口地址 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/ErpToWmsService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/ErpToWmsService.java index 864aeec..e252293 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/ErpToWmsService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/ErpToWmsService.java @@ -13,33 +13,43 @@ import org.nl.wms.ext_manage.service.util.ErpResponse; */ public interface ErpToWmsService { + /** - * erp查询库存 - * @param whereJson { - * mater_code: 物料编码(可为空) - * stor_code: 仓库编码(可为空) - * point_code: 货位编码(可为空) + * 下发组盘单据 + * @param whereJson: { + * data : [ + * { + * mater_code:物料编码 + * mater_name:物料名称 + * pallet_sn:托盘号 + * mater_frame:料框号 + * qty:数量 + * unit_code:计量单位 + * order_code:单据号 + * order_type:单据类型 + * } + * ] * } * @return ErpResponse */ - ErpResponse erpQueryIvt(JSONObject whereJson); + ErpResponse sendGroupplate(JSONObject whereJson); /** - * 下发组盘单据 + * 下发用料信息 * @param whereJson: { * data : [ * { * mater_code:物料编码 - * vehicle_code:托盘号 - * vehicle_code2:料框号 - * quantity:数量 + * mater_name:物料名称 + * out_code:车间编号 + * qty:数量 * unit_code:计量单位 - * ext_code:单据号 - * ext_type:单据类型 + * order_code:单据号 + * order_type:单据类型 * } * ] * } * @return ErpResponse */ - ErpResponse sendGroupplate(JSONObject whereJson); + ErpResponse usematerinfo(JSONObject whereJson); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/WmsToErpService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/WmsToErpService.java index f529ddb..ca1fda7 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/WmsToErpService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/WmsToErpService.java @@ -15,32 +15,37 @@ public interface WmsToErpService { /** * 出入库单据回传 * @param whereJson { - * data: [] + * { + * "order_code": "3000000056", + * "order_type": "03", + * "pallet_sn": "zp0000000003", + * "instor_time": "2025-07-21 23:23:01", + * "qty": "120.00" + * } * } * @return JSONObject { * status: 200 / !=200 * message: 信息 * } */ - JSONObject uploadErp(JSONObject whereJson); + JSONObject instorinfoToErp(JSONObject whereJson); /** * 物料同步 * @param whereJson { - * -- + * + * "order_code": "3000000056", + * "order_type": "03", + * "pallet_sn": "zp0000000003", + * "outstor_time": "2025-07-21 23:23:01", + * "qty": "120.00", + * "out_code": "s0001" + * * } * @return JSONObject:{ * status:状态码 * message:错误信息 - * data: [ - * mater_code:物料编码 - * mater_name:物料名称 - * type_code:物料类型编码 - * type_name:物料类型名称 - * spec_dtl:物料规格 - * mater_height:物料单重 - * ] * } */ - JSONObject materialSync(JSONObject whereJson); + JSONObject outstorinfoToErp(JSONObject whereJson); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/AcsToWmsServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/AcsToWmsServiceImpl.java index 4e16342..e60dd7c 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/AcsToWmsServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/AcsToWmsServiceImpl.java @@ -18,6 +18,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.TaskFactory; import org.nl.wms.warehouse_manage.enums.IOSEnum; +import org.nl.wms.warehouse_manage.service.IRawAssistIStorService; import org.nl.wms.warehouse_manage.service.dao.GroupPlate; import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper; import org.redisson.api.RLock; @@ -55,6 +56,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Autowired private ISchBaseTaskService iSchBaseTaskService; + @Autowired + private IRawAssistIStorService iRawAssistIStorService; + @Resource private PmFormDataMapper pmFormDataMapper; /** @@ -122,7 +126,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { param.put("user_id", "3"); param.put("person_name","ACS"); try { - result = this.applyInTask(param); + this.applyInTask(param); + result.put("status", HttpStatus.OK.value()); + result.put("message", "申请任务成功!"); } catch (Exception e) { log.error("ACS请求LMS出现错误: {}{}", e,e.getMessage()); result.put("status", HttpStatus.BAD_REQUEST.value()); @@ -137,7 +143,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { * @param param * @throws BadRequestException */ - public JSONObject applyInTask(JSONObject param) throws BadRequestException { + public void applyInTask(JSONObject param) throws BadRequestException { JSONObject result = new JSONObject(); log.info("ACS请求apply参数: {}", param); // 申请任务 @@ -170,9 +176,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { //todo 查询组盘数据,生成入库单,自动分配,生成任务 - //String task_code =taskService.create(task); - //result.put("task_code",task_code); - return result; + iRawAssistIStorService.AutoCreateBill(param); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java index b0ec0ff..23e2277 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java @@ -12,14 +12,12 @@ import org.nl.wms.basedata_manage.service.IMdPbMeasureunitService; import org.nl.wms.basedata_manage.service.dao.BsrealStorattr; 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.mapper.MdPbStoragevehicleextMapper; import org.nl.wms.ext_manage.service.ErpToWmsService; import org.nl.wms.ext_manage.service.util.ErpResponse; import org.nl.wms.pm_manage.service.IPmFormDataService; import org.nl.wms.pm_manage.service.dao.PmFormData; import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService; -import org.nl.wms.warehouse_manage.service.IOutBillService; import org.nl.wms.warehouse_manage.service.dao.GroupPlate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -64,25 +62,6 @@ public class ErpToWmsServiceImpl implements ErpToWmsService { @Autowired private IMdPbMeasureunitService iMdPbMeasureunitService; - /** - * 载具扩展属性mapper - */ - @Autowired - private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper; - - /** - * 出库服务 - */ - @Autowired - private IOutBillService iOutBillService; - - @Override - public ErpResponse erpQueryIvt(JSONObject whereJson) { - log.info("erpQueryIvt查询物料接口输入参数为:-------------------" + whereJson.toString()); - ErpResponse erpResponse = ErpResponse.requestParamOk(mdPbStoragevehicleextMapper.erpQueryIvt(whereJson)); - log.info("erpQueryIvt查询物料接口输出参数为:-------------------" + erpResponse.toString()); - return erpResponse; - } @Override public ErpResponse sendGroupplate(JSONObject whereJson) { @@ -174,4 +153,77 @@ public class ErpToWmsServiceImpl implements ErpToWmsService { log.info("sendGroupplate下发组盘接口输出参数为:-------------------" + ErpResponse.requestOk().toString()); return ErpResponse.requestOk(); } + + @Override + public ErpResponse usematerinfo(JSONObject whereJson) { + /** + * data : [ + * { + * mater_code:物料编码 + * mater_name:物料名称 + * out_code:车间编号 + * qty:数量 + * unit_code:计量单位 + * order_code:单据号 + * order_type:单据类型 + * } + * ] + */ + log.info("usematerinfo接口输入参数为:-------------------" + whereJson.toString()); + // 查询仓库 + BsrealStorattr storDao = iBsrealStorattrService.findByCode("GW"); + if (storDao == null) { + throw new BadRequestException("仓库不存在"); + } + // 组织明细 + List dataList = whereJson.getJSONArray("data").toJavaList(JSONObject.class); + // 查询所有物料 + List materDaoList = iMdMeMaterialbaseService.list( + new QueryWrapper().lambda() + .in(MdMeMaterialbase::getMaterial_code, dataList.stream() + .map(row -> row.getString("mater_code")) + .collect(Collectors.toList()) + ) + ); + // 查询所有计量单位 + List unitDaoList = iMdPbMeasureunitService.list( + new QueryWrapper().lambda() + .in(MdPbMeasureunit::getUnit_code, dataList.stream() + .map(row -> row.getString("unit_code")) + .collect(Collectors.toList())) + ); + // 明细集合 + List dtlArr = new ArrayList<>(); + for (JSONObject json : dataList) { + PmFormData jsonDtl = new PmFormData(); + MdMeMaterialbase materDao = materDaoList.stream() + .filter(row -> row.getMaterial_code().equals(json.getString("mater_code"))) + .findFirst().orElse(null); + jsonDtl.setId(IdUtil.getStringId()); + jsonDtl.setCode(json.getString("order_code")); + jsonDtl.setStatus(IOSEnum.BILL_STATUS.code("生成")); + jsonDtl.setStor_id(storDao.getStor_id()); + jsonDtl.setStor_name(storDao.getStor_name()); + jsonDtl.setForm_type(json.getString("order_type")); + jsonDtl.setSource_form_date(DateUtil.today()); + jsonDtl.setMaterial_code(json.getString("mater_code")); + jsonDtl.setMaterial_id(materDao.getMaterial_id()); + jsonDtl.setQty(BigDecimal.valueOf(json.getDoubleValue("qty"))); + jsonDtl.setPlan_qty(BigDecimal.valueOf(json.getDoubleValue("qty"))); + MdPbMeasureunit unitDao = unitDaoList.stream() + .filter(row -> row.getUnit_code().equals(json.getString("unit_code"))) + .findFirst().orElse(null); + jsonDtl.setUnit_id(unitDao.getMeasure_unit_id()); + jsonDtl.setUnit_name(unitDao.getUnit_name()); + jsonDtl.setCreate_name("ERP"); + jsonDtl.setCreate_time(DateUtil.now()); + jsonDtl.setOut_code(json.getString("out_code")); + dtlArr.add(jsonDtl); + } + //保存单据表 + iPmFormDataService.saveBatch(dtlArr); + + log.info("usematerinfo输出参数为:-------------------" + ErpResponse.requestOk().toString()); + return ErpResponse.requestOk(); + } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/WmsToErpServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/WmsToErpServiceImpl.java index 9554590..47cacd5 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/WmsToErpServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/WmsToErpServiceImpl.java @@ -9,39 +9,32 @@ import org.nl.wms.system_manage.enums.SysParamConstant; import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext_manage.enums.EXTConstant; import org.nl.wms.ext_manage.service.WmsToErpService; -import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; -/** - *

- * WMS调用ERP 实现类 - *

- * - * @author Liuxy - * @since 2025-06-03 - */ + @Service @Slf4j public class WmsToErpServiceImpl implements WmsToErpService { @Override - public JSONObject uploadErp(JSONObject whereJson) { - log.info("uploadErp回传接口输入参数为:-------------------" + whereJson.toString()); + public JSONObject instorinfoToErp(JSONObject whereJson) { + log.info("instorinfoToErp回传接口输入参数为:-------------------" + whereJson.toString()); JSONObject result = new JSONObject(); String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue(); - url = url + EXTConstant.UPLOAD_ERP_API; + url = url + EXTConstant.IN_STOR_INFO; try { String resultMsg = HttpRequest.post(url) .body(String.valueOf(whereJson)) .execute().body(); result = JSONObject.parseObject(resultMsg); - log.info("uploadErp回传接口输出参数为:-------------------" + result.toString()); + log.info("instorinfoToErp回传接口输出参数为:-------------------" + result.toString()); + - Integer status = result.getInteger("status"); - if (status != HttpStatus.OK.value()) { + String status = result.getString("status"); + if (!EXTConstant.ERROR.equals(status)) { throw new BadRequestException(result.getString("message")); } @@ -53,23 +46,24 @@ public class WmsToErpServiceImpl implements WmsToErpService { } @Override - public JSONObject materialSync(JSONObject whereJson) { - log.info("materialSync物料同步接口输入参数为:-------------------" + whereJson.toString()); + public JSONObject outstorinfoToErp(JSONObject whereJson) { + log.info("outstorinfoToErp回传接口输入参数为:-------------------" + whereJson.toString()); JSONObject result = new JSONObject(); String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue(); - url = url + EXTConstant.MATERIAL_SYNC_ERP_API; + url = url + EXTConstant.OUT_STOR_INFO; try { String resultMsg = HttpRequest.post(url) .body(String.valueOf(whereJson)) .execute().body(); result = JSONObject.parseObject(resultMsg); - log.info("materialSync物料同步输出参数为:-------------------" + result.toString()); + log.info("outstorinfoToErp回传接口输出参数为:-------------------" + result.toString()); - Integer status = result.getInteger("status"); - if (status != HttpStatus.OK.value()) { + + String status = result.getString("status"); + if (!EXTConstant.ERROR.equals(status)) { throw new BadRequestException(result.getString("message")); } @@ -77,5 +71,6 @@ public class WmsToErpServiceImpl implements WmsToErpService { throw new BadRequestException("ERP提示错误:" + e.getMessage()); } return result; + } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/util/ErpResponse.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/util/ErpResponse.java index 90d89b0..b5b43a5 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/util/ErpResponse.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/util/ErpResponse.java @@ -22,7 +22,7 @@ public class ErpResponse { /** * 状态码 */ - private Integer status; + private String status; /** * 信息 @@ -40,7 +40,7 @@ public class ErpResponse { */ public static ErpResponse requestOk() { return ErpResponse.builder() - .status(HttpStatus.HTTP_OK) + .status("S") .message("请求成功!") .build(); } @@ -51,7 +51,7 @@ public class ErpResponse { */ public static ErpResponse requestParamOk(List list) { return ErpResponse.builder() - .status(HttpStatus.HTTP_OK) + .status("S") .message("请求成功!") .data(list) .build(); @@ -63,7 +63,7 @@ public class ErpResponse { */ public static ErpResponse requestError(String message) { return ErpResponse.builder() - .status(HttpStatus.HTTP_BAD_REQUEST) + .status("E") .message(message) .build(); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaMoveStorController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaMoveStorController.java new file mode 100644 index 0000000..428a272 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaMoveStorController.java @@ -0,0 +1,52 @@ +package org.nl.wms.pda_manage.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_manage.ios_manage.service.PdaMoveStorService; +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; + +import static org.nl.common.utils.ValidationUtil.assertNotBlankJson; + +/** + * 手持入库管理 + * + * @author Liuxy + * @since 2025-06-06 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/pda/movestor") +@Slf4j +@SaIgnore +public class PdaMoveStorController { + + @Autowired + private PdaMoveStorService pdaMoveStorService; + + + @PostMapping("/move") + @Log("移库确认") + public ResponseEntity move(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaMoveStorService.move(whereJson),HttpStatus.OK); + } + + /** + * 组盘入库获取物料明细 + */ + @PostMapping("/querydtl") + @Log("组盘入库获取物料明细") + public ResponseEntity querydtl(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaMoveStorService.querydtl(whereJson),HttpStatus.OK); + } + +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaMoveStorService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaMoveStorService.java new file mode 100644 index 0000000..abd062b --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaMoveStorService.java @@ -0,0 +1,33 @@ +package org.nl.wms.pda_manage.ios_manage.service; + +import com.alibaba.fastjson.JSONObject; +import org.nl.wms.pda_manage.util.PdaResponse; + +import java.util.List; + +/** + *

+ * 手持IOS 服务类 + *

+ * + * @author Liuxy + * @since 2025-06-05 + */ +public interface PdaMoveStorService { + + + + /** + * 组盘确认 + * @return PdaResponse + */ + PdaResponse move(JSONObject whereJson); + + + /** + * 查询组盘物料明细 + * + * @return PdaResponse + */ + List querydtl(JSONObject whereJson); +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java new file mode 100644 index 0000000..777f4d2 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java @@ -0,0 +1,38 @@ +package org.nl.wms.pda_manage.ios_manage.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import org.nl.wms.pda_manage.ios_manage.service.PdaMoveStorService; +import org.nl.wms.pda_manage.util.PdaResponse; +import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper; +import org.nl.wms.warehouse_manage.service.dao.mapper.StIvtMoveinvdtlMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; + + +@Service +public class PdaMoveStorServiceImpl implements PdaMoveStorService { + + @Resource + private StIvtMoveinvdtlMapper stIvtMoveinvdtlMapper; + + @Override + public PdaResponse move(JSONObject whereJson) { + // 移出货位编码 + String struct_code = whereJson.getString("struct_code"); + // 载具号 + String vehicle_code = whereJson.getString("vehicle_code"); + // 移入货位 + String move_struct_code = whereJson.getString("move_struct_code"); + + return PdaResponse.requestOk(); + } + + @Override + public List querydtl(JSONObject whereJson) { + return stIvtMoveinvdtlMapper.querydtl(whereJson); + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java index 9169f04..7fc8425 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java @@ -170,6 +170,8 @@ public class PmFormData implements Serializable { private String new_merge_flag; + private String out_code; + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java index fc766bb..b76384a 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java @@ -149,6 +149,8 @@ public class PmFormDataDto implements Serializable { private String new_merge_flag; + private String out_code; + /** * 关联上级表单id */ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/IRawAssistIStorService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/IRawAssistIStorService.java index 27deb03..d04e459 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/IRawAssistIStorService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/IRawAssistIStorService.java @@ -57,4 +57,9 @@ public interface IRawAssistIStorService extends IService { List getInBillTaskDtl(Map whereJson); Structattr getStructattr(JSONObject param); + + /** + * 扫码入库自动生成入库单 + */ + void AutoCreateBill(JSONObject param); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.java index c63b3d0..4cfeb73 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.java @@ -22,6 +22,8 @@ public interface IOStorInvMapper extends BaseMapper { IPage getGroupPlate (IPage page, @Param("params") Map whereJson); + List getGroupByPlate (@Param("params") Map whereJson); + List getIODtl (@Param("params") Map whereJson); IPage queryOutBillPage (IPage page,@Param("params") Map whereJson); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.xml index bfaa79e..768e535 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.xml @@ -48,20 +48,23 @@ + + + + diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java index 528f8bf..0a82962 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java @@ -748,4 +748,36 @@ public class RawAssistIStorServiceImpl extends ServiceImpl list = ioStorInvMapper.getGroupByPlate(param); + + JSONObject form = new JSONObject(); + // 查询仓库 + BsrealStorattr storDao = iBsrealStorattrService.findByCode("GW"); + form.put("stor_id",storDao.getStor_id()); + form.put("bill_type",IOSEnum.BILL_TYPE.code("生产入库")); + form.put("biz_date",DateUtil.now()); + + form.put("remark",""); + form.put("bill_status",IOSEnum.BILL_STATUS.code("生成")); + form.put("tableData",list); + //新增入库单 + String iostorinv_id = this.insertDtl(form); + //根据分配明细分配仓位 + IOStorInvDis dis = ioStorInvDisMapper.selectOne(new LambdaQueryWrapper<>(IOStorInvDis.class) + .eq(IOStorInvDis::getIostorinv_id,iostorinv_id)); + JSONObject dis_form = new JSONObject(); + dis_form.put("tableMater",dis); + dis_form.put("stor_code",storDao.getStor_code()); + dis_form.put("sect_code",""); + //分配货位 + this.divStruct(dis_form); + dis_form.put("point_code",device_code); + //生成任务 + this.divPoint(dis_form);; + } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RetrunServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RetrunServiceImpl.java index 5d5622c..28e4c7a 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RetrunServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RetrunServiceImpl.java @@ -160,7 +160,7 @@ public class RetrunServiceImpl extends ServiceImpl i } JSONObject jsonParam = new JSONObject(); jsonParam.put("data", paramList); - wmsToErpService.uploadErp(jsonParam); + wmsToErpService.instorinfoToErp(jsonParam); // 更新主表 this.update( diff --git a/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue b/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue index fa4d219..545664e 100644 --- a/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue +++ b/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue @@ -189,7 +189,7 @@ import CRUD, { crud } from '@crud/crud' import crudSectattr from '@/views/wms/basedata/sectattr/sectattr' import StructDiv from '@/views/wms/pub/StructDialog' -import crudRawAssist, { allDivStruct } from '@/views/wms/st/inbill/rawassist' +import crudRawAssist from '@/views/wms/st/inbill/rawassist' import crudPoint from '@/views/wms/sch/point/schBasePoint' export default { @@ -291,27 +291,6 @@ export default { tableRowClassName({ row, rowIndex }) { row.index = rowIndex }, - deleteRow(index, rows) { - // 如果桶状态不是生成调后台逻辑 - if (rows[index].status !== '01') { - crudRawAssist.deleteDisDtl(rows[index]).then(res => { - crudRawAssist.getIODtl({ 'bill_code': this.form.dtl_row.bill_code, 'open_flag': '1' }).then(res => { - this.openParam = res - }) - crudRawAssist.getDisDtl(this.form.dtl_row).then(res => { - this.form.tableMater = res - }) - rows[index].pop = false - }).catch(err => { - rows[index].pop = false - return - }) - } - this.form.dtl_row.assign_qty = parseFloat(this.form.dtl_row.assign_qty) - parseFloat(rows[index].storage_qty) - this.form.dtl_row.unassign_qty = parseFloat(this.form.dtl_row.unassign_qty) + parseFloat(rows[index].storage_qty) - this.openParam.splice(this.form.dtl_row.index, 1, this.form.dtl_row) - rows.splice(index, 1) - }, sectQueryChange(val) { this.sectProp = val if (val.length === 1) { diff --git a/nladmin-ui/src/views/wms/st/movebill/index.vue b/nladmin-ui/src/views/wms/st/movebill/index.vue index 8743bfa..32ff55d 100644 --- a/nladmin-ui/src/views/wms/st/movebill/index.vue +++ b/nladmin-ui/src/views/wms/st/movebill/index.vue @@ -27,13 +27,13 @@ size="mini" placeholder="全部" class="filter-item" - @change="crud.toQuery" + @change="hand2" > @@ -280,6 +280,10 @@ export default { create_modeFormat(row) { return this.dict.label.ST_CREATE_MODE[row.create_mode] }, + hand2(value) { + debugger + this.crud.notify(value, CRUD.NOTIFICATION_TYPE.SUCCESS) + }, handleSelectionChange(val, row) { if (val.length > 1) { this.$refs.table.clearSelection()