getIODtl(Map whereJson);
+ /**
+ * 分配仓位
+ *
+ * @param whereJson {
+ *
+ * }
+ */
void divStruct(Map whereJson);
+ /**
+ * 取消分配
+ *
+ * @param whereJson {
+ *
+ * }
+ */
void unDivStruct(Map whereJson);
+ /**
+ * 设置站带你
+ *
+ * @param whereJson {
+ *
+ * }
+ */
void divPoint(Map whereJson);
+ /**
+ * 强制确认
+ *
+ * @param whereJson {
+ *
+ * }
+ */
void confirm(Map whereJson);
+ /**
+ * 任务确认
+ *
+ * @param task {
+ *
+ * }
+ */
void taskFinish(SchBaseTask task);
+ /**
+ * 获取分配明细
+ *
+ * @param whereJson {
+ *
+ * }
+ * @return List
+ */
List getDisDtl(Map whereJson);
+ /**
+ * 分配规则
+ *
+ * @param whereJson {
+ *
+ * }
+ * @return Structattr
+ */
Structattr autoDis(JSONObject whereJson);
+ /**
+ * 查询详细信息
+ *
+ * @param whereJson {
+ *
+ * }
+ * @return List
+ */
List getInBillTaskDtl(Map whereJson);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleInService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleInService.java
new file mode 100644
index 0000000..17f1a56
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleInService.java
@@ -0,0 +1,38 @@
+package org.nl.wms.warehouse_management.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.nl.common.domain.query.PageQuery;
+
+import java.util.Map;
+
+/**
+ *
+ * 空载具入库 服务类
+ *
+ *
+ * @author Liuxy
+ * @since 2025-08-13
+ */
+public interface VehicleInService {
+
+ /**
+ * 分页查询
+ *
+ * @param whereJson : {查询参数}
+ * @param page : 分页对象
+ * @return 返回结果
+ */
+ IPage queryAll(Map whereJson, PageQuery page);
+
+ /**
+ * 新增载具入库
+ *
+ * @param whereJson {
+ * storagevehicle_code: 载具编码
+ * point_code: 入库点位
+ * sect_code: 库区编码
+ * }
+ */
+ void create(JSONObject whereJson);
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleOutService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleOutService.java
new file mode 100644
index 0000000..fa21953
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleOutService.java
@@ -0,0 +1,37 @@
+package org.nl.wms.warehouse_management.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.nl.common.domain.query.PageQuery;
+
+import java.util.Map;
+
+/**
+ *
+ * 空载具出库 服务类
+ *
+ *
+ * @author Liuxy
+ * @since 2025-08-13
+ */
+public interface VehicleOutService {
+
+ /**
+ * 分页查询
+ *
+ * @param whereJson : {查询参数}
+ * @param page : 分页对象
+ * @return 返回结果
+ */
+ IPage queryAll(Map whereJson, PageQuery page);
+
+ /**
+ * 新增载具出库
+ *
+ * @param whereJson {
+ * point_code: 出库点位
+ * sect_code: 库区编码
+ * }
+ */
+ void create(JSONObject whereJson);
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java
index ecb52aa..09b09c8 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java
@@ -8,8 +8,8 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
- * @author dsh
- * 2025/5/20
+ * @author Liuxy
+ * 2025/8/11
*/
@Data
@TableName("md_pb_groupplate")
@@ -28,7 +28,7 @@ public class GroupPlate implements Serializable {
private String storagevehicle_code;
/**
- * 物料标识
+ * 物料编码
*/
private String material_id;
@@ -58,10 +58,48 @@ public class GroupPlate implements Serializable {
private String remark;
/**
- * 状态 01组盘 02入库 03出库
+ * 状态
+ * 1-组盘 2-入库 3-出库
*/
private String status;
+ /**
+ * 供应商编码
+ */
+ private String supp_code;
+
+ /**
+ * 有效日期
+ */
+ private String quality_time;
+
+ /**
+ * 生产日期
+ */
+ private String produce_time;
+
+ /**
+ * 执行标准
+ */
+ private String execution_stand;
+
+ /**
+ * 烘干次数
+ */
+ private Integer bake_num;
+
+ /**
+ * 品质类型
+ * 1-待检,2-合格,3-不合格
+ */
+ private String quality_type;
+
+ /**
+ * 料箱类型
+ * 1-大料箱,2-小料箱
+ */
+ private String box_type;
+
/**
* 组盘人
*/
@@ -76,19 +114,4 @@ public class GroupPlate implements Serializable {
* 组盘时间
*/
private String create_time;
-
- /**
- * 来源单据号
- */
- private String ext_code;
-
- /**
- * 来源单据类型
- */
- private String ext_type;
-
- /**
- * 监区(A1/A2/A3/A4/A5/A6/A7/A9/A10/A11/A12/A14)
- */
- private String prison_area;
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.java
index 11219ec..bf491a6 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.java
@@ -1,12 +1,12 @@
package org.nl.wms.warehouse_management.service.dao.mapper;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.nl.wms.warehouse_management.service.dao.IOStorInv;
import org.nl.wms.warehouse_management.service.dto.GroupPlateDto;
-import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_management.service.dto.IOStorInvDtlDto;
import java.util.List;
@@ -21,7 +21,7 @@ public interface IOStorInvMapper extends BaseMapper {
IPage queryAllByPage (IPage page,@Param("params") Map whereJson);
- IPage getGroupPlate (IPage page, @Param("params") Map whereJson);
+ IPage getGroupPlate (IPage page, @Param("params") Map whereJson);
List getIODtl (@Param("params") Map whereJson);
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml
index e2638da..e9ef918 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml
@@ -47,26 +47,22 @@
ORDER BY ios.iostorinv_id Desc
-
*
* @author Liuxy
- * @since 2025-05-23
+ * @since 2025-08-11
*/
@Service
public class MdPbGroupplateServiceImpl extends ServiceImpl implements IMdPbGroupplateService {
+ /**
+ * 物料服务
+ */
+ @Autowired
+ private IMdMeMaterialbaseService iMdMeMaterialbaseService;
+
+ /**
+ * 载具服务
+ */
+ @Autowired
+ private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService;
+
+ /**
+ * 供应商服务
+ */
+ @Autowired
+ private IMdCsSupplierbaseService iMdCsSupplierbaseService;
+
+ /**
+ * 计量单位服务
+ */
+ @Autowired
+ private IMdPbMeasureunitService iMdPbMeasureunitService;
+
@Override
public IPage queryAll(Map whereJson, PageQuery page) {
return this.baseMapper.queryAllByPage(new Page<>(page.getPage() + 1, page.getSize()),
whereJson);
}
+ @Override
+ @Transactional
+ public void create(GroupPlate dto) {
+ // 校验此载具是否已经组盘
+ List groupList = this.list(
+ new QueryWrapper().lambda()
+ .in(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘"),
+ IOSEnum.GROUP_PLATE_STATUS.code("入库"))
+ .eq(GroupPlate::getStoragevehicle_code, dto.getStoragevehicle_code())
+ );
+ if (ObjectUtil.isNotEmpty(groupList)) {
+ throw new BadRequestException("当前载具已经组盘【" + dto.getStoragevehicle_code() + "】");
+ }
+
+ dto.setGroup_id(IdUtil.getStringId());
+ // 计量单位默认重量KG
+ MdPbMeasureunit unitDao = iMdPbMeasureunitService.getByCode("KG");
+ dto.setQty_unit_id(unitDao.getMeasure_unit_id());
+ dto.setQty_unit_name(unitDao.getUnit_name());
+ // 状态默认组盘
+ dto.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("组盘"));
+ dto.setQuality_time(dto.getQuality_time().substring(0,10));
+ dto.setProduce_time(dto.getProduce_time().substring(0,10));
+ dto.setCreate_id(SecurityUtils.getCurrentUserId());
+ dto.setCreate_name(SecurityUtils.getCurrentNickName());
+ dto.setCreate_time(DateUtil.now());
+ this.save(dto);
+ }
+
+ @Override
+ @Transactional
+ public void update(GroupPlate dto) {
+ dto.setQuality_time(dto.getQuality_time().substring(0,10));
+ dto.setProduce_time(dto.getProduce_time().substring(0,10));
+ this.updateById(dto);
+ }
+
+ @Override
+ public MdMeMaterialbase queryMater(JSONObject whereJson) {
+ return iMdMeMaterialbaseService.getByCode(whereJson.getString("material_code"));
+ }
+
+ @Override
+ public void checkVehicle(JSONObject whereJson) {
+ MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("storagevehicle_code"));
+ if (ObjectUtil.isEmpty(vehicleDao)) {
+ throw new BadRequestException("此载具不存在【" + whereJson.getString("storagevehicle_code") + "】");
+ }
+ }
+
+ @Override
+ public List querySupp(JSONObject whereJson) {
+ return iMdCsSupplierbaseService.list(
+ new QueryWrapper().lambda()
+ .eq(MdCsSupplierbase::getIs_delete, IOSConstant.IS_DELETE_NO)
+ .eq(MdCsSupplierbase::getIs_used, IOSConstant.IS_DELETE_YES)
+ );
+ }
+
@Override
@Transactional
public void delete(Set ids) {
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java
index 3c2f455..eab8703 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java
@@ -2,7 +2,6 @@ package org.nl.wms.warehouse_management.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
-import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
@@ -24,8 +23,6 @@ import org.nl.wms.basedata_manage.service.IBsrealStorattrService;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService;
import org.nl.wms.basedata_manage.service.IStructattrService;
import org.nl.wms.basedata_manage.service.dao.BsrealStorattr;
-import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
-import org.nl.wms.basedata_manage.service.dao.Structattr;
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
import org.nl.wms.basedata_manage.service.dto.MdPbStoragevehicleextDto;
import org.nl.wms.sch_manage.enums.TaskStatus;
@@ -33,7 +30,6 @@ import org.nl.wms.sch_manage.service.ISchBaseTaskService;
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
-import org.nl.wms.sch_manage.service.util.tasks.StInTask;
import org.nl.wms.sch_manage.service.util.tasks.StOutTask;
import org.nl.wms.warehouse_management.enums.IOSConstant;
import org.nl.wms.warehouse_management.enums.IOSEnum;
@@ -48,7 +44,6 @@ import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_management.service.dto.IOStorInvDtlDto;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -360,10 +355,6 @@ public class OutBillServiceImpl extends ServiceImpl i
queryDtl.put("unassign_flag", BaseDataEnum.IS_YES_NOT.code("是"));
queryDtl.put("iostorinv_id", iostorinv_id);
List dtls = ioStorInvMapper.getIODtl(queryDtl);
-// List dtls = ioStorInvDtlMapper.selectList(new LambdaQueryWrapper<>(IOStorInvDtl.class)
-// .le(IOStorInvDtl::getBill_status,IOSEnum.BILL_STATUS.code("分配完"))
-// .gt(IOStorInvDtl::getUnassign_qty,0)
-// .eq(IOStorInvDtl::getIostorinv_id, iostorinv_id));
if (ObjectUtil.isEmpty(dtls)) {
throw new BadRequestException("当前订单无可分配出库明细");
}
@@ -1137,7 +1128,6 @@ public class OutBillServiceImpl extends ServiceImpl i
groupPlateMapper.update(new GroupPlate(),new LambdaUpdateWrapper<>(GroupPlate.class)
.set(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("出库"))
.eq(GroupPlate::getPcsn,ioStorInvDis.getPcsn())
- .eq(GroupPlate::getMaterial_id,ioStorInvDis.getMaterial_id())
.eq(GroupPlate::getStoragevehicle_code,ioStorInvDis.getStoragevehicle_code())
);
}
@@ -1223,7 +1213,6 @@ public class OutBillServiceImpl extends ServiceImpl i
groupPlateMapper.update(new GroupPlate(),new LambdaUpdateWrapper<>(GroupPlate.class)
.set(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("出库"))
.eq(GroupPlate::getPcsn,ioStorInvDis.getPcsn())
- .eq(GroupPlate::getMaterial_id,ioStorInvDis.getMaterial_id())
.eq(GroupPlate::getStoragevehicle_code,ioStorInvDis.getStoragevehicle_code())
);
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/RawAssistIStorServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/RawAssistIStorServiceImpl.java
index c0a0768..e5af7a2 100644
--- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/RawAssistIStorServiceImpl.java
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/RawAssistIStorServiceImpl.java
@@ -5,10 +5,11 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
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 com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,8 +18,6 @@ import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
-import org.nl.config.SpringContextHolder;
-import org.nl.system.service.param.impl.SysParamServiceImpl;
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
import org.nl.wms.basedata_manage.service.IBsrealStorattrService;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService;
@@ -27,11 +26,11 @@ import org.nl.wms.basedata_manage.service.dao.BsrealStorattr;
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
import org.nl.wms.basedata_manage.service.dao.Structattr;
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleinfoMapper;
-import org.nl.wms.sch_manage.service.dao.SchBasePoint;
+import org.nl.wms.sch_manage.enums.TaskStatus;
+import org.nl.wms.sch_manage.service.ISchBaseTaskService;
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
-import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
import org.nl.wms.sch_manage.service.util.AbstractTask;
-import org.nl.wms.sch_manage.service.util.tasks.StInTask;
+import org.nl.wms.sch_manage.service.util.TaskFactory;
import org.nl.wms.warehouse_management.enums.IOSConstant;
import org.nl.wms.warehouse_management.enums.IOSEnum;
import org.nl.wms.warehouse_management.service.IRawAssistIStorService;
@@ -43,52 +42,82 @@ import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvMapper;
-import org.nl.wms.warehouse_management.service.dto.GroupPlateDto;
import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_management.service.dto.IOStorInvDtlDto;
-import org.springframework.data.domain.Pageable;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
-import java.math.BigDecimal;
import java.util.*;
-import java.util.stream.Collectors;
/**
- * @author dsh
- * 2025/5/19
+ * @author Liuxy
+ * 2025/8/12
*/
@Service
public class RawAssistIStorServiceImpl extends ServiceImpl implements IRawAssistIStorService {
+ /**
+ * 主表mapper
+ */
@Resource
private IOStorInvMapper ioStorInvMapper;
+ /**
+ * 仓库服务
+ */
@Resource
private IBsrealStorattrService iBsrealStorattrService;
+ /**
+ * 仓位服务
+ */
@Resource
private IStructattrService iStructattrService;
+ /**
+ * 明细mapper
+ */
@Resource
private IOStorInvDtlMapper ioStorInvDtlMapper;
+ /**
+ * 分配明细mapper
+ */
@Resource
private IOStorInvDisMapper ioStorInvDisMapper;
+ /**
+ * 载具服务
+ */
@Resource
private MdPbStoragevehicleinfoMapper mdPbStoragevehicleinfoMapper;
- @Resource
- private SchBasePointMapper schBasePointMapper;
-
+ /**
+ * 载具扩展信息服务
+ */
@Resource
private IMdPbStoragevehicleextService iMdPbStoragevehicleextService;
+ /**
+ * 组盘记录服务
+ */
@Resource
private GroupPlateMapper groupPlateMapper;
+ /**
+ * 任务工厂服务
+ */
+ @Autowired
+ private TaskFactory taskFactory;
+
+ /**
+ * 任务服务
+ */
+ @Autowired
+ private ISchBaseTaskService iSchBaseTaskService;
+
@Override
public IPage pageQuery(Map whereJson, PageQuery page) {
HashMap map = new HashMap<>();
@@ -114,7 +143,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(page.getPage()+1, page.getSize()), map);
+ return ioStorInvMapper.queryAllByPage(new Page<>(page.getPage() + 1, page.getSize()), map);
}
@Override
- public IPage getBillDtl(Map whereJson, PageQuery page) {
- return ioStorInvMapper.getGroupPlate(new Page<>(page.getPage()+1,page.getSize()),whereJson);
+ public IPage getBillDtl(Map whereJson, PageQuery page) {
+ return ioStorInvMapper.getGroupPlate(new Page<>(page.getPage() + 1, page.getSize()), whereJson);
}
@Override
@@ -181,23 +210,23 @@ public class RawAssistIStorServiceImpl extends ServiceImpl row = rows.get(i);
JSONObject ioStorInvDtl = new JSONObject();
ioStorInvDtl.putAll(row);
- ioStorInvDtl.put("iostorinvdtl_id",IdUtil.getStringId());
- ioStorInvDtl.put("iostorinv_id",iostorinv_id);
- ioStorInvDtl.put("seq_no",(i + 1)+"");
- ioStorInvDtl.put("material_id",row.get("material_id"));
- ioStorInvDtl.put("Pcsn",row.get("pcsn"));
- ioStorInvDtl.put("bill_status",IOSEnum.BILL_STATUS.code("生成"));
- ioStorInvDtl.put("qty_unit_id",row.get("qty_unit_id"));
- ioStorInvDtl.put("qty_unit_name",row.get("qty_unit_name"));
- ioStorInvDtl.put("source_bill_type",row.get("ext_type"));
- ioStorInvDtl.put("source_bill_code",row.get("ext_code"));
- ioStorInvDtl.put("assign_qty","0");
- ioStorInvDtl.put("unassign_qty",row.get("plan_qty"));
- ioStorInvDtl.put("plan_qty",row.get("plan_qty"));
+ ioStorInvDtl.put("iostorinvdtl_id", IdUtil.getStringId());
+ ioStorInvDtl.put("iostorinv_id", iostorinv_id);
+ ioStorInvDtl.put("seq_no", (i + 1) + "");
+ ioStorInvDtl.put("material_id", row.get("material_id"));
+ ioStorInvDtl.put("Pcsn", row.get("pcsn"));
+ ioStorInvDtl.put("bill_status", IOSEnum.BILL_STATUS.code("生成"));
+ ioStorInvDtl.put("qty_unit_id", row.get("qty_unit_id"));
+ ioStorInvDtl.put("qty_unit_name", row.get("qty_unit_name"));
+ ioStorInvDtl.put("source_bill_type", row.get("ext_type"));
+ ioStorInvDtl.put("source_bill_code", row.get("ext_code"));
+ ioStorInvDtl.put("assign_qty", "0");
+ ioStorInvDtl.put("unassign_qty", row.get("plan_qty"));
+ ioStorInvDtl.put("plan_qty", row.get("plan_qty"));
total_qty += Double.parseDouble(row.get("qty").toString());
//判断该载具编号是否已经存在库内
- Structattr structattr = iStructattrService.getOne(new LambdaQueryWrapper<>(Structattr.class).eq(Structattr::getStoragevehicle_code,row.get("storagevehicle_code")));
+ Structattr structattr = iStructattrService.getOne(new LambdaQueryWrapper<>(Structattr.class).eq(Structattr::getStoragevehicle_code, row.get("storagevehicle_code")));
if (ObjectUtil.isNotEmpty(structattr)) {
throw new BadRequestException("载具编码:" + row.get("storagevehicle_code") + "已存在库内,请对数据进行核实!");
}
@@ -260,45 +289,45 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDtl.class).eq(IOStorInvDtl::getIostorinv_id,iostorinv_id));
+ ioStorInvDtlMapper.delete(new LambdaQueryWrapper<>(IOStorInvDtl.class).eq(IOStorInvDtl::getIostorinv_id, iostorinv_id));
- ioStorInvDisMapper.delete(new LambdaQueryWrapper<>(IOStorInvDis.class).eq(IOStorInvDis::getIostorinv_id,iostorinv_id));
+ ioStorInvDisMapper.delete(new LambdaQueryWrapper<>(IOStorInvDis.class).eq(IOStorInvDis::getIostorinv_id, iostorinv_id));
ArrayList rows = (ArrayList) whereJson.get("tableData");
for (int i = 0; i < rows.size(); i++) {
HashMap row = rows.get(i);
JSONObject ioStorInvDtl = new JSONObject();
ioStorInvDtl.putAll(row);
- ioStorInvDtl.put("iostorinvdtl_id",IdUtil.getStringId());
- ioStorInvDtl.put("iostorinv_id",iostorinv_id);
- ioStorInvDtl.put("seq_no",(i + 1)+"");
- ioStorInvDtl.put("material_id",row.get("material_id"));
- ioStorInvDtl.put("Pcsn",row.get("pcsn"));
- ioStorInvDtl.put("bill_status",IOSEnum.BILL_STATUS.code("生成"));
- ioStorInvDtl.put("qty_unit_id",row.get("qty_unit_id"));
- ioStorInvDtl.put("qty_unit_name",row.get("qty_unit_name"));
- ioStorInvDtl.put("assign_qty",0);
- ioStorInvDtl.put("plan_qty",row.get("plan_qty"));
- ioStorInvDtl.put("unassign_qty",row.get("qty"));
+ ioStorInvDtl.put("iostorinvdtl_id", IdUtil.getStringId());
+ ioStorInvDtl.put("iostorinv_id", iostorinv_id);
+ ioStorInvDtl.put("seq_no", (i + 1) + "");
+ ioStorInvDtl.put("material_id", row.get("material_id"));
+ ioStorInvDtl.put("Pcsn", row.get("pcsn"));
+ ioStorInvDtl.put("bill_status", IOSEnum.BILL_STATUS.code("生成"));
+ ioStorInvDtl.put("qty_unit_id", row.get("qty_unit_id"));
+ ioStorInvDtl.put("qty_unit_name", row.get("qty_unit_name"));
+ ioStorInvDtl.put("assign_qty", 0);
+ ioStorInvDtl.put("plan_qty", row.get("plan_qty"));
+ ioStorInvDtl.put("unassign_qty", row.get("qty"));
//判断该载具编号是否已经存在库内
- Structattr structattr = iStructattrService.getOne(new LambdaQueryWrapper<>(Structattr.class).eq(Structattr::getStoragevehicle_code,row.get("storagevehicle_code")));
+ Structattr structattr = iStructattrService.getOne(new LambdaQueryWrapper<>(Structattr.class).eq(Structattr::getStoragevehicle_code, row.get("storagevehicle_code")));
if (ObjectUtil.isNotEmpty(structattr)) {
throw new BadRequestException("载具编码:" + row.get("storagevehicle_code") + "已存在库内,请对数据进行核实!");
}
@@ -348,9 +377,9 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDis.class)
- .eq(IOStorInvDis::getIostorinvdis_id,map.get("iostorinvdis_id"))
- .and(wrapper-> wrapper.isNull(IOStorInvDis::getStruct_code).or().eq(IOStorInvDis::getStruct_code,"")));
- if (ObjectUtil.isEmpty(ioStorInvDis)){
+ .eq(IOStorInvDis::getIostorinvdis_id, map.get("iostorinvdis_id"))
+ .and(wrapper -> wrapper.isNull(IOStorInvDis::getStruct_code).or().eq(IOStorInvDis::getStruct_code, "")));
+ if (ObjectUtil.isEmpty(ioStorInvDis)) {
throw new BadRequestException("该明细已经分配过货位,无法继续分配!");
}
@@ -367,7 +396,6 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(MdPbStoragevehicleinfo.class)
- .eq(MdPbStoragevehicleinfo::getStoragevehicle_code,map.get("storagevehicle_code"))
- );
- //判断仓位的长高宽是否能放下载具
- if (structattr.getWidth().compareTo(mdPbStoragevehicleinfo.getVehicle_width()) <0 &&
- structattr.getHeight().compareTo(mdPbStoragevehicleinfo.getVehicle_height()) <0 &&
- structattr.getZdepth().compareTo(mdPbStoragevehicleinfo.getVehicle_long()) <0){
- throw new BadRequestException("载具不符合,请检查!");
- }
sect_id = map.get("sect_id");
sect_code = map.get("sect_code");
sect_name = map.get("sect_name");
@@ -412,31 +429,31 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDis.class)
- .set(IOStorInvDis::getSect_id,dis_map.getString("sect_id"))
- .set(IOStorInvDis::getSect_code,dis_map.getString("sect_code"))
- .set(IOStorInvDis::getSect_name,dis_map.getString("sect_name"))
- .set(IOStorInvDis::getStruct_id,dis_map.getString("struct_id"))
- .set(IOStorInvDis::getStruct_code,dis_map.getString("struct_code"))
- .set(IOStorInvDis::getStruct_name,dis_map.getString("struct_name"))
- .eq(IOStorInvDis::getIostorinvdis_id,map.get("iostorinvdis_id"))
+ ioStorInvDisMapper.update(dis_map.toJavaObject(IOStorInvDis.class), new LambdaUpdateWrapper<>(IOStorInvDis.class)
+ .set(IOStorInvDis::getSect_id, dis_map.getString("sect_id"))
+ .set(IOStorInvDis::getSect_code, dis_map.getString("sect_code"))
+ .set(IOStorInvDis::getSect_name, dis_map.getString("sect_name"))
+ .set(IOStorInvDis::getStruct_id, dis_map.getString("struct_id"))
+ .set(IOStorInvDis::getStruct_code, dis_map.getString("struct_code"))
+ .set(IOStorInvDis::getStruct_name, dis_map.getString("struct_name"))
+ .eq(IOStorInvDis::getIostorinvdis_id, map.get("iostorinvdis_id"))
);
//维护单据明细表里 分配数量
JSONObject jsonObject = new JSONObject();
- jsonObject.put("iostorinvdtl_id",map.get("iostorinvdtl_id"));
- jsonObject.put("bill_status",IOSEnum.BILL_STATUS.code("分配完"));
- jsonObject.put("assign_qty",map.get("plan_qty"));
- jsonObject.put("unassign_qty","0");
+ jsonObject.put("iostorinvdtl_id", map.get("iostorinvdtl_id"));
+ jsonObject.put("bill_status", IOSEnum.BILL_STATUS.code("分配完"));
+ jsonObject.put("assign_qty", map.get("plan_qty"));
+ jsonObject.put("unassign_qty", "0");
ioStorInvDtlMapper.updateById(jsonObject.toJavaObject(IOStorInvDtl.class));
//根据单据标识判断分配明细是否都已经分配完成
int disCount = ioStorInvDisMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDis.class)
- .eq(IOStorInvDis::getIostorinv_id,map.get("iostorinv_id"))
- .and(wrapper -> wrapper.isNull(IOStorInvDis::getStruct_code).or().eq(IOStorInvDis::getStruct_code,"")));
+ .eq(IOStorInvDis::getIostorinv_id, map.get("iostorinv_id"))
+ .and(wrapper -> wrapper.isNull(IOStorInvDis::getStruct_code).or().eq(IOStorInvDis::getStruct_code, "")));
// 根据分配货位情况 更新主表单据状态
IOStorInv ios = new IOStorInv();
@@ -444,7 +461,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl0 ? IOSEnum.BILL_STATUS.code("分配中") : IOSEnum.BILL_STATUS.code("分配完"));
+ ios.setBill_status(disCount > 0 ? IOSEnum.BILL_STATUS.code("分配中") : IOSEnum.BILL_STATUS.code("分配完"));
ioStorInvMapper.updateById(ios);
}
@@ -465,31 +482,31 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDis.class)
- .set(IOStorInvDis::getSect_id,null)
- .set(IOStorInvDis::getSect_code,null)
- .set(IOStorInvDis::getSect_name,null)
- .set(IOStorInvDis::getStruct_id,null)
- .set(IOStorInvDis::getStruct_code,null)
- .set(IOStorInvDis::getStruct_name,null)
- .eq(IOStorInvDis::getIostorinvdis_id,jo.get("iostorinvdis_id"))
+ ioStorInvDisMapper.update(new IOStorInvDis(), new LambdaUpdateWrapper<>(IOStorInvDis.class)
+ .set(IOStorInvDis::getSect_id, null)
+ .set(IOStorInvDis::getSect_code, null)
+ .set(IOStorInvDis::getSect_name, null)
+ .set(IOStorInvDis::getStruct_id, null)
+ .set(IOStorInvDis::getStruct_code, null)
+ .set(IOStorInvDis::getStruct_name, null)
+ .eq(IOStorInvDis::getIostorinvdis_id, jo.get("iostorinvdis_id"))
);
//维护单据明细表里 分配数量
JSONObject jsonObject = new JSONObject();
- jsonObject.put("iostorinvdtl_id",jo.get("iostorinvdtl_id"));
- jsonObject.put("bill_status",IOSEnum.BILL_STATUS.code("生成"));
- jsonObject.put("assign_qty","0");
- jsonObject.put("unassign_qty",jo.get("plan_qty"));
+ jsonObject.put("iostorinvdtl_id", jo.get("iostorinvdtl_id"));
+ jsonObject.put("bill_status", IOSEnum.BILL_STATUS.code("生成"));
+ jsonObject.put("assign_qty", "0");
+ jsonObject.put("unassign_qty", jo.get("plan_qty"));
ioStorInvDtlMapper.updateById(jsonObject.toJavaObject(IOStorInvDtl.class));
//根据单据标识判断分配明细是否都已经分配完成
int disCount = ioStorInvDisMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDis.class)
- .eq(IOStorInvDis::getIostorinv_id,jo.get("iostorinv_id"))
- .and(wrapper -> wrapper.isNotNull(IOStorInvDis::getStruct_code).or().ne(IOStorInvDis::getStruct_code,"")));
+ .eq(IOStorInvDis::getIostorinv_id, jo.get("iostorinv_id"))
+ .and(wrapper -> wrapper.isNotNull(IOStorInvDis::getStruct_code).or().ne(IOStorInvDis::getStruct_code, "")));
// 根据分配货位情况 更新主表单据状态
IOStorInv ios = new IOStorInv();
@@ -497,7 +514,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl0 ? IOSEnum.BILL_STATUS.code("分配中") : IOSEnum.BILL_STATUS.code("生成"));
+ ios.setBill_status(disCount > 0 ? IOSEnum.BILL_STATUS.code("分配中") : IOSEnum.BILL_STATUS.code("生成"));
ioStorInvMapper.updateById(ios);
}
@@ -510,27 +527,25 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDis.class)
- .eq(IOStorInvDis::getIostorinvdis_id,map.get("iostorinvdis_id"))
- .and(wrapper -> wrapper.isNotNull(IOStorInvDis::getStruct_code).or().ne(IOStorInvDis::getStruct_code,"")));
- if (ObjectUtil.isEmpty(ioStorInvDis)){
+ .eq(IOStorInvDis::getIostorinvdis_id, map.get("iostorinvdis_id"))
+ .and(wrapper -> wrapper.isNotNull(IOStorInvDis::getStruct_code).or().ne(IOStorInvDis::getStruct_code, "")));
+ if (ObjectUtil.isEmpty(ioStorInvDis)) {
throw new BadRequestException("该明细还没分配货位,请先分配货位");
}
+
//创建任务
JSONObject task_form = new JSONObject();
- task_form.put("task_type", "STInTask");
- task_form.put("TaskCode",CodeUtil.getNewCode("TASK_CODE"));
- task_form.put("PickingLocation", point_code);
- task_form.put("PlacedLocation", ioStorInvDis.getStruct_code());
+ task_form.put("point_code1", point_code);
+ task_form.put("point_code2", ioStorInvDis.getStruct_code());
task_form.put("vehicle_code", map.get("storagevehicle_code"));
-// GroupPlate groupPlate = groupPlateMapper.selectOne(new LambdaQueryWrapper<>(GroupPlate.class)
-// .eq(GroupPlate::getStoragevehicle_code,map.get("storagevehicle_code"))
-// );
-// task_form.put("group_id", groupPlate.getGroup_id());
+ task_form.put("material_id", ioStorInvDis.getMaterial_id());
+ task_form.put("material_qty", ioStorInvDis.getPlan_qty());
- StInTask stInTask = SpringContextHolder.getBean("STInTask");
-
- String task_id = stInTask.create(task_form);
+ // 根据任务类创建任务
+ IOStorInv iosMstDao = ioStorInvMapper.selectById(ioStorInvDis.getIostorinv_id());
+ AbstractTask task = taskFactory.getTask(IOSEnum.IN_CONFIG_CODE.code(iosMstDao.getBill_type()));
+ String task_id = task.create(task_form);
//分配明细表更新任务相关数据
IOStorInvDis dis = new IOStorInvDis();
@@ -551,27 +566,27 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInv.class)
- .eq(IOStorInv::getIostorinv_id,whereJson.get("iostorinv_id"))
+ .eq(IOStorInv::getIostorinv_id, whereJson.get("iostorinv_id"))
);
- if (ObjectUtil.isNotEmpty(ioStorInv) && !IOSEnum.BILL_STATUS.code("分配完").equals(ioStorInv.getBill_status())){
+ if (ObjectUtil.isNotEmpty(ioStorInv) && !IOSEnum.BILL_STATUS.code("分配完").equals(ioStorInv.getBill_status())) {
throw new BadRequestException("主表状态必须为分配完!");
}
//解锁原货位点位
List storInvDisList = ioStorInvDisMapper.selectList(new LambdaQueryWrapper<>(IOStorInvDis.class)
- .eq(IOStorInvDis::getIostorinv_id,whereJson.get("iostorinv_id"))
+ .eq(IOStorInvDis::getIostorinv_id, whereJson.get("iostorinv_id"))
);
- for (IOStorInvDis ioStorInvDis: storInvDisList){
- if (StrUtil.isNotBlank(ioStorInvDis.getStruct_code())){
+ for (IOStorInvDis ioStorInvDis : storInvDisList) {
+ if (StrUtil.isNotBlank(ioStorInvDis.getStruct_code())) {
JSONObject finish_map = new JSONObject();
- finish_map.put("struct_code",ioStorInvDis.getStruct_code());
- finish_map.put("storagevehicle_code",ioStorInvDis.getStoragevehicle_code());
+ finish_map.put("struct_code", ioStorInvDis.getStruct_code());
+ finish_map.put("storagevehicle_code", ioStorInvDis.getStoragevehicle_code());
finish_map.put("inv_type", null);
finish_map.put("inv_id", null);
finish_map.put("inv_code", null);
- iStructattrService.updateStatusByCode("1",finish_map);
+ iStructattrService.updateStatusByCode("1", finish_map);
//修改库存
List updateIvtList = new ArrayList<>();
@@ -588,36 +603,41 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDis.class)
- .set(IOStorInvDis::getWork_status,IOSEnum.INBILL_DIS_STATUS.code("完成"))
- .set(IOStorInvDis::getReal_qty,ioStorInvDis.getPlan_qty())
- .eq(IOStorInvDis::getIostorinvdis_id,ioStorInvDis.getIostorinvdis_id())
- .ne(IOStorInvDis::getWork_status,IOSEnum.INBILL_DIS_STATUS.code("完成"))
+ ioStorInvDisMapper.update(ioStorInvDis, new LambdaUpdateWrapper<>(IOStorInvDis.class)
+ .set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("完成"))
+ .set(IOStorInvDis::getReal_qty, ioStorInvDis.getPlan_qty())
+ .eq(IOStorInvDis::getIostorinvdis_id, ioStorInvDis.getIostorinvdis_id())
+ .ne(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("完成"))
);
- ioStorInvDtlMapper.update(new IOStorInvDtl(),new LambdaUpdateWrapper<>(IOStorInvDtl.class)
- .set(IOStorInvDtl::getBill_status,IOSEnum.BILL_STATUS.code("完成"))
- .set(IOStorInvDtl::getReal_qty,ioStorInvDis.getPlan_qty())
- .eq(IOStorInvDtl::getIostorinvdtl_id,ioStorInvDis.getIostorinvdtl_id())
- .ne(IOStorInvDtl::getBill_status,IOSEnum.BILL_STATUS.code("完成"))
+ ioStorInvDtlMapper.update(new IOStorInvDtl(), new LambdaUpdateWrapper<>(IOStorInvDtl.class)
+ .set(IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
+ .set(IOStorInvDtl::getReal_qty, ioStorInvDis.getPlan_qty())
+ .eq(IOStorInvDtl::getIostorinvdtl_id, ioStorInvDis.getIostorinvdtl_id())
+ .ne(IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
);
//更新组盘记录表
- groupPlateMapper.update(new GroupPlate(),new LambdaUpdateWrapper<>(GroupPlate.class)
- .set(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("入库"))
- .eq(GroupPlate::getPcsn,ioStorInvDis.getPcsn())
- .eq(GroupPlate::getMaterial_id,ioStorInvDis.getMaterial_id())
- .eq(GroupPlate::getStoragevehicle_code,ioStorInvDis.getStoragevehicle_code())
+ groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class)
+ .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库"))
+ .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn())
+ .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code())
+ );
+ // 更新任务完成
+ iSchBaseTaskService.update(
+ new UpdateWrapper().lambda()
+ .eq(SchBaseTask::getTask_id, ioStorInvDis.getTask_id())
+ .set(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
);
}
//更新主表状态
- ioStorInvMapper.update(ioStorInv,new LambdaUpdateWrapper<>(IOStorInv.class)
- .set(IOStorInv::getBill_status,IOSEnum.BILL_STATUS.code("完成"))
- .set(IOStorInv::getConfirm_optid,currentUserId)
- .set(IOStorInv::getConfirm_optname,nickName)
- .set(IOStorInv::getConfirm_time,now)
- .eq(IOStorInv::getIostorinv_id,whereJson.get("iostorinv_id"))
+ ioStorInvMapper.update(ioStorInv, new LambdaUpdateWrapper<>(IOStorInv.class)
+ .set(IOStorInv::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
+ .set(IOStorInv::getConfirm_optid, currentUserId)
+ .set(IOStorInv::getConfirm_optname, nickName)
+ .set(IOStorInv::getConfirm_time, now)
+ .eq(IOStorInv::getIostorinv_id, whereJson.get("iostorinv_id"))
);
}
@@ -631,27 +651,27 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDis.class)
- .eq(IOStorInvDis::getTask_id,task.getTask_id())
+ .eq(IOStorInvDis::getTask_id, task.getTask_id())
);
- if (ObjectUtil.isEmpty(ioStorInvDis)){
+ if (ObjectUtil.isEmpty(ioStorInvDis)) {
throw new BadRequestException("未找到任务对应的分配明细");
}
// 完成当前分配明细
- ioStorInvDisMapper.update(ioStorInvDis,new LambdaUpdateWrapper<>(IOStorInvDis.class)
- .set(IOStorInvDis::getWork_status,IOSEnum.INBILL_DIS_STATUS.code("完成"))
- .set(IOStorInvDis::getReal_qty,ioStorInvDis.getPlan_qty())
- .eq(IOStorInvDis::getIostorinvdis_id,ioStorInvDis.getIostorinvdis_id())
+ ioStorInvDisMapper.update(ioStorInvDis, new LambdaUpdateWrapper<>(IOStorInvDis.class)
+ .set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("完成"))
+ .set(IOStorInvDis::getReal_qty, ioStorInvDis.getPlan_qty())
+ .eq(IOStorInvDis::getIostorinvdis_id, ioStorInvDis.getIostorinvdis_id())
);
//解锁库位
JSONObject finish_map = new JSONObject();
- finish_map.put("struct_code",ioStorInvDis.getStruct_code());
- finish_map.put("storagevehicle_code",ioStorInvDis.getStoragevehicle_code());
+ finish_map.put("struct_code", ioStorInvDis.getStruct_code());
+ finish_map.put("storagevehicle_code", ioStorInvDis.getStoragevehicle_code());
finish_map.put("inv_type", null);
finish_map.put("inv_id", null);
finish_map.put("inv_code", null);
- iStructattrService.updateStatusByCode("1",finish_map);
+ iStructattrService.updateStatusByCode("1", finish_map);
//修改库存
List updateIvtList = new ArrayList<>();
@@ -667,26 +687,25 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(GroupPlate.class)
- .set(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("入库"))
- .eq(GroupPlate::getPcsn,ioStorInvDis.getPcsn())
- .eq(GroupPlate::getMaterial_id,ioStorInvDis.getMaterial_id())
- .eq(GroupPlate::getStoragevehicle_code,ioStorInvDis.getStoragevehicle_code())
+ groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class)
+ .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库"))
+ .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn())
+ .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code())
);
// 查询该明细下是否还有未完成的分配明细
int countDis = ioStorInvDisMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDis.class)
- .eq(IOStorInvDis::getIostorinvdtl_id,ioStorInvDis.getIostorinvdtl_id())
- .ne(IOStorInvDis::getWork_status,IOSEnum.INBILL_DIS_STATUS.code("完成"))
+ .eq(IOStorInvDis::getIostorinvdtl_id, ioStorInvDis.getIostorinvdtl_id())
+ .ne(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("完成"))
);
// 明细
IOStorInvDtl ioStorInvDtl = ioStorInvDtlMapper.selectById(ioStorInvDis.getIostorinvdtl_id());
- if (ObjectUtil.isEmpty(ioStorInvDtl)){
+ if (ObjectUtil.isEmpty(ioStorInvDtl)) {
throw new BadRequestException("未找到明细");
}
// 如果分配明细全部完成则更新明细表状态
- if (countDis == 0){
+ if (countDis == 0) {
// 更新明细表状态
ioStorInvDtl.setReal_qty(ioStorInvDis.getPlan_qty());
ioStorInvDtl.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
@@ -694,19 +713,19 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(IOStorInvDtl.class)
- .eq(IOStorInvDtl::getIostorinv_id,ioStorInvDtl.getIostorinv_id())
- .ne(IOStorInvDtl::getBill_status,IOSEnum.BILL_STATUS.code("完成"))
+ .eq(IOStorInvDtl::getIostorinv_id, ioStorInvDtl.getIostorinv_id())
+ .ne(IOStorInvDtl::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
);
// 如果明细全部完成则更新主表状态
- if (countDtl == 0){
+ if (countDtl == 0) {
//更新主表状态
- ioStorInvMapper.update(new IOStorInv(),new LambdaUpdateWrapper<>(IOStorInv.class)
- .set(IOStorInv::getBill_status,IOSEnum.BILL_STATUS.code("完成"))
- .set(IOStorInv::getConfirm_optid,currentUserId)
- .set(IOStorInv::getConfirm_optname,nickName)
- .set(IOStorInv::getConfirm_time,now)
- .eq(IOStorInv::getIostorinv_id,ioStorInvDtl.getIostorinv_id())
+ ioStorInvMapper.update(new IOStorInv(), new LambdaUpdateWrapper<>(IOStorInv.class)
+ .set(IOStorInv::getBill_status, IOSEnum.BILL_STATUS.code("完成"))
+ .set(IOStorInv::getConfirm_optid, currentUserId)
+ .set(IOStorInv::getConfirm_optname, nickName)
+ .set(IOStorInv::getConfirm_time, now)
+ .eq(IOStorInv::getIostorinv_id, ioStorInvDtl.getIostorinv_id())
);
}
}
@@ -721,43 +740,36 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(MdPbStoragevehicleinfo.class)
- .eq(MdPbStoragevehicleinfo::getStoragevehicle_code,storagevehicle_code)
+ .eq(MdPbStoragevehicleinfo::getStoragevehicle_code, whereJson.getString("storagevehicle_code"))
);
- if (ObjectUtil.isEmpty(mdPbStoragevehicleinfo)){
+ if (ObjectUtil.isEmpty(mdPbStoragevehicleinfo)) {
throw new BadRequestException("没有该载具号信息");
}
-
- // 查询没有任务的仓位号 并且根据载具类型分配货位
- // 金属托盘 - 3 ,小料架 - 4, 大料架(短)-1 ,大料架(长) - 2
- List structattrList = iStructattrService.list(new LambdaQueryWrapper<>(Structattr.class)
- .eq(Structattr::getSect_id,sect_id)
- .eq(Structattr::getLock_type,IOSEnum.LOCK_TYPE.code("未锁定"))
- .and(wrapper -> wrapper.isNull(Structattr::getStoragevehicle_code).or().eq(Structattr::getStoragevehicle_code,""))
- .eq(mdPbStoragevehicleinfo.getStoragevehicle_type().equals(IOSEnum.VEHICLE_TYPE.code("金属托盘")),
- Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("金属托盘"))
- .eq(mdPbStoragevehicleinfo.getStoragevehicle_type().equals(IOSEnum.VEHICLE_TYPE.code("小料架")),
- Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("小料架"))
- .eq(mdPbStoragevehicleinfo.getStoragevehicle_type().equals(IOSEnum.VEHICLE_TYPE.code("大料架(短边)")),
- Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("大料架(短边)"))
- .eq(mdPbStoragevehicleinfo.getStoragevehicle_type().equals(IOSEnum.VEHICLE_TYPE.code("大料架(长边)")),
- Structattr::getStoragevehicle_type, IOSEnum.VEHICLE_TYPE_PUT.code("大料架(长边)"))
+ List attrList = iStructattrService.list(
+ new QueryWrapper().lambda()
+ .eq(Structattr::getIs_delete, IOSConstant.IS_DELETE_NO)
+ .eq(Structattr::getIs_used, IOSConstant.IS_DELETE_YES)
+ .eq(Structattr::getStoragevehicle_code, mdPbStoragevehicleinfo.getStoragevehicle_code())
);
- if (ObjectUtil.isEmpty(structattrList)){
- throw new BadRequestException("该库区没有仓位");
+
+ if (ObjectUtil.isNotEmpty(attrList)) {
+ throw new BadRequestException("该载具已在库内【" + mdPbStoragevehicleinfo.getStoragevehicle_code() + "】");
}
- // 过滤掉不满足载具长宽高的仓位
- Structattr structattr = structattrList.stream().filter(st ->
- st.getWidth().compareTo(mdPbStoragevehicleinfo.getVehicle_width()) >=0 &&
- st.getHeight().compareTo(mdPbStoragevehicleinfo.getVehicle_height()) >=0 &&
- st.getZdepth().compareTo(mdPbStoragevehicleinfo.getVehicle_long()) >=0
- ).findAny().get();
+ // 根据库区查询对应库位
+ Structattr structattr = iStructattrService.getOne(new LambdaQueryWrapper<>(Structattr.class)
+ .eq(Structattr::getSect_id, whereJson.getString("sect_id"))
+ .eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
+ .eq(Structattr::getIs_delete, IOSConstant.IS_DELETE_NO)
+ .eq(Structattr::getIs_used, IOSConstant.IS_DELETE_YES)
+ .and(wrapper -> wrapper.isNull(Structattr::getStoragevehicle_code).or().eq(Structattr::getStoragevehicle_code, ""))
+ .orderByAsc(Structattr::getStruct_code)
+ );
- if (ObjectUtil.isEmpty(structattr)){
+ if (ObjectUtil.isEmpty(structattr)) {
throw new BadRequestException("未找到满足的仓位");
}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/VehicleInServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/VehicleInServiceImpl.java
new file mode 100644
index 0000000..1e162ed
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/VehicleInServiceImpl.java
@@ -0,0 +1,148 @@
+package org.nl.wms.warehouse_management.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+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 org.nl.common.domain.query.PageQuery;
+import org.nl.common.exception.BadRequestException;
+import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
+import org.nl.wms.basedata_manage.service.IStructattrService;
+import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
+import org.nl.wms.basedata_manage.service.dao.Structattr;
+import org.nl.wms.sch_manage.enums.TaskEnum;
+import org.nl.wms.sch_manage.service.dao.mapper.SchBaseTaskMapper;
+import org.nl.wms.sch_manage.service.util.tasks.EmpVehicleInTask;
+import org.nl.wms.sch_manage.service.util.tasks.PdaPointTask;
+import org.nl.wms.warehouse_management.enums.IOSConstant;
+import org.nl.wms.warehouse_management.enums.IOSEnum;
+import org.nl.wms.warehouse_management.service.VehicleInService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 空载具入库 实现类
+ *
+ *
+ * @author Liuxy
+ * @since 2025-08-13
+ */
+@Service
+public class VehicleInServiceImpl implements VehicleInService {
+
+ /**
+ * 任务服务
+ */
+ @Autowired
+ private SchBaseTaskMapper schBaseTaskMapper;
+
+ /**
+ * 载具服务
+ */
+ @Autowired
+ private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService;
+
+ /**
+ * 仓位服务
+ */
+ @Resource
+ private IStructattrService iStructattrService;
+
+ /**
+ * 点对点任务类
+ */
+ @Resource
+ private PdaPointTask pdaPointTask;
+
+ /**
+ * 空载具入库任务类
+ */
+ @Resource
+ private EmpVehicleInTask empVehicleInTask;
+
+ @Override
+ public IPage queryAll(Map whereJson, PageQuery page) {
+ whereJson.put("config_code", EmpVehicleInTask.class.getSimpleName());
+ return schBaseTaskMapper.getVehicleTask(new Page<>(page.getPage() + 1, page.getSize()), whereJson);
+ }
+
+ @Override
+ @Transactional
+ public void create(JSONObject whereJson) {
+ // 校验载具是否存在
+ MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("storagevehicle_code"));
+ if (ObjectUtil.isEmpty(vehicleDao)) {
+ throw new BadRequestException("载具不存在【"+whereJson.getString("storagevehicle_code")+"】");
+ }
+
+ // 判断是否是称重位
+ if (whereJson.getString("point_code").equals(IOSConstant.CZW_POINT)) {
+ // 根据库区分配一个仓位
+ Structattr structattr = autoDivStruct(whereJson);
+ // 锁定仓位
+ structattr.setLock_type(IOSEnum.LOCK_TYPE.code("空托盘入库锁"));
+ iStructattrService.updateById(structattr);
+
+ // 创建任务
+ JSONObject jsonTask = new JSONObject();
+ jsonTask.put("point_code1", whereJson.getString("point_code"));
+ jsonTask.put("point_code2", structattr.getStruct_code());
+ jsonTask.put("vehicle_code", whereJson.getString("storagevehicle_code") );
+ empVehicleInTask.create(jsonTask);
+ } else {
+ // 生成库外站点至称重位的点位点任务
+ JSONObject jsonTask = new JSONObject();
+ jsonTask.put("point_code1", whereJson.getString("point_code"));
+ jsonTask.put("point_code2", IOSConstant.CZW_POINT);
+ jsonTask.put("vehicle_code", whereJson.getString("storagevehicle_code") );
+ jsonTask.put("task_type", TaskEnum.TASK_TYPE.code("载具"));
+ jsonTask.put("ext_group_data", whereJson.getString("sect_code"));
+ pdaPointTask.create(jsonTask);
+ }
+
+ }
+
+ /**
+ * 自动分配空位
+ * @param whereJson {
+ * sect_code: 库区编码
+ * storagevehicle_code: 载具编码
+ * }
+ * @return Structattr 仓位实体类
+ */
+ private Structattr autoDivStruct(JSONObject whereJson) {
+ List attrList = iStructattrService.list(
+ new QueryWrapper().lambda()
+ .eq(Structattr::getIs_delete, IOSConstant.IS_DELETE_NO)
+ .eq(Structattr::getIs_used, IOSConstant.IS_DELETE_YES)
+ .eq(Structattr::getStoragevehicle_code, whereJson.getString("storagevehicle_code"))
+ );
+
+ if (ObjectUtil.isNotEmpty(attrList)) {
+ throw new BadRequestException("该载具已在库内【" + whereJson.getString("storagevehicle_code") + "】");
+ }
+
+ // 根据库区查询对应库位
+ Structattr structattr = iStructattrService.getOne(new LambdaQueryWrapper<>(Structattr.class)
+ .eq(Structattr::getSect_code, whereJson.getString("sect_code"))
+ .eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
+ .eq(Structattr::getIs_delete, IOSConstant.IS_DELETE_NO)
+ .eq(Structattr::getIs_used, IOSConstant.IS_DELETE_YES)
+ .and(wrapper -> wrapper.isNull(Structattr::getStoragevehicle_code).or().eq(Structattr::getStoragevehicle_code, ""))
+ .orderByAsc(Structattr::getStruct_code)
+ );
+
+ if (ObjectUtil.isEmpty(structattr)) {
+ throw new BadRequestException("未找到满足的仓位");
+ }
+ return structattr;
+ }
+}
diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/VehicleOutServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/VehicleOutServiceImpl.java
new file mode 100644
index 0000000..89088c7
--- /dev/null
+++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/VehicleOutServiceImpl.java
@@ -0,0 +1,106 @@
+package org.nl.wms.warehouse_management.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+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.plugins.pagination.Page;
+import org.nl.common.domain.query.PageQuery;
+import org.nl.common.exception.BadRequestException;
+import org.nl.wms.basedata_manage.service.IStructattrService;
+import org.nl.wms.basedata_manage.service.dao.Structattr;
+import org.nl.wms.sch_manage.service.dao.mapper.SchBaseTaskMapper;
+import org.nl.wms.sch_manage.service.util.tasks.EmpVehicleOutTask;
+import org.nl.wms.warehouse_management.enums.IOSConstant;
+import org.nl.wms.warehouse_management.enums.IOSEnum;
+import org.nl.wms.warehouse_management.service.VehicleOutService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ *
+ * 空载具出库 实现类
+ *
+ *
+ * @author Liuxy
+ * @since 2025-08-13
+ */
+@Service
+public class VehicleOutServiceImpl implements VehicleOutService {
+
+ /**
+ * 任务服务
+ */
+ @Autowired
+ private SchBaseTaskMapper schBaseTaskMapper;
+
+ /**
+ * 仓位服务
+ */
+ @Resource
+ private IStructattrService iStructattrService;
+
+ /**
+ * 空载具入库任务类
+ */
+ @Resource
+ private EmpVehicleOutTask empVehicleOutTask;
+
+ @Override
+ public IPage queryAll(Map whereJson, PageQuery page) {
+ whereJson.put("config_code", EmpVehicleOutTask.class.getSimpleName());
+ return schBaseTaskMapper.getVehicleTask(new Page<>(page.getPage() + 1, page.getSize()), whereJson);
+ }
+
+ @Override
+ @Transactional
+ public void create(JSONObject whereJson) {
+ // 根据库区找空载具
+ Structattr structattr = autoDivStruct(whereJson);
+ // 锁定仓位
+ structattr.setLock_type(IOSEnum.LOCK_TYPE.code("空托盘出库锁"));
+ iStructattrService.updateById(structattr);
+
+ // 创建任务
+ JSONObject jsonTask = new JSONObject();
+ jsonTask.put("point_code1", structattr.getStruct_code());
+ jsonTask.put("point_code2", IOSConstant.CZW_POINT);
+ // 判断终点是否是称重位
+ jsonTask.put("point_code3", whereJson.getString("point_code").equals(IOSConstant.CZW_POINT)
+ ? "" : whereJson.getString("point_code")
+ );
+ jsonTask.put("vehicle_code", structattr.getStoragevehicle_code());
+ empVehicleOutTask.create(jsonTask);
+ }
+
+ /**
+ * 自动分配空位
+ *
+ * @param whereJson {
+ * sect_code: 库区编码
+ * }
+ * @return Structattr 仓位实体类
+ */
+ private Structattr autoDivStruct(JSONObject whereJson) {
+
+ // 根据库区查询对应载具
+ Structattr structattr = iStructattrService.getOne(new LambdaQueryWrapper<>(Structattr.class)
+ .eq(Structattr::getSect_code, whereJson.getString("sect_code"))
+ .eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
+ .eq(Structattr::getIs_delete, IOSConstant.IS_DELETE_NO)
+ .eq(Structattr::getIs_used, IOSConstant.IS_DELETE_YES)
+ .eq(Structattr::getIs_emptyvehicle, IOSConstant.IS_DELETE_YES)
+ .and(wrapper -> wrapper.isNotNull(Structattr::getStoragevehicle_code).or().ne(Structattr::getStoragevehicle_code, ""))
+ .orderByAsc(Structattr::getStruct_code)
+ );
+
+ if (ObjectUtil.isEmpty(structattr)) {
+ throw new BadRequestException("未找到满足的仓位");
+ }
+ return structattr;
+ }
+}
diff --git a/wms/nladmin-ui/src/views/wms/basedata/group/group.js b/wms/nladmin-ui/src/views/wms/basedata/group/group.js
index e927e8f..c973c02 100644
--- a/wms/nladmin-ui/src/views/wms/basedata/group/group.js
+++ b/wms/nladmin-ui/src/views/wms/basedata/group/group.js
@@ -24,4 +24,28 @@ export function edit(data) {
})
}
-export default { add, edit, del }
+export function queryMater(data) {
+ return request({
+ url: 'api/group/queryMater',
+ method: 'post',
+ data
+ })
+}
+
+export function checkVehicle(data) {
+ return request({
+ url: 'api/group/checkVehicle',
+ method: 'post',
+ data
+ })
+}
+
+export function querySupp(data) {
+ return request({
+ url: 'api/group/querySupp',
+ method: 'post',
+ data
+ })
+}
+
+export default { add, edit, del, queryMater, checkVehicle, querySupp }
diff --git a/wms/nladmin-ui/src/views/wms/basedata/group/index.vue b/wms/nladmin-ui/src/views/wms/basedata/group/index.vue
index ca31405..bb1336d 100644
--- a/wms/nladmin-ui/src/views/wms/basedata/group/index.vue
+++ b/wms/nladmin-ui/src/views/wms/basedata/group/index.vue
@@ -59,6 +59,152 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
@@ -84,12 +236,11 @@
label="操作"
width="150px"
lign="center"
+ fixed="right"
>
@@ -119,24 +270,34 @@ const defaultForm = {
qty: null,
remark: null,
status: null,
+ supp_code: null,
+ quality_time: null,
+ produce_time: new Date(),
+ execution_stand: null,
+ bake_num: null,
+ quality_type: '1',
+ box_type: null,
create_id: null,
create_name: null,
create_time: null,
- ext_code: null,
- ext_type: null
+ material_spec: null,
+ material_name: null
}
export default {
name: 'Group',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
// 数据字典
- dicts: ['is_used', 'GROUP_STATUS'],
+ dicts: ['is_used', 'GROUP_STATUS', 'BOX_TYPE', 'QUALITY_TYPE'],
cruds() {
return CRUD({
title: '组盘记录',
url: 'api/group',
optShow: {
- add: false,
+ add: true,
+ edit: false,
+ del: false,
+ download: false,
reset: true
},
idField: 'group_id',
@@ -147,18 +308,68 @@ export default {
data() {
return {
permission: {},
- classes: [],
+ suppList: [],
rules: {
+ material_code: [
+ { required: true, message: '物料不能为空', trigger: 'blur' }
+ ],
+ pcsn: [
+ { required: true, message: '批次不能为空', trigger: 'blur' }
+ ],
+ storagevehicle_code: [
+ { required: true, message: '载具不能为空', trigger: 'blur' }
+ ],
+ supp_code: [
+ { required: true, message: '供应商不能为空', trigger: 'blur' }
+ ],
+ quality_time: [
+ { required: true, message: '有效日期不能为空', trigger: 'blur' }
+ ],
+ produce_time: [
+ { required: true, message: '生产日期不能为空', trigger: 'blur' }
+ ],
+ box_type: [
+ { required: true, message: '料箱类型不能为空', trigger: 'blur' }
+ ]
}
}
},
+ created() {
+ crudGroup.querySupp({}).then(row => {
+ this.suppList = row
+ })
+ },
methods: {
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
+ queryMater(value) {
+ crudGroup.queryMater({ 'material_code': value }).then(row => {
+ this.form.material_spec = row.material_spec
+ this.form.material_name = row.material_name
+ this.form.material_id = row.material_id
+ }).catch(() => {
+ this.form.material_spec = ''
+ this.form.material_name = ''
+ this.form.material_code = ''
+ this.form.material_id = ''
+ })
+ },
+ checkVehicle(value) {
+ crudGroup.checkVehicle({ 'storagevehicle_code': value }).then(row => {
+ }).catch(() => {
+ this.form.storagevehicle_code = ''
+ })
+ },
formattStatus(row) {
return this.dict.label.GROUP_STATUS[row.status]
+ },
+ formattBoxType(row) {
+ return this.dict.label.BOX_TYPE[row.box_type]
+ },
+ formattQuality(row) {
+ return this.dict.label.QUALITY_TYPE[row.quality_type]
}
}
}
diff --git a/wms/nladmin-ui/src/views/wms/sch/task/index.vue b/wms/nladmin-ui/src/views/wms/sch/task/index.vue
index c59091d..47175a3 100644
--- a/wms/nladmin-ui/src/views/wms/sch/task/index.vue
+++ b/wms/nladmin-ui/src/views/wms/sch/task/index.vue
@@ -195,35 +195,32 @@
-
-
-
- {{ dict.label.vehicle_type[scope.row.vehicle_type] }}
-
-
-
+
+
+
+
+
+
+
+
-
-
-
+
+
{{ dict.label.finished_type[scope.row.finished_type]?dict.label.finished_type[scope.row.finished_type]:'未完成' }}
-
+
+
-
-
diff --git a/wms/nladmin-ui/src/views/wms/st/inbill/AddDialog.vue b/wms/nladmin-ui/src/views/wms/st/inbill/AddDialog.vue
index 56d9f2a..a1eb1ae 100644
--- a/wms/nladmin-ui/src/views/wms/st/inbill/AddDialog.vue
+++ b/wms/nladmin-ui/src/views/wms/st/inbill/AddDialog.vue
@@ -57,7 +57,6 @@
@@ -131,9 +130,11 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
-
+
+
+
diff --git a/wms/nladmin-ui/src/views/wms/st/inbill/AddDtl.vue b/wms/nladmin-ui/src/views/wms/st/inbill/AddDtl.vue
index 23bc34e..1036027 100644
--- a/wms/nladmin-ui/src/views/wms/st/inbill/AddDtl.vue
+++ b/wms/nladmin-ui/src/views/wms/st/inbill/AddDtl.vue
@@ -55,10 +55,14 @@
+
-
+
+
+
+
@@ -84,6 +88,7 @@ const start = new Date()
export default {
name: 'AddDtl',
components: { crudOperation, rrOperation, pagination, DateRangePicker },
+ dicts: ['BOX_TYPE'],
cruds() {
return CRUD({
title: '用户',
@@ -144,6 +149,9 @@ export default {
close() {
this.$emit('update:dialogShow', false)
},
+ formattBoxType(row) {
+ return this.dict.label.BOX_TYPE[row.box_type]
+ },
submit() {
this.$emit('update:dialogShow', false)
this.rows = this.$refs.multipleTable.selection
diff --git a/wms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue b/wms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue
index f9a11d0..943fdbe 100644
--- a/wms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue
+++ b/wms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue
@@ -157,6 +157,7 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
+
@@ -258,7 +259,7 @@ export default {
this.sects = res.content
})
- const area_type = 'NBJ01'
+ const area_type = 'INOUR01'
crudPoint.getPointList({ 'region_code': area_type }).then(res => {
this.pointlist = res
diff --git a/wms/nladmin-ui/src/views/wms/st/vehiclein/index.vue b/wms/nladmin-ui/src/views/wms/st/vehiclein/index.vue
new file mode 100644
index 0000000..96ebc4a
--- /dev/null
+++ b/wms/nladmin-ui/src/views/wms/st/vehiclein/index.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.vehicle_code ? scope.row.vehicle_code : '-' }}
+
+
+
+
+ {{ getStatusName(scope.row.task_status) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wms/nladmin-ui/src/views/wms/st/vehiclein/vehiclein.js b/wms/nladmin-ui/src/views/wms/st/vehiclein/vehiclein.js
new file mode 100644
index 0000000..138634a
--- /dev/null
+++ b/wms/nladmin-ui/src/views/wms/st/vehiclein/vehiclein.js
@@ -0,0 +1,27 @@
+import request from '@/utils/request'
+
+export function add(data) {
+ return request({
+ url: 'api/vehicleIn',
+ method: 'post',
+ data
+ })
+}
+
+export function del(ids) {
+ return request({
+ url: 'api/vehicleIn/',
+ method: 'delete',
+ data: ids
+ })
+}
+
+export function edit(data) {
+ return request({
+ url: 'api/vehicleIn',
+ method: 'put',
+ data
+ })
+}
+
+export default { add, edit, del }
diff --git a/wms/nladmin-ui/src/views/wms/st/vehicleout/index.vue b/wms/nladmin-ui/src/views/wms/st/vehicleout/index.vue
new file mode 100644
index 0000000..2ae041c
--- /dev/null
+++ b/wms/nladmin-ui/src/views/wms/st/vehicleout/index.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.vehicle_code ? scope.row.vehicle_code : '-' }}
+
+
+
+
+ {{ getStatusName(scope.row.task_status) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wms/nladmin-ui/src/views/wms/st/vehicleout/vehicleOut.js b/wms/nladmin-ui/src/views/wms/st/vehicleout/vehicleOut.js
new file mode 100644
index 0000000..4323973
--- /dev/null
+++ b/wms/nladmin-ui/src/views/wms/st/vehicleout/vehicleOut.js
@@ -0,0 +1,27 @@
+import request from '@/utils/request'
+
+export function add(data) {
+ return request({
+ url: 'api/vehicleOut',
+ method: 'post',
+ data
+ })
+}
+
+export function del(ids) {
+ return request({
+ url: 'api/vehicleOut/',
+ method: 'delete',
+ data: ids
+ })
+}
+
+export function edit(data) {
+ return request({
+ url: 'api/vehicleOut',
+ method: 'put',
+ data
+ })
+}
+
+export default { add, edit, del }
diff --git a/wms/nladmin-ui/src/views/wms/statement/structivt/index.vue b/wms/nladmin-ui/src/views/wms/statement/structivt/index.vue
index b1bdac4..c733183 100644
--- a/wms/nladmin-ui/src/views/wms/statement/structivt/index.vue
+++ b/wms/nladmin-ui/src/views/wms/statement/structivt/index.vue
@@ -89,7 +89,6 @@
-