Browse Source

feat(inspection): 新增验货申请管理功能

- 实现检验申请单头表分页查询接口
- 实现检验申请单明细和子表明细分页查询接口
- 实现验货申请的保存、修改、取消、确认、审核和删除功能
- 实现可申请验货PO查询功能
- 实现QC人员查询功能
- 实现验货排程和排程视图查询功能
- 实现验货申请导入模板下载功能
- 实现Excel数据预览和批量保存功能
- 实现验货结果查询功能
- 完善事务处理和数据校验机制
master
qiankanghui 3 weeks ago
parent
commit
100e8eddf4
  1. 9
      src/main/java/com/xujie/modules/inspection/controller/InspectionController.java
  2. 2
      src/main/java/com/xujie/modules/inspection/service/InspectionRequestService.java
  3. 37
      src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java

9
src/main/java/com/xujie/modules/inspection/controller/InspectionController.java

@ -96,6 +96,15 @@ public class InspectionController {
return R.ok(); return R.ok();
} }
/**
* 修改验货申请仅允许修改建议验货日期验货地址和联系人
*/
@PostMapping("/update")
public R update(@RequestBody InspectionRequestHeader header){
inspectionRequestService.updateRequest(header);
return R.ok();
}
/** /**
* 取消验货申请 * 取消验货申请
*/ */

2
src/main/java/com/xujie/modules/inspection/service/InspectionRequestService.java

@ -56,4 +56,6 @@ public interface InspectionRequestService extends IService<InspectionRequestHead
void schedule(InspectionScheduleVO vo); void schedule(InspectionScheduleVO vo);
List<InspectionScheduleViewVO> queryScheduleView(String qcOperator); List<InspectionScheduleViewVO> queryScheduleView(String qcOperator);
void updateRequest(InspectionRequestHeader header);
} }

37
src/main/java/com/xujie/modules/inspection/service/impl/InspectionRequestServiceImpl.java

@ -1,6 +1,7 @@
package com.xujie.modules.inspection.service.impl; package com.xujie.modules.inspection.service.impl;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -626,4 +627,40 @@ public class InspectionRequestServiceImpl extends ServiceImpl<InspectionRequestH
return baseMapper.queryScheduleView(qcOperator); return baseMapper.queryScheduleView(qcOperator);
} }
@Transactional(rollbackFor = Exception.class)
@Override
public void updateRequest(InspectionRequestHeader header) {
SysUserEntity user = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String site = user.getSite();
// 1. 查询头表校验状态
InspectionRequestHeader existingHeader = baseMapper.selectByRequestNo(site, header.getRequestNo());
if (existingHeader == null) {
throw new RuntimeException("检验申请单不存在");
}
// 只有草稿状态的验货申请允许修改
if (!"Draft".equals(existingHeader.getStatusDb())) {
throw new RuntimeException("只有草稿状态的验货申请允许修改,当前状态:" + existingHeader.getStatusDb());
}
log.info("开始修改验货申请: requestNo={}, site={}", header.getRequestNo(), site);
// 使用UpdateWrapper确保只更新指定字段
UpdateWrapper<InspectionRequestHeader> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("site", site)
.eq("request_no", header.getRequestNo())
.set("need_inspect_date", header.getNeedInspectDate())
.set("inspect_address", header.getInspectAddress())
.set("inspect_contract", header.getInspectContract());
int updateCount = baseMapper.update(null, updateWrapper);
if (updateCount == 0) {
throw new RuntimeException("修改验货申请失败");
}
log.info("验货申请修改成功: requestNo={}", header.getRequestNo());
}
} }
Loading…
Cancel
Save