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) { public R copyExpApply(@RequestBody Map<String, Object> params) {
try { try {
String sourceApplyNo = (String) params.get("sourceApplyNo"); String sourceApplyNo = (String) params.get("sourceApplyNo");
String applyNo = (String) params.get("applyNo");
Boolean copyTriConfirm = params.get("copyTriConfirm") != null Boolean copyTriConfirm = params.get("copyTriConfirm") != null
? (Boolean) params.get("copyTriConfirm") ? (Boolean) params.get("copyTriConfirm")
: false; : false;
@ -249,7 +250,7 @@ public class ErfExpApplyController extends AbstractController {
: null; : null;
String newApplyNo = erfExpApplyService.copyExpApply( String newApplyNo = erfExpApplyService.copyExpApply(
sourceApplyNo, copyTriConfirm, copyAttachment,copyRawMaterialList, currentUserId);
sourceApplyNo,applyNo, copyTriConfirm, copyAttachment,copyRawMaterialList, currentUserId);
return R.ok("复制成功").put("newApplyNo", newApplyNo); return R.ok("复制成功").put("newApplyNo", newApplyNo);
} catch (Exception e) { } 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 * @param currentUserId 当前操作用户ID
* @return 新申请单号 * @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.ManagerInfoDto;
import com.xujie.sys.modules.sys.dto.UserRoleDto; import com.xujie.sys.modules.sys.dto.UserRoleDto;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -1379,10 +1380,13 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
} }
@Override @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("=== 开始复制申请单 === 源申请单号: {}, 复制三方确认: {}, 复制附件: {}", log.info("=== 开始复制申请单 === 源申请单号: {}, 复制三方确认: {}, 复制附件: {}",
sourceApplyNo, copyTriConfirm, copyAttachment); sourceApplyNo, copyTriConfirm, copyAttachment);
if (StringUtils.isBlank(applyNo)) {
throw new XJException("新试验单号不能为空");
}
// 1. 查询源申请单 // 1. 查询源申请单
ErfExpApply sourceEntity = this.getById(sourceApplyNo); ErfExpApply sourceEntity = this.getById(sourceApplyNo);
if (sourceEntity == null) { if (sourceEntity == null) {
@ -1392,13 +1396,7 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
// 2. 创建新申请单实体复制基本信息 // 2. 创建新申请单实体复制基本信息
ErfExpApply newEntity = new ErfExpApply(); ErfExpApply newEntity = new ErfExpApply();
BeanUtils.copyProperties(sourceEntity, newEntity); 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. 重置状态和流程相关字段 // 4. 重置状态和流程相关字段
newEntity.setStatus("草稿"); newEntity.setStatus("草稿");
@ -1419,12 +1417,12 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
newEntity.setCreateTime(new Date()); newEntity.setCreateTime(new Date());
// 6. 保存新申请单 // 6. 保存新申请单
this.save(newEntity); this.save(newEntity);
log.info("新申请单已创建: {}", newApplyNo);
log.info("新申请单已创建: {}", applyNo);
// 7. 复制三方确认信息仅High Risk // 7. 复制三方确认信息仅High Risk
if (Boolean.TRUE.equals(copyTriConfirm) && "High Risk".equals(sourceEntity.getExperimentType())) { if (Boolean.TRUE.equals(copyTriConfirm) && "High Risk".equals(sourceEntity.getExperimentType())) {
try { try {
erfTriConfirmService.copyTriConfirmRecords(sourceApplyNo, newApplyNo);
erfTriConfirmService.copyTriConfirmRecords(sourceApplyNo, applyNo);
log.info("三方确认信息复制成功"); log.info("三方确认信息复制成功");
} catch (Exception e) { } catch (Exception e) {
log.warn("复制三方确认信息失败: {}", e.getMessage()); log.warn("复制三方确认信息失败: {}", e.getMessage());
@ -1436,7 +1434,7 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
if (Boolean.TRUE.equals(copyAttachment)) { if (Boolean.TRUE.equals(copyAttachment)) {
try { try {
// 调用附件服务复制附件 // 调用附件服务复制附件
copyAttachments(sourceApplyNo, newApplyNo);
copyAttachments(sourceApplyNo, applyNo);
log.info("附件复制成功"); log.info("附件复制成功");
} catch (Exception e) { } catch (Exception e) {
log.warn("复制附件失败: {}", e.getMessage()); log.warn("复制附件失败: {}", e.getMessage());
@ -1446,7 +1444,7 @@ public class ErfExpApplyServiceImpl extends ServiceImpl<ErfExpApplyMapper, ErfEx
// 9. 复制原材料清单 // 9. 复制原材料清单
if (Boolean.TRUE.equals(copyRawMaterialList)) { if (Boolean.TRUE.equals(copyRawMaterialList)) {
try { try {
erfExpRawMaterialService.copyRawMaterialList(sourceApplyNo, newApplyNo);
erfExpRawMaterialService.copyRawMaterialList(sourceApplyNo, applyNo);
log.info("原材料清单复制成功"); log.info("原材料清单复制成功");
} catch (Exception e) { } catch (Exception e) {
log.warn("复制原材料清单失败: {}", e.getMessage()); 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