新增组织模板分页,组织模板配置接口

This commit is contained in:
yangsb
2024-04-01 17:18:10 +08:00
parent ac0193a3b3
commit a3a3fa79c8
15 changed files with 367 additions and 40 deletions
@@ -132,5 +132,19 @@ public class MachineTemplateController {
return success(machineTemplateService.authTemplatePage(page));
}
@PostMapping("org-auth-template")
@Operation(summary = "组织模板授权")
@PreAuthorize("@ss.hasPermission('machine-template::query')")
public CommonResult<Boolean> auth(@RequestBody MachineOrgAuthReq vo) {
return success(machineTemplateService.auth(vo));
}
@GetMapping("organ-template-page")
@Operation(summary = "组织模板授权分页列表")
@PreAuthorize("@ss.hasPermission('machine-template::query')")
public CommonResult<PageResult<OrganTemplateResp>> organTemplatePage(OrganTemplatePage page) {
return success(machineTemplateService.organTemplatePage(page));
}
}
@@ -0,0 +1,17 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author Beal
*/
@Data
public class AuthVO {
@Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
private Boolean showPriorFacing;
@Schema(description = "双工位")
private Boolean showDualWorkstation;
@Schema(description = "自动贴标")
private Boolean showAutoNotePrinter;
}
@@ -0,0 +1,19 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author Beal
*/
@Data
public class MachineAuth {
@Schema(description = "机台模板id")
private Long machineId;
@Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
private Boolean showPriorFacing;
@Schema(description = "双工位")
private Boolean showDualWorkstation;
@Schema(description = "自动贴标")
private Boolean showAutoNotePrinter;
}
@@ -0,0 +1,21 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @author Beal
*/
@Data
public class MachineOrgAuthReq {
@Schema(description = "组织id")
private Long organId;
@Schema(description = "权限列表")
private List<MachineAuth> machineAuthList;
}
@@ -0,0 +1,17 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author Beal
*/
@Data
public class OrganTemplatePage extends PageParam {
@Schema(description = "组织id")
private Long organId;
@Schema(description = "机台模板名称")
private String templateName;
}
@@ -0,0 +1,33 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
/**
* @author Beal
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrganTemplateResp {
@Schema(description = "组织id")
private Long organId;
@Schema(description = "组织名称")
private String organName;
@Schema(description = "更新时间")
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
private Date updateTime;
@Schema(description = "机台模板列表")
private List<OrganTemplateVO> authTemplateList;
}
@@ -0,0 +1,28 @@
package com.cf.imes.module.system.controller.admin.machine.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author Beal
*/
@Data
public class OrganTemplateVO {
@Schema(description = "机台模板id")
private Long templateId;
@Schema(description = "机台模板名称")
private String templateName;
@Schema(description = "机台模板类型")
private Integer machineType;
@Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
private Boolean showPriorFacing;
@Schema(description = "双工位")
private Boolean showDualWorkstation;
@Schema(description = "自动贴标")
private Boolean showAutoNotePrinter;
@JsonIgnore
private Long organId;
}
@@ -161,10 +161,10 @@ public class CuttingSettingDO extends ESDocument {
//高级设置
@Schema(description ="默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
@Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
private Boolean showPriorFacing;
@Schema(description = "双工位")
private Boolean dualWorkstation;
private Boolean showDualWorkstation;
@Schema(description = "自动贴标")
private Boolean showAutoNotePrinter;
@Schema(description = "排版方式")
@@ -239,7 +239,7 @@ public class CuttingSettingDO extends ESDocument {
@Schema(description = "默认false,启用自定义板件编号")
private Boolean allowBlockNo_Note;
private Boolean showAllowBlockNo_Note;
@Schema(description = "默认空,机台备注")
private String remark;
@@ -165,10 +165,10 @@ public class CuttingTemplateMachineDO extends ESDocument {
//高级设置
@Schema(description ="默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
@Schema(description ="加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置")
private Boolean showPriorFacing;
@Schema(description = "双工位")
private Boolean dualWorkstation;
private Boolean showDualWorkstation;
@Schema(description = "自动贴标")
private Boolean showAutoNotePrinter;
@Schema(description = "排版方式")
@@ -243,7 +243,7 @@ public class CuttingTemplateMachineDO extends ESDocument {
@Schema(description = "默认false,启用自定义板件编号")
private Boolean allowBlockNo_Note;
private Boolean showAllowBlockNo_Note;
@Schema(description = "默认空,机台备注")
private String remark;
@@ -0,0 +1,39 @@
package com.cf.imes.module.system.dal.dataobject.machinetemplate;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
/**
* @author Beal
*/
@Data
@TableName("system_organ_machine")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrganMachineDO {
@TableId
private Long id;
private Long organId;
private Long machineId;
private LocalDateTime createTime;
/**
* 加工模式 开料机加工模式 默认true,显示开料机工作模式(是否排钻/造型,sc)配置
*/
private Boolean showPriorFacing;
/**
* 双工位
*/
private Boolean showDualWorkstation;
/**
* 自动贴标
*/
private Boolean showAutoNotePrinter;
}
@@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplatePage;
import com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplateResp;
import com.cf.imes.module.system.controller.admin.machine.vo.AutoTemplateVO;
import com.cf.imes.module.system.controller.admin.machine.vo.MachinePageReqVO;
import com.cf.imes.module.system.controller.admin.machine.vo.*;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -35,4 +32,10 @@ public interface MachineTemplateMapper extends BaseMapperX<MachineTemplateDO> {
Page<AuthTemplateResp> selectAuthTemplatePage(@Param("page") IPage<AuthTemplateResp> authTemplateRespPage, @Param("vo") AuthTemplatePage page);
List<AutoTemplateVO> selectAuthTemplateList(Map<String, Object> map);
Page<OrganTemplateResp> selectOrganTemplatePage(@Param("page") Page<OrganTemplateResp> respPage, @Param("vo") OrganTemplatePage page);
List<OrganTemplateVO> selectOrganTemplateList(Map<String, Object> map);
Page<OrganTemplateResp> xxselectOrganTemplatePage(@Param("page") Page<OrganTemplateResp> respPage, @Param("vo") OrganTemplatePage page);
}
@@ -0,0 +1,10 @@
package com.cf.imes.module.system.dal.mysql.machinetemplate;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.OrganMachineDO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OrganMachineMapper extends BaseMapperX<OrganMachineDO> {
}
@@ -46,4 +46,8 @@ public interface MachineTemplateService {
Map<Integer, List<MachineTemplateDO>> getMachineTemplateTree();
PageResult<AuthTemplateResp> authTemplatePage(AuthTemplatePage page);
Boolean auth(MachineOrgAuthReq vo);
PageResult<OrganTemplateResp> organTemplatePage(OrganTemplatePage page);
}
@@ -26,9 +26,11 @@ import com.cf.imes.module.system.dal.dataobject.machine.UserMachineDO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.CuttingTemplateMachineDO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.DrillTemplateMachineDO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.OrganMachineDO;
import com.cf.imes.module.system.dal.dataobject.user.AdminUserDO;
import com.cf.imes.module.system.dal.mysql.machine.UserMachineMapper;
import com.cf.imes.module.system.dal.mysql.machinetemplate.MachineTemplateMapper;
import com.cf.imes.module.system.dal.mysql.machinetemplate.OrganMachineMapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -36,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -68,6 +71,9 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Resource
private MachineTemplateMapper machineTemplateMapper;
@Resource
private OrganMachineMapper organMachineMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createDrillTemplate(DrillTemplateSaveReqVO reqVO) {
@@ -103,7 +109,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public DrillTemplateRespVO getDirllTemplateById(Long id) {
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
if(Objects.isNull(templateDO)) {
if (Objects.isNull(templateDO)) {
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
DrillTemplateRespVO respVO = Convert.convert(DrillTemplateRespVO.class, templateDO);
@@ -115,13 +121,13 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public Boolean deleteDrillTemplate(Long id) {
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
if(Objects.isNull(templateDO)) {
if (Objects.isNull(templateDO)) {
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
// 删除
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder()
.index(DRILL_MACHINE_INX)
.query(b->b.term(t->t.field("templateId").value(templateDO.getId())));
.query(b -> b.term(t -> t.field("templateId").value(templateDO.getId())));
try {
elasticsearchClient.deleteByQuery(builder.build());
} catch (IOException e) {
@@ -135,14 +141,14 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public Boolean batchDeleteDrillTemplate(List<Long> ids) {
List<MachineTemplateDO> machineTemplateDOS = machineTemplateMapper.selectBatchIds(ids);
if(CollectionUtil.isEmpty(machineTemplateDOS)) {
if (CollectionUtil.isEmpty(machineTemplateDOS)) {
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
List<FieldValue> fieldValues = machineTemplateDOS.stream().map(e -> FieldValue.of(e.getId())).collect(Collectors.toList());
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder()
.index(DRILL_MACHINE_INX)
.query(TermsQuery.of(e-> e.field("templateId").terms(b->b.value(fieldValues)))._toQuery());
.query(TermsQuery.of(e -> e.field("templateId").terms(b -> b.value(fieldValues)))._toQuery());
try {
elasticsearchClient.deleteByQuery(builder.build());
} catch (IOException e) {
@@ -187,7 +193,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public CuttingTemplateRespVO getCuttingTemplateById(String id) {
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
if(Objects.isNull(templateDO)) {
if (Objects.isNull(templateDO)) {
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
CuttingTemplateRespVO respVO = Convert.convert(CuttingTemplateRespVO.class, templateDO);
@@ -199,14 +205,14 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public Boolean batchDeleteCuttingTemplate(List<Long> ids) {
List<MachineTemplateDO> machineTemplateDOS = machineTemplateMapper.selectBatchIds(ids);
if(CollectionUtil.isEmpty(machineTemplateDOS)) {
if (CollectionUtil.isEmpty(machineTemplateDOS)) {
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
List<FieldValue> fieldValues = machineTemplateDOS.stream().map(e -> FieldValue.of(e.getId())).collect(Collectors.toList());
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder()
.index(CUTTING_MACHINE_INX)
.query(TermsQuery.of(e-> e.field("templateId").terms(b->b.value(fieldValues)))._toQuery());
.query(TermsQuery.of(e -> e.field("templateId").terms(b -> b.value(fieldValues)))._toQuery());
try {
elasticsearchClient.deleteByQuery(builder.build());
} catch (IOException e) {
@@ -223,16 +229,16 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
.eq(MachineTemplateDO::getIsDefault, Boolean.TRUE)
.eq(MachineTemplateDO::getMachineType, 1)
);
if(CollectionUtil.isNotEmpty(machineTemplateDOS)) {
if(machineTemplateDOS.size() > 1) {
throw exception(DEFAULT_TEMPLATE_COUNT);
}
MachineTemplateDO templateDO = machineTemplateDOS.get(0);
CuttingTemplateRespVO respVO = Convert.convert(CuttingTemplateRespVO.class, templateDO);
Object o = buildResp(templateDO.getId(), CUTTING_MACHINE_INX, CuttingTemplateMachineDO.class);
respVO.setCuttingTemplateMachineDO((CuttingTemplateMachineDO) o);
return respVO;
}
if (CollectionUtil.isNotEmpty(machineTemplateDOS)) {
if (machineTemplateDOS.size() > 1) {
throw exception(DEFAULT_TEMPLATE_COUNT);
}
MachineTemplateDO templateDO = machineTemplateDOS.get(0);
CuttingTemplateRespVO respVO = Convert.convert(CuttingTemplateRespVO.class, templateDO);
Object o = buildResp(templateDO.getId(), CUTTING_MACHINE_INX, CuttingTemplateMachineDO.class);
respVO.setCuttingTemplateMachineDO((CuttingTemplateMachineDO) o);
return respVO;
}
throw exception(DEFAULT_TEMPLATE_COUNT);
}
@@ -242,8 +248,8 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
.eq(MachineTemplateDO::getIsDefault, Boolean.TRUE)
.eq(MachineTemplateDO::getMachineType, 2)
);
if(CollectionUtil.isNotEmpty(machineTemplateDOS)) {
if(machineTemplateDOS.size() > 1) {
if (CollectionUtil.isNotEmpty(machineTemplateDOS)) {
if (machineTemplateDOS.size() > 1) {
throw exception(DEFAULT_TEMPLATE_COUNT);
}
MachineTemplateDO templateDO = machineTemplateDOS.get(0);
@@ -265,20 +271,28 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public PageResult<AuthTemplateResp> authTemplatePage(AuthTemplatePage page) {
Page<AuthTemplateResp> respPage = new Page<>(page.getPageNo(), page.getPageSize());
Page<AuthTemplateResp> pageRes = machineTemplateMapper.selectAuthTemplatePage(respPage, page);
return new PageResult<>(pageRes.getRecords(),pageRes.getTotal());
Page<AuthTemplateResp> pageRes = machineTemplateMapper.selectAuthTemplatePage(respPage, page);
return new PageResult<>(pageRes.getRecords(), pageRes.getTotal());
}
@Override
public PageResult<OrganTemplateResp> organTemplatePage(OrganTemplatePage page) {
Page<OrganTemplateResp> respPage = new Page<>(page.getPageNo(), page.getPageSize());
Page<OrganTemplateResp> pageRes = machineTemplateMapper.xxselectOrganTemplatePage(respPage, page);
return new PageResult<>(pageRes.getRecords(), pageRes.getTotal());
}
@Override
public Boolean deleteCuttingTemplate(Long id) {
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
if(Objects.isNull(templateDO)) {
if (Objects.isNull(templateDO)) {
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
// 删除
DeleteByQueryRequest.Builder builder = new DeleteByQueryRequest.Builder()
.index(CUTTING_MACHINE_INX)
.query(b->b.term(t->t.field("templateId").value(templateDO.getId())));
.query(b -> b.term(t -> t.field("templateId").value(templateDO.getId())));
try {
elasticsearchClient.deleteByQuery(builder.build());
} catch (IOException e) {
@@ -289,15 +303,15 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
return Boolean.TRUE;
}
private Object buildResp(Long machineTemplateId, String index, Class <? extends ESDocument> clazz) {
private Object buildResp(Long machineTemplateId, String index, Class<? extends ESDocument> clazz) {
SearchRequest.Builder builder = new SearchRequest.Builder();
builder.index(index);
builder.query(q-> q.term(TermQuery.of(e->e.field("templateId").value( machineTemplateId))));
builder.query(q -> q.term(TermQuery.of(e -> e.field("templateId").value(machineTemplateId))));
SearchResponse<CuttingSettingDO> searchSetting = null;
try {
SearchResponse<?> search = elasticsearchClient.search(builder.build(), clazz);
List<? extends Hit<?>> hits = search.hits().hits();
if(CollectionUtil.isNotEmpty(hits)) {
if (CollectionUtil.isNotEmpty(hits)) {
Hit<?> hit = hits.get(0);
return hit.source();
}
@@ -313,7 +327,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Transactional(rollbackFor = Exception.class)
public Boolean auth(MachineAuthVO vo) {
userMachineMapper.delete(new LambdaQueryWrapperX<UserMachineDO>().eq(UserMachineDO::getUserId, vo.getUserId()));
if(CollectionUtil.isNotEmpty(vo.getMachinesIds())) {
if (CollectionUtil.isNotEmpty(vo.getMachinesIds())) {
ArrayList<UserMachineDO> userMachineDOS = new ArrayList<>();
for (Long machinesId : vo.getMachinesIds()) {
userMachineDOS.add(UserMachineDO.builder()
@@ -326,6 +340,36 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
return Boolean.TRUE;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean auth(MachineOrgAuthReq vo) {
organMachineMapper.delete(new LambdaQueryWrapperX<OrganMachineDO>().eq(OrganMachineDO::getOrganId, vo.getOrganId()));
List<MachineAuth> machineAuthList = vo.getMachineAuthList();
if(CollectionUtil.isNotEmpty(machineAuthList)) {
List<OrganMachineDO> organMachineDOS = new ArrayList<>();
LocalDateTime now = LocalDateTime.now();
for (MachineAuth machineAuth : machineAuthList) {
organMachineDOS.add(
OrganMachineDO.builder()
.createTime(now)
.organId(vo.getOrganId())
.machineId(machineAuth.getMachineId())
.showDualWorkstation(machineAuth.getShowDualWorkstation())
.showAutoNotePrinter(machineAuth.getShowAutoNotePrinter())
.showPriorFacing(machineAuth.getShowPriorFacing())
.build()
);
}
organMachineMapper.insertBatch(organMachineDOS);
}
return Boolean.TRUE;
}
/* @Override
public PageResult<CuttingMachineDO> pageCutting(PageParam pageParam) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
@@ -360,7 +404,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
}*/
@Override
public PageResult<MachineTemplateDO> page(MachinePageReqVO pageParam) {
public PageResult<MachineTemplateDO> page(MachinePageReqVO pageParam) {
/* LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
List<Long> machineIds = userMachineMapper.selectList(new LambdaQueryWrapperX<UserMachineDO>().eq(UserMachineDO::getUserId, loginUser.getId()))
.stream()
@@ -369,7 +413,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
if(CollectionUtil.isEmpty(machineIds)) {
return new PageResult<>();
}*/
return machineTemplateMapper.selectPage(pageParam, new ArrayList<>());
return machineTemplateMapper.selectPage(pageParam, new ArrayList<>());
}
@@ -13,6 +13,28 @@
</collection>
</resultMap>
<resultMap id="orgMap" type="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateResp">
<result property="organId" column="organId"/>
<result property="organName" column="organName"/>
<result property="updateTime" column="updateTime"/>
<collection property="authTemplateList" javaType="java.util.List" ofType="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateVO"
select="selectOrganTemplateList" column="{organId=organId, templateName = templateName}" notNullColumn="templateId" >
</collection>
</resultMap>
<resultMap id="xxMap" type="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateResp">
<result property="organId" column="organId"/>
<result property="organName" column="organName"/>
<result property="updateTime" column="updateTime"/>
<collection property="authTemplateList" javaType="java.util.List" ofType="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateVO"
select="selectOrganTemplateList" column="{organId=organId, templateName = templateName}" notNullColumn="templateId" >
</collection>
<!--<collection property="authTemplateList" javaType="java.util.List" ofType="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateVO">
<result property="templateName" column="templateName"/>
<result property="templateId" column="templateId"/>
</collection>-->
</resultMap>
<select id="selectAuthTemplatePage" resultMap="map" parameterType="com.cf.imes.module.system.controller.admin.machine.vo.AuthTemplatePage">
select a.id AS userId, a.nickname, a.organ_id, max(b.create_time) as updateTime, f.name as organName,
case when ('${vo.templateName}' != '') then '${vo.templateName}' else '' end as templateName
@@ -43,4 +65,60 @@
</if>
</where>
</select>
<select id="selectOrganTemplatePage" resultMap="orgMap">
select a.id as organId, a.name as organName, max(b.create_time) as updateTime,
case when ('${vo.templateName}' != '') then '${vo.templateName}' else '' end as templateName
from system_organization a, system_organ_machine b
<where>
a.id = b.organ_id
<if test="vo.organId != null">
and a.id = #{vo.organId}
</if>
</where>
GROUP BY organId
order by updateTime desc
</select>
<select id="selectOrganTemplateList"
resultType="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateVO">
select b.organ_id organId, b.show_prior_facing, b.show_dual_workstation, b.show_auto_note_printer,
c.name AS templateName, c.id AS templateId, c.machine_type
from system_organ_machine b
inner join system_machine_template c on b.machine_id = c.id and c.deleted = 0
<where>
b.organ_id = #{organId}
<if test="templateName != null and templateName != ''">
and c.name like concat('%',#{templateName},'%')
</if>
</where>
</select>
<select id="xxselectOrganTemplatePage" resultMap="xxMap">
select * from (
select a.id as organId, a.name as organName, max(b.create_time) as updateTime,
case when ('${vo.templateName}' != '') then '${vo.templateName}' else '' end as templateName
from system_organization a, system_organ_machine b
<where>
a.id = b.organ_id
<if test="vo.organId !=null">
and a.id = #{vo.organId}
</if>
</where>
GROUP BY organId
) t1
LEFT JOIN (
select b.organ_id t2_organId
from system_organ_machine b inner join system_machine_template c on b.machine_id = c.id and c.deleted = 0
<where>
<if test="vo.templateName !=null and vo.templateName !='' " >
c.name like concat('%',#{vo.templateName},'%')
</if>
</where>
) t2 on t1.organId = t2.t2_organId
where t2.t2_organId is not null
GROUP BY organId
order by updateTime desc
</select>
</mapper>