若依分离版MS SQLServer项目工程地址[官方推荐]如下所示,但下载到本地运行时,遇到一些问题,已整理出来,分享需要的朋友,偶已复制到自己的码云,修改发布执行的问题,可以去我的码云去下载。
https://gitee.com/qu_bing/ruoyi-vue-plus-sqlserver
1. sys_menu表中的将菜单ID修改为自动ID,解决不能增加菜单的问题,操作流程如下:
解决方案如下
菜单栏->工具->选项
点击设计器,去掉阻止保存要求更新创建表的更改选项,点确认既可以保存了
2 自动生成代码找不表的解决方案
2.1 必须为表添加MS_Description的属性的值,如所所示
3 打包正式环境,发布到服务器,正常退出报404错误的问题
4 支持多种数据库的功能
1.在 yml 文件中配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: oracle.jdbc.driver.OracleDriver
druid:
# 主库数据源
master:
url: jdbc:oracle:thin:@//X.X.X.X:1521/cllect
username: xxxx
password: xxxxxx
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: true
url: jdbc:oracle:thin:@//X.X.X.X:1521/dw
username: xxxx
password: xxxxxx
imes:
enabled: true
url: jdbc:oracle:thin:@//X.X.X.X:1521/mb2pd
username: xxxx
password: xxxxxx
2.在ruoyi-framework 中 Config/ DruidConfig.java 中
添加
@Bean
@ConfigurationProperties("spring.datasource.druid.slave")
@ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true")
public DataSource slaveDataSource(DruidProperties druidProperties)
{
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
@Bean
@ConfigurationProperties("spring.datasource.druid.imes")
@ConditionalOnProperty(prefix = "spring.datasource.druid.imes", name = "enabled", havingValue = "true")
public DataSource imesDataSource(DruidProperties druidProperties)
{
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
3.在IMPL 中添加注解 @DataSource(DataSourceType.MES)
ALTER TABLE `ry-vue-mes`.dv_repair ADD workstation_id BIGINT NULL;
ALTER TABLE `ry-vue-mes`.dv_repair ADD workstation_code varchar(100) NULL COMMENT '设备保养和维修工站';
ALTER TABLE `ry-vue-mes`.dv_repair ADD workstation_name varchar(100) NULL COMMENT '工站名称';
ALTER TABLE `ry-vue-mes`.dv_repair ADD user_id varchar(100) NULL COMMENT '工站工位的责任人ID';
ALTER TABLE `ry-vue-mes`.dv_repair ADD user_name varchar(100) NULL COMMENT '工站工位的责任人帐号';
ALTER TABLE `ry-vue-mes`.dv_repair ADD nick_name varchar(100) NULL COMMENT '工站工位的责任人的姓名';
ALTER TABLE `ry-vue-mes`.dv_repair ADD repair_start_time DATETIME NULL COMMENT '维修开始时间';
ALTER TABLE `ry-vue-mes`.dv_repair ADD repair_end_time DATETIME NULL COMMENT '维修结束时间';
ALTER TABLE `ry-vue-mes`.dv_repair ADD repair_workhour DECIMAL NULL COMMENT '维修工时';
package com.ktg.mes.dv.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.BaseEntity;
/**
* 设备维修单对象 dv_repair
*
* @author brant
* @date 2024-04-27
*/
public class DvRepair extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 维修单ID
*/
private Long repairId;
/**
* 维修单编号
*/
@Excel(name = "维修单编号")
private String repairCode;
/**
* 维修单名称
*/
@Excel(name = "维修单名称")
private String repairName;
/**
* 设备ID
*/
@Excel(name = "设备ID")
private Long machineryId;
/**
* 设备编码
*/
@Excel(name = "设备编码")
private String machineryCode;
/**
* 设备名称
*/
@Excel(name = "设备名称")
private String machineryName;
/**
* 品牌
*/
@Excel(name = "品牌")
private String machineryBrand;
/**
* 规格型号
*/
@Excel(name = "规格型号")
private String machinerySpec;
/**
* 设备类型ID
*/
@Excel(name = "设备类型ID")
private Long machineryTypeId;
/**
* 报修日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "报修日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date requireDate;
/**
* 维修完成日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "维修完成日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date finishDate;
/**
* 验收日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "验收日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date confirmDate;
/**
* 维修结果
*/
@Excel(name = "维修结果")
private String repairResult;
/**
* 维修人员
*/
@Excel(name = "维修人员")
private String acceptedBy;
private String acceptName;
/**
* 验收人员
*/
@Excel(name = "验收人员")
private String confirmBy;
private String confirmName;
/**
* 单据状态
*/
@Excel(name = "单据状态")
private String status;
/**
* 预留字段1
*/
private String attr1;
/**
* 预留字段2
*/
private String attr2;
/**
* 预留字段3
*/
private Long attr3;
/**
* 预留字段4
*/
private Long attr4;
@Excel(name = "责任人ID")
private Long userId;
@Excel(name = "责任人帐号")
private String userName;
@Excel(name = "责任人姓名")
private String nickName;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Long getWorkstationId() {
return workstationId;
}
public void setWorkstationId(Long workstationId) {
this.workstationId = workstationId;
}
public String getWorkstationCode() {
return workstationCode;
}
public void setWorkstationCode(String workstationCode) {
this.workstationCode = workstationCode;
}
public String getWorkstationName() {
return workstationName;
}
public void setWorkstationName(String workstationName) {
this.workstationName = workstationName;
}
public Date getRepairStartTime() {
return repairStartTime;
}
public void setRepairStartTime(Date repairStartTime) {
this.repairStartTime = repairStartTime;
}
public Date getRepairEndTime() {
return repairEndTime;
}
public void setRepairEndTime(Date repairEndTime) {
this.repairEndTime = repairEndTime;
}
public BigDecimal getRepairWorkhour() {
return repairWorkhour;
}
public void setRepairWorkhour(BigDecimal repairWorkhour) {
this.repairWorkhour = repairWorkhour;
}
@Excel(name = "工站ID")
private Long workstationId;
@Excel(name = "工站代码")
private String workstationCode;
@Excel(name = "工站名称")
private String workstationName;
/**
* 维修完成日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "维修开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date repairStartTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "维修结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date repairEndTime;
@Excel(name = "维修所花工时")
private BigDecimal repairWorkhour;
public void setRepairId(Long repairId) {
this.repairId = repairId;
}
public Long getRepairId() {
return repairId;
}
public void setRepairCode(String repairCode) {
this.repairCode = repairCode;
}
public String getRepairCode() {
return repairCode;
}
public void setRepairName(String repairName) {
this.repairName = repairName;
}
public String getRepairName() {
return repairName;
}
public void setMachineryId(Long machineryId) {
this.machineryId = machineryId;
}
public Long getMachineryId() {
return machineryId;
}
public void setMachineryCode(String machineryCode) {
this.machineryCode = machineryCode;
}
public String getMachineryCode() {
return machineryCode;
}
public void setMachineryName(String machineryName) {
this.machineryName = machineryName;
}
public String getMachineryName() {
return machineryName;
}
public void setMachineryBrand(String machineryBrand) {
this.machineryBrand = machineryBrand;
}
public String getMachineryBrand() {
return machineryBrand;
}
public void setMachinerySpec(String machinerySpec) {
this.machinerySpec = machinerySpec;
}
public String getMachinerySpec() {
return machinerySpec;
}
public void setMachineryTypeId(Long machineryTypeId) {
this.machineryTypeId = machineryTypeId;
}
public Long getMachineryTypeId() {
return machineryTypeId;
}
public void setRequireDate(Date requireDate) {
this.requireDate = requireDate;
}
public Date getRequireDate() {
return requireDate;
}
public void setFinishDate(Date finishDate) {
this.finishDate = finishDate;
}
public Date getFinishDate() {
return finishDate;
}
public void setConfirmDate(Date confirmDate) {
this.confirmDate = confirmDate;
}
public Date getConfirmDate() {
return confirmDate;
}
public void setRepairResult(String repairResult) {
this.repairResult = repairResult;
}
public String getRepairResult() {
return repairResult;
}
public void setAcceptedBy(String acceptedBy) {
this.acceptedBy = acceptedBy;
}
public String getAcceptedBy() {
return acceptedBy;
}
public void setConfirmBy(String confirmBy) {
this.confirmBy = confirmBy;
}
public String getConfirmBy() {
return confirmBy;
}
public void setStatus(String status) {
this.status = status;
}
public String getAcceptName() {
return acceptName;
}
public void setAcceptName(String acceptName) {
this.acceptName = acceptName;
}
public String getConfirmName() {
return confirmName;
}
public void setConfirmName(String confirmName) {
this.confirmName = confirmName;
}
public String getStatus() {
return status;
}
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
public String getAttr1() {
return attr1;
}
public void setAttr2(String attr2) {
this.attr2 = attr2;
}
public String getAttr2() {
return attr2;
}
public void setAttr3(Long attr3) {
this.attr3 = attr3;
}
public Long getAttr3() {
return attr3;
}
public void setAttr4(Long attr4) {
this.attr4 = attr4;
}
public Long getAttr4() {
return attr4;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("repairId", getRepairId())
.append("repairCode", getRepairCode())
.append("repairName", getRepairName())
.append("machineryId", getMachineryId())
.append("machineryCode", getMachineryCode())
.append("machineryName", getMachineryName())
.append("machineryBrand", getMachineryBrand())
.append("machinerySpec", getMachinerySpec())
.append("machineryTypeId", getMachineryTypeId())
.append("requireDate", getRequireDate())
.append("finishDate", getFinishDate())
.append("confirmDate", getConfirmDate())
.append("repairResult", getRepairResult())
.append("acceptedBy", getAcceptedBy())
.append("confirmBy", getConfirmBy())
.append("status", getStatus())
.append("remark", getRemark())
.append("userId", getUserId())
.append("userName", getUserName())
.append("nickName", getNickName())
.append("workstationId", getWorkstationId())
.append("workstationCode", getWorkstationCode())
.append("workstationName", getWorkstationName())
.append("repairStartTime", getRepairStartTime())
.append("repairEndTime", getRepairStartTime())
.append("repairWorkhour", getRepairWorkhour())
.append("attr1", getAttr1())
.append("attr2", getAttr2())
.append("attr3", getAttr3())
.append("attr4", getAttr4())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ktg.mes.dv.mapper.DvRepairMapper">
<resultMap type="DvRepair" id="DvRepairResult">
<result property="repairId" column="repair_id" />
<result property="repairCode" column="repair_code" />
<result property="repairName" column="repair_name" />
<result property="machineryId" column="machinery_id" />
<result property="machineryCode" column="machinery_code" />
<result property="machineryName" column="machinery_name" />
<result property="machineryBrand" column="machinery_brand" />
<result property="machinerySpec" column="machinery_spec" />
<result property="machineryTypeId" column="machinery_type_id" />
<result property="requireDate" column="require_date" />
<result property="finishDate" column="finish_date" />
<result property="confirmDate" column="confirm_date" />
<result property="repairResult" column="repair_result" />
<result property="acceptedBy" column="accepted_by" />
<result property="confirmBy" column="confirm_by" />
<result property="userId" column="user_id" />
<result property="userName" column="user_name" />
<result property="nickName" column="nick_name" />
<result property="workstationId" column="workstation_id" />
<result property="workstationName" column="workstation_name" />
<result property="workstationCode" column="workstation_code" />
<result property="repairStartTime" column="repair_start_time" />
<result property="repairEndTime" column="repair_end_time" />
<result property="repairWorkhour" column="repair_workhour" />
<result property="status" column="status" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectDvRepairVo">
select repair_id, repair_code, repair_name, machinery_id, machinery_code, machinery_name, machinery_brand, machinery_spec, machinery_type_id, require_date, finish_date, confirm_date, repair_result, accepted_by, confirm_by,user_id,user_name,nick_name,workstation_id,workstation_code,workstation_name,repair_start_time,repair_end_time,repair_workhour, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_repair
</sql>
<select id="selectDvRepairList" parameterType="DvRepair" resultMap="DvRepairResult">
<include refid="selectDvRepairVo"/>
<where>
<if test="repairCode != null and repairCode != ''"> and repair_code = #{repairCode}</if>
<if test="repairName != null and repairName != ''"> and repair_name like concat('%', #{repairName}, '%')</if>
<if test="machineryId != null "> and machinery_id = #{machineryId}</if>
<if test="machineryCode != null and machineryCode != ''"> and machinery_code = #{machineryCode}</if>
<if test="machineryName != null and machineryName != ''"> and machinery_name like concat('%', #{machineryName}, '%')</if>
<if test="machineryBrand != null and machineryBrand != ''"> and machinery_brand = #{machineryBrand}</if>
<if test="machinerySpec != null and machinerySpec != ''"> and machinery_spec = #{machinerySpec}</if>
<if test="machineryTypeId != null "> and machinery_type_id = #{machineryTypeId}</if>
<if test="requireDate != null "> and require_date = #{requireDate}</if>
<if test="finishDate != null "> and finish_date = #{finishDate}</if>
<if test="confirmDate != null "> and confirm_date = #{confirmDate}</if>
<if test="repairResult != null and repairResult != ''"> and repair_result = #{repairResult}</if>
<if test="acceptedBy != null and acceptedBy != ''"> and accepted_by = #{acceptedBy}</if>
<if test="confirmBy != null and confirmBy != ''"> and confirm_by = #{confirmBy}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
<if test="nickName != null and nickName != ''"> and nick_name like concat('%', #{nickName}, '%')</if>
<if test="workstationId != null "> and workstation_id = #{workstationId}</if>
<if test="workstationCode != null and workstationCode != ''"> and workstation_code like concat('%', #{workstationCode}, '%')</if>
<if test="workstationName != null and workstationName != ''"> and workstation_name like concat('%', #{workstationName}, '%')</if>
<if test="repairStartTime != null "> and repair_start_time = #{repairStartTime}</if>
<if test="repairEndTime != null "> and repair_end_time = #{repairEndTime}</if>
<if test="repairWorkhour != null "> and repair_workhour = #{repairWorkhour}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
</where>
</select>
<select id="selectDvRepairByRepairId" parameterType="Long" resultMap="DvRepairResult">
<include refid="selectDvRepairVo"/>
where repair_id = #{repairId}
</select>
<select id="checkCodeUnique" parameterType="DvRepair" resultMap="DvRepairResult">
<include refid="selectDvRepairVo"/>
where repair_code = #{repairCode} limit 1
</select>
<insert id="insertDvRepair" parameterType="DvRepair" useGeneratedKeys="true" keyProperty="repairId">
insert into dv_repair
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="repairCode != null and repairCode != ''">repair_code,</if>
<if test="repairName != null">repair_name,</if>
<if test="machineryId != null">machinery_id,</if>
<if test="machineryCode != null and machineryCode != ''">machinery_code,</if>
<if test="machineryName != null and machineryName != ''">machinery_name,</if>
<if test="machineryBrand != null">machinery_brand,</if>
<if test="machinerySpec != null">machinery_spec,</if>
<if test="machineryTypeId != null">machinery_type_id,</if>
<if test="requireDate != null">require_date,</if>
<if test="finishDate != null">finish_date,</if>
<if test="confirmDate != null">confirm_date,</if>
<if test="repairResult != null">repair_result,</if>
<if test="acceptedBy != null">accepted_by,</if>
<if test="confirmBy != null">confirm_by,</if>
<if test="userId != null">user_id,</if>
<if test="userName != null">user_name,</if>
<if test="nickName != null">nick_name,</if>
<if test="workstationId != null">workstation_id,</if>
<if test="workstationCode != null">workstation_code,</if>
<if test="workstationName != null">workstation_name,</if>
<if test="repairStartTime != null">repair_start_time,</if>
<if test="repairEndTime != null">repair_end_time,</if>
<if test="repairWorkhour != null">repair_workhour,</if>
<if test="status != null">status,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="repairCode != null and repairCode != ''">#{repairCode},</if>
<if test="repairName != null">#{repairName},</if>
<if test="machineryId != null">#{machineryId},</if>
<if test="machineryCode != null and machineryCode != ''">#{machineryCode},</if>
<if test="machineryName != null and machineryName != ''">#{machineryName},</if>
<if test="machineryBrand != null">#{machineryBrand},</if>
<if test="machinerySpec != null">#{machinerySpec},</if>
<if test="machineryTypeId != null">#{machineryTypeId},</if>
<if test="requireDate != null">#{requireDate},</if>
<if test="finishDate != null">#{finishDate},</if>
<if test="confirmDate != null">#{confirmDate},</if>
<if test="repairResult != null">#{repairResult},</if>
<if test="acceptedBy != null">#{acceptedBy},</if>
<if test="confirmBy != null">#{confirmBy},</if>
<if test="userId != null">#{userId},</if>
<if test="userName != null">#{userName},</if>
<if test="nickName != null">#{nickName},</if>
<if test="workstationId != null">#{workstationId},</if>
<if test="workstationCode != null">#{workstationCode},</if>
<if test="workstationName != null">#{workstationName},</if>
<if test="repairStartTime != null">#{repairStartTime},</if>
<if test="repairEndTime != null">#{repairEndTime},</if>
<if test="repairWorkhour != null">#{repairWorkhour},</if>
<if test="status != null">#{status},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateDvRepair" parameterType="DvRepair">
update dv_repair
<trim prefix="SET" suffixOverrides=",">
<if test="repairCode != null and repairCode != ''">repair_code = #{repairCode},</if>
<if test="repairName != null">repair_name = #{repairName},</if>
<if test="machineryId != null">machinery_id = #{machineryId},</if>
<if test="machineryCode != null and machineryCode != ''">machinery_code = #{machineryCode},</if>
<if test="machineryName != null and machineryName != ''">machinery_name = #{machineryName},</if>
<if test="machineryBrand != null">machinery_brand = #{machineryBrand},</if>
<if test="machinerySpec != null">machinery_spec = #{machinerySpec},</if>
<if test="machineryTypeId != null">machinery_type_id = #{machineryTypeId},</if>
<if test="requireDate != null">require_date = #{requireDate},</if>
<if test="finishDate != null">finish_date = #{finishDate},</if>
<if test="confirmDate != null">confirm_date = #{confirmDate},</if>
<if test="repairResult != null">repair_result = #{repairResult},</if>
<if test="acceptedBy != null">accepted_by = #{acceptedBy},</if>
<if test="confirmBy != null">confirm_by = #{confirmBy},</if>
<if test="userId != null">user_id=#{userId},</if>
<if test="userName != null">user_name=#{userName},</if>
<if test="nickName != null">nick_name=#{nickName},</if>
<if test="workstationId != null">workstation_id=#{workstationId},</if>
<if test="workstationCode != null">workstation_code=#{workstationCode},</if>
<if test="workstationName != null">workstation_name=#{workstationName},</if>
<if test="repairStartTime != null">repair_start_time=#{repairStartTime},</if>
<if test="repairEndTime != null">repair_end_time=#{repairEndTime},</if>
<if test="repairWorkhour != null">repair_workhour=#{repairWorkhour},</if>
<if test="status != null">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where repair_id = #{repairId}
</update>
<delete id="deleteDvRepairByRepairId" parameterType="Long">
delete from dv_repair where repair_id = #{repairId}
</delete>
<delete id="deleteDvRepairByRepairIds" parameterType="String">
delete from dv_repair where repair_id in
<foreach item="repairId" collection="array" open="(" separator="," close=")">
#{repairId}
</foreach>
</delete>
</mapper>