Commit 28cc5101 by 赵剑炜

Merge branch 'develop' of http://gitlab.sothing.top/843502640/jyzb_platformV2 into develop-zhaojw

parents 1fe9e2e7 30c5abd7
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.util.List;
@Data
public class MQDto {
private String api;
private Integer type;
private List<String> idList;
}
package com.junmp.jyzb.api.bean.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.DetailJsonReq;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class OrderDetailDto implements Serializable {
......@@ -63,4 +66,6 @@ public class OrderDetailDto implements Serializable {
private Integer maintenancePeriod;
private String remark;
private List<DetailJsonReq> childJson;
}
......@@ -9,4 +9,5 @@ public class DetailJsonReq {
private String locationName;
private String typeId;
private String sizeId;
private Integer modifyQuantity;
}
package com.junmp.jyzb.api.bean.req;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.DetailJsonReq;
import com.junmp.v2.common.bean.request.ValidationApi;
import lombok.Data;
......@@ -7,6 +8,7 @@ import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 记账时的子单据请求实体类
......@@ -83,5 +85,5 @@ public class UpdateOrderDetailReq implements Serializable {
private String remark;
private Long orgId;
private List<DetailJsonReq> childJson;
}
......@@ -176,5 +176,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
private String isPrint;
private Long logSummaryId;
private Date createTime;
}
......@@ -74,7 +74,7 @@ public class WarehouseController {
@PostMapping(path="/ShowWarehouse",name="查询仓库列表#enable")
@ApiOperation("查询仓库列表")
public ApiRes<List<WarehouseDto>> getAllWarehouse(@RequestBody @Validated(ValidationApi.edit.class) WarehouseReq req){
return ApiRes.success(warehouseService.getAllWarehouse(req.getOrgId()));
return ApiRes.success(warehouseService.getAllWarehouse(req.getOrgId(),req.getState()));
}
//通过仓库id查询列表
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.DetailJsonReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -213,5 +216,6 @@ public class InventorySummary implements Serializable {
private Integer agentBrokenNum;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ import com.junmp.junmpProcess.dto.json.UserInfo;
import com.junmp.junmpProcess.utils.RabbitMQUtils2;
//import com.rabbitmq.client.Channel;
//import com.rabbitmq.client.Connection;
import com.junmp.jyzb.api.bean.dto.MQDto;
import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.query.BussinessOrderDetialReq;
import com.junmp.jyzb.api.bean.query.OrderMainReq;
......@@ -90,6 +91,11 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
private InventorySummaryService inventorySummaryService;
@Resource
private LogSummaryService logSummaryService;
@Resource
private LogDetailService logDetailService;
@Resource
private MessageApi messageApi;
@Resource
private BussinessInventoryService bussinessInventoryService;
......@@ -186,6 +192,21 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
existOrder.setOrderState("finished");
existOrder.setManualState(1);
orderMainService.updateById(existOrder);
MQDto mqDto = new MQDto();
mqDto.setApi("NormalToOrder");
mqDto.setType(existOrder.getOrderType().equals("in")?0:1);
LogSummary one = logSummaryService.getOne(new LambdaQueryWrapper<LogSummary>()
.eq(LogSummary::getOrderMainId, existOrder.getId()));
List<String> collect = logDetailService.list(new LambdaQueryWrapper<LogDetail>()
.eq(LogDetail::getSummaryId, one.getId()))
.stream().map(LogDetail::getInventoryId)
.collect(Collectors.toList());
mqDto.setIdList(collect);
if(existOrder.getOrderType().equals("in")){
MQ.SendMsg("orderExchange",existOrder.getEndOrgId().toString(),mqDto);
}else {
MQ.SendMsg("orderExchange",existOrder.getStartOrgId().toString(),mqDto);
}
}
//消息推送
MessageSendReq sendReq = new MessageSendReq();
......
......@@ -23,5 +23,5 @@ public interface PubOrgMapper extends BaseMapper<PubOrg> {
//查询下一级(除了下n级)
List<TjOrgEqsDto> getLowOrg(@Param("orgId") Long orgId);
boolean setAllUserState(@Param("orgIds") List<Long> collect);
boolean setAllUserState(@Param("list") List<Long> collect,@Param("delFlag") Integer delFlag);
}
\ No newline at end of file
......@@ -33,7 +33,7 @@ public class OutInLogsReceiver {
*/
@Resource
private LogRecordApi logRecordApi;
@RabbitListener(queues = "11111")//监听队列名
@RabbitListener(queues = "orderResult")//监听队列名
private void a(String msg, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag){
LogRecordDto logRecordDTO = LogRecordFactory.createLogRecord(LogConstant.LOG_DEFAULT_NAME, "CabinetLogsRecord");
......@@ -43,7 +43,7 @@ public class OutInLogsReceiver {
logRecordDTO.setRequestParams(msg);
logRecordDTO.setRequestUrl("queues = \"11111\"");
try {
System.out.println("msg = " + msg);
// System.out.println("msg = " + msg);
// 创建日志对象
// 手动确认消息
......
......@@ -43,7 +43,7 @@ public interface WarehouseService extends IService<Warehouse> {
boolean changeWarehouseState(WarehouseReq req);
List<WarehouseDto> getAllWarehouse(Long orgId);
List<WarehouseDto> getAllWarehouse(Long orgId,Integer state);
//通过仓库id 判断仓库是否存在
......
package com.junmp.jyzb.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
......@@ -196,12 +197,15 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
String objJson= redisCache.get(busForm.getProcessId());
redisCache.remove(busForm.getProcessId());
List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class);
msgs.forEach(msg->
{
messageApi.sendMessage(msg);
}
if (CollectionUtil.isNotEmpty(msgs)){
msgs.forEach(msg->
{
messageApi.sendMessage(msg);
}
);
}
);
return busForm.getId();
}
......
package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -117,12 +118,14 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
String objJson= redisCache.get(BI.getProcessId());
redisCache.remove(BI.getProcessId());
List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class);
msgs.forEach(msg->
{
messageApi.sendMessage(msg);
}
if (CollectionUtil.isNotEmpty(msgs)){
msgs.forEach(msg->
{
messageApi.sendMessage(msg);
}
);
);
}
return BI.getId();
}
else
......
......@@ -193,7 +193,7 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue());
}
//查询出组织机构下的所有仓库信息,并且将表中的仓库信息数据进行删除
List<WarehouseDto> allWarehouse = warehouseService.getAllWarehouse(orgId);
List<WarehouseDto> allWarehouse = warehouseService.getAllWarehouse(orgId,-1);
boolean a = inventorySummaryMapper.deleteByWarehouse(allWarehouse);
//根据仓库id重新计算汇总信息
boolean sumByWarehouse = inventorySummaryMapper.getSumByWarehouse(allWarehouse, brokenNumberDays);
......
......@@ -21,12 +21,18 @@ import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.file.api.bean.req.SysFileInfoReq;
import com.junmp.v2.file.api.bean.res.SysFileInfoResp;
import com.junmp.v2.file.biz.service.SysFileInfoService;
import liquibase.pro.packaged.S;
import liquibase.pro.packaged.W;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.File;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
......@@ -72,6 +78,9 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
@Resource
private WarehouseInventoryService warehouseInventoryService;
@Resource
private SysFileInfoService sysFileInfoService;
//根据条件查询出入库记录
@Override
public PageResult<LogSummary> ShowInOutRecordsByItems(LogSummaryReq req) {
......@@ -244,6 +253,18 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
String orderMainId="";
for (SummaryLogReq logreq:logSummaryList) {
if (ObjectUtil.isNotNull(logreq.getPicture())){
byte[] imageBytes = Base64.getDecoder().decode(logreq.getPicture());
MultipartFile picture = new MockMultipartFile("sample", imageBytes);
// 图片文件保存路径和文件名
SysFileInfoReq sysFileInfoReq = new SysFileInfoReq();
sysFileInfoReq.setFileBucket("jyzb");
sysFileInfoReq.setFileLocation(3);
sysFileInfoReq.setFileObjectName("OutInPrice/"+logreq.getOrgId()+"/");
SysFileInfoResp sysFileInfoResp = sysFileInfoService.uploadFile(picture, sysFileInfoReq);
logreq.setPicture(sysFileInfoResp.getAccessUrl());
}
if (ObjectUtil.isNotNull(logreq.getOrderMainId())){
orderMainId=logreq.getOrderMainId();
}
......
......@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -13,6 +14,7 @@ import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.query.*;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.DetailJsonReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderDetailReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
......@@ -132,6 +134,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Resource
private SysUserService sysUserService;
@Resource
private LogSummaryService logSummaryService;
@Resource
private InventorySummaryMapper inventorySummaryMapper;
......@@ -263,7 +267,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
startProcessInstanceDTO.setTypeOrder("quickOrder");
processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
}else if (req.getLogSummaryId()!=null && req.getExamineState().equals("working")){
}else if (ObjectUtil.isNotNull(req.getLogSummaryId()) && req.getExamineState().equals("working")){
startProcessInstanceDTO.setTypeOrder("normalOrder");
processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
}
......@@ -311,7 +315,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
//判断orderId在orderLog表中是否存在,如果存在,则直接替换
//判断是否有流程id,如果有,则进行添加
if (order.getProcessId()!=null){
if (order.getProcessId()!=null && ObjectUtil.isNull(req.getLogSummaryId())){
boolean b = addOrderLog(req,order.getId(),order.getOrderCode(),s);
}
......@@ -326,7 +330,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
);
}
//如果是无单据转业务
if (ObjectUtil.isNotNull(req.getLogSummaryId())){
logSummaryService.update(new LambdaUpdateWrapper<LogSummary>().set(LogSummary::getOrderMainId,order.getId())
.set(LogSummary::getOrderCode,order.getOrderCode()).eq(LogSummary::getId,req.getLogSummaryId()));
}
return list;
}
......@@ -796,11 +804,23 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
.eq(OrderDetail::getOrderId, req.getId())
.orderByDesc(OrderDetail::getCreateTime));
}
String detailJson = orderMain.getDetailJson();
List<DetailJsonReq> detailJsonReqs = JSONObject.parseArray(detailJson, DetailJsonReq.class);
List<OrderDetailDto> orderDetailDtoList=new ArrayList<>();
List<DetailJsonReq> child=new ArrayList<>();
for (OrderDetail orderDetail:list) {
OrderDetailDto orderDetailDto = new OrderDetailDto();
BeanPlusUtil.copyProperties(orderDetail,orderDetailDto);
if (CollectionUtil.isNotEmpty(detailJsonReqs)) {
for (DetailJsonReq json :detailJsonReqs) {
json.setModifyQuantity(json.getNum());
if (orderDetail.getTypeId().equals(json.getTypeId()) && orderDetail.getSizeId().equals(json.getSizeId())){
child.add(json);
}
}
}
orderDetailDto.setChildJson(child);
orderDetailDtoList.add(orderDetailDto);
}
orderDto.setDetailList(orderDetailDtoList);
......@@ -869,6 +889,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
String s="";
//比较两个子单id完全一致,判断传递的子单据id在数据库中是否存在,如果不存在则抛出子单据不存在异常
if (collect.size() == existingIds.size() && collect.containsAll(existingIds) && existingIds.containsAll(collect)){
UpdateOrderDetailReq data = new UpdateOrderDetailReq();
for (UpdateOrderDetailReq uploadDetailReq : reqList) {
OrderDetail orderDetail = new OrderDetail();
BeanPlusUtil.copyProperties(uploadDetailReq,orderDetail);
......@@ -878,8 +899,19 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//获取修改后的数量并且记录(modifyQuantity表示有记账数量)
if (uploadDetailReq.getModifyQuantity() >= 0 ){
//记账内容
s = s+uploadDetailReq.getTypeName()+"【"+
uploadDetailReq.getSizeName()+"】,单价:"+uploadDetailReq.getPrice()+",数量实入:"+uploadDetailReq.getActualNum()+",记账:"+uploadDetailReq.getModifyQuantity()+"\n";
List<DetailJsonReq> childJson = uploadDetailReq.getChildJson();
for (DetailJsonReq child:childJson) {
s = s+child.getLocationName()+"--"+uploadDetailReq.getTypeName()+"【"+
uploadDetailReq.getSizeName()+"】,单价:"+uploadDetailReq.getPrice()+",数量实入:"+child.getNum()+",记账:"+child.getModifyQuantity()+"\n";
data.setOrgId(uploadDetailReq.getOrgId());
data.setWarehouseId(child.getLocationId());
data.setSizeId(uploadDetailReq.getSizeId());
data.setTypeId(uploadDetailReq.getTypeId());
data.setPrice(uploadDetailReq.getPrice());
data.setModifyQuantity(child.getModifyQuantity());
orderDetailReqList.add(data);
}
// AccountingDto accountingDto = new AccountingDto();
// BeanPlusUtil.copyProperties(uploadDetailReq,accountingDto);
......@@ -888,7 +920,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
orderDetail.setModifyQuantity(uploadDetailReq.getModifyQuantity());
orderDetail.setUpdateTime(DateTimeUtil.getCurrentDateTime());
orderDetailList.add(orderDetail);
orderDetailReqList.add(uploadDetailReq);
//修改后数量
updateQuantity+=uploadDetailReq.getModifyQuantity();
priceTotal=priceTotal.add(BigDecimal.valueOf(uploadDetailReq.getModifyQuantity()).multiply(uploadDetailReq.getPrice()));
......@@ -1031,7 +1063,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
OrderLog orderLog = new OrderLog();
BeanPlusUtil.copyProperties(req,orderLog);
orderLog.setId(UUID.randomUUID().toString());
s=s.substring(0,s.length()-1);
orderLog.setHistoryMsg(s);
// orderLog.setHistoryMsg(JSON.toJSONString(accountingDtoList));
orderLog.setInventoryQuantity(req.getInventoryQuantity());
......@@ -1066,8 +1097,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//将库存summary表中数据进行查询出来一一进行比较,如果说sizeId,typeId,warehouseId相同则对该数据进行修改,如果说该数据不存在的话则在summary表中添加一条数据
List<Object[]> searchCriteria=new ArrayList<>();
for (UpdateOrderDetailReq upReq: orderDetailReqList) {
Object[] criteria=new Object[]{orgId,upReq.getWarehouseId(),upReq.getTypeId(),upReq.getSizeId(),upReq.getPrice()};
Object[] criteria=new Object[]{upReq.getOrgId(),upReq.getWarehouseId(),upReq.getTypeId(),upReq.getSizeId(),upReq.getPrice()};
searchCriteria.add(criteria);
}
//库存信息
List<InventorySummary> inventorySummaryList = inventorySummaryMapper.selectSumByItems(searchCriteria);
......
......@@ -260,9 +260,15 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
p.setDelFlag(req.getDelFlag());
});
//将delflag设置为user表中的字段所对应的值
if (req.getDelFlag()==1){
req.setDelFlag(1);
}else {
req.setDelFlag(2);
}
List<Long> collect = st.stream().map(PubOrg::getOrgId).collect(Collectors.toList());
//将组织机构下的所有账号的状态设置成启用或者禁用
boolean b=pubOrgMapper.setAllUserState(collect);
boolean b=pubOrgMapper.setAllUserState(collect,req.getDelFlag());
return this.updateBatchById(st);
}
else
......
......@@ -18,6 +18,7 @@ import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import com.sun.org.apache.regexp.internal.RE;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import com.junmp.jyzb.mapper.SupplierMapper;
......@@ -168,6 +169,7 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i
wrapper.like(ObjectUtil.isNotEmpty(req.getName()), Supplier::getName, req.getName());
//供应商名称模糊查询
wrapper.like(ObjectUtil.isNotEmpty(req.getShortName()), Supplier::getShortName, req.getShortName());
wrapper.eq(ObjectUtil.isNotNull(req.getState()),Supplier::getState,req.getState());
//contacts联系人
wrapper.like(ObjectUtil.isNotEmpty(req.getContacts()), Supplier::getContacts, req.getContacts());
//根据创建时间降序
......
......@@ -94,15 +94,22 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
@Override
public List<WarehouseDto> getAllWarehouse(Long orgId) {
public List<WarehouseDto> getAllWarehouse(Long orgId,Integer state) {
List<WarehouseDto> warehouseDtoList=new ArrayList<>();
//判断组织机构是否存在
PubOrg pubOrg = pubOrgService.PubOrgExist(orgId);
//根据组织机构id查询组织机构名称
String orgName = pubOrg.getOrgName();
List<Warehouse> list = new ArrayList<>();
if (ObjectUtil.isNull(state) || (state!=1 && state!=0)){
list = list(new LambdaQueryWrapper<Warehouse>()
.eq(Warehouse::getOrgId, orgId));
}else {
list = list(new LambdaQueryWrapper<Warehouse>()
.eq(Warehouse::getOrgId, orgId)
.eq(Warehouse::getState,state));
}
List<Warehouse> list = list(new LambdaQueryWrapper<Warehouse>()
.eq(Warehouse::getOrgId, orgId));
for (Warehouse warehouse:list) {
WarehouseDto warehouseDto = new WarehouseDto();
BeanPlusUtil.copyProperties(warehouse,warehouseDto);
......
......@@ -541,7 +541,7 @@
WHERE
bi.warranty_period != 0
AND DATE_ADD(bi.production_date, INTERVAL bi.warranty_period MONTH) > NOW()
<foreach collection="list" item="item" open="(" separator="," close=")">
<foreach collection="list" item="item" open="" separator="," close="">
AND bi.term_state = ${item[0]}
AND bi.state != '${item[1]}'
</foreach>
......@@ -552,7 +552,7 @@
bet.name,
bi.org_id_int,
COALESCE(bcb.cabinet_id, bw.id)
<foreach collection="list" item="item" open="(" separator="," close=")">
<foreach collection="list" item="item" open="" separator="," close="">
limit ${item[2]},${item[3]}
</foreach>
</select>
......
......@@ -455,13 +455,7 @@
WHEN ( `bis`.`location_type` = 0 ) THEN
`bis`.`outbound_number` ELSE 0
END
) + sum(
CASE
WHEN ( `bis`.`location_type` = 0 ) THEN
`bis`.`destruction_number` ELSE 0
END
)+sum(
) +sum(
CASE
WHEN(`bis`.`location_type` = 1) then
`bis`.`stock_number` ELSE 0
......
......@@ -73,7 +73,32 @@ JOIN cte ON p.org_id = cte.org_id
SET p.org_parent_ids = cte.org_parent_ids;
</update>
<update id="setAllUserState" >
update sys_user set status_flag=#{delFlag} where user_id in (
SELECT
a.user_id
FROM
(
SELECT
su.user_id
FROM
sys_user su
JOIN sys_user_org suo ON su.user_id = suo.user_id
AND suo.org_id in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
LEFT JOIN base_policeman p ON p.user_id = su.user_id
AND p.org_id_int in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
GROUP BY
su.user_id
) AS a
LEFT JOIN sys_user_role sur ON a.user_id = sur.user_id
GROUP BY
a.user_id
)
</update>
......
package com.junmp.junmpProcess.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.map.MapUtil;
......@@ -208,7 +209,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
String objJson= redisCache.get(processInstanceId);
redisCache.remove(processInstanceId);
List<MessageSendReq> msgs= JSONObject.parseArray(objJson,MessageSendReq.class);
if (ObjectUtil.isNotNull(msgs)){
if (CollectionUtil.isNotEmpty(msgs)){
msgs.forEach(msg->
{
messageApi.sendMessage(msg);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论