feat(coil-abnormal): 新增钢卷异常信息模块
- 新增钢卷异常信息实体类、业务对象与视图对象,包含异常详细字段 - 创建钢卷异常信息Mapper接口及MyBatis XML,支持基本数据库操作 - 实现钢卷异常信息Service接口及其实现类,包含查询、新增、修改、删除和判级功能 - 添加钢卷异常信息控制器,支持列表查询、导出、详情、新增、修改、删除和判级接口 - 在钢卷物料卷查询中加入异常数量统计,关联钢卷异常信息表 - 支持Excel导出功能,异常相关字段具备字典转换显示功能 - 结构清晰,符合业务需求的标准化数据操作及接口设计
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
package com.klp.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.domain.vo.WmsCoilAbnormalVo;
|
||||
import com.klp.domain.bo.WmsCoilAbnormalBo;
|
||||
import com.klp.service.IWmsCoilAbnormalService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 钢卷异常信息
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-04
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/wms/coilAbnormal")
|
||||
public class WmsCoilAbnormalController extends BaseController {
|
||||
|
||||
private final IWmsCoilAbnormalService iWmsCoilAbnormalService;
|
||||
|
||||
/**
|
||||
* 查询钢卷异常信息列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<WmsCoilAbnormalVo> list(WmsCoilAbnormalBo bo, PageQuery pageQuery) {
|
||||
return iWmsCoilAbnormalService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出钢卷异常信息列表
|
||||
*/
|
||||
@Log(title = "钢卷异常信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(WmsCoilAbnormalBo bo, HttpServletResponse response) {
|
||||
List<WmsCoilAbnormalVo> list = iWmsCoilAbnormalService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "钢卷异常信息", WmsCoilAbnormalVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取钢卷异常信息详细信息
|
||||
*
|
||||
* @param abnormalId 主键
|
||||
*/
|
||||
@GetMapping("/{abnormalId}")
|
||||
public R<WmsCoilAbnormalVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long abnormalId) {
|
||||
return R.ok(iWmsCoilAbnormalService.queryById(abnormalId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增钢卷异常信息
|
||||
*/
|
||||
@Log(title = "钢卷异常信息", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsCoilAbnormalBo bo) {
|
||||
return toAjax(iWmsCoilAbnormalService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改钢卷异常信息
|
||||
*/
|
||||
@Log(title = "钢卷异常信息", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsCoilAbnormalBo bo) {
|
||||
return toAjax(iWmsCoilAbnormalService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除钢卷异常信息
|
||||
*
|
||||
* @param abnormalIds 主键串
|
||||
*/
|
||||
@Log(title = "钢卷异常信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{abnormalIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] abnormalIds) {
|
||||
return toAjax(iWmsCoilAbnormalService.deleteWithValidByIds(Arrays.asList(abnormalIds), true));
|
||||
}
|
||||
|
||||
/**
|
||||
* 判级
|
||||
*
|
||||
* @param abnormalId 异常ID
|
||||
* @param judgeLevel 判级
|
||||
*/
|
||||
@Log(title = "钢卷异常信息判级", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/judge")
|
||||
public R<Void> judge(@RequestParam @NotNull(message = "异常ID不能为空") Long abnormalId,
|
||||
@RequestParam @NotBlank(message = "判级不能为空") String judgeLevel) {
|
||||
return toAjax(iWmsCoilAbnormalService.judge(abnormalId, judgeLevel));
|
||||
}
|
||||
}
|
||||
71
klp-wms/src/main/java/com/klp/domain/WmsCoilAbnormal.java
Normal file
71
klp-wms/src/main/java/com/klp/domain/WmsCoilAbnormal.java
Normal file
@@ -0,0 +1,71 @@
|
||||
package com.klp.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 钢卷异常信息对象 wms_coil_abnormal
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-04
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("wms_coil_abnormal")
|
||||
public class WmsCoilAbnormal extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "abnormal_id")
|
||||
private Long abnormalId;
|
||||
/**
|
||||
* 钢卷ID
|
||||
*/
|
||||
private Long coilId;
|
||||
/**
|
||||
* 位置(上下,操作侧,中间,驱动侧)
|
||||
*/
|
||||
private String position;
|
||||
/**
|
||||
* 长度坐标
|
||||
*/
|
||||
private String lengthCoord;
|
||||
/**
|
||||
* 缺陷代码(S=表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题)
|
||||
*/
|
||||
private String defectCode;
|
||||
/**
|
||||
* 程度(轻微、重度、严重)
|
||||
*/
|
||||
private String degree;
|
||||
/**
|
||||
* 判级
|
||||
*/
|
||||
private String judgeLevel;
|
||||
/**
|
||||
* 判级人
|
||||
*/
|
||||
private String judgeBy;
|
||||
/**
|
||||
* 判级时间
|
||||
*/
|
||||
private Date judgeTime;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标志(0=正常,1=已删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.klp.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 钢卷异常信息业务对象 wms_coil_abnormal
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-04
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class WmsCoilAbnormalBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long abnormalId;
|
||||
|
||||
/**
|
||||
* 钢卷ID
|
||||
*/
|
||||
private Long coilId;
|
||||
|
||||
/**
|
||||
* 位置(上下,操作侧,中间,驱动侧)
|
||||
*/
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 长度坐标
|
||||
*/
|
||||
private String lengthCoord;
|
||||
|
||||
/**
|
||||
* 缺陷代码(S=表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题)
|
||||
*/
|
||||
private String defectCode;
|
||||
|
||||
/**
|
||||
* 程度(轻微、重度、严重)
|
||||
*/
|
||||
private String degree;
|
||||
|
||||
/**
|
||||
* 判级
|
||||
*/
|
||||
private String judgeLevel;
|
||||
|
||||
/**
|
||||
* 判级人
|
||||
*/
|
||||
private String judgeBy;
|
||||
|
||||
/**
|
||||
* 判级时间
|
||||
*/
|
||||
private Date judgeTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.klp.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 钢卷异常信息视图对象 wms_coil_abnormal
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-04
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class WmsCoilAbnormalVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "主键ID")
|
||||
private Long abnormalId;
|
||||
|
||||
/**
|
||||
* 钢卷ID
|
||||
*/
|
||||
@ExcelProperty(value = "钢卷ID")
|
||||
private Long coilId;
|
||||
|
||||
/**
|
||||
* 位置(上下,操作侧,中间,驱动侧)
|
||||
*/
|
||||
@ExcelProperty(value = "位置", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "上=下,操作侧,中间,驱动侧")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 长度坐标
|
||||
*/
|
||||
@ExcelProperty(value = "长度坐标")
|
||||
private String lengthCoord;
|
||||
|
||||
/**
|
||||
* 缺陷代码(S=表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题)
|
||||
*/
|
||||
@ExcelProperty(value = "缺陷代码", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "S==表面缺陷、E=边部问题、M=尺寸问题、G=收卷问题")
|
||||
private String defectCode;
|
||||
|
||||
/**
|
||||
* 程度(轻微、重度、严重)
|
||||
*/
|
||||
@ExcelProperty(value = "程度", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "轻=微、重度、严重")
|
||||
private String degree;
|
||||
|
||||
/**
|
||||
* 判级
|
||||
*/
|
||||
@ExcelProperty(value = "判级")
|
||||
private String judgeLevel;
|
||||
|
||||
/**
|
||||
* 判级人
|
||||
*/
|
||||
@ExcelProperty(value = "判级人")
|
||||
private String judgeBy;
|
||||
|
||||
/**
|
||||
* 判级时间
|
||||
*/
|
||||
@ExcelProperty(value = "判级时间")
|
||||
private Date judgeTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -301,5 +301,10 @@ public class WmsMaterialCoilVo extends BaseEntity {
|
||||
private String zincLayer; // 锌层
|
||||
private String manufacturer; // 厂家
|
||||
|
||||
/**
|
||||
* 异常数量(钢卷异常信息表统计)
|
||||
*/
|
||||
private Integer abnormalCount;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.mapper;
|
||||
|
||||
import com.klp.domain.WmsCoilAbnormal;
|
||||
import com.klp.domain.vo.WmsCoilAbnormalVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 钢卷异常信息Mapper接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-04
|
||||
*/
|
||||
public interface WmsCoilAbnormalMapper extends BaseMapperPlus<WmsCoilAbnormalMapper, WmsCoilAbnormal, WmsCoilAbnormalVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.klp.service;
|
||||
|
||||
import com.klp.domain.WmsCoilAbnormal;
|
||||
import com.klp.domain.vo.WmsCoilAbnormalVo;
|
||||
import com.klp.domain.bo.WmsCoilAbnormalBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 钢卷异常信息Service接口
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-04
|
||||
*/
|
||||
public interface IWmsCoilAbnormalService {
|
||||
|
||||
/**
|
||||
* 查询钢卷异常信息
|
||||
*/
|
||||
WmsCoilAbnormalVo queryById(Long abnormalId);
|
||||
|
||||
/**
|
||||
* 查询钢卷异常信息列表
|
||||
*/
|
||||
TableDataInfo<WmsCoilAbnormalVo> queryPageList(WmsCoilAbnormalBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询钢卷异常信息列表
|
||||
*/
|
||||
List<WmsCoilAbnormalVo> queryList(WmsCoilAbnormalBo bo);
|
||||
|
||||
/**
|
||||
* 新增钢卷异常信息
|
||||
*/
|
||||
Boolean insertByBo(WmsCoilAbnormalBo bo);
|
||||
|
||||
/**
|
||||
* 修改钢卷异常信息
|
||||
*/
|
||||
Boolean updateByBo(WmsCoilAbnormalBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除钢卷异常信息信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 判级
|
||||
*
|
||||
* @param abnormalId 异常ID
|
||||
* @param judgeLevel 判级
|
||||
* @return 是否成功
|
||||
*/
|
||||
Boolean judge(Long abnormalId, String judgeLevel);
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
package com.klp.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import com.klp.common.helper.LoginHelper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.domain.bo.WmsCoilAbnormalBo;
|
||||
import com.klp.domain.vo.WmsCoilAbnormalVo;
|
||||
import com.klp.domain.WmsCoilAbnormal;
|
||||
import com.klp.mapper.WmsCoilAbnormalMapper;
|
||||
import com.klp.service.IWmsCoilAbnormalService;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 钢卷异常信息Service业务层处理
|
||||
*
|
||||
* @author klp
|
||||
* @date 2025-12-04
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class WmsCoilAbnormalServiceImpl implements IWmsCoilAbnormalService {
|
||||
|
||||
private final WmsCoilAbnormalMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询钢卷异常信息
|
||||
*/
|
||||
@Override
|
||||
public WmsCoilAbnormalVo queryById(Long abnormalId){
|
||||
return baseMapper.selectVoById(abnormalId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询钢卷异常信息列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<WmsCoilAbnormalVo> queryPageList(WmsCoilAbnormalBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<WmsCoilAbnormal> lqw = buildQueryWrapper(bo);
|
||||
Page<WmsCoilAbnormalVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询钢卷异常信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<WmsCoilAbnormalVo> queryList(WmsCoilAbnormalBo bo) {
|
||||
LambdaQueryWrapper<WmsCoilAbnormal> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<WmsCoilAbnormal> buildQueryWrapper(WmsCoilAbnormalBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<WmsCoilAbnormal> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getCoilId() != null, WmsCoilAbnormal::getCoilId, bo.getCoilId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPosition()), WmsCoilAbnormal::getPosition, bo.getPosition());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLengthCoord()), WmsCoilAbnormal::getLengthCoord, bo.getLengthCoord());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDefectCode()), WmsCoilAbnormal::getDefectCode, bo.getDefectCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDegree()), WmsCoilAbnormal::getDegree, bo.getDegree());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getJudgeLevel()), WmsCoilAbnormal::getJudgeLevel, bo.getJudgeLevel());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getJudgeBy()), WmsCoilAbnormal::getJudgeBy, bo.getJudgeBy());
|
||||
lqw.eq(bo.getJudgeTime() != null, WmsCoilAbnormal::getJudgeTime, bo.getJudgeTime());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增钢卷异常信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(WmsCoilAbnormalBo bo) {
|
||||
WmsCoilAbnormal add = BeanUtil.toBean(bo, WmsCoilAbnormal.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setAbnormalId(add.getAbnormalId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改钢卷异常信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(WmsCoilAbnormalBo bo) {
|
||||
WmsCoilAbnormal update = BeanUtil.toBean(bo, WmsCoilAbnormal.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(WmsCoilAbnormal entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除钢卷异常信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判级
|
||||
*/
|
||||
@Override
|
||||
public Boolean judge(Long abnormalId, String judgeLevel) {
|
||||
WmsCoilAbnormal abnormal = baseMapper.selectById(abnormalId);
|
||||
if (abnormal == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 设置判级、判级人、判级时间
|
||||
abnormal.setJudgeLevel(judgeLevel);
|
||||
abnormal.setJudgeBy(LoginHelper.getNickName());
|
||||
abnormal.setJudgeTime(new Date());
|
||||
|
||||
return baseMapper.updateById(abnormal) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?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.klp.mapper.WmsCoilAbnormalMapper">
|
||||
|
||||
<resultMap type="com.klp.domain.WmsCoilAbnormal" id="WmsCoilAbnormalResult">
|
||||
<result property="abnormalId" column="abnormal_id"/>
|
||||
<result property="coilId" column="coil_id"/>
|
||||
<result property="position" column="position"/>
|
||||
<result property="lengthCoord" column="length_coord"/>
|
||||
<result property="defectCode" column="defect_code"/>
|
||||
<result property="degree" column="degree"/>
|
||||
<result property="judgeLevel" column="judge_level"/>
|
||||
<result property="judgeBy" column="judge_by"/>
|
||||
<result property="judgeTime" column="judge_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -222,12 +222,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
WHEN mc.item_type = 'raw_material' THEN rm.raw_material_code
|
||||
WHEN mc.item_type = 'product' THEN p.product_code
|
||||
ELSE NULL
|
||||
END as itemCode
|
||||
END as itemCode,
|
||||
-- 异常数量统计
|
||||
COALESCE(ca.abnormal_count, 0) AS abnormalCount
|
||||
FROM wms_material_coil mc
|
||||
LEFT JOIN wms_raw_material rm ON mc.item_type = 'raw_material' AND mc.item_id = rm.raw_material_id
|
||||
LEFT JOIN wms_product p ON mc.item_type = 'product' AND mc.item_id = p.product_id
|
||||
LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id
|
||||
LEFT JOIN wms_actual_warehouse aw ON mc.actual_warehouse_id = aw.actual_warehouse_id
|
||||
LEFT JOIN (
|
||||
SELECT coil_id, COUNT(*) AS abnormal_count
|
||||
FROM wms_coil_abnormal
|
||||
WHERE del_flag = 0
|
||||
GROUP BY coil_id
|
||||
) ca ON mc.coil_id = ca.coil_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="getDistributionByActualWarehouse" resultType="java.util.Map">
|
||||
|
||||
Reference in New Issue
Block a user