From dbeeaa17bb82e209cba59f8318c83a4db124f53a Mon Sep 17 00:00:00 2001 From: yinq <1345442242@qq.com> Date: Tue, 31 Oct 2023 15:47:33 +0800 Subject: [PATCH] =?UTF-8?q?add=20-=20=E8=B4=A7=E9=81=93=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BaseSpaceDetailController.java | 103 ++++++++ .../aucma/base/domain/BaseSpaceDetail.java | 235 ++++++++++++++++++ .../base/mapper/BaseSpaceDetailMapper.java | 61 +++++ .../base/service/IBaseSpaceDetailService.java | 61 +++++ .../impl/BaseSpaceDetailServiceImpl.java | 87 +++++++ .../mapper/base/BaseSpaceDetailMapper.xml | 133 ++++++++++ 6 files changed, 680 insertions(+) create mode 100644 aucma-base/src/main/java/com/aucma/base/controller/BaseSpaceDetailController.java create mode 100644 aucma-base/src/main/java/com/aucma/base/domain/BaseSpaceDetail.java create mode 100644 aucma-base/src/main/java/com/aucma/base/mapper/BaseSpaceDetailMapper.java create mode 100644 aucma-base/src/main/java/com/aucma/base/service/IBaseSpaceDetailService.java create mode 100644 aucma-base/src/main/java/com/aucma/base/service/impl/BaseSpaceDetailServiceImpl.java create mode 100644 aucma-base/src/main/resources/mapper/base/BaseSpaceDetailMapper.xml diff --git a/aucma-base/src/main/java/com/aucma/base/controller/BaseSpaceDetailController.java b/aucma-base/src/main/java/com/aucma/base/controller/BaseSpaceDetailController.java new file mode 100644 index 0000000..1fc4481 --- /dev/null +++ b/aucma-base/src/main/java/com/aucma/base/controller/BaseSpaceDetailController.java @@ -0,0 +1,103 @@ +package com.aucma.base.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.aucma.common.utils.DateUtils; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.aucma.common.annotation.Log; +import com.aucma.common.core.controller.BaseController; +import com.aucma.common.core.domain.AjaxResult; +import com.aucma.common.enums.BusinessType; +import com.aucma.base.domain.BaseSpaceDetail; +import com.aucma.base.service.IBaseSpaceDetailService; +import com.aucma.common.utils.poi.ExcelUtil; +import com.aucma.common.core.page.TableDataInfo; + +/** + * 货道明细Controller + * + * @author Yinq + * @date 2023-10-30 + */ +@RestController +@RequestMapping("/base/spaceDetail" ) +public class BaseSpaceDetailController extends BaseController { + @Autowired + private IBaseSpaceDetailService baseSpaceDetailService; + + /** + * 查询货道明细列表 + */ + @PreAuthorize("@ss.hasPermi('base:spaceDetail:list')" ) + @GetMapping("/list" ) + public TableDataInfo list(BaseSpaceDetail baseSpaceDetail) { + startPage(); + List list = baseSpaceDetailService.selectBaseSpaceDetailList(baseSpaceDetail); + return getDataTable(list); + } + + /** + * 导出货道明细列表 + */ + @PreAuthorize("@ss.hasPermi('base:spaceDetail:export')" ) + @Log(title = "货道明细" , businessType = BusinessType.EXPORT) + @PostMapping("/export" ) + public void export(HttpServletResponse response, BaseSpaceDetail baseSpaceDetail) { + List list = baseSpaceDetailService.selectBaseSpaceDetailList(baseSpaceDetail); + ExcelUtil util = new ExcelUtil(BaseSpaceDetail. class); + util.exportExcel(response, list, "货道明细数据" ); + } + + /** + * 获取货道明细详细信息 + */ + @PreAuthorize("@ss.hasPermi('base:spaceDetail:query')" ) + @GetMapping(value = "/{objId}" ) + public AjaxResult getInfo(@PathVariable("objId" ) Long objId) { + return success(baseSpaceDetailService.selectBaseSpaceDetailByObjId(objId)); + } + + /** + * 新增货道明细 + */ + @PreAuthorize("@ss.hasPermi('base:spaceDetail:add')" ) + @Log(title = "货道明细" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BaseSpaceDetail baseSpaceDetail) { + baseSpaceDetail.setCreatedBy(getUsername()); + baseSpaceDetail.setCreatedTime(DateUtils.getNowDate()); + return toAjax(baseSpaceDetailService.insertBaseSpaceDetail(baseSpaceDetail)); + } + + /** + * 修改货道明细 + */ + @PreAuthorize("@ss.hasPermi('base:spaceDetail:edit')" ) + @Log(title = "货道明细" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BaseSpaceDetail baseSpaceDetail) { + baseSpaceDetail.setUpdatedBy(getUsername()); + baseSpaceDetail.setUpdatedTime(DateUtils.getNowDate()); + return toAjax(baseSpaceDetailService.updateBaseSpaceDetail(baseSpaceDetail)); + } + + /** + * 删除货道明细 + */ + @PreAuthorize("@ss.hasPermi('base:spaceDetail:remove')" ) + @Log(title = "货道明细" , businessType = BusinessType.DELETE) + @DeleteMapping("/{objIds}" ) + public AjaxResult remove(@PathVariable Long[] objIds) { + return toAjax(baseSpaceDetailService.deleteBaseSpaceDetailByObjIds(objIds)); + } +} diff --git a/aucma-base/src/main/java/com/aucma/base/domain/BaseSpaceDetail.java b/aucma-base/src/main/java/com/aucma/base/domain/BaseSpaceDetail.java new file mode 100644 index 0000000..9bd934b --- /dev/null +++ b/aucma-base/src/main/java/com/aucma/base/domain/BaseSpaceDetail.java @@ -0,0 +1,235 @@ +package com.aucma.base.domain; + +import java.math.BigDecimal; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.aucma.common.annotation.Excel; +import com.aucma.common.core.domain.BaseEntity; + +/** + * 货道明细对象 base_spacedetail + * + * @author Yinq + * @date 2023-10-30 + */ +public class BaseSpaceDetail extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long objId; + + /** + * 所属仓库 + */ + @Excel(name = "所属仓库") + private String storeCode; + + /** + * 所属仓库名称 + */ + @Excel(name = "所属仓库名称") + private String storeName; + + /** + * 货道编号 + */ + @Excel(name = "货道编号") + private String spaceCode; + + /** + * 货道名称 + */ + @Excel(name = "货道名称") + private String spaceName; + + /** + * 物料编号 + */ + @Excel(name = "物料编号") + private String materialCode; + + /** + * 物料名称 + */ + @Excel(name = "物料名称") + private String materialName; + + /** + * 物料类型 + */ + @Excel(name = "物料类型") + private String materialType; + + /** + * 物料数量 + */ + @Excel(name = "物料数量") + private BigDecimal materialAmount; + + /** + * 是否标识 + */ + @Excel(name = "是否标识") + private Long isFlag; + + /** + * 创建人 + */ + @Excel(name = "创建人") + private String createdBy; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date createdTime; + + /** + * 更新人 + */ + @Excel(name = "更新人") + private String updatedBy; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date updatedTime; + + public String getStoreName() { + return storeName; + } + + public void setStoreName(String storeName) { + this.storeName = storeName; + } + + public String getSpaceName() { + return spaceName; + } + + public void setSpaceName(String spaceName) { + this.spaceName = spaceName; + } + + public void setObjId(Long objId) { + this.objId = objId; + } + + public Long getObjId() { + return objId; + } + + public void setStoreCode(String storeCode) { + this.storeCode = storeCode; + } + + public String getStoreCode() { + return storeCode; + } + + public void setSpaceCode(String spaceCode) { + this.spaceCode = spaceCode; + } + + public String getSpaceCode() { + return spaceCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialType(String materialType) { + this.materialType = materialType; + } + + public String getMaterialType() { + return materialType; + } + + public void setMaterialAmount(BigDecimal materialAmount) { + this.materialAmount = materialAmount; + } + + public BigDecimal getMaterialAmount() { + return materialAmount; + } + + public void setIsFlag(Long isFlag) { + this.isFlag = isFlag; + } + + public Long getIsFlag() { + return isFlag; + } + + public void setCreatedBy(String createdBy) { + this.createdBy = createdBy; + } + + public String getCreatedBy() { + return createdBy; + } + + public void setCreatedTime(Date createdTime) { + this.createdTime = createdTime; + } + + public Date getCreatedTime() { + return createdTime; + } + + public void setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + } + + public String getUpdatedBy() { + return updatedBy; + } + + public void setUpdatedTime(Date updatedTime) { + this.updatedTime = updatedTime; + } + + public Date getUpdatedTime() { + return updatedTime; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("objId", getObjId()) + .append("storeCode", getStoreCode()) + .append("spaceCode", getSpaceCode()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("materialType", getMaterialType()) + .append("materialAmount", getMaterialAmount()) + .append("isFlag", getIsFlag()) + .append("createdBy", getCreatedBy()) + .append("createdTime", getCreatedTime()) + .append("updatedBy", getUpdatedBy()) + .append("updatedTime", getUpdatedTime()) + .toString(); + } +} diff --git a/aucma-base/src/main/java/com/aucma/base/mapper/BaseSpaceDetailMapper.java b/aucma-base/src/main/java/com/aucma/base/mapper/BaseSpaceDetailMapper.java new file mode 100644 index 0000000..7571c52 --- /dev/null +++ b/aucma-base/src/main/java/com/aucma/base/mapper/BaseSpaceDetailMapper.java @@ -0,0 +1,61 @@ +package com.aucma.base.mapper; + +import java.util.List; + +import com.aucma.base.domain.BaseSpaceDetail; + +/** + * 货道明细Mapper接口 + * + * @author Yinq + * @date 2023-10-30 + */ +public interface BaseSpaceDetailMapper { + /** + * 查询货道明细 + * + * @param objId 货道明细主键 + * @return 货道明细 + */ + public BaseSpaceDetail selectBaseSpaceDetailByObjId(Long objId); + + /** + * 查询货道明细列表 + * + * @param baseSpaceDetail 货道明细 + * @return 货道明细集合 + */ + public List selectBaseSpaceDetailList(BaseSpaceDetail baseSpaceDetail); + + /** + * 新增货道明细 + * + * @param baseSpaceDetail 货道明细 + * @return 结果 + */ + public int insertBaseSpaceDetail(BaseSpaceDetail baseSpaceDetail); + + /** + * 修改货道明细 + * + * @param baseSpaceDetail 货道明细 + * @return 结果 + */ + public int updateBaseSpaceDetail(BaseSpaceDetail baseSpaceDetail); + + /** + * 删除货道明细 + * + * @param objId 货道明细主键 + * @return 结果 + */ + public int deleteBaseSpaceDetailByObjId(Long objId); + + /** + * 批量删除货道明细 + * + * @param objIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBaseSpaceDetailByObjIds(Long[] objIds); +} diff --git a/aucma-base/src/main/java/com/aucma/base/service/IBaseSpaceDetailService.java b/aucma-base/src/main/java/com/aucma/base/service/IBaseSpaceDetailService.java new file mode 100644 index 0000000..d9bbb20 --- /dev/null +++ b/aucma-base/src/main/java/com/aucma/base/service/IBaseSpaceDetailService.java @@ -0,0 +1,61 @@ +package com.aucma.base.service; + +import java.util.List; + +import com.aucma.base.domain.BaseSpaceDetail; + +/** + * 货道明细Service接口 + * + * @author Yinq + * @date 2023-10-30 + */ +public interface IBaseSpaceDetailService { + /** + * 查询货道明细 + * + * @param objId 货道明细主键 + * @return 货道明细 + */ + public BaseSpaceDetail selectBaseSpaceDetailByObjId(Long objId); + + /** + * 查询货道明细列表 + * + * @param baseSpaceDetail 货道明细 + * @return 货道明细集合 + */ + public List selectBaseSpaceDetailList(BaseSpaceDetail baseSpaceDetail); + + /** + * 新增货道明细 + * + * @param baseSpaceDetail 货道明细 + * @return 结果 + */ + public int insertBaseSpaceDetail(BaseSpaceDetail baseSpaceDetail); + + /** + * 修改货道明细 + * + * @param baseSpaceDetail 货道明细 + * @return 结果 + */ + public int updateBaseSpaceDetail(BaseSpaceDetail baseSpaceDetail); + + /** + * 批量删除货道明细 + * + * @param objIds 需要删除的货道明细主键集合 + * @return 结果 + */ + public int deleteBaseSpaceDetailByObjIds(Long[] objIds); + + /** + * 删除货道明细信息 + * + * @param objId 货道明细主键 + * @return 结果 + */ + public int deleteBaseSpaceDetailByObjId(Long objId); +} diff --git a/aucma-base/src/main/java/com/aucma/base/service/impl/BaseSpaceDetailServiceImpl.java b/aucma-base/src/main/java/com/aucma/base/service/impl/BaseSpaceDetailServiceImpl.java new file mode 100644 index 0000000..7e13138 --- /dev/null +++ b/aucma-base/src/main/java/com/aucma/base/service/impl/BaseSpaceDetailServiceImpl.java @@ -0,0 +1,87 @@ +package com.aucma.base.service.impl; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.aucma.base.mapper.BaseSpaceDetailMapper; +import com.aucma.base.domain.BaseSpaceDetail; +import com.aucma.base.service.IBaseSpaceDetailService; + +/** + * 货道明细Service业务层处理 + * + * @author Yinq + * @date 2023-10-30 + */ +@Service +public class BaseSpaceDetailServiceImpl implements IBaseSpaceDetailService { + @Autowired + private BaseSpaceDetailMapper baseSpaceDetailMapper; + + /** + * 查询货道明细 + * + * @param objId 货道明细主键 + * @return 货道明细 + */ + @Override + public BaseSpaceDetail selectBaseSpaceDetailByObjId(Long objId) { + return baseSpaceDetailMapper.selectBaseSpaceDetailByObjId(objId); + } + + /** + * 查询货道明细列表 + * + * @param baseSpaceDetail 货道明细 + * @return 货道明细 + */ + @Override + public List selectBaseSpaceDetailList(BaseSpaceDetail baseSpaceDetail) { + return baseSpaceDetailMapper.selectBaseSpaceDetailList(baseSpaceDetail); + } + + /** + * 新增货道明细 + * + * @param baseSpaceDetail 货道明细 + * @return 结果 + */ + @Override + public int insertBaseSpaceDetail(BaseSpaceDetail baseSpaceDetail) { + return baseSpaceDetailMapper.insertBaseSpaceDetail(baseSpaceDetail); + } + + /** + * 修改货道明细 + * + * @param baseSpaceDetail 货道明细 + * @return 结果 + */ + @Override + public int updateBaseSpaceDetail(BaseSpaceDetail baseSpaceDetail) { + return baseSpaceDetailMapper.updateBaseSpaceDetail(baseSpaceDetail); + } + + /** + * 批量删除货道明细 + * + * @param objIds 需要删除的货道明细主键 + * @return 结果 + */ + @Override + public int deleteBaseSpaceDetailByObjIds(Long[] objIds) { + return baseSpaceDetailMapper.deleteBaseSpaceDetailByObjIds(objIds); + } + + /** + * 删除货道明细信息 + * + * @param objId 货道明细主键 + * @return 结果 + */ + @Override + public int deleteBaseSpaceDetailByObjId(Long objId) { + return baseSpaceDetailMapper.deleteBaseSpaceDetailByObjId(objId); + } +} diff --git a/aucma-base/src/main/resources/mapper/base/BaseSpaceDetailMapper.xml b/aucma-base/src/main/resources/mapper/base/BaseSpaceDetailMapper.xml new file mode 100644 index 0000000..f9522af --- /dev/null +++ b/aucma-base/src/main/resources/mapper/base/BaseSpaceDetailMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + select sd.obj_id, + sd.store_code, + si.store_name, + sd.space_code, + sp.space_name, + sd.material_code, + sd.material_name, + sd.material_type, + sd.material_amount, + sd.is_flag, + sd.created_by, + sd.created_time, + sd.updated_by, + sd.updated_time + from base_spacedetail sd + left join BASE_STOREINFO si on si.STORE_CODE = sd.STORE_CODE + left join BASE_SPACEINFO sp on sp.SPACE_CODE = sd.SPACE_CODE + + + + + + + + + SELECT seq_base_spacedetail.NEXTVAL as objId FROM DUAL + + insert into base_spacedetail + + obj_id, + store_code, + space_code, + material_code, + material_name, + material_type, + material_amount, + is_flag, + created_by, + created_time, + updated_by, + updated_time, + + + #{objId}, + #{storeCode}, + #{spaceCode}, + #{materialCode}, + #{materialName}, + #{materialType}, + #{materialAmount}, + #{isFlag}, + #{createdBy}, + #{createdTime}, + #{updatedBy}, + #{updatedTime}, + + + + + update base_spacedetail + + store_code = #{storeCode}, + space_code = #{spaceCode}, + material_code = #{materialCode}, + material_name = #{materialName}, + material_type = #{materialType}, + material_amount = #{materialAmount}, + is_flag = #{isFlag}, + created_by = #{createdBy}, + created_time = #{createdTime}, + updated_by = #{updatedBy}, + updated_time = #{updatedTime}, + + where obj_id = #{objId} + + + + delete + from base_spacedetail + where obj_id = #{objId} + + + + delete from base_spacedetail where obj_id in + + #{objId} + + + \ No newline at end of file