From f26108e284bdfc0553a8f5202d536ca94923c98a Mon Sep 17 00:00:00 2001 From: "liang.chao" Date: Thu, 7 Mar 2024 16:30:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=96=99=E7=94=B3=E8=AF=B7=E8=A1=A8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sgzb/app/controller/TmTaskController.java | 90 ++----------- .../app/mapper/LeaseApplyDetailsMapper.java | 2 + .../sgzb/app/mapper/LeaseApplyInfoMapper.java | 1 + .../bonus/sgzb/app/service/TmTaskService.java | 3 + .../app/service/impl/TmTaskServiceImpl.java | 122 ++++++++++++++++++ .../mapper/app/LeaseApplyDetailsMapper.xml | 4 + .../mapper/app/LeaseApplyInfoMapper.xml | 6 + .../resources/mapper/app/TmTaskMapper.xml | 2 +- .../WorkSiteDirectManageController.java | 110 ++++++++++++++-- .../sgzb/material/mapper/ApplyInfoMapper.java | 17 +++ .../sgzb/material/mapper/TaskMapper.java | 4 + .../material/service/ApplyInfoService.java | 11 ++ .../sgzb/material/service/TaskService.java | 4 + .../service/impl/ApplyInfoServiceImpl.java | 25 ++++ .../service/impl/TaskServiceImpl.java | 10 ++ .../mapper/material/ApplyInfoMapper.xml | 116 +++++++++++++++++ .../resources/mapper/material/TaskMapper.xml | 57 ++++++++ 17 files changed, 493 insertions(+), 91 deletions(-) create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/ApplyInfoMapper.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/ApplyInfoService.java create mode 100644 sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ApplyInfoServiceImpl.java create mode 100644 sgzb-modules/sgzb-material/src/main/resources/mapper/material/ApplyInfoMapper.xml diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java index 63069d14..3a206894 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java @@ -295,19 +295,19 @@ public class TmTaskController extends BaseController { Set roles = SecurityUtils.getLoginUser().getRoles(); List leaseAuditList = new ArrayList<>(); if (souceBy == 1) { - if (roles.contains("admin")){ + if (roles.contains("admin")) { leaseAuditList = tmTaskService.getLeaseAuditList(task); return AjaxResult.success(getDataTable(leaseAuditList)); - }else { + } else { leaseAuditList = tmTaskService.getLeaseAuditListByPeople(task); return AjaxResult.success(getDataTable(leaseAuditList)); } } startPage(); - if (roles.contains("admin")){ + if (roles.contains("admin")) { leaseAuditList = tmTaskService.getLeaseAuditList(task); return AjaxResult.success(getDataTable(leaseAuditList)); - }else { + } else { leaseAuditList = tmTaskService.getLeaseAuditListByPeople(task); return AjaxResult.success(getDataTable(leaseAuditList)); } @@ -336,7 +336,7 @@ public class TmTaskController extends BaseController { leaseAuditList = tmTaskService.getLeaseAuditManageList(task); Integer pageIndex = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); - return AjaxResult.success(ListPagingUtil.paging(pageIndex,pageSize, leaseAuditList)); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, leaseAuditList)); } /** @@ -351,9 +351,9 @@ public class TmTaskController extends BaseController { Set roles = SecurityUtils.getLoginUser().getRoles(); // 领料申请导出 if (task.getTypes() == 1) { - if (roles.contains("admin")){ + if (roles.contains("admin")) { leaseAuditList = tmTaskService.getLeaseAuditList(task); - }else { + } else { leaseAuditList = tmTaskService.getLeaseAuditListByPeople(task); } ExcelUtil util = new ExcelUtil(TmTask.class); @@ -460,81 +460,11 @@ public class TmTaskController extends BaseController { if (StringUtils.isNull(task)) { return AjaxResult.error("参数错误,传入信息为空!"); } - try { - int taskResult = tmTaskService.updateByPrimaryKeySelective(task); - if (taskResult > 0) { - if (CollUtil.isEmpty(task.getLeaseApplyInfoList())) { - return AjaxResult.error("任务表修改完成,但领料任务明细为空,执行失败!"); - } - // 修改任务关联的协议 - tmTaskService.updateAgreementByTask(task); - - //修改领料任务表信息 - //先判断 目前数据库有几个公司 -// List list = tmTaskService.getListSome(task.getTaskId()); - LeaseApplyInfo infoAdd = new LeaseApplyInfo(); - /* if (list.size() < 2) { - List> deviceByCompanyList = CollUtil.groupByField(task.getLeaseApplyDetails(), "companyId"); - infoAdd.setTaskId(task.getTaskId().intValue()); - infoAdd.setCode(task.getLeaseApplyInfoList().get(0).getCode()); - infoAdd.setLeasePerson(task.getLeaseApplyInfoList().get(0).getLeasePerson()); - infoAdd.setPhone(task.getLeaseApplyInfoList().get(0).getPhone()); - infoAdd.setRemark(task.getLeaseApplyInfoList().get(0).getRemark()); - infoAdd.setType(task.getLeaseApplyInfoList().get(0).getType()); - for (List leaseApplyDetailsList : deviceByCompanyList) { - if (leaseApplyDetailsList.get(0).getParenntId() == null) { - if (leaseApplyDetailsList.get(0).getCompanyId() == 101) { - infoAdd.setCompanyId(101); - leaseApplyInfoService.genderLeaseCode(infoAdd); - } else if (leaseApplyDetailsList.get(0).getCompanyId() == 102) { - infoAdd.setCompanyId(102); - leaseApplyInfoService.genderLeaseCode(infoAdd); - } - } - } - }*/ - LeaseApplyInfo bean = new LeaseApplyInfo(); - bean.setTaskId(task.getTaskId().intValue()); - bean.setLeasePerson(task.getLeaseApplyInfo().getLeasePerson()); - bean.setPhone(task.getLeaseApplyInfo().getPhone()); - bean.setRemark(task.getLeaseApplyInfo().getRemark()); - tmTaskService.updateLeaseInfo(bean); - - for (LeaseApplyInfo leaseApplyInfo : task.getLeaseApplyInfoList()) { - if (leaseApplyInfo == null || leaseApplyInfo.getId() == null) { - continue; - } - if (StringUtils.isEmpty(leaseApplyInfo.getLeaseApplyDetails())) { - continue; - } - // 先删除之前的领料明细 - tmTaskService.deleteDetailsByParentId(String.valueOf(leaseApplyInfo.getId())); - // 删除后,插入新地领料任务明细 - if (StringUtils.isNotNull(leaseApplyInfo.getId())) { - for (LeaseApplyDetails leaseApplyDetails : leaseApplyInfo.getLeaseApplyDetails()) { - if (leaseApplyDetails.getParenntId() == null) { - leaseApplyDetails.setParenntId(infoAdd.getId()); - } else { - leaseApplyDetails.setParenntId(leaseApplyInfo.getId()); // 设置领料任务ID - } - - } - // 插入领料任务明细 - boolean addLeaseTaskDetailsResult = leaseApplyDetailsService.batchInsert(leaseApplyInfo.getLeaseApplyDetails()) > 0; - System.out.println(addLeaseTaskDetailsResult ? "领料任务明细插入成功" : "领料任务明细插入失败"); - } else { - return AjaxResult.error("领料任务ID为空,修改失败!"); - } - } - return AjaxResult.success("修改成功"); - } else { - return AjaxResult.error("任务表修改失败"); - } - } catch (Exception e) { - return AjaxResult.error("修改失败,异常信息:" + e.getMessage()); - } + int edit = tmTaskService.edit(task); + return AjaxResult.success("修改成功"); } + /** * 通过主键查询单条数据 * diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseApplyDetailsMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseApplyDetailsMapper.java index 6d73aec4..01a398cf 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseApplyDetailsMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseApplyDetailsMapper.java @@ -2,6 +2,7 @@ package com.bonus.sgzb.app.mapper; import com.bonus.sgzb.app.domain.LeaseApplyDetails; import com.bonus.sgzb.app.domain.LeaseApplyInfo; +import com.bonus.sgzb.app.domain.TmTask; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -19,6 +20,7 @@ public interface LeaseApplyDetailsMapper { int deleteByPrimaryKey(Integer id); int deleteByParentId(String parentId); + List selectByTaskId(TmTask tmTask); int insert(LeaseApplyDetails record); diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseApplyInfoMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseApplyInfoMapper.java index 110949c7..d6693379 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseApplyInfoMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/LeaseApplyInfoMapper.java @@ -18,6 +18,7 @@ public interface LeaseApplyInfoMapper { int deleteByPrimaryKey(Integer id); int insert(LeaseApplyInfo record); + LeaseApplyInfo selectByTaskIdAndCompId(@Param("taskId") String taskId, @Param("companyId") String companyId); int insertOrUpdate(LeaseApplyInfo record); diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java index 571da624..c3338645 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java @@ -34,6 +34,7 @@ public interface TmTaskService{ String genderLeaseCode(); AjaxResult deleteByPrimaryKey(String taskId); + int deleteLeaseInfoByTaskId(String taskId); int deleteDetailsByTaskId(@Param("id") String id); @@ -51,6 +52,8 @@ public interface TmTaskService{ int updateByPrimaryKeySelective(TmTask record); + int edit(TmTask tmTask); + Integer getAgreementIdByUnit(TmTask task); int updateAgreementByTask(TmTask record); diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java index fb8d014e..1c275036 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java @@ -7,12 +7,15 @@ import com.bonus.sgzb.app.domain.LeaseApplyDetails; import com.bonus.sgzb.app.domain.LeaseApplyInfo; import com.bonus.sgzb.app.domain.TmTask; import com.bonus.sgzb.app.domain.TmTaskDto; +import com.bonus.sgzb.app.mapper.LeaseApplyDetailsMapper; +import com.bonus.sgzb.app.mapper.LeaseApplyInfoMapper; import com.bonus.sgzb.app.mapper.TmTaskMapper; import com.bonus.sgzb.app.service.TmTaskService; import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.core.utils.StringUtils; import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.security.utils.SecurityUtils; +import net.sf.jsqlparser.expression.TryCastExpression; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -39,6 +42,12 @@ public class TmTaskServiceImpl implements TmTaskService { @Resource private TmTaskMapper tmTaskMapper; + @Resource + private LeaseApplyInfoMapper leaseApplyInfoMapper; + + @Resource + private LeaseApplyDetailsMapper leaseApplyDetailsMapper; + /** * 领料任务审核状态 * @@ -632,6 +641,12 @@ public class TmTaskServiceImpl implements TmTaskService { } } + @Override + public int deleteLeaseInfoByTaskId(String taskId) { + int i = tmTaskMapper.deleteTaskInfoByTaskId(taskId); + return i; + } + /** * 根据id删除详情表配置的设备 * @@ -684,6 +699,113 @@ public class TmTaskServiceImpl implements TmTaskService { return tmTaskMapper.updateByPrimaryKeySelective(record); } + @Override + @Transactional + public int edit(TmTask tmTask) { + int flag = 0; + int res = 0; + int taskResult = this.updateByPrimaryKeySelective(tmTask); + try { + if (CollUtil.isEmpty(tmTask.getLeaseApplyInfoList())) { + flag = 1; + } + // 修改任务关联的协议 + this.updateAgreementByTask(tmTask); + + res = deletePreDetailData(tmTask); + if (res == 0) { + throw new RuntimeException("删除leaseApplyDetail异常"); + } + //先删除leaseApplyInfo + res = deletePreData(tmTask); + if (res == 0) { + throw new RuntimeException("删除leaseApplyInfo异常"); + } + // 先查询lease apply info,根据task id,company id,不存在则插入,领料任务,领料单号,领料人,联系电话,备注,存在则不插入 + res = insertNewData(tmTask); + if (res == 0) { + throw new RuntimeException("insertNewData异常"); + } + res = insertNewDetailData(tmTask); + if (res == 0) { + throw new RuntimeException("insertNewDetailData异常"); + } + } catch (Exception e) { + e.printStackTrace(); + } + return res; + } + + private int deletePreDetailData(TmTask tmTask) { + int res = 0; + List leaseApplyDetails = leaseApplyDetailsMapper.selectByTaskId(tmTask); + for (LeaseApplyDetails leaseApplyDetail : leaseApplyDetails) { + res = leaseApplyDetailsMapper.deleteByPrimaryKey(leaseApplyDetail.getId()); + } + return res; + } + + private int insertNewData(TmTask task) { + int res = 0; + LeaseApplyInfo leaseApplyInfo1 = task.getLeaseApplyInfo(); + String leasePerson = ""; + String remark = ""; + String phone = ""; + if (leaseApplyInfo1 != null) { + leasePerson = leaseApplyInfo1.getLeasePerson(); + remark = leaseApplyInfo1.getRemark(); + phone = leaseApplyInfo1.getPhone(); + } + List leaseApplyDetails = task.getLeaseApplyDetails(); + Long taskId = task.getTaskId(); + if (CollUtil.isNotEmpty(leaseApplyDetails)) { + for (LeaseApplyDetails leaseApplyDetail : leaseApplyDetails) { + LeaseApplyInfo leaseApplyInfos = leaseApplyInfoMapper.selectByTaskIdAndCompId(String.valueOf(taskId), String.valueOf(leaseApplyDetail.getCompanyId())); + if (leaseApplyInfos == null) { + LeaseApplyInfo leaseApplyInfo = new LeaseApplyInfo(); + String code = this.genderLeaseCode(); + leaseApplyInfo.setCode(code); + leaseApplyInfo.setTaskId(task.getTaskId().intValue()); + leaseApplyInfo.setCode(task.getLeaseApplyInfoList().get(0).getCode()); + leaseApplyInfo.setLeasePerson(leasePerson); + leaseApplyInfo.setPhone(phone); + leaseApplyInfo.setRemark(remark); + leaseApplyInfo.setType(task.getLeaseApplyInfoList().get(0).getType()); + leaseApplyInfo.setCompanyId(leaseApplyDetail.getCompanyId()); + res = leaseApplyInfoMapper.insert(leaseApplyInfo); + } + } + + return res; + } else { + return res; + } + } + + private int insertNewDetailData(TmTask task) { + int res = 0; + List leaseApplyDetails = task.getLeaseApplyDetails(); + Long taskId = task.getTaskId(); + if (CollUtil.isNotEmpty(leaseApplyDetails)) { + for (LeaseApplyDetails leaseApplyDetail : leaseApplyDetails) { + LeaseApplyInfo leaseApplyInfos = leaseApplyInfoMapper.selectByTaskIdAndCompId(String.valueOf(taskId), String.valueOf(leaseApplyDetail.getCompanyId())); + Integer id = leaseApplyInfos.getId(); + if (leaseApplyDetail.getCompanyId() == leaseApplyInfos.getCompanyId()) { + leaseApplyDetail.setParenntId(id); + res = leaseApplyDetailsMapper.insert(leaseApplyDetail); + } + } + return res; + } else { + return res; + } + } + + private int deletePreData(TmTask task) { + Long taskId = task.getTaskId(); + return this.deleteLeaseInfoByTaskId(String.valueOf(taskId)); + } + /** * @param task 查询条件 * @return 协议的id diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml index 9bab2edb..c0844b87 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml @@ -36,6 +36,10 @@ from lease_apply_details where parennt_id = #{parentId} + delete from lease_apply_details diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseApplyInfoMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseApplyInfoMapper.xml index c4a21039..f00bdb93 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseApplyInfoMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/LeaseApplyInfoMapper.xml @@ -38,6 +38,12 @@ from lease_apply_info where id = #{id,jdbcType=INTEGER} + diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml index 29add6a8..fe1d688b 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml @@ -38,7 +38,7 @@ - update lease_apply_info set `status` = '0' + delete from lease_apply_info where task_id = #{taskId} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/WorkSiteDirectManageController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/WorkSiteDirectManageController.java index 1624d030..1148788b 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/WorkSiteDirectManageController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/WorkSiteDirectManageController.java @@ -4,10 +4,15 @@ import cn.hutool.core.collection.CollUtil; import com.bonus.sgzb.base.api.domain.DirectApplyDetails; import com.bonus.sgzb.base.api.domain.DirectApplyInfo; import com.bonus.sgzb.base.api.domain.SltAgreementInfo; +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; import com.bonus.sgzb.common.core.web.page.TableDataInfo; import com.bonus.sgzb.material.domain.DirectApplyInfoDetails; +import com.bonus.sgzb.material.domain.LeaseApplyDetails; +import com.bonus.sgzb.material.domain.LeaseApplyInfo; +import com.bonus.sgzb.material.domain.TmTask; +import com.bonus.sgzb.material.service.ApplyInfoService; import com.bonus.sgzb.material.service.TaskService; import com.bonus.sgzb.material.service.WorkSiteDirectManageService; import io.swagger.annotations.Api; @@ -15,6 +20,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; @@ -31,6 +37,11 @@ public class WorkSiteDirectManageController extends BaseController { @Resource private WorkSiteDirectManageService workSiteDirectManageService; + @Resource + private ApplyInfoService leaseApplyInfoService; + /* @Resource + private LeaseApplyDetailsService leaseApplyDetailsService;*/ + @Resource private TaskService tmTaskService; @@ -60,7 +71,7 @@ public class WorkSiteDirectManageController extends BaseController { /** * 存储退料领料数据 */ - @ApiOperation(value = "保存直转方和接收方数据(提交)") + @ApiOperation(value = "保存直转方和接收方数据") @PostMapping("/submit") public AjaxResult submit(@RequestBody List directApplyInfoDetails) { if (CollUtil.isNotEmpty(directApplyInfoDetails)) { @@ -85,20 +96,99 @@ public class WorkSiteDirectManageController extends BaseController { return AjaxResult.success("保存成功"); } - - /** - * 通过 - */ - @ApiOperation(value = "通过") + /*@ApiOperation(value = "通过") @PostMapping("/pass") public AjaxResult pass(@RequestBody DirectApplyInfoDetails directApplyInfoDetails) { if (directApplyInfoDetails.getDirectApplyInfos() != null) { DirectApplyInfo directApplyInfos = directApplyInfoDetails.getDirectApplyInfos(); directApplyInfos.setStatus("1"); workSiteDirectManageService.refuseDirectApplyInfo(directApplyInfos); + } else { + return AjaxResult.error("直转信息为空,未通过"); } - return AjaxResult.success("审核未通过"); - } + //创建领料任务 + try { + TmTask task = directApplyInfoDetails.getTask(); + if (StringUtils.isNull(task)) { + return AjaxResult.error("参数错误"); + } + String code = tmTaskService.genderLeaseCode(); + if (StringUtils.isEmpty(code)) { + return AjaxResult.error("后台生成CODE编号异常,请重试!"); + } + task.setCode(code); + // 创建任务 + boolean addTaskResult = tmTaskService.insertSelective(task) > 0; + //任务与协议建立关联关系 + boolean i = tmTaskService.insertAgreement(task) > 0; + + if (addTaskResult && task.getLeaseApplyInfo() != null) { + if (CollUtil.isEmpty(task.getLeaseApplyDetails())) { + return AjaxResult.error("领料设备明细为空,请重新选择后上传!"); + } + if (StringUtils.isNull(task.getLeaseApplyInfo())) { + return AjaxResult.error("领料任务信息为空,请重新选择后上传!"); + } + + // 获取任务编号 + String taskId = task.getId(); + List> deviceByCompanyList = CollUtil.groupByField(task.getLeaseApplyDetails(), "companyId"); + // 对拆分后的集合进行each遍历 + for (List leaseApplyDetailsList : deviceByCompanyList) { + // 判断拆分后的集合内是否有数据 + if (CollUtil.isNotEmpty(leaseApplyDetailsList)) { + // 对领料任务表的对象做数据处理 + LeaseApplyInfo leaseApplyInfo = task.getLeaseApplyInfo(); + leaseApplyInfo.setCode(code); // 创建领料单号 + leaseApplyInfo.setTaskId(Integer.valueOf(taskId)); // 设置任务ID + leaseApplyInfo.setCompanyId(leaseApplyDetailsList.get(0).getCompanyId()); // 设置设备所属分公司,用于交给哪家审核 + leaseApplyInfo.setType("2"); // 设置审批层级,先固定2层,后期根据接口传入Type区分来源设定 + + // 创建领料任务,返回领料任务编号 + boolean addLeaseTaskResult = leaseApplyInfoService.genderLeaseCode(leaseApplyInfo) > 0; + // 领料任务创建完成,进行领料任务明细插入 + if (addLeaseTaskResult) { + // 领料任务编号 + Integer leaseTaskId = leaseApplyInfo.getId(); + ArrayList ids = new ArrayList(); + if (StringUtils.isNotNull(leaseTaskId)) { + for (LeaseApplyDetails leaseApplyDetails : leaseApplyDetailsList) { + leaseApplyDetails.setParenntId(leaseTaskId); // 设置领料任务ID + ids.add(leaseApplyDetails.getId()); + } + // 插入领料任务明细 + boolean addLeaseTaskDetailsResult = leaseApplyDetailsService.batchInsert(leaseApplyDetailsList) > 0; + if (addLeaseTaskDetailsResult) { + System.out.println("领料任务创建成功"); + leaseUserBookService.batchDel(ids); + } else { + System.out.println("领料任务创建成功,但领料任务明细插入失败"); + } + } else { + return AjaxResult.error("领料任务编号为空"); + } + } else { + return AjaxResult.error("创建领料任务失败,或领料明细为空"); + } + } + } + if (StringUtils.isEmpty(taskId)) { + return AjaxResult.error("任务编号为空,创建失败"); + } + } else { + return AjaxResult.error("创建任务失败"); + } + } catch (Exception e) { + return AjaxResult.error("创建任务失败," + e.getCause().toString() + "," + e.getMessage()); + } + + + + //创建退料任务 + + return AjaxResult.success(); + }*/ + /** * 不通过 */ @@ -108,10 +198,10 @@ public class WorkSiteDirectManageController extends BaseController { if (directApplyInfo != null) { directApplyInfo.setStatus("2"); workSiteDirectManageService.refuseDirectApplyInfo(directApplyInfo); - }else { + } else { return AjaxResult.error("参数为空,审核失败"); } - return AjaxResult.success("审核通过"); + return AjaxResult.success(); } } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/ApplyInfoMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/ApplyInfoMapper.java new file mode 100644 index 00000000..3f5572f7 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/ApplyInfoMapper.java @@ -0,0 +1,17 @@ +package com.bonus.sgzb.material.mapper; + +import com.bonus.sgzb.material.domain.AgreementInfo; +import com.bonus.sgzb.material.domain.LeaseApplyInfo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.Date; +import java.util.List; + +/** + * @author lsun + */ +@Mapper +public interface ApplyInfoMapper { + + int insertSelective(LeaseApplyInfo record); +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/TaskMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/TaskMapper.java index c246843c..d5b236e9 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/TaskMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/TaskMapper.java @@ -71,4 +71,8 @@ public interface TaskMapper { * @return */ int selectTaskNumByMonth(@Param("date") Date date, @Param("taskType") Integer taskType); + + int insertSelective(TmTask task); + + int insertAgreement(TmTask task); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/ApplyInfoService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/ApplyInfoService.java new file mode 100644 index 00000000..41fbbb16 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/ApplyInfoService.java @@ -0,0 +1,11 @@ +package com.bonus.sgzb.material.service; + +import com.bonus.sgzb.material.domain.LeaseApplyInfo; + +/** + * @Author:梁超 + * @date:2024/3/6 - 17:41 + */ +public interface ApplyInfoService { + int genderLeaseCode(LeaseApplyInfo record); +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/TaskService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/TaskService.java index fb39798d..05e7e520 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/TaskService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/TaskService.java @@ -62,4 +62,8 @@ public interface TaskService public int deleteTmTaskByTaskId(Long taskId); String genderLeaseCode(); + + int insertSelective(TmTask task); + + int insertAgreement(TmTask task); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ApplyInfoServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ApplyInfoServiceImpl.java new file mode 100644 index 00000000..39090697 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ApplyInfoServiceImpl.java @@ -0,0 +1,25 @@ +package com.bonus.sgzb.material.service.impl; + +import com.bonus.sgzb.material.domain.LeaseApplyInfo; +import com.bonus.sgzb.material.mapper.ApplyInfoMapper; +import com.bonus.sgzb.material.service.ApplyInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @Author:梁超 + * @date:2024/3/6 - 17:42 + */ +@Service +public class ApplyInfoServiceImpl implements ApplyInfoService { + + @Resource + private ApplyInfoMapper leaseApplyInfoMapper; + + @Override + public int genderLeaseCode(LeaseApplyInfo record) { + return leaseApplyInfoMapper.insertSelective(record); + } +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/TaskServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/TaskServiceImpl.java index aba7f1cc..ed6fc267 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/TaskServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/TaskServiceImpl.java @@ -115,4 +115,14 @@ public class TaskServiceImpl implements TaskService } return code; } + + @Override + public int insertSelective(TmTask task) { + return tmTaskMapper.insertSelective(task); + } + + @Override + public int insertAgreement(TmTask task) { + return tmTaskMapper.insertAgreement(task); + } } diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/ApplyInfoMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/ApplyInfoMapper.xml new file mode 100644 index 00000000..ca47c1b6 --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/ApplyInfoMapper.xml @@ -0,0 +1,116 @@ + + + + + insert into lease_apply_info + + + code, + + + task_id, + + + lease_person, + + + phone, + + + `type`, + + + company_audit_by, + + + company_audit_time, + + + company_audit_remark, + + + dept_audit_by, + + + dept_audit_time, + + + dept_audit_remark, + + + create_by, + + + create_time, + + + update_by, + + + update_time, + + + remark, + + + company_id, + + + + + #{code,jdbcType=VARCHAR}, + + + #{taskId,jdbcType=INTEGER}, + + + #{leasePerson,jdbcType=VARCHAR}, + + + #{phone,jdbcType=VARCHAR}, + + + #{type,jdbcType=VARCHAR}, + + + #{companyAuditBy,jdbcType=INTEGER}, + + + #{companyAuditTime,jdbcType=VARCHAR}, + + + #{companyAuditRemark,jdbcType=VARCHAR}, + + + #{deptAuditBy,jdbcType=INTEGER}, + + + #{deptAuditTime,jdbcType=VARCHAR}, + + + #{deptAuditRemark,jdbcType=VARCHAR}, + + + #{createBy,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateBy,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{remark,jdbcType=VARCHAR}, + + + #{companyId,jdbcType=INTEGER}, + + + + + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/TaskMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/TaskMapper.xml index a3900258..f43a8010 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/TaskMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/TaskMapper.xml @@ -60,6 +60,63 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{companyId}, + + insert into tm_task + + + task_type, + + + task_status, + + + code, + + + create_by, + + create_time, + + update_by, + + update_time, + + remark, + + + company_id, + + + + + #{taskType,jdbcType=INTEGER}, + + + #{taskStatus,jdbcType=INTEGER}, + + + #{code,jdbcType=VARCHAR}, + + + #{createBy,jdbcType=VARCHAR}, + + now(), + + #{updateBy,jdbcType=VARCHAR}, + + now(), + + #{remark,jdbcType=VARCHAR}, + + + #{companyId,jdbcType=INTEGER}, + + + + + INSERT INTO tm_task_agreement ( `task_id`, `agreement_id`, `create_by`, `create_time`, `company_id` ) + VALUES(#{id},#{agreementId},#{createBy},NOW(),#{companyId}) + update tm_task