From ca6c37560510c2850d3d63b5557576388f72edd6 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Thu, 4 May 2023 19:57:35 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E6=96=B0=E5=A2=9E=E7=89=A9=E6=96=99?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basedata/MaterialController.java | 66 ++++++ .../basedata/WorkshopController.java | 8 + .../service/basedata/IMaterialService.java | 43 ++++ .../service/basedata/IWorkshopService.java | 7 + .../nl/wms/service/basedata/dao/Material.java | 75 +++++++ .../basedata/dao/mapper/MaterialMapper.java | 12 ++ .../basedata/dao/mapper/MaterialMapper.xml | 5 + .../wms/service/basedata/dto/MaterialDto.java | 66 ++++++ .../service/basedata/dto/MaterialQuery.java | 12 ++ .../basedata/impl/MaterialServiceImpl.java | 91 ++++++++ .../basedata/impl/WorkshopServiceImpl.java | 6 + .../template/generator/admin/Controller.ftl | 2 +- .../src/views/wms/basedata/material/index.vue | 201 ++++++++++++++++++ .../{workshop.js => material/material.js} | 6 +- .../wms/basedata/{ => workshop}/index.vue | 8 +- .../views/wms/basedata/workshop/workshop.js | 34 +++ 16 files changed, 634 insertions(+), 8 deletions(-) create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/controller/basedata/MaterialController.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/IMaterialService.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/Material.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/mapper/MaterialMapper.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/mapper/MaterialMapper.xml create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dto/MaterialDto.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dto/MaterialQuery.java create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/impl/MaterialServiceImpl.java create mode 100644 nladmin-ui/src/views/wms/basedata/material/index.vue rename nladmin-ui/src/views/wms/basedata/{workshop.js => material/material.js} (81%) rename nladmin-ui/src/views/wms/basedata/{ => workshop}/index.vue (95%) create mode 100644 nladmin-ui/src/views/wms/basedata/workshop/workshop.js diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/controller/basedata/MaterialController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/controller/basedata/MaterialController.java new file mode 100644 index 0000000..9cb914e --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/controller/basedata/MaterialController.java @@ -0,0 +1,66 @@ +package org.nl.wms.controller.basedata; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.modules.logging.annotation.Log; +import org.nl.wms.service.basedata.IMaterialService; +import org.nl.wms.service.basedata.dao.Material; +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; +import java.util.Set; +/** +* @author lyd +* @date 2023-05-04 +**/ +@Slf4j +@RestController +@RequiredArgsConstructor +@Api(tags = "物料基础信息管理") +@RequestMapping("/api/material") +public class MaterialController { + + private final IMaterialService materialService; + + @GetMapping + @Log("查询物料基础信息") + @ApiOperation("查询物料基础信息") + //@SaCheckPermission("@el.check('material:list')") + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page){ + return new ResponseEntity<>(TableDataInfo.build(materialService.queryAll(whereJson,page)),HttpStatus.OK); + } + + @PostMapping + @Log("新增物料基础信息") + @ApiOperation("新增物料基础信息") + //@SaCheckPermission("@el.check('material:add')") + public ResponseEntity create(@Validated @RequestBody Material entity){ + materialService.create(entity); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改物料基础信息") + @ApiOperation("修改物料基础信息") + //@SaCheckPermission("@el.check('material:edit')") + public ResponseEntity update(@Validated @RequestBody Material entity){ + materialService.update(entity); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除物料基础信息") + @ApiOperation("删除物料基础信息") + //@SaCheckPermission("@el.check('material:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Set ids) { + materialService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/controller/basedata/WorkshopController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/controller/basedata/WorkshopController.java index 0bfa963..776f42f 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/controller/basedata/WorkshopController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/controller/basedata/WorkshopController.java @@ -63,4 +63,12 @@ public class WorkshopController { workshopService.deleteAll(ids); return new ResponseEntity<>(HttpStatus.OK); } + + @GetMapping("/workShopList") + @Log("查询车间下拉框") + @ApiOperation("查询车间下拉框") + //@SaCheckPermission("@el.check('workshop:list')") + public ResponseEntity workShopList(){ + return new ResponseEntity<>(workshopService.workShopList(),HttpStatus.OK); + } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/IMaterialService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/IMaterialService.java new file mode 100644 index 0000000..cd6cec6 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/IMaterialService.java @@ -0,0 +1,43 @@ +package org.nl.wms.service.basedata; + +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.service.basedata.dao.Material; + +import java.util.Map; +import java.util.Set; + +/** +* @description 服务接口 +* @author lyd +* @date 2023-05-04 +**/ +public interface IMaterialService extends IService { + + /** + * 查询数据分页 + * @param whereJson 条件 + * @param pageable 分页参数 + * @return IPage + */ + IPage queryAll(Map whereJson, PageQuery pageable); + + /** + * 创建 + * @param entity / + */ + void create(Material entity); + + /** + * 编辑 + * @param entity / + */ + void update(Material entity); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(Set ids); +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/IWorkshopService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/IWorkshopService.java index 62c5e7b..8e172af 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/IWorkshopService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/IWorkshopService.java @@ -5,6 +5,7 @@ import org.nl.common.domain.query.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.service.basedata.dao.Workshop; +import java.util.List; import java.util.Map; import java.util.Set; @@ -40,4 +41,10 @@ public interface IWorkshopService extends IService { * @param ids / */ void deleteAll(Set ids); + + /** + * 获取下拉框 + * @return + */ + List workShopList(); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/Material.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/Material.java new file mode 100644 index 0000000..02720d9 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/Material.java @@ -0,0 +1,75 @@ +package org.nl.wms.service.basedata.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* @description / +* @author lyd +* @date 2023-05-04 +**/ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("md_base_material") +public class Material implements Serializable { + private static final long serialVersionUID = 1L; + @TableId(value = "material_id", type = IdType.NONE) + @ApiModelProperty(value = "物料标识") + private String materialId; + + @ApiModelProperty(value = "物料编码") + private String materialCode; + + @ApiModelProperty(value = "物料名称 ") + private String materialName; + + @ApiModelProperty(value = "物料规格") + private String materialSpec; + + @ApiModelProperty(value = "物料分类标识") + private String classId; + + @ApiModelProperty(value = "静置时间(分钟)") + private BigDecimal standingTime; + + @ApiModelProperty(value = "车间编码") + private String workshopCode; + + @ApiModelProperty(value = "备注") + private String remark; + + @ApiModelProperty(value = "是否启用") + private Boolean isUsed; + + @ApiModelProperty(value = "是否删除") + private Boolean isDelete; + + @ApiModelProperty(value = "创建人") + private String createId; + + @ApiModelProperty(value = "创建人") + private String createName; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + @ApiModelProperty(value = "修改人") + private String updateId; + + @ApiModelProperty(value = "修改人") + private String updateName; + + @ApiModelProperty(value = "修改时间") + private String updateTime; + + @ApiModelProperty(value = "外部标识") + private String extId; + +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/mapper/MaterialMapper.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/mapper/MaterialMapper.java new file mode 100644 index 0000000..7cd19f9 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/mapper/MaterialMapper.java @@ -0,0 +1,12 @@ +package org.nl.wms.service.basedata.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.service.basedata.dao.Material; + +/** +* @author lyd +* @date 2023-05-04 +**/ +public interface MaterialMapper extends BaseMapper { + +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/mapper/MaterialMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/mapper/MaterialMapper.xml new file mode 100644 index 0000000..d45bbd4 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dao/mapper/MaterialMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dto/MaterialDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dto/MaterialDto.java new file mode 100644 index 0000000..b5d3a51 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dto/MaterialDto.java @@ -0,0 +1,66 @@ +package org.nl.wms.service.basedata.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** +* @description / +* @author lyd +* @date 2023-05-04 +**/ +@Data +public class MaterialDto implements Serializable { + + /** 物料标识 */ + private String materialId; + + /** 物料编码 */ + private String materialCode; + + /** 物料名称 */ + private String materialName; + + /** 物料规格 */ + private String materialSpec; + + /** 物料分类标识 */ + private String classId; + + /** 静置时间(分钟) */ + private BigDecimal standingTime; + + /** 车间编码 */ + private String workshopCode; + + /** 备注 */ + private String remark; + + /** 是否启用 */ + private Boolean isUsed; + + /** 是否删除 */ + private Boolean isDelete; + + /** 创建人 */ + private String createId; + + /** 创建人 */ + private String createName; + + /** 创建时间 */ + private String createTime; + + /** 修改人 */ + private String updateId; + + /** 修改人 */ + private String updateName; + + /** 修改时间 */ + private String updateTime; + + /** 外部标识 */ + private String extId; +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dto/MaterialQuery.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dto/MaterialQuery.java new file mode 100644 index 0000000..f251cbb --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/dto/MaterialQuery.java @@ -0,0 +1,12 @@ +package org.nl.wms.service.basedata.dto; + +import org.nl.common.domain.query.BaseQuery; +import org.nl.wms.service.basedata.dao.Material; + +/** +* @author lyd +* @date 2023-05-04 +**/ +public class MaterialQuery extends BaseQuery { + +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/impl/MaterialServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/impl/MaterialServiceImpl.java new file mode 100644 index 0000000..6225cdc --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/impl/MaterialServiceImpl.java @@ -0,0 +1,91 @@ +package org.nl.wms.service.basedata.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.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.query.PageQuery; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.SecurityUtils; +import org.nl.wms.service.basedata.IMaterialService; +import org.nl.wms.service.basedata.dao.mapper.MaterialMapper; +import org.nl.wms.service.basedata.dao.Material; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Map; +import java.util.Set; + + +/** +* @description 服务实现 +* @author lyd +* @date 2023-05-04 +**/ +@Slf4j +@Service +@RequiredArgsConstructor +public class MaterialServiceImpl extends ServiceImpl implements IMaterialService { + + private final MaterialMapper materialMapper; + + @Override + public IPage queryAll(Map param, PageQuery page){ + String blurry = null; + if (ObjectUtil.isNotEmpty(param.get("blurry"))) blurry = param.get("blurry").toString(); + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.like(ObjectUtil.isNotEmpty(blurry), Material::getMaterialCode, blurry) + .or(ObjectUtil.isNotEmpty(blurry)) + .like(ObjectUtil.isNotEmpty(blurry), Material::getMaterialName, blurry) + .orderByDesc(Material::getCreateTime); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + materialMapper.selectPage(pages, lam); + return pages; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(Material entity) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + entity.setMaterialId(IdUtil.getSnowflake(1, 1).nextIdStr()); + entity.setCreateId(currentUserId); + entity.setCreateName(nickName); + entity.setCreateTime(now); + entity.setUpdateId(currentUserId); + entity.setUpdateName(nickName); + entity.setUpdateTime(now); + materialMapper.insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(Material entity) { + Material dto = materialMapper.selectById(entity.getMaterialId()); + if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!"); + + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + entity.setUpdateId(currentUserId); + entity.setUpdateName(nickName); + entity.setUpdateTime(now); + + materialMapper.updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Set ids) { + // 真删除 + materialMapper.deleteBatchIds(ids); + } + +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/impl/WorkshopServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/impl/WorkshopServiceImpl.java index 947b061..c3063b2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/impl/WorkshopServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/service/basedata/impl/WorkshopServiceImpl.java @@ -17,6 +17,7 @@ import org.nl.wms.service.basedata.dao.mapper.WorkshopMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.List; import java.util.Map; import java.util.Set; @@ -80,4 +81,9 @@ public class WorkshopServiceImpl extends ServiceImpl< WorkshopMapper, Workshop> workshopMapper.deleteBatchIds(ids); } + @Override + public List workShopList() { + return this.list(); + } + } diff --git a/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/Controller.ftl b/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/Controller.ftl index 8000365..d2badf3 100644 --- a/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/Controller.ftl +++ b/nladmin-system/nlsso-server/src/main/resources/template/generator/admin/Controller.ftl @@ -33,7 +33,7 @@ public class ${className}Controller { @Log("查询${apiAlias}") @ApiOperation("查询${apiAlias}") //@SaCheckPermission("@el.check('${changeClassName}:list')") - public ResponseEntity query(Map whereJson, PageQuery page){ + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page){ return new ResponseEntity<>(TableDataInfo.build(${changeClassName}Service.queryAll(whereJson,page)),HttpStatus.OK); } diff --git a/nladmin-ui/src/views/wms/basedata/material/index.vue b/nladmin-ui/src/views/wms/basedata/material/index.vue new file mode 100644 index 0000000..cb6bdf0 --- /dev/null +++ b/nladmin-ui/src/views/wms/basedata/material/index.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/nladmin-ui/src/views/wms/basedata/workshop.js b/nladmin-ui/src/views/wms/basedata/material/material.js similarity index 81% rename from nladmin-ui/src/views/wms/basedata/workshop.js rename to nladmin-ui/src/views/wms/basedata/material/material.js index 5990b54..424c1c8 100644 --- a/nladmin-ui/src/views/wms/basedata/workshop.js +++ b/nladmin-ui/src/views/wms/basedata/material/material.js @@ -2,7 +2,7 @@ import request from '@/utils/request' export function add(data) { return request({ - url: 'api/workshop', + url: 'api/material', method: 'post', data }) @@ -10,7 +10,7 @@ export function add(data) { export function del(ids) { return request({ - url: 'api/workshop/', + url: 'api/material/', method: 'delete', data: ids }) @@ -18,7 +18,7 @@ export function del(ids) { export function edit(data) { return request({ - url: 'api/workshop', + url: 'api/material', method: 'put', data }) diff --git a/nladmin-ui/src/views/wms/basedata/index.vue b/nladmin-ui/src/views/wms/basedata/workshop/index.vue similarity index 95% rename from nladmin-ui/src/views/wms/basedata/index.vue rename to nladmin-ui/src/views/wms/basedata/workshop/index.vue index b2d53f5..df157af 100644 --- a/nladmin-ui/src/views/wms/basedata/index.vue +++ b/nladmin-ui/src/views/wms/basedata/workshop/index.vue @@ -81,10 +81,10 @@