From f6de45d4268a1caa71be9eccf759cf13bc608662 Mon Sep 17 00:00:00 2001 From: lyd <1419499670@qq.com> Date: Mon, 10 Oct 2022 14:00:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E7=AE=94=E7=82=B9=E4=BD=8D=E5=BA=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pdm/ivt/rest/SbPointIvtController.java | 67 +++++ .../pdm/ivt/service/SbPointIvtService.java | 64 +++++ .../pdm/ivt/service/dto/SbPointIvtDto.java | 63 +++++ .../service/impl/SbPointIvtServiceImpl.java | 135 ++++++++++ .../org/nl/wms/pdm/wql/ST_IVT_SBPOINTIVT.wql | 66 +++++ .../views/wms/pdm/ivt/sbpointivt/index.vue | 244 ++++++++++++++++++ .../wms/pdm/ivt/sbpointivt/sbpointivt.js | 27 ++ 7 files changed, 666 insertions(+) create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/SbPointIvtController.java create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/SbPointIvtService.java create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/SbPointIvtDto.java create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_SBPOINTIVT.wql create mode 100644 nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/index.vue create mode 100644 nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/sbpointivt.js diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/SbPointIvtController.java b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/SbPointIvtController.java new file mode 100644 index 000000000..b2bdb33d8 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/SbPointIvtController.java @@ -0,0 +1,67 @@ + +package org.nl.wms.pdm.ivt.rest; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.logging.annotation.Log; +import org.nl.wms.pdm.ivt.service.SbPointIvtService; +import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; +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 +* @date 2022-10-10 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "生箔点位库存管理") +@RequestMapping("/api/sbpointivt") +@Slf4j +public class SbPointIvtController { + + private final SbPointIvtService sbpointivtService; + + @GetMapping + @Log("查询生箔点位库存") + @ApiOperation("查询生箔点位库存") + //@SaCheckPermission("@el.check('sbpointivt:list')") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ + return new ResponseEntity<>(sbpointivtService.queryAll(whereJson,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增生箔点位库存") + @ApiOperation("新增生箔点位库存") + //@SaCheckPermission("@el.check('sbpointivt:add')") + public ResponseEntity create(@Validated @RequestBody SbPointIvtDto dto){ + sbpointivtService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改生箔点位库存") + @ApiOperation("修改生箔点位库存") + //@SaCheckPermission("@el.check('sbpointivt:edit')") + public ResponseEntity update(@Validated @RequestBody SbPointIvtDto dto){ + sbpointivtService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除生箔点位库存") + @ApiOperation("删除生箔点位库存") + //@SaCheckPermission("@el.check('sbpointivt:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + sbpointivtService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/SbPointIvtService.java b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/SbPointIvtService.java new file mode 100644 index 000000000..8b7a30507 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/SbPointIvtService.java @@ -0,0 +1,64 @@ + +package org.nl.wms.pdm.ivt.service; + +import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** +* @description 服务接口 +* @author lyd +* @date 2022-10-10 +**/ +public interface SbPointIvtService { + +/** +* 查询数据分页 +* @param whereJson 条件 +* @param page 分页参数 +* @return Map +*/ +Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * @param whereJson 条件参数 + * @return List + */ + List queryAll(Map whereJson); + + /** + * 根据ID查询 + * @param point_id ID + * @return Sbpointivt + */ + SbPointIvtDto findById(Long point_id); + + /** + * 根据编码查询 + * @param code code + * @return Sbpointivt + */ + SbPointIvtDto findByCode(String code); + + + /** + * 创建 + * @param dto / + */ + void create(SbPointIvtDto dto); + + /** + * 编辑 + * @param dto / + */ + void update(SbPointIvtDto dto); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(Long[] ids); +} \ No newline at end of file diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/SbPointIvtDto.java b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/SbPointIvtDto.java new file mode 100644 index 000000000..7f12c2119 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/SbPointIvtDto.java @@ -0,0 +1,63 @@ +package org.nl.wms.pdm.ivt.service.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +/** +* @description / +* @author lyd +* @date 2022-10-10 +**/ +@Data +public class SbPointIvtDto implements Serializable { + + /** 点位标识 */ + /** 防止精度丢失 */ + @JsonSerialize(using= ToStringSerializer.class) + private Long point_id; + + /** 点位编码 */ + private String point_code; + + /** 点位状态 */ + private String point_status; + + /** 载具编码 */ + private String vehicle_code; + + /** 生产区域 */ + private String product_area; + + /** 位置 */ + private String point_location; + + /** 外部编码 */ + private String ext_code; + + /** 备注 */ + private String remark; + + /** 是否启用 */ + private String is_used; + + /** 创建人 */ + private Long create_id; + + /** 创建人 */ + private String create_name; + + /** 创建时间 */ + private String create_time; + + /** 修改人 */ + private Long update_optid; + + /** 修改人 */ + private String update_optname; + + /** 修改时间 */ + private String update_time; +} diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java new file mode 100644 index 000000000..99a80e072 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java @@ -0,0 +1,135 @@ + +package org.nl.wms.pdm.ivt.service.impl; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.SecurityUtils; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.pdm.ivt.service.SbPointIvtService; +import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; + +/** +* @description 服务实现 +* @author lyd +* @date 2022-10-10 +**/ +@Service +@RequiredArgsConstructor +@Slf4j +public class SbPointIvtServiceImpl implements SbPointIvtService { + + @Override + public Map queryAll(Map whereJson, Pageable page){ + JSONObject map = new JSONObject(); + map.put("flag", "1"); + if (!ObjectUtil.isNull(whereJson.get("point_code"))) + map.put("point_code", "%" + whereJson.get("point_code") + "%"); + map.put("point_status", whereJson.get("point_status")); + map.put("product_area", whereJson.get("product_area")); + map.put("is_used", whereJson.get("is_used")); + JSONObject json = WQL.getWO("ST_IVT_SBPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc"); + return json; + } + + @Override + public List queryAll(Map whereJson){ + WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); + JSONArray arr = wo.query().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(SbPointIvtDto.class); + return null; + } + + @Override + public SbPointIvtDto findById(Long point_id) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); + JSONObject json = wo.query("point_id = '" + point_id + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)){ + return json.toJavaObject( SbPointIvtDto.class); + } + return null; + } + + @Override + public SbPointIvtDto findByCode(String code) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)){ + return json.toJavaObject( SbPointIvtDto.class); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(SbPointIvtDto dto) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + dto.setPoint_id(IdUtil.getSnowflake(1, 1).nextId()); + dto.setCreate_id(currentUserId); + dto.setCreate_name(nickName); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + dto.setUpdate_time(now); + dto.setCreate_time(now); + + WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + wo.insert(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(SbPointIvtDto dto) { + SbPointIvtDto entity = this.findById(dto.getPoint_id()); + if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); + + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + + String now = DateUtil.now(); + dto.setUpdate_time(now); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + + WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + wo.update(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); + for (Long point_id: ids) { + JSONObject param = new JSONObject(); + param.put("point_id", String.valueOf(point_id)); + param.put("is_delete", "1"); + param.put("update_optid", currentUserId); + param.put("update_optname", nickName); + param.put("update_time", now); + wo.update(param); + } + } +} \ No newline at end of file diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_SBPOINTIVT.wql b/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_SBPOINTIVT.wql new file mode 100644 index 000000000..1f5eef45f --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/wql/ST_IVT_SBPOINTIVT.wql @@ -0,0 +1,66 @@ +[交易说明] + 交易名: 生箔点位库存 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.point_code TYPEAS s_string + 输入.point_status TYPEAS s_string + 输入.product_area TYPEAS s_string + 输入.is_used TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + IF 输入.flag = "1" + PAGEQUERY + SELECT + sb.* + FROM + st_ivt_sbpointivt sb + WHERE + 1=1 + OPTION 输入.point_code <> "" + point_code LIKE 输入.point_code + ENDOPTION + OPTION 输入.point_status <> "" + point_status = 输入.point_status + ENDOPTION + OPTION 输入.product_area <> "" + product_area = 输入.product_area + ENDOPTION + OPTION 输入.is_used <> "" + is_used = 输入.is_used + ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF \ No newline at end of file diff --git a/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/index.vue b/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/index.vue new file mode 100644 index 000000000..73597b246 --- /dev/null +++ b/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/index.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/sbpointivt.js b/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/sbpointivt.js new file mode 100644 index 000000000..545c96683 --- /dev/null +++ b/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/sbpointivt.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/sbpointivt', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/sbpointivt/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/sbpointivt', + method: 'put', + data + }) +} + +export default { add, edit, del }