This commit is contained in:
parent
2983184263
commit
c63a79304f
|
|
@ -881,11 +881,10 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService {
|
|||
return AjaxResult.error("请先添加领料任务物资编码明细");
|
||||
}
|
||||
}
|
||||
if (leaseApplyDetails.getOutNum().compareTo(leaseApplyDetails.getStorageNum()) > 0) {
|
||||
throw new ServiceException("出库数量不能大于库存数量");
|
||||
}
|
||||
}
|
||||
int res = checkStorageNum(leaseApplyRequestVo.getLeaseApplyDetailsList());
|
||||
if (res == 0) {
|
||||
return AjaxResult.error("领料出库数量不能大于库存数量");
|
||||
}
|
||||
leaseApplyRequestVo.getLeaseApplyInfo().setCreateTime(DateUtils.getNowDate());
|
||||
String createBy = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
||||
|
|
@ -1020,6 +1019,9 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService {
|
|||
throw new ServiceException("请先添加领料任务物资编码明细");
|
||||
}
|
||||
}
|
||||
if (leaseApplyDetails.getOutNum().compareTo(leaseApplyDetails.getStorageNum()) > 0) {
|
||||
throw new ServiceException("出库数量不能大于库存数量");
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
|
|
@ -1425,17 +1427,17 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService {
|
|||
list.addAll(listL3);
|
||||
list.addAll(listL21);
|
||||
}
|
||||
/*if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
|
||||
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
|
||||
// 创建树形结构(数据集合作为参数)
|
||||
TypeTreeBuild treeBuild = new TypeTreeBuild(list);
|
||||
// 原查询结果转换树形结构
|
||||
groupList = treeBuild.buildTree();
|
||||
}*/
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
AjaxResult.error("类型树-查询失败", e);
|
||||
}
|
||||
return AjaxResult.success(list);
|
||||
return AjaxResult.success(groupList);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -108,6 +108,21 @@ public class PurchaseCheckInfoController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改新购验收任务
|
||||
* @param purchaseCheckDto
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("修改新购验收任务")
|
||||
@PostMapping("/update")
|
||||
public AjaxResult update(@RequestBody @NotNull(message = "请求参数不能为空") @Valid PurchaseCheckDto purchaseCheckDto) {
|
||||
try {
|
||||
return toAjax(purchaseCheckInfoService.update(purchaseCheckDto));
|
||||
} catch (final Exception e) {
|
||||
return error("系统错误, " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 外层批量验收API
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -122,4 +122,11 @@ public interface PurchaseCheckDetailsMapper {
|
|||
* @return 结果
|
||||
*/
|
||||
int deletePurchaseCheckDetailsByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除新购验收任务详细
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
int deleteDetails(Long[] ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,4 +91,11 @@ public interface IPurchaseCheckInfoService {
|
|||
* @return
|
||||
*/
|
||||
List<PurchaseSignRecord> getSignList(PurchaseSignRecord purchaseSignRecord);
|
||||
|
||||
/**
|
||||
* 修改新购验收任务
|
||||
* @param purchaseCheckDto
|
||||
* @return
|
||||
*/
|
||||
int update(PurchaseCheckDto purchaseCheckDto);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -713,6 +713,8 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
|||
typeMapper.updateType(type);
|
||||
}
|
||||
// 批量插入详情数据
|
||||
// 将purchaseCheckDetailsList的status全部设置为2
|
||||
purchaseCheckDetailsList.forEach(o -> o.setStatus(PurchaseTaskStatusEnum.TO_CHECK.getStatus()));
|
||||
final int count = purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(purchaseCheckDetailsList);
|
||||
if (0 < count) {
|
||||
return AjaxResult.success("新增任务成功");
|
||||
|
|
@ -1066,4 +1068,31 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
|||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改新购验收任务
|
||||
* @param purchaseCheckDto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int update(PurchaseCheckDto purchaseCheckDto) {
|
||||
purchaseCheckDto.getPurchaseCheckInfo().setUpdateTime(DateUtils.getNowDate());
|
||||
purchaseCheckDto.getPurchaseCheckInfo().setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||
// 先去查是否存在文件信息,存在就删除
|
||||
BmFileInfo fileInfo = new BmFileInfo();
|
||||
fileInfo.setTaskType(0);
|
||||
fileInfo.setTaskId(purchaseCheckDto.getPurchaseCheckInfo().getTaskId());
|
||||
List<BmFileInfo> bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(fileInfo);
|
||||
if (!CollectionUtils.isEmpty(bmFileInfoList)) {
|
||||
bmFileInfoMapper.deleteBmFileList(purchaseCheckDto.getPurchaseCheckInfo().getTaskId());
|
||||
}
|
||||
try {
|
||||
final Long[] ids = {purchaseCheckDto.getPurchaseCheckInfo().getId()};
|
||||
purchaseCheckDetailsMapper.deleteDetails(ids);
|
||||
insertPurchaseCheckDetails(purchaseCheckDto.getPurchaseCheckDetailsList(), purchaseCheckDto.getPurchaseCheckInfo().getTaskId());
|
||||
return purchaseCheckInfoMapper.updatePurchaseCheckInfo(purchaseCheckDto.getPurchaseCheckInfo());
|
||||
} catch (final Exception e) {
|
||||
throw new ServiceException("错误信息描述");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -167,4 +167,11 @@ public interface RepairAuditDetailsMapper {
|
|||
* @return
|
||||
*/
|
||||
int deleteRepairRecordByTaskId(RepairAuditDetails repairAuditDetails);
|
||||
|
||||
/**
|
||||
* 查询审核状态
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
List<RepairAuditDetails> getAuditStatus(Long taskId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -625,6 +625,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
|||
repairTaskDetails.setRepairNum(repairAuditDetail.getRepairNum());
|
||||
repairTaskDetails.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||
repairTaskDetails.setBackId(backId);
|
||||
repairTaskDetails.setIsDs(1);
|
||||
if(StringUtils.isNotBlank( level)) {
|
||||
repairTaskDetails.setLevel(String.valueOf(Integer.parseInt(level) + 1));
|
||||
}
|
||||
|
|
@ -661,7 +662,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
|||
int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId());
|
||||
// 生成维修单号
|
||||
String code = genderNewWxTaskCode(thisMonthMaxOrder);
|
||||
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId(), RepairTaskStatusEnum.TASK_STATUS_AUDIT_REJECT.getStatus(),
|
||||
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId(), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus(),
|
||||
null,thisMonthMaxOrder + 1, code);
|
||||
tmTask.setCreateTime(DateUtils.getNowDate());
|
||||
tmTask.setCreateBy(createBy);
|
||||
|
|
@ -742,6 +743,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
|||
repairTaskDetails.setRepairNum(repairAuditDetail.getRepairNum());
|
||||
repairTaskDetails.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||
repairTaskDetails.setBackId(backId);
|
||||
repairTaskDetails.setIsDs(1);
|
||||
if(StringUtils.isNotBlank( level)) {
|
||||
repairTaskDetails.setLevel(String.valueOf(Integer.parseInt(level) + 1));
|
||||
}
|
||||
|
|
@ -753,7 +755,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
|||
Long userId = SecurityUtils.getLoginUser().getUserid();
|
||||
int result = repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, status, userId);
|
||||
// 根据任务id查询内层详情任务状态,更新外层任务状态
|
||||
List<RepairAuditDetails> repairAuditDetailsByTaskId = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskId(auditDetails1.getTaskId());
|
||||
List<RepairAuditDetails> repairAuditDetailsByTaskId = repairAuditDetailsMapper.getAuditStatus(auditDetails1.getTaskId());
|
||||
if (!CollectionUtils.isEmpty(repairAuditDetailsByTaskId)) {
|
||||
// 获取集合中的全部status集合
|
||||
List<Integer> statusList = repairAuditDetailsByTaskId.stream()
|
||||
|
|
@ -763,7 +765,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
|||
boolean notContainsNoFinished =!statusList.contains(RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus());
|
||||
boolean allReject = true;
|
||||
for (Integer newStatus : statusList) {
|
||||
if (!newStatus.equals(RepairTaskStatusEnum.TASK_STATUS_NO_REVIEW.getStatus())) {
|
||||
if (!newStatus.equals(RepairTaskStatusEnum.TASK_STATUS_REJECT.getStatus())) {
|
||||
allReject = false;
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -649,9 +649,19 @@ public class RepairServiceImpl implements RepairService {
|
|||
.setPartNum(repairPartDetails.getPartNum()).setRepairer(loginUser.getUsername())
|
||||
.setPartPrice(Optional.ofNullable(repairPartDetails.getPartPrice()).orElse(BigDecimal.ZERO))
|
||||
.setCreateBy(loginUser.getUsername());
|
||||
|
||||
repairApplyRecord.setRemark(StringUtils.isNotBlank(repairPartDetails.getRemark()) ? repairPartDetails.getRemark() : "");
|
||||
// 新增【维修记录表】
|
||||
repairMapper.addRecord(repairApplyRecord);
|
||||
// 保存外部维修附件
|
||||
if (CollectionUtils.isEmpty(repairPartDetails.getFileList())) {
|
||||
for (BmFileInfo fileInfo : repairPartDetails.getFileList()) {
|
||||
fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId())
|
||||
.setFileType(Long.valueOf(RepairTypeEnum.RETURN_FACTORY.getTypeId()))
|
||||
.setTaskId(bean.getTaskId()).setModelId(bean.getId())
|
||||
.setCreateBy(loginUser.getUsername());
|
||||
bmFileInfoMapper.insertBmFileInfo(fileInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < partList.size(); i++) {
|
||||
sfCosts = sfCosts.add(partList.get(i).getPartPrice());
|
||||
|
|
@ -680,6 +690,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
if (CollectionUtil.isNotEmpty(bean.getNumberScrapRepairPartList().get(0).getFileList())) {
|
||||
for (BmFileInfo fileInfo : bean.getNumberScrapRepairPartList().get(0).getFileList()) {
|
||||
fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId())
|
||||
.setFileType(Long.valueOf(RepairTypeEnum.TO_SCRAP.getTypeId()))
|
||||
.setTaskId(bean.getTaskId()).setModelId(bean.getId())
|
||||
.setCreateBy(loginUser.getUsername());
|
||||
bmFileInfoMapper.insertBmFileInfo(fileInfo);
|
||||
|
|
@ -695,7 +706,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
.setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason())
|
||||
.setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType())
|
||||
.setRepairer(loginUser.getUsername()).setCreateBy(loginUser.getUsername());
|
||||
|
||||
repairApplyRecord.setRemark(StringUtils.isNotBlank(bean.getNumberScrapRepairPartList().get(0).getRemark()) ? bean.getNumberScrapRepairPartList().get(0).getRemark() : "");
|
||||
// 因报废操作无需配件, 只添加【维修记录表】
|
||||
repairMapper.addRecord(repairApplyRecord);
|
||||
}
|
||||
|
|
@ -709,7 +720,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
.setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason())
|
||||
.setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType())
|
||||
.setRepairer(loginUser.getUsername()).setCreateBy(loginUser.getUsername());
|
||||
|
||||
repairApplyRecord.setRemark(StringUtils.isNotBlank(bean.getNumberScrapRepairPartList().get(0).getRemark()) ? bean.getNumberScrapRepairPartList().get(0).getRemark() : "");
|
||||
// 因报废操作无需配件, 只添加【维修记录表】
|
||||
repairMapper.addRecord(repairApplyRecord);
|
||||
}
|
||||
|
|
@ -853,7 +864,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
}
|
||||
repairApplyRecord.setCreateBy(loginUser.getUsername());
|
||||
repairApplyRecord.setStatus(0L);
|
||||
|
||||
repairApplyRecord.setRemark(StringUtils.isNotBlank(partDetails.getRemark()) ? partDetails.getRemark() : "");
|
||||
if ((null != partDetails.getId() || null != partDetails.getPartId()) && null != partDetails.getPartNum()) {
|
||||
partDetails.setPartId(null != partDetails.getPartId() ? partDetails.getPartId() : partDetails.getId());
|
||||
// 有维修配件时,如果价格为空,设置为0
|
||||
|
|
@ -906,6 +917,16 @@ public class RepairServiceImpl implements RepairService {
|
|||
// 不选维修配件时, 只添加【维修记录表】
|
||||
repairMapper.addRecord(repairApplyRecord);
|
||||
}
|
||||
// 保存内部维修文件
|
||||
if (CollectionUtils.isEmpty(partDetails.getFileList())) {
|
||||
for (BmFileInfo fileInfo : partDetails.getFileList()) {
|
||||
fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId())
|
||||
.setFileType(Long.valueOf(RepairTypeEnum.RETURN_FACTORY.getTypeId()))
|
||||
.setTaskId(bean.getTaskId()).setModelId(bean.getId())
|
||||
.setCreateBy(loginUser.getUsername());
|
||||
bmFileInfoMapper.insertBmFileInfo(fileInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 根据配件id 统计配件费用
|
||||
PartType type = partTypeMapper.selectPartTypeByPaId(partList.get(0).getPartId());
|
||||
|
|
@ -950,6 +971,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
}
|
||||
repairApplyRecord.setSupplierId(partList.get(i).getSupplierId());
|
||||
repairApplyRecord.setPartPrice(Optional.ofNullable(partList.get(i).getBackCost()).orElse(BigDecimal.ZERO));
|
||||
repairApplyRecord.setRemark(StringUtils.isNotBlank(partList.get(i).getRemark()) ? partList.get(i).getRemark() : "");
|
||||
// 新增【维修记录表】
|
||||
repairMapper.addRecord(repairApplyRecord);
|
||||
|
||||
|
|
@ -964,7 +986,16 @@ public class RepairServiceImpl implements RepairService {
|
|||
if (count<=0){
|
||||
repairMapper.addRepairCost(repairApplyRecord, sfCosts, partList.get(i).getPartType().toString());
|
||||
}
|
||||
|
||||
// 保存外部返厂维修文件
|
||||
if (CollectionUtils.isEmpty(partList.get(i).getFileList())) {
|
||||
for (BmFileInfo fileInfo : partList.get(i).getFileList()) {
|
||||
fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId())
|
||||
.setFileType(Long.valueOf(RepairTypeEnum.RETURN_FACTORY.getTypeId()))
|
||||
.setTaskId(bean.getTaskId()).setModelId(bean.getId())
|
||||
.setCreateBy(loginUser.getUsername());
|
||||
bmFileInfoMapper.insertBmFileInfo(fileInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -975,6 +1006,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
if (CollectionUtil.isNotEmpty(partList.get(0).getFileList())) {
|
||||
for (BmFileInfo fileInfo : partList.get(0).getFileList()) {
|
||||
fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId())
|
||||
.setFileType(Long.valueOf(RepairTypeEnum.TO_SCRAP.getTypeId()))
|
||||
.setTaskId(bean.getTaskId()).setModelId(bean.getId())
|
||||
.setCreateBy(loginUser.getUsername());
|
||||
bmFileInfoMapper.insertBmFileInfo(fileInfo);
|
||||
|
|
@ -988,6 +1020,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
.setCreateBy(loginUser.getUsername());
|
||||
repairApplyRecord.setScrapType(partList.get(0).getScrapType());
|
||||
repairApplyRecord.setScrapReason(partList.get(0).getScrapReason());
|
||||
repairApplyRecord.setRemark(StringUtils.isNotBlank(partList.get(0).getRemark()) ? partList.get(0).getRemark() : "");
|
||||
// 不选维修配件时, 只添加【维修记录表】
|
||||
repairMapper.addRecord(repairApplyRecord);
|
||||
}
|
||||
|
|
@ -1002,6 +1035,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
repairApplyRecord.setScrapType(partList.get(0).getScrapType());
|
||||
repairApplyRecord.setScrapReason(partList.get(0).getScrapReason());
|
||||
// 不选维修配件时, 只添加【维修记录表】
|
||||
repairApplyRecord.setRemark(StringUtils.isNotBlank(partList.get(0).getRemark()) ? partList.get(0).getRemark() : "");
|
||||
repairMapper.addRecord(repairApplyRecord);
|
||||
}
|
||||
}
|
||||
|
|
@ -1014,7 +1048,7 @@ public class RepairServiceImpl implements RepairService {
|
|||
.setRepairNum(BigDecimal.valueOf(!RepairTypeEnum.TO_SCRAP.getTypeId().equals(bean.getRepairType()) ? 1 : 0))
|
||||
.setScrapNum(BigDecimal.valueOf(RepairTypeEnum.TO_SCRAP.getTypeId().equals(bean.getRepairType()) ? 1 : 0))
|
||||
.setCreateBy(loginUser.getUsername());
|
||||
|
||||
repairApplyRecord.setRemark(StringUtils.isNotBlank(bean.getRemark()) ? bean.getRemark() : "");
|
||||
// 不选维修配件时, 只添加【维修记录表】
|
||||
repairMapper.addRecord(repairApplyRecord);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -241,6 +241,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
<delete id="deleteDetails">
|
||||
delete from purchase_check_details where task_id in (
|
||||
select task_id
|
||||
from purchase_check_info
|
||||
where
|
||||
id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
)
|
||||
</delete>
|
||||
|
||||
<!-- <select id="selectMaTypeNameByTaskId" resultType="java.lang.String">-->
|
||||
<!-- select-->
|
||||
|
|
|
|||
|
|
@ -747,4 +747,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
GROUP BY
|
||||
rar.repair_type
|
||||
</select>
|
||||
<select id="getAuditStatus" resultType="com.bonus.material.repair.domain.RepairAuditDetails">
|
||||
<include refid="selectRepairAuditDetailsVo"/>
|
||||
where task_id = #{taskId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.bonus.material.repair.mapper.RepairMapper">
|
||||
<insert id="addRecord">
|
||||
insert into repair_apply_record (task_id,ma_id,type_id,repair_num,scrap_num,repair_type,create_by,create_time,repair_content,company_id,scrap_id,scrap_reason,scrap_type,supplier_id,part_num,part_price,part_type,part_name,repairer,file_ids,remark,part_id)
|
||||
values (#{taskId},#{maId},#{typeId},#{repairNum},#{scrapNum},#{repairType},#{createBy},now(),#{repairContent},#{companyId}, #{scrapId},#{scrapReason},#{scrapType},#{supplierId},#{partNum},#{partPrice},#{partType},#{partName},#{repairer},#{fileIds},#{remark},#{partId});
|
||||
insert into repair_apply_record (task_id,ma_id,type_id,repair_num,scrap_num,repair_type,create_by,create_time,repair_content,company_id,scrap_id,scrap_reason,scrap_type,supplier_id,part_num,part_price,part_type,part_name,repairer,file_ids,remark,part_id,remark)
|
||||
values (#{taskId},#{maId},#{typeId},#{repairNum},#{scrapNum},#{repairType},#{createBy},now(),#{repairContent},#{companyId}, #{scrapId},#{scrapReason},#{scrapType},#{supplierId},#{partNum},#{partPrice},#{partType},#{partName},#{repairer},#{fileIds},#{remark},#{partId},#{remark});
|
||||
</insert>
|
||||
|
||||
<insert id="addPart">
|
||||
|
|
|
|||
Loading…
Reference in New Issue