inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -5,6 +5,8 @@ import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.dto.InsOrderPlanDTO; import com.yuanchu.mom.pojo.InsOrderFile; import com.yuanchu.mom.service.InsOrderFileService; import com.yuanchu.mom.service.InsOrderPlanService; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; @@ -15,7 +17,9 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.util.HashMap; import java.util.Map; /** @@ -28,6 +32,8 @@ public class InsOrderPlanController { private InsOrderPlanService insOrderPlanService; private InsOrderFileService insOrderFileService; @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "è·åæ£éªä»»å¡å表") @@ -55,6 +61,7 @@ public Result claimInsOrderPlan(@RequestBody InsOrderPlanDTO data) { return Result.success(insOrderPlanService.claimInsOrderPlan(data)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ§è¡æ£éªæä½") @PostMapping("/doInsOrder") @@ -75,26 +82,70 @@ public Result<?> upPlanUser(Integer userId, Integer orderId) { return Result.success(insOrderPlanService.upPlanUser(userId, orderId)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "夿 ¸æ£éªä»»å¡") @PostMapping("/verifyPlan") public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) { return Result.success(insOrderPlanService.verifyPlan(orderId, laboratory, type, tell)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ ¡éªæ£éªä»»å¡æäº¤") @PostMapping("/checkSubmitPlan") public Result<?> checkSubmitPlan(Integer orderId, String laboratory) { return Result.success(insOrderPlanService.checkSubmitPlan(orderId, laboratory)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ£éªä»»å¡æäº¤") @PostMapping("/submitPlan") public Result<?> submitPlan(Integer orderId, String laboratory, Integer verifyUser) { int num = insOrderPlanService.submitPlan(orderId, laboratory, verifyUser); return num==1?Result.success():Result.fail("æäº¤å¤±è´¥ï¼é¨å项ç®è¿æªè¿è¡æ£éª"); return num == 1 ? Result.success() : Result.fail("æäº¤å¤±è´¥ï¼é¨å项ç®è¿æªè¿è¡æ£éª"); } @ApiOperation(value = "ä¿åæ£éªå 容") @PostMapping("/saveInsContext") @ValueAuth public Result<?> saveInsContext(String param){ public Result<?> saveInsContext(String param) { Map<String, Object> param2 = JSON.parseObject(param, Map.class); insOrderPlanService.saveInsContext(param2); return Result.success(); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ¥çæ£éªåä¸çéä»¶å表") @PostMapping("/getFileList") public Result<?> getFileList(@RequestBody Map<String, Object> data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); page.setOptimizeCountSql(false); InsOrderFile insOrderFile = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsOrderFile.class); return Result.success(insOrderPlanService.getFileList(page, insOrderFile)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "ä¸ä¼ éä»¶") @PostMapping("/uploadFile") public Result<?> uploadFile(Integer orderId, MultipartFile file) { return Result.success(insOrderPlanService.uploadFile(orderId, file)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "å é¤éä»¶") @PostMapping("/delfile") public Result<?> delfile(Integer id) { return Result.success(insOrderFileService.removeById(id)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "ä¸è½½éä»¶") @PostMapping("/downFile") public Result<?> downFile(Integer id) { InsOrderFile insOrderFile = insOrderFileService.getById(id); HashMap<String, Object> map = new HashMap<>(); map.put("type", insOrderFile.getType()); map.put("fileUrl", insOrderFile.getFileUrl()); return Result.success(map); } } inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.yuanchu.mom.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.pojo.InsOrderFile; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * æ£éªåä¸çéä»¶å表 Mapper æ¥å£ * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ public interface InsOrderFileMapper extends BaseMapper<InsOrderFile> { IPage<InsOrderFile> getFileList(Page page, QueryWrapper<InsOrderFile> ew); } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,68 @@ package com.yuanchu.mom.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import com.yuanchu.mom.annotation.ValueTableShow; import com.yuanchu.mom.common.OrderBy; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * æ£éªåä¸çéä»¶å表 * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ @Getter @Setter @TableName("ins_order_file") @ApiModel(value = "InsOrderFile对象", description = "æ£éªåä¸çéä»¶å表") public class InsOrderFile extends OrderBy implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("å ³è æ£éªåå¤é®id") private Integer insOrderId; @ApiModelProperty("ç±»å") @ValueTableShow(2) private Integer type; @ApiModelProperty("éä»¶è·¯å¾") private String fileUrl; @ApiModelProperty("éä»¶åç§°") @ValueTableShow(3) private String fileName; @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("ä¸ä¼ 人") @ValueTableShow(4) @TableField(exist = false, select = false) private String name; @TableField(fill = FieldFill.INSERT) @ApiModelProperty("ä¸ä¼ æ¶é´") @ValueTableShow(5) private LocalDateTime createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderFileService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.yuanchu.mom.service; import com.yuanchu.mom.pojo.InsOrderFile; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * æ£éªåä¸çéä»¶å表 æå¡ç±» * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ public interface InsOrderFileService extends IService<InsOrderFile> { } inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.dto.InsOrderPlanDTO; import com.yuanchu.mom.pojo.InsOrderFile; import com.yuanchu.mom.pojo.InsProduct; import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; @@ -29,4 +31,9 @@ List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory); List<String> checkSubmitPlan(Integer orderId, String laboratory); Map<String,Object> getFileList(Page page, InsOrderFile insOrderFile); int uploadFile(Integer orderId, MultipartFile file); } inspect-server/src/main/java/com/yuanchu/mom/service/InsUnPassService.java
@@ -1,7 +1,10 @@ package com.yuanchu.mom.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.yuanchu.mom.dto.UnPassPageDto; import com.yuanchu.mom.pojo.InsProductUser; import com.yuanchu.mom.pojo.InsUnPass; import java.util.Map; @@ -9,6 +12,7 @@ * @author æ±ä½³å * @date 2024/5/8 13:00 */ public interface InsUnPassService { public interface InsUnPassService extends IService<InsUnPass> { Map<String, Object> pageInsUnPass(Page page, UnPassPageDto unPassPageDto); } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderFileServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.yuanchu.mom.service.impl; import com.yuanchu.mom.pojo.InsOrderFile; import com.yuanchu.mom.mapper.InsOrderFileMapper; import com.yuanchu.mom.service.InsOrderFileService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * æ£éªåä¸çéä»¶å表 æå¡å®ç°ç±» * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ @Service public class InsOrderFileServiceImpl extends ServiceImpl<InsOrderFileMapper, InsOrderFile> implements InsOrderFileService { } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -3,6 +3,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.UUID; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; @@ -34,11 +35,13 @@ import com.yuanchu.mom.utils.QueryWrappers; import com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo; import com.yuanchu.mom.vo.InsOrderPlanVO; import com.yuanchu.mom.vo.Result; import org.apache.commons.io.IOUtils; import org.apache.poi.xwpf.usermodel.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.*; @@ -93,6 +96,9 @@ private InsProductUserMapper insProductUserMapper; @Resource private InsUnPassService insUnPassService; @Resource AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper; @Resource @@ -109,6 +115,9 @@ @Resource private InsBushingService insBushingService; @Resource private InsOrderFileMapper insOrderFileMapper; @Override public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) { @@ -175,7 +184,7 @@ @Override public List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory) { List<InsProduct> insProducts = new ArrayList<>(); switch (type){ switch (type) { case 0: insProducts = insSampleMapper.getInsProduct1(id, laboratory); break; @@ -191,6 +200,65 @@ if (BeanUtil.isEmpty(insProducts)) return null; getTemplateThing(set, map2, insProducts); return insProducts; } @Override public List<String> checkSubmitPlan(Integer orderId, String laboratory) { List<String> collect = new ArrayList<>(); List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getSonLaboratory, laboratory).eq(InsProduct::getState, 1).eq(InsProduct::getInsResult, 0)); if (insProducts.size() > 0) { collect = insProducts.stream().map(insProduct -> { return insProduct.getInspectionItem() + "-" + insProduct.getInspectionItemSubclass(); }).collect(Collectors.toList()); } return collect; } @Override public Map<String, Object> getFileList(Page page, InsOrderFile insOrderFile) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(InsOrderFile.class)); IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile)); map.put("body", insOrderFileIPage); return map; } @Override public int uploadFile(Integer orderId, MultipartFile file) { String urlString; String pathName; String path; String filename = file.getOriginalFilename(); String contentType = file.getContentType(); InsOrderFile insOrderFile = new InsOrderFile(); insOrderFile.setInsOrderId(orderId); insOrderFile.setFileName(filename); if (contentType != null && contentType.startsWith("image/")) { // æ¯å¾ç path = imgUrl; insOrderFile.setType(1); } else { // æ¯æä»¶ path = wordUrl; insOrderFile.setType(2); } try { File realpath = new File(path); if (!realpath.exists()) { realpath.mkdirs(); } pathName = UUID.randomUUID() + "_" + file.getOriginalFilename(); urlString = realpath + "/" + pathName; file.transferTo(new File(urlString)); insOrderFile.setFileUrl(pathName); return insOrderFileMapper.insert(insOrderFile); } catch (Exception e) { e.printStackTrace(); System.err.println("éä»¶ä¸ä¼ é误"); return 0; } } @Override @@ -368,6 +436,7 @@ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, now).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell).set(InsOrderState::getVerifyUser, getLook.selectPowerByMethodAndUserId(null).get("userId"))); Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, orderId).ne(InsOrderState::getInsState, 5)); if (count == 0 && num == 5) { List<InsUnPass> insUnPasses = new ArrayList<>(); /*æ ·åä¸ç项ç®åªè¦æä¸ä¸ªé¡¹ç®ä¸åæ ¼åæ£éªç»æä¸º0,å¦å为1*/ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); for (InsSample insSample : insSamples) { @@ -379,7 +448,25 @@ insSample.setInsResult(1); } insSampleMapper.updateById(insSample); /*夿 ¸éè¿åï¼å°ä¸åæ ¼ç项ç®ä¿¡æ¯æ·»å å°ins_un_pass表ä¸*/ for (InsProduct insProduct : insProducts) { if (insProduct.getInsResult() == 0) { InsUnPass insUnPass = new InsUnPass(); insUnPass.setModel(insSample.getModel()); insUnPass.setSample(insSample.getSample()); insUnPass.setInspectionItem(insProduct.getInspectionItem()); insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); insUnPass.setLastValue(insProduct.getLastValue()); insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode()); List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); insUnPass.setName(name); insUnPasses.add(insUnPass); } } insUnPassService.saveBatch(insUnPasses); } InsOrder insOrder = insOrderMapper.selectById(orderId); Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId()); List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId); @@ -398,7 +485,7 @@ AtomicReference<String> resultEn = new AtomicReference<>(""); samples.forEach(a -> { Long productCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, a.getId())); productSize.set(productSize.get()+Integer.parseInt(productCount+"")); productSize.set(productSize.get() + Integer.parseInt(productCount + "")); models.add(a.getModel()); standardMethod.add(baseMapper.getStandardMethodCode(a.getStandardMethodListId())); Set<String> templateSet = new HashSet<>(); @@ -536,8 +623,8 @@ textRenderData.setText("â"); break; case 0: resultCh.set(resultCh.get() + "ã" + p.getInspectionItem() + (Objects.equals(p.getInspectionItemSubclass(), "") ?"":" "+p.getInspectionItemSubclass())); resultEn.set(resultEn.get() + "ã" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "")||Objects.equals(p.getInspectionItemSubclassEn(), null)) ?"":" "+p.getInspectionItemSubclassEn())); resultCh.set(resultCh.get() + "ã" + p.getInspectionItem() + (Objects.equals(p.getInspectionItemSubclass(), "") ? "" : " " + p.getInspectionItemSubclass())); resultEn.set(resultEn.get() + "ã" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn())); textRenderData.setText("Ã"); break; default: @@ -574,8 +661,8 @@ textRenderData.setText("â"); break; case 0: resultCh.set(resultCh.get() + "ã" + p.getInspectionItem() + (p.getInspectionItemSubclass().equals("")?"":" "+p.getInspectionItemSubclass())); resultEn.set(resultEn.get() + "ã" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "")||Objects.equals(p.getInspectionItemSubclassEn(), null)) ?"":" "+p.getInspectionItemSubclassEn())); resultCh.set(resultCh.get() + "ã" + p.getInspectionItem() + (p.getInspectionItemSubclass().equals("") ? "" : " " + p.getInspectionItemSubclass())); resultEn.set(resultEn.get() + "ã" + p.getInspectionItemEn() + ((Objects.equals(p.getInspectionItemSubclassEn(), "") || Objects.equals(p.getInspectionItemSubclassEn(), null)) ? "" : " " + p.getInspectionItemSubclassEn())); textRenderData.setText("â"); break; default: @@ -610,7 +697,7 @@ } TextRenderData[] text2 = text.toArray(new TextRenderData[0]); rowRenderData = Rows.of(text2).rowAtleastHeight(1).center().create(); if(rowRenderData.getCells().size()!=0){ if (rowRenderData.getCells().size() != 0) { rows.add(rowRenderData); } TableRenderData tableRenderData = new TableRenderData(); @@ -621,7 +708,7 @@ System.out.print(cell.getParagraphs().get(0).getContents()); } System.out.println("");*/ if(row.getCells().size()!=countSize){ if (row.getCells().size() != countSize) { throw new ErrorException("æ¯è¡åå æ ¼ä¸ç¸ç"); } } @@ -699,13 +786,14 @@ throw new ErrorException("æ¾ä¸å°æ£éªäººçç¾å"); } Custom custom = customMapper.selectById(user.get("company")); if(!resultCh.get().equals("")){ resultCh.set("便®å§æè¦æ±ï¼"+resultCh.get().replaceFirst("ã", "")+"çææ£é¡¹ç®ä¸ç¬¦åè¦æ±ï¼å ¶ä½ææ£é¡¹ç®å符åè¦æ±ã"); resultEn.set("According to commissioned requirements,"+resultEn.get().replaceFirst("ã", "")+" these inspected items do not meet the requirements, all other inspected items meet the requirements."); }else{ if (!resultCh.get().equals("")) { resultCh.set("便®å§æè¦æ±ï¼" + resultCh.get().replaceFirst("ã", "") + "çææ£é¡¹ç®ä¸ç¬¦åè¦æ±ï¼å ¶ä½ææ£é¡¹ç®å符åè¦æ±ã"); resultEn.set("According to commissioned requirements," + resultEn.get().replaceFirst("ã", "") + " these inspected items do not meet the requirements, all other inspected items meet the requirements."); } else { resultCh.set("便®å§æè¦æ±ï¼ææ£é¡¹ç®å符åè¦æ±ã"); resultEn.set("According to commissioned requirements, all the tested items meet the requirements."); } XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( new HashMap<String, Object>() {{ put("order", insOrder); @@ -849,7 +937,7 @@ int count = 0; for (InsProduct product : insProducts) { count++; str += "<br/>"+count + "ï¼" +product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>"; str += "<br/>" + count + "ï¼" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>"; } throw new ErrorException("<strong>åå¨å¾ æ£éªç项ç®ï¼</strong><br/>" + str); } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsUnPassServiceImpl.java
@@ -22,10 +22,12 @@ */ @Service public class InsUnPassServiceImpl extends ServiceImpl<InsUnPassMapper, InsUnPass> implements InsUnPassService { @Resource private GetLook getLook; @Resource private InsUnPassMapper insUnPassMapper; @Override public Map<String, Object> pageInsUnPass(Page page, UnPassPageDto unPassPageDto) { Map<String, Object> map = new HashMap<>(); inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ <?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.yuanchu.mom.mapper.InsOrderFileMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderFile"> <id column="id" property="id"/> <result column="ins_order_id" property="insOrderId"/> <result column="type" property="type"/> <result column="file_url" property="fileUrl"/> <result column="file_name" property="fileName"/> <result column="create_user" property="createUser"/> <result column="create_time" property="createTime"/> <result column="update_user" property="updateUser"/> <result column="update_time" property="updateTime"/> </resultMap> <select id="getFileList" resultType="com.yuanchu.mom.pojo.InsOrderFile"> select A.* from (select iof.*, name from ins_order_file iof left join user u on iof.create_user = u.id) A <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> </mapper>