diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmRtSalseController.java b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmRtSalseController.java new file mode 100644 index 0000000..ca4bd33 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmRtSalseController.java @@ -0,0 +1,112 @@ +package com.ktg.mes.wm.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ktg.common.constant.UserConstants; +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.ktg.common.annotation.Log; +import com.ktg.common.core.controller.BaseController; +import com.ktg.common.core.domain.AjaxResult; +import com.ktg.common.enums.BusinessType; +import com.ktg.mes.wm.domain.WmRtSalse; +import com.ktg.mes.wm.service.IWmRtSalseService; +import com.ktg.common.utils.poi.ExcelUtil; +import com.ktg.common.core.page.TableDataInfo; + +/** + * 产品销售退货单Controller + * + * @author yinjinlu + * @date 2022-10-06 + */ +@RestController +@RequestMapping("/mes/wm/rtsalse") +public class WmRtSalseController extends BaseController +{ + @Autowired + private IWmRtSalseService wmRtSalseService; + + /** + * 查询产品销售退货单列表 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:rtsalse:list')") + @GetMapping("/list") + public TableDataInfo list(WmRtSalse wmRtSalse) + { + startPage(); + List list = wmRtSalseService.selectWmRtSalseList(wmRtSalse); + return getDataTable(list); + } + + /** + * 导出产品销售退货单列表 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:rtsalse:export')") + @Log(title = "产品销售退货单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, WmRtSalse wmRtSalse) + { + List list = wmRtSalseService.selectWmRtSalseList(wmRtSalse); + ExcelUtil util = new ExcelUtil(WmRtSalse.class); + util.exportExcel(response, list, "产品销售退货单数据"); + } + + /** + * 获取产品销售退货单详细信息 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:rtsalse:query')") + @GetMapping(value = "/{rtId}") + public AjaxResult getInfo(@PathVariable("rtId") Long rtId) + { + return AjaxResult.success(wmRtSalseService.selectWmRtSalseByRtId(rtId)); + } + + /** + * 新增产品销售退货单 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:rtsalse:add')") + @Log(title = "产品销售退货单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody WmRtSalse wmRtSalse) + { + if(UserConstants.NOT_UNIQUE.equals(wmRtSalseService.checkUnique(wmRtSalse))){ + return AjaxResult.error("退货单号已存在!"); + } + return toAjax(wmRtSalseService.insertWmRtSalse(wmRtSalse)); + } + + /** + * 修改产品销售退货单 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:rtsalse:edit')") + @Log(title = "产品销售退货单", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody WmRtSalse wmRtSalse) + { + if(UserConstants.NOT_UNIQUE.equals(wmRtSalseService.checkUnique(wmRtSalse))){ + return AjaxResult.error("退货单号已存在!"); + } + return toAjax(wmRtSalseService.updateWmRtSalse(wmRtSalse)); + } + + /** + * 删除产品销售退货单 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:rtsalse:remove')") + @Log(title = "产品销售退货单", businessType = BusinessType.DELETE) + @DeleteMapping("/{rtIds}") + public AjaxResult remove(@PathVariable Long[] rtIds) + { + return toAjax(wmRtSalseService.deleteWmRtSalseByRtIds(rtIds)); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmRtSalse.java b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmRtSalse.java new file mode 100644 index 0000000..2458208 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmRtSalse.java @@ -0,0 +1,367 @@ +package com.ktg.mes.wm.domain; + +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.ktg.common.annotation.Excel; +import com.ktg.common.core.domain.BaseEntity; + +/** + * 产品销售退货单对象 wm_rt_salse + * + * @author yinjinlu + * @date 2022-10-06 + */ +public class WmRtSalse extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 退货单ID */ + private Long rtId; + + /** 退货单编号 */ + @Excel(name = "退货单编号") + private String rtCode; + + /** 退货单名称 */ + @Excel(name = "退货单名称") + private String rtName; + + /** 销售订单编号 */ + @Excel(name = "销售订单编号") + private String soCode; + + /** 客户ID */ + @Excel(name = "客户ID") + private Long clientId; + + /** 客户编码 */ + @Excel(name = "客户编码") + private String clientCode; + + /** 客户名称 */ + @Excel(name = "客户名称") + private String clientName; + + /** 客户简称 */ + @Excel(name = "客户简称") + private String clientNick; + + /** 仓库ID */ + @Excel(name = "仓库ID") + private Long warehouseId; + + /** 仓库编码 */ + @Excel(name = "仓库编码") + private String warehouseCode; + + /** 仓库名称 */ + @Excel(name = "仓库名称") + private String warehouseName; + + /** 库区ID */ + @Excel(name = "库区ID") + private Long locationId; + + /** 库区编码 */ + @Excel(name = "库区编码") + private String locationCode; + + /** 库区名称 */ + @Excel(name = "库区名称") + private String locationName; + + /** 库位ID */ + @Excel(name = "库位ID") + private Long areaId; + + /** 库位编码 */ + @Excel(name = "库位编码") + private String areaCode; + + /** 库位名称 */ + @Excel(name = "库位名称") + private String areaName; + + /** 退货日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "退货日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date rtDate; + + /** 退货原因 */ + @Excel(name = "退货原因") + private String rtReason; + + /** 单据状态 */ + @Excel(name = "单据状态") + private String status; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + private Long attr3; + + /** 预留字段4 */ + @Excel(name = "预留字段4") + private Long attr4; + + public void setRtId(Long rtId) + { + this.rtId = rtId; + } + + public Long getRtId() + { + return rtId; + } + public void setRtCode(String rtCode) + { + this.rtCode = rtCode; + } + + public String getRtCode() + { + return rtCode; + } + public void setRtName(String rtName) + { + this.rtName = rtName; + } + + public String getRtName() + { + return rtName; + } + public void setSoCode(String soCode) + { + this.soCode = soCode; + } + + public String getSoCode() + { + return soCode; + } + public void setClientId(Long clientId) + { + this.clientId = clientId; + } + + public Long getClientId() + { + return clientId; + } + public void setClientCode(String clientCode) + { + this.clientCode = clientCode; + } + + public String getClientCode() + { + return clientCode; + } + public void setClientName(String clientName) + { + this.clientName = clientName; + } + + public String getClientName() + { + return clientName; + } + public void setClientNick(String clientNick) + { + this.clientNick = clientNick; + } + + public String getClientNick() + { + return clientNick; + } + public void setWarehouseId(Long warehouseId) + { + this.warehouseId = warehouseId; + } + + public Long getWarehouseId() + { + return warehouseId; + } + public void setWarehouseCode(String warehouseCode) + { + this.warehouseCode = warehouseCode; + } + + public String getWarehouseCode() + { + return warehouseCode; + } + public void setWarehouseName(String warehouseName) + { + this.warehouseName = warehouseName; + } + + public String getWarehouseName() + { + return warehouseName; + } + public void setLocationId(Long locationId) + { + this.locationId = locationId; + } + + public Long getLocationId() + { + return locationId; + } + public void setLocationCode(String locationCode) + { + this.locationCode = locationCode; + } + + public String getLocationCode() + { + return locationCode; + } + public void setLocationName(String locationName) + { + this.locationName = locationName; + } + + public String getLocationName() + { + return locationName; + } + public void setAreaId(Long areaId) + { + this.areaId = areaId; + } + + public Long getAreaId() + { + return areaId; + } + public void setAreaCode(String areaCode) + { + this.areaCode = areaCode; + } + + public String getAreaCode() + { + return areaCode; + } + public void setAreaName(String areaName) + { + this.areaName = areaName; + } + + public String getAreaName() + { + return areaName; + } + public void setRtDate(Date rtDate) + { + this.rtDate = rtDate; + } + + public Date getRtDate() + { + return rtDate; + } + public void setRtReason(String rtReason) + { + this.rtReason = rtReason; + } + + public String getRtReason() + { + return rtReason; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("rtId", getRtId()) + .append("rtCode", getRtCode()) + .append("rtName", getRtName()) + .append("soCode", getSoCode()) + .append("clientId", getClientId()) + .append("clientCode", getClientCode()) + .append("clientName", getClientName()) + .append("clientNick", getClientNick()) + .append("warehouseId", getWarehouseId()) + .append("warehouseCode", getWarehouseCode()) + .append("warehouseName", getWarehouseName()) + .append("locationId", getLocationId()) + .append("locationCode", getLocationCode()) + .append("locationName", getLocationName()) + .append("areaId", getAreaId()) + .append("areaCode", getAreaCode()) + .append("areaName", getAreaName()) + .append("rtDate", getRtDate()) + .append("rtReason", getRtReason()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmRtSalseMapper.java b/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmRtSalseMapper.java new file mode 100644 index 0000000..80e1d6b --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmRtSalseMapper.java @@ -0,0 +1,68 @@ +package com.ktg.mes.wm.mapper; + +import java.util.List; +import com.ktg.mes.wm.domain.WmRtSalse; + +/** + * 产品销售退货单Mapper接口 + * + * @author yinjinlu + * @date 2022-10-06 + */ +public interface WmRtSalseMapper +{ + /** + * 查询产品销售退货单 + * + * @param rtId 产品销售退货单主键 + * @return 产品销售退货单 + */ + public WmRtSalse selectWmRtSalseByRtId(Long rtId); + + /** + * 查询产品销售退货单列表 + * + * @param wmRtSalse 产品销售退货单 + * @return 产品销售退货单集合 + */ + public List selectWmRtSalseList(WmRtSalse wmRtSalse); + + + /** + * 检查编号唯一性 + * @return + */ + public WmRtSalse checkUnique(WmRtSalse wmRtSalse); + + /** + * 新增产品销售退货单 + * + * @param wmRtSalse 产品销售退货单 + * @return 结果 + */ + public int insertWmRtSalse(WmRtSalse wmRtSalse); + + /** + * 修改产品销售退货单 + * + * @param wmRtSalse 产品销售退货单 + * @return 结果 + */ + public int updateWmRtSalse(WmRtSalse wmRtSalse); + + /** + * 删除产品销售退货单 + * + * @param rtId 产品销售退货单主键 + * @return 结果 + */ + public int deleteWmRtSalseByRtId(Long rtId); + + /** + * 批量删除产品销售退货单 + * + * @param rtIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWmRtSalseByRtIds(Long[] rtIds); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmRtSalseService.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmRtSalseService.java new file mode 100644 index 0000000..b743006 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmRtSalseService.java @@ -0,0 +1,68 @@ +package com.ktg.mes.wm.service; + +import java.util.List; +import com.ktg.mes.wm.domain.WmRtSalse; + +/** + * 产品销售退货单Service接口 + * + * @author yinjinlu + * @date 2022-10-06 + */ +public interface IWmRtSalseService +{ + /** + * 查询产品销售退货单 + * + * @param rtId 产品销售退货单主键 + * @return 产品销售退货单 + */ + public WmRtSalse selectWmRtSalseByRtId(Long rtId); + + /** + * 查询产品销售退货单列表 + * + * @param wmRtSalse 产品销售退货单 + * @return 产品销售退货单集合 + */ + public List selectWmRtSalseList(WmRtSalse wmRtSalse); + + + /** + * 检查编号唯一性 + * @return + */ + public String checkUnique(WmRtSalse wmRtSalse); + + /** + * 新增产品销售退货单 + * + * @param wmRtSalse 产品销售退货单 + * @return 结果 + */ + public int insertWmRtSalse(WmRtSalse wmRtSalse); + + /** + * 修改产品销售退货单 + * + * @param wmRtSalse 产品销售退货单 + * @return 结果 + */ + public int updateWmRtSalse(WmRtSalse wmRtSalse); + + /** + * 批量删除产品销售退货单 + * + * @param rtIds 需要删除的产品销售退货单主键集合 + * @return 结果 + */ + public int deleteWmRtSalseByRtIds(Long[] rtIds); + + /** + * 删除产品销售退货单信息 + * + * @param rtId 产品销售退货单主键 + * @return 结果 + */ + public int deleteWmRtSalseByRtId(Long rtId); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmRtSalseServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmRtSalseServiceImpl.java new file mode 100644 index 0000000..fb0f3af --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmRtSalseServiceImpl.java @@ -0,0 +1,109 @@ +package com.ktg.mes.wm.service.impl; + +import java.util.List; + +import com.ktg.common.constant.UserConstants; +import com.ktg.common.utils.DateUtils; +import com.ktg.common.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ktg.mes.wm.mapper.WmRtSalseMapper; +import com.ktg.mes.wm.domain.WmRtSalse; +import com.ktg.mes.wm.service.IWmRtSalseService; + +/** + * 产品销售退货单Service业务层处理 + * + * @author yinjinlu + * @date 2022-10-06 + */ +@Service +public class WmRtSalseServiceImpl implements IWmRtSalseService +{ + @Autowired + private WmRtSalseMapper wmRtSalseMapper; + + /** + * 查询产品销售退货单 + * + * @param rtId 产品销售退货单主键 + * @return 产品销售退货单 + */ + @Override + public WmRtSalse selectWmRtSalseByRtId(Long rtId) + { + return wmRtSalseMapper.selectWmRtSalseByRtId(rtId); + } + + /** + * 查询产品销售退货单列表 + * + * @param wmRtSalse 产品销售退货单 + * @return 产品销售退货单 + */ + @Override + public List selectWmRtSalseList(WmRtSalse wmRtSalse) + { + return wmRtSalseMapper.selectWmRtSalseList(wmRtSalse); + } + + @Override + public String checkUnique(WmRtSalse wmRtSalse) { + WmRtSalse salse = wmRtSalseMapper.checkUnique(wmRtSalse); + Long rtId = wmRtSalse.getRtId() == null? -1L: wmRtSalse.getRtId(); + if(StringUtils.isNotNull(salse) && rtId.longValue() != salse.getRtId().longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 新增产品销售退货单 + * + * @param wmRtSalse 产品销售退货单 + * @return 结果 + */ + @Override + public int insertWmRtSalse(WmRtSalse wmRtSalse) + { + wmRtSalse.setCreateTime(DateUtils.getNowDate()); + return wmRtSalseMapper.insertWmRtSalse(wmRtSalse); + } + + /** + * 修改产品销售退货单 + * + * @param wmRtSalse 产品销售退货单 + * @return 结果 + */ + @Override + public int updateWmRtSalse(WmRtSalse wmRtSalse) + { + wmRtSalse.setUpdateTime(DateUtils.getNowDate()); + return wmRtSalseMapper.updateWmRtSalse(wmRtSalse); + } + + /** + * 批量删除产品销售退货单 + * + * @param rtIds 需要删除的产品销售退货单主键 + * @return 结果 + */ + @Override + public int deleteWmRtSalseByRtIds(Long[] rtIds) + { + return wmRtSalseMapper.deleteWmRtSalseByRtIds(rtIds); + } + + /** + * 删除产品销售退货单信息 + * + * @param rtId 产品销售退货单主键 + * @return 结果 + */ + @Override + public int deleteWmRtSalseByRtId(Long rtId) + { + return wmRtSalseMapper.deleteWmRtSalseByRtId(rtId); + } +} diff --git a/ktg-mes/src/main/resources/mapper/wm/WmRtSalseMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmRtSalseMapper.xml new file mode 100644 index 0000000..c7e0a03 --- /dev/null +++ b/ktg-mes/src/main/resources/mapper/wm/WmRtSalseMapper.xml @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select rt_id, rt_code, rt_name, so_code, client_id, client_code, client_name, client_nick, warehouse_id, warehouse_code, warehouse_name, location_id, location_code, location_name, area_id, area_code, area_name, rt_date, rt_reason, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from wm_rt_salse + + + + + + + + + + + insert into wm_rt_salse + + rt_code, + rt_name, + so_code, + client_id, + client_code, + client_name, + client_nick, + warehouse_id, + warehouse_code, + warehouse_name, + location_id, + location_code, + location_name, + area_id, + area_code, + area_name, + rt_date, + rt_reason, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{rtCode}, + #{rtName}, + #{soCode}, + #{clientId}, + #{clientCode}, + #{clientName}, + #{clientNick}, + #{warehouseId}, + #{warehouseCode}, + #{warehouseName}, + #{locationId}, + #{locationCode}, + #{locationName}, + #{areaId}, + #{areaCode}, + #{areaName}, + #{rtDate}, + #{rtReason}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update wm_rt_salse + + rt_code = #{rtCode}, + rt_name = #{rtName}, + so_code = #{soCode}, + client_id = #{clientId}, + client_code = #{clientCode}, + client_name = #{clientName}, + client_nick = #{clientNick}, + warehouse_id = #{warehouseId}, + warehouse_code = #{warehouseCode}, + warehouse_name = #{warehouseName}, + location_id = #{locationId}, + location_code = #{locationCode}, + location_name = #{locationName}, + area_id = #{areaId}, + area_code = #{areaCode}, + area_name = #{areaName}, + rt_date = #{rtDate}, + rt_reason = #{rtReason}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where rt_id = #{rtId} + + + + delete from wm_rt_salse where rt_id = #{rtId} + + + + delete from wm_rt_salse where rt_id in + + #{rtId} + + + \ No newline at end of file