Commit a17332c9 by huluobin

美甲师作品

parent 6e009a58
...@@ -2,14 +2,12 @@ package com.gogirl.application.store.store; ...@@ -2,14 +2,12 @@ package com.gogirl.application.store.store;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.store.career.Career; import com.gogirl.domain.store.career.Career;
import com.gogirl.domain.store.career.Works; import com.gogirl.domain.store.career.Works;
import com.gogirl.domain.store.training.TrainingStartClass; import com.gogirl.domain.store.training.TrainingStartClass;
import com.gogirl.shared.store.SignUpTrainingCommand; import com.gogirl.shared.store.*;
import com.gogirl.shared.store.SubmitFeedbackCommand;
import com.gogirl.shared.store.SubmitWorksCommand;
import com.gogirl.shared.store.TrainingStartClassQuery;
import com.gogirl.shared.store.WorksQuery;
public interface CareerCmdService { public interface CareerCmdService {
/** /**
...@@ -52,8 +50,19 @@ public interface CareerCmdService { ...@@ -52,8 +50,19 @@ public interface CareerCmdService {
/** /**
* 查询 * 查询
*
* @param technicianId * @param technicianId
* @return * @return
*/ */
Career career(Integer technicianId); Career career(Integer technicianId);
/**
* 获取需要打板的款式
*
* @param technicianId
* @param pageNum
* @param pageSize
* @return
*/
Page<BaseProduce> queryWorkTpl(Integer technicianId, Integer pageNum, Integer pageSize, String searchKeyWord);
} }
...@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gogirl.application.store.store.CareerCmdService; import com.gogirl.application.store.store.CareerCmdService;
import com.gogirl.application.store.store.WorksImagesService; import com.gogirl.application.store.store.WorksImagesService;
import com.gogirl.domain.product.purchase.PurchaseSku;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.store.career.Career; import com.gogirl.domain.store.career.Career;
import com.gogirl.domain.store.career.Works; import com.gogirl.domain.store.career.Works;
import com.gogirl.domain.store.career.WorksImages; import com.gogirl.domain.store.career.WorksImages;
...@@ -13,6 +15,8 @@ import com.gogirl.domain.store.training.TrainingStartClass; ...@@ -13,6 +15,8 @@ import com.gogirl.domain.store.training.TrainingStartClass;
import com.gogirl.domain.store.training.TrainingStartClassLogTechnician; import com.gogirl.domain.store.training.TrainingStartClassLogTechnician;
import com.gogirl.infrastructure.common.exception.RRException; import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.common.util.ListUtil; import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuMapper;
import com.gogirl.infrastructure.mapper.product.serve.BaseProduceMapper;
import com.gogirl.infrastructure.mapper.store.career.CareerMapper; import com.gogirl.infrastructure.mapper.store.career.CareerMapper;
import com.gogirl.infrastructure.mapper.store.career.WorksImagesMapper; import com.gogirl.infrastructure.mapper.store.career.WorksImagesMapper;
import com.gogirl.infrastructure.mapper.store.career.WorksMapper; import com.gogirl.infrastructure.mapper.store.career.WorksMapper;
...@@ -20,11 +24,7 @@ import com.gogirl.infrastructure.mapper.store.training.TrainingCourseMapper; ...@@ -20,11 +24,7 @@ import com.gogirl.infrastructure.mapper.store.training.TrainingCourseMapper;
import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassLogTechnicianMapper; import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassLogTechnicianMapper;
import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassMapper; import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassMapper;
import com.gogirl.infrastructure.util.SessionUtils; import com.gogirl.infrastructure.util.SessionUtils;
import com.gogirl.shared.store.SignUpTrainingCommand; import com.gogirl.shared.store.*;
import com.gogirl.shared.store.SubmitFeedbackCommand;
import com.gogirl.shared.store.SubmitWorksCommand;
import com.gogirl.shared.store.TrainingStartClassQuery;
import com.gogirl.shared.store.WorksQuery;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -44,12 +44,19 @@ public class CareerCmdServiceImpl implements CareerCmdService { ...@@ -44,12 +44,19 @@ public class CareerCmdServiceImpl implements CareerCmdService {
private final WorksMapper worksMapper; private final WorksMapper worksMapper;
private final WorksImagesService worksImagesService; private final WorksImagesService worksImagesService;
private final PurchaseSkuMapper purchaseSkuMapper;
private final BaseProduceMapper baseProduceMapper;
@Override @Override
public void submitWorks(SubmitWorksCommand cmd) { public void submitWorks(SubmitWorksCommand cmd) {
Works works = new Works(); Works works = new Works();
works.setCreateTime(System.currentTimeMillis()); works.setCreateTime(System.currentTimeMillis());
works.setRemarks(cmd.getRemarks()); works.setRemarks(cmd.getRemarks());
works.setTechnicianId(cmd.getTechnicianId()); works.setTechnicianId(cmd.getTechnicianId());
works.setProduceId(cmd.getProduceId());
BaseProduce baseProduce = baseProduceMapper.selectById(works.getProduceId());
works.setProduceName(baseProduce.getName());
worksMapper.insert(works); worksMapper.insert(works);
List<WorksImages> worksImagesList = cmd.getImageUrlList() List<WorksImages> worksImagesList = cmd.getImageUrlList()
...@@ -176,4 +183,25 @@ public class CareerCmdServiceImpl implements CareerCmdService { ...@@ -176,4 +183,25 @@ public class CareerCmdServiceImpl implements CareerCmdService {
} }
return career; return career;
} }
@Override
public Page<BaseProduce> queryWorkTpl(Integer technicianId, Integer pageNum, Integer pageSize, String searchKeyWord) {
Page<BaseProduce> baseProducePage = new Page<>(pageNum, pageSize);
baseProducePage = careerMapper.queryWorkTpl(baseProducePage, technicianId, searchKeyWord);
List<PurchaseSku> purchaseSkuList = purchaseSkuMapper.listByProduceIds(baseProducePage.getRecords().stream().map(BaseProduce::getId).collect(Collectors.toList()));
Map<Integer, List<PurchaseSku>> map = purchaseSkuList.stream()
.collect(Collectors.groupingBy(PurchaseSku::getProduceId));
baseProducePage.getRecords().forEach(baseProduce -> {
List<PurchaseSku> list = map.get(baseProduce.getId());
if (ListUtil.isNotEmpty(list)) {
baseProduce.setPurchaseSkuList(purchaseSkuList);
}
});
return baseProducePage;
}
} }
package com.gogirl.domain.product.purchase; package com.gogirl.domain.product.purchase;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -150,4 +151,12 @@ public class PurchaseSku implements Serializable { ...@@ -150,4 +151,12 @@ public class PurchaseSku implements Serializable {
@ApiModelProperty("颜色id") @ApiModelProperty("颜色id")
private Integer colorId; private Integer colorId;
@TableField(exist = false)
@ApiModelProperty("款式对应的采购sku类型 1 = 色胶;n2 = 饰品")
private Integer produceSkuType;
@TableField(exist = false)
@ApiModelProperty("款式的id")
private Integer produceId;
} }
...@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.IdType; ...@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.gogirl.domain.product.purchase.PurchaseSku;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
...@@ -61,7 +63,6 @@ public class BaseProduce implements Serializable { ...@@ -61,7 +63,6 @@ public class BaseProduce implements Serializable {
@ApiModelProperty("服务市场") @ApiModelProperty("服务市场")
private Integer serviceDuration; private Integer serviceDuration;
@TableField(exist = false) @TableField(exist = false)
private PraiseRecord praiseRecord; private PraiseRecord praiseRecord;
...@@ -83,4 +84,9 @@ public class BaseProduce implements Serializable { ...@@ -83,4 +84,9 @@ public class BaseProduce implements Serializable {
private BigDecimal promotionPrice; private BigDecimal promotionPrice;
private String practice; private String practice;
private Integer isWorkTpl;
@TableField(exist = false)
private List<PurchaseSku> purchaseSkuList;
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -24,8 +25,17 @@ public class Works { ...@@ -24,8 +25,17 @@ public class Works {
@TableField(exist = false) @TableField(exist = false)
Set<WorksImages> worksImagesList; Set<WorksImages> worksImagesList;
private Long createTime; private Long createTime;
private String remarks; private String remarks;
private Integer technicianId; private Integer technicianId;
@ApiModelProperty("美甲作品对应的款式")
private Integer produceId;
@ApiModelProperty("美甲作品对应的款式名称")
private String produceName;
} }
...@@ -68,14 +68,19 @@ public class TakeLeaveEvent { ...@@ -68,14 +68,19 @@ public class TakeLeaveEvent {
@ApiModelProperty("处理中的美甲师id") @ApiModelProperty("处理中的美甲师id")
private Integer dealingTechnicianId; private Integer dealingTechnicianId;
@ApiModelProperty("处理中的美甲师姓名") @ApiModelProperty("处理中的美甲师姓名")
private String dealingTechnicianName; private String dealingTechnicianName;
@ApiModelProperty("1-待审批 2-审批通过 3-审批拒绝") @ApiModelProperty("1-待审批 2-审批通过 3-审批拒绝")
private Integer status; private Integer status;
@ApiModelProperty("创建时间")
private Long createTime; private Long createTime;
@ApiModelProperty("附件地址")
private String annexUrl;
@TableField(exist = false) @TableField(exist = false)
private StoreTechnician applyStoreTechnicianDTO; private StoreTechnician applyStoreTechnicianDTO;
......
...@@ -39,4 +39,12 @@ public interface PurchaseSkuMapper extends BaseMapper<PurchaseSku> { ...@@ -39,4 +39,12 @@ public interface PurchaseSkuMapper extends BaseMapper<PurchaseSku> {
* @return * @return
*/ */
List<PurchaseSkuPOI> purchaseSkuExcel(); List<PurchaseSkuPOI> purchaseSkuExcel();
/**
* 获取款式id对应的采购sku
* @param list
* @return
*/
List<PurchaseSku> listByProduceIds(List<Integer> list);
} }
package com.gogirl.infrastructure.mapper.store.career; package com.gogirl.infrastructure.mapper.store.career;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.store.career.Career; import com.gogirl.domain.store.career.Career;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -97,4 +99,15 @@ public interface CareerMapper extends BaseMapper<Career> { ...@@ -97,4 +99,15 @@ public interface CareerMapper extends BaseMapper<Career> {
* @return * @return
*/ */
Double queryMonthPraisePercent(@Param("id") Integer id, @Param("month") String month); Double queryMonthPraisePercent(@Param("id") Integer id, @Param("month") String month);
/**
* 查询美甲作品打板
*
* @param baseProducePage
* @param technicianId
* @return
*/
Page<BaseProduce> queryWorkTpl(@Param("page") Page<BaseProduce> baseProducePage,
@Param("technicianId") Integer technicianId,
@Param("searchKeyWord") String searchKeyWord);
} }
...@@ -5,10 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,10 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gogirl.application.store.store.CareerCmdService; import com.gogirl.application.store.store.CareerCmdService;
import com.gogirl.application.store.store.StoreDataService; import com.gogirl.application.store.store.StoreDataService;
import com.gogirl.application.xcx.GogirlTokenService;
import com.gogirl.assembler.TrainingStartClassDTOAssembler; import com.gogirl.assembler.TrainingStartClassDTOAssembler;
import com.gogirl.assembler.WorksAssembler; import com.gogirl.assembler.WorksAssembler;
import com.gogirl.domain.order.serve.OrderServe; import com.gogirl.domain.order.serve.OrderServe;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.store.career.Career; import com.gogirl.domain.store.career.Career;
import com.gogirl.domain.store.career.Works; import com.gogirl.domain.store.career.Works;
import com.gogirl.domain.store.store.StoreData; import com.gogirl.domain.store.store.StoreData;
...@@ -21,10 +21,8 @@ import com.gogirl.domain.user.customer.CustomerBalanceRecord; ...@@ -21,10 +21,8 @@ import com.gogirl.domain.user.customer.CustomerBalanceRecord;
import com.gogirl.infrastructure.common.base.JsonResult; import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.util.ListUtil; import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper; import com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper;
import com.gogirl.infrastructure.mapper.store.store.StoreDataMapper;
import com.gogirl.infrastructure.mapper.store.store.TechnicianScoreMapper; import com.gogirl.infrastructure.mapper.store.store.TechnicianScoreMapper;
import com.gogirl.infrastructure.mapper.store.training.SkillSkuMapper; import com.gogirl.infrastructure.mapper.store.training.SkillSkuMapper;
import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassLogMapper;
import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassLogTechnicianMapper; import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassLogTechnicianMapper;
import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassMapper; import com.gogirl.infrastructure.mapper.store.training.TrainingStartClassMapper;
import com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceRecordMapper; import com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceRecordMapper;
...@@ -35,7 +33,6 @@ import io.swagger.annotations.ApiOperation; ...@@ -35,7 +33,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -47,9 +44,7 @@ import java.util.stream.Collectors; ...@@ -47,9 +44,7 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
public class CareerController { public class CareerController {
private final GogirlTokenService gogirlTokenService;
private final TrainingStartClassLogMapper trainingStartClassLogMapper;
private final TechnicianScoreMapper technicianScoreMapper; private final TechnicianScoreMapper technicianScoreMapper;
private final TrainingStartClassLogTechnicianMapper trainingStartClassLogTechnicianMapper; private final TrainingStartClassLogTechnicianMapper trainingStartClassLogTechnicianMapper;
private final SkillSkuMapper skillSkuMapper; private final SkillSkuMapper skillSkuMapper;
...@@ -57,7 +52,6 @@ public class CareerController { ...@@ -57,7 +52,6 @@ public class CareerController {
private final CareerCmdService careerCmdService; private final CareerCmdService careerCmdService;
private final StoreDataMapper storeDataMapper;
private final OrderServeMapper orderServeMapper; private final OrderServeMapper orderServeMapper;
private final CustomerBalanceRecordMapper customerBalanceRecordMapper; private final CustomerBalanceRecordMapper customerBalanceRecordMapper;
...@@ -71,14 +65,26 @@ public class CareerController { ...@@ -71,14 +65,26 @@ public class CareerController {
return JsonResult.success(); return JsonResult.success();
} }
@ApiOperation("获取美甲师需要打板的款式")
@GetMapping("/technician/career/queryWorkTpl")
public JsonResult<Page<BaseProduce>> queryWorkTpl(@RequestHeader String token,
@RequestParam Integer pageNum,
@RequestParam Integer pageSize,
@RequestParam String searchKeyWord) {
Integer technicianId = SessionUtils.getTechnicianId();
Page<BaseProduce> baseProduceList = careerCmdService.queryWorkTpl(technicianId, pageNum, pageSize, searchKeyWord);
return JsonResult.success(baseProduceList);
}
@ApiOperation(("查询美甲师作品")) @ApiOperation(("查询美甲师作品"))
@PostMapping("/technician/career/queryWorks") @PostMapping("/technician/career/queryWorks")
public JsonResult<Page<WorksDTO>> queryWorks(@RequestHeader String token, public JsonResult<Page<Works>> queryWorks(@RequestHeader String token,
@RequestBody WorksQuery qry) throws ParseException { @RequestBody WorksQuery qry) {
Integer technicianId = SessionUtils.getTechnicianId(); Integer technicianId = SessionUtils.getTechnicianId();
qry.setTechnicianId(technicianId); qry.setTechnicianId(technicianId);
IPage<Works> worksIPage = careerCmdService.queryWorks(qry); IPage<Works> worksIPage = careerCmdService.queryWorks(qry);
return JsonResult.success((Page<WorksDTO>) worksIPage.convert(worksAssembler)); return JsonResult.success((Page<Works>) worksIPage);
} }
private final WorksAssembler worksAssembler; private final WorksAssembler worksAssembler;
......
...@@ -14,21 +14,31 @@ public class ApplyTakeLeaveCommand { ...@@ -14,21 +14,31 @@ public class ApplyTakeLeaveCommand {
@ApiModelProperty("如果申请调休要写这个字段") @ApiModelProperty("如果申请调休要写这个字段")
List<OverTimeLogCommand> overTimeLogCommandList; List<OverTimeLogCommand> overTimeLogCommandList;
@ApiModelProperty("请假美甲师id") @ApiModelProperty("请假美甲师id")
private Integer applyTechnicianId; private Integer applyTechnicianId;
@ApiModelProperty("1-加班 2-调休 3-事假 4-病假 5-外出 6-婚假") @ApiModelProperty("1-加班 2-调休 3-事假 4-病假 5-外出 6-婚假")
private Integer type; private Integer type;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("开始时间") @ApiModelProperty("开始时间")
private Date startTime; private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("结束时间") @ApiModelProperty("结束时间")
private Date endTime; private Date endTime;
@ApiModelProperty("请假时长") @ApiModelProperty("请假时长")
private BigDecimal timeLength; private BigDecimal timeLength;
@ApiModelProperty("申请理由") @ApiModelProperty("申请理由")
private String applyReason; private String applyReason;
@ApiModelProperty("处理中的美甲师id") @ApiModelProperty("处理中的美甲师id")
private Integer dealingTechnicianId; private Integer dealingTechnicianId;
@ApiModelProperty("附件地址")
private String annexUrl;
} }
package com.gogirl.shared.store; package com.gogirl.shared.store;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@Data @Data
public class SubmitWorksCommand { public class SubmitWorksCommand {
@ApiModelProperty("完成时间 如60分钟")
@NotNull
private String remarks; private String remarks;
@ApiModelProperty("美甲师id")
private Integer technicianId; private Integer technicianId;
//
// @ApiModelProperty("完成时间 单位分钟")
// private Integer duration;
private List<String> imageUrlList; private List<String> imageUrlList;
@NotNull
private Integer produceId;
} }
...@@ -32,5 +32,13 @@ ...@@ -32,5 +32,13 @@
LEFT JOIN purchase_sku_type t2 on t1.sku_type = t2.id LEFT JOIN purchase_sku_type t2 on t1.sku_type = t2.id
</select> </select>
<select id="listByProduceIds" resultType="com.gogirl.domain.product.purchase.PurchaseSku">
SELECT t1.produce_id,t1.type produce_sku_type,t2.* from base_produce_sku t1
LEFT JOIN purchase_sku t2 on t1.purchase_sku_id = t2.id
where t1.produce_id in
<foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
</select>
</mapper> </mapper>
...@@ -105,5 +105,15 @@ ...@@ -105,5 +105,15 @@
and finish_time &gt; #{month} and finish_time &gt; #{month}
) )
</select> </select>
<select id="queryWorkTpl" resultType="com.gogirl.domain.product.serve.BaseProduce">
SELECT t1.*
from base_produce t1
LEFT JOIN career_works t2 on t1.id = t2.produce_id and t2.technician_id = #{technicianId}
<if test="searchKeyWord != null and searchKeyWord != ''">
and t1.`name` like concat('%',#{searchKeyWord},'%')
</if>
where t1.is_work_tpl = 1
and t2.id is null
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment