diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInController.java deleted file mode 100644 index fe348ce..0000000 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInController.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.zteits.urbanops.module.garden.controller.admin.material; - -import com.zteits.urbanops.framework.common.pojo.CommonResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; -import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; -import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialDO; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryInDO; -import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryInMapper; -import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryMapper; -import com.zteits.urbanops.module.garden.service.material.MaterialService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.*; - -import java.io.IOException; -import java.util.List; - -import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 物料入库") -@RestController -@RequestMapping("/material/in") -public class MaterialInController { - - @Resource - private MaterialInventoryInMapper inMapper; - @Resource - private MaterialInventoryMapper inventoryMapper; - @Resource - private MaterialService materialService; - - @PostMapping("/listForPage") - @Operation(summary = "物料入库-分页") - @PreAuthorize("@ss.hasPermission('material:material/in:list')") - public CommonResult> listForPage(@RequestBody MaterialInventoryInDO where, - @RequestParam(value = "pageNum", required = false) Integer pageNum, - @RequestParam(value = "pageSize", required = false) Integer pageSize) { - PageParam page = new PageParam(); - page.setPageNo(pageNum == null ? 1 : pageNum); - page.setPageSize(pageSize == null ? 10 : pageSize); - PageResult result = inMapper.selectPage(page, null, - new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() - .eqIfPresent(MaterialInventoryInDO::getMaterialId, where.getMaterialId()) - .likeIfPresent(MaterialInventoryInDO::getMaterialName, where.getMaterialName()) - .eqIfPresent(MaterialInventoryInDO::getBelongCompanyId, where.getBelongCompanyId()) - .orderByDesc(MaterialInventoryInDO::getCreateTime)); - return success(result); - } - - @GetMapping("/export") - @Operation(summary = "物料入库-导出") - @PreAuthorize("@ss.hasPermission('material:material/in:export')") - public void export(MaterialInventoryInDO where, HttpServletResponse response) throws IOException { - List list = inMapper.selectList(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() - .eqIfPresent(MaterialInventoryInDO::getMaterialId, where.getMaterialId())); - ExcelUtils.write(response, "物料入库.xls", "数据", MaterialInventoryInDO.class, list); - } - - @GetMapping("/select/by/inventoryInNo") - @Operation(summary = "物料入库-详情") - @PreAuthorize("@ss.hasPermission('material:material/in:query')") - public CommonResult getInfo(@RequestParam("inventoryIn_no") String inventoryInNo) { - return success(inMapper.selectByNo(inventoryInNo)); - } - - @PostMapping("/add") - @Operation(summary = "物料入库-添加") - @PreAuthorize("@ss.hasPermission('material:material/in:add')") - @Transactional(rollbackFor = Throwable.class) - public CommonResult add(@RequestBody MaterialInventoryInDO req) { - Long userId = SecurityFrameworkUtils.getLoginUserId(); - MaterialDO material = materialService.getMaterial(req.getMaterialId()); - if (material == null) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "无效参数-materialId"); - } - req.setCreator(String.valueOf(userId)); - req.setUpdater(String.valueOf(userId)); - boolean inserted = inMapper.insert(req) > 0; - - MaterialInventoryDO inventory = new MaterialInventoryDO(); - inventory.setMaterialId(req.getMaterialId()); - inventory.setMaterialName(req.getMaterialName()); - inventory.setMaterialTypeId(req.getMaterialTypeId()); - inventory.setMaterialTypeName(req.getMaterialTypeName()); - inventory.setTypeId(material.getTypeId()); - inventory.setTypeName(material.getTypeName()); - inventory.setTypeDetailId(material.getTypeDetailId()); - inventory.setTypeDetailName(material.getTypeDetailName()); - inventory.setSpecifications(req.getSpecifications()); - inventory.setBelongCompanyId(req.getBelongCompanyId()); - inventory.setBelongCompanyName(req.getBelongCompanyName()); - inventory.setUnitId(req.getUnitId()); - inventory.setUnitName(req.getUnitName()); - inventory.setCurrentNum(req.getInInventoryNum()); - inventory.setOutTotalNum(0L); - inventory.setInventoryTotalNum(req.getInInventoryNum()); - inventory.setStatus("0"); - inventory.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); - - MaterialInventoryDO existed = inventoryMapper.selectByTypeDetailId(inventory.getTypeDetailId(), inventory.getBelongCompanyId()); - if (existed != null) { - MaterialInventoryDO upd = new MaterialInventoryDO(); - upd.setInventoryId(existed.getInventoryId()); - upd.setInventoryTotalNum((existed.getInventoryTotalNum() == null ? 0 : existed.getInventoryTotalNum()) + inventory.getCurrentNum()); - upd.setCurrentNum((existed.getCurrentNum() == null ? 0 : existed.getCurrentNum()) + inventory.getCurrentNum()); - inventoryMapper.updateById(upd); - } else { - inventoryMapper.insert(inventory); - } - - return success(inserted); - } - - @PostMapping("/edit") - @Operation(summary = "物料入库-修改") - @PreAuthorize("@ss.hasPermission('material:material/in:edit')") - public CommonResult edit(@RequestBody MaterialInventoryInDO req) { - return success(inMapper.updateById(req) > 0); - } - - @GetMapping("/delete/by/id") - @Operation(summary = "物料入库-删除") - @PreAuthorize("@ss.hasPermission('material:material/in:remove')") - @Transactional(rollbackFor = Throwable.class) - public CommonResult remove(@RequestParam("id") Long id) { - MaterialInventoryInDO in = inMapper.selectById(id); - if (in == null) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "参数错误"); - } - MaterialInventoryDO inv = inventoryMapper.selectByMaterialId(in.getMaterialId()); - if (inv == null) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "参数错误"); - } - if (inv.getCurrentNum() < in.getInInventoryNum()) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(409, "库存已使用"); - } - MaterialInventoryDO upd = new MaterialInventoryDO(); - upd.setInventoryId(inv.getInventoryId()); - upd.setCurrentNum(inv.getCurrentNum() - in.getInInventoryNum()); - upd.setInventoryTotalNum(inv.getInventoryTotalNum() - in.getInInventoryNum()); - inventoryMapper.updateById(upd); - return success(inMapper.deleteById(id) > 0); - } -} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialOutController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialOutController.java deleted file mode 100644 index 62fcf77..0000000 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialOutController.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.zteits.urbanops.module.garden.controller.admin.material; - -import com.zteits.urbanops.framework.common.pojo.CommonResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; -import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; -import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialDO; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryOutDO; -import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryMapper; -import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryOutMapper; -import com.zteits.urbanops.module.garden.service.material.MaterialService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.*; - -import java.io.IOException; -import java.util.List; - -import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; - -@Tag(name = "管理后台 - 物料出库") -@RestController -@RequestMapping("/material/out") -public class MaterialOutController { - - @Resource - private MaterialInventoryOutMapper outMapper; - @Resource - private MaterialInventoryMapper inventoryMapper; - @Resource - private MaterialService materialService; - - @PostMapping("/listForPage") - @Operation(summary = "物料出库-分页") - @PreAuthorize("@ss.hasPermission('material:out:list')") - public CommonResult> listForPage(@RequestBody MaterialInventoryOutDO where, - @RequestParam(value = "pageNum", required = false) Integer pageNum, - @RequestParam(value = "pageSize", required = false) Integer pageSize) { - PageParam page = new PageParam(); - page.setPageNo(pageNum == null ? 1 : pageNum); - page.setPageSize(pageSize == null ? 10 : pageSize); - PageResult result = outMapper.selectPage(page, null, - new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() - .eqIfPresent(MaterialInventoryOutDO::getMaterialId, where.getMaterialId()) - .likeIfPresent(MaterialInventoryOutDO::getMaterialName, where.getMaterialName()) - .eqIfPresent(MaterialInventoryOutDO::getBelongCompanyId, where.getBelongCompanyId()) - .orderByDesc(MaterialInventoryOutDO::getCreateTime)); - return success(result); - } - - @GetMapping("/export") - @Operation(summary = "物料出库-导出") - @PreAuthorize("@ss.hasPermission('material:out:export')") - public void export(MaterialInventoryOutDO where, HttpServletResponse response) throws IOException { - List list = outMapper.selectList(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() - .eqIfPresent(MaterialInventoryOutDO::getMaterialId, where.getMaterialId())); - ExcelUtils.write(response, "物料出库.xls", "数据", MaterialInventoryOutDO.class, list); - } - - @GetMapping("/{id}") - @Operation(summary = "物料出库-详情") - @PreAuthorize("@ss.hasPermission('material:out:query')") - public CommonResult getInfo(@RequestParam("id") Long id) { - return success(outMapper.selectById(id)); - } - - @PostMapping("/add") - @Operation(summary = "物料出库-添加") - @PreAuthorize("@ss.hasPermission('material:out:add')") - @Transactional(rollbackFor = Throwable.class) - public CommonResult add(@RequestBody MaterialInventoryOutDO req) { - Long userId = SecurityFrameworkUtils.getLoginUserId(); - MaterialDO material = materialService.getMaterial(req.getMaterialId()); - if (material == null) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "无效参数"); - } - MaterialInventoryDO inventory = inventoryMapper.selectByTypeDetailId(material.getTypeDetailId(), SecurityFrameworkUtils.getLoginUserDeptId()); - if (inventory == null) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, req.getMaterialName() + "没有库存"); - } - if (inventory.getCurrentNum() < req.getOutInventoryNum()) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(409, "当前库存不足,无法出库"); - } - req.setCreator(String.valueOf(userId)); - boolean inserted = outMapper.insert(req) > 0; - inventoryMapper.updateInventoryByMaterialId(inventory.getInventoryId(), req.getOutInventoryNum()); - return success(inserted); - } - - @PostMapping("/edit") - @Operation(summary = "物料出库-修改") - @PreAuthorize("@ss.hasPermission('material:out:edit')") - public CommonResult edit(@RequestBody MaterialInventoryOutDO req) { - return success(outMapper.updateById(req) > 0); - } - - @GetMapping("/delete/ById") - @Operation(summary = "物料出库-删除") - @PreAuthorize("@ss.hasPermission('material:out:remove')") - public CommonResult remove(@RequestParam("id") Long id) { - MaterialInventoryOutDO out = outMapper.selectById(id); - if (out == null) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "参数错误"); - } - MaterialInventoryDO inv = inventoryMapper.selectByMaterialId(out.getMaterialId()); - if (inv == null) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "参数错误"); - } - if (inv.getCurrentNum() < out.getOutInventoryNum()) { - return com.zteits.urbanops.framework.common.pojo.CommonResult.error(409, "库存已使用"); - } - MaterialInventoryDO upd = new MaterialInventoryDO(); - upd.setInventoryId(inv.getInventoryId()); - upd.setCurrentNum(inv.getCurrentNum() + out.getOutInventoryNum()); - upd.setInventoryTotalNum(inv.getInventoryTotalNum() + out.getOutInventoryNum()); - upd.setOutTotalNum(inv.getOutTotalNum() - out.getOutInventoryNum()); - inventoryMapper.updateById(upd); - return success(outMapper.deleteById(id) > 0); - } -} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInventoryController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventory/MaterialInventoryController.java index 06518f8..b28ede4 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInventoryController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventory/MaterialInventoryController.java @@ -1,11 +1,11 @@ -package com.zteits.urbanops.module.garden.controller.admin.material; +package com.zteits.urbanops.module.garden.controller.admin.materialinventory; import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; -import com.zteits.urbanops.module.garden.service.material.MaterialInventoryService; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventory.MaterialInventoryDO; +import com.zteits.urbanops.module.garden.service.materialinventory.MaterialInventoryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; @@ -53,4 +53,4 @@ public class MaterialInventoryController { @RequestParam("alerm_num") Long alermNum) { return success(inventoryService.updateInventoryAlarmNum(materialId, alermNum)); } -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/MaterialInventoryInController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/MaterialInventoryInController.java new file mode 100644 index 0000000..0147b5d --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/MaterialInventoryInController.java @@ -0,0 +1,104 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialinventoryin; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; + +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zteits.urbanops.module.garden.controller.admin.materialinventoryin.vo.*; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryin.MaterialInventoryInDO; +import com.zteits.urbanops.module.garden.service.materialinventoryin.MaterialInventoryInService; + +@Tag(name = "管理后台 - 物料入库") +@RestController +@RequestMapping("/garden/material-inventory-in") +@Validated +public class MaterialInventoryInController { + + @Resource + private MaterialInventoryInService materialInventoryInService; + + @PostMapping("/create") + @Operation(summary = "创建物料入库") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-in:create')") + public CommonResult createMaterialInventoryIn(@Valid @RequestBody MaterialInventoryInSaveReqVO createReqVO) { + return success(materialInventoryInService.createMaterialInventoryIn(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料入库") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-in:update')") + public CommonResult updateMaterialInventoryIn(@Valid @RequestBody MaterialInventoryInSaveReqVO updateReqVO) { + materialInventoryInService.updateMaterialInventoryIn(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料入库") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('garden:material-inventory-in:delete')") + public CommonResult deleteMaterialInventoryIn(@RequestParam("id") Long id) { + materialInventoryInService.deleteMaterialInventoryIn(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料入库") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-in:delete')") + public CommonResult deleteMaterialInventoryInList(@RequestParam("ids") List ids) { + materialInventoryInService.deleteMaterialInventoryInListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料入库") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-in:query')") + public CommonResult getMaterialInventoryIn(@RequestParam("id") Long id) { + MaterialInventoryInDO materialInventoryIn = materialInventoryInService.getMaterialInventoryIn(id); + return success(BeanUtils.toBean(materialInventoryIn, MaterialInventoryInRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料入库分页") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-in:query')") + public CommonResult> getMaterialInventoryInPage(@Valid MaterialInventoryInPageReqVO pageReqVO) { + PageResult pageResult = materialInventoryInService.getMaterialInventoryInPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialInventoryInRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料入库 Excel") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-in:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialInventoryInExcel(@Valid MaterialInventoryInPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialInventoryInService.getMaterialInventoryInPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料入库.xls", "数据", MaterialInventoryInRespVO.class, + BeanUtils.toBean(list, MaterialInventoryInRespVO.class)); + } + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInPageReqVO.java new file mode 100644 index 0000000..aa520fe --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInPageReqVO.java @@ -0,0 +1,85 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialinventoryin.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料入库分页 Request VO") +@Data +public class MaterialInventoryInPageReqVO extends PageParam { + + @Schema(description = "入库批次号") + private String inventoryInNo; + + @Schema(description = "物料ID", example = "7335") + private Long materialId; + + @Schema(description = "物料名称", example = "芋艿") + private String materialName; + + @Schema(description = "物料类型ID", example = "27813") + private Long materialTypeId; + + @Schema(description = "耗材类型名称", example = "李四") + private String materialTypeName; + + @Schema(description = "类别ID", example = "24913") + private Long typeId; + + @Schema(description = "类别名称:药品", example = "李四") + private String typeName; + + @Schema(description = "类别明细ID", example = "53") + private Long typeDetailId; + + @Schema(description = "类别明细", example = "张三") + private String typeDetailName; + + @Schema(description = "规格") + private String specifications; + + @Schema(description = "归属单位ID", example = "27639") + private Long belongCompanyId; + + @Schema(description = "归属单位", example = "王五") + private String belongCompanyName; + + @Schema(description = "入库数量") + private Long inInventoryNum; + + @Schema(description = "单价", example = "17670") + private BigDecimal materialPrice; + + @Schema(description = "单位ID", example = "11362") + private Long unitId; + + @Schema(description = "单位", example = "李四") + private String unitName; + + @Schema(description = "采购日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] buyDate; + + @Schema(description = "供应商名称", example = "王五") + private String supplierName; + + @Schema(description = "联系人", example = "赵六") + private String contactsName; + + @Schema(description = "联系人 电话") + private String contactsPhone; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "部门ID", example = "18025") + private Long deptId; + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInRespVO.java new file mode 100644 index 0000000..95fe8aa --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInRespVO.java @@ -0,0 +1,108 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialinventoryin.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 物料入库 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialInventoryInRespVO { + + @Schema(description = "入库ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16290") + @ExcelProperty("入库ID") + private Long id; + + @Schema(description = "入库批次号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("入库批次号") + private String inventoryInNo; + + @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7335") + @ExcelProperty("物料ID") + private Long materialId; + + @Schema(description = "物料名称", example = "芋艿") + @ExcelProperty("物料名称") + private String materialName; + + @Schema(description = "物料类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27813") + @ExcelProperty("物料类型ID") + private Long materialTypeId; + + @Schema(description = "耗材类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @ExcelProperty("耗材类型名称") + private String materialTypeName; + + @Schema(description = "类别ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24913") + @ExcelProperty("类别ID") + private Long typeId; + + @Schema(description = "类别名称:药品", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @ExcelProperty("类别名称:药品") + private String typeName; + + @Schema(description = "类别明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "53") + @ExcelProperty("类别明细ID") + private Long typeDetailId; + + @Schema(description = "类别明细", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("类别明细") + private String typeDetailName; + + @Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("规格") + private String specifications; + + @Schema(description = "归属单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27639") + @ExcelProperty("归属单位ID") + private Long belongCompanyId; + + @Schema(description = "归属单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("归属单位") + private String belongCompanyName; + + @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("入库数量") + private Long inInventoryNum; + + @Schema(description = "单价", requiredMode = Schema.RequiredMode.REQUIRED, example = "17670") + @ExcelProperty("单价") + private BigDecimal materialPrice; + + @Schema(description = "单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11362") + @ExcelProperty("单位ID") + private Long unitId; + + @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @ExcelProperty("单位") + private String unitName; + + @Schema(description = "采购日期", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("采购日期") + private LocalDateTime buyDate; + + @Schema(description = "供应商名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("供应商名称") + private String supplierName; + + @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @ExcelProperty("联系人") + private String contactsName; + + @Schema(description = "联系人 电话", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("联系人 电话") + private String contactsPhone; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "部门ID", example = "18025") + @ExcelProperty("部门ID") + private Long deptId; + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInSaveReqVO.java new file mode 100644 index 0000000..87e7d12 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryin/vo/MaterialInventoryInSaveReqVO.java @@ -0,0 +1,100 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialinventoryin.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物料入库新增/修改 Request VO") +@Data +public class MaterialInventoryInSaveReqVO { + + @Schema(description = "入库ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16290") + private Long id; + + @Schema(description = "入库批次号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "入库批次号不能为空") + private String inventoryInNo; + + @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7335") + @NotNull(message = "物料ID不能为空") + private Long materialId; + + @Schema(description = "物料名称", example = "芋艿") + private String materialName; + + @Schema(description = "物料类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27813") + @NotNull(message = "物料类型ID不能为空") + private Long materialTypeId; + + @Schema(description = "耗材类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @NotEmpty(message = "耗材类型名称不能为空") + private String materialTypeName; + + @Schema(description = "类别ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24913") + @NotNull(message = "类别ID不能为空") + private Long typeId; + + @Schema(description = "类别名称:药品", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @NotEmpty(message = "类别名称:药品不能为空") + private String typeName; + + @Schema(description = "类别明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "53") + @NotNull(message = "类别明细ID不能为空") + private Long typeDetailId; + + @Schema(description = "类别明细", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "类别明细不能为空") + private String typeDetailName; + + @Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "规格不能为空") + private String specifications; + + @Schema(description = "归属单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27639") + @NotNull(message = "归属单位ID不能为空") + private Long belongCompanyId; + + @Schema(description = "归属单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotEmpty(message = "归属单位不能为空") + private String belongCompanyName; + + @Schema(description = "入库数量", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "入库数量不能为空") + private Long inInventoryNum; + + @Schema(description = "单价", requiredMode = Schema.RequiredMode.REQUIRED, example = "17670") + @NotNull(message = "单价不能为空") + private BigDecimal materialPrice; + + @Schema(description = "单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11362") + @NotNull(message = "单位ID不能为空") + private Long unitId; + + @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @NotEmpty(message = "单位不能为空") + private String unitName; + + @Schema(description = "采购日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "采购日期不能为空") + private LocalDateTime buyDate; + + @Schema(description = "供应商名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotEmpty(message = "供应商名称不能为空") + private String supplierName; + + @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @NotEmpty(message = "联系人不能为空") + private String contactsName; + + @Schema(description = "联系人 电话", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "联系人 电话不能为空") + private String contactsPhone; + + @Schema(description = "部门ID", example = "18025") + private Long deptId; + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/MaterialInventoryOutController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/MaterialInventoryOutController.java new file mode 100644 index 0000000..0b63277 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/MaterialInventoryOutController.java @@ -0,0 +1,104 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialinventoryout; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; + +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; + +import com.zteits.urbanops.module.garden.controller.admin.materialinventoryout.vo.*; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryout.MaterialInventoryOutDO; +import com.zteits.urbanops.module.garden.service.materialinventoryout.MaterialInventoryOutService; + +@Tag(name = "管理后台 - 物料出库") +@RestController +@RequestMapping("/garden/material-inventory-out") +@Validated +public class MaterialInventoryOutController { + + @Resource + private MaterialInventoryOutService materialInventoryOutService; + + @PostMapping("/create") + @Operation(summary = "创建物料出库") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-out:create')") + public CommonResult createMaterialInventoryOut(@Valid @RequestBody MaterialInventoryOutSaveReqVO createReqVO) { + return success(materialInventoryOutService.createMaterialInventoryOut(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物料出库") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-out:update')") + public CommonResult updateMaterialInventoryOut(@Valid @RequestBody MaterialInventoryOutSaveReqVO updateReqVO) { + materialInventoryOutService.updateMaterialInventoryOut(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物料出库") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('garden:material-inventory-out:delete')") + public CommonResult deleteMaterialInventoryOut(@RequestParam("id") Long id) { + materialInventoryOutService.deleteMaterialInventoryOut(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物料出库") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-out:delete')") + public CommonResult deleteMaterialInventoryOutList(@RequestParam("ids") List ids) { + materialInventoryOutService.deleteMaterialInventoryOutListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物料出库") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-out:query')") + public CommonResult getMaterialInventoryOut(@RequestParam("id") Long id) { + MaterialInventoryOutDO materialInventoryOut = materialInventoryOutService.getMaterialInventoryOut(id); + return success(BeanUtils.toBean(materialInventoryOut, MaterialInventoryOutRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物料出库分页") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-out:query')") + public CommonResult> getMaterialInventoryOutPage(@Valid MaterialInventoryOutPageReqVO pageReqVO) { + PageResult pageResult = materialInventoryOutService.getMaterialInventoryOutPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MaterialInventoryOutRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物料出库 Excel") + @PreAuthorize("@ss.hasPermission('garden:material-inventory-out:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMaterialInventoryOutExcel(@Valid MaterialInventoryOutPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = materialInventoryOutService.getMaterialInventoryOutPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物料出库.xls", "数据", MaterialInventoryOutRespVO.class, + BeanUtils.toBean(list, MaterialInventoryOutRespVO.class)); + } + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutPageReqVO.java new file mode 100644 index 0000000..19ed20c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutPageReqVO.java @@ -0,0 +1,78 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialinventoryout.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物料出库分页 Request VO") +@Data +public class MaterialInventoryOutPageReqVO extends PageParam { + + @Schema(description = "入库批次号") + private String inventoryOutNo; + + @Schema(description = "物料ID", example = "14541") + private Long materialId; + + @Schema(description = "物料名称", example = "芋艿") + private String materialName; + + @Schema(description = "物料类型ID", example = "9209") + private Long materialTypeId; + + @Schema(description = "耗材类型名称", example = "王五") + private String materialTypeName; + + @Schema(description = "类别ID", example = "12624") + private Long typeId; + + @Schema(description = "类别名称:药品", example = "芋艿") + private String typeName; + + @Schema(description = "类别明细ID", example = "24611") + private Long typeDetailId; + + @Schema(description = "类别明细", example = "王五") + private String typeDetailName; + + @Schema(description = "规格") + private String specifications; + + @Schema(description = "归属单位ID", example = "17128") + private Long belongCompanyId; + + @Schema(description = "归属单位", example = "李四") + private String belongCompanyName; + + @Schema(description = "出库数量") + private Long outInventoryNum; + + @Schema(description = "单位ID", example = "1033") + private Long unitId; + + @Schema(description = "单位", example = "芋艿") + private String unitName; + + @Schema(description = "出库日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] outDate; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "部门ID", example = "22618") + private Long deptId; + + @Schema(description = "类型: 1:手动出库;2:养护类出库", example = "1") + private Integer type; + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutRespVO.java new file mode 100644 index 0000000..f05118a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutRespVO.java @@ -0,0 +1,99 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialinventoryout.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 物料出库 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MaterialInventoryOutRespVO { + + @Schema(description = "入库ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18713") + @ExcelProperty("入库ID") + private Long id; + + @Schema(description = "入库批次号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("入库批次号") + private String inventoryOutNo; + + @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14541") + @ExcelProperty("物料ID") + private Long materialId; + + @Schema(description = "物料名称", example = "芋艿") + @ExcelProperty("物料名称") + private String materialName; + + @Schema(description = "物料类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9209") + @ExcelProperty("物料类型ID") + private Long materialTypeId; + + @Schema(description = "耗材类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("耗材类型名称") + private String materialTypeName; + + @Schema(description = "类别ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12624") + @ExcelProperty("类别ID") + private Long typeId; + + @Schema(description = "类别名称:药品", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("类别名称:药品") + private String typeName; + + @Schema(description = "类别明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24611") + @ExcelProperty("类别明细ID") + private Long typeDetailId; + + @Schema(description = "类别明细", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("类别明细") + private String typeDetailName; + + @Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("规格") + private String specifications; + + @Schema(description = "归属单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17128") + @ExcelProperty("归属单位ID") + private Long belongCompanyId; + + @Schema(description = "归属单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @ExcelProperty("归属单位") + private String belongCompanyName; + + @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("出库数量") + private Long outInventoryNum; + + @Schema(description = "单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1033") + @ExcelProperty("单位ID") + private Long unitId; + + @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("单位") + private String unitName; + + @Schema(description = "出库日期", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("出库日期") + private LocalDateTime outDate; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22618") + @ExcelProperty("部门ID") + private Long deptId; + + @Schema(description = "类型: 1:手动出库;2:养护类出库", example = "1") + @ExcelProperty("类型: 1:手动出库;2:养护类出库") + private Integer type; + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutSaveReqVO.java new file mode 100644 index 0000000..52510bb --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialinventoryout/vo/MaterialInventoryOutSaveReqVO.java @@ -0,0 +1,91 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialinventoryout.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物料出库新增/修改 Request VO") +@Data +public class MaterialInventoryOutSaveReqVO { + + @Schema(description = "入库ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18713") + private Long id; + + @Schema(description = "入库批次号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "入库批次号不能为空") + private String inventoryOutNo; + + @Schema(description = "物料ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14541") + @NotNull(message = "物料ID不能为空") + private Long materialId; + + @Schema(description = "物料名称", example = "芋艿") + private String materialName; + + @Schema(description = "物料类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9209") + @NotNull(message = "物料类型ID不能为空") + private Long materialTypeId; + + @Schema(description = "耗材类型名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotEmpty(message = "耗材类型名称不能为空") + private String materialTypeName; + + @Schema(description = "类别ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12624") + @NotNull(message = "类别ID不能为空") + private Long typeId; + + @Schema(description = "类别名称:药品", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "类别名称:药品不能为空") + private String typeName; + + @Schema(description = "类别明细ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24611") + @NotNull(message = "类别明细ID不能为空") + private Long typeDetailId; + + @Schema(description = "类别明细", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotEmpty(message = "类别明细不能为空") + private String typeDetailName; + + @Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "规格不能为空") + private String specifications; + + @Schema(description = "归属单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17128") + @NotNull(message = "归属单位ID不能为空") + private Long belongCompanyId; + + @Schema(description = "归属单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @NotEmpty(message = "归属单位不能为空") + private String belongCompanyName; + + @Schema(description = "出库数量", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "出库数量不能为空") + private Long outInventoryNum; + + @Schema(description = "单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1033") + @NotNull(message = "单位ID不能为空") + private Long unitId; + + @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "单位不能为空") + private String unitName; + + @Schema(description = "出库日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "出库日期不能为空") + private LocalDateTime outDate; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") + @NotEmpty(message = "备注不能为空") + private String remark; + + @Schema(description = "部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22618") + @NotNull(message = "部门ID不能为空") + private Long deptId; + + @Schema(description = "类型: 1:手动出库;2:养护类出库", example = "1") + private Integer type; + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialTypeController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/MaterialTypeController.java index 2e886e3..e7503d5 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialTypeController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/MaterialTypeController.java @@ -1,10 +1,10 @@ -package com.zteits.urbanops.module.garden.controller.admin.material; +package com.zteits.urbanops.module.garden.controller.admin.materialtype; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypePageReqVO; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypeRespVO; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypeSaveReqVO; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; -import com.zteits.urbanops.module.garden.service.material.MaterialTypeService; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypePageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeRespVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeSaveReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.materialtype.MaterialTypeDO; +import com.zteits.urbanops.module.garden.service.materialtype.MaterialTypeService; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialTypeManagerController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/MaterialTypeManagerController.java index 9276880..219f339 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialTypeManagerController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/MaterialTypeManagerController.java @@ -1,5 +1,8 @@ -package com.zteits.urbanops.module.garden.controller.admin.material; +package com.zteits.urbanops.module.garden.controller.admin.materialtype; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeManagerPageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeManagerRespVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeManagerSaveReqVO; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -8,7 +11,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; @@ -25,9 +27,8 @@ import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.*; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeManagerDO; -import com.zteits.urbanops.module.garden.service.material.MaterialTypeManagerService; +import com.zteits.urbanops.module.garden.dal.dataobject.materialtype.MaterialTypeManagerDO; +import com.zteits.urbanops.module.garden.service.materialtype.MaterialTypeManagerService; @Tag(name = "管理后台 - 耗材类别管理") @RestController diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeManagerPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeManagerPageReqVO.java index 399c649..1ae07f2 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeManagerPageReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeManagerPageReqVO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.controller.admin.material.vo; +package com.zteits.urbanops.module.garden.controller.admin.materialtype.vo; import lombok.*; import java.util.*; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeManagerRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeManagerRespVO.java index f5f608a..39b6db0 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeManagerRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeManagerRespVO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.controller.admin.material.vo; +package com.zteits.urbanops.module.garden.controller.admin.materialtype.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeManagerSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeManagerSaveReqVO.java index d9d4de1..da78e5a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeManagerSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeManagerSaveReqVO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.controller.admin.material.vo; +package com.zteits.urbanops.module.garden.controller.admin.materialtype.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypePageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypePageReqVO.java index eaa3f97..9dd1539 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypePageReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypePageReqVO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.controller.admin.material.vo; +package com.zteits.urbanops.module.garden.controller.admin.materialtype.vo; import lombok.*; import java.util.*; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeResp.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeResp.java index a838ba7..7774c43 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeResp.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeResp.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.controller.admin.material.vo; +package com.zteits.urbanops.module.garden.controller.admin.materialtype.vo; /** * Copyright: Copyright (c) 2017 zteits diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeRespVO.java index 35a47e3..a47d98f 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeRespVO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.controller.admin.material.vo; +package com.zteits.urbanops.module.garden.controller.admin.materialtype.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeSaveReqVO.java index 0e58545..c50fc07 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/vo/MaterialTypeSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/vo/MaterialTypeSaveReqVO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.controller.admin.material.vo; +package com.zteits.urbanops.module.garden.controller.admin.materialtype.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryInDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryInDO.java deleted file mode 100644 index 422c54c..0000000 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryInDO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.zteits.urbanops.module.garden.dal.dataobject.material; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; - -@TableName("garden_material_inventory_in") -@Data -public class MaterialInventoryInDO extends BaseDO { - @TableId - private Long id; - private String inventoryInNo; - private Long materialId; - private String materialName; - private Long materialTypeId; - private String materialTypeName; - private Long typeId; - private String typeName; - private Long typeDetailId; - private String typeDetailName; - private String specifications; - private Long belongCompanyId; - private String belongCompanyName; - private Long inInventoryNum; - private BigDecimal materialPrice; - private Long unitId; - private String unitName; - private Date buyDate; - private String supplierName; - private String contactsName; - private String contactsPhone; - private String status; - private Long deptId; -} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryOutDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryOutDO.java deleted file mode 100644 index 345b7e0..0000000 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryOutDO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.zteits.urbanops.module.garden.dal.dataobject.material; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; -import lombok.Data; - -import java.util.Date; - -@TableName("garden_material_inventory_out") -@Data -public class MaterialInventoryOutDO extends BaseDO { - @TableId - private Long id; - private String inventoryOutNo; - private Long materialId; - private String materialName; - private Long materialTypeId; - private String materialTypeName; - private Long typeId; - private String typeName; - private Long typeDetailId; - private String typeDetailName; - private String specifications; - private Long belongCompanyId; - private String belongCompanyName; - private Long outInventoryNum; - private Long unitId; - private String unitName; - private Date outDate; - private String status; - private Integer type; - private Long deptId; -} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialinventory/MaterialInventoryDO.java index 1ca18c2..eb8909b 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialinventory/MaterialInventoryDO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.dal.dataobject.material; +package com.zteits.urbanops.module.garden.dal.dataobject.materialinventory; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -29,4 +29,4 @@ public class MaterialInventoryDO extends BaseDO { private String status; private Long inventoryAlermNum; private Long deptId; -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialinventoryin/MaterialInventoryInDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialinventoryin/MaterialInventoryInDO.java new file mode 100644 index 0000000..22146e3 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialinventoryin/MaterialInventoryInDO.java @@ -0,0 +1,118 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryin; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; + +/** + * 物料入库 DO + * + * @author 超级管理员 + */ +@TableName("garden_material_inventory_in") +@KeySequence("garden_material_inventory_in_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MaterialInventoryInDO extends BaseDO { + + /** + * 入库ID + */ + @TableId + private Long id; + /** + * 入库批次号 + */ + private String inventoryInNo; + /** + * 物料ID + */ + private Long materialId; + /** + * 物料名称 + */ + private String materialName; + /** + * 物料类型ID + */ + private Long materialTypeId; + /** + * 耗材类型名称 + */ + private String materialTypeName; + /** + * 类别ID + */ + private Long typeId; + /** + * 类别名称:药品 + */ + private String typeName; + /** + * 类别明细ID + */ + private Long typeDetailId; + /** + * 类别明细 + */ + private String typeDetailName; + /** + * 规格 + */ + private String specifications; + /** + * 归属单位ID + */ + private Long belongCompanyId; + /** + * 归属单位 + */ + private String belongCompanyName; + /** + * 入库数量 + */ + private Long inInventoryNum; + /** + * 单价 + */ + private BigDecimal materialPrice; + /** + * 单位ID + */ + private Long unitId; + /** + * 单位 + */ + private String unitName; + /** + * 采购日期 + */ + private LocalDateTime buyDate; + /** + * 供应商名称 + */ + private String supplierName; + /** + * 联系人 + */ + private String contactsName; + /** + * 联系人 电话 + */ + private String contactsPhone; + /** + * 部门ID + */ + private Long deptId; + + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialinventoryout/MaterialInventoryOutDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialinventoryout/MaterialInventoryOutDO.java new file mode 100644 index 0000000..cb4de6e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialinventoryout/MaterialInventoryOutDO.java @@ -0,0 +1,109 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryout; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; + +/** + * 物料出库 DO + * + * @author 超级管理员 + */ +@TableName("garden_material_inventory_out") +@KeySequence("garden_material_inventory_out_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MaterialInventoryOutDO extends BaseDO { + + /** + * 入库ID + */ + @TableId + private Long id; + /** + * 入库批次号 + */ + private String inventoryOutNo; + /** + * 物料ID + */ + private Long materialId; + /** + * 物料名称 + */ + private String materialName; + /** + * 物料类型ID + */ + private Long materialTypeId; + /** + * 耗材类型名称 + */ + private String materialTypeName; + /** + * 类别ID + */ + private Long typeId; + /** + * 类别名称:药品 + */ + private String typeName; + /** + * 类别明细ID + */ + private Long typeDetailId; + /** + * 类别明细 + */ + private String typeDetailName; + /** + * 规格 + */ + private String specifications; + /** + * 归属单位ID + */ + private Long belongCompanyId; + /** + * 归属单位 + */ + private String belongCompanyName; + /** + * 出库数量 + */ + private Long outInventoryNum; + /** + * 单位ID + */ + private Long unitId; + /** + * 单位 + */ + private String unitName; + /** + * 出库日期 + */ + private LocalDateTime outDate; + /** + * 备注 + */ + private String remark; + /** + * 部门ID + */ + private Long deptId; + /** + * 类型: 1:手动出库;2:养护类出库 + */ + private Integer type; + + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialTypeDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialtype/MaterialTypeDO.java index 0ff1b99..fe3ae95 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialTypeDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialtype/MaterialTypeDO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.dal.dataobject.material; +package com.zteits.urbanops.module.garden.dal.dataobject.materialtype; import lombok.*; import java.util.*; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialTypeManagerDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialtype/MaterialTypeManagerDO.java index e2e8010..b17e977 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialTypeManagerDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/materialtype/MaterialTypeManagerDO.java @@ -1,4 +1,4 @@ -package com.zteits.urbanops.module.garden.dal.dataobject.material; +package com.zteits.urbanops.module.garden.dal.dataobject.materialtype; import lombok.*; import java.util.*; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryInMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryInMapper.java deleted file mode 100644 index f570329..0000000 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryInMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.zteits.urbanops.module.garden.dal.mysql.material; - -import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryInDO; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface MaterialInventoryInMapper extends BaseMapperX { - default MaterialInventoryInDO selectByNo(String inventoryInNo) { - return selectOne(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() - .eq(MaterialInventoryInDO::getInventoryInNo, inventoryInNo)); - } -} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryOutMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryOutMapper.java deleted file mode 100644 index 496da02..0000000 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryOutMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.zteits.urbanops.module.garden.dal.mysql.material; - -import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryOutDO; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface MaterialInventoryOutMapper extends BaseMapperX { -} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialinventory/MaterialInventoryMapper.java index 253e8c8..0df450a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialinventory/MaterialInventoryMapper.java @@ -1,10 +1,9 @@ -package com.zteits.urbanops.module.garden.dal.mysql.material; +package com.zteits.urbanops.module.garden.dal.mysql.materialinventory; import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventory.MaterialInventoryDO; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; @Mapper public interface MaterialInventoryMapper extends BaseMapperX { @@ -37,4 +36,4 @@ public interface MaterialInventoryMapper extends BaseMapperX { + + default PageResult selectPage(MaterialInventoryInPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialInventoryInDO::getInventoryInNo, reqVO.getInventoryInNo()) + .eqIfPresent(MaterialInventoryInDO::getMaterialId, reqVO.getMaterialId()) + .likeIfPresent(MaterialInventoryInDO::getMaterialName, reqVO.getMaterialName()) + .eqIfPresent(MaterialInventoryInDO::getMaterialTypeId, reqVO.getMaterialTypeId()) + .likeIfPresent(MaterialInventoryInDO::getMaterialTypeName, reqVO.getMaterialTypeName()) + .eqIfPresent(MaterialInventoryInDO::getTypeId, reqVO.getTypeId()) + .likeIfPresent(MaterialInventoryInDO::getTypeName, reqVO.getTypeName()) + .eqIfPresent(MaterialInventoryInDO::getTypeDetailId, reqVO.getTypeDetailId()) + .likeIfPresent(MaterialInventoryInDO::getTypeDetailName, reqVO.getTypeDetailName()) + .eqIfPresent(MaterialInventoryInDO::getSpecifications, reqVO.getSpecifications()) + .eqIfPresent(MaterialInventoryInDO::getBelongCompanyId, reqVO.getBelongCompanyId()) + .likeIfPresent(MaterialInventoryInDO::getBelongCompanyName, reqVO.getBelongCompanyName()) + .eqIfPresent(MaterialInventoryInDO::getInInventoryNum, reqVO.getInInventoryNum()) + .eqIfPresent(MaterialInventoryInDO::getMaterialPrice, reqVO.getMaterialPrice()) + .eqIfPresent(MaterialInventoryInDO::getUnitId, reqVO.getUnitId()) + .likeIfPresent(MaterialInventoryInDO::getUnitName, reqVO.getUnitName()) + .betweenIfPresent(MaterialInventoryInDO::getBuyDate, reqVO.getBuyDate()) + .likeIfPresent(MaterialInventoryInDO::getSupplierName, reqVO.getSupplierName()) + .likeIfPresent(MaterialInventoryInDO::getContactsName, reqVO.getContactsName()) + .eqIfPresent(MaterialInventoryInDO::getContactsPhone, reqVO.getContactsPhone()) + .betweenIfPresent(MaterialInventoryInDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(MaterialInventoryInDO::getDeptId, reqVO.getDeptId()) + .orderByDesc(MaterialInventoryInDO::getId)); + } + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialinventoryout/MaterialInventoryOutMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialinventoryout/MaterialInventoryOutMapper.java new file mode 100644 index 0000000..854b8d5 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialinventoryout/MaterialInventoryOutMapper.java @@ -0,0 +1,45 @@ +package com.zteits.urbanops.module.garden.dal.mysql.materialinventoryout; + +import java.util.*; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryout.MaterialInventoryOutDO; +import org.apache.ibatis.annotations.Mapper; +import com.zteits.urbanops.module.garden.controller.admin.materialinventoryout.vo.*; + +/** + * 物料出库 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface MaterialInventoryOutMapper extends BaseMapperX { + + default PageResult selectPage(MaterialInventoryOutPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaterialInventoryOutDO::getInventoryOutNo, reqVO.getInventoryOutNo()) + .eqIfPresent(MaterialInventoryOutDO::getMaterialId, reqVO.getMaterialId()) + .likeIfPresent(MaterialInventoryOutDO::getMaterialName, reqVO.getMaterialName()) + .eqIfPresent(MaterialInventoryOutDO::getMaterialTypeId, reqVO.getMaterialTypeId()) + .likeIfPresent(MaterialInventoryOutDO::getMaterialTypeName, reqVO.getMaterialTypeName()) + .eqIfPresent(MaterialInventoryOutDO::getTypeId, reqVO.getTypeId()) + .likeIfPresent(MaterialInventoryOutDO::getTypeName, reqVO.getTypeName()) + .eqIfPresent(MaterialInventoryOutDO::getTypeDetailId, reqVO.getTypeDetailId()) + .likeIfPresent(MaterialInventoryOutDO::getTypeDetailName, reqVO.getTypeDetailName()) + .eqIfPresent(MaterialInventoryOutDO::getSpecifications, reqVO.getSpecifications()) + .eqIfPresent(MaterialInventoryOutDO::getBelongCompanyId, reqVO.getBelongCompanyId()) + .likeIfPresent(MaterialInventoryOutDO::getBelongCompanyName, reqVO.getBelongCompanyName()) + .eqIfPresent(MaterialInventoryOutDO::getOutInventoryNum, reqVO.getOutInventoryNum()) + .eqIfPresent(MaterialInventoryOutDO::getUnitId, reqVO.getUnitId()) + .likeIfPresent(MaterialInventoryOutDO::getUnitName, reqVO.getUnitName()) + .betweenIfPresent(MaterialInventoryOutDO::getOutDate, reqVO.getOutDate()) + .eqIfPresent(MaterialInventoryOutDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(MaterialInventoryOutDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(MaterialInventoryOutDO::getDeptId, reqVO.getDeptId()) + .eqIfPresent(MaterialInventoryOutDO::getType, reqVO.getType()) + .orderByDesc(MaterialInventoryOutDO::getId)); + } + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialTypeManagerMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeManagerMapper.java index d6b5aa6..70482b3 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialTypeManagerMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeManagerMapper.java @@ -1,13 +1,11 @@ -package com.zteits.urbanops.module.garden.dal.mysql.material; - -import java.util.*; +package com.zteits.urbanops.module.garden.dal.mysql.materialtype; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeManagerDO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeManagerPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.materialtype.MaterialTypeManagerDO; import org.apache.ibatis.annotations.Mapper; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.*; /** * 耗材类别管理 Mapper diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialTypeMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeMapper.java index 6274d2a..25682fd 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialTypeMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/materialtype/MaterialTypeMapper.java @@ -1,10 +1,10 @@ -package com.zteits.urbanops.module.garden.dal.mysql.material; +package com.zteits.urbanops.module.garden.dal.mysql.materialtype; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypePageReqVO; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypePageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.materialtype.MaterialTypeDO; import org.apache.ibatis.annotations.Mapper; /** diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java index fdf11c9..181cb14 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java @@ -76,4 +76,9 @@ public interface ErrorCodeConstants { ErrorCode MATERIAL_TYPE_MANAGER_NOT_EXISTS = new ErrorCode(1-100-004-002, "耗材类别管理不存在"); ErrorCode MATERIAL_NOT_EXISTS = new ErrorCode(1-100-004-003, "耗材管理不存在"); + + ErrorCode MATERIAL_INVENTORY_IN_NOT_EXISTS = new ErrorCode(1-100-004-004, "物料入库不存在"); + + ErrorCode MATERIAL_INVENTORY_OUT_NOT_EXISTS = new ErrorCode(1-100-004-005, "物料出库不存在"); + } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java index 0f8ce15..eecf2c5 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java @@ -1,19 +1,14 @@ package com.zteits.urbanops.module.garden.service.material; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zteits.urbanops.module.garden.controller.admin.material.vo.*; import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialDO; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialMapper; @@ -22,7 +17,6 @@ import static com.zteits.urbanops.framework.common.exception.enums.GlobalErrorCo import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception0; import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; -import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; /** diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryService.java index d2615e1..c4ab7cd 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryService.java @@ -1,10 +1,10 @@ -package com.zteits.urbanops.module.garden.service.material; +package com.zteits.urbanops.module.garden.service.materialinventory; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventory.MaterialInventoryDO; public interface MaterialInventoryService { PageResult selectPage(PageParam pageParam, MaterialInventoryDO where); Boolean updateInventoryAlarmNum(Long materialId, Long alermNum); -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryServiceImpl.java index 9327c7c..ac041f9 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventory/MaterialInventoryServiceImpl.java @@ -1,9 +1,9 @@ -package com.zteits.urbanops.module.garden.service.material; +package com.zteits.urbanops.module.garden.service.materialinventory; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; -import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryMapper; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventory.MaterialInventoryDO; +import com.zteits.urbanops.module.garden.dal.mysql.materialinventory.MaterialInventoryMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -27,4 +27,4 @@ public class MaterialInventoryServiceImpl implements MaterialInventoryService { public Boolean updateInventoryAlarmNum(Long materialId, Long alermNum) { return mapper.updateInventoryAlarmNum(materialId, alermNum) > 0; } -} \ No newline at end of file +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInService.java new file mode 100644 index 0000000..e5b5727 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInService.java @@ -0,0 +1,62 @@ +package com.zteits.urbanops.module.garden.service.materialinventoryin; + +import java.util.*; +import jakarta.validation.*; +import com.zteits.urbanops.module.garden.controller.admin.materialinventoryin.vo.*; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryin.MaterialInventoryInDO; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; + +/** + * 物料入库 Service 接口 + * + * @author 超级管理员 + */ +public interface MaterialInventoryInService { + + /** + * 创建物料入库 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createMaterialInventoryIn(@Valid MaterialInventoryInSaveReqVO createReqVO); + + /** + * 更新物料入库 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialInventoryIn(@Valid MaterialInventoryInSaveReqVO updateReqVO); + + /** + * 删除物料入库 + * + * @param id 编号 + */ + void deleteMaterialInventoryIn(Long id); + + /** + * 批量删除物料入库 + * + * @param ids 编号 + */ + void deleteMaterialInventoryInListByIds(List ids); + + /** + * 获得物料入库 + * + * @param id 编号 + * @return 物料入库 + */ + MaterialInventoryInDO getMaterialInventoryIn(Long id); + + /** + * 获得物料入库分页 + * + * @param pageReqVO 分页查询 + * @return 物料入库分页 + */ + PageResult getMaterialInventoryInPage(MaterialInventoryInPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInServiceImpl.java new file mode 100644 index 0000000..beb8895 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryin/MaterialInventoryInServiceImpl.java @@ -0,0 +1,85 @@ +package com.zteits.urbanops.module.garden.service.materialinventoryin; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zteits.urbanops.module.garden.controller.admin.materialinventoryin.vo.*; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryin.MaterialInventoryInDO; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; + +import com.zteits.urbanops.module.garden.dal.mysql.materialinventoryin.MaterialInventoryInMapper; + +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; +import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; + +/** + * 物料入库 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class MaterialInventoryInServiceImpl implements MaterialInventoryInService { + + @Resource + private MaterialInventoryInMapper materialInventoryInMapper; + + @Override + public Long createMaterialInventoryIn(MaterialInventoryInSaveReqVO createReqVO) { + // 插入 + MaterialInventoryInDO materialInventoryIn = BeanUtils.toBean(createReqVO, MaterialInventoryInDO.class); + materialInventoryInMapper.insert(materialInventoryIn); + + // 返回 + return materialInventoryIn.getId(); + } + + @Override + public void updateMaterialInventoryIn(MaterialInventoryInSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialInventoryInExists(updateReqVO.getId()); + // 更新 + MaterialInventoryInDO updateObj = BeanUtils.toBean(updateReqVO, MaterialInventoryInDO.class); + materialInventoryInMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialInventoryIn(Long id) { + // 校验存在 + validateMaterialInventoryInExists(id); + // 删除 + materialInventoryInMapper.deleteById(id); + } + + @Override + public void deleteMaterialInventoryInListByIds(List ids) { + // 删除 + materialInventoryInMapper.deleteByIds(ids); + } + + + private void validateMaterialInventoryInExists(Long id) { + if (materialInventoryInMapper.selectById(id) == null) { + throw exception(MATERIAL_INVENTORY_IN_NOT_EXISTS); + } + } + + @Override + public MaterialInventoryInDO getMaterialInventoryIn(Long id) { + return materialInventoryInMapper.selectById(id); + } + + @Override + public PageResult getMaterialInventoryInPage(MaterialInventoryInPageReqVO pageReqVO) { + return materialInventoryInMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutService.java new file mode 100644 index 0000000..7030aea --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutService.java @@ -0,0 +1,62 @@ +package com.zteits.urbanops.module.garden.service.materialinventoryout; + +import java.util.*; +import jakarta.validation.*; +import com.zteits.urbanops.module.garden.controller.admin.materialinventoryout.vo.*; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryout.MaterialInventoryOutDO; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; + +/** + * 物料出库 Service 接口 + * + * @author 超级管理员 + */ +public interface MaterialInventoryOutService { + + /** + * 创建物料出库 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createMaterialInventoryOut(@Valid MaterialInventoryOutSaveReqVO createReqVO); + + /** + * 更新物料出库 + * + * @param updateReqVO 更新信息 + */ + void updateMaterialInventoryOut(@Valid MaterialInventoryOutSaveReqVO updateReqVO); + + /** + * 删除物料出库 + * + * @param id 编号 + */ + void deleteMaterialInventoryOut(Long id); + + /** + * 批量删除物料出库 + * + * @param ids 编号 + */ + void deleteMaterialInventoryOutListByIds(List ids); + + /** + * 获得物料出库 + * + * @param id 编号 + * @return 物料出库 + */ + MaterialInventoryOutDO getMaterialInventoryOut(Long id); + + /** + * 获得物料出库分页 + * + * @param pageReqVO 分页查询 + * @return 物料出库分页 + */ + PageResult getMaterialInventoryOutPage(MaterialInventoryOutPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutServiceImpl.java new file mode 100644 index 0000000..4bf635e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialinventoryout/MaterialInventoryOutServiceImpl.java @@ -0,0 +1,85 @@ +package com.zteits.urbanops.module.garden.service.materialinventoryout; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.zteits.urbanops.module.garden.controller.admin.materialinventoryout.vo.*; +import com.zteits.urbanops.module.garden.dal.dataobject.materialinventoryout.MaterialInventoryOutDO; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; + +import com.zteits.urbanops.module.garden.dal.mysql.materialinventoryout.MaterialInventoryOutMapper; + +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; +import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; + +/** + * 物料出库 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class MaterialInventoryOutServiceImpl implements MaterialInventoryOutService { + + @Resource + private MaterialInventoryOutMapper materialInventoryOutMapper; + + @Override + public Long createMaterialInventoryOut(MaterialInventoryOutSaveReqVO createReqVO) { + // 插入 + MaterialInventoryOutDO materialInventoryOut = BeanUtils.toBean(createReqVO, MaterialInventoryOutDO.class); + materialInventoryOutMapper.insert(materialInventoryOut); + + // 返回 + return materialInventoryOut.getId(); + } + + @Override + public void updateMaterialInventoryOut(MaterialInventoryOutSaveReqVO updateReqVO) { + // 校验存在 + validateMaterialInventoryOutExists(updateReqVO.getId()); + // 更新 + MaterialInventoryOutDO updateObj = BeanUtils.toBean(updateReqVO, MaterialInventoryOutDO.class); + materialInventoryOutMapper.updateById(updateObj); + } + + @Override + public void deleteMaterialInventoryOut(Long id) { + // 校验存在 + validateMaterialInventoryOutExists(id); + // 删除 + materialInventoryOutMapper.deleteById(id); + } + + @Override + public void deleteMaterialInventoryOutListByIds(List ids) { + // 删除 + materialInventoryOutMapper.deleteByIds(ids); + } + + + private void validateMaterialInventoryOutExists(Long id) { + if (materialInventoryOutMapper.selectById(id) == null) { + throw exception(MATERIAL_INVENTORY_OUT_NOT_EXISTS); + } + } + + @Override + public MaterialInventoryOutDO getMaterialInventoryOut(Long id) { + return materialInventoryOutMapper.selectById(id); + } + + @Override + public PageResult getMaterialInventoryOutPage(MaterialInventoryOutPageReqVO pageReqVO) { + return materialInventoryOutMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeManagerService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialtype/MaterialTypeManagerService.java index 2baaa8f..c32a9a7 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeManagerService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialtype/MaterialTypeManagerService.java @@ -1,11 +1,12 @@ -package com.zteits.urbanops.module.garden.service.material; +package com.zteits.urbanops.module.garden.service.materialtype; import java.util.*; + +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeManagerPageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeManagerSaveReqVO; import jakarta.validation.*; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.*; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeManagerDO; +import com.zteits.urbanops.module.garden.dal.dataobject.materialtype.MaterialTypeManagerDO; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; /** * 耗材类别管理 Service 接口 diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeManagerServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialtype/MaterialTypeManagerServiceImpl.java index b606f20..9e8c2fe 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeManagerServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialtype/MaterialTypeManagerServiceImpl.java @@ -1,23 +1,21 @@ -package com.zteits.urbanops.module.garden.service.material; +package com.zteits.urbanops.module.garden.service.materialtype; -import cn.hutool.core.collection.CollUtil; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeManagerPageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeManagerSaveReqVO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.*; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeManagerDO; + +import com.zteits.urbanops.module.garden.dal.dataobject.materialtype.MaterialTypeManagerDO; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.util.object.BeanUtils; -import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialTypeManagerMapper; +import com.zteits.urbanops.module.garden.dal.mysql.materialtype.MaterialTypeManagerMapper; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; -import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; /** diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialtype/MaterialTypeService.java index 1f4e0f8..cdcf3f7 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialtype/MaterialTypeService.java @@ -1,12 +1,12 @@ -package com.zteits.urbanops.module.garden.service.material; +package com.zteits.urbanops.module.garden.service.materialtype; import java.util.*; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypePageReqVO; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypeResp; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypeSaveReqVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypePageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeResp; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeSaveReqVO; import jakarta.validation.*; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; +import com.zteits.urbanops.module.garden.dal.dataobject.materialtype.MaterialTypeDO; import com.zteits.urbanops.framework.common.pojo.PageResult; /** diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialtype/MaterialTypeServiceImpl.java index 87467a3..db76698 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/materialtype/MaterialTypeServiceImpl.java @@ -1,9 +1,9 @@ -package com.zteits.urbanops.module.garden.service.material; +package com.zteits.urbanops.module.garden.service.materialtype; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypePageReqVO; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypeResp; -import com.zteits.urbanops.module.garden.controller.admin.material.vo.MaterialTypeSaveReqVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypePageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeResp; +import com.zteits.urbanops.module.garden.controller.admin.materialtype.vo.MaterialTypeSaveReqVO; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; @@ -12,11 +12,11 @@ import org.springframework.validation.annotation.Validated; import java.util.*; import java.util.stream.Collectors; -import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; +import com.zteits.urbanops.module.garden.dal.dataobject.materialtype.MaterialTypeDO; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; -import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialTypeMapper; +import com.zteits.urbanops.module.garden.dal.mysql.materialtype.MaterialTypeMapper; import static com.zteits.urbanops.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception;