工厂信息:
规格管理 打包线管理
This commit is contained in:
parent
898c3e6681
commit
8bf2a96f15
@ -49,9 +49,23 @@ public interface DeptApi {
|
||||
CommonResult<List<DeptRespDTO>> getDeptList();
|
||||
|
||||
@PostMapping(PREFIX + "/create")
|
||||
@Operation(summary = "获取所有部门信息")
|
||||
@Operation(summary = "创建部门")
|
||||
CommonResult<Long> createDept(@RequestBody DeptRespDTO deptRespDTO);
|
||||
|
||||
@PostMapping(PREFIX + "/update")
|
||||
@Operation(summary = "修改部门信息")
|
||||
void updateDept(@RequestBody DeptRespDTO deptRespDTO);
|
||||
|
||||
@PostMapping(PREFIX + "/delete")
|
||||
@Operation(summary = "删除部门信息")
|
||||
@Parameter(name = "factoryId", description = "工厂编号", example = "100001", required = true)
|
||||
void deleteDept(@RequestParam("factoryId") Long factoryId);
|
||||
|
||||
@PostMapping(PREFIX + "/getByFactoryId")
|
||||
@Operation(summary = "根据工厂ID获得部门信息")
|
||||
@Parameter(name = "factoryId", description = "工厂编号", example = "100001", required = true)
|
||||
CommonResult<DeptRespDTO> getDeptByFactoryId(@RequestParam("factoryId") Long factoryId);
|
||||
|
||||
/**
|
||||
* 获得指定编号的部门 Map
|
||||
*
|
||||
|
@ -22,6 +22,9 @@ public class DeptRespDTO {
|
||||
@Schema(description = "负责人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long leaderUserId;
|
||||
|
||||
@Schema(description = "工厂编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "部门标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private String flag;
|
||||
|
||||
|
@ -67,7 +67,38 @@ public class DeptApiImpl implements DeptApi {
|
||||
|
||||
DeptSaveReqVO deptSaveReqVO = BeanUtils.toBean(deptRespDTO, DeptSaveReqVO.class);
|
||||
|
||||
return null;
|
||||
return success(deptService.createDept(deptSaveReqVO));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDept(DeptRespDTO deptRespDTO) {
|
||||
|
||||
DeptDO deptDO = deptService.getDeptByFactoryId(deptRespDTO.getFactoryId());
|
||||
|
||||
if (deptDO != null) {
|
||||
|
||||
DeptSaveReqVO deptSaveReqVO = BeanUtils.toBean(deptDO, DeptSaveReqVO.class);
|
||||
deptSaveReqVO.setLeaderUserId(deptRespDTO.getLeaderUserId());
|
||||
deptSaveReqVO.setName(deptRespDTO.getName());
|
||||
|
||||
deptService.updateDept(deptSaveReqVO);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDept(Long factoryId) {
|
||||
|
||||
DeptDO deptDO = deptService.getDeptByFactoryId(factoryId);
|
||||
if (deptDO != null) {
|
||||
|
||||
deptService.deleteDept(deptDO.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<DeptRespDTO> getDeptByFactoryId(Long factoryId) {
|
||||
|
||||
DeptDO deptDO = deptService.getDeptByFactoryId(factoryId);
|
||||
return success(BeanUtils.toBean(deptDO, DeptRespDTO.class));
|
||||
}
|
||||
}
|
||||
|
@ -24,6 +24,9 @@ public class DeptRespVO {
|
||||
@Schema(description = "负责人的用户编号", example = "2048")
|
||||
private Long leaderUserId;
|
||||
|
||||
@Schema(description = "工厂编号", example = "2048")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "联系电话", example = "15601691000")
|
||||
private String phone;
|
||||
|
||||
|
@ -32,6 +32,9 @@ public class DeptSaveReqVO {
|
||||
@Schema(description = "负责人的用户编号", example = "2048")
|
||||
private Long leaderUserId;
|
||||
|
||||
@Schema(description = "工厂编号", example = "1")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "联系电话", example = "15601691000")
|
||||
@Size(max = 11, message = "联系电话长度不能超过11个字符")
|
||||
private String phone;
|
||||
|
@ -103,4 +103,6 @@ public interface DeptService {
|
||||
List<DeptDO> getDeptByLeaderId(Long leaderUserId);
|
||||
|
||||
List<DeptDO> getDeptTree();
|
||||
|
||||
DeptDO getDeptByFactoryId(Long factoryId);
|
||||
}
|
||||
|
@ -278,4 +278,10 @@ public class DeptServiceImpl implements DeptService {
|
||||
|
||||
return deptMapper.selectTree();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeptDO getDeptByFactoryId(Long factoryId) {
|
||||
|
||||
return deptMapper.selectOne(DeptDO::getFactoryId, factoryId);
|
||||
}
|
||||
}
|
||||
|
@ -12,4 +12,11 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode FACTORY_INFO_NOT_EXISTS = new ErrorCode(1_000_000_001, "工厂信息不存在");
|
||||
|
||||
ErrorCode CAMERA_DEVICE_NOT_EXISTS = new ErrorCode(1_000_000_002, "监控摄像头不存在");
|
||||
ErrorCode FACTOYRY_EXISTS_STAFF = new ErrorCode(1_000_000_003, "工厂下存在员工,不能删除工厂");
|
||||
|
||||
ErrorCode SIZE_NOT_EXISTS = new ErrorCode(1_000_002_001, "规格不存在");
|
||||
|
||||
ErrorCode PACKAGE_NOT_EXISTS = new ErrorCode(1_000_001_001, "打包线信息不存在");
|
||||
|
||||
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factoryinfo.vo.FactoryInfoPageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factoryinfo.vo.FactoryInfoRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factoryinfo.vo.FactoryInfoSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.factoryinfo.vo.FactorySimpleRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factoryinfo.FactoryInfoDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.factoryinfo.FactoryInfoService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@ -69,6 +70,15 @@ public class FactoryInfoController {
|
||||
return success(factoryInfo);
|
||||
}
|
||||
|
||||
@GetMapping("/simple-list")
|
||||
@Operation(summary = "获得工厂列表 | 用于前端下拉框")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:factory-info:query')")
|
||||
public CommonResult<List<FactorySimpleRespVO>> getFactoryList() {
|
||||
|
||||
List<FactoryInfoDO> factoryInfo = factoryInfoService.getFactoryListByType();
|
||||
return success(BeanUtils.toBean(factoryInfo, FactorySimpleRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得工厂信息分页")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:factory-info:query')")
|
||||
|
@ -39,7 +39,7 @@ public class FactoryInfoSaveReqVO {
|
||||
|
||||
@Schema(description = "区县id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22761")
|
||||
@NotNull(message = "区县id不能为空")
|
||||
private Long districtId;
|
||||
private Long adCode;
|
||||
|
||||
@Schema(description = "省名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "江西省")
|
||||
@NotEmpty(message = "省名称不能为空")
|
||||
|
@ -0,0 +1,20 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.factoryinfo.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 工厂信息 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class FactorySimpleRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "28794")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工厂名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "江西省南昌市第一工厂")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "工厂简称", requiredMode = Schema.RequiredMode.REQUIRED, example = "第一工厂")
|
||||
private String shortName;
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackagePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackageRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackageSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.packageInfo.PackageDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.packageInfo.PackageService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - 打包线")
|
||||
@RestController
|
||||
@RequestMapping("/smartfactory/package")
|
||||
@Validated
|
||||
public class PackageController {
|
||||
|
||||
@Resource
|
||||
private PackageService packageService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建打包线")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:package:create')")
|
||||
public CommonResult<Long> createPackage(@Valid @RequestBody PackageSaveReqVO createReqVO) {
|
||||
return success(packageService.createPackage(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新打包线")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:package:update')")
|
||||
public CommonResult<Boolean> updatePackage(@Valid @RequestBody PackageSaveReqVO updateReqVO) {
|
||||
packageService.updatePackage(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除打包线")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:package:delete')")
|
||||
public CommonResult<Boolean> deletePackage(@RequestParam("id") Long id) {
|
||||
packageService.deletePackage(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得打包线")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:package:query')")
|
||||
public CommonResult<PackageRespVO> getPackage(@RequestParam("id") Long id) {
|
||||
PackageDO packageDO = packageService.getPackage(id);
|
||||
return success(BeanUtils.toBean(packageDO, PackageRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得打包线分页")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:package:query')")
|
||||
public CommonResult<PageResult<PackageRespVO>> getPackagePage(@Valid PackagePageReqVO pageReqVO) {
|
||||
|
||||
return success(packageService.getPackagePage(pageReqVO));
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 打包线分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class PackagePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "工厂id", example = "10000078")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "规格id", example = "100")
|
||||
private Long sizeId;
|
||||
|
||||
@Schema(description = "规格片数", example = "3")
|
||||
private Integer sizePieces;
|
||||
|
||||
@Schema(description = "打包线名称", example = "1线")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "设备名称", example = "芋艿")
|
||||
private String deviceName;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 打包线 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class PackageRespVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
@ExcelProperty("主键id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10000078")
|
||||
@ExcelProperty("工厂id")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "工厂名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "新景象")
|
||||
@ExcelProperty("工厂名称")
|
||||
private Long factoryName;
|
||||
|
||||
@Schema(description = "规格id", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
@ExcelProperty("规格id")
|
||||
private Long sizeId;
|
||||
|
||||
@Schema(description = "规格名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "300*300")
|
||||
@ExcelProperty("规格名称")
|
||||
private Long sizeName;
|
||||
|
||||
@Schema(description = "规格片数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
|
||||
@ExcelProperty("规格片数")
|
||||
private Integer sizePieces;
|
||||
|
||||
@Schema(description = "打包线名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "1线")
|
||||
@ExcelProperty("打包线名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "设备名称", example = "芋艿")
|
||||
@ExcelProperty("设备名称")
|
||||
private String deviceName;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Schema(description = "管理后台 - 打包线新增/修改 Request VO")
|
||||
@Data
|
||||
public class PackageSaveReqVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10000078")
|
||||
@NotNull(message = "工厂id不能为空")
|
||||
private Long factoryId;
|
||||
|
||||
@Schema(description = "规格id", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
@NotNull(message = "规格id不能为空")
|
||||
private Long sizeId;
|
||||
|
||||
@Schema(description = "规格片数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
|
||||
@NotNull(message = "规格片数不能为空")
|
||||
private Integer sizePieces;
|
||||
|
||||
@Schema(description = "打包线名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "1线")
|
||||
@NotEmpty(message = "打包线名称不能为空")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "设备名称", example = "芋艿")
|
||||
private String deviceName;
|
||||
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.size;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizeRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizeSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.size.SizeDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.service.size.SizeService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - 规格")
|
||||
@RestController
|
||||
@RequestMapping("/smartfactory/size")
|
||||
@Validated
|
||||
public class SizeController {
|
||||
|
||||
@Resource
|
||||
private SizeService sizeService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建规格")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:size:create')")
|
||||
public CommonResult<Long> createSize(@Valid @RequestBody SizeSaveReqVO createReqVO) {
|
||||
return success(sizeService.createSize(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新规格")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:size:update')")
|
||||
public CommonResult<Boolean> updateSize(@Valid @RequestBody SizeSaveReqVO updateReqVO) {
|
||||
sizeService.updateSize(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除规格")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:size:delete')")
|
||||
public CommonResult<Boolean> deleteSize(@RequestParam("id") Long id) {
|
||||
sizeService.deleteSize(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得规格")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:size:query')")
|
||||
public CommonResult<SizeRespVO> getSize(@RequestParam("id") Long id) {
|
||||
SizeDO size = sizeService.getSize(id);
|
||||
return success(BeanUtils.toBean(size, SizeRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得规格分页")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:size:query')")
|
||||
public CommonResult<PageResult<SizeRespVO>> getSizePage(@Valid SizePageReqVO pageReqVO) {
|
||||
PageResult<SizeDO> pageResult = sizeService.getSizePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, SizeRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/simple-list")
|
||||
@Operation(summary = "获得规格列表 | 用于前端下拉框")
|
||||
@PreAuthorize("@ss.hasPermission('smartfactory:size:query')")
|
||||
public CommonResult<List<SizeRespVO>> getSize() {
|
||||
|
||||
List<SizeDO> sizes = sizeService.getListSize();
|
||||
return success(BeanUtils.toBean(sizes, SizeRespVO.class));
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 规格分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class SizePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "规格名称", example = "300*300")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 规格 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class SizeRespVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("主键id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "规格名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "300*300")
|
||||
@ExcelProperty("规格名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
@Schema(description = "管理后台 - 规格新增/修改 Request VO")
|
||||
@Data
|
||||
public class SizeSaveReqVO {
|
||||
|
||||
@Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "规格名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "300*300")
|
||||
@NotEmpty(message = "规格名称不能为空")
|
||||
private String name;
|
||||
|
||||
}
|
@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.smartfactory.dal.dataobject.factoryinfo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@ -108,11 +107,4 @@ public class FactoryInfoDO extends BaseDO {
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
public void setId(Long id) {
|
||||
//由于 直接在数据库中改了 id 所以这里要加一层判断
|
||||
if (id == 1L){
|
||||
id = 10000078L;
|
||||
}
|
||||
this.id = id;
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.dataobject.packageInfo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
|
||||
/**
|
||||
* 打包线 DO
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@TableName("sf_package")
|
||||
@KeySequence("sf_package_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PackageDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 工厂id
|
||||
*/
|
||||
private Long factoryId;
|
||||
/**
|
||||
* 规格id
|
||||
*/
|
||||
private Long sizeId;
|
||||
/**
|
||||
* 规格片数
|
||||
*/
|
||||
private Integer sizePieces;
|
||||
/**
|
||||
* 打包线名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
private String deviceName;
|
||||
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.dataobject.size;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
* 规格 DO
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@TableName("sf_size")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SizeDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 规格名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
}
|
@ -26,7 +26,7 @@ public interface FactoryInfoMapper extends BaseMapperX<FactoryInfoDO> {
|
||||
.likeIfPresent(FactoryInfoDO::getType, reqVO.getType())
|
||||
.eqIfPresent(FactoryInfoDO::getStatus, reqVO.getStatus())
|
||||
.betweenIfPresent(FactoryInfoDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(FactoryInfoDO::getSort));
|
||||
.orderByAsc(FactoryInfoDO::getSort));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -0,0 +1,20 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.mysql.packageInfo;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackagePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackageRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.packageInfo.PackageDO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 打包线 Mapper
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@Mapper
|
||||
public interface PackageMapper extends BaseMapperX<PackageDO> {
|
||||
|
||||
IPage<PackageRespVO> selectPackagePage(@Param("page") IPage<PackageRespVO> mpPage, @Param("reqVO") PackagePageReqVO pageReqVO);
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.dal.mysql.size;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.size.SizeDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 规格 Mapper
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@Mapper
|
||||
public interface SizeMapper extends BaseMapperX<SizeDO> {
|
||||
|
||||
default PageResult<SizeDO> selectPage(SizePageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<SizeDO>()
|
||||
.likeIfPresent(SizeDO::getName, reqVO.getName())
|
||||
.betweenIfPresent(SizeDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(SizeDO::getId));
|
||||
}
|
||||
|
||||
}
|
@ -47,6 +47,12 @@ public interface FactoryInfoService {
|
||||
*/
|
||||
FactoryInfoDO getFactoryInfo(Long id);
|
||||
|
||||
/**
|
||||
* 获得类型为工厂的工厂信息列表
|
||||
* @return 工厂列表
|
||||
*/
|
||||
List<FactoryInfoDO> getFactoryListByType();
|
||||
|
||||
/**
|
||||
* 获得工厂信息分页
|
||||
*
|
||||
|
@ -1,6 +1,8 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.service.factoryinfo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.ip.core.Area;
|
||||
import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
|
||||
@ -12,18 +14,19 @@ import cn.iocoder.yudao.module.smartfactory.controller.admin.screendata.factory.
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.factoryinfo.FactoryInfoDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.factoryinfo.FactoryInfoMapper;
|
||||
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
||||
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.smartfactory.enums.ErrorCodeConstants.FACTORY_INFO_NOT_EXISTS;
|
||||
import static cn.iocoder.yudao.module.smartfactory.enums.ErrorCodeConstants.FACTOYRY_EXISTS_STAFF;
|
||||
|
||||
/**
|
||||
* 工厂信息 Service 实现类
|
||||
@ -40,6 +43,9 @@ public class FactoryInfoServiceImpl implements FactoryInfoService {
|
||||
@Resource
|
||||
private DeptApi deptApi;
|
||||
|
||||
@Resource
|
||||
private AdminUserApi userApi;
|
||||
|
||||
@Override
|
||||
public Long createFactoryInfo(FactoryInfoSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -47,7 +53,13 @@ public class FactoryInfoServiceImpl implements FactoryInfoService {
|
||||
factoryInfoMapper.insert(factoryInfo);
|
||||
|
||||
//同步插入对应 生产部的下级部门
|
||||
|
||||
DeptRespDTO deptRespDTO = new DeptRespDTO();
|
||||
deptRespDTO.setFactoryId(factoryInfo.getId());
|
||||
deptRespDTO.setName(createReqVO.getShortName());
|
||||
deptRespDTO.setParentId(130L); //这里设置上级部门为 生产部
|
||||
deptRespDTO.setLeaderUserId(createReqVO.getLeaderUserId());
|
||||
deptRespDTO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||
deptApi.createDept(deptRespDTO);
|
||||
|
||||
// 返回
|
||||
return factoryInfo.getId();
|
||||
@ -60,14 +72,36 @@ public class FactoryInfoServiceImpl implements FactoryInfoService {
|
||||
// 更新
|
||||
FactoryInfoDO updateObj = BeanUtils.toBean(updateReqVO, FactoryInfoDO.class);
|
||||
factoryInfoMapper.updateById(updateObj);
|
||||
|
||||
//同步更新 部门信息
|
||||
DeptRespDTO deptRespDTO = new DeptRespDTO();
|
||||
deptRespDTO.setName(updateReqVO.getShortName());
|
||||
deptRespDTO.setLeaderUserId(updateReqVO.getLeaderUserId());
|
||||
deptRespDTO.setFactoryId(updateReqVO.getId());
|
||||
deptApi.updateDept(deptRespDTO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteFactoryInfo(Long id) {
|
||||
// 校验存在
|
||||
validateFactoryInfoExists(id);
|
||||
|
||||
//校验工厂下是否存在 员工
|
||||
DeptRespDTO deptRespDTO = deptApi.getDeptByFactoryId(id).getCheckedData();
|
||||
|
||||
List<Long> deptId = new ArrayList<>();
|
||||
deptId.add(deptRespDTO.getId());
|
||||
List<AdminUserRespDTO> userRespDTOS = userApi.getUserListByDeptIds(deptId).getCheckedData();
|
||||
|
||||
if (userRespDTOS != null && !userRespDTOS.isEmpty()) {
|
||||
throw exception(FACTOYRY_EXISTS_STAFF);
|
||||
}
|
||||
|
||||
// 删除
|
||||
factoryInfoMapper.deleteById(id);
|
||||
|
||||
//同步删除部门
|
||||
deptApi.deleteDept(id);
|
||||
}
|
||||
|
||||
private void validateFactoryInfoExists(Long id) {
|
||||
@ -78,9 +112,16 @@ public class FactoryInfoServiceImpl implements FactoryInfoService {
|
||||
|
||||
@Override
|
||||
public FactoryInfoDO getFactoryInfo(Long id) {
|
||||
|
||||
return factoryInfoMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FactoryInfoDO> getFactoryListByType() {
|
||||
|
||||
return factoryInfoMapper.selectList(FactoryInfoDO::getType, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<FactoryInfoDO> getFactoryInfoPage(FactoryInfoPageReqVO pageReqVO) {
|
||||
return factoryInfoMapper.selectPage(pageReqVO);
|
||||
|
@ -0,0 +1,55 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.service.packageInfo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackagePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackageRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackageSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.packageInfo.PackageDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* 打包线 Service 接口
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
public interface PackageService {
|
||||
|
||||
/**
|
||||
* 创建打包线
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createPackage(@Valid PackageSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新打包线
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updatePackage(@Valid PackageSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除打包线
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deletePackage(Long id);
|
||||
|
||||
/**
|
||||
* 获得打包线
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 打包线
|
||||
*/
|
||||
PackageDO getPackage(Long id);
|
||||
|
||||
/**
|
||||
* 获得打包线分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 打包线分页
|
||||
*/
|
||||
PageResult<PackageRespVO> getPackagePage(PackagePageReqVO pageReqVO);
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.service.packageInfo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackagePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackageRespVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackageSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.packageInfo.PackageDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.packageInfo.PackageMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.smartfactory.enums.ErrorCodeConstants.PACKAGE_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 打包线 Service 实现类
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class PackageServiceImpl implements PackageService {
|
||||
|
||||
@Resource
|
||||
private PackageMapper packageMapper;
|
||||
|
||||
@Override
|
||||
public Long createPackage(PackageSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
PackageDO packDO = BeanUtils.toBean(createReqVO, PackageDO.class);
|
||||
packageMapper.insert(packDO);
|
||||
// 返回
|
||||
return packDO.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePackage(PackageSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validatePackageExists(updateReqVO.getId());
|
||||
// 更新
|
||||
PackageDO updateObj = BeanUtils.toBean(updateReqVO, PackageDO.class);
|
||||
packageMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deletePackage(Long id) {
|
||||
// 校验存在
|
||||
validatePackageExists(id);
|
||||
// 删除
|
||||
packageMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validatePackageExists(Long id) {
|
||||
if (packageMapper.selectById(id) == null) {
|
||||
throw exception(PACKAGE_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PackageDO getPackage(Long id) {
|
||||
return packageMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<PackageRespVO> getPackagePage(PackagePageReqVO pageReqVO) {
|
||||
|
||||
IPage<PackageRespVO> mpPage = MyBatisUtils.buildPage(pageReqVO);
|
||||
IPage<PackageRespVO> page = packageMapper.selectPackagePage(mpPage, pageReqVO);
|
||||
return new PageResult<>(page.getRecords(), page.getTotal());
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.service.size;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizeSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.size.SizeDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 规格 Service 接口
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
public interface SizeService {
|
||||
|
||||
/**
|
||||
* 创建规格
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
Long createSize(@Valid SizeSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新规格
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateSize(@Valid SizeSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除规格
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteSize(Long id);
|
||||
|
||||
/**
|
||||
* 获得规格
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 规格
|
||||
*/
|
||||
SizeDO getSize(Long id);
|
||||
|
||||
/**
|
||||
* 获得规格分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 规格分页
|
||||
*/
|
||||
PageResult<SizeDO> getSizePage(SizePageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得规格列表
|
||||
* @return 规格列表
|
||||
*/
|
||||
List<SizeDO> getListSize();
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
package cn.iocoder.yudao.module.smartfactory.service.size;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizePageReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.controller.admin.size.vo.SizeSaveReqVO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.dataobject.size.SizeDO;
|
||||
import cn.iocoder.yudao.module.smartfactory.dal.mysql.size.SizeMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.smartfactory.enums.ErrorCodeConstants.SIZE_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 规格 Service 实现类
|
||||
*
|
||||
* @author 符溶馨
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class SizeServiceImpl implements SizeService {
|
||||
|
||||
@Resource
|
||||
private SizeMapper sizeMapper;
|
||||
|
||||
@Override
|
||||
public Long createSize(SizeSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
SizeDO size = BeanUtils.toBean(createReqVO, SizeDO.class);
|
||||
sizeMapper.insert(size);
|
||||
// 返回
|
||||
return size.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateSize(SizeSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateSizeExists(updateReqVO.getId());
|
||||
// 更新
|
||||
SizeDO updateObj = BeanUtils.toBean(updateReqVO, SizeDO.class);
|
||||
sizeMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteSize(Long id) {
|
||||
// 校验存在
|
||||
validateSizeExists(id);
|
||||
// 删除
|
||||
sizeMapper.deleteById(id);
|
||||
}
|
||||
|
||||
private void validateSizeExists(Long id) {
|
||||
if (sizeMapper.selectById(id) == null) {
|
||||
throw exception(SIZE_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SizeDO getSize(Long id) {
|
||||
|
||||
return sizeMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SizeDO> getSizePage(SizePageReqVO pageReqVO) {
|
||||
|
||||
return sizeMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SizeDO> getListSize() {
|
||||
|
||||
return sizeMapper.selectList();
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.smartfactory.dal.mysql.packagedata.FactoryDataMapper">
|
||||
<mapper namespace="cn.iocoder.yudao.module.smartfactory.dal.mysql.factorydata.FactoryDataMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
|
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.iocoder.yudao.module.smartfactory.dal.mysql.packageInfo.PackageMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="selectPackagePage" resultType="cn.iocoder.yudao.module.smartfactory.controller.admin.packageInfo.vo.PackageRespVO">
|
||||
SELECT
|
||||
a.*,
|
||||
b.NAME AS factoryName,
|
||||
c.NAME AS sizeName
|
||||
FROM
|
||||
sf_package AS a,
|
||||
sf_factory_info AS b,
|
||||
sf_size AS c
|
||||
WHERE
|
||||
a.factory_id = b.id
|
||||
AND a.size_id = c.id
|
||||
<if test="reqVO.factoryId != null">
|
||||
AND a.factoryId = #{reqVO.factoryId}
|
||||
</if>
|
||||
<if test="reqVO.sizeId != null">
|
||||
AND a.sizeId = #{reqVO.sizeId}
|
||||
</if>
|
||||
<if test="reqVO.createTime != null and reqVO.createTime.length > 0">
|
||||
<if test="reqVO.createTime[0] != null">
|
||||
and a.create_time >= #{reqVO.createTime[0]}
|
||||
</if>
|
||||
<if test="reqVO.createTime[1] != null">
|
||||
and a.create_time <= #{reqVO.createTime[1]}
|
||||
</if>
|
||||
</if>
|
||||
ORDER BY a.id DESC
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user