维修管理优化
This commit is contained in:
parent
dd0dc21126
commit
0f582a0d68
|
|
@ -194,7 +194,9 @@ public class StoreLogAspect {
|
|||
.collect(Collectors.joining(","));
|
||||
bmStorageLog.setMaCode(maCode);
|
||||
bmStorageLog.setInputType(InputOutEnum.CODE_DEVICE.getTypeId());
|
||||
bmStorageLog.setManageType(String.valueOf(InputOutEnum.CODE_DEVICE.getTypeId()));
|
||||
} else {
|
||||
bmStorageLog.setManageType(String.valueOf(InputOutEnum.NUMBER_DEVICE.getTypeId()));
|
||||
bmStorageLog.setInNum(purchaseDto.getInputNum());
|
||||
bmStorageLog.setInputType(InputOutEnum.NUMBER_DEVICE.getTypeId());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -592,7 +592,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
|||
.map(BackApplyInfo::getTypeId).distinct()
|
||||
.collect(Collectors.toList());
|
||||
// 插入任务表
|
||||
Long newTaskId = insertTt(SecurityUtils.getUsername());
|
||||
Long newTaskId = insertTt(SecurityUtils.getUsername(), backApplyInfo.getRemark(), backApplyInfo.getTaskId());
|
||||
// 插入协议任务表
|
||||
result += insertTta(newTaskId, applyInfoList);
|
||||
for (String typeId : typeIdList) {
|
||||
|
|
@ -1146,7 +1146,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
|||
* @param createBy
|
||||
* @return
|
||||
*/
|
||||
private Long insertTt(String createBy) {
|
||||
private Long insertTt(String createBy, String remark, Long preTaskId) {
|
||||
Long newTask = null;
|
||||
int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId());
|
||||
// 生成维修单号
|
||||
|
|
@ -1154,6 +1154,8 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
|||
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId(), BackTaskStatusEnum.BACK_TASK_NO_FINISHED.getStatus(),
|
||||
null,thisMonthMaxOrder + 1, code);
|
||||
tmTask.setCreateTime(DateUtils.getNowDate());
|
||||
tmTask.setRemark(remark);
|
||||
tmTask.setPreTaskId(preTaskId);
|
||||
tmTask.setCreateBy(createBy);
|
||||
// 插入任务
|
||||
int taskId = taskMapper.insertTmTask(tmTask);
|
||||
|
|
|
|||
|
|
@ -87,6 +87,24 @@ public class PurchaseCheckInfo extends BaseEntity {
|
|||
@ApiModelProperty(value = "采购数量--外层Table字段")
|
||||
private BigDecimal purchaseMaNumber;
|
||||
|
||||
/**
|
||||
* 验收数量
|
||||
*/
|
||||
@ApiModelProperty(value = "验收数量--外层Table字段")
|
||||
private BigDecimal checkMaNumber;
|
||||
|
||||
/**
|
||||
* 绑定数量
|
||||
*/
|
||||
@ApiModelProperty(value = "绑定数量--外层Table字段")
|
||||
private BigDecimal bindMaNumber;
|
||||
|
||||
@ApiModelProperty(value = "入库数量--外层Table字段")
|
||||
private BigDecimal inputMaNumber;
|
||||
|
||||
@ApiModelProperty(value = "待入库数量--外层Table字段")
|
||||
private BigDecimal waitInputNumber;
|
||||
|
||||
/**
|
||||
* 采购单价(不含税)
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
|||
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> !(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType()) &&
|
||||
(o.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND.getStatus()) || o.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus())))).collect(Collectors.toList());
|
||||
OptionalInt minStatus = purchaseCheckDetails.stream().mapToInt(PurchaseCheckDetails::getStatus).min();
|
||||
|
||||
if (isAllowPartTransfer) {
|
||||
if (!CollectionUtils.isEmpty(purchaseQueryDto.getStatusList())) {
|
||||
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> purchaseQueryDto.getStatusList().contains(o.getStatus())).collect(Collectors.toList());
|
||||
|
|
@ -152,7 +153,10 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
|||
purchaseInfo.setPurchaseMaTypeName(purchaseCheckDetailsMapper.selectMaTypeNameByTaskAndStatusList(purchaseInfo.getTaskId(), new ArrayList<>()));
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(purchaseCheckDetails)) {
|
||||
BigDecimal purchaseMaTotalNumber = new BigDecimal("0");
|
||||
BigDecimal purchaseMaTotalNumber = BigDecimal.ZERO;
|
||||
BigDecimal checkMaTotalNumber = BigDecimal.ZERO;
|
||||
BigDecimal bindMaTotalNumber = BigDecimal.ZERO;
|
||||
BigDecimal inputMaTotalNumber = BigDecimal.ZERO;
|
||||
AtomicReference<BigDecimal> purchaseMaTotalPrice = new AtomicReference<>(BigDecimal.ZERO);
|
||||
for (PurchaseCheckDetails detail : purchaseCheckDetails) {
|
||||
if (detail.getPurchaseNum() == null || detail.getPurchasePrice() == null) {
|
||||
|
|
@ -162,11 +166,18 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
|||
throw new IllegalArgumentException("采购数量和价格必须为非负数");
|
||||
}
|
||||
// 更新 purchaseMaTotalNumber
|
||||
purchaseMaTotalNumber = purchaseMaTotalNumber.add(detail.getPurchaseNum());
|
||||
purchaseMaTotalNumber = purchaseMaTotalNumber.add(Optional.of(detail.getPurchaseNum()).orElse(BigDecimal.ZERO));
|
||||
checkMaTotalNumber = checkMaTotalNumber.add(Optional.ofNullable(detail.getCheckNum()).orElse(BigDecimal.ZERO));
|
||||
bindMaTotalNumber = bindMaTotalNumber.add(Optional.ofNullable(detail.getBindNum()).orElse(BigDecimal.ZERO));
|
||||
inputMaTotalNumber = inputMaTotalNumber.add(Optional.ofNullable(detail.getInputNum()).orElse(BigDecimal.ZERO));
|
||||
purchaseMaTotalPrice.updateAndGet(v -> v.add(detail.getPurchaseNum().multiply(detail.getPurchasePrice())));
|
||||
}
|
||||
purchaseInfo.setPurchaseMaNumber(purchaseMaTotalNumber);
|
||||
purchaseInfo.setPurchasePrice(purchaseMaTotalPrice.get());
|
||||
purchaseInfo.setBindMaNumber(bindMaTotalNumber);
|
||||
purchaseInfo.setCheckMaNumber(checkMaTotalNumber);
|
||||
purchaseInfo.setInputMaNumber(inputMaTotalNumber);
|
||||
purchaseInfo.setWaitInputNumber(Optional.of(purchaseMaTotalNumber).orElse(BigDecimal.ZERO).subtract(Optional.of(inputMaTotalNumber).orElse(BigDecimal.ZERO)));
|
||||
if (purchaseInfo.getTaxRate() != null && purchaseInfo.getPurchasePrice() != null) {
|
||||
purchaseInfo.setPurchaseTaxPrice(calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseInfo.getTaxRate()));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import java.math.BigDecimal;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -233,6 +234,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
}
|
||||
dto.setTypeId(purchaseDto.getTypeId());
|
||||
result += purchaseStorageMapper.insertMachine(dto);
|
||||
purchaseStorageMapper.updateStorageNum(BigDecimal.ONE, dto.getTypeId());
|
||||
List<PurchaseCheckDetails> list = purchaseBindMapper.getMachineById(purchaseDto);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE.getStatus(), Integer.parseInt(purchaseDto.getPurchaseId()));
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@ public interface RepairMapper {
|
|||
*/
|
||||
List<RepairTask> getRepairTaskList(RepairTask bean);
|
||||
|
||||
/**
|
||||
* 根据任务id 查询已操作数量(已维修+已报废)
|
||||
*/
|
||||
int getRepairedScrapNumByTaskId(Long taskId);
|
||||
|
||||
/**
|
||||
* 获取维修任务列表
|
||||
* @param taskId 任务id
|
||||
|
|
@ -61,7 +66,7 @@ public interface RepairMapper {
|
|||
|
||||
int updateThisRepairedAndScrapNum(@Param("id") Long id, @Param("thisRepairedNum") BigDecimal repairNum, @Param("thisScrapNum") BigDecimal thisScrapNum,@Param("repairer") Long repairer, @Param("userId") Long userId);
|
||||
|
||||
int updateRepairedNumAndStatus(@Param("id") Long id, @Param("repairNum") BigDecimal repairNum, @Param("status") int status, @Param("repairer") Long repairer, @Param("userId") Long userId);
|
||||
int updateRepairedNumAndStatus(@Param("id") Long id, @Param("repairNum") BigDecimal repairNum, @Param("status") int status, @Param("repairer") String repairer, @Param("userId") Long userId);
|
||||
|
||||
/**
|
||||
* 修改维修数量
|
||||
|
|
@ -71,6 +76,12 @@ public interface RepairMapper {
|
|||
*/
|
||||
int updateRepairedNumTwo(@Param("id") Long id, @Param("repairNum") BigDecimal repairNum, @Param("userId") Long userid);
|
||||
|
||||
/**
|
||||
* 修改维修数量和状态
|
||||
* @param id 主键 key
|
||||
* @param repairNum 维修数量
|
||||
* @param userid 用户id
|
||||
*/
|
||||
int updateRepairedNumTwoAndStatus(@Param("id") Long id, @Param("repairNum") BigDecimal repairNum, @Param("status") int status, @Param("userId") Long userid);
|
||||
|
||||
/**
|
||||
|
|
@ -81,6 +92,12 @@ public interface RepairMapper {
|
|||
*/
|
||||
int updateScrapNum(@Param("id") Long id, @Param("scrapNum") BigDecimal scrapNum, @Param("userId") Long userId);
|
||||
|
||||
/**
|
||||
* 修改报废数量和状态
|
||||
* @param id 主键key
|
||||
* @param scrapNum 报废数量
|
||||
* @param userId 用户id
|
||||
*/
|
||||
int updateScrapNumAndStatus(@Param("id") Long id, @Param("scrapNum") BigDecimal scrapNum, @Param("status") int status, @Param("userId") Long userId);
|
||||
|
||||
/**
|
||||
|
|
@ -96,6 +113,11 @@ public interface RepairMapper {
|
|||
*/
|
||||
int batchQualified(@Param("ids") ArrayList<Long> ids, @Param("userId") Long userId);
|
||||
|
||||
/**
|
||||
* 根据已修数量、已报废数量--更新维修状态
|
||||
*/
|
||||
int updateStatusByRepairScrapNum(@Param("id") Long id);
|
||||
|
||||
/**
|
||||
* 查询维修人员列表
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ import com.bonus.common.core.exception.ServiceException;
|
|||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.back.domain.BackApplyInfo;
|
||||
import com.bonus.material.back.mapper.BackApplyInfoMapper;
|
||||
import com.bonus.material.basic.domain.BmFileInfo;
|
||||
import com.bonus.material.basic.mapper.BmFileInfoMapper;
|
||||
import com.bonus.material.repair.domain.*;
|
||||
|
|
@ -22,7 +24,6 @@ import com.bonus.material.task.domain.TmTask;
|
|||
import com.bonus.material.task.mapper.TmTaskMapper;
|
||||
import com.bonus.system.api.domain.SysUser;
|
||||
import com.bonus.system.api.model.LoginUser;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -34,6 +35,7 @@ import java.math.BigDecimal;
|
|||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -58,6 +60,9 @@ public class RepairServiceImpl implements RepairService {
|
|||
@Resource
|
||||
private RepairApplyDetailsMapper repairApplyDetailsMapper;
|
||||
|
||||
@Resource
|
||||
private BackApplyInfoMapper backApplyInfoMapper;
|
||||
|
||||
// 1:内部维修 2:外部返厂维修 3:报废
|
||||
private final int INNER_REPAIR = 1; // 需要严格匹配枚举值 RepairTypeEnum.INNER_REPAIR.getTypeId();
|
||||
private final int RETURN_FACTORY = 2; // 需要严格匹配枚举值 RepairTypeEnum.RETURN_FACTORY.getTypeId();
|
||||
|
|
@ -435,7 +440,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
case INNER_REPAIR: {
|
||||
partList = bean.getCodeInRepairPartList();
|
||||
// 更新维修数量、并修改维修人员
|
||||
repairMapper.updateRepairedNumAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUserid(), loginUser.getUserid());
|
||||
repairMapper.updateRepairedNumAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUsername(), loginUser.getUserid());
|
||||
break;
|
||||
}
|
||||
case RETURN_FACTORY: {
|
||||
|
|
@ -621,6 +626,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
// repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid());
|
||||
repairMapper.updateThisRepairedAndScrapNum(bean.getId(), innerRepairNum.add(outerRepairNum), scrapNum, loginUser.getUserid(), loginUser.getUserid());
|
||||
}
|
||||
repairMapper.updateStatusByRepairScrapNum(bean.getId());
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -856,7 +862,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
|
||||
/**
|
||||
* 生成维修单号
|
||||
* @param thisMonthMaxOrder 当前月最大单号
|
||||
* @param thisMonthMaxOrder 当前月最大序号
|
||||
*/
|
||||
private String genderWxTaskCode(int thisMonthMaxOrder) {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
|
@ -869,7 +875,19 @@ public class RepairServiceImpl implements RepairService {
|
|||
@Override
|
||||
public AjaxResult rejectRepair(@NotNull List<Long> taskList) {
|
||||
try {
|
||||
taskList.forEach(taskId -> taskMapper.updateTaskStatus(String.valueOf(taskId), RepairTaskStatusEnum.TASK_STATUS_REJECT.getStatus()));
|
||||
taskList.forEach(taskId -> {
|
||||
// 判断维修明细是否有已经维修的数据
|
||||
int repairedScrapNumber = repairMapper.getRepairedScrapNumByTaskId(taskId);
|
||||
if (repairedScrapNumber <= 0) {
|
||||
// 1.修改维修task状态为已驳回
|
||||
taskMapper.updateTaskStatus(String.valueOf(taskId), RepairTaskStatusEnum.TASK_STATUS_REJECT.getStatus());
|
||||
TmTask tmTask = taskMapper.selectTmTaskByTaskId(taskId);
|
||||
if (tmTask != null && tmTask.getPreTaskId() != null) {
|
||||
// 2.修改退料任务状态为被维修驳回
|
||||
backApplyInfoMapper.updateTaskStatus(new BackApplyInfo().setTaskId(tmTask.getPreTaskId()).setTaskStatus(1));
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (DataAccessException e) {
|
||||
System.err.println(e.getMessage());
|
||||
return AjaxResult.error("数据库SQL修改执行失败" + e.getMessage());
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@ public class TmTask extends BaseEntity {
|
|||
/** 任务ID */
|
||||
private Long taskId;
|
||||
|
||||
/** 上个阶段的任务ID */
|
||||
@ApiModelProperty(value = "上个阶段的任务ID")
|
||||
private Long preTaskId;
|
||||
|
||||
/** 任务类型(定义数据字典) */
|
||||
@Excel(name = "任务类型(定义数据字典)")
|
||||
@ApiModelProperty(value = "任务类型(定义数据字典)")
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public interface TmTaskMapper {
|
|||
int updateTmTask(TmTask tmTask);
|
||||
|
||||
/**
|
||||
* 根据任务id更新任务状态 -- 批量、限制状态
|
||||
* 根据任务id更新任务状态
|
||||
* @param taskId 任务id 必传
|
||||
* @param newStatus 新状态
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -50,11 +50,14 @@
|
|||
</update>
|
||||
|
||||
<update id="updateThisRepairedAndScrapNum">
|
||||
update repair_apply_details
|
||||
set this_repaired_num = ifnull(this_repaired_num,0) + #{thisRepairedNum},
|
||||
update
|
||||
repair_apply_details
|
||||
set
|
||||
this_repaired_num = ifnull(this_repaired_num,0) + #{thisRepairedNum},
|
||||
this_scrap_num = ifnull(this_scrap_num,0) + #{thisScrapNum},
|
||||
update_time = now()
|
||||
where id = #{id}
|
||||
where
|
||||
id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateRepairedNumAndStatus">
|
||||
|
|
@ -135,7 +138,7 @@
|
|||
<select id="getRepairTaskInfoByTaskId" resultType="com.bonus.material.repair.domain.RepairTask">
|
||||
SELECT
|
||||
rd.task_id as taskId,
|
||||
rd.repairer,
|
||||
rd.repairer,rd.repaired_num,rd.scrap_num,
|
||||
tt.CODE AS repairCode,
|
||||
tt.create_time AS createTime,
|
||||
tt.task_status AS repairStatusCode,
|
||||
|
|
@ -164,15 +167,14 @@
|
|||
<select id="getRepairTaskList" resultType="com.bonus.material.repair.domain.RepairTask">
|
||||
SELECT
|
||||
rd.task_id as taskId,
|
||||
rd.repairer,
|
||||
su2.nick_name as repairer,
|
||||
tt.CODE AS repairCode,
|
||||
tt.create_time AS createTime,
|
||||
tt.task_status AS repairStatusCode,
|
||||
tt.company_id AS companyId,
|
||||
tt.remark,
|
||||
tt.remark,tt.create_by as createName,
|
||||
bui.unit_name AS backUnit,
|
||||
bpi.pro_name AS backPro,
|
||||
su.nick_name AS createName,
|
||||
bai.CODE AS backCode,
|
||||
GROUP_CONCAT(DISTINCT mt2.type_name) as type
|
||||
FROM
|
||||
|
|
@ -186,6 +188,7 @@
|
|||
LEFT JOIN bm_unit bui ON bai2.unit_id = bui.unit_id
|
||||
LEFT JOIN bm_project bpi ON bai2.project_id = bpi.pro_id and bpi.del_flag = '0'
|
||||
left join sys_user su on rd.create_by = su.user_id
|
||||
left join sys_user su2 on su2.user_id = rd.repairer
|
||||
<where>
|
||||
<if test="keyword != null and keyword != ''">
|
||||
AND (locate(#{keyword}, su.nick_name) > 0
|
||||
|
|
@ -506,4 +509,20 @@
|
|||
</if>
|
||||
ORDER BY rid.create_time DESC
|
||||
</select>
|
||||
|
||||
<update id="updateStatusByRepairScrapNum">
|
||||
update
|
||||
repair_apply_details
|
||||
set status = IF((ifnull(repaired_num, 0) + ifnull(scrap_num, 0) >= repair_num), 1, 0)
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="getRepairedScrapNumByTaskId" resultType="int">
|
||||
SELECT
|
||||
SUM(IFNULL(repaired_num,0) + IFNULL(this_repaired_num,0) + IFNULL(scrap_num,0) + IFNULL(this_scrap_num,0) ) as repairNum
|
||||
FROM
|
||||
repair_apply_details
|
||||
WHERE
|
||||
task_id = #{taskId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<mapper namespace="com.bonus.material.task.mapper.TmTaskMapper">
|
||||
<resultMap type="com.bonus.material.task.domain.TmTask" id="TmTaskResult">
|
||||
<result property="taskId" column="task_id" />
|
||||
<result property="preTaskId" column="pre_task_id" />
|
||||
<result property="taskType" column="task_type" />
|
||||
<result property="taskStatus" column="task_status" />
|
||||
<result property="code" column="code" />
|
||||
|
|
@ -18,7 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</resultMap>
|
||||
|
||||
<sql id="selectTmTaskVo">
|
||||
select task_id, task_type, task_status, code, create_by, create_time,
|
||||
select task_id, pre_task_id, task_type, task_status, code, create_by, create_time,
|
||||
update_by, update_time, remark, company_id, month_order
|
||||
from tm_task
|
||||
</sql>
|
||||
|
|
@ -43,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<insert id="insertTmTask" parameterType="com.bonus.material.task.domain.TmTask" useGeneratedKeys="true" keyProperty="taskId">
|
||||
insert into tm_task
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="preTaskId != null">pre_task_id,</if>
|
||||
<if test="taskType != null">task_type,</if>
|
||||
<if test="taskStatus != null">task_status,</if>
|
||||
<if test="code != null">`code`,</if>
|
||||
|
|
@ -55,6 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="companyId != null">company_id,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="preTaskId != null">#{preTaskId},</if>
|
||||
<if test="taskType != null">#{taskType},</if>
|
||||
<if test="taskStatus != null">#{taskStatus},</if>
|
||||
<if test="code != null">#{code},</if>
|
||||
|
|
|
|||
Loading…
Reference in New Issue