Browse Source

opt:优化

master
张东升 1 week ago
parent
commit
92c00a502d
  1. 7
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/MaterialbaseController.java
  2. 8
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdMeMaterialbaseService.java
  3. 39
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java
  4. 14
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java
  5. 18
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java
  6. 36
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/ErpToWmsService.java
  7. 29
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/WmsToErpService.java
  8. 14
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/AcsToWmsServiceImpl.java
  9. 94
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpToWmsServiceImpl.java
  10. 37
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/impl/WmsToErpServiceImpl.java
  11. 8
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/util/ErpResponse.java
  12. 52
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaMoveStorController.java
  13. 33
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaMoveStorService.java
  14. 38
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java
  15. 2
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormData.java
  16. 2
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dto/PmFormDataDto.java
  17. 5
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/IRawAssistIStorService.java
  18. 2
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.java
  19. 55
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.xml
  20. 9
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/StIvtMoveinvdtlMapper.java
  21. 24
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/StIvtMoveinvdtlMapper.xml
  22. 32
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RawAssistIStorServiceImpl.java
  23. 2
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/RetrunServiceImpl.java
  24. 23
      nladmin-ui/src/views/wms/st/inbill/DivDialog.vue
  25. 8
      nladmin-ui/src/views/wms/st/movebill/index.vue

7
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); return new ResponseEntity<>(HttpStatus.OK);
} }
@PostMapping("/materialSync")
@Log("物料同步")
public ResponseEntity<Object> materialSync(@RequestBody JSONObject whereJson) {
iMdMeMaterialbaseService.materialSync(whereJson);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("查询物料操作类型")
@PostMapping("/getMaterOptType") @PostMapping("/getMaterOptType")
public ResponseEntity<Object> getMaterOptType(@RequestBody Map map) { public ResponseEntity<Object> getMaterOptType(@RequestBody Map map) {
String materOpt_code = MapUtil.getStr(map, "materOpt_code"); String materOpt_code = MapUtil.getStr(map, "materOpt_code");

8
nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IMdMeMaterialbaseService.java

@ -44,14 +44,6 @@ public interface IMdMeMaterialbaseService extends IService<MdMeMaterialbase> {
*/ */
void delete(Set<String> ids); void delete(Set<String> ids);
/**
* 物料同步
* @param whereJson {
* --
* }
*/
void materialSync(JSONObject whereJson);
/** /**
* 根据编码获取物料 * 根据编码获取物料
* @param material_code 物料编码 * @param material_code 物料编码

39
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<MdMeMaterialbaseMap
this.baseMapper.deleteBatchIds(ids); this.baseMapper.deleteBatchIds(ids);
} }
@Override
@Transactional
public void materialSync(JSONObject whereJson) {
JSONObject resultJson = wmsToErpService.materialSync(whereJson);
List<JSONObject> dataList = resultJson.getJSONArray("data").toJavaList(JSONObject.class);
// 查询是否有相同物料
List<MdMeMaterialbase> likeMaterList = this.list(
new QueryWrapper<MdMeMaterialbase>().lambda()
.in(MdMeMaterialbase::getMaterial_code, dataList.stream()
.map(row -> row.getString("mater_code"))
.collect(Collectors.toList())
)
);
// 需插入的物料集合
List<MdMeMaterialbase> 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 @Override
public MdMeMaterialbase getByCode(String materialCode) { public MdMeMaterialbase getByCode(String materialCode) {
MdMeMaterialbase one = this.getOne( MdMeMaterialbase one = this.getOne(

14
nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/controller/ErpToWmsController.java

@ -32,17 +32,17 @@ public class ErpToWmsController {
@Autowired @Autowired
private ErpToWmsService erpToWmsService; private ErpToWmsService erpToWmsService;
@PostMapping("/inventory")
@Log("erp查询库存")
@SaIgnore
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(erpToWmsService.erpQueryIvt(whereJson),HttpStatus.OK);
}
@PostMapping("/groupinfo") @PostMapping("/groupinfo")
@Log("下发组盘信息") @Log("下发组盘信息")
@SaIgnore @SaIgnore
public ResponseEntity<Object> sendGroupplate(@RequestBody JSONObject whereJson) { public ResponseEntity<Object> sendGroupplate(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(erpToWmsService.sendGroupplate(whereJson),HttpStatus.OK); return new ResponseEntity<>(erpToWmsService.sendGroupplate(whereJson),HttpStatus.OK);
} }
@PostMapping("/usematerinfo")
@Log("下发用料信息")
@SaIgnore
public ResponseEntity<Object> usematerinfo(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(erpToWmsService.usematerinfo(whereJson),HttpStatus.OK);
}
} }

18
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 { 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下发任务接口地址 * ACS下发任务接口地址

36
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 { public interface ErpToWmsService {
/** /**
* erp查询库存 * 下发组盘单据
* @param whereJson { * @param whereJson {
* mater_code 物料编码可为空 * data : [
* stor_code 仓库编码可为空 * {
* point_code 货位编码可为空 * mater_code物料编码
* mater_name物料名称
* pallet_sn托盘号
* mater_frame料框号
* qty数量
* unit_code计量单位
* order_code单据号
* order_type单据类型
* }
* ]
* } * }
* @return ErpResponse * @return ErpResponse
*/ */
ErpResponse erpQueryIvt(JSONObject whereJson); ErpResponse sendGroupplate(JSONObject whereJson);
/** /**
* 下发组盘单据 * 下发用料信息
* @param whereJson { * @param whereJson {
* data : [ * data : [
* { * {
* mater_code物料编码 * mater_code物料编码
* vehicle_code托盘号 * mater_name物料名称
* vehicle_code2料框 * out_code车间编
* quantity数量 * qty数量
* unit_code计量单位 * unit_code计量单位
* ext_code单据号 * order_code单据号
* ext_type单据类型 * order_type单据类型
* } * }
* ] * ]
* } * }
* @return ErpResponse * @return ErpResponse
*/ */
ErpResponse sendGroupplate(JSONObject whereJson); ErpResponse usematerinfo(JSONObject whereJson);
} }

29
nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext_manage/service/WmsToErpService.java

@ -15,32 +15,37 @@ public interface WmsToErpService {
/** /**
* 出入库单据回传 * 出入库单据回传
* @param whereJson { * @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 { * @return JSONObject {
* status: 200 / !=200 * status: 200 / !=200
* message 信息 * message 信息
* } * }
*/ */
JSONObject uploadErp(JSONObject whereJson); JSONObject instorinfoToErp(JSONObject whereJson);
/** /**
* 物料同步 * 物料同步
* @param 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{ * @return JSONObject{
* status状态码 * status状态码
* message错误信息 * message错误信息
* data: [
* mater_code:物料编码
* mater_name:物料名称
* type_code:物料类型编码
* type_name:物料类型名称
* spec_dtl:物料规格
* mater_height:物料单重
* ]
* } * }
*/ */
JSONObject materialSync(JSONObject whereJson); JSONObject outstorinfoToErp(JSONObject whereJson);
} }

14
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.AbstractTask;
import org.nl.wms.sch_manage.service.util.TaskFactory; import org.nl.wms.sch_manage.service.util.TaskFactory;
import org.nl.wms.warehouse_manage.enums.IOSEnum; 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.GroupPlate;
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper; import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
import org.redisson.api.RLock; import org.redisson.api.RLock;
@ -55,6 +56,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Autowired @Autowired
private ISchBaseTaskService iSchBaseTaskService; private ISchBaseTaskService iSchBaseTaskService;
@Autowired
private IRawAssistIStorService iRawAssistIStorService;
@Resource @Resource
private PmFormDataMapper pmFormDataMapper; private PmFormDataMapper pmFormDataMapper;
/** /**
@ -122,7 +126,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
param.put("user_id", "3"); param.put("user_id", "3");
param.put("person_name","ACS"); param.put("person_name","ACS");
try { try {
result = this.applyInTask(param); this.applyInTask(param);
result.put("status", HttpStatus.OK.value());
result.put("message", "申请任务成功!");
} catch (Exception e) { } catch (Exception e) {
log.error("ACS请求LMS出现错误: {}{}", e,e.getMessage()); log.error("ACS请求LMS出现错误: {}{}", e,e.getMessage());
result.put("status", HttpStatus.BAD_REQUEST.value()); result.put("status", HttpStatus.BAD_REQUEST.value());
@ -137,7 +143,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
* @param param * @param param
* @throws BadRequestException * @throws BadRequestException
*/ */
public JSONObject applyInTask(JSONObject param) throws BadRequestException { public void applyInTask(JSONObject param) throws BadRequestException {
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
log.info("ACS请求apply参数: {}", param); log.info("ACS请求apply参数: {}", param);
// 申请任务 // 申请任务
@ -170,9 +176,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
//todo 查询组盘数据,生成入库单,自动分配,生成任务 //todo 查询组盘数据,生成入库单,自动分配,生成任务
//String task_code =taskService.create(task); iRawAssistIStorService.AutoCreateBill(param);
//result.put("task_code",task_code);
return result;
} }
} }

94
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.BsrealStorattr;
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; 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.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.ErpToWmsService;
import org.nl.wms.ext_manage.service.util.ErpResponse; import org.nl.wms.ext_manage.service.util.ErpResponse;
import org.nl.wms.pm_manage.service.IPmFormDataService; import org.nl.wms.pm_manage.service.IPmFormDataService;
import org.nl.wms.pm_manage.service.dao.PmFormData; import org.nl.wms.pm_manage.service.dao.PmFormData;
import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService; 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.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -64,25 +62,6 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
@Autowired @Autowired
private IMdPbMeasureunitService iMdPbMeasureunitService; 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 @Override
public ErpResponse sendGroupplate(JSONObject whereJson) { public ErpResponse sendGroupplate(JSONObject whereJson) {
@ -174,4 +153,77 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
log.info("sendGroupplate下发组盘接口输出参数为:-------------------" + ErpResponse.requestOk().toString()); log.info("sendGroupplate下发组盘接口输出参数为:-------------------" + ErpResponse.requestOk().toString());
return ErpResponse.requestOk(); 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<JSONObject> dataList = whereJson.getJSONArray("data").toJavaList(JSONObject.class);
// 查询所有物料
List<MdMeMaterialbase> materDaoList = iMdMeMaterialbaseService.list(
new QueryWrapper<MdMeMaterialbase>().lambda()
.in(MdMeMaterialbase::getMaterial_code, dataList.stream()
.map(row -> row.getString("mater_code"))
.collect(Collectors.toList())
)
);
// 查询所有计量单位
List<MdPbMeasureunit> unitDaoList = iMdPbMeasureunitService.list(
new QueryWrapper<MdPbMeasureunit>().lambda()
.in(MdPbMeasureunit::getUnit_code, dataList.stream()
.map(row -> row.getString("unit_code"))
.collect(Collectors.toList()))
);
// 明细集合
List<PmFormData> 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();
}
} }

37
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.system_manage.service.param.impl.SysParamServiceImpl;
import org.nl.wms.ext_manage.enums.EXTConstant; import org.nl.wms.ext_manage.enums.EXTConstant;
import org.nl.wms.ext_manage.service.WmsToErpService; import org.nl.wms.ext_manage.service.WmsToErpService;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/**
* <p>
* WMS调用ERP 实现类
* </p>
*
* @author Liuxy
* @since 2025-06-03
*/
@Service @Service
@Slf4j @Slf4j
public class WmsToErpServiceImpl implements WmsToErpService { public class WmsToErpServiceImpl implements WmsToErpService {
@Override @Override
public JSONObject uploadErp(JSONObject whereJson) { public JSONObject instorinfoToErp(JSONObject whereJson) {
log.info("uploadErp回传接口输入参数为:-------------------" + whereJson.toString()); log.info("instorinfoToErp回传接口输入参数为:-------------------" + whereJson.toString());
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue(); String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue();
url = url + EXTConstant.UPLOAD_ERP_API; url = url + EXTConstant.IN_STOR_INFO;
try { try {
String resultMsg = HttpRequest.post(url) String resultMsg = HttpRequest.post(url)
.body(String.valueOf(whereJson)) .body(String.valueOf(whereJson))
.execute().body(); .execute().body();
result = JSONObject.parseObject(resultMsg); result = JSONObject.parseObject(resultMsg);
log.info("uploadErp回传接口输出参数为:-------------------" + result.toString()); log.info("instorinfoToErp回传接口输出参数为:-------------------" + result.toString());
Integer status = result.getInteger("status"); String status = result.getString("status");
if (status != HttpStatus.OK.value()) { if (!EXTConstant.ERROR.equals(status)) {
throw new BadRequestException(result.getString("message")); throw new BadRequestException(result.getString("message"));
} }
@ -53,23 +46,24 @@ public class WmsToErpServiceImpl implements WmsToErpService {
} }
@Override @Override
public JSONObject materialSync(JSONObject whereJson) { public JSONObject outstorinfoToErp(JSONObject whereJson) {
log.info("materialSync物料同步接口输入参数为:-------------------" + whereJson.toString()); log.info("outstorinfoToErp回传接口输入参数为:-------------------" + whereJson.toString());
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue(); 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 { try {
String resultMsg = HttpRequest.post(url) String resultMsg = HttpRequest.post(url)
.body(String.valueOf(whereJson)) .body(String.valueOf(whereJson))
.execute().body(); .execute().body();
result = JSONObject.parseObject(resultMsg); 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")); throw new BadRequestException(result.getString("message"));
} }
@ -77,5 +71,6 @@ public class WmsToErpServiceImpl implements WmsToErpService {
throw new BadRequestException("ERP提示错误:" + e.getMessage()); throw new BadRequestException("ERP提示错误:" + e.getMessage());
} }
return result; return result;
} }
} }

8
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() { public static ErpResponse requestOk() {
return ErpResponse.builder() return ErpResponse.builder()
.status(HttpStatus.HTTP_OK) .status("S")
.message("请求成功!") .message("请求成功!")
.build(); .build();
} }
@ -51,7 +51,7 @@ public class ErpResponse {
*/ */
public static ErpResponse requestParamOk(List<JSONObject> list) { public static ErpResponse requestParamOk(List<JSONObject> list) {
return ErpResponse.builder() return ErpResponse.builder()
.status(HttpStatus.HTTP_OK) .status("S")
.message("请求成功!") .message("请求成功!")
.data(list) .data(list)
.build(); .build();
@ -63,7 +63,7 @@ public class ErpResponse {
*/ */
public static ErpResponse requestError(String message) { public static ErpResponse requestError(String message) {
return ErpResponse.builder() return ErpResponse.builder()
.status(HttpStatus.HTTP_BAD_REQUEST) .status("E")
.message(message) .message(message)
.build(); .build();
} }

52
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<Object> move(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaMoveStorService.move(whereJson),HttpStatus.OK);
}
/**
* 组盘入库获取物料明细
*/
@PostMapping("/querydtl")
@Log("组盘入库获取物料明细")
public ResponseEntity<Object> querydtl(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(pdaMoveStorService.querydtl(whereJson),HttpStatus.OK);
}
}

33
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;
/**
* <p>
* 手持IOS 服务类
* </p>
*
* @author Liuxy
* @since 2025-06-05
*/
public interface PdaMoveStorService {
/**
* 组盘确认
* @return PdaResponse
*/
PdaResponse move(JSONObject whereJson);
/**
* 查询组盘物料明细
*
* @return PdaResponse
*/
List<JSONObject> querydtl(JSONObject whereJson);
}

38
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<JSONObject> querydtl(JSONObject whereJson) {
return stIvtMoveinvdtlMapper.querydtl(whereJson);
}
}

2
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 new_merge_flag;
private String out_code;
} }

2
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 new_merge_flag;
private String out_code;
/** /**
* 关联上级表单id * 关联上级表单id
*/ */

5
nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/IRawAssistIStorService.java

@ -57,4 +57,9 @@ public interface IRawAssistIStorService extends IService<IOStorInv> {
List<IOStorInvDisDto> getInBillTaskDtl(Map whereJson); List<IOStorInvDisDto> getInBillTaskDtl(Map whereJson);
Structattr getStructattr(JSONObject param); Structattr getStructattr(JSONObject param);
/**
* 扫码入库自动生成入库单
*/
void AutoCreateBill(JSONObject param);
} }

2
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<IOStorInv> {
IPage<GroupPlateDto> getGroupPlate (IPage<GroupPlateDto> page, @Param("params") Map whereJson); IPage<GroupPlateDto> getGroupPlate (IPage<GroupPlateDto> page, @Param("params") Map whereJson);
List<GroupPlateDto> getGroupByPlate (@Param("params") Map whereJson);
List<IOStorInvDtlDto> getIODtl (@Param("params") Map whereJson); List<IOStorInvDtlDto> getIODtl (@Param("params") Map whereJson);
IPage<IOStorInv> queryOutBillPage (IPage<IOStorInv> page,@Param("params") Map whereJson); IPage<IOStorInv> queryOutBillPage (IPage<IOStorInv> page,@Param("params") Map whereJson);

55
nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/IOStorInvMapper.xml

@ -48,20 +48,23 @@
</select> </select>
<select id="getGroupPlate" resultType="org.nl.wms.warehouse_manage.service.dto.GroupPlateDto"> <select id="getGroupPlate" resultType="org.nl.wms.warehouse_manage.service.dto.GroupPlateDto">
SELECT group_id, SELECT
storagevehicle_code, gp.group_id,
gp.material_id,pcsn, gp.storagevehicle_code,
qty_unit_id, gp.material_id,
qty_unit_name,qty, gp.qty_unit_id,
frozen_qty,remark, gp.qty_unit_name,
status,ext_code, gp.qty,
ext_type, gp.frozen_qty,
mater.material_name, gp.remark,
mater.material_spec, gp.STATUS,
mater.material_code, mater.material_name,
mater.material_spec,
mater.material_code,
gp.ext_code, gp.ext_code,
gp.ext_type gp.ext_type
FROM md_pb_groupplate gp FROM
md_pb_groupplate gp
LEFT JOIN md_me_materialbase mater ON mater.material_id = gp.material_id LEFT JOIN md_me_materialbase mater ON mater.material_id = gp.material_id
<where> <where>
gp.status = '01' and frozen_qty = 0 gp.status = '01' and frozen_qty = 0
@ -88,6 +91,34 @@
</where> </where>
</select> </select>
<select id="getGroupByPlate" resultType="org.nl.wms.warehouse_manage.service.dto.GroupPlateDto">
SELECT
gp.group_id,
gp.storagevehicle_code,
gp.material_id,
gp.qty_unit_id,
gp.qty_unit_name,
gp.qty,
gp.frozen_qty,
gp.remark,
gp.STATUS,
mater.material_name,
mater.material_spec,
mater.material_code,
gp.ext_code,
gp.ext_type
FROM
md_pb_groupplate gp
LEFT JOIN md_me_materialbase mater ON mater.material_id = gp.material_id
<where>
gp.status = '01' and frozen_qty = 0
<if test="params.vehicle_code != null">
AND
gp.storagevehicle_code = #{params.vehicle_code}
</if>
</where>
</select>
<select id="getIODtl" resultType="org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto"> <select id="getIODtl" resultType="org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto">
SELECT DISTINCT SELECT DISTINCT
dtl.*, dtl.*,

9
nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/StIvtMoveinvdtlMapper.java

@ -26,4 +26,13 @@ public interface StIvtMoveinvdtlMapper extends BaseMapper<StIvtMoveinvdtl> {
* @return List<JSONObject> * @return List<JSONObject>
*/ */
List<JSONObject> getMoveDtl(@Param("param") Map whereJson); List<JSONObject> getMoveDtl(@Param("param") Map whereJson);
/**
* 查询移库单明细
* @param whereJson {
* moveinv_id 移库单标识
* }
* @return List<JSONObject>
*/
List<JSONObject> querydtl(@Param("param") Map whereJson);
} }

24
nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/StIvtMoveinvdtlMapper.xml

@ -35,4 +35,28 @@
</if> </if>
</where> </where>
</select> </select>
<select id="querydtl" resultType="com.alibaba.fastjson.JSONObject">
SELECT
plate.group_id,
plate.qty_unit_name AS unit_code,
plate.qty,
plate.frozen_qty,
mater.material_code,
mater.material_name
FROM
md_pb_groupplate plate
LEFT JOIN md_me_materialbase mater ON mater.material_id = plate.material_id
LEFT JOIN st_ivt_structattr struct ON struct.storagevehicle_code = plate.storagevehicle_code
WHERE
1 =1
<if test="param.struct_code != null and param.struct_code != ''">
AND
struct.struct_code = #{param.struct_code}
</if>
<if test="param.vehicle_code != null and param.vehicle_code != ''">
AND
plate.storagevehicle_code = #{param.vehicle_code}
</if>
</select>
</mapper> </mapper>

32
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<IOStorInvMapper, IOSt
String iostorinvdtl_id = (String) whereJson.get("iostorinvdtl_id"); String iostorinvdtl_id = (String) whereJson.get("iostorinvdtl_id");
return ioStorInvDisMapper.getBillTaskDtl(iostorinvdtl_id); return ioStorInvDisMapper.getBillTaskDtl(iostorinvdtl_id);
} }
@Override
public void AutoCreateBill(JSONObject param){
String device_code = param.getString("device_code"); // 请求点
String vehicle_code = param.getString("vehicle_code");//子托盘
List<GroupPlateDto> 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);;
}
} }

2
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<IOStorInvMapper, IOStorInv> i
} }
JSONObject jsonParam = new JSONObject(); JSONObject jsonParam = new JSONObject();
jsonParam.put("data", paramList); jsonParam.put("data", paramList);
wmsToErpService.uploadErp(jsonParam); wmsToErpService.instorinfoToErp(jsonParam);
// 更新主表 // 更新主表
this.update( this.update(

23
nladmin-ui/src/views/wms/st/inbill/DivDialog.vue

@ -189,7 +189,7 @@
import CRUD, { crud } from '@crud/crud' import CRUD, { crud } from '@crud/crud'
import crudSectattr from '@/views/wms/basedata/sectattr/sectattr' import crudSectattr from '@/views/wms/basedata/sectattr/sectattr'
import StructDiv from '@/views/wms/pub/StructDialog' 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' import crudPoint from '@/views/wms/sch/point/schBasePoint'
export default { export default {
@ -291,27 +291,6 @@ export default {
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
row.index = 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) { sectQueryChange(val) {
this.sectProp = val this.sectProp = val
if (val.length === 1) { if (val.length === 1) {

8
nladmin-ui/src/views/wms/st/movebill/index.vue

@ -27,13 +27,13 @@
size="mini" size="mini"
placeholder="全部" placeholder="全部"
class="filter-item" class="filter-item"
@change="crud.toQuery" @change="hand2"
> >
<el-option <el-option
v-for="item in storlist" v-for="item in storlist"
:key="item.stor_id" :key="item.stor_id"
:label="item.stor_name" :label="item.stor_name"
:value="item.stor_id" :value="item"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -280,6 +280,10 @@ export default {
create_modeFormat(row) { create_modeFormat(row) {
return this.dict.label.ST_CREATE_MODE[row.create_mode] return this.dict.label.ST_CREATE_MODE[row.create_mode]
}, },
hand2(value) {
debugger
this.crud.notify(value, CRUD.NOTIFICATION_TYPE.SUCCESS)
},
handleSelectionChange(val, row) { handleSelectionChange(val, row) {
if (val.length > 1) { if (val.length > 1) {
this.$refs.table.clearSelection() this.$refs.table.clearSelection()

Loading…
Cancel
Save