Commit 50606a71 authored by chicheng's avatar chicheng

成品入库标签明细记录

parent 532217db
......@@ -18,7 +18,7 @@ ximai-mes:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
port: 8080
port: 8088
servlet:
# 应用的访问路径
context-path: /
......@@ -56,9 +56,9 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:mysql://192.168.222.136:3306/xm_mes_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: admin
password: t0psunit
url: jdbc:mysql://localhost:3308/xm_mes_dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
......
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/ximai/logs" />
<property name="log.path" value="/Users/chicheng/Documents/logs/ximai" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
......
......@@ -94,6 +94,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
.antMatchers("/api/**", "/login", "/register", "/md/appconfig/getVersion", "/captchaImage", "/common/downTempPDF").anonymous()
.antMatchers("/mobile/login/**").permitAll()
// ERP 系统内部调用接口,无需认证
.antMatchers("/pro/storageDetailRecord/internal").permitAll()
.antMatchers(
HttpMethod.GET,
"/",
......
package com.ximai.mes.pro.controller;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
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.ximai.common.annotation.Log;
import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.enums.BusinessType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.ximai.mes.pro.domain.ProStorageDetailRecord;
import com.ximai.mes.pro.dto.ProStorageDetailRecordDto;
import com.ximai.mes.pro.dto.ProStorageDetailRecordQuery;
import com.ximai.mes.pro.dto.ProStorageDetailRecordCreate;
import com.ximai.mes.pro.dto.ProStorageDetailRecordUpdate;
import com.ximai.mes.pro.service.IProStorageDetailRecordService;
import com.ximai.common.core.page.TableDataInfo;
/**
* 入库明细记录Controller
*
* @author generator
* @date 2025-10-12
*/
@Api(tags = "入库明细记录")
@RestController
@RequestMapping("/pro/storageDetailRecord")
public class ProStorageDetailRecordController extends BaseController
{
@Autowired
private IProStorageDetailRecordService proStorageDetailRecordService;
/**
* 查询入库明细记录列表
*/
@ApiOperation("查询入库明细记录列表")
@PreAuthorize("@ss.hasPermi('pro:storageDetailRecord:list')")
@GetMapping("/list")
public TableDataInfo<ProStorageDetailRecordDto> list(ProStorageDetailRecordQuery proStorageDetailRecordQuery) {
startPage();
ProStorageDetailRecord query = new ProStorageDetailRecord();
if (StringUtils.isNotEmpty(proStorageDetailRecordQuery.getWorkOrderType())) {
query.setWorkOrderType(proStorageDetailRecordQuery.getWorkOrderType());
}
if (StringUtils.isNotEmpty(proStorageDetailRecordQuery.getWorkOrderNo())) {
query.setWorkOrderNo(proStorageDetailRecordQuery.getWorkOrderNo());
}
if (StringUtils.isNotEmpty(proStorageDetailRecordQuery.getBoxCode())) {
query.setBoxCode(proStorageDetailRecordQuery.getBoxCode());
}
if (StringUtils.isNotEmpty(proStorageDetailRecordQuery.getLabelNo())) {
query.setLabelNo(proStorageDetailRecordQuery.getLabelNo());
}
List<ProStorageDetailRecordDto> list = proStorageDetailRecordService.selectProStorageDetailRecordList(query);
return getDataTable(list);
}
/**
* 获取入库明细记录详细信息
*/
@ApiOperation("获取入库明细记录详细信息")
@PreAuthorize("@ss.hasPermi('pro:storageDetailRecord:query')")
@GetMapping(value = "/{recordId}")
public AjaxResult<ProStorageDetailRecordDto> getInfo(@PathVariable("recordId") Long recordId) {
return AjaxResult.success(proStorageDetailRecordService.selectProStorageDetailRecordDtoByRecordId(recordId));
}
/**
* 根据箱码查询入库明细记录列表
*/
@ApiOperation("根据箱码查询入库明细记录列表")
@PreAuthorize("@ss.hasPermi('pro:storageDetailRecord:query')")
@GetMapping("/boxCode/{boxCode}")
public AjaxResult<List<ProStorageDetailRecordDto>> getByBoxCode(@PathVariable("boxCode") String boxCode) {
List<ProStorageDetailRecordDto> list = proStorageDetailRecordService.selectProStorageDetailRecordByBoxCode(boxCode);
return AjaxResult.success(list);
}
/**
* 新增入库明细记录
*/
@ApiOperation("新增入库明细记录")
@PreAuthorize("@ss.hasPermi('pro:storageDetailRecord:add')")
@Log(title = "入库明细记录", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProStorageDetailRecordCreate proStorageDetailRecordCreate) {
return toAjax(proStorageDetailRecordService.insertProStorageDetailRecord(proStorageDetailRecordCreate));
}
/**
* 新增入库明细记录(内部调用,无权限验证)
* 供 ERP 系统通过 OpenFeign 调用
*/
@ApiOperation("新增入库明细记录(内部接口)")
@Log(title = "入库明细记录(内部)", businessType = BusinessType.INSERT)
@PostMapping("/internal")
public AjaxResult addInternal(@RequestBody ProStorageDetailRecordCreate proStorageDetailRecordCreate) {
return toAjax(proStorageDetailRecordService.insertProStorageDetailRecord(proStorageDetailRecordCreate));
}
/**
* 修改入库明细记录
*/
@ApiOperation("修改入库明细记录")
@PreAuthorize("@ss.hasPermi('pro:storageDetailRecord:edit')")
@Log(title = "入库明细记录", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProStorageDetailRecordUpdate proStorageDetailRecordUpdate) {
return toAjax(proStorageDetailRecordService.updateProStorageDetailRecord(proStorageDetailRecordUpdate));
}
/**
* 删除入库明细记录
*/
@ApiOperation("删除入库明细记录")
@PreAuthorize("@ss.hasPermi('pro:storageDetailRecord:remove')")
@Log(title = "入库明细记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{recordIds}")
public AjaxResult remove(@PathVariable Long[] recordIds) {
return toAjax(proStorageDetailRecordService.deleteProStorageDetailRecordByRecordIds(recordIds));
}
}
package com.ximai.mes.pro.domain;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import com.ximai.common.core.domain.BaseEntity;
/**
* 入库明细记录对象 pro_storage_detail_record
*
* @author generator
* @date 2025-10-12
*/
@Data
public class ProStorageDetailRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 记录ID */
@TableId
@ApiModelProperty("记录ID")
private Long recordId;
/** 工单单别 */
@ApiModelProperty("工单单别")
private String workOrderType;
/** 工单单号 */
@ApiModelProperty("工单单号")
private String workOrderNo;
/** 箱码 */
@ApiModelProperty("箱码")
private String boxCode;
/** 小标签号 */
@ApiModelProperty("小标签号")
private String labelNo;
}
package com.ximai.mes.pro.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 入库明细记录创建对象 pro_storage_detail_record
*
* @author generator
* @date 2025-10-12
*/
@Data
public class ProStorageDetailRecordCreate {
private static final long serialVersionUID = 1L;
/** 工单单别 */
@ApiModelProperty("工单单别")
private String workOrderType;
/** 工单单号 */
@ApiModelProperty("工单单号")
private String workOrderNo;
/** 箱码 */
@ApiModelProperty("箱码")
private String boxCode;
/** 小标签号 */
@ApiModelProperty("小标签号")
private String labelNo;
}
package com.ximai.mes.pro.dto;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 入库明细记录对象 pro_storage_detail_record
*
* @author generator
* @date 2025-10-12
*/
@Data
public class ProStorageDetailRecordDto {
private static final long serialVersionUID = 1L;
/** 记录ID */
@TableId
@ApiModelProperty("记录ID")
private Long recordId;
/** 工单单别 */
@ApiModelProperty("工单单别")
private String workOrderType;
/** 工单单号 */
@ApiModelProperty("工单单号")
private String workOrderNo;
/** 箱码 */
@ApiModelProperty("箱码")
private String boxCode;
/** 小标签号 */
@ApiModelProperty("小标签号")
private String labelNo;
/** 创建者 */
@ApiModelProperty("创建者")
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
private Date createTime;
/** 更新者 */
@ApiModelProperty("更新者")
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("更新时间")
private Date updateTime;
}
package com.ximai.mes.pro.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 入库明细记录查询对象 pro_storage_detail_record
*
* @author generator
* @date 2025-10-12
*/
@Data
public class ProStorageDetailRecordQuery {
private static final long serialVersionUID = 1L;
/** 工单单别 */
@ApiModelProperty("工单单别")
private String workOrderType;
/** 工单单号 */
@ApiModelProperty("工单单号")
private String workOrderNo;
/** 箱码 */
@ApiModelProperty("箱码")
private String boxCode;
/** 小标签号 */
@ApiModelProperty("小标签号")
private String labelNo;
}
package com.ximai.mes.pro.dto;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* 入库明细记录更新对象 pro_storage_detail_record
*
* @author generator
* @date 2025-10-12
*/
@Data
public class ProStorageDetailRecordUpdate {
private static final long serialVersionUID = 1L;
/** 记录ID */
@TableId
@ApiModelProperty("记录ID")
private Long recordId;
/** 工单单别 */
@ApiModelProperty("工单单别")
private String workOrderType;
/** 工单单号 */
@ApiModelProperty("工单单号")
private String workOrderNo;
/** 箱码 */
@ApiModelProperty("箱码")
private String boxCode;
/** 小标签号 */
@ApiModelProperty("小标签号")
private String labelNo;
}
package com.ximai.mes.pro.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ximai.mes.pro.domain.ProStorageDetailRecord;
import com.ximai.mes.pro.dto.ProStorageDetailRecordDto;
import org.apache.ibatis.annotations.Param;
/**
* 入库明细记录Mapper接口
*
* @author generator
* @date 2025-10-12
*/
public interface ProStorageDetailRecordMapper extends BaseMapper<ProStorageDetailRecord>
{
/**
* 查询入库明细记录
*
* @param recordId 入库明细记录主键
* @return 入库明细记录
*/
public ProStorageDetailRecordDto selectProStorageDetailRecordByRecordId(Long recordId);
/**
* 查询入库明细记录列表
*
* @param proStorageDetailRecord 入库明细记录
* @return 入库明细记录集合
*/
public List<ProStorageDetailRecordDto> selectProStorageDetailRecordList(ProStorageDetailRecord proStorageDetailRecord);
/**
* 新增入库明细记录
*
* @param proStorageDetailRecord 入库明细记录
* @return 结果
*/
public int insertProStorageDetailRecord(ProStorageDetailRecord proStorageDetailRecord);
/**
* 修改入库明细记录
*
* @param proStorageDetailRecord 入库明细记录
* @return 结果
*/
public int updateProStorageDetailRecord(ProStorageDetailRecord proStorageDetailRecord);
/**
* 删除入库明细记录
*
* @param recordId 入库明细记录主键
* @return 结果
*/
public int deleteProStorageDetailRecordByRecordId(Long recordId);
/**
* 批量删除入库明细记录
*
* @param recordIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteProStorageDetailRecordByRecordIds(Long[] recordIds);
/**
* 根据箱码查询入库明细记录列表
*
* @param boxCode 箱码
* @return 入库明细记录集合
*/
public List<ProStorageDetailRecordDto> selectProStorageDetailRecordByBoxCode(@Param("boxCode") String boxCode);
}
package com.ximai.mes.pro.service;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.mes.pro.domain.ProStorageDetailRecord;
import com.ximai.mes.pro.dto.ProStorageDetailRecordCreate;
import com.ximai.mes.pro.dto.ProStorageDetailRecordUpdate;
import com.ximai.mes.pro.dto.ProStorageDetailRecordDto;
/**
* 入库明细记录Service接口
*
* @author generator
* @date 2025-10-12
*/
public interface IProStorageDetailRecordService
{
/**
* 查询入库明细记录
*
* @param recordId 入库明细记录主键
* @return 入库明细记录
*/
public ProStorageDetailRecordDto selectProStorageDetailRecordDtoByRecordId(Long recordId);
/**
* 查询入库明细记录
*
* @param recordId 入库明细记录主键
* @return 入库明细记录
*/
public ProStorageDetailRecord selectProStorageDetailRecordByRecordId(Long recordId);
/**
* 查询入库明细记录列表
*
* @param proStorageDetailRecord 入库明细记录
* @return 入库明细记录集合
*/
public List<ProStorageDetailRecordDto> selectProStorageDetailRecordList(ProStorageDetailRecord proStorageDetailRecord);
/**
* 查询入库明细记录列表
*
* @param proStorageDetailRecordQuery 入库明细记录
* @return 入库明细记录集合
*/
public List<ProStorageDetailRecord> selectProStorageDetailRecordList(QueryWrapper<ProStorageDetailRecord> proStorageDetailRecordQuery);
/**
* 根据箱码查询入库明细记录列表
*
* @param boxCode 箱码
* @return 入库明细记录集合
*/
public List<ProStorageDetailRecordDto> selectProStorageDetailRecordByBoxCode(String boxCode);
/**
* 新增入库明细记录
*
* @param proStorageDetailRecord 入库明细记录
* @return 结果
*/
public int insertProStorageDetailRecord(ProStorageDetailRecordCreate proStorageDetailRecord);
/**
* 修改入库明细记录
*
* @param proStorageDetailRecord 入库明细记录
* @return 结果
*/
public int updateProStorageDetailRecord(ProStorageDetailRecordUpdate proStorageDetailRecord);
/**
* 批量删除入库明细记录
*
* @param recordIds 需要删除的入库明细记录主键集合
* @return 结果
*/
public int deleteProStorageDetailRecordByRecordIds(Long[] recordIds);
/**
* 删除入库明细记录信息
*
* @param recordId 入库明细记录主键
* @return 结果
*/
public int deleteProStorageDetailRecordByRecordId(Long recordId);
}
package com.ximai.mes.pro.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.utils.data.DateUtils;
import com.ximai.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.mes.pro.mapper.ProStorageDetailRecordMapper;
import com.ximai.mes.pro.domain.ProStorageDetailRecord;
import com.ximai.mes.pro.dto.ProStorageDetailRecordCreate;
import com.ximai.mes.pro.dto.ProStorageDetailRecordUpdate;
import com.ximai.mes.pro.dto.ProStorageDetailRecordDto;
import com.ximai.mes.pro.service.IProStorageDetailRecordService;
/**
* 入库明细记录Service业务层处理
*
* @author generator
* @date 2025-10-12
*/
@Service
public class ProStorageDetailRecordServiceImpl implements IProStorageDetailRecordService
{
@Autowired
private ProStorageDetailRecordMapper proStorageDetailRecordMapper;
/**
* 查询入库明细记录
*
* @param recordId 入库明细记录主键
* @return 入库明细记录
*/
@Override
public ProStorageDetailRecordDto selectProStorageDetailRecordDtoByRecordId(Long recordId) {
return proStorageDetailRecordMapper.selectProStorageDetailRecordByRecordId(recordId);
}
/**
* 查询入库明细记录
*
* @param recordId 入库明细记录主键
* @return 入库明细记录
*/
@Override
public ProStorageDetailRecord selectProStorageDetailRecordByRecordId(Long recordId) {
return proStorageDetailRecordMapper.selectById(recordId);
}
/**
* 查询入库明细记录列表
*
* @param proStorageDetailRecord 入库明细记录
* @return 入库明细记录
*/
@Override
public List<ProStorageDetailRecordDto> selectProStorageDetailRecordList(ProStorageDetailRecord proStorageDetailRecord) {
return proStorageDetailRecordMapper.selectProStorageDetailRecordList(proStorageDetailRecord);
}
/**
* 查询入库明细记录列表
*
* @param proStorageDetailRecordQuery 入库明细记录
* @return 入库明细记录
*/
@Override
public List<ProStorageDetailRecord> selectProStorageDetailRecordList(QueryWrapper<ProStorageDetailRecord> proStorageDetailRecordQuery) {
return proStorageDetailRecordMapper.selectList(proStorageDetailRecordQuery);
}
/**
* 根据箱码查询入库明细记录列表
*
* @param boxCode 箱码
* @return 入库明细记录
*/
@Override
public List<ProStorageDetailRecordDto> selectProStorageDetailRecordByBoxCode(String boxCode) {
return proStorageDetailRecordMapper.selectProStorageDetailRecordByBoxCode(boxCode);
}
/**
* 新增入库明细记录
*
* @param proStorageDetailRecordCreate 入库明细记录
* @return 结果
*/
@Override
public int insertProStorageDetailRecord(ProStorageDetailRecordCreate proStorageDetailRecordCreate) {
ProStorageDetailRecord proStorageDetailRecord = new ProStorageDetailRecord();
BeanUtil.copyProperties(proStorageDetailRecordCreate, proStorageDetailRecord);
proStorageDetailRecord.setCreateTime(DateUtils.getNowDate());
return proStorageDetailRecordMapper.insertProStorageDetailRecord(proStorageDetailRecord);
}
/**
* 修改入库明细记录
*
* @param proStorageDetailRecordUpdate 入库明细记录
* @return 结果
*/
@Override
public int updateProStorageDetailRecord(ProStorageDetailRecordUpdate proStorageDetailRecordUpdate) {
ProStorageDetailRecord proStorageDetailRecord = new ProStorageDetailRecord();
BeanUtil.copyProperties(proStorageDetailRecordUpdate, proStorageDetailRecord);
proStorageDetailRecord.setUpdateBy(SecurityUtils.getUsername());
proStorageDetailRecord.setUpdateTime(DateUtils.getNowDate());
return proStorageDetailRecordMapper.updateProStorageDetailRecord(proStorageDetailRecord);
}
/**
* 批量删除入库明细记录
*
* @param recordIds 需要删除的入库明细记录主键
* @return 结果
*/
@Override
public int deleteProStorageDetailRecordByRecordIds(Long[] recordIds) {
return proStorageDetailRecordMapper.deleteProStorageDetailRecordByRecordIds(recordIds);
}
/**
* 删除入库明细记录信息
*
* @param recordId 入库明细记录主键
* @return 结果
*/
@Override
public int deleteProStorageDetailRecordByRecordId(Long recordId) {
return proStorageDetailRecordMapper.deleteProStorageDetailRecordByRecordId(recordId);
}
}
<?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.ximai.mes.pro.mapper.ProStorageDetailRecordMapper">
<resultMap type="ProStorageDetailRecord" id="ProStorageDetailRecordResult">
<result property="recordId" column="record_id" />
<result property="workOrderType" column="work_order_type" />
<result property="workOrderNo" column="work_order_no" />
<result property="boxCode" column="box_code" />
<result property="labelNo" column="label_no" />
<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>
<resultMap type="com.ximai.mes.pro.dto.ProStorageDetailRecordDto" id="ProStorageDetailRecordDtoResult">
<result property="recordId" column="record_id" />
<result property="workOrderType" column="work_order_type" />
<result property="workOrderNo" column="work_order_no" />
<result property="boxCode" column="box_code" />
<result property="labelNo" column="label_no" />
<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="selectProStorageDetailRecordVo">
select record_id, work_order_type, work_order_no, box_code, label_no,
create_by, create_time, update_by, update_time
from pro_storage_detail_record
</sql>
<select id="selectProStorageDetailRecordList" parameterType="ProStorageDetailRecord" resultMap="ProStorageDetailRecordDtoResult">
<include refid="selectProStorageDetailRecordVo"/>
<where>
<if test="workOrderType != null and workOrderType != ''"> and work_order_type = #{workOrderType}</if>
<if test="workOrderNo != null and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if>
<if test="boxCode != null and boxCode != ''"> and box_code = #{boxCode}</if>
<if test="labelNo != null and labelNo != ''"> and label_no = #{labelNo}</if>
</where>
order by create_time desc
</select>
<select id="selectProStorageDetailRecordByRecordId" parameterType="Long" resultMap="ProStorageDetailRecordDtoResult">
<include refid="selectProStorageDetailRecordVo"/>
where record_id = #{recordId}
</select>
<select id="selectProStorageDetailRecordByBoxCode" parameterType="String" resultMap="ProStorageDetailRecordDtoResult">
<include refid="selectProStorageDetailRecordVo"/>
where box_code = #{boxCode}
order by create_time desc
</select>
<insert id="insertProStorageDetailRecord" parameterType="ProStorageDetailRecord" useGeneratedKeys="true" keyProperty="recordId">
insert into pro_storage_detail_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="workOrderType != null and workOrderType != ''">work_order_type,</if>
<if test="workOrderNo != null and workOrderNo != ''">work_order_no,</if>
<if test="boxCode != null and boxCode != ''">box_code,</if>
<if test="labelNo != null and labelNo != ''">label_no,</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="workOrderType != null and workOrderType != ''">#{workOrderType},</if>
<if test="workOrderNo != null and workOrderNo != ''">#{workOrderNo},</if>
<if test="boxCode != null and boxCode != ''">#{boxCode},</if>
<if test="labelNo != null and labelNo != ''">#{labelNo},</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="updateProStorageDetailRecord" parameterType="ProStorageDetailRecord">
update pro_storage_detail_record
<trim prefix="SET" suffixOverrides=",">
<if test="workOrderType != null and workOrderType != ''">work_order_type = #{workOrderType},</if>
<if test="workOrderNo != null and workOrderNo != ''">work_order_no = #{workOrderNo},</if>
<if test="boxCode != null and boxCode != ''">box_code = #{boxCode},</if>
<if test="labelNo != null and labelNo != ''">label_no = #{labelNo},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where record_id = #{recordId}
</update>
<delete id="deleteProStorageDetailRecordByRecordId" parameterType="Long">
delete from pro_storage_detail_record where record_id = #{recordId}
</delete>
<delete id="deleteProStorageDetailRecordByRecordIds" parameterType="String">
delete from pro_storage_detail_record where record_id in
<foreach item="recordId" collection="array" open="(" separator="," close=")">
#{recordId}
</foreach>
</delete>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment