Commit caf64d8a by “zcwang”

modify:下载超时

parent 16d0ec5c
...@@ -25,7 +25,6 @@ import java.util.stream.Collectors; ...@@ -25,7 +25,6 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.leaderChain;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Workbook;
...@@ -97,6 +96,7 @@ import com.netease.mail.yanxuan.change.integration.flow.ius.IusRpcService; ...@@ -97,6 +96,7 @@ import com.netease.mail.yanxuan.change.integration.flow.ius.IusRpcService;
import com.netease.mail.yanxuan.change.integration.flow.ius.req.IusDepartmentReq; import com.netease.mail.yanxuan.change.integration.flow.ius.req.IusDepartmentReq;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.IusUserInfoRsp; import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.IusUserInfoRsp;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.SecondaryDepartments; import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.SecondaryDepartments;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.leaderChain;
import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierSimpleRsp; import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierSimpleRsp;
import com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo; import com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo;
import com.netease.mail.yanxuan.change.integration.item.meta.SpuTO; import com.netease.mail.yanxuan.change.integration.item.meta.SpuTO;
...@@ -189,19 +189,18 @@ public class ChangeFlowBiz { ...@@ -189,19 +189,18 @@ public class ChangeFlowBiz {
// 工单负责人 // 工单负责人
String changeCommander = null; String changeCommander = null;
// 获取工单负责人 // 获取工单负责人
GoodsResponseRpc goodsResponseRpc; GoodsResponseRpc goodsResponseRpc = null;
try { try {
goodsResponseRpc = interiorChangeConfigService.queryCommanderInfo( goodsResponseRpc = interiorChangeConfigService
ChangeCommanderPO.builder().parentChangeClassId(parentChangeClassId).sonChangeClassId(sonChangeClassId) .queryCommanderInfo(ChangeCommanderPO.builder().parentChangeClassId(parentChangeClassId)
.changeSupplierId(changeFlowCreateReq.getChangeSupplier()).goodsInfos(itemIds).flowCreator(uid).build()); .sonChangeClassId(sonChangeClassId).changeSupplierId(changeFlowCreateReq.getChangeSupplier())
.goodsInfos(itemIds).flowCreator(uid).createSource(changeFlowCreateReq.getCreateSource())
.supplier(changeFlowCreateReq.getSupplier()).build());
changeCommander = goodsResponseRpc.getEmail(); changeCommander = goodsResponseRpc.getEmail();
} catch (Exception e) { } catch (Exception e) {
log.error("[op:queryCommanderInfo] error, e:{}", e); log.error("[op:queryCommanderInfo] error, goodsResponseRpc:{}, e:{}", JSON.toJSONString(goodsResponseRpc),e);
}
if (changeCommander == null) {
changeCommander = appConfig.getTestEmail();
} }
// Assert.notNull(goodsResponseRpc, "未查询到负责人信息"); Assert.notNull(changeCommander, "未查询到负责人信息");
// 检验是否需要资料 // 检验是否需要资料
ChangeConfig changeConfig = changeConfigService.getSonChange(sonChangeClassId); ChangeConfig changeConfig = changeConfigService.getSonChange(sonChangeClassId);
Assert.notNull(changeConfig, "二级变更类型不存在"); Assert.notNull(changeConfig, "二级变更类型不存在");
...@@ -215,7 +214,7 @@ public class ChangeFlowBiz { ...@@ -215,7 +214,7 @@ public class ChangeFlowBiz {
Assert.isTrue(changeExecProject.size() <= appConfig.getChangeExecLimit(), Assert.isTrue(changeExecProject.size() <= appConfig.getChangeExecLimit(),
"变更行动方案配置数超限"); "变更行动方案配置数超限");
// 结束时间不可晚于第二天定时任务执行时间 // 结束时间不可晚于第二天定时任务执行时间
Long tomorrowSpecificTime = DateUtils.getTomorrowSpecificTime("09:00:00"); Long tomorrowSpecificTime = DateUtils.getTomorrowSpecificTime("00:00:00");
if (changeFlowCreateReq.getCreateSource() != 2) { if (changeFlowCreateReq.getCreateSource() != 2) {
if (changeFlowCreateReq.getChangeConfirmResultTime() == null) { if (changeFlowCreateReq.getChangeConfirmResultTime() == null) {
throw ExceptionFactory.createBiz(ResponseCode.BAD_REQUEST, "变更结果确认时间不能为空"); throw ExceptionFactory.createBiz(ResponseCode.BAD_REQUEST, "变更结果确认时间不能为空");
......
...@@ -68,6 +68,8 @@ public class ChangeFlowExportCallback implements DesCallbackService { ...@@ -68,6 +68,8 @@ public class ChangeFlowExportCallback implements DesCallbackService {
public List<List<ExcelCell>> queryExcelData(CallbackQueryReq req) { public List<List<ExcelCell>> queryExcelData(CallbackQueryReq req) {
log.info("[op: address book export callback queryExcelData] req={}", JSON.toJSONString(req)); log.info("[op: address book export callback queryExcelData] req={}", JSON.toJSONString(req));
ChangeFlowExportQuery query = JSON.parseObject(req.getParamJson(), ChangeFlowExportQuery.class); ChangeFlowExportQuery query = JSON.parseObject(req.getParamJson(), ChangeFlowExportQuery.class);
query.setOffset(req.getOffset());
query.setLimit(req.getLimit());
List<ChangeFlowExcelDTO> list = getExportList(query); List<ChangeFlowExcelDTO> list = getExportList(query);
return list.stream().map(ChangeFlowExcelVo::init).collect(Collectors.toList()); return list.stream().map(ChangeFlowExcelVo::init).collect(Collectors.toList());
} }
......
...@@ -82,4 +82,8 @@ public class ChangeFlowExportQuery { ...@@ -82,4 +82,8 @@ public class ChangeFlowExportQuery {
* 登录用户 * 登录用户
*/ */
protected String uid; protected String uid;
private Long limit;
private Long offset;
} }
\ No newline at end of file
package com.netease.mail.yanxuan.change.biz.service.impl; package com.netease.mail.yanxuan.change.biz.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.netease.mail.yanxuan.change.biz.config.AppConfig; import com.netease.mail.yanxuan.change.biz.config.AppConfig;
...@@ -10,6 +26,8 @@ import com.netease.mail.yanxuan.change.common.bean.ResponseCode; ...@@ -10,6 +26,8 @@ import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangePrincipalEnum; import com.netease.mail.yanxuan.change.common.enums.ChangePrincipalEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum;
import com.netease.mail.yanxuan.change.common.enums.CreateSourceEnum;
import com.netease.mail.yanxuan.change.common.enums.SupplierChangePrincipalEnum;
import com.netease.mail.yanxuan.change.dal.entity.ChangeConfig; import com.netease.mail.yanxuan.change.dal.entity.ChangeConfig;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO; import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeGoodsPrincipalPO; import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeGoodsPrincipalPO;
...@@ -26,17 +44,8 @@ import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplier ...@@ -26,17 +44,8 @@ import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplier
import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService; import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService;
import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierRelatedUserReq; import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierRelatedUserReq;
import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierUserRsp; import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierUserRsp;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.*; import lombok.extern.slf4j.Slf4j;
import java.util.stream.Collectors;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
...@@ -82,7 +91,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -82,7 +91,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
public GoodsResponseRpc queryCommanderInfo(ChangeCommanderPO changeCommander) { public GoodsResponseRpc queryCommanderInfo(ChangeCommanderPO changeCommander) {
GoodsResponseRpc rpc = new GoodsResponseRpc(); GoodsResponseRpc rpc = new GoodsResponseRpc();
//获取模板名称 通过一级变更类型 二级变更类型ID 定位模板 //获取模板名称 通过一级变更类型 二级变更类型ID 定位模板
ChangeConfig changeConfig = changeConfigService.queryChangeType(changeCommander.getParentChangeClassId(), changeCommander.getSonChangeClassId()); ChangeConfig changeConfig = changeConfigService.queryChangeType(changeCommander.getParentChangeClassId(),
changeCommander.getSonChangeClassId());
if (changeConfig == null) { if (changeConfig == null) {
return null; return null;
} }
...@@ -94,6 +104,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -94,6 +104,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//直接排除 选项为固定人 或者发起人 //直接排除 选项为固定人 或者发起人
if (Objects.equals(changeConfig.getChangeCommanderType(), ChangeCommanderEnum.COMMANDER_ORIGINATOR.getId())) { if (Objects.equals(changeConfig.getChangeCommanderType(), ChangeCommanderEnum.COMMANDER_ORIGINATOR.getId())) {
//发起人; //发起人;
// 如果是同舟端,发起人以商品开发兜底
if (changeCommander.getCreateSource().equals(CreateSourceEnum.TONG_ZHOU.getType())) {
return queryChangeSupplier(ChangeCommanderEnum.SUPPLIERS_ASSOCIATED, changeCommander.getSupplier(),
SupplierChangePrincipalEnum.GOODS_BU.getName());
}
rpc.setEmail(changeCommander.getFlowCreator()); rpc.setEmail(changeCommander.getFlowCreator());
return rpc; return rpc;
} }
...@@ -210,13 +225,18 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -210,13 +225,18 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
List<String> supplierIdList = new ArrayList<>(); List<String> supplierIdList = new ArrayList<>();
supplierIdList.add(changeSupplierId); supplierIdList.add(changeSupplierId);
//changeSupplier 根据提供的信息去查询 最终返回 //changeSupplier 根据提供的信息去查询 最终返回
if (ChangePrincipalEnum.PURCHASE.getName().equals(commander)) { if (SupplierChangePrincipalEnum.PURCHASE.getName().equals(commander)) {
req.setSearchType(1); req.setSearchType(SupplierChangePrincipalEnum.PURCHASE.getType());
} else if (ChangePrincipalEnum.PROSPECTUS.getName().equals(commander)) { } else if (SupplierChangePrincipalEnum.PROSPECTUS.getName().equals(commander)) {
req.setSearchType(2); req.setSearchType(SupplierChangePrincipalEnum.PROSPECTUS.getType());
} else if (ChangePrincipalEnum.SQE.getName().equals(commander)) { } else if (SupplierChangePrincipalEnum.SQE.getName().equals(commander)) {
req.setSearchType(3); req.setSearchType(SupplierChangePrincipalEnum.SQE.getType());
} } else if (SupplierChangePrincipalEnum.GOODS_BU.getName().equals(commander)) {
req.setSearchType(SupplierChangePrincipalEnum.GOODS_BU.getType());
} else {
throw ExceptionFactory.createBiz(ResponseCode.BAD_REQUEST, "供应商角色类型错误");
}
req.setSupplierIdList(supplierIdList); req.setSupplierIdList(supplierIdList);
//进行参数解析 //进行参数解析
List<SupplierUserRsp> listAjaxResponse = supplierInfoService.querySupplierRelatedUser(req); List<SupplierUserRsp> listAjaxResponse = supplierInfoService.querySupplierRelatedUser(req);
......
/**
* @(#)SupplierChangePrincipalEnum.java, 2022/12/19.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.netease.mail.yanxuan.change.common.enums;
/**
* @Author zcwang
* @Date 2022/12/19
*/
public enum SupplierChangePrincipalEnum {
PURCHASE(1,"采购"),
PROSPECTUS(2,"计划"),
SQE(3,"SQE"),
GOODS_BU(4,"商品开发");
SupplierChangePrincipalEnum(Integer type, String name) {
this.type = type;
this.name = name;
}
private Integer type;
private String name;
public Integer getType() {
return type;
}
public String getName() {
return name;
}
}
\ No newline at end of file
...@@ -27,6 +27,8 @@ public interface ChangeRecordMapper extends tk.mybatis.mapper.common.Mapper<Chan ...@@ -27,6 +27,8 @@ public interface ChangeRecordMapper extends tk.mybatis.mapper.common.Mapper<Chan
List<ChangeRecord> selectByCondition(ChangeFlowListQueryReq changeFlowListQueryReq); List<ChangeRecord> selectByCondition(ChangeFlowListQueryReq changeFlowListQueryReq);
List<ChangeRecord> selectByConditionAndLimit(ChangeFlowListQueryReq changeFlowListQueryReq);
@Select("select * from TB_YX_QC_CHANGE_RECORD where id > #{entityId} and `flow_node` in (#{nodeId1}, #{nodeId2}) and change_confirm_result_time <= #{currentTime} limit 200") @Select("select * from TB_YX_QC_CHANGE_RECORD where id > #{entityId} and `flow_node` in (#{nodeId1}, #{nodeId2}) and change_confirm_result_time <= #{currentTime} limit 200")
List<ChangeRecord> getByStatusAndTime(@Param("entityId") Long entityId, @Param("nodeId1") String nodeId1, List<ChangeRecord> getByStatusAndTime(@Param("entityId") Long entityId, @Param("nodeId1") String nodeId1,
@Param("nodeId2") String nodeId2, @Param("currentTime") long currentTime); @Param("nodeId2") String nodeId2, @Param("currentTime") long currentTime);
......
...@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor; ...@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
import java.util.List; import java.util.List;
import javax.validation.constraints.NotNull;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
* @date 2022/11/18/018$ * @date 2022/11/18/018$
...@@ -43,4 +45,14 @@ public class ChangeCommanderPO { ...@@ -43,4 +45,14 @@ public class ChangeCommanderPO {
*/ */
private String flowCreator; private String flowCreator;
/**
* 创建端(普通or同舟)
*/
private Integer createSource;
/**
* 同舟端所属供应商
*/
private String supplier;
} }
...@@ -84,4 +84,48 @@ ...@@ -84,4 +84,48 @@
</where> </where>
order by create_time desc order by create_time desc
</select> </select>
<select id="selectByConditionAndLimit"
resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from TB_YX_QC_CHANGE_RECORD
<where>
<if test="createSource != null ">
and create_source = #{createSource}
</if>
<if test="itemId != null ">
and change_item like concat('%',#{itemId},'%')
</if>
<if test="supplier != null ">
and change_supplier = #{supplier}
</if>
<if test="parentChangeClassId != null">
and parent_change_class_id = #{parentChangeClassId}
</if>
<if test="sonChangeClassId != null">
and son_change_class_id = #{sonChangeClassId}
</if>
<if test="changeState != null">
and `state` = #{changeState}
</if>
<if test="changeCommander != null and changeCommander != ''">
and `change_commander` = #{changeCommander}
</if>
<if test="changeDepartment != null and changeDepartment != ''">
and `change_department` = #{changeDepartment}
</if>
<if test="changeExecDepartment != null and changeExecDepartment != ''">
and participate_change_exec_department like concat('%',#{changeExecDepartment},'%')
</if>
<if test="startTime != null">
and create_time > #{startTime}
</if>
<if test="endTime != null">
and create_time <![CDATA[ < ]]> #{endTime}
</if>
<if test="createSupplier != null">
and create_supplier = #{createSupplier}
</if>
</where>
limit #{offset},#{limit}
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment