From abf814d56035600cfdbd505360cb072abda51abe Mon Sep 17 00:00:00 2001 From: lyd <1419499670@qq.com> Date: Sun, 9 Oct 2022 15:50:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=83=98=E7=83=A4=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pdm/ivt/rest/HotPointIvtController.java | 67 +++++++++ .../pdm/ivt/service/HotPointIvtService.java | 64 ++++++++ .../pdm/ivt/service/dto/HotPointIvtDto.java | 88 +++++++++++ .../service/impl/HotPointIvtServiceImpl.java | 131 ++++++++++++++++ .../wms/pdm/ivt/hotpointivt/hotpointivt.js | 27 ++++ .../views/wms/pdm/ivt/hotpointivt/index.vue | 141 ++++++++++++++++++ 6 files changed, 518 insertions(+) create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/HotPointIvtController.java create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/HotPointIvtService.java create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/HotPointIvtDto.java create mode 100644 nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java create mode 100644 nladmin-ui/src/views/wms/pdm/ivt/hotpointivt/hotpointivt.js create mode 100644 nladmin-ui/src/views/wms/pdm/ivt/hotpointivt/index.vue diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/HotPointIvtController.java b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/HotPointIvtController.java new file mode 100644 index 000000000..b90909798 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/HotPointIvtController.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.HotPointIvtService; +import org.nl.wms.pdm.ivt.service.dto.HotPointIvtDto; +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-09 +**/ +@RestController +@RequiredArgsConstructor +@Api(tags = "烘烤区点位库存管理") +@RequestMapping("/api/hotpointivt") +@Slf4j +public class HotPointIvtController { + + private final HotPointIvtService hotpointivtService; + + @GetMapping + @Log("查询烘烤区点位库存") + @ApiOperation("查询烘烤区点位库存") + //@SaCheckPermission("@el.check('hotpointivt:list')") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ + return new ResponseEntity<>(hotpointivtService.queryAll(whereJson,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增烘烤区点位库存") + @ApiOperation("新增烘烤区点位库存") + //@SaCheckPermission("@el.check('hotpointivt:add')") + public ResponseEntity create(@Validated @RequestBody HotPointIvtDto dto){ + hotpointivtService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改烘烤区点位库存") + @ApiOperation("修改烘烤区点位库存") + //@SaCheckPermission("@el.check('hotpointivt:edit')") + public ResponseEntity update(@Validated @RequestBody HotPointIvtDto dto){ + hotpointivtService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除烘烤区点位库存") + @ApiOperation("删除烘烤区点位库存") + //@SaCheckPermission("@el.check('hotpointivt:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + hotpointivtService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/HotPointIvtService.java b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/HotPointIvtService.java new file mode 100644 index 000000000..396d0011f --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/HotPointIvtService.java @@ -0,0 +1,64 @@ + +package org.nl.wms.pdm.ivt.service; + +import org.nl.wms.pdm.ivt.service.dto.HotPointIvtDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** +* @description 服务接口 +* @author lyd +* @date 2022-10-09 +**/ +public interface HotPointIvtService { + + /** + * 查询数据分页 + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * @param whereJson 条件参数 + * @return List + */ + List queryAll(Map whereJson); + + /** + * 根据ID查询 + * @param ivt_id ID + * @return Hotpointivt + */ + HotPointIvtDto findById(Long ivt_id); + + /** + * 根据编码查询 + * @param code code + * @return Hotpointivt + */ + HotPointIvtDto findByCode(String code); + + + /** + * 创建 + * @param dto / + */ + void create(HotPointIvtDto dto); + + /** + * 编辑 + * @param dto / + */ + void update(HotPointIvtDto 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/HotPointIvtDto.java b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/HotPointIvtDto.java new file mode 100644 index 000000000..8f7c64a23 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/HotPointIvtDto.java @@ -0,0 +1,88 @@ +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; +import java.math.BigDecimal; + +/** +* @description / +* @author lyd +* @date 2022-10-09 +**/ +@Data +public class HotPointIvtDto implements Serializable { + + /** 库存记录标识 */ + /** 防止精度丢失 */ + @JsonSerialize(using= ToStringSerializer.class) + private Long ivt_id; + + /** 点位编码 */ + private String point_code; + + /** 点位状态 */ + private String point_status; + + /** 母卷号 */ + private String container_name; + + /** 母卷工单标识 */ + private String workorder_id; + + /** 母卷轴编码 */ + private String full_vehicle_code; + + /** 批次 */ + private String pcsn; + + /** 库存数 */ + private BigDecimal ivt_qty; + + /** 计量单位标识 */ + private Long qty_unit_id; + + /** 入库时间 */ + private String instorage_time; + + /** 生产区域 */ + private String product_area; + + /** 温度 */ + private BigDecimal temperature; + + /** 组别 */ + private String group_name; + + /** 位置 */ + private String point_location; + + /** 顺序号 */ + private BigDecimal sort_seq; + + /** 是否启用 */ + private String is_used; + + /** 备注 */ + private String remark; + + /** 创建人 */ + 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/HotPointIvtServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java new file mode 100644 index 000000000..3d602df77 --- /dev/null +++ b/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java @@ -0,0 +1,131 @@ + +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.core.bean.ResultBean; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.pdm.ivt.service.HotPointIvtService; +import org.nl.wms.pdm.ivt.service.dto.HotPointIvtDto; +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-09 +**/ +@Service +@RequiredArgsConstructor +@Slf4j +public class HotPointIvtServiceImpl implements HotPointIvtService { + + @Override + public Map queryAll(Map whereJson, Pageable page){ + WQLObject wo = WQLObject.getWQLObject("st_ivt_hotpointivt"); + ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1", "update_time desc"); + final JSONObject json = rb.pageResult(); + return json; + } + + @Override + public List queryAll(Map whereJson){ + WQLObject wo = WQLObject.getWQLObject("st_ivt_hotpointivt"); + JSONArray arr = wo.query().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(HotPointIvtDto.class); + return null; + } + + @Override + public HotPointIvtDto findById(Long ivt_id) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_hotpointivt"); + JSONObject json = wo.query("ivt_id = '" + ivt_id + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)){ + return json.toJavaObject( HotPointIvtDto.class); + } + return null; + } + + @Override + public HotPointIvtDto findByCode(String code) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_hotpointivt"); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)){ + return json.toJavaObject( HotPointIvtDto.class); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(HotPointIvtDto dto) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + dto.setIvt_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_hotpointivt"); + JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + wo.insert(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(HotPointIvtDto dto) { + HotPointIvtDto entity = this.findById(dto.getIvt_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_hotpointivt"); + 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_hotpointivt"); + for (Long ivt_id: ids) { + JSONObject param = new JSONObject(); + param.put("ivt_id", String.valueOf(ivt_id)); + param.put("is_delete", "1"); + param.put("update_optid", currentUserId); + param.put("update_optname", nickName); + param.put("update_time", now); + wo.update(param); + } + } + +} diff --git a/nladmin-ui/src/views/wms/pdm/ivt/hotpointivt/hotpointivt.js b/nladmin-ui/src/views/wms/pdm/ivt/hotpointivt/hotpointivt.js new file mode 100644 index 000000000..3c243498b --- /dev/null +++ b/nladmin-ui/src/views/wms/pdm/ivt/hotpointivt/hotpointivt.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/hotpointivt', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/hotpointivt/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/hotpointivt', + method: 'put', + data + }) +} + +export default { add, edit, del } diff --git a/nladmin-ui/src/views/wms/pdm/ivt/hotpointivt/index.vue b/nladmin-ui/src/views/wms/pdm/ivt/hotpointivt/index.vue new file mode 100644 index 000000000..4e0449eed --- /dev/null +++ b/nladmin-ui/src/views/wms/pdm/ivt/hotpointivt/index.vue @@ -0,0 +1,141 @@ + + + + +