Browse Source

复制需要输入试验单号

ecss-tx
han\hanst 1 month ago
parent
commit
7706c040b1
  1. 3
      src/main/java/com/xujie/sys/modules/erf/controller/ErfExpApplyController.java
  2. 2
      src/main/java/com/xujie/sys/modules/erf/service/ErfExpApplyService.java
  3. 26
      src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpApplyServiceImpl.java

3
src/main/java/com/xujie/sys/modules/erf/controller/ErfExpApplyController.java

@ -235,6 +235,7 @@ public class ErfExpApplyController extends AbstractController {
public R copyExpApply(@RequestBody Map<String, Object> params) {
try {
String sourceApplyNo = (String) params.get("sourceApplyNo");
String applyNo = (String) params.get("applyNo");
Boolean copyTriConfirm = params.get("copyTriConfirm") != null
? (Boolean) params.get("copyTriConfirm")
: false;
@ -249,7 +250,7 @@ public class ErfExpApplyController extends AbstractController {
: null;
String newApplyNo = erfExpApplyService.copyExpApply(
sourceApplyNo, copyTriConfirm, copyAttachment,copyRawMaterialList, currentUserId);
sourceApplyNo,applyNo, copyTriConfirm, copyAttachment,copyRawMaterialList, currentUserId);
return R.ok("复制成功").put("newApplyNo", newApplyNo);
} catch (Exception e) {

2
src/main/java/com/xujie/sys/modules/erf/service/ErfExpApplyService.java

@ -168,5 +168,5 @@ public interface ErfExpApplyService extends IService<ErfExpApply> {
* @param currentUserId 当前操作用户ID
* @return 新申请单号
*/
String copyExpApply(String sourceApplyNo, Boolean copyTriConfirm, Boolean copyAttachment,Boolean copyRawMaterialList, Long currentUserId);
String copyExpApply(String sourceApplyNo,String applyNo, Boolean copyTriConfirm, Boolean copyAttachment,Boolean copyRawMaterialList, Long currentUserId);
}

26
src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpApplyServiceImpl.java

@ -27,6 +27,7 @@ import com.xujie.sys.modules.sys.dao.SysUserDao;
import com.xujie.sys.modules.sys.dto.ManagerInfoDto;
import com.xujie.sys.modules.sys.dto.UserRoleDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -1379,10 +1380,13 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
}
@Override
public String copyExpApply(String sourceApplyNo, Boolean copyTriConfirm, Boolean copyAttachment,Boolean copyRawMaterialList, Long currentUserId) {
public String copyExpApply(String sourceApplyNo,String applyNo, Boolean copyTriConfirm, Boolean copyAttachment,Boolean copyRawMaterialList, Long currentUserId) {
log.info("=== 开始复制申请单 === 源申请单号: {}, 复制三方确认: {}, 复制附件: {}",
sourceApplyNo, copyTriConfirm, copyAttachment);
if (StringUtils.isBlank(applyNo)) {
throw new XJException("新试验单号不能为空");
}
// 1. 查询源申请单
ErfExpApply sourceEntity = this.getById(sourceApplyNo);
if (sourceEntity == null) {
@ -1392,13 +1396,7 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
// 2. 创建新申请单实体复制基本信息
ErfExpApply newEntity = new ErfExpApply();
BeanUtils.copyProperties(sourceEntity, newEntity);
// 3. 生成新的申请单号
String buCode = sourceEntity.getBuNo().split("-").length > 1
? sourceEntity.getBuNo().split("-")[1]
: sourceEntity.getBuNo();
String newApplyNo = generateApplyNo(buCode);
newEntity.setApplyNo(newApplyNo);
newEntity.setApplyNo(applyNo);
// 4. 重置状态和流程相关字段
newEntity.setStatus("草稿");
@ -1419,12 +1417,12 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
newEntity.setCreateTime(new Date());
// 6. 保存新申请单
this.save(newEntity);
log.info("新申请单已创建: {}", newApplyNo);
log.info("新申请单已创建: {}", applyNo);
// 7. 复制三方确认信息仅High Risk
if (Boolean.TRUE.equals(copyTriConfirm) && "High Risk".equals(sourceEntity.getExperimentType())) {
try {
erfTriConfirmService.copyTriConfirmRecords(sourceApplyNo, newApplyNo);
erfTriConfirmService.copyTriConfirmRecords(sourceApplyNo, applyNo);
log.info("三方确认信息复制成功");
} catch (Exception e) {
log.warn("复制三方确认信息失败: {}", e.getMessage());
@ -1436,7 +1434,7 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
if (Boolean.TRUE.equals(copyAttachment)) {
try {
// 调用附件服务复制附件
copyAttachments(sourceApplyNo, newApplyNo);
copyAttachments(sourceApplyNo, applyNo);
log.info("附件复制成功");
} catch (Exception e) {
log.warn("复制附件失败: {}", e.getMessage());
@ -1446,7 +1444,7 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
// 9. 复制原材料清单
if (Boolean.TRUE.equals(copyRawMaterialList)) {
try {
erfExpRawMaterialService.copyRawMaterialList(sourceApplyNo, newApplyNo);
erfExpRawMaterialService.copyRawMaterialList(sourceApplyNo, applyNo);
log.info("原材料清单复制成功");
} catch (Exception e) {
log.warn("复制原材料清单失败: {}", e.getMessage());
@ -1454,8 +1452,8 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
}
}
log.info("=== 复制申请单完成 === 新申请单号: {}", newApplyNo);
return newApplyNo;
log.info("=== 复制申请单完成 === 新申请单号: {}", applyNo);
return applyNo;
}
/**

Loading…
Cancel
Save