diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/BackApplyInfo.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/BackApplyInfo.java
index 6c6e55c3..57bcff3d 100644
--- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/BackApplyInfo.java
+++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/domain/BackApplyInfo.java
@@ -86,4 +86,8 @@ public class BackApplyInfo {
private String lotId;
private String unitId;
private String backTime;
+ /**
+ * 机具管理方式
+ */
+ private String manageType;
}
diff --git a/sgzb-modules/sgzb-material/pom.xml b/sgzb-modules/sgzb-material/pom.xml
index 58250b58..5e87c9f4 100644
--- a/sgzb-modules/sgzb-material/pom.xml
+++ b/sgzb-modules/sgzb-material/pom.xml
@@ -101,6 +101,12 @@
org.projectlombok
lombok
+
+ cn.hutool
+ hutool-all
+ 5.8.16
+ compile
+
diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/BackApplyController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/BackApplyController.java
index bcece98c..5c7b1d4e 100644
--- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/BackApplyController.java
+++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/BackApplyController.java
@@ -1,5 +1,8 @@
package com.bonus.sgzb.material.controller;
+import cn.hutool.core.collection.CollUtil;
+import com.bonus.sgzb.base.api.domain.LeaseApplyDetails;
+import com.bonus.sgzb.base.api.domain.LeaseApplyInfo;
import com.bonus.sgzb.common.core.utils.StringUtils;
import com.bonus.sgzb.common.core.web.controller.BaseController;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
@@ -107,42 +110,67 @@ public class BackApplyController extends BaseController {
bean.setTaskStatus("37");
// 创建任务
boolean addTaskResult = backApplyService.insertSelective(bean) > 0;
+
if (addTaskResult && bean.getTaskId() != null) {
//任务协议表(tm_task_agreement)
- Boolean addTaskAgreementRes = backApplyService.insertTaskAgreement(bean)>0;
- if (addTaskAgreementRes){
- //退料任务表(back_apply_info)
- Boolean addBackApply=backApplyService.insertBackApply(bean)>0;
- if (addBackApply && bean.getId()!=null){
- if (!StringUtils.isEmpty(bean.getTypeId()) && !StringUtils.isEmpty(bean.getNum())){
- String[] typeId = bean.getTypeId().split(",");
- String[] num = bean.getNum().split(",");
- for (int i=0;i< typeId.length;i++){
- String typeIdStr=typeId[i];
- String numStr=num[i];
- bean.setTypeId(typeIdStr);
- bean.setNum(numStr);
- int re =backApplyService.upload(bean);
- if (re<1){
- return AjaxResult.error("退料申请详情创建失败");
+ Boolean addTaskAgreementRes = backApplyService.insertTaskAgreement(bean) > 0;
+ if (addTaskAgreementRes && bean.getBackApplyInfo() != null) {
+ if (CollUtil.isEmpty(bean.getBackApplyDetails())) {
+ return AjaxResult.error("退料设备明细为空,请重新选择后上传!");
+ }
+ if (StringUtils.isNull(bean.getBackApplyInfo())) {
+ return AjaxResult.error("退料任务信息为空,请重新选择后上传!");
+ }
+
+ Integer taskId = bean.getTaskId();
+ // 根据设备所属分公司拆分集合
+ List> backApplyInfoList = CollUtil.groupByField(bean.getBackApplyDetails(), "companyId");
+ // 对拆分后的集合进行each遍历
+ for (List leaseApplyDetailsList : backApplyInfoList) {
+ // 判断拆分后的集合内是否有数据
+ if (CollUtil.isNotEmpty(leaseApplyDetailsList)) {
+ // 对领料任务表的对象做数据处理
+ BackApplyInfo backApplyInfo = bean.getBackApplyInfo();
+ backApplyInfo.setCode(code); // 创建领料单号
+ backApplyInfo.setTaskId(taskId); // 设置任务ID
+ backApplyInfo.setCompanyId(leaseApplyDetailsList.get(0).getCompanyId()); // 设置设备所属分公司,用于交给哪家审核
+
+ // 创建领料任务,返回领料任务编号
+ boolean addLeaseTaskResult = backApplyService.insertBackApply(backApplyInfo) > 0;
+ // 领料任务创建完成,进行领料任务明细插入
+ if (addLeaseTaskResult) {
+ // 领料任务编号
+ Long backApplyInfoId = backApplyInfo.getId();
+ if (StringUtils.isNotNull(backApplyInfoId)) {
+ for (BackApplyInfo leaseApplyDetails : leaseApplyDetailsList) {
+ leaseApplyDetails.setId(backApplyInfoId); // 设置领料任务ID
+ // 插入领料任务明细
+ boolean addLeaseTaskDetailsResult = backApplyService.upload(leaseApplyDetails) > 0;
+ if (!addLeaseTaskDetailsResult) {
+ return AjaxResult.error("退料任务创建成功,但退料任务明细插入失败");
+ }
+ }
+ return AjaxResult.success("退料申请成功,已完成");
+ } else {
+ return AjaxResult.error("退料任务编号为空");
}
+ } else {
+ return AjaxResult.error("创建退料任务失败,或退料明细为空");
}
}else {
- return AjaxResult.error("未获取到物料类型或数量");
+ return AjaxResult.error("创建任务失败,缺少数据");
}
- }else {
- return AjaxResult.error("创建退料申请失败");
}
- }else {
- return AjaxResult.error("创建任务协议失败");
+ } else {
+ return AjaxResult.error("创建任务失败");
}
- } else {
+ }else {
return AjaxResult.error("创建任务失败");
}
- return AjaxResult.success("退料申请创建成功,已完成");
} catch (Exception e) {
return AjaxResult.error("创建任务失败," + e.getCause().toString() + "," + e.getMessage());
}
+ return AjaxResult.error("任务创建失败");
}
diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/BackApplyInfo.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/BackApplyInfo.java
index 8899b53b..ede86674 100644
--- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/BackApplyInfo.java
+++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/BackApplyInfo.java
@@ -1,5 +1,6 @@
package com.bonus.sgzb.material.domain;
+import com.bonus.sgzb.base.api.domain.LeaseApplyInfo;
import com.bonus.sgzb.common.core.annotation.Excel;
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -7,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
+import java.util.List;
/**
* @description 退料
@@ -164,4 +166,23 @@ public class BackApplyInfo extends BaseEntity {
@ApiModelProperty(value = "等级")
private String level;
+
+ /**
+ * 退料任务实体
+ */
+ @ApiModelProperty(value="退料任务实体")
+ private BackApplyInfo backApplyInfo;
+
+ /**
+ * 退料任务实体集合
+ */
+ @ApiModelProperty(value="退料任务实体集合")
+ private List backApplyInfoList;
+
+ /**
+ * 退料任务实体集合
+ */
+ @ApiModelProperty(value="退料任务实体集合")
+ private List backApplyDetails;
+
}
diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java
index 8fd11290..32d9264f 100644
--- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java
+++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java
@@ -1,5 +1,6 @@
package com.bonus.sgzb.material.mapper;
+import com.bonus.sgzb.base.api.domain.LeaseApplyDetails;
import com.bonus.sgzb.material.domain.AgreementInfo;
import com.bonus.sgzb.material.domain.BackApplyInfo;
import com.bonus.sgzb.material.domain.TypeTreeNode;
diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml
index b8a90977..4640cc23 100644
--- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml
+++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml
@@ -187,7 +187,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
)
-
+
insert into back_apply_details
(