销售退货

This commit is contained in:
DESKTOP-J7ED0MB\yinjinlu 2022-10-06 21:16:50 +08:00
parent ba7e82e320
commit b72a064814
6 changed files with 916 additions and 0 deletions

View File

@ -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<WmRtSalse> 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<WmRtSalse> list = wmRtSalseService.selectWmRtSalseList(wmRtSalse);
ExcelUtil<WmRtSalse> util = new ExcelUtil<WmRtSalse>(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));
}
}

View File

@ -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();
}
}

View File

@ -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<WmRtSalse> 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);
}

View File

@ -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<WmRtSalse> 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);
}

View File

@ -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<WmRtSalse> 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);
}
}

View File

@ -0,0 +1,192 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ktg.mes.wm.mapper.WmRtSalseMapper">
<resultMap type="WmRtSalse" id="WmRtSalseResult">
<result property="rtId" column="rt_id" />
<result property="rtCode" column="rt_code" />
<result property="rtName" column="rt_name" />
<result property="soCode" column="so_code" />
<result property="clientId" column="client_id" />
<result property="clientCode" column="client_code" />
<result property="clientName" column="client_name" />
<result property="clientNick" column="client_nick" />
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="locationId" column="location_id" />
<result property="locationCode" column="location_code" />
<result property="locationName" column="location_name" />
<result property="areaId" column="area_id" />
<result property="areaCode" column="area_code" />
<result property="areaName" column="area_name" />
<result property="rtDate" column="rt_date" />
<result property="rtReason" column="rt_reason" />
<result property="status" column="status" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectWmRtSalseVo">
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
</sql>
<select id="selectWmRtSalseList" parameterType="WmRtSalse" resultMap="WmRtSalseResult">
<include refid="selectWmRtSalseVo"/>
<where>
<if test="rtCode != null and rtCode != ''"> and rt_code = #{rtCode}</if>
<if test="rtName != null and rtName != ''"> and rt_name like concat('%', #{rtName}, '%')</if>
<if test="soCode != null and soCode != ''"> and so_code = #{soCode}</if>
<if test="clientId != null "> and client_id = #{clientId}</if>
<if test="clientCode != null and clientCode != ''"> and client_code = #{clientCode}</if>
<if test="clientName != null and clientName != ''"> and client_name like concat('%', #{clientName}, '%')</if>
<if test="clientNick != null and clientNick != ''"> and client_nick = #{clientNick}</if>
<if test="warehouseId != null "> and warehouse_id = #{warehouseId}</if>
<if test="warehouseCode != null and warehouseCode != ''"> and warehouse_code = #{warehouseCode}</if>
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
<if test="locationId != null "> and location_id = #{locationId}</if>
<if test="locationCode != null and locationCode != ''"> and location_code = #{locationCode}</if>
<if test="locationName != null and locationName != ''"> and location_name like concat('%', #{locationName}, '%')</if>
<if test="areaId != null "> and area_id = #{areaId}</if>
<if test="areaCode != null and areaCode != ''"> and area_code = #{areaCode}</if>
<if test="areaName != null and areaName != ''"> and area_name like concat('%', #{areaName}, '%')</if>
<if test="rtDate != null "> and rt_date = #{rtDate}</if>
<if test="rtReason != null and rtReason != ''"> and rt_reason = #{rtReason}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="attr2 != null and attr2 != ''"> and attr2 = #{attr2}</if>
<if test="attr3 != null "> and attr3 = #{attr3}</if>
<if test="attr4 != null "> and attr4 = #{attr4}</if>
</where>
</select>
<select id="selectWmRtSalseByRtId" parameterType="Long" resultMap="WmRtSalseResult">
<include refid="selectWmRtSalseVo"/>
where rt_id = #{rtId}
</select>
<select id="checkUnique" parameterType="WmRtSalse" resultMap="WmRtSalseResult">
<include refid="selectWmRtSalseVo"/>
where rt_code = #{rtCode}
</select>
<insert id="insertWmRtSalse" parameterType="WmRtSalse" useGeneratedKeys="true" keyProperty="rtId">
insert into wm_rt_salse
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="rtCode != null and rtCode != ''">rt_code,</if>
<if test="rtName != null and rtName != ''">rt_name,</if>
<if test="soCode != null">so_code,</if>
<if test="clientId != null">client_id,</if>
<if test="clientCode != null">client_code,</if>
<if test="clientName != null">client_name,</if>
<if test="clientNick != null">client_nick,</if>
<if test="warehouseId != null">warehouse_id,</if>
<if test="warehouseCode != null">warehouse_code,</if>
<if test="warehouseName != null">warehouse_name,</if>
<if test="locationId != null">location_id,</if>
<if test="locationCode != null">location_code,</if>
<if test="locationName != null">location_name,</if>
<if test="areaId != null">area_id,</if>
<if test="areaCode != null">area_code,</if>
<if test="areaName != null">area_name,</if>
<if test="rtDate != null">rt_date,</if>
<if test="rtReason != null">rt_reason,</if>
<if test="status != null">status,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="rtCode != null and rtCode != ''">#{rtCode},</if>
<if test="rtName != null and rtName != ''">#{rtName},</if>
<if test="soCode != null">#{soCode},</if>
<if test="clientId != null">#{clientId},</if>
<if test="clientCode != null">#{clientCode},</if>
<if test="clientName != null">#{clientName},</if>
<if test="clientNick != null">#{clientNick},</if>
<if test="warehouseId != null">#{warehouseId},</if>
<if test="warehouseCode != null">#{warehouseCode},</if>
<if test="warehouseName != null">#{warehouseName},</if>
<if test="locationId != null">#{locationId},</if>
<if test="locationCode != null">#{locationCode},</if>
<if test="locationName != null">#{locationName},</if>
<if test="areaId != null">#{areaId},</if>
<if test="areaCode != null">#{areaCode},</if>
<if test="areaName != null">#{areaName},</if>
<if test="rtDate != null">#{rtDate},</if>
<if test="rtReason != null">#{rtReason},</if>
<if test="status != null">#{status},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateWmRtSalse" parameterType="WmRtSalse">
update wm_rt_salse
<trim prefix="SET" suffixOverrides=",">
<if test="rtCode != null and rtCode != ''">rt_code = #{rtCode},</if>
<if test="rtName != null and rtName != ''">rt_name = #{rtName},</if>
<if test="soCode != null">so_code = #{soCode},</if>
<if test="clientId != null">client_id = #{clientId},</if>
<if test="clientCode != null">client_code = #{clientCode},</if>
<if test="clientName != null">client_name = #{clientName},</if>
<if test="clientNick != null">client_nick = #{clientNick},</if>
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
<if test="warehouseCode != null">warehouse_code = #{warehouseCode},</if>
<if test="warehouseName != null">warehouse_name = #{warehouseName},</if>
<if test="locationId != null">location_id = #{locationId},</if>
<if test="locationCode != null">location_code = #{locationCode},</if>
<if test="locationName != null">location_name = #{locationName},</if>
<if test="areaId != null">area_id = #{areaId},</if>
<if test="areaCode != null">area_code = #{areaCode},</if>
<if test="areaName != null">area_name = #{areaName},</if>
<if test="rtDate != null">rt_date = #{rtDate},</if>
<if test="rtReason != null">rt_reason = #{rtReason},</if>
<if test="status != null">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where rt_id = #{rtId}
</update>
<delete id="deleteWmRtSalseByRtId" parameterType="Long">
delete from wm_rt_salse where rt_id = #{rtId}
</delete>
<delete id="deleteWmRtSalseByRtIds" parameterType="String">
delete from wm_rt_salse where rt_id in
<foreach item="rtId" collection="array" open="(" separator="," close=")">
#{rtId}
</foreach>
</delete>
</mapper>