diff --git a/nladmin-system/nlsso-server/pom.xml b/nladmin-system/nlsso-server/pom.xml index 19359ca..a2a3e95 100644 --- a/nladmin-system/nlsso-server/pom.xml +++ b/nladmin-system/nlsso-server/pom.xml @@ -405,7 +405,7 @@ commons-configuration ${configuration.version} - + com.alicp.jetcache jetcache-starter-redis diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/controller/MdBaseMaterialController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/controller/MdBaseMaterialController.java index a98a589..7025e65 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/controller/MdBaseMaterialController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/controller/MdBaseMaterialController.java @@ -17,9 +17,9 @@ import org.springframework.web.bind.annotation.*; import java.util.Map; import java.util.Set; /** -* @author lyd -* @date 2023-05-05 -**/ + * @author lyd + * @date 2023-05-05 + **/ @Slf4j @RestController @Api(tags = "物料基础信息管理") diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/IMdBaseMaterialService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/IMdBaseMaterialService.java index 05a4f3c..3b5d669 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/IMdBaseMaterialService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/IMdBaseMaterialService.java @@ -10,35 +10,37 @@ import java.util.Map; import java.util.Set; /** -* @description 服务接口 -* @author lyd -* @date 2023-05-05 -**/ + * @description 服务接口 + * @author lyd + * @date 2023-05-05 + **/ public interface IMdBaseMaterialService extends IService { /** - * 查询数据分页 - * @param whereJson 条件 - * @param pageable 分页参数 - * @return IPage - */ + * 查询数据分页 + * @param whereJson 条件 + * @param pageable 分页参数 + * @return IPage + */ IPage queryAll(Map whereJson, PageQuery pageable); /** - * 创建 - * @param entity / - */ + * 创建 + * @param entity / + */ void create(MdBaseMaterial entity); /** - * 编辑 - * @param entity / - */ + * 编辑 + * @param entity / + */ void update(MdBaseMaterial entity); /** - * 多选删除 - * @param ids / - */ + * 多选删除 + * @param ids / + */ void deleteAll(Set ids); + + MdBaseMaterial findByCode(String materialCode); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/MdBaseMaterial.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/MdBaseMaterial.java index 7ec52ab..4e2c551 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/MdBaseMaterial.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dao/MdBaseMaterial.java @@ -11,10 +11,10 @@ import java.io.Serializable; import java.math.BigDecimal; /** -* @description / -* @author lyd -* @date 2023-05-05 -**/ + * @description / + * @author lyd + * @date 2023-05-05 + **/ @Data @EqualsAndHashCode(callSuper = false) @TableName("md_base_material") @@ -26,9 +26,15 @@ public class MdBaseMaterial implements Serializable { @ApiModelProperty(value = "物料标识") private String material_id; - @ApiModelProperty(value = "物料编码") + @ApiModelProperty(value = "成品物料编码") private String material_code; + @ApiModelProperty(value = "半成品物料编码") + private String half_material_code; + + @ApiModelProperty(value = "原材料物料编码") + private String raw_material_code; + @ApiModelProperty(value = "物料名称 ") private String material_name; @@ -39,7 +45,10 @@ public class MdBaseMaterial implements Serializable { private String class_id; @ApiModelProperty(value = "静置时间(分钟)") - private BigDecimal standing_time; + private Integer standing_time; + + @ApiModelProperty(value = "冷却时间(分钟)") + private Integer cooling_time; @ApiModelProperty(value = "车间编码") private String workshop_code; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dto/MdBaseMaterialDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dto/MdBaseMaterialDto.java index 56354af..123ff66 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dto/MdBaseMaterialDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/dto/MdBaseMaterialDto.java @@ -5,10 +5,10 @@ import java.io.Serializable; import java.math.BigDecimal; /** -* @description / -* @author lyd -* @date 2023-05-05 -**/ + * @description / + * @author lyd + * @date 2023-05-05 + **/ @Data public class MdBaseMaterialDto implements Serializable { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java index 725232f..0029107 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java @@ -3,7 +3,9 @@ package org.nl.wms.database.material.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; 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; @@ -17,16 +19,17 @@ import org.nl.wms.database.material.service.dao.mapper.MdBaseMaterialMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.function.Consumer; /** -* @description 服务实现 -* @author lyd -* @date 2023-05-05 -**/ + * @description 服务实现 + * @author lyd + * @date 2023-05-05 + **/ @Slf4j @Service public class MdBaseMaterialServiceImpl extends ServiceImpl implements IMdBaseMaterialService { @@ -37,11 +40,14 @@ public class MdBaseMaterialServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page){ String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry")) ? whereJson.get("blurry").toString() : null; - Boolean is_used = ObjectUtil.isNotEmpty(whereJson.get("is_used")) ? Boolean.valueOf(whereJson.get("is_used").toString()) : null; - String workshop_code = ObjectUtil.isNotEmpty(whereJson.get("workshop_code")) ? whereJson.get("workshop_code").toString() : null; + Boolean is_used = ObjectUtil.isNotEmpty(whereJson.get("is_used")) + ? Boolean.valueOf(whereJson.get("is_used").toString()) : null; + String workshop_code = ObjectUtil.isNotEmpty(whereJson.get("workshop_code")) + ? whereJson.get("workshop_code").toString() : null; LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); lam.like(ObjectUtil.isNotEmpty(blurry), MdBaseMaterial::getMaterial_code, blurry) - .or(ObjectUtil.isNotEmpty(blurry), l -> l.like(ObjectUtil.isNotEmpty(blurry), MdBaseMaterial::getMaterial_name, blurry)) + .or(ObjectUtil.isNotEmpty(blurry), + l -> l.like(ObjectUtil.isNotEmpty(blurry), MdBaseMaterial::getMaterial_name, blurry)) .eq(ObjectUtil.isNotEmpty(is_used), MdBaseMaterial::getIs_used, is_used) .eq(ObjectUtil.isNotEmpty(workshop_code), MdBaseMaterial::getWorkshop_code, workshop_code); IPage pages = new Page<>(page.getPage() + 1, page.getSize()); @@ -86,4 +92,12 @@ public class MdBaseMaterialServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); + wrapper.lambda().eq(MdBaseMaterial::getMaterial_code, materialCode).eq(MdBaseMaterial::getIs_used, true); + List mdBaseMaterials = mdBaseMaterialMapper.selectList(wrapper); + return mdBaseMaterials.size() > 0 ? mdBaseMaterials.get(0) : null; + } + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java new file mode 100644 index 0000000..44ab83c --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java @@ -0,0 +1,37 @@ +package org.nl.wms.pda.controller; + +import cn.dev33.satoken.annotation.SaIgnore; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.wms.pda.service.PdaService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +/** + * @Author: lyd + * @Description: 手持接口 + * @Date: 2023/8/1 + */ +@Slf4j +@RestController +@Api(tags = "手持接口") +@RequestMapping("/api/pda") +public class PdaController { + @Autowired + private PdaService pdaService; + @SaIgnore + @ApiOperation("登录授权") + @PostMapping(value = "/login") + public JSONObject login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception { + return pdaService.login(authUser, request); + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java new file mode 100644 index 0000000..11045ab --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java @@ -0,0 +1,15 @@ +package org.nl.wms.pda.service; + +import com.alibaba.fastjson.JSONObject; +import org.nl.system.service.secutiry.dto.AuthUserDto; + +import javax.servlet.http.HttpServletRequest; + +/** + * @Author: lyd + * @Description: + * @Date: 2023/8/17 + */ +public interface PdaService { + JSONObject login(AuthUserDto authUser, HttpServletRequest request); +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.java new file mode 100644 index 0000000..a7e71b8 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.java @@ -0,0 +1,9 @@ +package org.nl.wms.pda.service.dao.mapper; + +/** + * @Author: lyd + * @Description: 手持mapper接口 + * @Date: 2023/8/1 + */ +public interface PdaMapper { +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.xml new file mode 100644 index 0000000..0ea35f1 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/mapper/PdaMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/vo/DropdownListVo.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/vo/DropdownListVo.java new file mode 100644 index 0000000..89093a8 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/vo/DropdownListVo.java @@ -0,0 +1,16 @@ +package org.nl.wms.pda.service.dao.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author: lyd + * @Description: 下拉框数据 + * @Date: 2023/8/1 + */ +@Data +public class DropdownListVo implements Serializable { + private String value; + private String text; +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/vo/PdaResponseVo.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/vo/PdaResponseVo.java new file mode 100644 index 0000000..c2757e9 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/vo/PdaResponseVo.java @@ -0,0 +1,20 @@ +package org.nl.wms.pda.service.dao.vo; + +import lombok.Data; + +/** + * @Author: lyd + * @Description: 手持返回 + * @Date: 2023/8/3 + */ +@Data +public class PdaResponseVo { + // 先提供一个message + private String message; + + public static PdaResponseVo pdaResultOk(String message) { + PdaResponseVo vo = new PdaResponseVo(); + vo.setMessage(message); + return vo; + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java new file mode 100644 index 0000000..230f5ab --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java @@ -0,0 +1,81 @@ +package org.nl.wms.pda.service.impl; + +import cn.dev33.satoken.secure.SaSecureUtil; +import cn.dev33.satoken.stp.SaLoginModel; +import cn.dev33.satoken.stp.StpUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.RsaUtils; +import org.nl.common.utils.dto.CurrentUser; +import org.nl.config.RsaProperties; +import org.nl.system.service.role.ISysRoleService; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.system.service.user.ISysUserService; +import org.nl.system.service.user.dao.SysUser; +import org.nl.wms.pda.service.PdaService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @Author: lyd + * @Description: + * @Date: 2023/8/17 + */ +@Slf4j +@Service +public class PdaServiceImpl implements PdaService { + @Autowired + private ISysUserService userService; + @Autowired + private ISysRoleService roleService; + @SneakyThrows + @Override + public JSONObject login(AuthUserDto authUser, HttpServletRequest request) { + // 密码解密 - 前端的加密规则: encrypt(根据实际更改) + String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); + // 校验数据库 + // 根据用户名查询,在比对密码 + SysUser userInfo = userService.getOne(new LambdaQueryWrapper() + .eq(SysUser::getUsername, authUser.getUsername())); // 拿不到已经抛出异常 + if (!userInfo.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 + throw new BadRequestException("账号或密码错误!"); + } + // 获取权限列表 - 登录查找权限 + List permissionList = roleService.getPermissionList((JSONObject) JSON.toJSON(userInfo)); + + if (!userInfo.getIs_used()) { + throw new BadRequestException("账号未激活"); + } + + // 登录输入,登出删除 + CurrentUser user = new CurrentUser(); + user.setId(userInfo.getUser_id()); + user.setUsername(userInfo.getUsername()); + user.setPresonName(userInfo.getPerson_name()); + user.setUser(userInfo); + user.setPermissions(permissionList); + + // SaLoginModel 配置登录相关参数 + StpUtil.login(userInfo.getUser_id(), new SaLoginModel() + .setDevice("PE") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型 + .setExtra("loginInfo", user) // Token挂载的扩展参数 (此方法只有在集成jwt插件时才会生效) + ); + + // 返回 token 与 用户信息 + JSONObject jsonObject = new JSONObject(); + jsonObject.put("user", userInfo); + JSONObject authInfo = new JSONObject(2) {{ + put("token", "Bearer " + StpUtil.getTokenValue()); + put("user", jsonObject); + }}; + + return authInfo; + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskconfigController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskConfigController.java similarity index 96% rename from nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskconfigController.java rename to nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskConfigController.java index 86f6b7c..992f47f 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskconfigController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskConfigController.java @@ -17,14 +17,14 @@ import org.springframework.web.bind.annotation.*; import java.util.Map; import java.util.Set; /** -* @author lyd -* @date 2023-05-15 -**/ + * @author lyd + * @date 2023-05-15 + **/ @Slf4j @RestController @Api(tags = "任务配置管理") @RequestMapping("/api/schBaseTaskconfig") -public class SchBaseTaskconfigController { +public class SchBaseTaskConfigController { @Autowired private ISchBaseTaskconfigService schBaseTaskconfigService; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskController.java index f747885..70eaece 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskController.java @@ -21,9 +21,9 @@ import sun.security.krb5.internal.PAData; import java.util.Map; import java.util.Set; /** -* @author lyd -* @date 2023-05-15 -**/ + * @author lyd + * @date 2023-05-15 + **/ @Slf4j @RestController @Api(tags = "任务管理管理") @@ -77,16 +77,6 @@ public class SchBaseTaskController { return new ResponseEntity<>(TableDataInfo.build(schBaseTaskService.getTaskStatusList()),HttpStatus.OK); } - @PostMapping("/apply") - @Log("新增任务管理") - @ApiOperation("新增任务管理") - //@SaCheckPermission("@el.check('schBaseTask:add')") - @SaIgnore - public ResponseEntity apply(@RequestBody Map param){ - schBaseTaskService.apply(JSONObject.parseObject(JSON.toJSONString(param))); - return new ResponseEntity<>(HttpStatus.CREATED); - } - @PutMapping("/operation") @Log("任务操作") @ApiOperation("任务操作") diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java index b04e381..74daf38 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import org.nl.common.domain.query.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.ext.acs.service.dto.to.BaseRequest; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.task.core.TaskStatus; @@ -82,7 +83,7 @@ public interface ISchBaseTaskService extends IService { /** * 任务申请 - * + * @see BaseRequest * @param param / */ void apply(JSONObject param); @@ -99,4 +100,6 @@ public interface ISchBaseTaskService extends IService { * @param param */ void operation(Map param); + + SchBaseTask getByCode(String taskCode); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTask.java index ac2e680..faf4fc9 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTask.java @@ -11,10 +11,10 @@ import java.math.BigDecimal; import java.io.Serializable; /** -* @description / -* @author lyd -* @date 2023-05-15 -**/ + * @description / + * @author lyd + * @date 2023-05-15 + **/ @Data @EqualsAndHashCode(callSuper = false) @TableName("sch_base_task") @@ -22,7 +22,10 @@ public class SchBaseTask implements Serializable { private static final long serialVersionUID = 1L; - @TableId(value = "task_code", type = IdType.NONE) + @TableId(value = "task_id", type = IdType.NONE) + @ApiModelProperty(value = "任务标识") + private String task_id; + @ApiModelProperty(value = "任务编码") private String task_code; @@ -45,15 +48,20 @@ public class SchBaseTask implements Serializable { @ApiModelProperty(value = "点位4") private String point_code4; + @ApiModelProperty(value = "组盘标识") + private String group_id; + @ApiModelProperty(value = "载具类型") private String vehicle_type; @ApiModelProperty(value = "载具数量") - private BigDecimal vehicle_qty; + private Integer vehicle_qty; @ApiModelProperty(value = "载具编码") private String vehicle_code; + @ApiModelProperty(value = "载具编码2") + private String vehicle_code2; @ApiModelProperty(value = "处理状态") private String handle_status; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTaskconfig.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTaskconfig.java index e7423ca..2d2356f 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTaskconfig.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTaskconfig.java @@ -13,10 +13,10 @@ import java.io.Serializable; import java.util.List; /** -* @description / -* @author lyd -* @date 2023-05-15 -**/ + * @description / + * @author lyd + * @date 2023-05-15 + **/ @Data @EqualsAndHashCode(callSuper = false) @TableName("sch_base_taskconfig") diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dto/SchBaseTaskDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dto/SchBaseTaskDto.java index a7cfed2..71b90d9 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dto/SchBaseTaskDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dto/SchBaseTaskDto.java @@ -1,17 +1,22 @@ package org.nl.wms.sch.task.service.dto; import java.math.BigDecimal; + +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; /** -* @description / -* @author lyd -* @date 2023-05-15 -**/ + * @description / + * @author lyd + * @date 2023-05-15 + **/ @Data public class SchBaseTaskDto implements Serializable { + /** 任务标识 */ + private String task_id; + /** 任务编码 */ private String task_code; @@ -34,6 +39,9 @@ public class SchBaseTaskDto implements Serializable { /** 点位4 */ private String point_code4; + @ApiModelProperty(value = "组盘标识") + private String group_id; + /** 载具类型 */ private String vehicle_type; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dto/SchBaseTaskconfigDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dto/SchBaseTaskconfigDto.java index eb845ba..bbcf18e 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dto/SchBaseTaskconfigDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dto/SchBaseTaskconfigDto.java @@ -5,10 +5,10 @@ import lombok.Data; import java.io.Serializable; /** -* @description / -* @author lyd -* @date 2023-05-15 -**/ + * @description / + * @author lyd + * @date 2023-05-15 + **/ @Data public class SchBaseTaskconfigDto implements Serializable { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 0d18d0e..b11ed3c 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil; 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.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -49,13 +50,20 @@ public class SchBaseTaskServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page) { - String task_code = ObjectUtil.isNotEmpty(whereJson.get("task_code")) ? whereJson.get("task_code").toString() : null; - String vehicle_code = ObjectUtil.isNotEmpty(whereJson.get("vehicle_code")) ? whereJson.get("vehicle_code").toString() : null; - String point_code = ObjectUtil.isNotEmpty(whereJson.get("point_code")) ? whereJson.get("point_code").toString() : null; - String begin_time = ObjectUtil.isNotEmpty(whereJson.get("begin_time")) ? whereJson.get("begin_time").toString() : null; - String end_time = ObjectUtil.isNotEmpty(whereJson.get("end_time")) ? whereJson.get("end_time").toString() : null; - String more_task_status = ObjectUtil.isNotEmpty(whereJson.get("more_task_status")) ? whereJson.get("more_task_status").toString() : null; - List collect = ObjectUtil.isNotEmpty(more_task_status)?Arrays.stream(more_task_status.split(",")).collect(Collectors.toList()):null; + String task_code = ObjectUtil.isNotEmpty(whereJson.get("task_code")) + ? whereJson.get("task_code").toString() : null; + String vehicle_code = ObjectUtil.isNotEmpty(whereJson.get("vehicle_code")) + ? whereJson.get("vehicle_code").toString() : null; + String point_code = ObjectUtil.isNotEmpty(whereJson.get("point_code")) + ? whereJson.get("point_code").toString() : null; + String begin_time = ObjectUtil.isNotEmpty(whereJson.get("begin_time")) + ? whereJson.get("begin_time").toString() : null; + String end_time = ObjectUtil.isNotEmpty(whereJson.get("end_time")) + ? whereJson.get("end_time").toString() : null; + String more_task_status = ObjectUtil.isNotEmpty(whereJson.get("more_task_status")) + ? whereJson.get("more_task_status").toString() : null; + List collect = ObjectUtil.isNotEmpty(more_task_status) + ? Arrays.stream(more_task_status.split(",")).collect(Collectors.toList()) : null; String unFinished = null; if (collect != null) { if (collect.contains(TaskStatus.UNFINISHED.getCode())) { @@ -116,8 +124,8 @@ public class SchBaseTaskServiceImpl extends ServiceImpl lam = new LambdaQueryWrapper<>(); lam.eq(SchBaseTask::getConfig_code, config_code) .lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) - .ne(SchBaseTask::getTask_code, task_code) - .ne(SchBaseTask::getIs_delete, true); + .ne(SchBaseTask::getTask_code, task_code) // 不是当前任务 + .eq(SchBaseTask::getIs_delete, false); List schBaseTasks = schBaseTaskMapper.selectList(lam); return schBaseTasks; } @@ -125,6 +133,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl findUnFinishTasksByTaskConfig(String config_code, String device_code, String direction) { Assert.notNull(config_code, "任务配置编码不能为空!"); + Assert.notNull(direction, "任务配置编置的方向不能为空!"); LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); lam.eq(SchBaseTask::getConfig_code, config_code) .lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) @@ -154,6 +163,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl param) { String task_code = ObjectUtil.isNotEmpty(param.get("task_code")) ? param.get("task_code").toString() : null; String method_name = ObjectUtil.isNotEmpty(param.get("method_name")) ? param.get("method_name").toString() : null; + String config_code = ObjectUtil.isNotEmpty(param.get("config_code")) ? param.get("config_code").toString() : null; + if (ObjectUtil.isEmpty(task_code) || ObjectUtil.isEmpty(method_name) || ObjectUtil.isEmpty(config_code)) { + throw new BadRequestException("操作失败"); + } // 根据标识找到任务 - SchBaseTask taskOne = schBaseTaskMapper.selectById(task_code); + SchBaseTask taskOne = this.getByCode(task_code); if (Integer.parseInt(taskOne.getTask_status()) >= Integer.parseInt(TaskStatus.FINISHED.getCode())) { throw new BadRequestException("任务已完成或已取消!"); } // 根据配置去工厂类获得类对象 - String processing_class = "HNMLTask"; + String processing_class = config_code; String message = ""; // 根据任务类型获取对应的任务操作类 AbstractTask abstractTask = taskFactory.getTask(processing_class); @@ -238,4 +236,11 @@ public class SchBaseTaskServiceImpl extends ServiceImpl lam = new QueryWrapper().lambda(); + lam.eq(SchBaseTask::getTask_code, taskCode); + return this.getOne(lam); + } + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java index 3c231b2..325eae2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java @@ -1,10 +1,18 @@ package org.nl.wms.sch.task_manage; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.http.HttpStatus; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; +import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse; +import org.nl.wms.ext.record.service.ISysInteractRecordService; import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService; import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder; import org.nl.wms.sch.point.service.ISchBasePointService; @@ -14,20 +22,23 @@ import org.nl.wms.sch.task.service.ISchBaseTaskconfigService; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig; import org.nl.wms.sch.task_manage.enums.TaskDirectionEnum; -import org.nl.wms.sch.task_manage.task.AcsUtil; +import org.nl.wms.sch.task_manage.enums.WorkOrderStatusEnum; import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.util.TaskUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; /** * @author ldjun * @version 1.0 * @date 2023年05月16日 16:42 - * @desc desc + * @desc 任务抽象父类,申请任务的相关率先判断以及生成,接着到子类执行任务的创建,最后统一通过定时任务去下发到ACS */ +@Slf4j @Component public abstract class AbstractTask { @Autowired @@ -38,6 +49,10 @@ public abstract class AbstractTask { private ISchBasePointService pointService; @Autowired private IPdmBdWorkorderService workorderService; + @Autowired + private ISysInteractRecordService interactRecordService; + @Autowired + private WmsToAcsService wmsToAcsService; /** * 任务创建 @@ -52,7 +67,7 @@ public abstract class AbstractTask { * @author ldjun * @created 2020年6月12日 下午5:52:28 */ - protected JSONObject renotifyAcs(SchBaseTask task) { + protected AcsResponse renotifyAcs(SchBaseTask task) { Assert.notNull(task); List taskList = new ArrayList<>(); taskList.add(task); @@ -65,26 +80,65 @@ public abstract class AbstractTask { * @author ldjun * @created 2020年6月12日 下午5:52:28 */ - protected JSONObject renotifyAcs(List taskList) { + protected AcsResponse renotifyAcs(List taskList) { + AcsResponse resultForAcs = AcsResponse.requestOk(); //1、获取任务 //2、根据任务配置补全任务 //3、下发 - List list = new ArrayList<>(); + List list = new CopyOnWriteArrayList<>(); for (SchBaseTask task : taskList) { AcsTaskDto taskDto = new AcsTaskDto(); - taskDto.setExt_task_uuid(task.getTask_code()); + String responseParam = task.getResponse_param(); + if (ObjectUtil.isNotEmpty(responseParam)) { + JSONObject jsonObject = JSONObject.parseObject(responseParam); + taskDto.setDirection(jsonObject.getString("direction")); + } + taskDto.setExt_task_uuid(task.getTask_id()); taskDto.setTask_code(task.getTask_code()); - taskDto.setRoute_plan_code("normal"); taskDto.setStart_device_code(task.getPoint_code1()); taskDto.setNext_device_code(task.getPoint_code2()); + taskDto.setStart_device_code2(task.getPoint_code3()); + taskDto.setNext_device_code2(task.getPoint_code4()); taskDto.setVehicle_code(task.getVehicle_code()); - + taskDto.setVehicle_code2(task.getVehicle_code2()); this.setTask(task.getConfig_code(), taskDto); list.add(taskDto); } - - return AcsUtil.notifyAcs("api/wms/task", list); + try { + // 创建下发对象 + resultForAcs = wmsToAcsService.renotifyAcs(list); + } catch (Exception e) { + log.error("任务下发异常: {}", e.getMessage()); + resultForAcs.setResponseDate(DateUtil.now()); + resultForAcs.setCode(HttpStatus.HTTP_BAD_REQUEST); + resultForAcs.setMessage(e.getMessage()); + } + // 如果下发完毕,就修改状态 + if (resultForAcs.getCode() == 200) { + // 解析 + JSONArray errArr = resultForAcs.getErrArr(); + for (SchBaseTask schBaseTask : taskList) { + if (errArr == null) { + schBaseTask.setTask_status(TaskStatus.ISSUED.getCode()); + } else { + schBaseTask.setTask_status(TaskStatus.ISSUED.getCode()); + // 判断是否是出错的任务 + for (int i = 0; i < errArr.size(); i++) { + JSONObject errObj = errArr.getJSONObject(i); + String taskCode = errObj.getString("task_code"); + if (taskCode.equals(schBaseTask.getTask_code())) { + // 出错的任务就设置出错信息为备注,不是出错就设置下发 + schBaseTask.setTask_status(TaskStatus.CREATED.getCode()); + schBaseTask.setRemark(errObj.getString("message")); + break; + } + } + } + } + taskService.updateBatchById(taskList); + } + return resultForAcs; } private AcsTaskDto setTask(String config_code, AcsTaskDto taskDto) { @@ -103,6 +157,20 @@ public abstract class AbstractTask { public void schedule() { this.autoCreate(); this.create(); + // 下发 + this.getAllFinishTask(); + } + + public void getAllFinishTask() { + List list = taskService.list(new LambdaQueryWrapper() + .eq(SchBaseTask::getTask_status, TaskStatus.CREATED.getCode())); + if (ObjectUtil.isEmpty(list)) return; + // 下发 + this.renotifyAcs(list); + } + + public void updateTaskStatus(String task_code, TaskStatus status) { + this.updateStatus(task_code, status); } @@ -113,6 +181,7 @@ public abstract class AbstractTask { } + // 以下改为public会出现自动注入类出现问题 protected abstract void updateStatus(String task_code, TaskStatus status); @@ -133,6 +202,15 @@ public abstract class AbstractTask { } + /** + * 首先组盘在下发任务 + * + * @param param 具体参数 + */ + public String setGroupPlate(JSONObject param) { + return ""; + } + /** * @param task_code 任务标识 * @return @@ -149,7 +227,6 @@ public abstract class AbstractTask { */ public abstract void cancel(String task_code); - /** * 申请任务 * @@ -159,35 +236,42 @@ public abstract class AbstractTask { public void apply(JSONObject param) throws BadRequestException { // 申请任务 SchBaseTask task = new SchBaseTask(); // 任务实体 - String apply_point_code = param.getString("device_code"); - String config_code = param.getString("config_code"); // "HNMLTask" + String apply_point_code = param.getString("device_code"); // 请求点 + String config_code = param.getString("config_code"); + String requestNo = param.getString("requestNo"); + String vehicleType = TaskUtils.toAcsVehicleTypeShift(param.getString("vehicle_type")); + String vehicleCode = TaskUtils.defaultVehicleCode(param.getString("vehicle_code")); // 1、校验数据 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, config_code)); + Assert.notNull(taskConfig, "找不到配置文件,请确认[" + config_code + "]配置是否存在!"); // 最大任务数 Integer tcmn = taskConfig.getTask_create_max_num(); - List unFinishTasksByTaskConfig = taskService - .findUnFinishTasksByTaskConfig(taskConfig.getConfig_code(), apply_point_code, taskConfig.getTask_direction()); + // 获取执行中的任务 + List unFinishTasksByTaskConfig = taskService.findUnFinishTasksByTaskConfig( + taskConfig.getConfig_code(), apply_point_code, taskConfig.getTask_direction()); - Assert.isFalse(unFinishTasksByTaskConfig.size() >= tcmn, "该点位申请的任务未完成数已超过上限,无法申请任务"); + Assert.isFalse(unFinishTasksByTaskConfig.size() >= tcmn, + apply_point_code + "该点位申请的任务未完成数已超过上限,无法申请任务"); // 获取对接位点位对象 - SchBasePoint pointObj = pointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, apply_point_code)); + SchBasePoint pointObj = pointService.getOne(new LambdaQueryWrapper() + .eq(SchBasePoint::getPoint_code, apply_point_code)); // 判断是否校验工单 if (taskConfig.getIs_check_workorder()) { // 校验工单 // 根据对接位的父点位编码(设备)找到工单设备 - SchBasePoint one = pointService.getOne(new LambdaQueryWrapper() + SchBasePoint parentPoint = pointService.getOne(new LambdaQueryWrapper() .eq(SchBasePoint::getPoint_code, pointObj.getParent_point_code())); - // 查找当前设备、生产中、 + // 查找当前设备、生产中 PdmBdWorkorder workorder = workorderService.getOne(new LambdaQueryWrapper() - .eq(PdmBdWorkorder::getPoint_code, one.getPoint_code()) - .eq(PdmBdWorkorder::getWorkorder_status, "3")); + .eq(PdmBdWorkorder::getPoint_code, parentPoint.getPoint_code()) + .eq(PdmBdWorkorder::getWorkorder_status, WorkOrderStatusEnum.PRODUCING.getCode())); if (ObjectUtil.isEmpty(workorder)) { - throw new BadRequestException("当前设备工单未生产!"); + throw new BadRequestException("设备" + parentPoint.getPoint_code() + "工单未生产!"); } - param.put("workorder_code", workorder.getWorkorder_code()); // 静置时间 + param.put("workorder_code", workorder.getWorkorder_code()); // 工单编码 // 设置任务数据 - task.setVehicle_type(workorder.getVehicle_type()); + vehicleType = workorder.getVehicle_type(); } // 校验是否需要自动agv if (!pointObj.getIs_auto()) { @@ -195,16 +279,23 @@ public abstract class AbstractTask { return; } // 2、创建申请任务 - task.setAcs_trace_id(param.getString("acs_trace_id")); + task.setAcs_trace_id(requestNo); + task.setTask_id(IdUtil.getSnowflake(1,1).nextIdStr()); + task.setTask_code(IdUtil.getSnowflake(1, 1).nextIdStr()); task.setConfig_code(config_code); - task.setCreate_mode(param.getString("create_mode")); - task.setVehicle_code(param.getString("vehicle_code")); + task.setCreate_mode(GeneralDefinition.ACS_CREATION); + task.setVehicle_code(vehicleCode); + task.setVehicle_qty(param.getInteger("vehicle_qty")); + task.setVehicle_type(vehicleType); task.setTask_status(TaskStatus.APPLY.getCode()); + task.setWorkshop_code(taskConfig.getWorkshop_code()); // 车间编码 // 设置起/终点 this.setTaskPoint(taskConfig, task, apply_point_code); - task.setExt_group_data(JSONObject.toJSONString(param)); - taskService.create(task); - + // 设置组盘 - 需要的话由子类自行实现 + task.setGroup_id(this.setGroupPlate(param)); + task.setRequest_param(JSONObject.toJSONString(param)); + TaskUtils.setCreateByAcs(task); // 设置创建人信息 + taskService.save(task); // 创建一条单点任务。 // 3、判断是否直接找点下发 if (taskConfig.getIs_immediate_create()) { this.create(); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsTaskDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsTaskDto.java index 4b11d7d..a26b506 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsTaskDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsTaskDto.java @@ -2,29 +2,122 @@ package org.nl.wms.sch.task_manage; import lombok.Data; +import java.util.Map; + @Data public class AcsTaskDto { - //任务标识 + /** + * 任务标识 + */ private String ext_task_uuid; - //任务编码 - private String task_code; - //任务类型 - private String task_type; - //起点 - private String start_device_code; - //下一点 - private String next_device_code; - //载具号 - private String vehicle_code; - //载具类型 - private String vehicle_type; - //优先级 - private String priority; - //备注 - private String remark; - //扩展参数 - private String params; - //路由类型 - private String route_plan_code; + /** + * 任务编号 + */ + private String task_code; + + + /** + * 取货点1 + */ + String start_device_code; + + /** + * 放货点1 + */ + String next_device_code; + + /** + * 取货点2 + */ + String start_device_code2; + + /** + * 放货点2 + */ + String next_device_code2; + + /** + * 对接位 + */ + String put_device_code; + + /** + * 优先级 + */ + String priority; + + /** + * 载具号 + */ + String vehicle_code; + + /** + * 载具号2 + */ + String vehicle_code2; + + /** + * 载具类型 + */ + String vehicle_type; + + /** + * 路由方案 + */ + String route_plan_code; + + /** + * 任务类型 + */ + String task_type; + + /** + * 立库任务类型 + * + */ + String dtl_type; + + /** + * Agv系统类型 + * 1:1楼叉车系统 + * 2:2楼1区域AGV系统 + * 3:2楼2区域AGV系统 + */ + String agv_system_type; + + /** + * 备注 + */ + String remark; + + /** + * 烘箱时间 + */ + String oven_time; + + /** + * 烘箱温度 + */ + String temperature; + + /** + * agv取货高度 + */ + private String start_height; + + /** + * agv放货高度 + */ + private String next_height; + + /** + * 方向 1往左 2往右 + */ + private String direction; + + /** + * 扩展属性 + */ + Map params; } diff --git a/nladmin-ui/src/views/wms/basedata/material/index.vue b/nladmin-ui/src/views/wms/basedata/material/index.vue index 0f93777..687bfec 100644 --- a/nladmin-ui/src/views/wms/basedata/material/index.vue +++ b/nladmin-ui/src/views/wms/basedata/material/index.vue @@ -73,10 +73,13 @@ + + + @@ -121,10 +124,13 @@ import pagination from '@crud/Pagination' const defaultForm = { material_id: null, material_code: null, + half_material_code: null, + raw_material_code: null, material_name: null, material_spec: null, class_id: null, standing_time: null, + cooling_time: null, workshop_code: null, remark: null, is_used: true, diff --git a/nladmin-ui/src/views/wms/pdm/workerorder/index.vue b/nladmin-ui/src/views/wms/pdm/workerorder/index.vue index 068b73f..03a2587 100644 --- a/nladmin-ui/src/views/wms/pdm/workerorder/index.vue +++ b/nladmin-ui/src/views/wms/pdm/workerorder/index.vue @@ -531,7 +531,7 @@ export default { this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.toQuery() }) - }, + } } } diff --git a/nladmin-ui/src/views/wms/sch/group/MaterialDialog.vue b/nladmin-ui/src/views/wms/sch/group/MaterialDialog.vue index 4747488..b9faaae 100644 --- a/nladmin-ui/src/views/wms/sch/group/MaterialDialog.vue +++ b/nladmin-ui/src/views/wms/sch/group/MaterialDialog.vue @@ -55,9 +55,11 @@ + + - + @@ -101,6 +103,10 @@ export default { isSingle: { type: Boolean, default: true + }, + flag: { + type: Number, + default: 1 } }, data() { @@ -143,7 +149,7 @@ export default { // 处理单选 if (this.isSingle && this.tableRadio) { this.$emit('update:dialogShow', false) - this.$emit('tableChanged', this.tableRadio) + this.$emit('tableChanged', this.tableRadio, this.flag) return } this.rows = this.$refs.table.selection @@ -153,14 +159,14 @@ export default { } this.crud.resetQuery(false) this.$emit('update:dialogShow', false) - this.$emit('tableChanged', this.rows) + this.$emit('tableChanged', this.rows, this.flag) } } } diff --git a/nladmin-ui/src/views/wms/sch/group/WorkOrderDialog.vue b/nladmin-ui/src/views/wms/sch/group/WorkOrderDialog.vue index 0a48b4b..58bc639 100644 --- a/nladmin-ui/src/views/wms/sch/group/WorkOrderDialog.vue +++ b/nladmin-ui/src/views/wms/sch/group/WorkOrderDialog.vue @@ -146,8 +146,8 @@ export default { } diff --git a/nladmin-ui/src/views/wms/sch/group/index.vue b/nladmin-ui/src/views/wms/sch/group/index.vue index b81e73b..5a2cd6c 100644 --- a/nladmin-ui/src/views/wms/sch/group/index.vue +++ b/nladmin-ui/src/views/wms/sch/group/index.vue @@ -107,7 +107,7 @@ {{ item.point_code }} - + @@ -198,12 +198,12 @@ - - - - - - + + + + + + @@ -221,8 +221,9 @@ - - + + + - - + + @@ -253,8 +254,10 @@ - - + + + + @@ -296,6 +299,7 @@ const defaultForm = { material_id: null, child_vehicle_code: null, source_vehicle_code: null, + move_way: null, point_code: null, point_name: null, is_full: true, @@ -320,6 +324,8 @@ const defaultForm = { before_task_code: null, next_task_code: null, remark: null, + out_kiln_time: null, + into_kiln_time: null, is_delete: false } export default {