提交 bfe4c4e5 authored 作者: 000516's avatar 000516

1、添加料号获取接口;2、添加质检报告add接口

上级 13540e32
package com.sfa.operation.controller.basedata.query;
import com.sfa.operation.pojo.basedata.response.BaseProductDto;
import com.sfa.operation.service.basedata.IBaseProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author : liqiulin
* @date : 2025-10-30 14
* @describe : 产品主数据
*/
@RestController
@RequestMapping("/base/product")
public class BaseProductQueryController {
@Autowired
private IBaseProductService baseProductService;
@GetMapping("/{proCode}")
public BaseProductDto getByProCode(@PathVariable("proCode") String proCode){
return baseProductService.getByProCode(proCode);
}
}
package com.sfa.operation.controller.zzhao.core;
import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.pojo.zzhao.request.ZzProductQualityVo;
import com.sfa.operation.service.zzhao.IZzProQualityCoreService;
import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author : liqiulin
* @date : 2025-10-30 15
* @describe :
*/
@RestController
@RequestMapping("/zzhao/core/proQuality")
public class ZzProQualityCoreController {
@Autowired
private IZzProQualityCoreService zzProQualityCoreService;
/**
* 录入质检报告
*/
@PostMapping("/add")
public void add(@RequestBody ZzProductQualityVo vo) {
LoginUser loginUser = SecurityUtils.getLoginUser();
String deptName = loginUser.getSysUser().getDept().getDeptName();
vo.setManufacturersName(deptName);
vo.setCreateBy(loginUser.getNickName());
zzProQualityCoreService.add(vo);
}
}
package com.sfa.operation.domain.basedata.dao;
import com.sfa.operation.pojo.basedata.response.BaseProductDto;
/**
* @author : liqiulin
* @date : 2025-10-30 14
* @describe :
*/
public interface IBaseProductDao {
BaseProductDto selectOneByProCode(String proCode);
}
package com.sfa.operation.domain.basedata.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.operation.domain.basedata.dao.IBaseProductDao;
import com.sfa.operation.domain.basedata.entity.BaseProduct;
import com.sfa.operation.domain.basedata.mapper.BaseProductMapper;
import com.sfa.operation.pojo.basedata.response.BaseProductDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-10-30 14
* @describe :
*/
@DS("bi")
@Service
public class BaseProductDaoImpl implements IBaseProductDao {
@Autowired
private BaseProductMapper baseProductMapper;
@Override
public BaseProductDto selectOneByProCode(String proCode) {
LambdaQueryWrapper<BaseProduct> qw = new LambdaQueryWrapper<BaseProduct>().eq(BaseProduct::getPrdCode, proCode);
BaseProduct baseProduct = baseProductMapper.selectOne(qw);
return BeanUtils.transitionDto(baseProduct, BaseProductDto.class);
}
}
package com.sfa.operation.domain.basedata.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName base_product
*/
@TableName(value ="base_product")
@Data
public class BaseProduct implements Serializable {
/**
* 唯一标识主键
*/
@TableId(type = IdType.AUTO)
private Integer bpId;
/**
* 料号
*/
private String prdCode;
/**
* 品名
*/
private String prdName;
/**
* 规格
*/
private String prdBarCode;
/**
* 实际成本
*/
private BigDecimal actualCost;
/**
* 标准成本
*/
private BigDecimal standardCost;
/**
* 一级分类
*/
private String firstCategory;
/**
* 二级分类
*/
private String secondCategory;
/**
* 规格
*/
private String spec;
/**
* 口味
*/
private String flavor;
/**
* 产品分类编码
*/
private String productClassificationCode;
/**
* 产品分类
*/
private String productClassification;
/**
* 主分群码(重复字段,可根据实际需求调整)
*/
private String mainGroupCode;
/**
* 主分群码名称
*/
private String mainGroupName;
/**
* 料件类别(重复字段,可根据实际需求调整)
*/
private String materialType;
/**
* 料件类别描述
*/
private String materialTypeName;
/**
* 基础单位
*/
private String basicUnit;
/**
* 生命周期状态
*/
private String lifeCycleStatus;
/**
* 生命周期
*/
private String lifeCycle;
/**
* 系列
*/
private String series;
/**
* 批次
*/
private Date batchNo;
/**
* 创建时间
*/
private Date createTime;
/**
* 是否删除标志
*/
private Integer delFlag;
/**
* 更新时间
*/
private Date updateTime;
/**
* 箱规
*/
private Integer cartonSize;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.sfa.operation.domain.basedata.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sfa.operation.domain.basedata.entity.BaseProduct;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【base_product】的数据库操作Mapper
* @createDate 2025-10-30 14:29:16
* @Entity com.sfa.operation.domain.basedata.entity.BaseProduct
*/
@Repository
public interface BaseProductMapper extends BaseMapper<BaseProduct> {
}
package com.sfa.operation.domain.zzhao.dao;
import com.sfa.operation.pojo.zzhao.response.ZzProductQualityDto;
/**
* @author : liqiulin
* @date : 2025-10-30 15
* @describe :
*/
public interface IZzProductQualityDao {
void insert(ZzProductQualityDto dto);
}
package com.sfa.operation.domain.zzhao.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.WXLSQLException;
import com.sfa.operation.domain.zzhao.dao.IZzProductQualityDao;
import com.sfa.operation.domain.zzhao.entity.ZzProductQuality;
import com.sfa.operation.domain.zzhao.mapper.ZzProductQualityMapper;
import com.sfa.operation.pojo.zzhao.response.ZzProductQualityDto;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-10-30 15
* @describe :
*/
@Service
@DS("bi")
public class ZzProductQualityDaoImpl implements IZzProductQualityDao {
@Autowired
private ZzProductQualityMapper zzProductQualityMapper;
@Override
public void insert(ZzProductQualityDto dto) {
try {
ZzProductQuality entity = new ZzProductQuality();
BeanUtils.copyProperties(dto, entity);
zzProductQualityMapper.insert(entity);
}catch (Exception e){
String eMsg = e.getCause().getMessage();
if (eMsg.contains("for key 'psm_unique'")) {
throw new WXLSQLException(ECode.ZZ_PRODUCT_QUALITY_EXIST_ERROR);
}
throw new WXLSQLException(ECode.DB_TABLE_UPDATE_ERROR);
}
}
}
package com.sfa.operation.domain.zzhao.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 证照中心-质检报告表
* @TableName zz_product_quality
*/
@TableName(value ="zz_product_quality")
@Data
public class ZzProductQuality implements Serializable {
/**
* 表ID
*/
@TableId(type = IdType.AUTO)
private Long zpqId;
/**
* 料号
*/
private String prdCode;
/**
* 品名
*/
private String prdName;
/**
* 生产批号
*/
private String manufactureBatchNo;
/**
* 质检报告地址
*/
private String qualityUrl;
/**
* 发货日期
*/
private Date shipDate;
/**
* 生产厂家名称
*/
private String manufacturersName;
/**
* 创建者
*/
private String createBy;
private Date createTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
package com.sfa.operation.domain.zzhao.mapper;
import com.sfa.operation.domain.zzhao.entity.ZzProductQuality;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* @author a02200059
* @description 针对表【zz_product_quality(证照中心-质检报告表)】的数据库操作Mapper
* @createDate 2025-10-30 15:43:15
* @Entity com.sfa.operation.domain.zzhao.entity.ZzProductQuality
*/
@Repository
public interface ZzProductQualityMapper extends BaseMapper<ZzProductQuality> {
}
package com.sfa.operation.pojo.basedata.response;
import lombok.Data;
/**
* @author : liqiulin
* @date : 2025-10-30 14
* @describe :
*/
@Data
public class BaseProductDto {
/**
* 料号
*/
private String prdCode;
/**
* 品名
*/
private String prdName;
}
package com.sfa.operation.pojo.zzhao.request;
import lombok.Data;
import java.util.Date;
/**
* @author : liqiulin
* @date : 2025-10-30 15
* @describe :
*/
@Data
public class ZzProductQualityVo {
/**
* 料号
*/
private String prdCode;
/**
* 品名
*/
private String prdName;
/**
* 生产批号
*/
private String manufactureBatchNo;
/**
* 质检报告地址
*/
private String qualityUrl;
/**
* 发货日期
*/
private Date shipDate;
/**
* 生产厂家名称
*/
private String manufacturersName;
/**
* 创建者
*/
private String createBy;
}
package com.sfa.operation.pojo.zzhao.response;
import lombok.Data;
import java.util.Date;
/**
* @author : liqiulin
* @date : 2025-10-30 16
* @describe :
*/
@Data
public class ZzProductQualityDto {
/**
* 料号
*/
private String prdCode;
/**
* 品名
*/
private String prdName;
/**
* 生产批号
*/
private String manufactureBatchNo;
/**
* 质检报告地址
*/
private String qualityUrl;
/**
* 发货日期
*/
private Date shipDate;
/**
* 生产厂家名称
*/
private String manufacturersName;
/**
* 创建者
*/
private String createBy;
}
package com.sfa.operation.service.basedata;
import com.sfa.operation.pojo.basedata.response.BaseProductDto;
/**
* @author : liqiulin
* @date : 2025-10-30 14
* @describe :
*/
public interface IBaseProductService {
BaseProductDto getByProCode(String proCode);
}
package com.sfa.operation.service.basedata.impl;
import com.sfa.operation.domain.basedata.dao.IBaseProductDao;
import com.sfa.operation.pojo.basedata.response.BaseProductDto;
import com.sfa.operation.service.basedata.IBaseProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-10-30 14
* @describe :
*/
@Service
public class BaseProductServiceImpl implements IBaseProductService {
@Autowired
private IBaseProductDao baseProductDao;
@Override
public BaseProductDto getByProCode(String proCode) {
return baseProductDao.selectOneByProCode(proCode);
}
}
package com.sfa.operation.service.zzhao;
import com.sfa.operation.pojo.zzhao.request.ZzProductQualityVo;
/**
* @author : liqiulin
* @date : 2025-10-30 16
* @describe :
*/
public interface IZzProQualityCoreService {
void add(ZzProductQualityVo vo);
}
package com.sfa.operation.service.zzhao.impl;
import com.sfa.operation.domain.zzhao.dao.IZzProductQualityDao;
import com.sfa.operation.pojo.zzhao.request.ZzProductQualityVo;
import com.sfa.operation.pojo.zzhao.response.ZzProductQualityDto;
import com.sfa.operation.service.zzhao.IZzProQualityCoreService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author : liqiulin
* @date : 2025-10-30 16
* @describe :
*/
@Service
public class ZzProQualityCoreServiceImpl implements IZzProQualityCoreService {
@Autowired
private IZzProductQualityDao zzProductQualityDao;
@Override
public void add(ZzProductQualityVo vo) {
ZzProductQualityDto dto = new ZzProductQualityDto();
BeanUtils.copyProperties(vo, dto);
zzProductQualityDao.insert(dto);
}
}
<?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.sfa.operation.domain.basedata.mapper.BaseProductMapper">
<resultMap id="BaseResultMap" type="com.sfa.operation.domain.basedata.entity.BaseProduct">
<result property="bpId" column="bp_id" jdbcType="INTEGER"/>
<result property="prdCode" column="prd_code" jdbcType="VARCHAR"/>
<result property="prdName" column="prd_name" jdbcType="VARCHAR"/>
<result property="prdBarCode" column="prd_bar_code" jdbcType="VARCHAR"/>
<result property="actualCost" column="actual_cost" jdbcType="DECIMAL"/>
<result property="standardCost" column="standard_cost" jdbcType="DECIMAL"/>
<result property="firstCategory" column="first_category" jdbcType="VARCHAR"/>
<result property="secondCategory" column="second_category" jdbcType="VARCHAR"/>
<result property="spec" column="spec" jdbcType="VARCHAR"/>
<result property="flavor" column="flavor" jdbcType="VARCHAR"/>
<result property="productClassificationCode" column="product_classification_code" jdbcType="VARCHAR"/>
<result property="productClassification" column="product_classification" jdbcType="VARCHAR"/>
<result property="mainGroupCode" column="main_group_code" jdbcType="VARCHAR"/>
<result property="mainGroupName" column="main_group_name" jdbcType="VARCHAR"/>
<result property="materialType" column="material_type" jdbcType="VARCHAR"/>
<result property="materialTypeName" column="material_type_name" jdbcType="VARCHAR"/>
<result property="basicUnit" column="basic_unit" jdbcType="VARCHAR"/>
<result property="lifeCycleStatus" column="life_cycle_status" jdbcType="VARCHAR"/>
<result property="lifeCycle" column="life_cycle" jdbcType="VARCHAR"/>
<result property="series" column="series" jdbcType="VARCHAR"/>
<result property="batchNo" column="batch_no" jdbcType="TIMESTAMP"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="cartonSize" column="carton_size" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
bp_id,prd_code,prd_name,
prd_bar_code,actual_cost,standard_cost,
first_category,second_category,spec,
flavor,product_classification_code,product_classification,
main_group_code,main_group_name,material_type,
material_type_name,basic_unit,life_cycle_status,
life_cycle,series,batch_no,
create_time,del_flag,update_time,
carton_size
</sql>
</mapper>
<?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.sfa.operation.domain.zzhao.mapper.ZzProductQualityMapper">
<resultMap id="ZzProductQualityBase" type="com.sfa.operation.domain.zzhao.entity.ZzProductQuality">
<id property="zpqId" column="zpq_id" jdbcType="BIGINT"/>
<result property="prdCode" column="prd_code" jdbcType="VARCHAR"/>
<result property="prdName" column="prd_name" jdbcType="VARCHAR"/>
<result property="manufactureBatchNo" column="manufacture_batch_no" jdbcType="VARCHAR"/>
<result property="qualityUrl" column="quality_url" jdbcType="VARCHAR"/>
<result property="shipDate" column="ship_date" jdbcType="TIMESTAMP"/>
<result property="manufacturersName" column="manufacturers_name" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论