Browse Source

feat: 出库单分配、设置、确认wql->mp

master
李永德 1 week ago
parent
commit
ec5e15bb35
  1. 54
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/MdPbStoragevehicleext.java
  2. 11
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.java
  3. 5
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.xml
  4. 14
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/IMdPbStoragevehicleextService.java
  5. 36
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/impl/MdPbStoragevehicleextServiceImpl.java
  6. 7
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IpdmBiSubpackagerelationService.java
  7. 10
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java
  8. 3
      lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/SchBasePointServiceImpl.java
  9. 40
      lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java
  10. 66
      lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java
  11. 105
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java
  12. 17
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java
  13. 40
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java
  14. 14
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java
  15. 19
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java
  16. 5
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java
  17. 92
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml
  18. 22
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java
  19. 28
      lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java
  20. 13
      lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java
  21. 14
      lms/nladmin-system/src/test/java/org/nl/test/EventTest.java
  22. 1
      lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue
  23. 1
      lms/nladmin-ui/src/views/wms/st/outbill/AddDtl.vue

54
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/MdPbStoragevehicleext.java

@ -0,0 +1,54 @@
package org.nl.b_lms.pdm.storagevehicleext.dao;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author: lyd
* @Date: 2025/6/30
*/
@Data
@TableName("md_pb_storagevehicleext")
public class MdPbStoragevehicleext implements Serializable {
/** 载具扩展标识 */
@TableId
private String storagevehicleext_id;
/** 载具标识 */
private String storagevehicle_id;
/** 载具编码 */
private String storagevehicle_code;
/** 载具类型 */
private String storagevehicle_type;
/** 物料标识 */
private String material_id;
/** 批次 */
private String pcsn;
/** 数量计量单位标识 */
private String qty_unit_id;
/** 数量计量单位名称 */
private String qty_unit_name;
/** 数量 */
private BigDecimal storage_qty;
/** 工艺指令卡 */
private String workordercard_id;
/** 配方标识 */
private String formula_id;
/** 是否需清洗 */
private String is_need_clean;
/** 备注 */
private String remark;
/** 修改人 */
private String update_optid;
/** 修改人姓名 */
private String update_optname;
/** 修改时间 */
private String update_time;
/** 设备标识 */
private String device_uuid;
/** 载具重量 */
private String qty;
}

11
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.java

@ -0,0 +1,11 @@
package org.nl.b_lms.pdm.storagevehicleext.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext;
/**
* @Author: lyd
* @Date: 2025/6/30
*/
public interface MdPbStoragevehicleextMapper extends BaseMapper<MdPbStoragevehicleext> {
}

5
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.xml

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.b_lms.pdm.storagevehicleext.dao.mapper.MdPbStoragevehicleextMapper">
</mapper>

14
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/IMdPbStoragevehicleextService.java

@ -0,0 +1,14 @@
package org.nl.b_lms.pdm.storagevehicleext.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext;
/**
* @Author: lyd
* @Date: 2025/6/30
*/
public interface IMdPbStoragevehicleextService extends IService<MdPbStoragevehicleext> {
MdPbStoragevehicleext getOneByPcsn(String pcsn);
JSONObject getOneByPcsnToObject(String pcsn);
}

36
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/impl/MdPbStoragevehicleextServiceImpl.java

@ -0,0 +1,36 @@
package org.nl.b_lms.pdm.storagevehicleext.service.impl;
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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext;
import org.nl.b_lms.pdm.storagevehicleext.dao.mapper.MdPbStoragevehicleextMapper;
import org.nl.b_lms.pdm.storagevehicleext.service.IMdPbStoragevehicleextService;
import org.springframework.stereotype.Service;
/**
* @Author: lyd
* @Date: 2025/6/30
*/
@Slf4j
@Service
public class MdPbStoragevehicleextServiceImpl extends ServiceImpl<MdPbStoragevehicleextMapper, MdPbStoragevehicleext> implements IMdPbStoragevehicleextService {
@Override
public MdPbStoragevehicleext getOneByPcsn(String pcsn) {
LambdaQueryWrapper<MdPbStoragevehicleext> lam = new LambdaQueryWrapper<>();
lam.eq(MdPbStoragevehicleext::getPcsn, pcsn);
return getOne(lam);
}
@Override
public JSONObject getOneByPcsnToObject(String pcsn) {
MdPbStoragevehicleext oneByPcsn = getOneByPcsn(pcsn);
if (ObjectUtil.isEmpty(oneByPcsn)) {
return null;
}
return (JSONObject) JSON.toJSON(oneByPcsn);
}
}

7
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IpdmBiSubpackagerelationService.java

@ -152,6 +152,13 @@ public interface IpdmBiSubpackagerelationService extends IService<PdmBiSubpackag
List<PdmBiSubpackagerelation> getSubPackageInfoBySubRollsStatus(List<String> pcsns, String status);
List<JSONObject> getSubPackageInfoBySubRollsStatusObject(List<String> pcsns, String status);
/**
* 根据木箱编码获取子卷包装关系信息
* @param boxs /
* @return
*/
List<JSONObject> getSubInfoByBoxNosToObject(List<String> boxs);
}

10
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java

@ -905,5 +905,15 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
return org.nl.common.utils.CollectionUtils.mapList(getSubPackageInfoBySubRollsStatus(pcsns, status),
pdmBiSubpackagerelation -> (JSONObject) JSON.toJSON(pdmBiSubpackagerelation));
}
@Override
public List<JSONObject> getSubInfoByBoxNosToObject(List<String> boxs) {
if (boxs.size() == 0) {
return null;
}
LambdaQueryWrapper<PdmBiSubpackagerelation> lam = new LambdaQueryWrapper<>();
lam.in(PdmBiSubpackagerelation::getPackage_box_sn, boxs);
return org.nl.common.utils.CollectionUtils.mapList(list(lam), sub -> (JSONObject) JSON.toJSON(sub));
}
}

3
lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/SchBasePointServiceImpl.java

@ -81,7 +81,8 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
@Override
public SchBasePoint findByCode(String pointCode) {
return schBasePointMapper.selectOne( new QueryWrapper<SchBasePoint>().lambda().eq( SchBasePoint::getPoint_code, pointCode));
return schBasePointMapper.selectOne( new QueryWrapper<SchBasePoint>().lambda()
.eq( SchBasePoint::getPoint_code, pointCode));
}

40
lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java

@ -1,5 +1,7 @@
package org.nl.b_lms.sch.task.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
@ -96,6 +98,44 @@ public interface IschBaseTaskService extends IService<SchBaseTask> {
List<SchBaseTask> checkHaveStartTask(String pointCode);
List<SchBaseTask> checkHaveTrussTask(List<String> codes);
/**
* 获取可以使用的任务数组
* @param handleClass 任务类
* @return
*/
List<SchBaseTask> getTaskingByHandleClass(String handleClass);
/**
* 获取可以使用的任务数组Object
* @param handleClass 任务类
* @return
*/
List<JSONObject> getTaskingByHandleClassToObject(String handleClass);
/**
* 根据单据id获取执行中的任务
* @param iostorinvId
* @return
*/
List<JSONObject> getTaskingByFk(String iostorinvId);
JSONObject getTaskObject(LambdaQueryWrapper<SchBaseTask> taskLam);
/**
* 根据ids获取任务
* @param taskIds 标识数组
* @param flag 是否判断没有删除的任务
* @return
*/
List<SchBaseTask> getTaskByIds(List<String> taskIds, boolean flag);
/**
* 根据ids获取任务
* @param taskIds 标识数组
* @param flag 是否判断没有删除的任务
* @return
*/
List<JSONObject> getTaskByIdsToObject(List<String> taskIds, boolean flag);
}

66
lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java

@ -1,12 +1,15 @@
package org.nl.b_lms.sch.task.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
@ -15,6 +18,7 @@ import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.CollectionUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.springframework.beans.factory.annotation.Autowired;
@ -181,6 +185,66 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
return this.list(lam);
}
@Override
public List<SchBaseTask> getTaskingByHandleClass(String handleClass) {
if (ObjectUtil.isEmpty(handleClass)) {
return null;
}
LambdaQueryWrapper<SchBaseTask> task = new LambdaQueryWrapper<>();
task.eq(SchBaseTask::getHandle_class, handleClass)
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
.eq(SchBaseTask::getIs_delete, "0");
return list(task);
}
@Override
public List<JSONObject> getTaskingByHandleClassToObject(String handleClass) {
if (ObjectUtil.isEmpty(handleClass)) {
return null;
}
return CollectionUtils.mapList(getTaskingByHandleClass(handleClass), task -> (JSONObject) JSON.toJSON(task));
}
@Override
public List<JSONObject> getTaskingByFk(String iostorinvId) {
if (ObjectUtil.isEmpty(iostorinvId)) {
return null;
}
LambdaQueryWrapper<SchBaseTask> taskLam = new LambdaQueryWrapper<>();
taskLam.eq(SchBaseTask::getTable_fk, iostorinvId)
.eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())
.eq(SchBaseTask::getIs_delete, "0");
return CollectionUtils.mapList(list(taskLam), task -> (JSONObject) JSON.toJSON(task));
}
@Override
public JSONObject getTaskObject(LambdaQueryWrapper<SchBaseTask> taskLam) {
SchBaseTask one = getOne(taskLam);
if (ObjectUtil.isEmpty(one)){
return null;
}
return (JSONObject) JSON.toJSON(one);
}
@Override
public List<SchBaseTask> getTaskByIds(List<String> taskIds, boolean flag) {
if (CollectionUtil.isEmpty(taskIds)) {
return null;
}
LambdaQueryWrapper<SchBaseTask> taskLam = new LambdaQueryWrapper<>();
taskLam.in(SchBaseTask::getTask_id, taskIds)
.eq(flag, SchBaseTask::getIs_delete, "0");
return list(taskLam);
}
@Override
public List<JSONObject> getTaskByIdsToObject(List<String> taskIds, boolean flag) {
if (CollectionUtil.isEmpty(taskIds)) {
return null;
}
return CollectionUtils.mapList(getTaskByIds(taskIds, flag), task -> (JSONObject) JSON.toJSON(task));
}
}

105
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java

@ -13,11 +13,14 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.SneakyThrows;
import org.nl.b_lms.pdm.storagevehicleext.service.IMdPbStoragevehicleextService;
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelationrecord;
import org.nl.b_lms.pdm.subpackagerelation.service.IPdmBiSubpackagerelationrecordService;
import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
import org.nl.b_lms.pdm_manage.enums.SUBEnum;
import org.nl.b_lms.sch.point.dao.SchBasePoint;
import org.nl.b_lms.sch.point.service.IschBasePointService;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.b_lms.sch.tasks.TwoExcepionalMoveTask;
@ -41,7 +44,9 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.InventoryQueryParam
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.OutBussManageService;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.TwoInBussManageService;
import org.nl.b_lms.storage_manage.md.service.MdPbMeasureunitService;
import org.nl.b_lms.storage_manage.st.service.StIvtSectattrService;
import org.nl.b_lms.storage_manage.st.service.StIvtStructattrService;
import org.nl.b_lms.storage_manage.st.service.StIvtStructivtService;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
@ -50,6 +55,7 @@ import org.nl.common.utils.CodeUtil;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.dao.Param;
import org.nl.wms.basedata.st.service.StorattrService;
import org.nl.wms.basedata.st.service.dto.StorattrDto;
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
@ -151,6 +157,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
@Autowired
private StIvtStructivtService structivtService;
@Autowired
private StIvtStructattrService structattrService;
@Autowired
private IschBaseTaskService ischBaseTaskService;
@Autowired
private IpdmBiSubpackagerelationService subpackagerelationService;
@ -158,7 +166,12 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
private IPdmBiSubpackagerelationrecordService subpackagerelationrecordService;
@Autowired
private StIvtSectattrService sectattrService;
@Autowired
private ISysParamService paramService;
@Autowired
private IMdPbStoragevehicleextService mdPbStoragevehicleextService;
@Autowired
private IschBasePointService ischBasePointService;
@Override
@Transactional
public String insertMst(JSONObject whereJson) {
@ -201,7 +214,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
// 插入明细
iStIvtIostorinvdtlService.insertOutDtl(rows, mstDao.getIostorinv_id());
return mstDao.getIostorinv_id().toString();
return mstDao.getIostorinv_id();
}
@Override
@ -247,7 +260,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
* 1.有销售订单号用销售订单号物料去找这批物料最早入库的木箱
* 2.没有销售订单号有子卷号固定出某个木箱
*/
StIvtIostorinv mstDao = this.getById(whereJson.getLongValue("iostorinv_id"));
StIvtIostorinv mstDao = this.getById(whereJson.getString("iostorinv_id"));
// 如果是发货出库则判断运费和物流公司不能为空
if (mstDao.getBill_type().equals(IOSEnum.OUT_TYPE.code("发货出库"))) {
@ -675,8 +688,6 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
@Override
public void allSetPoint(JSONObject whereJson) {
// 任务表
WQLObject taskService = WQLObject.getWQLObject("sch_base_task");
// 获取出库单据
StIvtIostorinv mstDao = this.getById(whereJson.getString("iostorinv_id"));
@ -695,9 +706,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
boxCheck(whereJson.getString("iostorinv_id"));
//判断是否有正在执行中的任务
List<JSONObject> arr2 = taskService.query("handle_class = '" + TwoOutTask.class.getName() + "' and task_status < '" + TaskStatusEnum.FINISHED.getCode() + "' and is_delete ='0'")
.getResultJSONArray(0).toJavaList(JSONObject.class);
List<JSONObject> arr2 = ischBaseTaskService.getTaskingByHandleClassToObject(TwoOutTask.class.getName());
Map<String, List<JSONObject>> taskGroup = arr2.stream()
.collect(Collectors.groupingBy(row -> row.getString("task_group_id")));
@ -727,7 +736,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
}
for (List<JSONObject> disLikeList : groupingDisMap.values()) {
// 调用任务生成处理
// 调用任务生成处理 (有移库直接下发去做,最后返回出库仓位数组)
List<JSONObject> taskMangeList = createTaskMange2(disLikeList,mstDao.getIostorinv_id().toString(),allTransactionConsumer);
// 创建任务并下发一组任务
@ -738,10 +747,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
return arr;
}, new JSONArray());
// 下发任务:判断当前单据是否有正在执行的的任务
JSONArray disArr = taskService.query("table_fk = '" + mstDao.getIostorinv_id().toString() + "' and is_delete = '0' and task_status = '" + TaskStatusEnum.EXECUTING.getCode() + "'")
.getResultJSONArray(0);
if (ObjectUtil.isEmpty(disArr)) {
List<JSONObject> disArr = ischBaseTaskService.getTaskingByFk(mstDao.getIostorinv_id());
if (CollectionUtil.isEmpty(disArr)) {
TwoOutTask twoOutTask = new TwoOutTask();
twoOutTask.immediateNotifyAcs(null);
}
@ -1292,27 +1299,22 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
* @return List<JSONObject> 生成任务的集合
*/
private List<JSONObject> createTaskMange2(List<JSONObject> disLikeList, String iostorinv_id, Consumer<String> allTransactionConsumer) {
// 仓位表
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
// 获取仓位集合
String structCodeIn = disLikeList.stream()
List<String> structCodes = disLikeList.stream()
.map(row -> row.getString("struct_code"))
.distinct().collect(Collectors.joining("','"));
List<JSONObject> attrList = attrTab.query("struct_code IN ('" + structCodeIn + "')")
.getResultJSONArray(0).toJavaList(JSONObject.class);
.distinct().collect(Collectors.toList());
List<JSONObject> attrList = structattrService.getAttributeByCodesToObject(structCodes);
/*
* 判断是否被阻挡
*/
// 获取所在排所有仓位
String rowIn = attrList.stream()
List<String> rows = attrList.stream()
.map(row -> row.getString("row_num"))
.distinct().collect(Collectors.joining("','"));
.distinct().collect(Collectors.toList());
List<JSONObject> attrRowList = attrTab.query("stor_id = '" + IOSEnum.STOR_ID.code("二期") + "' AND row_num IN ('" + rowIn + "')")
.getResultJSONArray(0).toJavaList(JSONObject.class);
List<JSONObject> attrRowList = structattrService.getRowsAttributeToObject(IOSEnum.STOR_ID.code("二期"), rows);
// 需移库仓位集合
List<JSONObject> needMoveAttrList = new ArrayList<>();
@ -1540,8 +1542,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
flag = false;
} else {
// 为空:判断此木箱是否有任务
JSONObject jsonTask = taskService.query("vehicle_code = '" + jsonLow.getString("storagevehicle_code") + "' and task_status <> '07' and is_delete = '0'").uniqueResult(0);
LambdaQueryWrapper<SchBaseTask> taskLam = new LambdaQueryWrapper<>();
taskLam.eq(SchBaseTask::getVehicle_code, jsonLow.getString("storagevehicle_code"))
.ne(SchBaseTask::getTask_status, "07")
.eq(SchBaseTask::getIs_delete, "0");
JSONObject jsonTask = ischBaseTaskService.getTaskObject(taskLam);
if (ObjectUtil.isNotEmpty(jsonTask)) {
flag = false;
}
@ -1767,27 +1772,19 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
}
/**
* 创建任务
* 创建任务通过仓位集合创建
* @param taskMangeList仓位集合
* @param disLikeList分配明细集合
* @param point_code 终点
*/
private void createTask2(List<JSONObject> taskMangeList,List<JSONObject> disLikeList, String point_code, Consumer<String> allTransactionConsumer) {
// 任务表
WQLObject taskService = WQLObject.getWQLObject("sch_base_task");
// 点位表
WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point");
// 载具扩展属性表
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
// 查询异常货位任务集合
String TaskCodeIn = taskMangeList.stream()
List<String> taskIds = taskMangeList.stream()
.filter(row -> row.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("出库异常锁")))
.map(row -> row.getString("task_code"))
.distinct().collect(Collectors.joining("','"));
.distinct().collect(Collectors.toList());
List<JSONObject> taskList = taskService.query("task_id IN ('" + TaskCodeIn + "') and is_delete = '0'")
.getResultJSONArray(0).toJavaList(JSONObject.class);
List<SchBaseTask> taskList = ischBaseTaskService.getTaskByIds(taskIds, true);
// 任务组标识
String task_group_id = IdUtil.getStringId();
@ -1797,12 +1794,10 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
// 是否自动下发
String is_auto_issue = IOSEnum.IS_SEND.code("是");
WQLObject paramTab = WQLObject.getWQLObject("sys_param");
JSONObject jsonParam = paramTab.query("code = 'one_or_two_struct'").uniqueResult(0);
Param oneOrTwoStruct = paramService.findByCode("one_or_two_struct");
String flag = "0";
if (ObjectUtil.isNotEmpty(jsonParam)) {
flag = jsonParam.getString("value");
if (ObjectUtil.isNotEmpty(oneOrTwoStruct)) {
flag = oneOrTwoStruct.getValue();
}
for (int i = 0; i < taskMangeList.size(); i++) {
JSONObject json = taskMangeList.get(i);
@ -1835,14 +1830,13 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
* 完成生成完成任务的point_code2 当做起点的任务
* 未完成只更新分配明细状态为生成
*/
JSONObject jsonTask = taskList.stream()
.filter(row -> row.getString("task_id").equals(json.getString("task_code")))
.collect(Collectors.toList()).get(0);
SchBaseTask jsonTask = taskList.stream()
.filter(row -> row.getTask_id().equals(json.getString("task_code")))
.findFirst().orElse(null);
// 完成
if (jsonTask.getString("task_status").equals(TaskStatusEnum.FINISHED.getCode())) {
start_device_code = jsonTask.getString("point_code2");
if (TaskStatusEnum.FINISHED.getCode().equals(jsonTask.getTask_status())) {
start_device_code = jsonTask.getPoint_code2();
is_auto_issue = IOSEnum.IS_SEND.code("否");
} else {
// 未完成:只更新分配明细状态不更新任务id
@ -1853,15 +1847,14 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
iStIvtIostorinvdisService.updateBatchById(disDaoList);
// 标记任务
jsonTask.put("is_auto_issue",IOSEnum.IS_SEND.code("否"));
taskService.update(jsonTask);
jsonTask.setIs_auto_issue(IOSEnum.IS_SEND.code("否"));
ischBaseTaskService.updateById(jsonTask);
continue;
}
}
// 查询木箱对应的载具
JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'")
.uniqueResult(0);
JSONObject jsonVeExt = mdPbStoragevehicleextService.getOneByPcsnToObject(json.getString("storagevehicle_code"));
if (ObjectUtil.isEmpty(jsonVeExt)) {
throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code"));
}
@ -1898,15 +1891,15 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
String task_id = twoOutTask.createTask(jsonTaskParam);
// 更新分配明细
JSONObject jsonPoint = schBasePointService.query("point_code = '" + end_device_code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPoint)) {
SchBasePoint point = ischBasePointService.findByCode(end_device_code);
if (ObjectUtil.isEmpty(point)) {
throw new BadRequestException("出库点位不存在:"+end_device_code);
}
disDaoList.forEach(row -> {
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
row.setTask_id(task_id);
row.setPoint_id(jsonPoint.getString("point_id"));
row.setPoint_id(point.getPoint_id());
});
iStIvtIostorinvdisService.updateBatchById(disDaoList);
}

17
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java

@ -180,24 +180,19 @@ public class StIvtIostorinvdtlServiceImpl extends ServiceImpl<StIvtIostorinvdtlM
);
// 查询所有对应物料集合
String materialIdIn = rows.stream()
List<String> materialIds = rows.stream()
.map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getString("material_id"))
.distinct()
.collect(Collectors.joining("','"));
.collect(Collectors.toList());
List<JSONObject> materList = WQLObject.getWQLObject("md_me_materialbase")
.query("material_id in ('" + materialIdIn + "')")
.getResultJSONArray(0).toJavaList(JSONObject.class);
List<JSONObject> materList = materialbaseService.getMaterialAllByIdsToObject(materialIds);
// 查询所有物料对应的计量单位
String unitIdIn = materList.stream()
List<String> unitIds = materList.stream()
.map(row -> row.getString("base_unit_id"))
.distinct()
.collect(Collectors.joining("','"));
List<JSONObject> unitList = WQLObject.getWQLObject("md_pb_measureunit")
.query("measure_unit_id in ('" + unitIdIn + "')")
.getResultJSONArray(0).toJavaList(JSONObject.class);
.collect(Collectors.toList());
List<JSONObject> unitList = measureunitService.getUnitAllByIds(unitIds);
// 明细批量插入集合
ArrayList<StIvtIostorinvdtl> dtlDaoList = new ArrayList<>();

40
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java

@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.nl.b_lms.pdm.storagevehicleext.service.IMdPbStoragevehicleextService;
import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
@ -22,6 +23,7 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdtl;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.OutBussManageService;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.TwoInBussManageService;
import org.nl.b_lms.storage_manage.md.service.MaterialbaseService;
import org.nl.b_lms.storage_manage.md.service.MdPbMeasureunitService;
import org.nl.b_lms.storage_manage.st.dao.StIvtSectattr;
import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr;
@ -118,6 +120,10 @@ public class OutBussManageServiceImpl implements OutBussManageService {
private StIvtSectattrService sectattrService;
@Autowired
private StIvtStructattrService structattrService;
@Autowired
private MaterialbaseService materialbaseService;
@Autowired
private IMdPbStoragevehicleextService mdPbStoragevehicleextService;
@Override
@Transactional
@ -381,8 +387,6 @@ public class OutBussManageServiceImpl implements OutBussManageService {
//物料表
WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase");
// 载具扩展属性表
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
// 获取子卷包装集合
String vehilcle_in = list.stream()
@ -489,8 +493,7 @@ public class OutBussManageServiceImpl implements OutBussManageService {
jsonMoveDtl.put("turnin_struct_name", jsonMove.getString("struct_name"));
// 查询木箱对应的载具
JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'")
.uniqueResult(0);
JSONObject jsonVeExt = mdPbStoragevehicleextService.getOneByPcsnToObject(json.getString("storagevehicle_code"));
if (ObjectUtil.isEmpty(jsonVeExt)) {
throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code"));
}
@ -522,30 +525,17 @@ public class OutBussManageServiceImpl implements OutBussManageService {
@Override
public void createMove2(List<JSONObject> list, Consumer<String> allTransactionConsumer) {
//子卷包装关系表
WQLObject subTab = WQLObject.getWQLObject("pdm_bi_subpackagerelation");
//物料表
WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase");
// 载具扩展属性表
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
// 获取子卷包装集合
String vehilcle_in = list.stream()
List<String> boxs = list.stream()
.map(row -> row.getString("storagevehicle_code"))
.collect(Collectors.joining("','"));
List<JSONObject> subList = subTab.query("package_box_sn IN ('" + vehilcle_in + "')")
.getResultJSONArray(0).toJavaList(JSONObject.class);
.collect(Collectors.toList());
List<JSONObject> subList = subpackagerelationService.getSubInfoByBoxNosToObject(boxs);
// 查询物料集合
String materialCode_in = subList.stream()
List<String> materialCodes = subList.stream()
.map(row -> row.getString("product_name"))
.collect(Collectors.joining("','"));
List<JSONObject> materList = materTab.query("material_code IN ('" + materialCode_in + "')")
.getResultJSONArray(0).toJavaList(JSONObject.class);
.collect(Collectors.toList());
List<JSONObject> materList = materialbaseService.getMaterialAllByCodes(materialCodes);
for (int i = 0; i < list.size(); i++) {
JSONObject json = list.get(i);
@ -637,8 +627,8 @@ public class OutBussManageServiceImpl implements OutBussManageService {
jsonMoveDtl.put("turnin_struct_name", jsonMove.getString("struct_name"));
// 查询木箱对应的载具
JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'")
.uniqueResult(0);
JSONObject jsonVeExt = mdPbStoragevehicleextService.getOneByPcsnToObject(json.getString("storagevehicle_code"));
if (ObjectUtil.isEmpty(jsonVeExt)) {
throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code"));
}

14
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java

@ -2,6 +2,7 @@ package org.nl.b_lms.storage_manage.md.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.b_lms.storage_manage.md.dao.MdMeMaterialBase;
import org.nl.wms.basedata.master.service.dto.MaterialbaseDto;
import org.springframework.data.domain.Pageable;
@ -98,4 +99,17 @@ public interface MaterialbaseService {
* @return
*/
List<JSONObject> getMaterialAllByCodes(List<String> materialCodes);
/**
* 根据ids获取物料信息
* @param materialIds
* @return
*/
List<MdMeMaterialBase> getMaterialAllByIds(List<String> materialIds);
/**
* 根据ids获取物料信息转List<JSONObject>
* @param materialIds
* @return
*/
List<JSONObject> getMaterialAllByIdsToObject(List<String> materialIds);
}

19
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java

@ -245,4 +245,23 @@ public class MaterialbaseServiceImpl implements MaterialbaseService {
return CollectionUtils.mapList(materialBases, material -> (JSONObject) JSON.toJSON(material));
}
@Override
public List<MdMeMaterialBase> getMaterialAllByIds(List<String> materialIds) {
if (materialIds.size() == 0) {
return null;
}
LambdaQueryWrapper<MdMeMaterialBase> lam = new LambdaQueryWrapper<>();
lam.in(MdMeMaterialBase::getMaterial_id, materialIds);
List<MdMeMaterialBase> materialBases = mdMeMaterialBaseMapper.selectList(lam);
return materialBases;
}
@Override
public List<JSONObject> getMaterialAllByIdsToObject(List<String> materialIds) {
if (materialIds.size() == 0) {
return null;
}
return CollectionUtils.mapList(getMaterialAllByIds(materialIds), material -> (JSONObject) JSON.toJSON(material));
}
}

5
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java

@ -17,6 +17,7 @@ import org.nl.wms.stat.service.dto.PastStructPageParam;
import org.nl.wms.stat.service.vo.PastStructPageVo;
import java.util.List;
import java.util.Map;
/**
* @Author: lyd
@ -42,4 +43,8 @@ public interface StIvtStructivtMapper extends BaseMapper<StIvtStructivt> {
JSONArray getBoxAllMaterial(String boxNo);
List<JSONObject> getAllInventorys(@Param("param") InventoryQueryParam param);
JSONArray getOutBillDis2(Map param);
JSONArray getOutBillTask(Map param);
}

92
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml

@ -827,4 +827,96 @@
</if>
order by ivt.instorage_time ASC
</select>
<select id="getOutBillDis2" resultType="com.alibaba.fastjson.JSONObject">
SELECT
dis.*,
ios.io_type,
ios.bill_code,
mb.material_code,
mb.material_name,
task.task_code,
task.task_status,
task.task_type,
point2.point_code,
sub.sap_pcsn,
attr.out_order_seq,
attr.row_num,
attr.col_num,
attr.layer_num,
attr.block_num,
attr.placement_type,
sub.sale_order_name,
sub.width_standard
FROM
ST_IVT_IOStorInvDis dis
LEFT JOIN ST_IVT_IOStorInv ios ON ios.iostorinv_id = dis.iostorinv_id
LEFT JOIN md_me_materialbase mb ON mb.material_id = dis.material_id
LEFT JOIN SCH_BASE_Task task ON task.task_id = dis.task_id AND task.is_delete = '0'
LEFT JOIN SCH_BASE_Point point2 ON point2.point_id = dis.point_id
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND dis.storagevehicle_code = sub.package_box_sn
WHERE
1=1
<if test="iostorinvdtl_id != '' and iostorinvdtl_id != null">
AND dis.iostorinvdtl_id = #{iostorinvdtl_id}
</if>
<if test="task_id != '' and task_id != null">
AND dis.task_id = #{task_id}
</if>
<if test="iostorinv_id != '' and iostorinv_id != null">
AND dis.iostorinv_id = #{iostorinv_id}
</if>
<if test="iostorinvdis_id != '' and iostorinvdis_id != null">
AND dis.iostorinvdis_id = #{iostorinvdis_id}
</if>
<if test="is_issued != '' and is_issued != null">
AND dis.is_issued = #{is_issued}
</if>
<if test="struct_id != '' and struct_id != null">
AND dis.struct_id = #{struct_id}
</if>
<if test="bill_status != '' and bill_status != null">
AND dis.work_status <![CDATA[ <= ]]> #{bill_status}
</if>
order by dis.box_no,dis.pcsn
</select>
<select id="getOutBillTask" resultType="com.alibaba.fastjson.JSONObject">
SELECT
dis.*,
mater.material_code,
mater.material_name,
point.point_code AS next_point_code,
task.task_id,
task.task_code,
task.task_type,
task.task_status,
(case when IFNULL(record.sap_pcsn,'') = '' then sub.sap_pcsn else record.sap_pcsn end) AS sap_pcsn,
md.class_name task_type_name
FROM
st_ivt_iostorinvdis dis
LEFT JOIN md_me_materialbase mater ON dis.material_id = mater.material_id
LEFT JOIN sch_base_point point ON dis.point_id = point.point_id
LEFT JOIN ST_IVT_IOStorInv ios ON ios.iostorinv_id = dis.iostorinv_id
LEFT JOIN sch_base_task task ON dis.task_id = task.task_id
LEFT JOIN pdm_bi_subpackagerelation sub ON dis.pcsn = sub.container_name
LEFT JOIN pdm_bi_subpackagerelationrecord record ON record.container_name = dis.pcsn AND ios.bill_code = record.bill_code
LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code
WHERE
1=1
<if test="iostorinvdtl_id != '' and iostorinvdtl_id != null">
AND dis.iostorinvdtl_id = #{iostorinvdtl_id}
</if>
<if test="iostorinv_id != '' and iostorinv_id != null">
AND dis.iostorinv_id = #{iostorinv_id}
</if>
<if test="is_issued != '' and is_issued != null">
AND dis.is_issued = #{is_issued}
</if>
<if test="struct_id != '' and struct_id != null">
AND dis.struct_id = #{struct_id}
</if>
<if test="task_status != '' and task_status != null">
AND task.task_status = #{task_status}
</if>
</select>
</mapper>

22
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java

@ -1,5 +1,6 @@
package org.nl.b_lms.storage_manage.st.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr;
@ -23,4 +24,25 @@ public interface StIvtStructattrService extends IService<StIvtStructattr> {
* @return
*/
IPage<StIvtStructattr> emptyPalletInventoryPage(EmptyVehicleParam paramMap, PageQuery page);
/**
* 根据仓位编码获取仓位属性
* @param structCodes
* @return
*/
List<StIvtStructattr> getAttributeByCodes(List<String> structCodes);
/**
* 根据仓位编码获取仓位属性
* @param structCodes
* @return
*/
List<JSONObject> getAttributeByCodesToObject(List<String> structCodes);
/**
* 获取仓位属性
* @param stor 仓库id
* @param rows
* @return
*/
List<JSONObject> getRowsAttributeToObject(String stor, List<String> rows);
}

28
lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java

@ -1,6 +1,8 @@
package org.nl.b_lms.storage_manage.st.service.impl;
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -10,6 +12,7 @@ import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr;
import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructattrMapper;
import org.nl.b_lms.storage_manage.st.service.StIvtStructattrService;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.CollectionUtils;
import org.nl.wms.basedata.st.service.dto.EmptyVehicleParam;
import org.nl.wms.basedata.st.service.vo.EmptyVehicleVo;
import org.nl.wms.stat.service.vo.PastStructPageVo;
@ -48,4 +51,29 @@ public class StIvtStructattrServiceImpl extends ServiceImpl<StIvtStructattrMappe
structattrMapper.selectPage(pages, lam);
return pages;
}
@Override
public List<StIvtStructattr> getAttributeByCodes(List<String> structCodes) {
if (structCodes.size() == 0) {
return null;
}
LambdaQueryWrapper<StIvtStructattr> lam = new LambdaQueryWrapper<>();
lam.in(StIvtStructattr::getStruct_code, structCodes);
return list(lam);
}
@Override
public List<JSONObject> getAttributeByCodesToObject(List<String> structCodes) {
if (structCodes.size() == 0) {
return null;
}
return CollectionUtils.mapList(getAttributeByCodes(structCodes), attr -> (JSONObject) JSON.toJSON(attr));
}
@Override
public List<JSONObject> getRowsAttributeToObject(String stor, List<String> rows) {
LambdaQueryWrapper<StIvtStructattr> lam = new LambdaQueryWrapper<>();
lam.in(StIvtStructattr::getRow_num, rows).eq(StIvtStructattr::getStor_id, stor);
return CollectionUtils.mapList(list(lam), attr -> (JSONObject) JSON.toJSON(attr));
}
}

13
lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java

@ -133,27 +133,18 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
@Override
public JSONArray getOutBillDis2(Map whereJson) {
whereJson.put("flag", "52");
JSONArray jo = WQL.getWO("QST_IVT_CHECKOUTBILL")
.addParamMap((HashMap) whereJson)
.process()
.getResultJSONArray(0);
return jo;
return stIvtStructivtMapper.getOutBillDis2(whereJson);
}
@Override
public JSONArray getOutBillTask(Map whereJson) {
HashMap<String, String> map = new HashMap<>(whereJson);
map.put("flag", "10");
if ("true".equals(map.get("checked"))) {
map.put("task_status", "99");
}
JSONArray jo = new JSONArray();
if (map.containsKey("iostorinvdtl_id")) {
jo = WQL.getWO("QST_IVT_CHECKOUTBILL")
.addParamMap(map)
.process()
.getResultJSONArray(0);
jo = stIvtStructivtMapper.getOutBillTask(map);
}
return jo;
}

14
lms/nladmin-system/src/test/java/org/nl/test/EventTest.java

@ -2,10 +2,16 @@ package org.nl.test;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructivtMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import java.util.HashMap;
import java.util.Map;
/**
* @Author: lyd
* @Date: 2025/6/23
@ -15,4 +21,12 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
@DisplayName("event test")
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class EventTest {
@Autowired
private StIvtStructivtMapper stIvtStructivtMapper;
@Test
public void Test_01() {
Map whereJson = new HashMap();
whereJson.put("iostorinvdtl_id", "1");
stIvtStructivtMapper.getOutBillDis2(whereJson);
}
}

1
lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue

@ -438,6 +438,7 @@ export default {
this.form.detail_count = this.form.tableData.length
},
tableChanged5(rows) {
console.log(rows)
const data = {
'data': rows
}

1
lms/nladmin-ui/src/views/wms/st/outbill/AddDtl.vue

@ -193,7 +193,6 @@ export default {
this.$emit('update:dialogShow', false)
},
open() {
debugger
this.crud.query.mater_type = this.opendtlParam
},
submit() {

Loading…
Cancel
Save