金属元素编码自动生成,公司中间表关联查询
This commit is contained in:
@@ -23,4 +23,10 @@ public class CompanyRelativityPageReqVO extends PageParam {
|
|||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
private LocalDateTime[] createTime;
|
private LocalDateTime[] createTime;
|
||||||
|
|
||||||
|
@Schema(description = "负责人")
|
||||||
|
private String manager;
|
||||||
|
|
||||||
|
@Schema(description = "部门来源")
|
||||||
|
private String departmentSource;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.zt.plat.module.base.controller.admin.base.vo;
|
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 io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -19,4 +20,21 @@ public class CompanyRelativitySaveReqVO {
|
|||||||
@NotEmpty(message = "供应链公司编码不能为空")
|
@NotEmpty(message = "供应链公司编码不能为空")
|
||||||
private String number;
|
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;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -33,6 +33,10 @@ public class CompanyRelativityDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
@TableField("ERP_NUM")
|
@TableField("ERP_NUM")
|
||||||
private String erpNumber;
|
private String erpNumber;
|
||||||
|
|
||||||
|
// erp名称
|
||||||
|
private String erpName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应链公司编码
|
* 供应链公司编码
|
||||||
*/
|
*/
|
||||||
@@ -48,6 +52,21 @@ public class CompanyRelativityDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
@TableField("COMPANY_NAME")
|
@TableField("COMPANY_NAME")
|
||||||
private String companyName;
|
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;
|
||||||
/**
|
/**
|
||||||
* 部门编号
|
* 部门编号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -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 com.zt.plat.module.base.dal.dataobject.base.CompanyRelativityDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 公司关系 Mapper
|
* 公司关系 Mapper
|
||||||
*
|
*
|
||||||
@@ -23,4 +25,5 @@ public interface CompanyRelativityMapper extends BaseMapperX<CompanyRelativityDO
|
|||||||
.orderByDesc(CompanyRelativityDO::getId));
|
.orderByDesc(CompanyRelativityDO::getId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<CompanyRelativityDO> getPageByReq(CompanyRelativityPageReqVO pageReqVO);
|
||||||
}
|
}
|
||||||
@@ -25,4 +25,5 @@ public interface ElementMapper extends BaseMapperX<ElementDO> {
|
|||||||
.orderByDesc(ElementDO::getId));
|
.orderByDesc(ElementDO::getId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String selectMaxCode();
|
||||||
}
|
}
|
||||||
@@ -83,7 +83,11 @@ public class CompanyRelativityServiceImpl implements CompanyRelativityService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<CompanyRelativityDO> getCompanyRelativityPage(CompanyRelativityPageReqVO pageReqVO) {
|
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());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -33,6 +33,17 @@ public class ElementServiceImpl implements ElementService {
|
|||||||
public ElementRespVO createElement(ElementSaveReqVO createReqVO) {
|
public ElementRespVO createElement(ElementSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
ElementDO element = BeanUtils.toBean(createReqVO, ElementDO.class);
|
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);
|
elementMapper.insert(element);
|
||||||
// 返回
|
// 返回
|
||||||
return BeanUtils.toBean(element, ElementRespVO.class);
|
return BeanUtils.toBean(element, ElementRespVO.class);
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
import com.zt.plat.framework.common.pojo.PageResult;
|
||||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
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.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.zt.plat.framework.tenant.core.context.CompanyContextHolder;
|
import com.zt.plat.framework.tenant.core.context.CompanyContextHolder;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.vo.*;
|
import com.zt.plat.module.base.controller.admin.templtp.vo.*;
|
||||||
|
|||||||
@@ -9,4 +9,23 @@
|
|||||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
文档可见: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>
|
</mapper>
|
||||||
@@ -9,4 +9,7 @@
|
|||||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<select id="selectMaxCode" resultType="java.lang.String">
|
||||||
|
SELECT MAX(coding) FROM element
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -118,7 +118,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
|
|||||||
String companykey = "erp" + OftenEnum.FuncnrEnum.公司代码.getFuncnr();
|
String companykey = "erp" + OftenEnum.FuncnrEnum.公司代码.getFuncnr();
|
||||||
Map<String,Long> redisCache = erpConfig.getRedisCacheMap(companykey);
|
Map<String,Long> redisCache = erpConfig.getRedisCacheMap(companykey);
|
||||||
if (CollUtil.isEmpty(redisCache)) {
|
if (CollUtil.isEmpty(redisCache)) {
|
||||||
return;
|
throw new RuntimeException("ERP公司代码缓存数据丢失,请重新同步公司代码");
|
||||||
}
|
}
|
||||||
for (String companyNumber : redisCache.keySet()) {
|
for (String companyNumber : redisCache.keySet()) {
|
||||||
req.put("BUKRS", companyNumber);
|
req.put("BUKRS", companyNumber);
|
||||||
|
|||||||
Reference in New Issue
Block a user