From 9fa8b537c93d1f3a7ab6914746c215781284dcde Mon Sep 17 00:00:00 2001 From: syruan <1555146157@163.com> Date: Tue, 19 Dec 2023 00:53:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E6=96=99=E7=94=B3=E8=AF=B7=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/api/domain/LeaseApplyDetails.java | 15 ++++++++ .../sgzb/base/api/domain/LeaseApplyInfo.java | 3 ++ .../bonus/sgzb/base/api/domain/TmTask.java | 28 ++++++++++++++ .../common/security/service/TokenService.java | 23 +++++++----- .../sgzb/app/controller/TmTaskController.java | 25 ++++++++++--- .../bonus/sgzb/app/mapper/TmTaskMapper.java | 6 +-- .../app/service/impl/TmTaskServiceImpl.java | 19 ++++++++-- .../resources/mapper/app/TmTaskMapper.xml | 37 ++++++++++++------- 8 files changed, 118 insertions(+), 38 deletions(-) diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/LeaseApplyDetails.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/LeaseApplyDetails.java index e133a595..42073e0f 100644 --- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/LeaseApplyDetails.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/LeaseApplyDetails.java @@ -3,6 +3,7 @@ package com.bonus.sgzb.base.api.domain; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; @@ -38,6 +39,18 @@ public class LeaseApplyDetails implements Serializable { @ApiModelProperty(value = "规格ID") private Integer typeId; + /** + * 类型名称 + */ + @ApiModelProperty(value = "类型名称") + private String typeName; + + /** + * 规格型号 + */ + @ApiModelProperty(value = "规格型号") + private String typeModelName; + /** * 预领料数 */ @@ -70,6 +83,7 @@ public class LeaseApplyDetails implements Serializable { * 创建时间 */ @ApiModelProperty(value = "创建时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; /** @@ -82,6 +96,7 @@ public class LeaseApplyDetails implements Serializable { * 更新时间 */ @ApiModelProperty(value = "更新时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; /** diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/LeaseApplyInfo.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/LeaseApplyInfo.java index a3823db3..137f5c30 100644 --- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/LeaseApplyInfo.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/LeaseApplyInfo.java @@ -3,6 +3,7 @@ package com.bonus.sgzb.base.api.domain; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; @@ -119,6 +120,7 @@ public class LeaseApplyInfo implements Serializable { * 创建时间 */ @ApiModelProperty(value = "创建时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; /** @@ -131,6 +133,7 @@ public class LeaseApplyInfo implements Serializable { * 更新时间 */ @ApiModelProperty(value = "更新时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; /** diff --git a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/TmTask.java b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/TmTask.java index b2ced482..f631586e 100644 --- a/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/TmTask.java +++ b/sgzb-api/sgzb-api-system/src/main/java/com/bonus/sgzb/base/api/domain/TmTask.java @@ -3,6 +3,7 @@ package com.bonus.sgzb.base.api.domain; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; @@ -41,6 +42,12 @@ public class TmTask implements Serializable { @ApiModelProperty(value="任务状态(数据字典)") private Integer taskStatus; + /** + * 预领料合计数 + */ + @ApiModelProperty(value="预领料合计数") + private int preCountNum; + /** * 编号 */ @@ -53,10 +60,29 @@ public class TmTask implements Serializable { @ApiModelProperty(value="创建者") private String createBy; + /** + * 申请人手机号码 + */ + @ApiModelProperty(value="手机号") + private String phoneNumber; + + /** + * 部门名称 + */ + @ApiModelProperty(value="部门名称") + private String deptName; + + /** + * 工程名称 + */ + @ApiModelProperty(value="工程名称") + private String proName; + /** * 创建时间 */ @ApiModelProperty(value="创建时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; /** @@ -69,6 +95,7 @@ public class TmTask implements Serializable { * 更新时间 */ @ApiModelProperty(value="更新时间") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; /** @@ -101,6 +128,7 @@ public class TmTask implements Serializable { @ApiModelProperty(value="领料任务详情集合") private List leaseApplyDetails; + private Integer agreementId; private Integer backPerson; private String phone; diff --git a/sgzb-common/sgzb-common-security/src/main/java/com/bonus/sgzb/common/security/service/TokenService.java b/sgzb-common/sgzb-common-security/src/main/java/com/bonus/sgzb/common/security/service/TokenService.java index 349a2a4a..43911b9b 100644 --- a/sgzb-common/sgzb-common-security/src/main/java/com/bonus/sgzb/common/security/service/TokenService.java +++ b/sgzb-common/sgzb-common-security/src/main/java/com/bonus/sgzb/common/security/service/TokenService.java @@ -1,15 +1,5 @@ package com.bonus.sgzb.common.security.service; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import javax.servlet.http.HttpServletRequest; - -import com.bonus.sgzb.common.security.utils.SecurityUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import com.bonus.sgzb.common.core.constant.CacheConstants; import com.bonus.sgzb.common.core.constant.SecurityConstants; import com.bonus.sgzb.common.core.utils.JwtUtils; @@ -18,7 +8,17 @@ import com.bonus.sgzb.common.core.utils.StringUtils; import com.bonus.sgzb.common.core.utils.ip.IpUtils; import com.bonus.sgzb.common.core.utils.uuid.IdUtils; import com.bonus.sgzb.common.redis.service.RedisService; +import com.bonus.sgzb.common.security.utils.SecurityUtils; import com.bonus.sgzb.system.api.model.LoginUser; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; /** * token验证处理 @@ -67,6 +67,9 @@ public class TokenService Map rspMap = new HashMap(); rspMap.put("access_token", JwtUtils.createToken(claimsMap)); rspMap.put("expires_in", expireTime); + //密码置空后返回 + loginUser.getSysUser().setPassword(""); + rspMap.put("login_user", loginUser); return rspMap; } 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 dba1d0a9..f4425980 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 @@ -63,10 +63,15 @@ public class TmTaskController extends BaseController { return AjaxResult.error("参数错误"); } try { + String code = tmTaskService.genderLeaseCode(); + if (StringUtils.isEmpty(code)) { + return AjaxResult.error("后台生成CODE编号异常,请重试!"); + } + task.setCode(code); // 创建任务 boolean addTaskResult = tmTaskService.insertSelective(task) > 0; if (addTaskResult && task.getLeaseApplyInfo() != null) { - if (CollUtil.isNotEmpty(task.getLeaseApplyDetails())) { + if (CollUtil.isEmpty(task.getLeaseApplyDetails())) { return AjaxResult.error("领料设备明细为空,请重新选择后上传!"); } if (StringUtils.isNull(task.getLeaseApplyInfo())) { @@ -76,7 +81,7 @@ public class TmTaskController extends BaseController { // 获取任务编号 String taskId = task.getId(); // 根据设备所属分公司拆分集合 - List> deviceByCompanyList = CollUtil.group(task.getLeaseApplyDetails(), LeaseApplyDetails::getCompanyId); + List> deviceByCompanyList = CollUtil.groupByField(task.getLeaseApplyDetails(), "companyId"); // 对拆分后的集合进行遍历 for (List leaseApplyDetailsList : deviceByCompanyList) { @@ -84,7 +89,7 @@ public class TmTaskController extends BaseController { if (CollUtil.isNotEmpty(leaseApplyDetailsList)) { // 对领料任务表的对象做数据处理 LeaseApplyInfo leaseApplyInfo = task.getLeaseApplyInfo(); - leaseApplyInfo.setCode(tmTaskService.genderLeaseCode()); // 创建领料单号 + leaseApplyInfo.setCode(code); // 创建领料单号 leaseApplyInfo.setTaskId(Integer.valueOf(taskId)); // 设置任务ID leaseApplyInfo.setCompanyId(leaseApplyDetailsList.get(0).getCompanyId()); // 设置设备所属分公司,用于交给哪家审核 leaseApplyInfo.setType("2"); // 设置审批层级,先固定2层,后期根据接口传入Type区分来源设定 @@ -96,6 +101,9 @@ public class TmTaskController extends BaseController { // 领料任务编号 Integer leaseTaskId = leaseApplyInfo.getId(); if (StringUtils.isNotNull(leaseTaskId)) { + for (LeaseApplyDetails leaseApplyDetails : leaseApplyDetailsList) { + leaseApplyDetails.setParenntId(leaseTaskId); // 设置领料任务ID + } // 插入领料任务明细 boolean addLeaseTaskDetailsResult = leaseApplyDetailsService.batchInsert(leaseApplyDetailsList) > 0; if (addLeaseTaskDetailsResult) { @@ -103,6 +111,8 @@ public class TmTaskController extends BaseController { } else { System.out.println("领料任务创建成功,但领料任务明细插入失败"); } + } else { + return AjaxResult.error("领料任务编号为空"); } } else { return AjaxResult.error("创建领料任务失败,或领料明细为空"); @@ -115,7 +125,7 @@ public class TmTaskController extends BaseController { } return AjaxResult.success("任务创建成功,已完成"); } catch (Exception e) { - return AjaxResult.error("创建任务失败," + e.getMessage()); + return AjaxResult.error("创建任务失败," + e.getCause().toString() + "," + e.getMessage()); } } @@ -132,6 +142,8 @@ public class TmTaskController extends BaseController { return AjaxResult.error("参数错误"); } try { + String code = tmTaskService.genderLeaseCode(); + task.setCode(code); // 创建任务 boolean addTaskResult = tmTaskService.insertSelective(task) > 0; if (addTaskResult && task.getLeaseApplyInfo() != null) { @@ -145,7 +157,8 @@ public class TmTaskController extends BaseController { // 获取任务编号 String taskId = task.getId(); // 根据设备所属分公司拆分集合 - List> deviceByCompanyList = CollUtil.group(task.getLeaseApplyDetails(), LeaseApplyDetails::getCompanyId); + // List> deviceByCompanyList = CollUtil.group(task.getLeaseApplyDetails(), LeaseApplyDetails::getCompanyId); + List> deviceByCompanyList = CollUtil.groupByField(task.getLeaseApplyDetails(), "companyId"); // 对拆分后的集合进行遍历 for (List leaseApplyDetailsList : deviceByCompanyList) { @@ -153,7 +166,7 @@ public class TmTaskController extends BaseController { if (CollUtil.isNotEmpty(leaseApplyDetailsList)) { // 对领料任务表的对象做数据处理 LeaseApplyInfo leaseApplyInfo = task.getLeaseApplyInfo(); - leaseApplyInfo.setCode(tmTaskService.genderLeaseCode()); // 创建领料单号 + leaseApplyInfo.setCode(code); // 创建领料单号 leaseApplyInfo.setTaskId(Integer.valueOf(taskId)); // 设置任务ID leaseApplyInfo.setCompanyId(leaseApplyDetailsList.get(0).getCompanyId()); // 设置设备所属分公司,用于交给哪家审核 leaseApplyInfo.setType("1"); // 设置审批层级,先固定2层,后期根据接口传入Type区分来源设定 diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java index 77d91510..88fe86c3 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java @@ -3,12 +3,10 @@ package com.bonus.sgzb.app.mapper; import com.bonus.sgzb.base.api.domain.LeaseApplyDetails; import com.bonus.sgzb.base.api.domain.LeaseApplyInfo; import com.bonus.sgzb.base.api.domain.TmTask; - -import java.util.Date; -import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -26,7 +24,7 @@ public interface TmTaskMapper { * @param record 筛选条件 * @return TmTask列表 */ - List getAuditListByLeaseTmTask(TmTask record); + List getAuditListByLeaseTmTask(@Param("record") TmTask record); List getAuditListByLeaseInfo(@Param("record") 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 f15ae2f2..58d54ce2 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 @@ -8,12 +8,13 @@ import com.bonus.sgzb.base.api.domain.LeaseApplyInfo; import com.bonus.sgzb.base.api.domain.TmTask; import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.core.utils.StringUtils; -import org.apache.commons.lang3.RandomStringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.Random; + /** * Description: * @Author 阮世耀 @@ -34,6 +35,7 @@ public class TmTaskServiceImpl implements TmTaskService{ public List getLeaseAuditList(TmTask record) { List tmTaskList = tmTaskMapper.getAuditListByLeaseTmTask(record); for (TmTask tmTask : tmTaskList) { + int count = 0; if (tmTask != null) { // 去查询任务分单表 List auditListByLeaseInfo = tmTaskMapper.getAuditListByLeaseInfo(tmTask); @@ -44,6 +46,12 @@ public class TmTaskServiceImpl implements TmTaskService{ // 去查询领料任务详情表 List leaseApplyDetails = tmTaskMapper.getLeaseApplyDetails(leaseApplyInfo); if (leaseApplyDetails != null && !leaseApplyDetails.isEmpty()) { + for (LeaseApplyDetails leaseApplyDetail : leaseApplyDetails) { + if (leaseApplyDetail != null) { + // 统计预领数量 + count += leaseApplyDetail.getPreNum(); + } + } // 塞入领料任务详情集合 leaseApplyInfo.setLeaseApplyDetails(leaseApplyDetails); } @@ -52,6 +60,8 @@ public class TmTaskServiceImpl implements TmTaskService{ // 存入领料任务实体集合 tmTask.setLeaseApplyInfoList(auditListByLeaseInfo); } + // 塞入预领的合计数量 + tmTask.setPreCountNum(count); } } return tmTaskList; @@ -92,10 +102,11 @@ public class TmTaskServiceImpl implements TmTaskService{ @Override public String genderLeaseCode() { - //String code = "0001"; + Random random = new Random(); // 先生成随机4位字符,后期根据数据库当月最大CODE值+1 - String code = RandomStringUtils.randomAlphanumeric(4); - return "L" + DateUtils.getDate() + "-" + code; + int number = random.nextInt(9999); + // 将随机整激格式化4位字符串,不足4位在前面补 + return "L" + DateUtils.getDate() + "-" + String.format("%04d", number); } @Override 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 3d9fd5ed..3f43e585 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 @@ -42,7 +42,7 @@ #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}, #{companyId,jdbcType=INTEGER}) - + insert into tm_task @@ -57,9 +57,7 @@ create_by, - create_time, - update_by, @@ -86,9 +84,7 @@ #{createBy,jdbcType=VARCHAR}, - - #{createTime,jdbcType=TIMESTAMP}, - + now(), #{updateBy,jdbcType=VARCHAR}, @@ -451,7 +447,20 @@ SELECT - lad.* + lad.*, mt.type_name AS typeModelName, mt1.type_name AS typeName FROM lease_apply_details lad + LEFT JOIN ma_type mt ON lad.type_id = mt.type_id + LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id WHERE lad.parennt_id = #{record.taskId} AND lad.company_id = #{record.companyId} @@ -483,17 +494,17 @@ company_audit_by = #{record.companyAuditBy}, - company_audit_time = #{record.companyAuditTime}, + company_audit_time = now(), company_audit_remark = #{record.companyAuditRemark}, dept_audit_by = #{record.companyAuditBy}, - dept_audit_time = #{record.companyAuditTime}, + dept_audit_time = now(), dept_audit_remark = #{record.companyAuditRemark}, direct_audit_by = #{record.directAuditBy}, - direct_audit_time = #{record.directAuditTime} + direct_audit_time = now() WHERE @@ -517,9 +528,7 @@ update_by = #{record.updateBy}, - - update_time = #{record.updateTime} - + update_time = now() where parennt_id = #{record.parenntId}