金属元素编码自动生成,公司中间表关联查询

This commit is contained in:
liss
2025-09-25 14:31:43 +08:00
parent 1eb013a7ac
commit aa0a77370b
11 changed files with 86 additions and 3 deletions

View File

@@ -23,4 +23,10 @@ public class CompanyRelativityPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "负责人")
private String manager;
@Schema(description = "部门来源")
private String departmentSource;
}

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.base.controller.admin.base.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
@@ -19,4 +20,21 @@ public class CompanyRelativitySaveReqVO {
@NotEmpty(message = "供应链公司编码不能为空")
private String number;
@Schema(description = "供应链公司编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "供应链公司编号不能为空")
private Long companyId;
@Schema(description = "供应链公司名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "供应链公司名称不能为空")
private String companyName;
@Schema(description = "供应链部门编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "供应链部门名称不能为空")
private Long deptId;
@Schema(description = "供应链部门名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "供应链部门名称不能为空")
private String deptName;
}

View File

@@ -33,6 +33,10 @@ public class CompanyRelativityDO extends BaseDO {
*/
@TableField("ERP_NUM")
private String erpNumber;
// erp名称
private String erpName;
/**
* 供应链公司编码
*/
@@ -48,6 +52,21 @@ public class CompanyRelativityDO extends BaseDO {
*/
@TableField("COMPANY_NAME")
private String companyName;
// 负责人id
private String leaderUserId;
// 是否公司
private String isCompany;
//是否集团
private String isGroup;
//电话
private String phone;
//邮箱
private String email;
//部门状态
private String status;
//创建人
private String creator;
/**
* 部门编号
*/

View File

@@ -7,6 +7,8 @@ import com.zt.plat.module.base.controller.admin.base.vo.CompanyRelativityPageReq
import com.zt.plat.module.base.dal.dataobject.base.CompanyRelativityDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 公司关系 Mapper
*
@@ -23,4 +25,5 @@ public interface CompanyRelativityMapper extends BaseMapperX<CompanyRelativityDO
.orderByDesc(CompanyRelativityDO::getId));
}
List<CompanyRelativityDO> getPageByReq(CompanyRelativityPageReqVO pageReqVO);
}

View File

@@ -25,4 +25,5 @@ public interface ElementMapper extends BaseMapperX<ElementDO> {
.orderByDesc(ElementDO::getId));
}
String selectMaxCode();
}

View File

@@ -83,7 +83,11 @@ public class CompanyRelativityServiceImpl implements CompanyRelativityService {
@Override
public PageResult<CompanyRelativityDO> getCompanyRelativityPage(CompanyRelativityPageReqVO pageReqVO) {
return companyRelativityMapper.selectPage(pageReqVO);
List<CompanyRelativityDO> list = companyRelativityMapper.getPageByReq(pageReqVO);
if (list == null) {
list = CollUtil.newArrayList();
}
return new PageResult<>(list, (long) list.size());
}
}

View File

@@ -33,6 +33,17 @@ public class ElementServiceImpl implements ElementService {
public ElementRespVO createElement(ElementSaveReqVO createReqVO) {
// 插入
ElementDO element = BeanUtils.toBean(createReqVO, ElementDO.class);
//金属编码自动生成,格式 JSYS-00001,依次新增
String maxCode = elementMapper.selectMaxCode();
if (maxCode == null) {
element.setCoding("JSYS-00001");
} else {
String prefix = "JSYS-";
String numberPart = maxCode.substring(prefix.length());
int nextNumber = Integer.parseInt(numberPart) + 1;
String nextCode = prefix + String.format("%05d", nextNumber);
element.setCoding(nextCode);
}
elementMapper.insert(element);
// 返回
return BeanUtils.toBean(element, ElementRespVO.class);

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.framework.tenant.core.context.CompanyContextHolder;
import com.zt.plat.module.base.controller.admin.templtp.vo.*;

View File

@@ -9,4 +9,23 @@
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="getPageByReq" resultType="com.zt.plat.module.base.dal.dataobject.base.CompanyRelativityDO">
select
c.NUM as erpNumber,
c.NAME as erpName,
d.NAME as companyName,
d.ID as deptId,
d.LEADER_USER_ID as leaderUserId,
d.IS_COMPANY,
d.IS_GROUP,
d.PHONE,
d.EMAIL,
d.STATUS,
d.CREATOR
from
SPLY_CPN_REL r
left join SYSTEM_DEPT d on r.COMPANY_ID = d.ID
left join SPLY_ERP_CPN c on r.ERP_NUM = c.NUM
where r.DELETED = 0
</select>
</mapper>

View File

@@ -9,4 +9,7 @@
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="selectMaxCode" resultType="java.lang.String">
SELECT MAX(coding) FROM element
</select>
</mapper>