Commit 854ca8d5 by 李小惠

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

parents 3fd65719 f7c18943
......@@ -9,6 +9,7 @@ import java.util.List;
@Data
public class BussinessInventoryDto implements Serializable {
private String id;
private String rules;
private String totalNum;
private String actualNum;
......
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
@Data
public class DetailChildDto {
private String totalPrice;
private String warrantyPeriod;
private String maintenancePeriod;
private String productionDate;
private String num;
private String price;
}
......@@ -8,6 +8,7 @@ import java.util.List;
@Data
public class EquipmentListDto {
private String id;
private String typeId;
private String typeName;
private String sizeId;
......@@ -20,6 +21,7 @@ public class EquipmentListDto {
private String state;
private String price;
private String accountNumber;
private String hasCount;
private List<PriceInfo> priceInfo;
@Data
public static class PriceInfo
......
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.ValidationApi;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class DetailInvReq {
@NotNull(message = "请选择需要编辑的装备", groups = { ValidationApi.detail.class})
private String detailId;
}
......@@ -2,10 +2,9 @@ package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.BussinessInventoryDto;
import com.junmp.jyzb.api.bean.dto.EpcListDto;
import com.junmp.jyzb.api.bean.dto.ViewCountDto;
import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.query.BussinessInventoryReq;
import com.junmp.jyzb.api.bean.req.DetailInvReq;
import com.junmp.jyzb.api.bean.req.UpdateDetailReq;
import com.junmp.jyzb.api.bean.req.UpdateInventoryReq;
import com.junmp.jyzb.api.bean.req.UploadInventoryReq;
......@@ -24,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
@Slf4j
......@@ -86,6 +86,13 @@ BussinessInventoryController {
//判断是否有工作流id,如果有则将状态进行修改
return ApiRes.success(BussinessInventoryService.GetDetailById(req));
}
@PostMapping(path="/GetDetailChild",name="查询盘点子表详情#enable")
@ApiOperation("查询盘点子表详情")
public ApiRes<List<DetailChildDto>> GetDetailChild (@RequestBody DetailInvReq req){
//判断是否有工作流id,如果有则将状态进行修改
return ApiRes.success(BussinessInventoryService.GetDetailChild(req));
}
//盘库申请
@PostMapping(path="/UploadStock",name="上传盘点记录#logType=30")
@ApiOperation("上传盘点记录")
......
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.BussinessInventoryDto;
import com.junmp.jyzb.api.bean.dto.EpcListDto;
import com.junmp.jyzb.api.bean.dto.ViewCountDto;
import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.query.BussinessInventoryReq;
import com.junmp.jyzb.api.bean.req.*;
import com.junmp.jyzb.entity.BussinessInventory;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
public interface BussinessInventoryService extends IService<BussinessInventory> {
......@@ -23,6 +23,8 @@ public interface BussinessInventoryService extends IService<BussinessInventory>
BussinessInventoryDto GetDetailById(BussinessInventoryReq req);
List<DetailChildDto> GetDetailChild(DetailInvReq req);
Boolean UploadStock(UploadInventoryReq req);
Boolean UpdateDetail(UpdateDetailReq req);
Boolean UseOrFinished(UploadInventoryReq req);
......
......@@ -17,10 +17,7 @@ import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.query.BussinessInventoryReq;
import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.query.QueryEquipmentTypeReq;
import com.junmp.jyzb.api.bean.req.InvExpireReq;
import com.junmp.jyzb.api.bean.req.UpdateDetailReq;
import com.junmp.jyzb.api.bean.req.UpdateInventoryReq;
import com.junmp.jyzb.api.bean.req.UploadInventoryReq;
import com.junmp.jyzb.api.bean.req.*;
import com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum;
import com.junmp.jyzb.cache.MsgRedisCache;
import com.junmp.jyzb.entity.*;
......@@ -44,6 +41,7 @@ import com.junmp.v2.message.api.bean.req.MessageSendReq;
import org.flowable.engine.TaskService;
import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -430,33 +428,8 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
bussinessInventoryDetailService.saveBatch(BDList);
}
warehouseService.updateById(warehouse);
//盘点进行中,需要为所有人员推送信息
MessageSendReq sendReq = new MessageSendReq();
String historyAssign = bi.getHistoryAssign();
List<String> userIdsList=new ArrayList<>();
if (ObjectUtil.isNotEmpty(historyAssign)){
userIdsList = Arrays.asList(historyAssign.split(","));
}
for (String userId:userIdsList) {
sendReq.setReceiveUserIds(userId);
sendReq.setMsgTitle("盘点提醒");
sendReq.setMsgContent("盘库单:【"+bi.getOrderNum()+"】正在进行盘点,仓库:"+bi.getWarehouseName()+"已锁定");
sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now());
messageApi.sendMessageNoToken(sendReq);
}
/*推送发送未读数量*/
for(String userId:userIdsList){
MessageReq req1 = new MessageReq();
req1.setReadFlag(0);
req1.setReceiveUserId(Long.parseLong(userId));
Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(userId,count1);
}
String msg="盘库单:【"+bi.getOrderNum()+"】正在进行盘点,仓库:"+bi.getWarehouseName()+",该仓库已锁定,请勿执行记账操作";
sendAsyncReminder(bi,msg,"systemInvMsg");
if (bi!=null)
{
bi.setInventoryState("running");
......@@ -468,6 +441,24 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
}
return true;
}
@Override
public List<DetailChildDto> GetDetailChild(DetailInvReq req) {
List<BussinessInventoryChildrenDetail> detailChild= bussinessInventoryChildrenDetailService.list(
new LambdaQueryWrapper<BussinessInventoryChildrenDetail>().eq(BussinessInventoryChildrenDetail::getInvDetailId, req.getDetailId())
);
List<DetailChildDto> eqDtoList=new ArrayList<>();
for (BussinessInventoryChildrenDetail child : detailChild) {
DetailChildDto eqDto = new DetailChildDto();
BeanPlusUtil.copyProperties(child, eqDto);
eqDtoList.add(eqDto);
}
return eqDtoList;
}
@Override
public BussinessInventoryDto GetDetailById(BussinessInventoryReq req) {
BussinessInventory inventory= this.getById(req.getOrderId());
......@@ -554,11 +545,6 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
this.updateById(BI);
bussinessInventoryDetailService.saveBatch(Bussinessdetails);
List<Long> uniqueOrgIDsList = new ArrayList<>();
uniqueOrgIDsList.add(BI.getOrgId());
//查询组织机构下面的所有仓管员的useId
List<InvExpireReq> userIdsList=inventoryMapper.selectUserListByOrgs(uniqueOrgIDsList,"1663372320355389441");
return true;
}
......@@ -659,19 +645,10 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
if (bussiness.getState().equals("1"))//盈余状态需要增加金额和数量
{
summary.setPrice( bussiness.getFixPrice());
// bussiness.setStockPrice(summary.getStockNumberPrice());
}
else if (bussiness.getState().equals("2"))//亏损状态需要减少金额和数量
{
summary.setPrice( bussiness.getFixPrice());
// BigDecimal fixPriceNew=summary.getPrice().subtract(bussiness.getFixPrice());
// int i = fixPriceNew.compareTo(BigDecimal.ZERO);
// if (i == -1) {
// summary.setPrice(BigDecimal.ZERO);
// } else if (i == 1||i == 0) {
// summary.setPrice( fixPriceNew);
// }
}
......@@ -941,9 +918,32 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
mqDto.setApi("BussinessInventoryFinish");
mqDto.setOrderId(BI.getId());
MQ.SendMsg("orderExchange", BI.getOrgId().toString(),mqDto);
String Msg="盘库单:【"+BI.getOrderNum()+"】已结束,仓库:"+BI.getWarehouseName()+",该仓库已解锁";
sendAsyncReminder(BI,Msg,"Inventory/pass");//异步推送消息
return true;
}
@Async
public void sendAsyncReminder(BussinessInventory BI,String Msg,String type) {
//盘点进行中,需要为所有人员推送信息
MessageSendReq sendReq = new MessageSendReq();
List<Long> uniqueOrgIDsList = new ArrayList<>();
uniqueOrgIDsList.add(BI.getOrgId());
//查询组织机构下面的所有仓管员的useId
List<InvExpireReq> userIdsList=inventoryMapper.selectUserListByOrgs(uniqueOrgIDsList,"1663372320355389441");
String userIds = userIdsList.stream()
.map(InvExpireReq::getUserId) // 获取所有的userId
.collect(Collectors.joining(","));
sendReq.setReceiveUserIds(userIds);
sendReq.setMsgTitle("盘点提醒");
sendReq.setBizType(type);
sendReq.setBizId(Long.valueOf(BI.getId()));
sendReq.setSendUserId(String.valueOf(1000));
sendReq.setMsgContent(Msg);
sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now());
messageApi.sendMessageNoToken(sendReq);
}
@Override
public PageResult<BussinessInventory> GetPage(BussinessInventoryReq req) {
//排序字段处理,将驼峰改成和数据库同步的字段名(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
......
......@@ -139,12 +139,24 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
req.setUserId(String.valueOf(StartUser.getUserId()));
req.setUserName(StartUser.getRealName());
}
String exchangeName="DeviceControl";
// 将请求对象序列化为JSON字符串
String jsonString = JSON.toJSONString(req);
MessagePostProcessor messagePostProcessor = message -> {
MessageProperties messageProperties = message.getMessageProperties();
if (messageProperties == null) {
messageProperties = new MessageProperties();
}
messageProperties.setContentType("application/json");
messageProperties.setContentEncoding("UTF-8"); // 设置消息字符编码为UTF-8
messageProperties.setExpiration("10000"); // 设置消息的过期时间为10秒
return message;
};
// 创建广播交换器
FanoutExchange exchange = new FanoutExchange ("DeviceControl");
String exchangeName="DeviceControl";
rabbitAdmin.declareExchange(exchange);
// 将消息体封装到Message对象中
Message message = MessageBuilder.withBody(jsonString.getBytes())
......@@ -152,7 +164,7 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
.build();
// 发送消息到RabbitMQ
rabbitTemplate.convertAndSend(exchangeName, req.getWarehouseId(), message);
rabbitTemplate.convertAndSend(exchangeName, req.getWarehouseId(), message, messagePostProcessor);
return null;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论