From 96c7e112851ffcea160884b6fe431796cf16eb93 Mon Sep 17 00:00:00 2001 From: lyd <1419499670@qq.com> Date: Thu, 7 Jul 2022 18:18:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=9B=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/database/rest/VehicleController.java | 7 + .../wms/database/service/VehicleService.java | 7 + .../service/impl/MdPbVehicleServiceImpl.java | 16 ++ .../st/buss/rest/VehicleGroupController.java | 67 ++++++++ .../st/buss/service/VehicleGroupService.java | 47 ++++++ .../st/buss/service/dto/VehicleGrouplDto.java | 67 ++++++++ .../service/impl/VehicleGroupServiceImpl.java | 100 ++++++++++++ .../src/api/wms/st/buss/stBussVehicleGroup.js | 27 ++++ .../src/views/wms/database/material/index.vue | 9 +- .../st/buss/vehiclegroup/VehicleDialog.vue | 148 ++++++++++++++++++ .../views/wms/st/buss/vehiclegroup/index.vue | 62 ++++++-- 11 files changed, 541 insertions(+), 16 deletions(-) create mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/rest/VehicleGroupController.java create mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/VehicleGroupService.java create mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/dto/VehicleGrouplDto.java create mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/impl/VehicleGroupServiceImpl.java create mode 100644 wms/qd/src/api/wms/st/buss/stBussVehicleGroup.js create mode 100644 wms/qd/src/views/wms/st/buss/vehiclegroup/VehicleDialog.vue diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/rest/VehicleController.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/rest/VehicleController.java index 6bf2774..a52a3dc 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/rest/VehicleController.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/rest/VehicleController.java @@ -71,4 +71,11 @@ public class VehicleController { JSONObject json = mdPbVehicleService.getVehicle(code); return new ResponseEntity<>(json,HttpStatus.OK); } + + @GetMapping("/getVehicleByType") + @Log("选择载具") + @ApiOperation("选择载具") + public ResponseEntity getVehicleByType(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(mdPbVehicleService.getVehicleByType(whereJson,page),HttpStatus.OK); + } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/service/VehicleService.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/service/VehicleService.java index 4f79858..667c928 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/service/VehicleService.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/service/VehicleService.java @@ -68,4 +68,11 @@ public interface VehicleService { */ JSONObject getVehicle(String code); + /** + * 组盘信息选择载具查询 + * @param whereJson + * @param page + * @return + */ + Map getVehicleByType(Map whereJson, Pageable page); } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/service/impl/MdPbVehicleServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/service/impl/MdPbVehicleServiceImpl.java index 9e2cc0a..f987cb9 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/service/impl/MdPbVehicleServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/database/service/impl/MdPbVehicleServiceImpl.java @@ -3,6 +3,7 @@ package org.nl.wms.database.service.impl; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import org.nl.exception.BadRequestException; @@ -11,6 +12,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.wms.database.service.VehicleService; import org.nl.wms.database.service.dto.VehicleDto; import org.nl.wql.WQL; +import org.nl.wql.core.bean.ResultBean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -241,5 +243,19 @@ public class MdPbVehicleServiceImpl implements VehicleService { return json; } + @Override + public Map getVehicleByType(Map whereJson, Pageable page) { + String where = ""; + WQLObject wo = WQLObject.getWQLObject("md_pb_vehicle"); + String search = MapUtil.getStr(whereJson, "search"); + if (!StrUtil.isEmpty(search)) { + where = " AND (vehicle_code like '%" + search + "%' OR vehicle_name like '%" + search + "%' ) "; + } + ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "is_delete= '0' " + where + " AND vehicle_type = '02'" , "update_time desc"); + final JSONObject json = rb.pageResult(); + if (json.isEmpty()) return null; // 空值定义 + return json; + } + } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/rest/VehicleGroupController.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/rest/VehicleGroupController.java new file mode 100644 index 0000000..625c72f --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/rest/VehicleGroupController.java @@ -0,0 +1,67 @@ +package org.nl.wms.st.buss.rest; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.annotation.Log; +import org.nl.wms.database.service.dto.MaterialDto; +import org.nl.wms.st.buss.service.VehicleGroupService; +import org.nl.wms.st.buss.service.dto.VehicleGrouplDto; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * @Author: lyd + * @Description: + * @Date: 2022-07-07 10:33 + */ +@RestController +@RequiredArgsConstructor +@Api(tags = "组盘管理") +@RequestMapping("/api/stBussVehicleGroup") +@Slf4j +public class VehicleGroupController { + + private final VehicleGroupService vehicleGroupService; + + @GetMapping + @Log("查询组盘") + @ApiOperation("查询组盘") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ + return new ResponseEntity<>(vehicleGroupService.queryAll(whereJson,page), HttpStatus.OK); + } + + @PostMapping + @Log("新增组盘") + @ApiOperation("新增组盘") + //@PreAuthorize("@el.check('mdMeMaterial:add')") + public ResponseEntity create(@Validated @RequestBody VehicleGrouplDto dto){ + log.info("dto:{}",dto); + System.out.println(dto.toString()); + vehicleGroupService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改组盘") + @ApiOperation("修改组盘") + public ResponseEntity update(@Validated @RequestBody VehicleGrouplDto dto){ + vehicleGroupService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除组盘") + @ApiOperation("删除组盘") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + vehicleGroupService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + +} diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/VehicleGroupService.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/VehicleGroupService.java new file mode 100644 index 0000000..8e8769c --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/VehicleGroupService.java @@ -0,0 +1,47 @@ +package org.nl.wms.st.buss.service; + +import org.nl.wms.database.service.dto.MaterialDto; +import org.nl.wms.st.buss.service.dto.VehicleGrouplDto; +import org.springframework.data.domain.Pageable; + +import java.util.Map; + +/** + * @Author: lyd + * @Description: 组盘信息服务接口 + * @Date: 2022-07-07 10:35 + */ +public interface VehicleGroupService { + /** + * 添加组盘信息 + * @param dto + */ + void create(VehicleGrouplDto dto); + + /** + * 分页获取组盘数据 + * @param whereJson + * @param page + * @return + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 修改组盘数据 + * @param dto + */ + void update(VehicleGrouplDto dto); + + /** + * 根据id查找对象 + * @param group_id + * @return + */ + VehicleGrouplDto findById(Long group_id); + + /** + * 删除 + * @param ids + */ + void deleteAll(Long[] ids); +} diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/dto/VehicleGrouplDto.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/dto/VehicleGrouplDto.java new file mode 100644 index 0000000..0c90e48 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/dto/VehicleGrouplDto.java @@ -0,0 +1,67 @@ +package org.nl.wms.st.buss.service.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @Author: lyd + * @Description: + * @Date: 2022-07-07 10:37 + */ +@Data +public class VehicleGrouplDto implements Serializable { + /** + * 防止精度丢失 + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long group_id; + + /** + * 载具编码 + */ + private String vehicle_code; + + /** + * 物料id + */ + private Long material_id; + + /** + * 物料编码 + */ + private String material_code; + + /** + * 物料名 + */ + private String material_name; + + /** + * 批次 + */ + private String pcsn; + + /** + * 数量 + */ + private BigDecimal qty; + /** + * 创建人 + */ + private Long create_id; + + /** + * 创建人 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + +} diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/impl/VehicleGroupServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/impl/VehicleGroupServiceImpl.java new file mode 100644 index 0000000..788e5be --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/buss/service/impl/VehicleGroupServiceImpl.java @@ -0,0 +1,100 @@ +package org.nl.wms.st.buss.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.exception.BadRequestException; +import org.nl.utils.SecurityUtils; +import org.nl.wms.database.service.dto.MaterialDto; +import org.nl.wms.st.buss.service.VehicleGroupService; +import org.nl.wms.st.buss.service.dto.VehicleGrouplDto; +import org.nl.wql.core.bean.ResultBean; +import org.nl.wql.core.bean.WQLObject; +import org.nl.wql.util.WqlUtil; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Map; + +/** + * @Author: lyd + * @Description: 组盘管理实现类 + * @Date: 2022-07-07 10:35 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class VehicleGroupServiceImpl implements VehicleGroupService { + @Override + @Transactional(rollbackFor = Exception.class) + public void create(VehicleGrouplDto dto) { + //获取当前用户信息以及时间 + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getNickName(); + String now = DateUtil.now(); + + //赋值准备参数 + dto.setCreate_id(currentUserId); + dto.setCreate_name(nickName); + dto.setCreate_time(now); + dto.setGroup_id(IdUtil.getSnowflake(1, 1).nextId()); + //获取表对象 + WQLObject st_buss_vehiclegroup = WQLObject.getWQLObject("st_buss_vehiclegroup"); + JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(dto)); + st_buss_vehiclegroup.insert(jsonObject); + } + + @Override + public Map queryAll(Map whereJson, Pageable page) { + WQLObject wo = WQLObject.getWQLObject("st_buss_vehiclegroup"); + String name = (String) whereJson.get("name"); + String sql = "1=1"; + if (StrUtil.isNotEmpty(name)) { + sql = " (vehicle_code like '%"+name+"%')"; + } + ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), sql + " and is_delete='0'", "create_time desc"); + final JSONObject json = rb.pageResult(); + log.info("json:{}",json); + return json; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(VehicleGrouplDto dto) { + System.out.println(dto); + //判断你是否存在 + VehicleGrouplDto vg = this.findById(dto.getGroup_id()); + if (vg == null) throw new BadRequestException("被删除或无权限,操作失败!"); + WQLObject wo = WQLObject.getWQLObject("st_buss_vehiclegroup"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + wo.update(json); + } + + @Override + public VehicleGrouplDto findById(Long group_id) { + WQLObject wo = WQLObject.getWQLObject("st_buss_vehiclegroup"); + JSONObject json = wo.query("group_id = '" + group_id + "' and is_delete='0'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(VehicleGrouplDto.class); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + WQLObject wo = WQLObject.getWQLObject("st_buss_vehiclegroup"); + for (Long group_id : ids) { + JSONObject param = new JSONObject(); + param.put("group_id", String.valueOf(group_id)); + param.put("is_delete", "1"); + wo.update(param); + } + } +} diff --git a/wms/qd/src/api/wms/st/buss/stBussVehicleGroup.js b/wms/qd/src/api/wms/st/buss/stBussVehicleGroup.js new file mode 100644 index 0000000..09c5ae0 --- /dev/null +++ b/wms/qd/src/api/wms/st/buss/stBussVehicleGroup.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/stBussVehicleGroup', + method: 'post', + data + }) +} + +export function edit(data) { + return request({ + url: 'api/stBussVehicleGroup', + method: 'put', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/stBussVehicleGroup/', + method: 'delete', + data: ids + }) +} + +export default { add, edit, del } diff --git a/wms/qd/src/views/wms/database/material/index.vue b/wms/qd/src/views/wms/database/material/index.vue index 11a1b2c..7b569b3 100644 --- a/wms/qd/src/views/wms/database/material/index.vue +++ b/wms/qd/src/views/wms/database/material/index.vue @@ -59,13 +59,13 @@ /> - + @@ -200,7 +200,8 @@ export default { stewing_time: [ { required: true, message: '静止时间不能为空', trigger: 'blur' } ] - }} + } + } }, methods: { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 @@ -247,7 +248,7 @@ export default { type: 'warning' }).then(() => { crudMdMeMaterial.edit(data).then(res => { - this.crud.notify(this.dict.label.is_used[val] + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.notify((val === 1 ? '切换人工打包' : '切换机器打包') + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS) }).catch(() => { debugger if (data.is_manmade === '0') { diff --git a/wms/qd/src/views/wms/st/buss/vehiclegroup/VehicleDialog.vue b/wms/qd/src/views/wms/st/buss/vehiclegroup/VehicleDialog.vue new file mode 100644 index 0000000..692699c --- /dev/null +++ b/wms/qd/src/views/wms/st/buss/vehiclegroup/VehicleDialog.vue @@ -0,0 +1,148 @@ + + + + diff --git a/wms/qd/src/views/wms/st/buss/vehiclegroup/index.vue b/wms/qd/src/views/wms/st/buss/vehiclegroup/index.vue index daf7be1..d5fa43a 100644 --- a/wms/qd/src/views/wms/st/buss/vehiclegroup/index.vue +++ b/wms/qd/src/views/wms/st/buss/vehiclegroup/index.vue @@ -5,7 +5,7 @@
@@ -14,7 +14,7 @@ - + @@ -36,12 +36,33 @@ + + + + + + + + + + + + + + + + @@ -52,8 +73,10 @@ import CRUD, { crud, form, header, presenter } from '@crud/crud' import pagination from '@crud/Pagination' import crudOperation from '@crud/CRUD.operation' import rrOperation from '@crud/RR.operation' -import crudMdMeMaterial from '@/api/wms/database/mdMeMaterial' +import udOperation from '@crud/UD.operation' +import crudStBussVehicleGroup from '@/api/wms/st/buss/stBussVehicleGroup' import MaterDialog from '../../in/MaterDialog' +import VehicleDialog from '@/views/wms/st/buss/vehiclegroup/VehicleDialog' const defaultForm = { group_id: null, @@ -62,36 +85,43 @@ const defaultForm = { material_code: null, material_name: null, pcsn: null, - qty: null + qty: null, + create_id: null, + create_name: null, + create_time: null } export default { name: 'Vehiclegroup', - components: { pagination, crudOperation, rrOperation, MaterDialog }, + components: { VehicleDialog, pagination, crudOperation, rrOperation, MaterDialog, udOperation }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { - return CRUD({ title: '物料', url: 'api/mdMeMaterial', idField: 'material_id', sort: 'material_id,desc', crudMethod: { ...crudMdMeMaterial }, + // 拿数据,改成组盘信息 + return CRUD({ title: '组盘', url: 'api/stBussVehicleGroup', idField: 'group_id', sort: 'group_id,desc', crudMethod: { ...crudStBussVehicleGroup }, optShow: { add: true, edit: false, - del: false, + del: true, download: false, reset: true }}) }, data() { return { - permission: {}, + permission: { + }, rules: { vehicle_code: [ - { required: true, message: '托盘编码不能为空', trigger: 'blur' } + { required: true, message: '托盘编码不能为空', trigger: 'change' } ], material_name: [ { required: true, message: '物料不能为空', trigger: 'change' } ] }, materDialog: false, - materType: '' + materType: '', + vehicleDialog: false, + vehicleType: '' } }, methods: { @@ -108,6 +138,14 @@ export default { this.form.material_id = row.material_id this.form.material_code = row.material_code this.form.material_name = row.material_name + }, + tableChanged4(row) { + console.log(row) + this.form.vehicle_code = row.vehicle_code + }, + // 打开选择托盘对话框 + getVehicle() { + this.vehicleDialog = true } } }