feat(All): 新实体创建
This commit is contained in:
parent
3952232bef
commit
415708e38a
@ -0,0 +1,109 @@
|
||||
package net.ferrum.web.controller.business;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.ferrum.business.domain.bo.QsSupplierBo;
|
||||
import net.ferrum.business.domain.vo.QsSupplierVo;
|
||||
import net.ferrum.business.service.IQsSupplierService;
|
||||
import net.ferrum.common.annotation.Log;
|
||||
import net.ferrum.common.annotation.RepeatSubmit;
|
||||
import net.ferrum.common.core.controller.BaseController;
|
||||
import net.ferrum.common.core.domain.PageQuery;
|
||||
import net.ferrum.common.core.domain.R;
|
||||
import net.ferrum.common.core.page.TableDataInfo;
|
||||
import net.ferrum.common.core.validate.AddGroup;
|
||||
import net.ferrum.common.core.validate.EditGroup;
|
||||
import net.ferrum.common.enums.BusinessType;
|
||||
import net.ferrum.common.utils.poi.ExcelUtil;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 供应商信息
|
||||
*
|
||||
* @author ferrum
|
||||
* @version 1.0.0
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/business/supplier")
|
||||
public class QsSupplierController extends BaseController {
|
||||
|
||||
private final IQsSupplierService iQsSupplierService;
|
||||
|
||||
/**
|
||||
* 查询供应商信息列表
|
||||
*/
|
||||
@SaCheckPermission("business:supplier:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<QsSupplierVo> list(QsSupplierBo bo, PageQuery pageQuery) {
|
||||
return iQsSupplierService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出供应商信息列表
|
||||
*/
|
||||
@SaCheckPermission("business:supplier:export")
|
||||
@Log(title = "供应商信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(QsSupplierBo bo, HttpServletResponse response) {
|
||||
List<QsSupplierVo> list = iQsSupplierService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "供应商信息", QsSupplierVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取供应商信息详细信息
|
||||
*
|
||||
* @param supplierId 主键
|
||||
*/
|
||||
@SaCheckPermission("business:supplier:query")
|
||||
@GetMapping("/{supplierId}")
|
||||
public R<QsSupplierVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long supplierId) {
|
||||
return R.ok(iQsSupplierService.queryById(supplierId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增供应商信息
|
||||
*/
|
||||
@SaCheckPermission("business:supplier:add")
|
||||
@Log(title = "供应商信息", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody QsSupplierBo bo) {
|
||||
return toAjax(iQsSupplierService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改供应商信息
|
||||
*/
|
||||
@SaCheckPermission("business:supplier:edit")
|
||||
@Log(title = "供应商信息", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody QsSupplierBo bo) {
|
||||
return toAjax(iQsSupplierService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除供应商信息
|
||||
*
|
||||
* @param supplierIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("business:supplier:remove")
|
||||
@Log(title = "供应商信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{supplierIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] supplierIds) {
|
||||
return toAjax(iQsSupplierService.deleteWithValidByIds(Arrays.asList(supplierIds), true));
|
||||
}
|
||||
|
||||
}
|
||||
@ -50,7 +50,8 @@ spring:
|
||||
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
||||
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
||||
# url: jdbc:mysql://localhost:3306/ry_flowable_plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
|
||||
url: jdbc:mysql://192.168.137.20:3306/ry_flowable_plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
|
||||
# url: jdbc:mysql://192.168.137.20:3306/ry_flowable_plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
|
||||
url: jdbc:mysql://10.168.1.206:3306/ry_flowable_plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
|
||||
username: remote
|
||||
password: Tieth@121308
|
||||
# 从库数据源
|
||||
@ -59,7 +60,8 @@ spring:
|
||||
type: ${spring.datasource.type}
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
# url: jdbc:mysql://localhost:3306/ry-ry_flowable_plus-plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
|
||||
url: jdbc:mysql://192.168.137.20:3306/ry-ry_flowable_plus-plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
|
||||
# url: jdbc:mysql://192.168.137.20:3306/ry-ry_flowable_plus-plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
|
||||
url: jdbc:mysql://10.168.1.206:3306/ry-ry_flowable_plus-plus?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
|
||||
username: remote
|
||||
password: Tieth@121308
|
||||
# oracle:
|
||||
@ -104,7 +106,8 @@ spring:
|
||||
spring:
|
||||
redis:
|
||||
# 地址
|
||||
host: 192.168.137.20
|
||||
# host: 192.168.137.20
|
||||
host: 10.168.1.206
|
||||
# 端口,默认为6379
|
||||
port: 6379
|
||||
# 数据库索引
|
||||
|
||||
@ -0,0 +1,17 @@
|
||||
package net.ferrum.common.constant;
|
||||
|
||||
/**
|
||||
* 业务常量
|
||||
*
|
||||
* @author 26554
|
||||
* @version 1.0.0
|
||||
* @since 2025/3/3
|
||||
*/
|
||||
public interface BusinessConstants {
|
||||
|
||||
/**
|
||||
* 发布模板通知标题
|
||||
*/
|
||||
String NOTICE_TITLE = "新的模板已经通过审批,请尽快申领!";
|
||||
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package net.ferrum.common.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 通知类型
|
||||
*
|
||||
* @author 26554
|
||||
* @version 1.0.0
|
||||
* @since 2025/3/3
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum NoticeType {
|
||||
|
||||
NOTICE("1", "通知"),
|
||||
ANNOUNCEMENT("2", "公告"),
|
||||
DESIGN_PUBLISH("3", "规格设计发布"),
|
||||
;
|
||||
private final String type;
|
||||
private final String info;
|
||||
|
||||
}
|
||||
@ -6,7 +6,9 @@ package net.ferrum.common.enums;
|
||||
* @author ruoyi
|
||||
*/
|
||||
public enum UserStatus {
|
||||
OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除");
|
||||
OK("0", "正常"),
|
||||
DISABLE("1", "停用"),
|
||||
DELETED("2", "删除");
|
||||
|
||||
private final String code;
|
||||
private final String info;
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.ruoyi.generator.mapper.GenTableColumnMapper">
|
||||
<mapper namespace="net.ferrum.generator.mapper.GenTableColumnMapper">
|
||||
|
||||
<resultMap type="GenTableColumn" id="GenTableColumnResult">
|
||||
<resultMap type="net.ferrum.generator.domain.GenTableColumn" id="GenTableColumnResult">
|
||||
<id property="columnId" column="column_id" />
|
||||
<result property="tableId" column="table_id" />
|
||||
<result property="columnName" column="column_name" />
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.ruoyi.generator.mapper.GenTableMapper">
|
||||
<mapper namespace="net.ferrum.generator.mapper.GenTableMapper">
|
||||
|
||||
<resultMap type="GenTable" id="GenTableResult">
|
||||
<resultMap type="net.ferrum.generator.domain.GenTable" id="GenTableResult">
|
||||
<id property="tableId" column="table_id" />
|
||||
<result property="tableName" column="table_name" />
|
||||
<result property="tableComment" column="table_comment" />
|
||||
@ -28,7 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<collection property="columns" javaType="java.util.List" resultMap="GenTableColumnResult" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="GenTableColumn" id="GenTableColumnResult">
|
||||
<resultMap type="net.ferrum.generator.domain.GenTableColumn" id="GenTableColumnResult">
|
||||
<id property="columnId" column="column_id" />
|
||||
<result property="tableId" column="table_id" />
|
||||
<result property="columnName" column="column_name" />
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
package net.ferrum.business.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import net.ferrum.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 操作员操作记录对象 qs_operator_record
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("qs_operator_record")
|
||||
public class QsOperatorRecord extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 记录Id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
/**
|
||||
* 操作员Id
|
||||
*/
|
||||
private Long operatorId;
|
||||
/**
|
||||
* 操作类型
|
||||
*/
|
||||
private Integer operation;
|
||||
/**
|
||||
* 对应样品模板
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
package net.ferrum.business.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import net.ferrum.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 模板信息对象 qs_project
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("qs_project")
|
||||
public class QsProject extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 模板Id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
/**
|
||||
* 模板信息
|
||||
*/
|
||||
private String projectInfo;
|
||||
/**
|
||||
* 对接人Id
|
||||
*/
|
||||
private Long dockerUserId;
|
||||
/**
|
||||
* 是否采用
|
||||
*/
|
||||
private String adoptFlag;
|
||||
/**
|
||||
* 设计生产数量
|
||||
*/
|
||||
private Integer designAmount;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 逻辑删除标志
|
||||
*/
|
||||
@TableLogic
|
||||
private String delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
package net.ferrum.business.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import net.ferrum.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 供应商信息对象 qs_supplier
|
||||
*
|
||||
* @author 26554
|
||||
* @version 1.0.0
|
||||
* @since 2025/3/5
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("qs_supplier")
|
||||
public class QsSupplier extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 供应商Id
|
||||
*/
|
||||
@TableId(value = "supplier_id")
|
||||
private Long supplierId;
|
||||
/**
|
||||
* 供应商名称
|
||||
*/
|
||||
private String supplierName;
|
||||
/**
|
||||
* 供应商地址
|
||||
*/
|
||||
private String supplierAddress;
|
||||
/**
|
||||
* 供应商联系人
|
||||
*/
|
||||
private String supplierContact;
|
||||
/**
|
||||
* 供应商联系方式
|
||||
*/
|
||||
private String supplierContactNum;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 逻辑删除标志
|
||||
*/
|
||||
@TableLogic
|
||||
private String delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package net.ferrum.business.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 用户-供应商关系表
|
||||
*
|
||||
* @author 26554
|
||||
* @version 1.0.0
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
@Data
|
||||
@TableName("qs_user_supplier")
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class QsUserSupplier {
|
||||
|
||||
/**
|
||||
* 用户主键
|
||||
*/
|
||||
@TableField
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 供应商主键
|
||||
*/
|
||||
@TableField
|
||||
private Long supplierId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package net.ferrum.business.domain.bo;
|
||||
|
||||
import net.ferrum.common.core.validate.AddGroup;
|
||||
import net.ferrum.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import net.ferrum.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 操作员操作记录业务对象 qs_operator_record
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class QsOperatorRecordBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 记录Id
|
||||
*/
|
||||
@NotNull(message = "记录Id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 操作员Id
|
||||
*/
|
||||
@NotNull(message = "操作员Id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 操作类型
|
||||
*/
|
||||
@NotNull(message = "操作类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer operation;
|
||||
|
||||
/**
|
||||
* 对应样品模板
|
||||
*/
|
||||
@NotNull(message = "对应样品模板不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long projectId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
package net.ferrum.business.domain.bo;
|
||||
|
||||
import net.ferrum.common.core.validate.AddGroup;
|
||||
import net.ferrum.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import net.ferrum.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 模板信息业务对象 qs_project
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class QsProjectBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 模板Id
|
||||
*/
|
||||
@NotNull(message = "模板Id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 模板信息
|
||||
*/
|
||||
private String projectInfo;
|
||||
|
||||
/**
|
||||
* 对接人Id
|
||||
*/
|
||||
@NotNull(message = "对接人Id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long dockerUserId;
|
||||
|
||||
/**
|
||||
* 是否采用
|
||||
*/
|
||||
@NotBlank(message = "是否采用不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String adoptFlag;
|
||||
|
||||
/**
|
||||
* 设计生产数量
|
||||
*/
|
||||
@NotNull(message = "设计生产数量不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Integer designAmount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
package net.ferrum.business.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import net.ferrum.common.core.domain.BaseEntity;
|
||||
import net.ferrum.common.core.validate.AddGroup;
|
||||
import net.ferrum.common.core.validate.EditGroup;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 供应商信息业务对象 qs_supplier
|
||||
*
|
||||
* @author ferrum
|
||||
* @version 1.0.0
|
||||
* @since 2025/3/5
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class QsSupplierBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 供应商Id
|
||||
*/
|
||||
@NotNull(message = "供应商Id不能为空", groups = { EditGroup.class })
|
||||
private Long supplierId;
|
||||
|
||||
/**
|
||||
* 供应商名称
|
||||
*/
|
||||
@NotBlank(message = "供应商名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String supplierName;
|
||||
|
||||
/**
|
||||
* 供应商地址
|
||||
*/
|
||||
//@NotBlank(message = "供应商地址不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String supplierAddress;
|
||||
|
||||
/**
|
||||
* 供应商联系人
|
||||
*/
|
||||
//@NotBlank(message = "供应商联系人不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String supplierContact;
|
||||
|
||||
/**
|
||||
* 供应商联系方式
|
||||
*/
|
||||
//@NotBlank(message = "供应商联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String supplierContactNum;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
//@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package net.ferrum.business.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import net.ferrum.common.annotation.ExcelDictFormat;
|
||||
import net.ferrum.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 操作员操作记录视图对象 qs_operator_record
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class QsOperatorRecordVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 记录Id
|
||||
*/
|
||||
@ExcelProperty(value = "记录Id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 操作员Id
|
||||
*/
|
||||
@ExcelProperty(value = "操作员Id")
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 操作类型
|
||||
*/
|
||||
@ExcelProperty(value = "操作类型")
|
||||
private Integer operation;
|
||||
|
||||
/**
|
||||
* 对应样品模板
|
||||
*/
|
||||
@ExcelProperty(value = "对应样品模板")
|
||||
private Long projectId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
package net.ferrum.business.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import net.ferrum.common.annotation.ExcelDictFormat;
|
||||
import net.ferrum.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 模板信息视图对象 qs_project
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class QsProjectVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 模板Id
|
||||
*/
|
||||
@ExcelProperty(value = "模板Id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 模板信息
|
||||
*/
|
||||
@ExcelProperty(value = "模板信息")
|
||||
private String projectInfo;
|
||||
|
||||
/**
|
||||
* 对接人Id
|
||||
*/
|
||||
@ExcelProperty(value = "对接人Id")
|
||||
private Long dockerUserId;
|
||||
|
||||
/**
|
||||
* 是否采用
|
||||
*/
|
||||
@ExcelProperty(value = "是否采用")
|
||||
private String adoptFlag;
|
||||
|
||||
/**
|
||||
* 设计生产数量
|
||||
*/
|
||||
@ExcelProperty(value = "设计生产数量")
|
||||
private Integer designAmount;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
package net.ferrum.business.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
import net.ferrum.system.domain.vo.SysUserBasicInfoVo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 供应商信息视图对象 qs_supplier
|
||||
*
|
||||
* @author ferrum
|
||||
* @version 1.0.0
|
||||
* @since 2025/3/5
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class QsSupplierVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 供应商Id
|
||||
*/
|
||||
@ExcelProperty(value = "供应商Id")
|
||||
private Long supplierId;
|
||||
|
||||
/**
|
||||
* 供应商名称
|
||||
*/
|
||||
@ExcelProperty(value = "供应商名称")
|
||||
private String supplierName;
|
||||
|
||||
/**
|
||||
* 供应商地址
|
||||
*/
|
||||
@ExcelProperty(value = "供应商地址")
|
||||
private String supplierAddress;
|
||||
|
||||
/**
|
||||
* 供应商联系人
|
||||
*/
|
||||
@ExcelProperty(value = "供应商联系人")
|
||||
private String supplierContact;
|
||||
|
||||
/**
|
||||
* 供应商联系方式
|
||||
*/
|
||||
@ExcelProperty(value = "供应商联系方式")
|
||||
private String supplierContactNum;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 对接人
|
||||
*/
|
||||
private List<SysUserBasicInfoVo> dockerUsers;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package net.ferrum.business.mapper;
|
||||
|
||||
import net.ferrum.business.domain.QsOperatorRecord;
|
||||
import net.ferrum.business.domain.vo.QsOperatorRecordVo;
|
||||
import net.ferrum.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 操作员操作记录Mapper接口
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
public interface QsOperatorRecordMapper extends BaseMapperPlus<QsOperatorRecordMapper, QsOperatorRecord, QsOperatorRecordVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package net.ferrum.business.mapper;
|
||||
|
||||
import net.ferrum.business.domain.QsProject;
|
||||
import net.ferrum.business.domain.vo.QsProjectVo;
|
||||
import net.ferrum.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 模板信息Mapper接口
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
public interface QsProjectMapper extends BaseMapperPlus<QsProjectMapper, QsProject, QsProjectVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package net.ferrum.business.mapper;
|
||||
|
||||
import net.ferrum.business.domain.QsSupplier;
|
||||
import net.ferrum.business.domain.vo.QsSupplierVo;
|
||||
import net.ferrum.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 供应商信息Mapper接口
|
||||
*
|
||||
* @author ferrum
|
||||
* @version 1.0.0
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
public interface QsSupplierMapper extends BaseMapperPlus<QsSupplierMapper, QsSupplier, QsSupplierVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package net.ferrum.business.mapper;
|
||||
|
||||
import net.ferrum.business.domain.QsUserSupplier;
|
||||
import net.ferrum.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 用户-供应商关联表 数据层
|
||||
*
|
||||
* @author 26554
|
||||
* @version 1.0.0
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
public interface QsUserSupplierMapper extends BaseMapperPlus<QsUserSupplierMapper, QsUserSupplier, QsUserSupplier> {
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package net.ferrum.business.service;
|
||||
|
||||
import net.ferrum.business.domain.bo.QsOperatorRecordBo;
|
||||
import net.ferrum.business.domain.vo.QsOperatorRecordVo;
|
||||
import net.ferrum.common.core.domain.PageQuery;
|
||||
import net.ferrum.common.core.page.TableDataInfo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 操作员操作记录Service接口
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
public interface IQsOperatorRecordService {
|
||||
|
||||
/**
|
||||
* 查询操作员操作记录
|
||||
*/
|
||||
QsOperatorRecordVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 查询操作员操作记录列表
|
||||
*/
|
||||
TableDataInfo<QsOperatorRecordVo> queryPageList(QsOperatorRecordBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询操作员操作记录列表
|
||||
*/
|
||||
List<QsOperatorRecordVo> queryList(QsOperatorRecordBo bo);
|
||||
|
||||
/**
|
||||
* 新增操作员操作记录
|
||||
*/
|
||||
Boolean insertByBo(QsOperatorRecordBo bo);
|
||||
|
||||
/**
|
||||
* 修改操作员操作记录
|
||||
*/
|
||||
Boolean updateByBo(QsOperatorRecordBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除操作员操作记录信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package net.ferrum.business.service;
|
||||
|
||||
import net.ferrum.business.domain.bo.QsProjectBo;
|
||||
import net.ferrum.business.domain.vo.QsProjectVo;
|
||||
import net.ferrum.common.core.domain.PageQuery;
|
||||
import net.ferrum.common.core.page.TableDataInfo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 模板信息Service接口
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
public interface IQsProjectService {
|
||||
|
||||
/**
|
||||
* 查询模板信息
|
||||
*/
|
||||
QsProjectVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 查询模板信息列表
|
||||
*/
|
||||
TableDataInfo<QsProjectVo> queryPageList(QsProjectBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询模板信息列表
|
||||
*/
|
||||
List<QsProjectVo> queryList(QsProjectBo bo);
|
||||
|
||||
/**
|
||||
* 新增模板信息
|
||||
*/
|
||||
Boolean insertByBo(QsProjectBo bo);
|
||||
|
||||
/**
|
||||
* 修改模板信息
|
||||
*/
|
||||
Boolean updateByBo(QsProjectBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除模板信息信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
package net.ferrum.business.service;
|
||||
|
||||
import net.ferrum.business.domain.bo.QsSupplierBo;
|
||||
import net.ferrum.business.domain.vo.QsSupplierVo;
|
||||
import net.ferrum.common.core.domain.PageQuery;
|
||||
import net.ferrum.common.core.page.TableDataInfo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 供应商信息Service接口
|
||||
*
|
||||
* @author ferrum
|
||||
* @version 1.0.0
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
public interface IQsSupplierService {
|
||||
|
||||
/**
|
||||
* 查询供应商信息
|
||||
*/
|
||||
QsSupplierVo queryById(Long supplierId);
|
||||
|
||||
/**
|
||||
* 查询供应商信息列表
|
||||
*/
|
||||
TableDataInfo<QsSupplierVo> queryPageList(QsSupplierBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询供应商信息列表
|
||||
*/
|
||||
List<QsSupplierVo> queryList(QsSupplierBo bo);
|
||||
|
||||
/**
|
||||
* 新增供应商信息
|
||||
*/
|
||||
Boolean insertByBo(QsSupplierBo bo);
|
||||
|
||||
/**
|
||||
* 修改供应商信息
|
||||
*/
|
||||
Boolean updateByBo(QsSupplierBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除供应商信息信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 申领供应商
|
||||
*/
|
||||
Boolean claimSuppliers(Collection<Long> supplierIds, Long userId);
|
||||
|
||||
/**
|
||||
* 分配供应商
|
||||
*/
|
||||
Boolean resignSuppliers(Collection<Long> userIds, Long supplierId);
|
||||
}
|
||||
@ -0,0 +1,110 @@
|
||||
package net.ferrum.business.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.ferrum.business.domain.QsOperatorRecord;
|
||||
import net.ferrum.business.domain.bo.QsOperatorRecordBo;
|
||||
import net.ferrum.business.domain.vo.QsOperatorRecordVo;
|
||||
import net.ferrum.business.mapper.QsOperatorRecordMapper;
|
||||
import net.ferrum.business.service.IQsOperatorRecordService;
|
||||
import net.ferrum.common.core.domain.PageQuery;
|
||||
import net.ferrum.common.core.page.TableDataInfo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 操作员操作记录Service业务层处理
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class QsOperatorRecordServiceImpl implements IQsOperatorRecordService {
|
||||
|
||||
private final QsOperatorRecordMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询操作员操作记录
|
||||
*/
|
||||
@Override
|
||||
public QsOperatorRecordVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询操作员操作记录列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<QsOperatorRecordVo> queryPageList(QsOperatorRecordBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<QsOperatorRecord> lqw = buildQueryWrapper(bo);
|
||||
Page<QsOperatorRecordVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询操作员操作记录列表
|
||||
*/
|
||||
@Override
|
||||
public List<QsOperatorRecordVo> queryList(QsOperatorRecordBo bo) {
|
||||
LambdaQueryWrapper<QsOperatorRecord> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<QsOperatorRecord> buildQueryWrapper(QsOperatorRecordBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<QsOperatorRecord> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(bo.getOperatorId() != null, QsOperatorRecord::getOperatorId, bo.getOperatorId());
|
||||
lqw.eq(bo.getOperation() != null, QsOperatorRecord::getOperation, bo.getOperation());
|
||||
lqw.like(bo.getProjectId() != null, QsOperatorRecord::getProjectId, bo.getProjectId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增操作员操作记录
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(QsOperatorRecordBo bo) {
|
||||
QsOperatorRecord add = BeanUtil.toBean(bo, QsOperatorRecord.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改操作员操作记录
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(QsOperatorRecordBo bo) {
|
||||
QsOperatorRecord update = BeanUtil.toBean(bo, QsOperatorRecord.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(QsOperatorRecord entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除操作员操作记录
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,112 @@
|
||||
package net.ferrum.business.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import net.ferrum.common.utils.StringUtils;
|
||||
import net.ferrum.common.core.page.TableDataInfo;
|
||||
import net.ferrum.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 lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import net.ferrum.business.domain.bo.QsProjectBo;
|
||||
import net.ferrum.business.domain.vo.QsProjectVo;
|
||||
import net.ferrum.business.domain.QsProject;
|
||||
import net.ferrum.business.mapper.QsProjectMapper;
|
||||
import net.ferrum.business.service.IQsProjectService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 模板信息Service业务层处理
|
||||
*
|
||||
* @author 26554
|
||||
* @date 2025-04-21
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class QsProjectServiceImpl implements IQsProjectService {
|
||||
|
||||
private final QsProjectMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询模板信息
|
||||
*/
|
||||
@Override
|
||||
public QsProjectVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询模板信息列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<QsProjectVo> queryPageList(QsProjectBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<QsProject> lqw = buildQueryWrapper(bo);
|
||||
Page<QsProjectVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询模板信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<QsProjectVo> queryList(QsProjectBo bo) {
|
||||
LambdaQueryWrapper<QsProject> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<QsProject> buildQueryWrapper(QsProjectBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<QsProject> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(bo.getDockerUserId() != null, QsProject::getDockerUserId, bo.getDockerUserId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAdoptFlag()), QsProject::getAdoptFlag, bo.getAdoptFlag());
|
||||
lqw.between(params.get("beginDesignAmount") != null && params.get("endDesignAmount") != null,
|
||||
QsProject::getDesignAmount ,params.get("beginDesignAmount"), params.get("endDesignAmount"));
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增模板信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(QsProjectBo bo) {
|
||||
QsProject add = BeanUtil.toBean(bo, QsProject.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改模板信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(QsProjectBo bo) {
|
||||
QsProject update = BeanUtil.toBean(bo, QsProject.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(QsProject entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除模板信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,157 @@
|
||||
package net.ferrum.business.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.ferrum.business.domain.QsSupplier;
|
||||
import net.ferrum.business.domain.QsUserSupplier;
|
||||
import net.ferrum.business.domain.bo.QsSupplierBo;
|
||||
import net.ferrum.business.domain.vo.QsSupplierVo;
|
||||
import net.ferrum.business.mapper.QsSupplierMapper;
|
||||
import net.ferrum.business.mapper.QsUserSupplierMapper;
|
||||
import net.ferrum.business.service.IQsSupplierService;
|
||||
import net.ferrum.common.core.domain.PageQuery;
|
||||
import net.ferrum.common.core.page.TableDataInfo;
|
||||
import net.ferrum.common.utils.StringUtils;
|
||||
import net.ferrum.system.domain.vo.SysUserBasicInfoVo;
|
||||
import net.ferrum.system.mapper.SysUserMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 供应商信息Service业务层处理
|
||||
*
|
||||
* @author ferrum
|
||||
* @version 1.0.0
|
||||
* @since 2025-03-05
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class QsSupplierServiceImpl implements IQsSupplierService {
|
||||
|
||||
private final QsSupplierMapper supplierMapper;
|
||||
private final QsUserSupplierMapper userSupplierMapper;
|
||||
private final SysUserMapper userMapper;
|
||||
|
||||
/**
|
||||
* 查询供应商信息
|
||||
*/
|
||||
@Override
|
||||
public QsSupplierVo queryById(Long supplierId){
|
||||
QsSupplierVo result = supplierMapper.selectVoById(supplierId);
|
||||
List<QsUserSupplier> relations = userSupplierMapper.selectList(new LambdaQueryWrapper<QsUserSupplier>().eq(QsUserSupplier::getSupplierId, supplierId));
|
||||
List<SysUserBasicInfoVo> userInfos = new ArrayList<>();
|
||||
if (!CollectionUtils.isEmpty(relations)) {
|
||||
relations.forEach(relation -> {
|
||||
userInfos.add(userMapper.selectUserBasicInfoById(relation.getUserId()));
|
||||
});
|
||||
}
|
||||
result.setDockerUsers(userInfos);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询供应商信息列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<QsSupplierVo> queryPageList(QsSupplierBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<QsSupplier> lqw = buildQueryWrapper(bo);
|
||||
Page<QsSupplierVo> result = supplierMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询供应商信息列表
|
||||
*/
|
||||
@Override
|
||||
public List<QsSupplierVo> queryList(QsSupplierBo bo) {
|
||||
LambdaQueryWrapper<QsSupplier> lqw = buildQueryWrapper(bo);
|
||||
return supplierMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<QsSupplier> buildQueryWrapper(QsSupplierBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<QsSupplier> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSupplierName()), QsSupplier::getSupplierName, bo.getSupplierName());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSupplierAddress()), QsSupplier::getSupplierAddress, bo.getSupplierAddress());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSupplierContact()), QsSupplier::getSupplierContact, bo.getSupplierContact());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSupplierContactNum()), QsSupplier::getSupplierContactNum, bo.getSupplierContactNum());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增供应商信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(QsSupplierBo bo) {
|
||||
QsSupplier add = BeanUtil.toBean(bo, QsSupplier.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = supplierMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setSupplierId(add.getSupplierId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改供应商信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(QsSupplierBo bo) {
|
||||
QsSupplier update = BeanUtil.toBean(bo, QsSupplier.class);
|
||||
validEntityBeforeSave(update);
|
||||
return supplierMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(QsSupplier entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除供应商信息
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return supplierMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 申领供应商
|
||||
*
|
||||
* @param supplierIds 供应商主键集合
|
||||
* @param userId 当前登录用户Id
|
||||
* @return 是否成功申领
|
||||
*/
|
||||
@Override
|
||||
public Boolean claimSuppliers(Collection<Long> supplierIds, Long userId) {
|
||||
List<QsUserSupplier> relations = new ArrayList<>(0);
|
||||
supplierIds.forEach(id -> {
|
||||
relations.add(new QsUserSupplier(userId, id));
|
||||
});
|
||||
return userSupplierMapper.insertBatch(relations);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean resignSuppliers(Collection<Long> userIds, Long supplierId) {
|
||||
List<QsUserSupplier> relations = new ArrayList<>(0);
|
||||
userIds.forEach(id -> {
|
||||
relations.add(new QsUserSupplier(id, supplierId));
|
||||
});
|
||||
return userSupplierMapper.insertBatch(relations);
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package net.ferrum.system.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import net.ferrum.common.core.domain.BaseEntity;
|
||||
@ -21,10 +22,11 @@ import javax.validation.constraints.Size;
|
||||
@TableName("sys_notice")
|
||||
public class SysNotice extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 6332813813221195765L;
|
||||
/**
|
||||
* 公告ID
|
||||
*/
|
||||
@TableId(value = "notice_id")
|
||||
@TableId(value = "notice_id", type = IdType.AUTO)
|
||||
private Long noticeId;
|
||||
|
||||
/**
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
package net.ferrum.system.domain.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 用户基础信息
|
||||
*
|
||||
* @author 26554
|
||||
* @version 1.0.0
|
||||
* @since 2025-03-18
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class SysUserBasicInfoVo implements Serializable {
|
||||
private static final long serialVersionUID = -5272592280264695130L;
|
||||
|
||||
/**
|
||||
* 用户Id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 用户账号
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
|
||||
}
|
||||
@ -7,6 +7,7 @@ import net.ferrum.common.annotation.DataColumn;
|
||||
import net.ferrum.common.annotation.DataPermission;
|
||||
import net.ferrum.common.core.domain.entity.SysUser;
|
||||
import net.ferrum.common.core.mapper.BaseMapperPlus;
|
||||
import net.ferrum.system.domain.vo.SysUserBasicInfoVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@ -92,4 +93,10 @@ public interface SysUserMapper extends BaseMapperPlus<SysUserMapper, SysUser, Sy
|
||||
*/
|
||||
SysUser selectUserById(Long userId);
|
||||
|
||||
/**
|
||||
* 通过用户Id查询用户基本信息
|
||||
* @param userId 用户Id
|
||||
* @return 用户基本信息
|
||||
*/
|
||||
SysUserBasicInfoVo selectUserBasicInfoById(Long userId);
|
||||
}
|
||||
|
||||
@ -2,18 +2,17 @@ package net.ferrum.workflow.listener;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.ferrum.flowable.utils.TaskUtils;
|
||||
import net.ferrum.common.constant.BusinessConstants;
|
||||
import net.ferrum.common.enums.NoticeType;
|
||||
import net.ferrum.common.utils.JsonUtils;
|
||||
import net.ferrum.system.domain.SysNotice;
|
||||
import net.ferrum.system.service.ISysNoticeService;
|
||||
import net.ferrum.workflow.domain.vo.WfDetailVo;
|
||||
import net.ferrum.workflow.service.IWfProcessService;
|
||||
import org.flowable.engine.TaskService;
|
||||
import org.flowable.engine.delegate.DelegateExecution;
|
||||
import org.flowable.engine.delegate.ExecutionListener;
|
||||
import org.flowable.task.api.Task;
|
||||
import org.flowable.task.api.TaskQuery;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 发布规格事件监听类
|
||||
*
|
||||
@ -28,29 +27,17 @@ import java.util.List;
|
||||
public class PublishSpecificationListener implements ExecutionListener {
|
||||
|
||||
private final IWfProcessService processService;
|
||||
private final TaskService taskService;
|
||||
private final ISysNoticeService noticeService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
TaskQuery taskQuery = taskService.createTaskQuery()
|
||||
.active()
|
||||
.includeProcessVariables()
|
||||
.taskCandidateOrAssigned(TaskUtils.getUserId())
|
||||
.taskCandidateGroupIn(TaskUtils.getCandidateGroup())
|
||||
.processDefinitionId(delegateExecution.getProcessDefinitionId())
|
||||
.orderByTaskCreateTime().desc();
|
||||
List<Task> taskList = taskQuery.list();
|
||||
taskList.forEach(task -> {
|
||||
Field[] fields = task.getClass().getDeclaredFields();
|
||||
for (Field field : fields) {
|
||||
field.setAccessible(true);
|
||||
try {
|
||||
log.info("属性[{}]值为:{}", field.getName(), field.get(task));
|
||||
} catch (IllegalAccessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
WfDetailVo wfDetailVo = processService.queryProcessDetail(delegateExecution.getProcessInstanceId(), delegateExecution.getId());
|
||||
SysNotice notice = new SysNotice();
|
||||
notice.setNoticeTitle(BusinessConstants.NOTICE_TITLE);
|
||||
notice.setNoticeType(NoticeType.DESIGN_PUBLISH.getType());
|
||||
notice.setNoticeContent(JsonUtils.toJsonString(wfDetailVo.getProcessFormList()));
|
||||
log.info("插入通知内容:{}", notice);
|
||||
noticeService.insertNotice(notice);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
package net.ferrum.workflow.listener;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.ferrum.common.exception.ServiceException;
|
||||
import net.ferrum.flowable.utils.TaskUtils;
|
||||
import org.flowable.engine.TaskService;
|
||||
import org.flowable.engine.delegate.DelegateExecution;
|
||||
import org.flowable.engine.delegate.ExecutionListener;
|
||||
import org.flowable.task.api.Task;
|
||||
import org.flowable.task.api.TaskQuery;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* 流程节点携带参数记录监听类
|
||||
*
|
||||
* @author 26554
|
||||
* @version 1.0.0
|
||||
* @since 2025/2/26
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@Component("variablePublishListener")
|
||||
@RequiredArgsConstructor
|
||||
public class VariablePublishListener implements ExecutionListener {
|
||||
|
||||
private final TaskService taskService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
TaskQuery taskQuery = taskService.createTaskQuery()
|
||||
.active()
|
||||
.includeProcessVariables()
|
||||
.includeCaseVariables()
|
||||
.includeTaskLocalVariables()
|
||||
.taskCandidateOrAssigned(TaskUtils.getUserId())
|
||||
.taskCandidateGroupIn(TaskUtils.getCandidateGroup())
|
||||
.processDefinitionId(delegateExecution.getProcessDefinitionId())
|
||||
.orderByTaskCreateTime().desc();
|
||||
Task task = taskQuery.singleResult();
|
||||
if (task == null) {
|
||||
throw new ServiceException("任务没找到");
|
||||
}
|
||||
Field[] fields = delegateExecution.getClass().getDeclaredFields();
|
||||
for (Field field : fields) {
|
||||
field.setAccessible(true);
|
||||
try {
|
||||
log.info("delegateExecution当前[{}]属性值为[{}]", field.getName(), field.get(delegateExecution));
|
||||
} catch (IllegalAccessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
Field[] fields1 = task.getClass().getDeclaredFields();
|
||||
for (Field field : fields1) {
|
||||
field.setAccessible(true);
|
||||
try {
|
||||
log.info("task当前[{}]属性值为[{}]", field.getName(), field.get(task));
|
||||
} catch (IllegalAccessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
<?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="net.ferrum.business.mapper.QsOperatorRecordMapper">
|
||||
|
||||
<resultMap type="net.ferrum.business.domain.QsOperatorRecord" id="QsOperatorRecordResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="operatorId" column="operator_id"/>
|
||||
<result property="operation" column="operation"/>
|
||||
<result property="projectId" column="project_id"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,22 @@
|
||||
<?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="net.ferrum.business.mapper.QsProjectMapper">
|
||||
|
||||
<resultMap type="net.ferrum.business.domain.QsProject" id="QsProjectResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="projectInfo" column="project_info"/>
|
||||
<result property="dockerUserId" column="docker_user_id"/>
|
||||
<result property="adoptFlag" column="adopt_flag"/>
|
||||
<result property="designAmount" column="design_amount"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,21 @@
|
||||
<?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="net.ferrum.business.mapper.QsSupplierMapper">
|
||||
|
||||
<resultMap type="net.ferrum.business.domain.QsSupplier" id="QsSupplierResult">
|
||||
<result property="supplierId" column="supplier_id"/>
|
||||
<result property="supplierName" column="supplier_name"/>
|
||||
<result property="supplierAddress" column="supplier_address"/>
|
||||
<result property="supplierContact" column="supplier_contact"/>
|
||||
<result property="supplierContactNum" column="supplier_contact_num"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,12 @@
|
||||
<?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="net.ferrum.business.mapper.QsUserSupplierMapper">
|
||||
|
||||
<resultMap type="net.ferrum.business.domain.QsUserSupplier" id="QsUserSupplierResult">
|
||||
<result property="userId" column="user_id" />
|
||||
<result property="supplierId" column="supplier_id" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
||||
@ -1,7 +1,7 @@
|
||||
<?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">
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.ferrum.system.mapper.SysUserMapper">
|
||||
|
||||
<resultMap type="net.ferrum.common.core.domain.entity.SysUser" id="SysUserResult">
|
||||
@ -24,11 +24,11 @@
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult"/>
|
||||
<association property="dept" column="dept_id" javaType="net.ferrum.common.core.domain.entity.SysDept" resultMap="deptResult"/>
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="deptResult" type="SysDept">
|
||||
<resultMap id="deptResult" type="net.ferrum.common.core.domain.entity.SysDept">
|
||||
<id property="deptId" column="dept_id"/>
|
||||
<result property="parentId" column="parent_id"/>
|
||||
<result property="deptName" column="dept_name"/>
|
||||
@ -38,7 +38,7 @@
|
||||
<result property="status" column="dept_status"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="RoleResult" type="SysRole">
|
||||
<resultMap id="RoleResult" type="net.ferrum.common.core.domain.entity.SysRole">
|
||||
<id property="roleId" column="role_id"/>
|
||||
<result property="roleName" column="role_name"/>
|
||||
<result property="roleKey" column="role_key"/>
|
||||
@ -47,74 +47,89 @@
|
||||
<result property="status" column="role_status"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="SysUserBasicInfoResult" type="net.ferrum.system.domain.vo.SysUserBasicInfoVo">
|
||||
<id property="userId" column="user_id"/>
|
||||
<result property="userName" column="user_name"/>
|
||||
<result property="nickName" column="nick_name"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id,
|
||||
u.dept_id,
|
||||
u.user_name,
|
||||
u.nick_name,
|
||||
u.user_type,
|
||||
u.email,
|
||||
u.avatar,
|
||||
u.phonenumber,
|
||||
u.password,
|
||||
u.sex,
|
||||
u.status,
|
||||
u.del_flag,
|
||||
u.login_ip,
|
||||
u.login_date,
|
||||
u.create_by,
|
||||
u.create_time,
|
||||
u.remark,
|
||||
d.dept_id,
|
||||
d.parent_id,
|
||||
d.ancestors,
|
||||
d.dept_name,
|
||||
d.order_num,
|
||||
d.leader,
|
||||
d.status as dept_status,
|
||||
r.role_id,
|
||||
r.role_name,
|
||||
r.role_key,
|
||||
r.role_sort,
|
||||
r.data_scope,
|
||||
r.status as role_status
|
||||
select
|
||||
u.user_id,
|
||||
u.dept_id,
|
||||
u.user_name,
|
||||
u.nick_name,
|
||||
u.user_type,
|
||||
u.email,
|
||||
u.avatar,
|
||||
u.phonenumber,
|
||||
u.password,
|
||||
u.sex,
|
||||
u.status,
|
||||
u.del_flag,
|
||||
u.login_ip,
|
||||
u.login_date,
|
||||
u.create_by,
|
||||
u.create_time,
|
||||
u.remark,
|
||||
d.dept_id,
|
||||
d.parent_id,
|
||||
d.ancestors,
|
||||
d.dept_name,
|
||||
d.order_num,
|
||||
d.leader,
|
||||
d.status as dept_status,
|
||||
r.role_id,
|
||||
r.role_name,
|
||||
r.role_key,
|
||||
r.role_sort,
|
||||
r.data_scope,
|
||||
r.status as role_status
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role sur on u.user_id = sur.user_id
|
||||
left join sys_role r on r.role_id = sur.role_id
|
||||
</sql>
|
||||
|
||||
<sql id="selectUserBasicInfo">
|
||||
select
|
||||
u.user_id,
|
||||
u.user_name,
|
||||
u.nick_name
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role sur on u.user_id = sur.user_id
|
||||
left join sys_role r on r.role_id = sur.role_id
|
||||
</sql>
|
||||
|
||||
<select id="selectPageUserList" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex,
|
||||
u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
|
||||
u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectUserList" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex,
|
||||
u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
|
||||
u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectAllocatedList" resultMap="SysUserResult">
|
||||
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role sur on u.user_id = sur.user_id
|
||||
left join sys_role r on r.role_id = sur.role_id
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role sur on u.user_id = sur.user_id
|
||||
left join sys_role r on r.role_id = sur.role_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectUnallocatedList" resultMap="SysUserResult">
|
||||
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
|
||||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role sur on u.user_id = sur.user_id
|
||||
left join sys_role r on r.role_id = sur.role_id
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role sur on u.user_id = sur.user_id
|
||||
left join sys_role r on r.role_id = sur.role_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
@ -138,5 +153,10 @@
|
||||
where u.del_flag = '0' and u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectUserBasicInfoById" parameterType="Long" resultMap="SysUserBasicInfoResult">
|
||||
<include refid="selectUserBasicInfo"/>
|
||||
where u.del_flag = '0' and u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
42
script/sql/mysql/quotation_system.sql
Normal file
42
script/sql/mysql/quotation_system.sql
Normal file
@ -0,0 +1,42 @@
|
||||
use ry_flowable_plus;
|
||||
create table if not exists `qs_supplier` (
|
||||
`supplier_id` bigint NOT NULL COMMENT '供应商Id',
|
||||
`supplier_name` varchar(100) COLLATE utf8mb4_bin NOT NULL COMMENT '供应商名称',
|
||||
`supplier_address` varchar(1024) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '供应商地址',
|
||||
`supplier_contact` varchar(30) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '供应商联系人',
|
||||
`supplier_contact_num` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '供应商联系方式',
|
||||
`create_by` varchar(64) COLLATE utf8mb4_bin DEFAULT '' COMMENT '创建人',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(64) COLLATE utf8mb4_bin DEFAULT '' COMMENT '更新人',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
`remark` varchar(500) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '备注',
|
||||
`del_flag` char(1) COLLATE utf8mb4_bin NOT NULL DEFAULT '0' COMMENT '逻辑删除标志',
|
||||
PRIMARY KEY (`supplier_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='供应商信息';
|
||||
create table if not exists `qs_user_supplier` (
|
||||
`user_id` bigint NOT NULL COMMENT '用户主键',
|
||||
`supplier_id` bigint NOT NULL COMMENT '供应商主键',
|
||||
PRIMARY KEY (`user_id`,`supplier_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='用户-供应商关联表';
|
||||
create table if not exists qs_project(
|
||||
id bigint not null comment '模板Id',
|
||||
project_info longblob comment '模板信息',
|
||||
docker_user_id bigint not null comment '对接人Id',
|
||||
adopt_flag char(1) not null default '0' comment '是否采用',
|
||||
design_amount int not null default 0 comment '设计生产数量',
|
||||
create_by varchar(64) comment '创建人',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) coment '更新人',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) comment '备注',
|
||||
del_flag char(1) not null default '0' comment '逻辑删除标志',
|
||||
primary key (id)
|
||||
) comment '模板信息';
|
||||
create table if not exists qs_operator_record(
|
||||
id bigint not null comment '记录Id',
|
||||
operator_id bigint not null comment '操作员Id',
|
||||
operation tinyint not null comment '操作类型',
|
||||
project_id bigint not null comment '对应样品模板',
|
||||
create_time datetime not null comment '记录时间',
|
||||
primary key (id)
|
||||
) comment '操作员操作记录';
|
||||
Loading…
x
Reference in New Issue
Block a user