diff --git a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java index a76116b7..7dabb74a 100644 --- a/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java +++ b/sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java @@ -58,6 +58,9 @@ public class TokenController { LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); String uuid = form.getUuid(); String captcha = redisService.getCacheObject(CacheConstants.CAPTCHA_CODE_KEY + uuid).toString(); + if (StringUtils.isBlank(captcha)){ + return R.fail("验证码超时,请重新刷新"); + } if (form.getCode() != null && form.getCode().equals(captcha)) { // 获取登录token return R.ok(tokenService.createToken(userInfo)); diff --git a/sgzb-common/sgzb-common-redis/src/main/java/com/bonus/sgzb/common/redis/service/RedisService.java b/sgzb-common/sgzb-common-redis/src/main/java/com/bonus/sgzb/common/redis/service/RedisService.java index a93b8a24..695770b0 100644 --- a/sgzb-common/sgzb-common-redis/src/main/java/com/bonus/sgzb/common/redis/service/RedisService.java +++ b/sgzb-common/sgzb-common-redis/src/main/java/com/bonus/sgzb/common/redis/service/RedisService.java @@ -96,6 +96,16 @@ public class RedisService return redisTemplate.hasKey(key); } + /** + * 删除单个对象 + * + * @param key + */ + public boolean deleteObject(final String key) + { + return redisTemplate.delete(key); + } + /** * 获得缓存的基本对象。 * @@ -108,16 +118,6 @@ public class RedisService return operation.get(key); } - /** - * 删除单个对象 - * - * @param key - */ - public boolean deleteObject(final String key) - { - return redisTemplate.delete(key); - } - /** * 删除集合对象 * 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 18ee0804..87f20255 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 @@ -105,90 +105,45 @@ public class WorkSiteDirectManageController extends BaseController { return AjaxResult.success("保存成功"); } - /* @ApiOperation(value = "通过") + @ApiOperation(value = "通过") @PostMapping("/pass") public AjaxResult pass(@RequestBody DirectApplyInfoDetails directApplyInfoDetails) { - if (directApplyInfoDetails.getDirectApplyInfo() != null) { - DirectApplyInfo directApplyInfos = directApplyInfoDetails.getDirectApplyInfo(); + // 修改direct_apply_info 状态 + if (StringUtils.isNotBlank(directApplyInfoDetails.getDirectApplyInfoId())) { + DirectApplyInfo directApplyInfos = workSiteDirectManageService.getDirectApplyInfoById(directApplyInfoDetails.getDirectApplyInfoId()); directApplyInfos.setStatus("1"); workSiteDirectManageService.refuseDirectApplyInfo(directApplyInfos); } else { return AjaxResult.error("直转信息为空,未通过"); } - //创建领料任务 - try { - TmTask task = directApplyInfoDetails.getTask(); - if (StringUtils.isNull(task)) { - return AjaxResult.error("参数错误"); - } + + TmTask task = directApplyInfoDetails.getTask(); + if (task == null) { + return AjaxResult.error("任务新建失败"); + } else { String code = tmTaskService.genderLeaseCode(); if (StringUtils.isEmpty(code)) { - return AjaxResult.error("后台生成CODE编号异常,请重试!"); + return AjaxResult.error("领料单号生成失败"); } 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("创建任务失败"); + // 创建领料任务(tm_task) + int res1 = workSiteDirectManageService.insertLeaseApplyInfo(task); + if (res1 == 0) { + return AjaxResult.error("任务新建失败"); } - } catch (Exception e) { - return AjaxResult.error("创建任务失败," + e.getCause().toString() + "," + e.getMessage()); + + //任务与协议建立关联关系 (tm_task_agreement) + int res2 = workSiteDirectManageService.insertAgreement(task); + if (res2 == 0) { + return AjaxResult.error("协议建立失败"); + } + + //新增领料信息和详情(lease_apply_info、lease_apply_details) + int res3 = workSiteDirectManageService.insertApplyInfoAndDetails(task); + if (res3 == 0) { + return AjaxResult.error("领料信息和详情新增失败"); + } + } @@ -196,7 +151,7 @@ public class WorkSiteDirectManageController extends BaseController { //创建退料任务 return AjaxResult.success(); - }*/ + } /** * 不通过 diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/DirectApplyInfoDetails.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/DirectApplyInfoDetails.java index 30bea736..09d9b2fc 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/DirectApplyInfoDetails.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/DirectApplyInfoDetails.java @@ -15,10 +15,10 @@ import java.util.List; public class DirectApplyInfoDetails extends BaseEntity { private static final long serialVersionUID = 1L; + private String directApplyInfoId; private DirectApplyInfo directApplyInfo; private List directApplyInfoDetails; - private TmTask task; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/WorkSiteDirectManageMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/WorkSiteDirectManageMapper.java index 4a8e6b56..88bdbe1d 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/WorkSiteDirectManageMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/WorkSiteDirectManageMapper.java @@ -4,8 +4,12 @@ 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.base.api.domain.SltAgreementRelation; +import com.bonus.sgzb.material.domain.LeaseApplyDetails; +import com.bonus.sgzb.material.domain.LeaseApplyInfo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -33,4 +37,11 @@ public interface WorkSiteDirectManageMapper { List getList(); + DirectApplyInfo getDirectApplyInfoById(String directApplyInfoDetails); + + int insertSelective(LeaseApplyInfo leaseApplyInfo); + + int batchInsert(List leaseApplyDetailsList); + + int batchDel(@Param("ids") ArrayList ids); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/WorkSiteDirectManageService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/WorkSiteDirectManageService.java index e681b064..1e8ed862 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/WorkSiteDirectManageService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/WorkSiteDirectManageService.java @@ -4,6 +4,8 @@ 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.base.api.domain.SltAgreementRelation; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; +import com.bonus.sgzb.material.domain.TmTask; import java.util.List; @@ -22,4 +24,12 @@ public interface WorkSiteDirectManageService { List getList(); String genderLeaseCode(); + + DirectApplyInfo getDirectApplyInfoById(String directApplyInfoDetails); + + int insertLeaseApplyInfo(TmTask task); + + int insertAgreement(TmTask task); + + int insertApplyInfoAndDetails(TmTask task); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/WorkSiteDirectManageImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/WorkSiteDirectManageImpl.java index 4d782930..bdd0c933 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/WorkSiteDirectManageImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/WorkSiteDirectManageImpl.java @@ -1,10 +1,17 @@ package com.bonus.sgzb.material.service.impl; +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.DateUtils; +import com.bonus.sgzb.common.core.utils.StringUtils; +import com.bonus.sgzb.common.core.web.domain.AjaxResult; +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.mapper.WorkSiteDirectManageMapper; +import com.bonus.sgzb.material.service.TaskService; import com.bonus.sgzb.material.service.WorkSiteDirectManageService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -14,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.time.LocalDate; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -27,6 +35,8 @@ public class WorkSiteDirectManageImpl implements WorkSiteDirectManageService { @Resource private WorkSiteDirectManageMapper workSiteDirectManageMapper; + @Resource + private TaskService tmTaskService; @Override public List getUseringData(String agreementId) { @@ -65,4 +75,95 @@ public class WorkSiteDirectManageImpl implements WorkSiteDirectManageService { String code = "ZZ" + format + "-" + list.size() + i; return code; } + + @Override + public DirectApplyInfo getDirectApplyInfoById(String directApplyInfoDetails) { + return workSiteDirectManageMapper.getDirectApplyInfoById(directApplyInfoDetails); + } + + @Override + public int insertLeaseApplyInfo(TmTask task) { + int res = 0; + if (StringUtils.isNull(task)) { + return res; + } + // 创建任务 + int i = tmTaskService.insertSelective(task); + if (i < 1) { + return res; + } else { + res = 1; + return res; + } + } + + @Override + public int insertAgreement(TmTask task) { + int res = 0; + boolean b = tmTaskService.insertAgreement(task) > 0; + if (b) { + res = 1; + } + return res; + } + + @Override + public int insertApplyInfoAndDetails(TmTask task) { + int res = 0; + if (task.getLeaseApplyInfo() != null) { + if (CollUtil.isEmpty(task.getLeaseApplyDetails())) { + return res; + } + if (StringUtils.isNull(task.getLeaseApplyInfo())) { + return res; + } + + // 获取任务编号 + 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(task.getCode()); // 创建领料单号 + leaseApplyInfo.setTaskId(Integer.valueOf(taskId)); // 设置任务ID + leaseApplyInfo.setCompanyId(leaseApplyDetailsList.get(0).getCompanyId()); // 设置设备所属分公司,用于交给哪家审核 + leaseApplyInfo.setType("2"); // 设置审批层级,先固定2层,后期根据接口传入Type区分来源设定 + + // 创建领料任务,返回领料任务编号 + boolean addLeaseTaskResult = workSiteDirectManageMapper.insertSelective(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 = workSiteDirectManageMapper.batchInsert(leaseApplyDetailsList) > 0; + if (addLeaseTaskDetailsResult) { + System.out.println("领料任务创建成功"); + workSiteDirectManageMapper.batchDel(ids); + } else { + return res; + } + } else { + return res; + } + } else { + return res; + } + } + } + res = 1; + return res; + } else { + return res; + } + } } diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/WorkSiteDirectManageMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/WorkSiteDirectManageMapper.xml index 337596bd..c3fafa73 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/WorkSiteDirectManageMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/WorkSiteDirectManageMapper.xml @@ -93,9 +93,140 @@ insert into direct_apply_info(direct_id,type_id,ma_id,direct_num) values (#{directId},#{typeId},#{maId}, #{directNum}) + + + 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}, + + + + + + insert into lease_apply_details + (parennt_id, type_id, pre_num, al_num, `status`, create_by, create_time, update_by, + update_time, remark, company_id) + values + + (#{item.parenntId,jdbcType=INTEGER}, #{item.typeId,jdbcType=INTEGER}, #{item.preNum,jdbcType=FLOAT}, + #{item.alNum,jdbcType=FLOAT}, #{item.status,jdbcType=VARCHAR}, #{item.createBy,jdbcType=VARCHAR}, + NOW(), #{item.updateBy,jdbcType=VARCHAR}, NOW(), + #{item.remark,jdbcType=VARCHAR}, #{item.companyId,jdbcType=INTEGER}) + + update direct_apply_info set status = #{status} where id = #{id} + + delete + from lease_user_book + where id in + + #{id} + + select * from direct_apply_info + \ No newline at end of file