Commit f271023c by 李小惠

修改前端和测试的bug,消息推送

parent a4766f69
...@@ -4,6 +4,9 @@ import lombok.Data; ...@@ -4,6 +4,9 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
/**
* 装备汇总数量输出类
*/
@Data @Data
public class EqsSumDto implements Serializable { public class EqsSumDto implements Serializable {
//组织机构id //组织机构id
......
...@@ -15,4 +15,5 @@ public class EquipmentTypeDto { ...@@ -15,4 +15,5 @@ public class EquipmentTypeDto {
private Integer type; private Integer type;
private String warrantyPeriod; private String warrantyPeriod;
private String maintenancePeriod; private String maintenancePeriod;
private Boolean isLeaf;
} }
...@@ -130,6 +130,9 @@ public class InventoryDto implements Serializable { ...@@ -130,6 +130,9 @@ public class InventoryDto implements Serializable {
*/ */
private String note ; private String note ;
//是否过期
private int TermState;
} }
...@@ -16,6 +16,7 @@ public class OrgDto { ...@@ -16,6 +16,7 @@ public class OrgDto {
private String levelFlag; private String levelFlag;
private String dName; private String dName;
private Boolean isLeaf; private Boolean isLeaf;
private Integer statusFlag;
private List<OrgDto> children = new ArrayList<>(); private List<OrgDto> children = new ArrayList<>();
public void addChild(OrgDto child) { public void addChild(OrgDto child) {
children.add(child); children.add(child);
......
...@@ -33,7 +33,11 @@ public class PolicemanDto { ...@@ -33,7 +33,11 @@ public class PolicemanDto {
private String orgName; private String orgName;
//组织机构id //组织机构id
private Long orgId; private Long orgId;
private String idCard;
//警员状态
private Integer state;
//是否有对应的账号
private Boolean isCreatedAccount;
//指纹信息列表 //指纹信息列表
private List<PoliceFingerDto> fingersList; private List<PoliceFingerDto> fingersList;
......
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.util.List;
@Data
public class ShelfInsDto {
/**
* 仓库id
*/
private String warehouseId;
/**
* warehouseName
*/
private String warehouseName;
/**
*location 仓库地点
*/
private String warehouseLocation;
/**
*list 装备汇总列表
*/
private List<InventorySumDto> list;
}
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class ShelfInventoryDto implements Serializable {
/**
* 仓库id
*/
private String warehouseId;
/**
*仓库名称
*/
private String warehouseName;
/**
*区域名称
*/
private String shelfAreaName;
/**
*仓库地点
*/
private String warehouseLocation;
/**
* 装备汇总list
*/
private List<InventorySumDto> list;
}
...@@ -97,7 +97,7 @@ public class InventoryReq extends BaseRequest { ...@@ -97,7 +97,7 @@ public class InventoryReq extends BaseRequest {
private String bussinessState; private String bussinessState;
/** /**
* 位置状态 * 在库状态
*/ */
private String locationState; private String locationState;
...@@ -123,9 +123,9 @@ public class InventoryReq extends BaseRequest { ...@@ -123,9 +123,9 @@ public class InventoryReq extends BaseRequest {
*/ */
private Integer fixCount; private Integer fixCount;
/** /**
* 维修次数 * 超期状态
*/ */
private int TermState; private Integer termState;
/** /**
* 位置类型 * 位置类型
*/ */
......
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.List;
/**
*
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OrderUploadReq extends BaseRequest {
/**
* 主订单id
*/
@NotBlank(message = "单据主id不能为空",groups = {detail.class})
private String id;
/**
* 单据状态 ready待入/出库,finished已入/出库,working入/出库中
*/
private String orderState;
/**
* 实际数量
*/
private Integer actualQuantity;
/**
* 总价格
*/
private BigDecimal price;
/**
*childrenOrder(集合),子单据
*/
private List<OrderUploadDetailReq> childrenOrder;
@Getter
public class OrderUploadDetailReq{
/**
* 子单据ID
*/
private Long detailId;
/**
* 实际数量
*/
private Integer actualNum;
/**
* 价格
*/
private BigDecimal price;
/**
* 订单状态 ready待入/出库,working入/出库中,finished已完成
*/
private String orderType;
}
}
package com.junmp.jyzb.api.bean.query;
import com.junmp.jyzb.api.bean.req.FormEqsReq;
import com.junmp.v2.common.bean.request.ValidationApi;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
//警员调岗
@Data
public class PoliceReassignmentReq {
//调岗警员id
@NotBlank(message = "警员id不能为空",groups = {ValidationApi.edit.class})
private String id;
//目标组织机构id
@NotNull(message = "目标组织机构id不能为空",groups = {ValidationApi.edit.class})
private Long goalOrgId;
//需要带走的装备信息列表
private List<FormEqsReq> eqsReqList;
}
...@@ -21,7 +21,7 @@ public class PolicemanReq extends BaseRequest { ...@@ -21,7 +21,7 @@ public class PolicemanReq extends BaseRequest {
@NotBlank(message = "箱门id不能为空", groups = {edit.class, delete.class}) @NotBlank(message = "箱门id不能为空", groups = {edit.class, delete.class})
private String cabinetBoxId; private String cabinetBoxId;
@NotNull(message = "组织机构id不能为空",groups = {}) @NotNull(message = "组织机构id不能为空",groups = {add.class})
private Long orgId; private Long orgId;
private Long departmentId; private Long departmentId;
......
package com.junmp.jyzb.api.bean.query; package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest; import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.common.bean.request.ValidationApi;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
@Data @Data
//@EqualsAndHashCode(callSuper = false) //@EqualsAndHashCode(callSuper = false)
public class QueryOrgReq { public class QueryOrgReq {
private String orgCode; private String orgCode;
private String orgId; @NotNull(message = "组织机构不能为空",groups = {ValidationApi.detail.class})
private String parentId; private Long orgId;
private Long parentId;
private Integer isDepartment; private Integer isDepartment;
private Integer level; private Integer level;
private Integer delFlag; private Integer delFlag;
......
...@@ -9,8 +9,8 @@ import java.util.Date; ...@@ -9,8 +9,8 @@ import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
@EqualsAndHashCode(callSuper = true)
public class QuerySupplierReq { public class QuerySupplierReq extends BaseRequest {
private String name; private String name;
private String id; private String id;
......
package com.junmp.jyzb.api.bean.req; package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.BaseRequest; import com.junmp.v2.common.bean.request.BaseRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -8,10 +9,11 @@ import java.util.Date; ...@@ -8,10 +9,11 @@ import java.util.Date;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class BorrowFormReq extends BaseRequest { public class FormEqsReq extends BaseRequest {
/** /**
*id * 主键
*/ */
@ApiModelProperty(value = "主键ID")
private String id; private String id;
/** /**
...@@ -20,9 +22,34 @@ public class BorrowFormReq extends BaseRequest { ...@@ -20,9 +22,34 @@ public class BorrowFormReq extends BaseRequest {
private String policeId; private String policeId;
/** /**
* 装备ID * 装备号型id
*/ */
private String equipmentId; private String sizeId;
/**
*装备号型名称
*/
private String sizeName;
/**
*装备类型id
*/
private String typeId;
/**
*装备类型名称
*/
private String typeName;
/**
*供应商id
*/
private String supplierId;
/**
*供应商名称
*/
private String supplierName;
/** /**
* 装备数量 * 装备数量
...@@ -35,11 +62,6 @@ public class BorrowFormReq extends BaseRequest { ...@@ -35,11 +62,6 @@ public class BorrowFormReq extends BaseRequest {
private Long orgId; private Long orgId;
/** /**
* 装备名称
*/
private String equipmentName;
/**
* 更新时间 * 更新时间
*/ */
private Date updateTime; private Date updateTime;
...@@ -48,9 +70,4 @@ public class BorrowFormReq extends BaseRequest { ...@@ -48,9 +70,4 @@ public class BorrowFormReq extends BaseRequest {
* 创建时间 * 创建时间
*/ */
private Date createTime; private Date createTime;
/**
* 警员名称
*/
private String policeName;
} }
...@@ -14,7 +14,7 @@ public class UpdateOrgReq { ...@@ -14,7 +14,7 @@ public class UpdateOrgReq {
* 状态 * 状态
*/ */
@NotNull(message = "状态不能为空", groups = {ValidationApi.updateStatus.class}) @NotNull(message = "状态不能为空", groups = {ValidationApi.updateStatus.class})
private Integer delFlag; private Integer statusFlag;
/** /**
* 组织机构列表 * 组织机构列表
*/ */
......
...@@ -29,6 +29,11 @@ public enum PolicemanExceptionEnum implements IExceptionEnum { ...@@ -29,6 +29,11 @@ public enum PolicemanExceptionEnum implements IExceptionEnum {
*/ */
POLICECODE_IS_EXISTS(CommonConstant.DEFAULT_USER_ERROR_CODE,"警员编号已经存在,警员编号重复"), POLICECODE_IS_EXISTS(CommonConstant.DEFAULT_USER_ERROR_CODE,"警员编号已经存在,警员编号重复"),
/**
* 该警员已经绑定账号
*/
POLICEUSER_IS_EXISTS(CommonConstant.DEFAULT_USER_ERROR_CODE,"该警员已经绑定账号"),
; ;
/** /**
* 错误编码 * 错误编码
......
...@@ -10,7 +10,12 @@ public enum PubOrgExceptionEnum implements IExceptionEnum { ...@@ -10,7 +10,12 @@ public enum PubOrgExceptionEnum implements IExceptionEnum {
* 组织机构不存在 * 组织机构不存在
*/ */
PUBORG_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"组织机构不存在"), PUBORG_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"组织机构不存在"),
/**
* 组织机构不存在或者被删除
*/
PUBORG_NOTEXIST_OR_DEL(CommonConstant.DEFAULT_USER_ERROR_CODE,"组织机构不存在或者已经被删除"),
; ;
/** /**
* 错误编码 * 错误编码
*/ */
......
...@@ -86,6 +86,7 @@ ...@@ -86,6 +86,7 @@
<artifactId>spring-amqp</artifactId> <artifactId>spring-amqp</artifactId>
</dependency> </dependency>
<!-- 消息通知-->
<dependency> <dependency>
<groupId>com.junmp.v2</groupId> <groupId>com.junmp.v2</groupId>
<artifactId>ws-boot-starter</artifactId> <artifactId>ws-boot-starter</artifactId>
...@@ -103,5 +104,19 @@ ...@@ -103,5 +104,19 @@
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>auth-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>system-biz-user</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>dict-biz</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>
...@@ -10,6 +10,7 @@ import com.junmp.jyzb.service.CabinetService; ...@@ -10,6 +10,7 @@ import com.junmp.jyzb.service.CabinetService;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -78,25 +79,23 @@ public class CabinetController { ...@@ -78,25 +79,23 @@ public class CabinetController {
} }
//根据组织机构id查询出单警柜的详细信息 //根据组织机构id查询出单警柜的详细信息(list)
@PostMapping("/ShowCabinetList") @PostMapping("/ShowCabinetList")
@ApiOperation("查询单警柜列表") @ApiOperation("查询单警柜列表")
public ApiRes<List<CabinetDto>> showCabinetList(@RequestBody CabinetReq req){ public ApiRes<List<CabinetDto>> showCabinetList(@RequestBody CabinetReq req){
List<CabinetDto> allCabinetList = cabinetService.getAllCabinetList(req); List<CabinetDto> allCabinetList = cabinetService.getAllCabinetList(req);
if (allCabinetList.size()<=0){
return ApiRes.failure("查询失败,列表为null");
}
return ApiRes.success(allCabinetList); return ApiRes.success(allCabinetList);
} }
//根据组织机构id查询出单警柜的详细信息(page)
@PostMapping("/getCabinetBoxList") @PostMapping("/ShowCabinetPage")
@ApiOperation("通过单警柜id获取箱门列表") @ApiOperation("查询单警柜列表")
public ApiRes<List<CabinetBox>> getCabinetBoxList(@RequestBody CabinetReq req){ public ApiRes<PageResult<CabinetDto>> ShowCabinetPage(@RequestBody CabinetReq req){
return ApiRes.success(cabinetBoxService.getCabinetBoxList(req)); return ApiRes.success(cabinetService.ShowCabinetPage(req));
} }
@PostMapping("/boxBindPolice") @PostMapping("/boxBindPolice")
@ApiOperation("箱门绑定人员") @ApiOperation("箱门绑定人员")
public ApiRes<Boolean> boxBindPolice(@RequestBody CabinetBoxReq req) { public ApiRes<Boolean> boxBindPolice(@RequestBody CabinetBoxReq req) {
......
...@@ -82,4 +82,18 @@ public class EquipmentTypeController { ...@@ -82,4 +82,18 @@ public class EquipmentTypeController {
return returnMsg; return returnMsg;
} }
//库存阈值的设置
// @PostMapping("/SetThreshold")
// @ApiOperation("库存阈值的设置")
//库存阈值的修改
// @PostMapping("/SetThreshold")
// @ApiOperation("库存阈值的设置")
//库存阈值的查看
// @PostMapping("/SetThreshold")
// @ApiOperation("库存阈值的设置")
//库存阈值的删除
// @PostMapping("/SetThreshold")
// @ApiOperation("库存阈值的设置")
} }
...@@ -3,6 +3,7 @@ package com.junmp.jyzb.controller; ...@@ -3,6 +3,7 @@ package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.dto.*; import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.query.*; import com.junmp.jyzb.api.bean.query.*;
import com.junmp.jyzb.api.bean.req.EquipmentBindReq; import com.junmp.jyzb.api.bean.req.EquipmentBindReq;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.service.*; import com.junmp.jyzb.service.*;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
...@@ -50,6 +51,7 @@ public class InventoryController { ...@@ -50,6 +51,7 @@ public class InventoryController {
} }
//装备绑定箱门 //装备绑定箱门
@PostMapping("/EquipmentBind") @PostMapping("/EquipmentBind")
@ApiOperation("装备绑定箱门") @ApiOperation("装备绑定箱门")
...@@ -79,6 +81,7 @@ public class InventoryController { ...@@ -79,6 +81,7 @@ public class InventoryController {
} }
//根据组织机构id/单警柜id/仓库id查询出库存的汇总信息(page) //根据组织机构id/单警柜id/仓库id查询出库存的汇总信息(page)
@PostMapping("/GetEquipmentInfo") @PostMapping("/GetEquipmentInfo")
@ApiOperation("根据条件查询库存汇总信息") @ApiOperation("根据条件查询库存汇总信息")
...@@ -86,6 +89,7 @@ public class InventoryController { ...@@ -86,6 +89,7 @@ public class InventoryController {
return ApiRes.success(inventorySummaryService.getEquipmentInfo(req)); return ApiRes.success(inventorySummaryService.getEquipmentInfo(req));
} }
//根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是List) //根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是List)
@PostMapping("/EqsBySearchType") @PostMapping("/EqsBySearchType")
@ApiOperation("查询库存装备详细信息(list)") @ApiOperation("查询库存装备详细信息(list)")
...@@ -195,5 +199,12 @@ public class InventoryController { ...@@ -195,5 +199,12 @@ public class InventoryController {
return ApiRes.success(inventoryService.GetListEquipment(req)); return ApiRes.success(inventoryService.GetListEquipment(req));
} }
//根据条件查询仓库下的所有装备信息
@PostMapping("/GetDetailByTerms")
@ApiOperation("根据条件查询仓库下的所有装备信息")
public ApiRes<PageResult<InventoryDto>> GetDetailByTerms(@RequestBody @Validated(ValidationApi.export.class) InventoryReq req){
return ApiRes.success(inventoryService.GetDetailByTerms(req));
}
} }
package com.junmp.jyzb.controller;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.service.EquipmentTypeService;
import com.junmp.jyzb.service.InventoryService;
import com.junmp.jyzb.service.InventorySummaryService;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.message.api.MessageApi;
import com.junmp.v2.message.api.bean.req.MessageReq;
import com.junmp.v2.message.api.bean.req.MessageSendReq;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@RestController
@Api("消息推送")
@RequestMapping("/MessageSend")
@Slf4j
public class MessageSendController {
@Resource
private InventoryService inventoryService;
@Resource
private InventorySummaryService inventorySummaryService;
@Resource
private EquipmentTypeService equipmentTypeService;
@Resource
private MessageApi messageApi;
@Resource
private SysDictItemService sysDictItemService;
// MessageSendReq sendReq = new MessageSendReq();
// sendReq.setSendUserId("1000");
// sendReq.setReceiveUserIds(userIds);
// sendReq.setMsgTitle(msgtTitle);
// sendReq.setBizType(bizType);
// sendReq.setMsgContent(msgContent);
// sendReq.setPriority("0");
// sendReq.setSendTime(DateTime.now());
// messageApi.sendMessage(sendReq);
// messageApi.queryCount(new MessageReq());
// /*推送发送未读数量*/
// for(Long userId :userIdList){
// MessageReq req1 = new MessageReq();
// req1.setReadFlag(0);
// req1.setReceiveUserId(userId);
// Integer count1 = messageApi.queryCount(req1);
// messageApi.pushMsgToUser(String.valueOf(userId),count1);
//消息推送场景1:物资低于物资阈值
@PostMapping("/aaa")
public ApiRes<Boolean> action1() {
//获取装备信息汇总,并且判断装备的汇总数量是否低于装备阈值,如果低于装备阈值,则进行消息提醒
//所有待判断的物资
LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationType, 0);
//分页参数
int pageSize=1000;
int currentPage=1;
//获取装备的所有库存数量
long termCount= inventorySummaryService.count(wrapper);
List<InventorySummary> list=new ArrayList<>();
if (termCount>0) {
// 分页查询
while ((currentPage - 1) * pageSize < termCount) {
List<InventorySummary> inventorySummaryList = processPageData1(currentPage, pageSize);
currentPage++;
list.addAll(inventorySummaryList);
}
}
//超期物资查询出来之后,将超期物资进行消息推送提醒
//直接对list进行处理操作推送消息即可
for (InventorySummary inventorySummary:list) {
MessageSendReq sendReq = new MessageSendReq();
sendReq.setSendUserId("1000");
sendReq.setReceiveUserIds("1000");
sendReq.setMsgTitle("物资低于阈值");
//设置业务类型
SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getDictItemId, "1698969902300176385"));
sendReq.setBizType(one.getItemValue());
sendReq.setMsgContent(inventorySummary.getLocationName()+"仓库下的"+inventorySummary.getTypeName()+",号型为:"+inventorySummary.getSizeName()+"的物资低于阈值");
sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq);
}
messageApi.queryCount(new MessageReq());
/*推送发送未读数量*/
List<Long> userIdList=new ArrayList<>();
userIdList.add(1000L);
for(Long userId :userIdList){
MessageReq req1 = new MessageReq();
req1.setReadFlag(0);
req1.setReceiveUserId(userId);
Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(String.valueOf(userId),count1);
}
return ApiRes.success(true);
}
// 处理每页数据
private List<InventorySummary> processPageData1(long pageSize, long currentPage) {
//得到全局默认值(随机处理数据表中的一条数据为默认值)
Integer threshold = equipmentTypeService.getById(100001).getThreshold();
//查询inventory_summary表中的threshold字段是否存在值,
// 如果存在则用summary表中的字段进行比较物资阈值,如果不存在则默认使用全局物资阈值进行比较
LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationType, 0);
Page<InventorySummary> page = inventorySummaryService.page(PageFactory.getDefaultPage(pageSize, currentPage),wrapper);
List<InventorySummary> records = page.getRecords();
//使用自定义物资阈值进行比较
List<InventorySummary> collect1 = records.stream()
.filter(data -> ObjectUtil.isNotNull(data.getThreshold()))
.filter(data -> data.getNumber() <= data.getThreshold())
.collect(Collectors.toList());
//使用全局物资阈值进行比较
List<InventorySummary> collect2 = records.stream()
.filter(data -> data.getNumber() <= threshold && ObjectUtil.isNull(data.getThreshold()))
.collect(Collectors.toList());
//将数据存储到一个list中
List<InventorySummary> inventorySummaryList=new ArrayList<>();
inventorySummaryList.addAll(collect1);
inventorySummaryList.addAll(collect2);
return inventorySummaryList;
}
//消息推送场景2:物资超期
//消息推送场景3:过质保期
@PostMapping("/ccc")
public void action3() {
LambdaQueryWrapper<Inventory> wrapper = new LambdaQueryWrapper<>();
// 分页参数
int pageSize = 1000; // 每页记录数,可以根据需求调整
int currentPage = 1; // 当前页数
//所有待判断的物资
wrapper.eq( Inventory::getTermState, 0);
//获取未超期的物资数量(并且他的state不是销毁状态)
long termCount= inventoryService.count(wrapper);
List<Inventory> list=new ArrayList<>();
if (termCount>0) {
// 分页查询
while ((currentPage - 1) * pageSize < termCount) {
List<Inventory> inventoryList = processPageData3(currentPage, pageSize);
currentPage++;
list.addAll(inventoryList);
}
}
System.out.println(list);
//超期物资查询出来之后,将超期物资进行消息推送提醒
//直接对list进行处理操作推送消息即可
}
// 处理每页数据
private List<Inventory> processPageData3(long pageSize, long currentPage)
{
LocalDate localdate =LocalDate.now();
// 使用LambdaQueryWrapper构建查询条件
LambdaQueryWrapper<Inventory> wrapper = Wrappers.lambdaQuery();
wrapper.eq( Inventory::getTermState, 0);
//如果 生产日期 < 当前日期减去质保数,表示该装备已经超过质保期
wrapper.apply("production_date <= DATE_SUB({0}, INTERVAL warranty_period DAY)", "1970-03-01 00:00:00");
//获取过质保期的物资信息
List<Inventory> page= inventoryService.page(PageFactory.getDefaultPage(pageSize,currentPage),wrapper).getRecords();
page.forEach(o->o.setTermState(1));
inventoryService.saveOrUpdateBatch(page);
return page;
}
}
...@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.OrderDto; import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto; import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.query.OrderMainReq; import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.OrderUploadReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq; import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.service.OrderService; import com.junmp.jyzb.service.OrderService;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
...@@ -75,6 +76,18 @@ public class OrderController { ...@@ -75,6 +76,18 @@ public class OrderController {
return ApiRes.success(orderService.GetDetailById(req)); return ApiRes.success(orderService.GetDetailById(req));
} }
@PostMapping("/PushState")
@ApiOperation("单据状态上报")
public ApiRes<Boolean> PushState(@RequestBody @Validated(ValidationApi.delete.class) OrderUploadReq req){
return ApiRes.success(orderService.PushState(req));
}
@PostMapping("/Accounting")
@ApiOperation("记账")
public ApiRes<Boolean> Accounting(@RequestBody @Validated(ValidationApi.delete.class) OrderUploadReq req){
return ApiRes.success(orderService.Accounting(req));
}
// //将工作单添加到rabbitmq中去 // //将工作单添加到rabbitmq中去
// @PostMapping("/AddOrderRabbitMq") // @PostMapping("/AddOrderRabbitMq")
// @ApiOperation("将工作单添加到rabbitmq消息队列中去") // @ApiOperation("将工作单添加到rabbitmq消息队列中去")
......
...@@ -3,6 +3,7 @@ package com.junmp.jyzb.controller; ...@@ -3,6 +3,7 @@ package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.PolicemanDto; import com.junmp.jyzb.api.bean.dto.PolicemanDto;
import com.junmp.jyzb.api.bean.query.CabinetReq; import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq;
import com.junmp.jyzb.api.bean.query.PolicemanReq; import com.junmp.jyzb.api.bean.query.PolicemanReq;
import com.junmp.jyzb.api.bean.req.UpdatePolicemanReq; import com.junmp.jyzb.api.bean.req.UpdatePolicemanReq;
import com.junmp.jyzb.entity.Policeman; import com.junmp.jyzb.entity.Policeman;
...@@ -11,6 +12,7 @@ import com.junmp.jyzb.utils.ResponseResult; ...@@ -11,6 +12,7 @@ import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.sys.api.bean.user.req.UserOrgReq;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -70,17 +72,17 @@ public class PoliceController { ...@@ -70,17 +72,17 @@ public class PoliceController {
//根据组织机构id查询,只查询本级,不包含下级(list) //根据条件查询,只查询本级,不包含下级(list)
@PostMapping("/ShowPoliceList") @PostMapping("/ShowPoliceList")
@ApiOperation("查询某个组织机构下的所有警员信息(list)") @ApiOperation("根据条件查询所有警员信息(list)")
public ApiRes<List<PolicemanDto>> GetAllPolicemanList(@RequestBody PolicemanReq req){ public ApiRes<List<PolicemanDto>> GetAllPolicemanList(@RequestBody PolicemanReq req){
List<PolicemanDto> policemanDtos = policemanService.GetAllPolicemanList(req); List<PolicemanDto> policemanDtos = policemanService.GetAllPolicemanList(req);
return ApiRes.success(policemanDtos); return ApiRes.success(policemanDtos);
} }
//根据组织机构id查询,只查询本级,不包含下级(page) //根据组条件查询,只查询本级,不包含下级(page)
@PostMapping("/ShowPolicePage") @PostMapping("/ShowPolicePage")
@ApiOperation("查询某个组织机构下的所有警员信息(page)") @ApiOperation("根据条件查询所有警员信息(page)")
public ApiRes<PageResult<PolicemanDto>> GetAllPolicemanPage(@RequestBody PolicemanReq req){ public ApiRes<PageResult<PolicemanDto>> GetAllPolicemanPage(@RequestBody PolicemanReq req){
PageResult<PolicemanDto> policemanDtoPageResult = policemanService.GetAllPolicemanPage(req); PageResult<PolicemanDto> policemanDtoPageResult = policemanService.GetAllPolicemanPage(req);
return ApiRes.success(policemanDtoPageResult); return ApiRes.success(policemanDtoPageResult);
...@@ -123,9 +125,8 @@ public class PoliceController { ...@@ -123,9 +125,8 @@ public class PoliceController {
@PostMapping("/ChangePoliceOrg") @PostMapping("/ChangePoliceOrg")
@ApiOperation("警员调岗") @ApiOperation("警员调岗")
public ResponseResult changePoliceOrg(@RequestBody Map<String, Object> cabinetId){ public ApiRes<Boolean> changePoliceOrg(@RequestBody @Validated(ValidationApi.edit.class)PoliceReassignmentReq req){
return ApiRes.success(policemanService.changePoliceOrg(req));
return null;
} }
...@@ -183,4 +184,11 @@ public class PoliceController { ...@@ -183,4 +184,11 @@ public class PoliceController {
return ApiRes.success(b); return ApiRes.success(b);
} }
//删除账号的同时,将警员的信息进行更新
@PostMapping("/UpdatePoliceInfo")
@ApiOperation("删除警员账号,修改警员信息")
public ApiRes<Boolean> UpdatePoliceInfo (@RequestBody UserOrgReq req){
return ApiRes.success(policemanService.UpdatePoliceInfo(req));
}
} }
...@@ -50,7 +50,7 @@ public class PubOrgController { ...@@ -50,7 +50,7 @@ public class PubOrgController {
} }
@PostMapping("/GetCurrentList") @PostMapping("/GetCurrentList")
@ApiOperation("根据当前组织机构列表查询") @ApiOperation("根据当前组织机构列表查询")
public ApiRes<OrgDto> GetCurrentList(@RequestBody QueryOrgReq req) { public ApiRes<OrgDto> GetCurrentList(@RequestBody @Validated(ValidationApi.detail.class) QueryOrgReq req) {
return ApiRes.success(pubOrgService.getOrgHierarchy(req)); return ApiRes.success(pubOrgService.getOrgHierarchy(req));
} }
@PostMapping("/ChangeOrgState") @PostMapping("/ChangeOrgState")
......
...@@ -7,6 +7,7 @@ import com.junmp.jyzb.entity.Supplier; ...@@ -7,6 +7,7 @@ import com.junmp.jyzb.entity.Supplier;
import com.junmp.jyzb.service.SupplierService; import com.junmp.jyzb.service.SupplierService;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -45,6 +46,13 @@ public class SupplierController { ...@@ -45,6 +46,13 @@ public class SupplierController {
return ApiRes.success(supplierService.ShowSupplier(req)); return ApiRes.success(supplierService.ShowSupplier(req));
} }
//供应商分页
@PostMapping("/ShowSupplierPage")
@ApiOperation("查询供应商列表(page)")
public ApiRes<PageResult<SupplierDto>> ShowSupplierPage(@RequestBody QuerySupplierReq req){
return ApiRes.success(supplierService.ShowSupplierPage(req));
}
@PostMapping("/UpdateSupplier") @PostMapping("/UpdateSupplier")
@ApiOperation("修改供应商信息") @ApiOperation("修改供应商信息")
......
package com.junmp.jyzb.controller; package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.req.BorrowFormReq; import com.junmp.jyzb.api.bean.req.FormEqsReq;
import com.junmp.jyzb.service.PoliceEquipmentService; import com.junmp.jyzb.service.PoliceEquipmentService;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -24,7 +24,8 @@ public class ToOutController { ...@@ -24,7 +24,8 @@ public class ToOutController {
//警员借用装备后在在数据库中增加相关借用装备数据 //警员借用装备后在在数据库中增加相关借用装备数据
@PostMapping("/AddBorrowEqs") @PostMapping("/AddBorrowEqs")
@ApiOperation("增加警员借用装备数据信息") @ApiOperation("增加警员借用装备数据信息")
public ApiRes<Boolean> AddBorrowEqs(BorrowFormReq req){ public ApiRes<Boolean> AddBorrowEqs(FormEqsReq req){
return ApiRes.success(policeEquipmentService.AddBorrowEqs(req)); return ApiRes.success(policeEquipmentService.AddBorrowEqs(req));
} }
//警员领用装备后在数据库中增加相关领用装备数据
} }
...@@ -107,5 +107,11 @@ public class EquipmentType implements Serializable { ...@@ -107,5 +107,11 @@ public class EquipmentType implements Serializable {
@ApiModelProperty(value = "类型,0类别,1装备") @ApiModelProperty(value = "类型,0类别,1装备")
private Integer type; private Integer type;
/**
* 物资阈值
*/
@ApiModelProperty(value = "物资阈值")
private Integer threshold;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -48,7 +48,7 @@ public class Inventory implements Serializable { ...@@ -48,7 +48,7 @@ public class Inventory implements Serializable {
* 部门ID * 部门ID
*/ */
@TableField("department_id") @TableField("department_id")
private long departmentId; private Long departmentId;
/** /**
* 货架位置 * 货架位置
...@@ -103,13 +103,13 @@ public class Inventory implements Serializable { ...@@ -103,13 +103,13 @@ public class Inventory implements Serializable {
private Date productionDate; private Date productionDate;
/** /**
* 质保 * 质保
*/ */
@TableField("warranty_period") @TableField("warranty_period")
private long warrantyPeriod; private Integer warrantyPeriod;
/** /**
* 维保 * 维保
*/ */
@TableField("maintenance_period") @TableField("maintenance_period")
private Integer maintenancePeriod; private Integer maintenancePeriod;
...@@ -120,10 +120,10 @@ public class Inventory implements Serializable { ...@@ -120,10 +120,10 @@ public class Inventory implements Serializable {
@TableField("fix_count") @TableField("fix_count")
private Integer fixCount; private Integer fixCount;
/** /**
* 维修次数 * 是否过期
*/ */
@TableField("term_state") @TableField("term_state")
private int TermState; private Integer TermState;
/** /**
* 位置类型 * 位置类型
*/ */
...@@ -182,4 +182,8 @@ public class Inventory implements Serializable { ...@@ -182,4 +182,8 @@ public class Inventory implements Serializable {
*/ */
@TableField(value = "create_user", fill = FieldFill.UPDATE) @TableField(value = "create_user", fill = FieldFill.UPDATE)
private String createUser; private String createUser;
} }
\ No newline at end of file
package com.junmp.jyzb.entity; package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -12,10 +14,10 @@ import lombok.Data; ...@@ -12,10 +14,10 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ApiModel(value = "com-junmp-jyzb-domain-InventorySummary") @ApiModel(value = "com-junmp-jyzb-domain-InventorySummary")
@Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@TableName("base_inventory_summary") @TableName("base_inventory_summary_type2")
@Data
public class InventorySummary implements Serializable { public class InventorySummary implements Serializable {
/** /**
* 装备汇总id * 装备汇总id
...@@ -161,6 +163,25 @@ public class InventorySummary implements Serializable { ...@@ -161,6 +163,25 @@ public class InventorySummary implements Serializable {
@TableField("one_id") @TableField("one_id")
private String oneId; private String oneId;
/**
* 物资阈值
*/
@ApiModelProperty(value = "物资阈值")
@TableField("threshold")
private Integer threshold;
/**
* 质保期
*/
@TableField(exist = false)
private Integer warrantyPeriod;
/**
* 维保周期
*/
@TableField(exist = false)
private Integer maintenancePeriod;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -32,10 +32,40 @@ public class PoliceEquipment implements Serializable { ...@@ -32,10 +32,40 @@ public class PoliceEquipment implements Serializable {
private String policeId; private String policeId;
/** /**
* 装备ID * 装备号型id
*/ */
@TableField("equipment_id") @TableField("size_id")
private String equipmentId; private String sizeId;
/**
*装备号型名称
*/
@TableField("size_name")
private String sizeName;
/**
*装备类型id
*/
@TableField("type_id")
private String typeId;
/**
*装备类型名称
*/
@TableField("type_name")
private String typeName;
/**
*供应商id
*/
@TableField("supplier_id")
private String supplierId;
/**
*供应商名称
*/
@TableField("supplier_name")
private String supplierName;
/** /**
* 装备数量 * 装备数量
...@@ -50,12 +80,6 @@ public class PoliceEquipment implements Serializable { ...@@ -50,12 +80,6 @@ public class PoliceEquipment implements Serializable {
private Long orgId; private Long orgId;
/** /**
* 装备名称
*/
@TableField("equipment_name")
private String equipmentName;
/**
* 更新时间 * 更新时间
*/ */
@TableField("update_time") @TableField("update_time")
......
...@@ -50,7 +50,8 @@ public class Policeman implements Serializable { ...@@ -50,7 +50,8 @@ public class Policeman implements Serializable {
@TableField(value = "door_code") @TableField(value = "door_code")
private String doorCode; private String doorCode;
@TableField(value = "password") @TableField(value = "password",updateStrategy = FieldStrategy.IGNORED)
private String password; private String password;
@TableField(value = "photo") @TableField(value = "photo")
...@@ -74,7 +75,7 @@ public class Policeman implements Serializable { ...@@ -74,7 +75,7 @@ public class Policeman implements Serializable {
@TableField(value = "state") @TableField(value = "state")
private Integer state; private Integer state;
@TableField(value = "user_id") @TableField(value = "user_id",updateStrategy = FieldStrategy.IGNORED)
private Long UserId; private Long UserId;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -2,6 +2,7 @@ package com.junmp.jyzb.entity; ...@@ -2,6 +2,7 @@ package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -15,37 +16,64 @@ import java.util.Date; ...@@ -15,37 +16,64 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@TableName("sys_user") @TableName("sys_user")
public class User implements Serializable { public class User implements Serializable {
@TableId(value = "user_id")
private Long userId; private Long userId;
@TableField(value = "real_name") @TableField(value = "real_name")
private String realName; private String realName;
@TableField(value = "nick_name")
private String nickName; private String nickName;
private String account; private String account;
private String password; private String password;
//头像,存的为文件的id //头像,存的为文件的id
private Long avatar; private Long avatar;
private Date birthday; private Date birthday;
private String sex; private String sex;
private String email; private String email;
private String phone; private String phone;
private String tel; private String tel;
//是否是超级管理员:Y-是,N-否
@TableField(value = "super_admin_flag")
private String superAdminFlag; private String superAdminFlag;
//状态:1-正常,2-冻结
@TableField(value = "status_flag")
private String statusFlag; private String statusFlag;
@TableField(value = "user_type")
private Integer userType; private Integer userType;
@TableField(value = "last_login_ip")
private String lastLoginIp; private String lastLoginIp;
@TableField(value = "last_login_time")
private Date lastLoginTime; private Date lastLoginTime;
@TableField(value = "del_flag")
private Integer delFlag; private Integer delFlag;
@TableField(value = "create_time", fill = FieldFill.INSERT) @TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime; private Date createTime;
@TableField(value = "create_user")
private Long createUser; private Long createUser;
@TableField(value = "update_time", fill = FieldFill.UPDATE) @TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime; private Date updateTime;
@TableField(value = "update_user")
private Long updateUser; private Long updateUser;
@TableField(value = "app_flag")
private Integer appFlag; private Integer appFlag;
} }
...@@ -4,7 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,7 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.ProductBatch; import com.junmp.jyzb.entity.ProductBatch;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper @Mapper
public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
} }
\ No newline at end of file
package com.junmp.jyzb.mapper; package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.entity.CabinetBox; import com.junmp.jyzb.entity.CabinetBox;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.Policeman; import com.junmp.jyzb.entity.Policeman;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -22,5 +26,9 @@ public interface PolicemanMapper extends BaseMapper<Policeman> { ...@@ -22,5 +26,9 @@ public interface PolicemanMapper extends BaseMapper<Policeman> {
List<Policeman> SearchBoxBindPolice(List<String> cabinetBoxes); List<Policeman> SearchBoxBindPolice(List<String> cabinetBoxes);
List<Policeman> SearchPoliceList(String id); List<Policeman> SearchPoliceList( String id);
IPage<Policeman> SearchPolicePage(Page<Policeman> page, String id);
Long SearchPoliceSize(String id);
} }
\ No newline at end of file
...@@ -11,8 +11,6 @@ import java.util.Map; ...@@ -11,8 +11,6 @@ import java.util.Map;
public interface CabinetBoxService extends IService<CabinetBox> { public interface CabinetBoxService extends IService<CabinetBox> {
List<CabinetBox> getCabinetBoxList(CabinetReq req);
//添加箱门信息 //添加箱门信息
String AddBoxInfo(UpdateCabinetBoxReq req); String AddBoxInfo(UpdateCabinetBoxReq req);
......
...@@ -7,6 +7,7 @@ import com.junmp.jyzb.api.bean.query.CabinetReq; ...@@ -7,6 +7,7 @@ import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.req.UpdateCabinetReq; import com.junmp.jyzb.api.bean.req.UpdateCabinetReq;
import com.junmp.jyzb.entity.Cabinet; import com.junmp.jyzb.entity.Cabinet;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -73,4 +74,7 @@ public interface CabinetService extends IService<Cabinet> { ...@@ -73,4 +74,7 @@ public interface CabinetService extends IService<Cabinet> {
Cabinet CabinetExist(String id); Cabinet CabinetExist(String id);
boolean SetInventoryInfo(String id); boolean SetInventoryInfo(String id);
//根据组织机构id查询出单警柜的详细信息(page)
PageResult<CabinetDto> ShowCabinetPage(CabinetReq req);
} }
...@@ -16,6 +16,7 @@ import java.util.List; ...@@ -16,6 +16,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
public interface InventoryService extends IService<Inventory> { public interface InventoryService extends IService<Inventory> {
//根据装备id查询出装备的详细信息
InventoryDto getInventoryDetail(InventoryReq msg); InventoryDto getInventoryDetail(InventoryReq msg);
...@@ -77,4 +78,9 @@ public interface InventoryService extends IService<Inventory> { ...@@ -77,4 +78,9 @@ public interface InventoryService extends IService<Inventory> {
//查询箱门(cabinetBox下)所有装备简要信息列表page(传递cabinetBoxId) //查询箱门(cabinetBox下)所有装备简要信息列表page(传递cabinetBoxId)
PageResult<EqsBriefDto> searchEqsByBoxIdPage(CabinetBoxReq req); PageResult<EqsBriefDto> searchEqsByBoxIdPage(CabinetBoxReq req);
//根据条件查询仓库下的所有装备信息
PageResult<InventoryDto> GetDetailByTerms(InventoryReq req);
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.OrderDto; import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto; import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.query.OrderMainReq; import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.OrderUploadReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq; import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.entity.OrderMain; import com.junmp.jyzb.entity.OrderMain;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
...@@ -13,11 +14,10 @@ public interface OrderService extends IService<OrderMain> { ...@@ -13,11 +14,10 @@ public interface OrderService extends IService<OrderMain> {
String AddOrder(UpdateOrderReq req); String AddOrder(UpdateOrderReq req);
String AddFinishOrder(UpdateOrderReq req); String AddFinishOrder(UpdateOrderReq req);
//更新任务单
Boolean updateOrder(UpdateOrderReq req); Boolean updateOrder(UpdateOrderReq req);
//判断任务单是否存在 //判断任务单是否存在
OrderMain orderMainExist(String id); OrderMain orderMainExist(String id);
...@@ -29,5 +29,11 @@ public interface OrderService extends IService<OrderMain> { ...@@ -29,5 +29,11 @@ public interface OrderService extends IService<OrderMain> {
OrderDto GetDetailById(OrderMainReq req); OrderDto GetDetailById(OrderMainReq req);
//设置page的pageNo和pageSize的通用方法 //设置page的pageNo和pageSize的通用方法
public Map<String,Long> getPage(Long no,Long size); Map<String,Long> getPage(Long no,Long size);
//单据状态上报
boolean PushState(OrderUploadReq req);
//记账
boolean Accounting(OrderUploadReq req);
} }
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.req.BorrowFormReq; import com.junmp.jyzb.api.bean.req.FormEqsReq;
import com.junmp.jyzb.entity.PoliceEquipment; import com.junmp.jyzb.entity.PoliceEquipment;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -11,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -11,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface PoliceEquipmentService extends IService<PoliceEquipment> { public interface PoliceEquipmentService extends IService<PoliceEquipment> {
boolean AddBorrowEqs(BorrowFormReq req); boolean AddBorrowEqs(FormEqsReq req);
} }
...@@ -3,10 +3,12 @@ package com.junmp.jyzb.service; ...@@ -3,10 +3,12 @@ package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.PolicemanDto; import com.junmp.jyzb.api.bean.dto.PolicemanDto;
import com.junmp.jyzb.api.bean.query.CabinetReq; import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq;
import com.junmp.jyzb.api.bean.query.PolicemanReq; import com.junmp.jyzb.api.bean.query.PolicemanReq;
import com.junmp.jyzb.api.bean.req.UpdatePolicemanReq; import com.junmp.jyzb.api.bean.req.UpdatePolicemanReq;
import com.junmp.jyzb.entity.Policeman; import com.junmp.jyzb.entity.Policeman;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.sys.api.bean.user.req.UserOrgReq;
import java.util.List; import java.util.List;
...@@ -36,10 +38,10 @@ public interface PolicemanService extends IService<Policeman> { ...@@ -36,10 +38,10 @@ public interface PolicemanService extends IService<Policeman> {
boolean ChangePoliceState(UpdatePolicemanReq req); boolean ChangePoliceState(UpdatePolicemanReq req);
//通过组织机构id查询警员列表(list) //通过条件查询警员列表(list)
List<PolicemanDto> GetAllPolicemanList(PolicemanReq req); List<PolicemanDto> GetAllPolicemanList(PolicemanReq req);
//通过组织机构id查询警员列表(page) //通过条件查询警员列表(page)
PageResult<PolicemanDto> GetAllPolicemanPage(PolicemanReq req); PageResult<PolicemanDto> GetAllPolicemanPage(PolicemanReq req);
//根据单警柜id查询警员列表(list) //根据单警柜id查询警员列表(list)
...@@ -52,7 +54,7 @@ public interface PolicemanService extends IService<Policeman> { ...@@ -52,7 +54,7 @@ public interface PolicemanService extends IService<Policeman> {
Policeman SearchFaceInfo(PolicemanReq req); Policeman SearchFaceInfo(PolicemanReq req);
//绑定用户
boolean PoliceBindUser(PolicemanReq req); boolean PoliceBindUser(PolicemanReq req);
boolean PoliceBindBox(PolicemanReq req); boolean PoliceBindBox(PolicemanReq req);
...@@ -61,6 +63,9 @@ public interface PolicemanService extends IService<Policeman> { ...@@ -61,6 +63,9 @@ public interface PolicemanService extends IService<Policeman> {
//判断警员信息是否存在 //判断警员信息是否存在
Policeman PoliceExist(String policeId); Policeman PoliceExist(String policeId);
//删除账号时同时对警员的信息进行更改操作
boolean UpdatePoliceInfo(UserOrgReq req);
//警员调岗
boolean changePoliceOrg(PoliceReassignmentReq req);
} }
...@@ -2,8 +2,6 @@ package com.junmp.jyzb.service; ...@@ -2,8 +2,6 @@ package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.ShelfDto; import com.junmp.jyzb.api.bean.dto.ShelfDto;
import com.junmp.jyzb.api.bean.dto.ShelfInsDto;
import com.junmp.jyzb.api.bean.dto.ShelfInventoryDto;
import com.junmp.jyzb.api.bean.query.ShelfReq; import com.junmp.jyzb.api.bean.query.ShelfReq;
import com.junmp.jyzb.api.bean.req.UpdateShelfReq; import com.junmp.jyzb.api.bean.req.UpdateShelfReq;
import com.junmp.jyzb.entity.Shelf; import com.junmp.jyzb.entity.Shelf;
......
...@@ -5,6 +5,7 @@ import com.junmp.jyzb.api.bean.dto.SupplierDto; ...@@ -5,6 +5,7 @@ import com.junmp.jyzb.api.bean.dto.SupplierDto;
import com.junmp.jyzb.api.bean.query.QuerySupplierReq; import com.junmp.jyzb.api.bean.query.QuerySupplierReq;
import com.junmp.jyzb.api.bean.req.UpdateSupplierReq; import com.junmp.jyzb.api.bean.req.UpdateSupplierReq;
import com.junmp.jyzb.entity.Supplier; import com.junmp.jyzb.entity.Supplier;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List; import java.util.List;
...@@ -52,4 +53,6 @@ public interface SupplierService extends IService<Supplier> { ...@@ -52,4 +53,6 @@ public interface SupplierService extends IService<Supplier> {
* @param req * @param req
*/ */
Boolean ChangeSupplierState(UpdateSupplierReq req); Boolean ChangeSupplierState(UpdateSupplierReq req);
PageResult<SupplierDto> ShowSupplierPage(QuerySupplierReq req);
} }
...@@ -31,19 +31,6 @@ public class CabinetBoxServiceImpl extends ServiceImpl<CabinetBoxMapper, Cabinet ...@@ -31,19 +31,6 @@ public class CabinetBoxServiceImpl extends ServiceImpl<CabinetBoxMapper, Cabinet
private CabinetService cabinetService; private CabinetService cabinetService;
/**
* @author lxh
* @description 通过cabinetId获取箱门信息列表
* @since 2023/7/18 22:20
* @param
* @return
**/
@Override
public List<CabinetBox> getCabinetBoxList(CabinetReq req) {
List<CabinetBox> cabinetBoxList = this.list(new LambdaQueryWrapper<CabinetBox>()
.eq(ObjectUtil.isNotEmpty(req.getId()),CabinetBox::getCabinetId, req.getId()));
return cabinetBoxList;
}
//添加箱门信息 //添加箱门信息
@Override @Override
...@@ -63,8 +50,8 @@ public class CabinetBoxServiceImpl extends ServiceImpl<CabinetBoxMapper, Cabinet ...@@ -63,8 +50,8 @@ public class CabinetBoxServiceImpl extends ServiceImpl<CabinetBoxMapper, Cabinet
CabinetBoxExist(req.getId()); CabinetBoxExist(req.getId());
CabinetBox cabinetBox = new CabinetBox(); CabinetBox cabinetBox = new CabinetBox();
BeanPlusUtil.copyProperties(req,cabinetBox); BeanPlusUtil.copyProperties(req,cabinetBox);
//添加单警柜箱门信息默认状态为1 //添加单警柜箱门信息默认状态为0正常
cabinetBox.setState(1); cabinetBox.setState(0);
cabinetBox.setCabinetId(cabinet.getId()); cabinetBox.setCabinetId(cabinet.getId());
Integer num = cabinet.getNum(); Integer num = cabinet.getNum();
if (num==null){ if (num==null){
......
...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service.impl; ...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.CabinetDto; import com.junmp.jyzb.api.bean.dto.CabinetDto;
import com.junmp.jyzb.api.bean.dto.CabinetBoxDto; import com.junmp.jyzb.api.bean.dto.CabinetBoxDto;
...@@ -9,21 +10,18 @@ import com.junmp.jyzb.api.bean.query.CabinetBoxReq; ...@@ -9,21 +10,18 @@ import com.junmp.jyzb.api.bean.query.CabinetBoxReq;
import com.junmp.jyzb.api.bean.query.CabinetReq; import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.req.UpdateCabinetBoxReq; import com.junmp.jyzb.api.bean.req.UpdateCabinetBoxReq;
import com.junmp.jyzb.api.bean.req.UpdateCabinetReq; import com.junmp.jyzb.api.bean.req.UpdateCabinetReq;
import com.junmp.jyzb.entity.Cabinet; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.entity.CabinetBox;
import com.junmp.jyzb.entity.Policeman;
import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
import com.junmp.jyzb.api.exception.enums.PolicemanExceptionEnum; import com.junmp.jyzb.api.exception.enums.PolicemanExceptionEnum;
import com.junmp.jyzb.api.exception.enums.PubOrgExceptionEnum; import com.junmp.jyzb.api.exception.enums.PubOrgExceptionEnum;
import com.junmp.jyzb.mapper.*; import com.junmp.jyzb.mapper.*;
import com.junmp.jyzb.service.CabinetBoxService; import com.junmp.jyzb.service.*;
import com.junmp.jyzb.service.CabinetService;
import com.junmp.jyzb.service.PolicemanService;
import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.utils.*; import com.junmp.jyzb.utils.*;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil; 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 org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -47,6 +45,9 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl ...@@ -47,6 +45,9 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
@Resource @Resource
private PolicemanService policemanService; private PolicemanService policemanService;
@Resource
private OrderService orderService;
private List<Long> getAllOrgId(CabinetReq req, String includeLowerLevel) { private List<Long> getAllOrgId(CabinetReq req, String includeLowerLevel) {
List<Long> allOrg = new ArrayList<>(); List<Long> allOrg = new ArrayList<>();
...@@ -96,7 +97,7 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl ...@@ -96,7 +97,7 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
for (int i = 1; i <= req.getNum(); i++) { for (int i = 1; i <= req.getNum(); i++) {
CabinetBox cabinetBox = new CabinetBox(); CabinetBox cabinetBox = new CabinetBox();
cabinetBox.setCabinetId(cabinet.getId()); cabinetBox.setCabinetId(cabinet.getId());
cabinetBox.setState(1); cabinetBox.setState(0);
cabinetBox.setNum(i); cabinetBox.setNum(i);
//添加到列表进行批量增加 //添加到列表进行批量增加
objects.add(cabinetBox); objects.add(cabinetBox);
...@@ -179,6 +180,9 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl ...@@ -179,6 +180,9 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
List<CabinetDto> cabinetList=new ArrayList<>(); List<CabinetDto> cabinetList=new ArrayList<>();
List<Cabinet> list = list(new LambdaQueryWrapper<Cabinet>() List<Cabinet> list = list(new LambdaQueryWrapper<Cabinet>()
.eq(Cabinet::getOrgId, req.getOrgId())); .eq(Cabinet::getOrgId, req.getOrgId()));
if (list.size()==0){
return new ArrayList<>();
}
for (Cabinet cabinet:list) { for (Cabinet cabinet:list) {
CabinetDto cabinetDto = new CabinetDto(); CabinetDto cabinetDto = new CabinetDto();
BeanPlusUtil.copyProperties(cabinet,cabinetDto); BeanPlusUtil.copyProperties(cabinet,cabinetDto);
...@@ -206,6 +210,55 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl ...@@ -206,6 +210,55 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
return cabinetList; return cabinetList;
} }
//根据组织机构id查询出单警柜的详细信息(page)
@Override
public PageResult<CabinetDto> ShowCabinetPage(CabinetReq req) {
//判断组织机构是否存在
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
List<CabinetDto> cabinetList=new ArrayList<>();
LambdaQueryWrapper<Cabinet> eq = new LambdaQueryWrapper<Cabinet>()
.eq(Cabinet::getOrgId, req.getOrgId())
.like(ObjectUtil.isNotNull(req.getName()),Cabinet::getName,req.getName())
.like(ObjectUtil.isNotNull(req.getCabinetNum()),Cabinet::getCabinetNum,req.getCabinetNum());
List<Cabinet> list = list(eq);
long size = list.size();
if (list.size()==0){
Page<CabinetDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page.setRecords(cabinetList);
page.setTotal(cabinetList.size());
return PageResultFactory.createPageResult(page);
}
Page<Cabinet> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<Cabinet> records = page.getRecords();
for (Cabinet cabinet:records) {
CabinetDto cabinetDto = new CabinetDto();
BeanPlusUtil.copyProperties(cabinet,cabinetDto);
List<CabinetBox> list1 = cabinetBoxService.list(new LambdaQueryWrapper<CabinetBox>()
.eq(CabinetBox::getCabinetId, cabinet.getId()));
List<CabinetBoxDto> cabinetBoxList=new ArrayList<>();
for (CabinetBox cabinetBox:list1) {
CabinetBoxDto cabinetBoxDto = new CabinetBoxDto();
BeanPlusUtil.copyProperties(cabinetBox,cabinetBoxDto);
//查询箱门绑定的警员id和姓名
List<Policeman> policeList = policemanService.list(new LambdaQueryWrapper<Policeman>()
.eq(Policeman::getCabinetBoxId, cabinetBox.getId()));
if (policeList.size()!=0){
Policeman policeman = policeList.get(0);
cabinetBoxDto.setPoliceId(policeman.getId());
cabinetBoxDto.setPoliceName(policeman.getName());
}
cabinetBoxDto.setBoxNum(cabinetBox.getNum());
cabinetBoxList.add(cabinetBoxDto);
}
cabinetDto.setCabinetBoxList(cabinetBoxList);
cabinetDto.setOrgName(pubOrg.getOrgName());
cabinetList.add(cabinetDto);
}
Page<CabinetDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page1.setRecords(cabinetList);
page1.setTotal(size);
return PageResultFactory.createPageResult(page1);
}
/** /**
* 通过单警柜id查询单个单警柜及其箱门信息 * 通过单警柜id查询单个单警柜及其箱门信息
...@@ -239,24 +292,34 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl ...@@ -239,24 +292,34 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
* @param req * @param req
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean updateCabinetInfo(UpdateCabinetReq req) { public boolean updateCabinetInfo(UpdateCabinetReq req) {
//查询传入的组织机构id是否存在 //查询传入的组织机构id是否存在
pubOrgService.PubOrgExist(req.getOrgId()); pubOrgService.PubOrgExist(req.getOrgId());
Cabinet one = getById(req.getId());
//查询是否有重复的单警柜编号 //查询是否有重复的单警柜编号
List<Cabinet> list = this.list(new LambdaQueryWrapper<Cabinet>() List<Cabinet> list = this.list(new LambdaQueryWrapper<Cabinet>()
.eq(Cabinet::getCabinetNum,req.getCabinetNum())); .eq(Cabinet::getCabinetNum,req.getCabinetNum()));
if (list.size()>0) { if (list.size()>0 && !list.get(0).getCabinetNum().equals(one.getCabinetNum())) {
//判断是否是本身,如果是则不抛出异常(根据单警柜id进行比较) //抛出单警柜重复异常
Cabinet cabinet = list.get(0); throw new ServiceException(CabinetExceptionEnum.CABINETID_IS_EXISTS);
if (!cabinet.getId().equals(req.getId())){
//抛出单警柜重复异常
throw new ServiceException(CabinetExceptionEnum.CABINETID_IS_EXISTS);
}
} }
Cabinet cabinet = new Cabinet(); Cabinet cabinet = new Cabinet();
BeanPlusUtil.copyProperties(req, cabinet); BeanPlusUtil.copyProperties(req, cabinet);
//判断传递的箱数是否相同,如果相同则表示没有新增箱门数量,否则添加箱门信息
List<CabinetBox> cabinetBoxList=new ArrayList<>();
if(req.getNum() != one.getNum()){
int startNum = (one.getNum() != null) ? one.getNum() + 1 : 0;
for(int i=startNum+1;i<=req.getNum();i++){
CabinetBox cabinetBox = new CabinetBox();
cabinetBox.setNum(i);
cabinetBox.setCabinetId(req.getId());
cabinetBox.setState(0);
cabinetBoxList.add(cabinetBox);
}
}
cabinetBoxService.saveBatch(cabinetBoxList);
return this.updateById(cabinet); return this.updateById(cabinet);
} }
...@@ -351,4 +414,6 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl ...@@ -351,4 +414,6 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
return true; return true;
} }
} }
\ No newline at end of file
...@@ -79,7 +79,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl ...@@ -79,7 +79,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
@Override @Override
public PageResult<Company> findPage(CompanyReq req) { public PageResult<Company> findPage(CompanyReq req) {
LambdaQueryWrapper<Company> wrapper = createWrapper(req); LambdaQueryWrapper<Company> wrapper = createWrapper(req);
Page<Company> page = this.page(PageFactory.getDefaultPage(), wrapper); Page<Company> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
......
...@@ -234,12 +234,23 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E ...@@ -234,12 +234,23 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E
list.forEach(p->{ list.forEach(p->{
EquipmentTypeDto org=new EquipmentTypeDto(); EquipmentTypeDto org=new EquipmentTypeDto();
BeanPlusUtil.copyProperties(p, org); BeanPlusUtil.copyProperties(p, org);
//判断是否有下级,如果没有设置为true;
// 判断是否有子节点
boolean hasChildren = hasChildren(p.getId());
org.setIsLeaf(!hasChildren);
orgs.add(org); orgs.add(org);
}); });
return orgs; return orgs;
} }
// 判断是否有子节点的方法
private boolean hasChildren(String parentId) {
LambdaQueryWrapper<EquipmentType> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EquipmentType::getParentId, parentId);
Long count = this.count(wrapper);
return count > 0;
}
@Override @Override
public ResponseResult setTypeParentIds() { public ResponseResult setTypeParentIds() {
//清空parent_ids字段 //清空parent_ids字段
......
...@@ -16,10 +16,12 @@ import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; ...@@ -16,10 +16,12 @@ import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
import com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum; import com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum;
import com.junmp.jyzb.entity.*; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.InventorySummaryMapper;
import com.junmp.jyzb.service.*; import com.junmp.jyzb.service.*;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.common.util.HttpServletUtil; import com.junmp.v2.common.util.HttpServletUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory; import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.office.api.OfficeExcelApi; import com.junmp.v2.office.api.OfficeExcelApi;
...@@ -77,6 +79,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -77,6 +79,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Resource @Resource
private OrderService orderService; private OrderService orderService;
@Resource
private InventorySummaryService inventorySummaryService;
//根据装备id查询出装备的详细信息
@Override @Override
public InventoryDto getInventoryDetail(InventoryReq req) { public InventoryDto getInventoryDetail(InventoryReq req) {
Inventory inventory = InventoryExist(req.getId()); Inventory inventory = InventoryExist(req.getId());
...@@ -96,13 +103,31 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -96,13 +103,31 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean setInventoryMsg(){ public boolean setInventoryMsg(){
//先查询inventory_summary表中的物资阈值字段是否为空,如果为空则默认他是默认值,如果不是默认值,将其存储,再重新统计后进行赋值
List<InventorySummary> list = inventorySummaryService.list(new LambdaQueryWrapper<InventorySummary>()
.isNotNull(InventorySummary::getThreshold)
.eq(InventorySummary::getLocationType,0));
//清空数据库中已存在的信息 //清空数据库中已存在的信息
inventoryMapper.deleteAllMsg(); inventoryMapper.deleteAllMsg();
//放入单警柜信息汇总 //放入单警柜信息汇总
boolean b = inventoryMapper.SetCabinetInventory(); boolean b = inventoryMapper.SetCabinetInventory();
//放入仓库区域信息汇总 //放入仓库区域信息汇总
boolean b1 = inventoryMapper.SetWarehouseInventory(); boolean b1 = inventoryMapper.SetWarehouseInventory();
if (b && b1){ boolean b2=true;
if (list.size()>0){
for (InventorySummary inventorySummary:list) {
InventorySummary one = inventorySummaryService.getOne(new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationId, inventorySummary.getLocationId())
.eq(InventorySummary::getLocationType, 0)
.eq(InventorySummary::getSizeId, inventorySummary.getSizeId())
.eq(InventorySummary::getTypeId, inventorySummary.getTypeId())
.eq(InventorySummary::getOrgId, inventorySummary.getOrgId()));
one.setThreshold(inventorySummary.getThreshold());
b2 = inventorySummaryService.updateById(one);
}
}
if (b && b1 && b2){
return true; return true;
}else{ }else{
return false; return false;
...@@ -158,11 +183,9 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -158,11 +183,9 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
if (epcList.size()==0){ if (epcList.size()==0){
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR); throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
} }
List<InventoryDto> collect = epcList.parallelStream().map(s -> { List<InventoryDto> inventoryDtoList=new ArrayList<>();
Inventory inventory = getOne(new LambdaQueryWrapper<Inventory>().eq(Inventory::getEpc, s)); List<Inventory> inventoryList = list(new LambdaQueryWrapper<Inventory>().in(Inventory::getEpc, epcList));
if (Objects.isNull(inventory)) { for (Inventory inventory:inventoryList) {
throw new ServiceException(InventoryExceptionEnum.INVENTORY_NOT_EXIST);
}
InventoryDto inventoryDto = new InventoryDto(); InventoryDto inventoryDto = new InventoryDto();
BeanPlusUtil.copyProperties(inventory, inventoryDto); BeanPlusUtil.copyProperties(inventory, inventoryDto);
//设置型号名称,类别名称,供应商名称 //设置型号名称,类别名称,供应商名称
...@@ -174,9 +197,9 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -174,9 +197,9 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
} }
inventoryDto.setSizeName(sizeName); inventoryDto.setSizeName(sizeName);
inventoryDto.setTypeName(typeName); inventoryDto.setTypeName(typeName);
return inventoryDto; inventoryDtoList.add(inventoryDto);
}).collect(Collectors.toList()); }
return collect; return inventoryDtoList;
} }
//根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是List) //根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是List)
...@@ -215,10 +238,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -215,10 +238,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
}else { }else {
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR); throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
} }
Map<String, Long> map = orderService.getPage(req.getPageNo(), req.getPageSize()); Page<InventoryDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
Long pageNo = map.get("pageNo");
Long pageSize = map.get("pageSize");
Page<InventoryDto> page=new Page<>(pageNo,pageSize);
IPage<InventoryDto> pages= inventoryMapper.EqsByTypePage(page,req.getQueryType(),req.getOrgId(),req.getWarehouseId(),req.getCabinetId()); IPage<InventoryDto> pages= inventoryMapper.EqsByTypePage(page,req.getQueryType(),req.getOrgId(),req.getWarehouseId(),req.getCabinetId());
page.setRecords(pages.getRecords()); page.setRecords(pages.getRecords());
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
...@@ -240,7 +260,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -240,7 +260,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
Inventory next = iterator.next(); Inventory next = iterator.next();
EqsBriefDto eqsBriefDto = new EqsBriefDto(); EqsBriefDto eqsBriefDto = new EqsBriefDto();
BeanPlusUtil.copyProperties(next,eqsBriefDto); BeanPlusUtil.copyProperties(next,eqsBriefDto);
Map<String, String> map = setNames(eqsBriefDto.getSizeId(), eqsBriefDto.getTypeId(), eqsBriefDto.getSupplierId()); Map<String, String> map = setNames( eqsBriefDto.getTypeId(),eqsBriefDto.getSizeId(), eqsBriefDto.getSupplierId());
//设置typeName //设置typeName
eqsBriefDto.setTypeName(map.get("typeName")); eqsBriefDto.setTypeName(map.get("typeName"));
//设置sizeName //设置sizeName
...@@ -258,11 +278,15 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -258,11 +278,15 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Override @Override
public PageResult<EqsBriefDto> searchEqsByBoxIdPage(CabinetBoxReq req) { public PageResult<EqsBriefDto> searchEqsByBoxIdPage(CabinetBoxReq req) {
// List<EqsBriefDto> eqsBriefDtoList = searchEqsByBoxId(req); // List<EqsBriefDto> eqsBriefDtoList = searchEqsByBoxId(req);
List<Inventory> list = list(new LambdaQueryWrapper<Inventory>() LambdaQueryWrapper<Inventory> eq = new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getLocationId, req.getId()) .eq(Inventory::getLocationId, req.getId())
.orderByDesc(Inventory::getTypeId) .orderByDesc(Inventory::getTypeId)
.orderByDesc(Inventory::getSizeId)); .orderByDesc(Inventory::getSizeId);
List<EqsBriefDto> eqsBriefDtoList=list.parallelStream() List<Inventory> list = list(eq);
long size = list.size();
Page<Inventory> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<Inventory> records = page.getRecords();
List<EqsBriefDto> eqsBriefDtoList=records.parallelStream()
.map(inventory -> { .map(inventory -> {
EqsBriefDto eqsBriefDto = new EqsBriefDto(); EqsBriefDto eqsBriefDto = new EqsBriefDto();
BeanPlusUtil.copyProperties(inventory,eqsBriefDto); BeanPlusUtil.copyProperties(inventory,eqsBriefDto);
...@@ -277,14 +301,56 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -277,14 +301,56 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
} }
return eqsBriefDto; return eqsBriefDto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
Map<String, Long> map = orderService.getPage(req.getPageNo(), req.getPageSize()); Page<EqsBriefDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
Long pageNo = map.get("pageNo"); page1.setRecords(eqsBriefDtoList);
Long pageSize = map.get("pageSize"); page1.setTotal(size);
long count=eqsBriefDtoList.size(); return PageResultFactory.createPageResult(page1);
return PageResultFactory.createPageResult(eqsBriefDtoList,count,pageSize,pageNo); }
//根据条件查询仓库下的所有装备信息
@Override
public PageResult<InventoryDto> GetDetailByTerms(InventoryReq req) {
//判断组织机构是否存在
pubOrgService.PubOrgExist(req.getOrgId());
//根据条件查询仓库下的所有装备
LambdaQueryWrapper<Inventory> eq = new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getOrgId, req.getOrgId())
.eq(Inventory::getLocationType, 0)
.eq(ObjectUtil.isNotNull(req.getLocationId()), Inventory::getLocationId, req.getLocationId())
.eq(ObjectUtil.isNotNull(req.getLocationState()), Inventory::getLocationState, req.getLocationState())
.eq(ObjectUtil.isNotNull(req.getBussinessState()), Inventory::getBussinessState, req.getBussinessState())
.eq(ObjectUtil.isNotNull(req.getTermState()), Inventory::getTermState, req.getTermState())
.eq(ObjectUtil.isNotNull(req.getSizeId()),Inventory::getSizeId,req.getSizeId())
.eq(ObjectUtil.isNotNull(req.getTypeId()),Inventory::getTypeId,req.getTypeId());
long size = list(eq).size();
Page<Inventory> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<Inventory> records = page.getRecords();
List<InventoryDto> collect = records.parallelStream()
.map(inventory -> {
InventoryDto inventoryDto = new InventoryDto();
BeanPlusUtil.copyProperties(inventory, inventoryDto);
Map<String, String> map = setNames(inventory.getTypeId(), inventory.getSizeId(), inventory.getSupplierId());
//设置typeName
inventoryDto.setTypeName(map.get("typeName"));
//设置sizeName
inventoryDto.setSizeName(map.get("sizeName"));
//如果有供应商id的前提下,设置supplierName
if (ObjectUtil.isNotNull(inventory.getSupplierId())) {
inventoryDto.setSupplierName(map.get("supplierName"));
}
String orgName = pubOrgService.getOne(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getOrgId, inventory.getOrgId())).getOrgName();
inventoryDto.setOrgName(orgName);
return inventoryDto;
}).collect(Collectors.toList());
Page<InventoryDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page1.setRecords(collect);
page1.setTotal(size);
return PageResultFactory.createPageResult(page1);
} }
//根据货架id获取装备列表汇总信息(list) //根据货架id获取装备列表汇总信息(list)
@Override @Override
public List<InventorySummary> ShelfInventoryList(ShelfReq req) { public List<InventorySummary> ShelfInventoryList(ShelfReq req) {
...@@ -301,10 +367,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -301,10 +367,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
//判断货架是否存在 //判断货架是否存在
Shelf shelf = shelfService.ShelfExist(req.getShelfId()); Shelf shelf = shelfService.ShelfExist(req.getShelfId());
warehouseService.WarehoustExist(shelf.getWarehouseId()); warehouseService.WarehoustExist(shelf.getWarehouseId());
Map<String, Long> map = orderService.getPage(req.getPageNo(), req.getPageSize()); Page<InventorySummary> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
Long pageNo = map.get("pageNo");
Long pageSize = map.get("pageSize");
Page<InventorySummary> page=new Page<>(pageNo,pageSize);
IPage<InventorySummary> pages = inventoryMapper.ShelfInventoryPage(page,req.getShelfId()); IPage<InventorySummary> pages = inventoryMapper.ShelfInventoryPage(page,req.getShelfId());
pages.setRecords(pages.getRecords()); pages.setRecords(pages.getRecords());
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
...@@ -343,11 +406,15 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -343,11 +406,15 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
public PageResult<EqsBriefDto> ShelfInventoryPage(InventoryReq req) { public PageResult<EqsBriefDto> ShelfInventoryPage(InventoryReq req) {
Shelf shelf = shelfService.ShelfExist(req.getShelfId()); Shelf shelf = shelfService.ShelfExist(req.getShelfId());
warehouseService.WarehoustExist(shelf.getWarehouseId()); warehouseService.WarehoustExist(shelf.getWarehouseId());
List<Inventory> list = list(new LambdaQueryWrapper<Inventory>() LambdaQueryWrapper<Inventory> eq = new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getShelfId, req.getShelfId()) .eq(Inventory::getShelfId, req.getShelfId())
.orderByDesc(Inventory::getTypeId) .orderByDesc(Inventory::getTypeId)
.orderByDesc(Inventory::getSizeId)); .orderByDesc(Inventory::getSizeId);
List<EqsBriefDto> eqsBriefDtoList=list.parallelStream() List<Inventory> list = list(eq);
long size = list.size();
Page<Inventory> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<Inventory> records = page.getRecords();
List<EqsBriefDto> eqsBriefDtoList=records.parallelStream()
.map(inventory -> { .map(inventory -> {
EqsBriefDto eqsBriefDto = new EqsBriefDto(); EqsBriefDto eqsBriefDto = new EqsBriefDto();
BeanPlusUtil.copyProperties(inventory,eqsBriefDto); BeanPlusUtil.copyProperties(inventory,eqsBriefDto);
...@@ -362,11 +429,10 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -362,11 +429,10 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
} }
return eqsBriefDto; return eqsBriefDto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
Map<String, Long> map = orderService.getPage(req.getPageNo(), req.getPageSize()); Page<EqsBriefDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
Long pageNo = map.get("pageNo"); page1.setRecords(eqsBriefDtoList);
Long pageSize = map.get("pageSize"); page1.setTotal(size);
long count=eqsBriefDtoList.size(); return PageResultFactory.createPageResult(page1);
return PageResultFactory.createPageResult(eqsBriefDtoList,count,pageSize,pageNo);
} }
...@@ -389,10 +455,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -389,10 +455,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
//判断区域是否存在 //判断区域是否存在
WarehouseArea warehouseArea = warehouseAreaService.WarehouseAreaExist(req.getId()); WarehouseArea warehouseArea = warehouseAreaService.WarehouseAreaExist(req.getId());
warehouseService.WarehoustExist(warehouseArea.getWarehouseId()); warehouseService.WarehoustExist(warehouseArea.getWarehouseId());
Map<String, Long> map = orderService.getPage(req.getPageNo(), req.getPageSize()); Page<InventorySummary> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
Long pageNo = map.get("pageNo");
Long pageSize = map.get("pageSize");
Page<InventorySummary> page = new Page<>(pageNo,pageSize);
IPage<InventorySummary> pages= inventoryMapper.AreaInventoryPage(page,req.getId()); IPage<InventorySummary> pages= inventoryMapper.AreaInventoryPage(page,req.getId());
page.setRecords(pages.getRecords()); page.setRecords(pages.getRecords());
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
......
...@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.query.InventorySumReq; import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.service.InventoryService;
import com.junmp.jyzb.service.InventorySummaryService; import com.junmp.jyzb.service.InventorySummaryService;
import com.junmp.jyzb.service.OrderService; import com.junmp.jyzb.service.OrderService;
import com.junmp.jyzb.service.PubOrgService; import com.junmp.jyzb.service.PubOrgService;
...@@ -18,8 +20,10 @@ import org.springframework.stereotype.Service; ...@@ -18,8 +20,10 @@ import org.springframework.stereotype.Service;
import com.junmp.jyzb.mapper.InventorySummaryMapper; import com.junmp.jyzb.mapper.InventorySummaryMapper;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
@Service @Service
public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMapper, InventorySummary> implements InventorySummaryService { public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMapper, InventorySummary> implements InventorySummaryService {
...@@ -30,6 +34,9 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -30,6 +34,9 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
@Resource @Resource
private OrderService orderService; private OrderService orderService;
@Resource
private InventoryService inventoryService;
//根据条件查询库存汇总信息 //根据条件查询库存汇总信息
@Override @Override
public PageResult<InventorySummary> getEquipmentInfo(InventorySumReq req) { public PageResult<InventorySummary> getEquipmentInfo(InventorySumReq req) {
...@@ -38,23 +45,23 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -38,23 +45,23 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
if (ObjectUtil.isNotNull(req.getOrgId())){ if (ObjectUtil.isNotNull(req.getOrgId())){
pubOrgService.PubOrgExist(req.getOrgId()); pubOrgService.PubOrgExist(req.getOrgId());
} }
//如果传递了参数则判断是否存在,不存在则表示传递的参数一定不正确
if (ObjectUtil.isNotNull(req.getLocationId())){
List<InventorySummary> list = list(new LambdaQueryWrapper<InventorySummary>().eq(InventorySummary::getLocationId, req.getLocationId()));
//表示该单警柜或者仓库没有装备,那么直接返回一个空对象,设置一些简单的参数
if (list.size()==0){
Map<String, Long> map = orderService.getPage(req.getPageNo(), req.getPageSize());
Page<InventorySummary> page=new Page<>(map.get("pageNo"), map.get("pageSize") );
InventorySummary inventorySummary = new InventorySummary();
list.add(inventorySummary);
page.setRecords(list);
return PageResultFactory.createPageResult(page);
}
}
LambdaQueryWrapper<InventorySummary> wp = createWrapper(req);//取出仓库中总数并计算 LambdaQueryWrapper<InventorySummary> wp = createWrapper(req);//取出仓库中总数并计算
Page<InventorySummary> sumList= this.page(PageFactory.getDefaultPage(),wp); long size = list(wp).size();
return PageResultFactory.createPageResult(sumList); Page<InventorySummary> sumList= this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),wp);
List<InventorySummary> records = sumList.getRecords();
List<InventorySummary> collect = records.stream().map(data -> {
Inventory inventory = inventoryService.list(new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getOrgId, data.getOrgId())
.eq(Inventory::getSizeId, data.getSizeId())
.eq(Inventory::getTypeId, data.getTypeId())).get(0);
data.setWarrantyPeriod(inventory.getWarrantyPeriod());
data.setMaintenancePeriod(inventory.getMaintenancePeriod());
return data;
}).collect(Collectors.toList());
Page<InventorySummary> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page1.setRecords(collect);
page1.setTotal(size);
return PageResultFactory.createPageResult(page1);
} }
private LambdaQueryWrapper<InventorySummary> createWrapper(InventorySumReq req) { private LambdaQueryWrapper<InventorySummary> createWrapper(InventorySumReq req) {
LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<>();
...@@ -77,7 +84,8 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -77,7 +84,8 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
wrapper.like(ObjectUtil.isNotEmpty(req.getSizeName()), InventorySummary::getSizeName, req.getSizeName()); wrapper.like(ObjectUtil.isNotEmpty(req.getSizeName()), InventorySummary::getSizeName, req.getSizeName());
//号型 //号型
wrapper.eq(ObjectUtil.isNotEmpty(req.getSizeId()), InventorySummary::getSizeId, req.getSizeId()); wrapper.eq(ObjectUtil.isNotEmpty(req.getSizeId()), InventorySummary::getSizeId, req.getSizeId());
wrapper.orderByDesc(InventorySummary::getUpdateTime); wrapper.orderByDesc(InventorySummary::getTypeId);
wrapper.orderByDesc(InventorySummary::getSizeId);
return wrapper; return wrapper;
} }
......
...@@ -9,6 +9,7 @@ import com.junmp.jyzb.api.bean.dto.OrderDetailDto; ...@@ -9,6 +9,7 @@ import com.junmp.jyzb.api.bean.dto.OrderDetailDto;
import com.junmp.jyzb.api.bean.dto.OrderDto; import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto; import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.query.OrderMainReq; import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.OrderUploadReq;
import com.junmp.jyzb.api.bean.query.PolicemanFingerReq; import com.junmp.jyzb.api.bean.query.PolicemanFingerReq;
import com.junmp.jyzb.api.bean.req.DetailListReq; import com.junmp.jyzb.api.bean.req.DetailListReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq; import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
...@@ -57,6 +58,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i ...@@ -57,6 +58,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
//新增任务单
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public String AddOrder(UpdateOrderReq req) { public String AddOrder(UpdateOrderReq req) {
...@@ -130,6 +132,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i ...@@ -130,6 +132,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
} }
//新增默认审核通过的任务单
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public String AddFinishOrder(UpdateOrderReq req) { public String AddFinishOrder(UpdateOrderReq req) {
...@@ -143,8 +146,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i ...@@ -143,8 +146,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
// rabbitTemplate.convertAndSend("OrderExchange","OrderRouting",new MessageWrapper(req,req.getEndOrgId())); // rabbitTemplate.convertAndSend("OrderExchange","OrderRouting",new MessageWrapper(req,req.getEndOrgId()));
// } // }
//方法2:一个交换机,多个队列。动态创建队列 //方法2:一个交换机,多个队列。动态创建队列
String exchangeName="123456"; String exchangeName="orderExchange";
//需要判断是入库单还是出库单,入库单传发物单位id,出库单传收物单位id //需要判断是入库单还是出库单,入库单传收物单位id,出库单传发物单位id
if(req.getOrderType().equals("in")){ if(req.getOrderType().equals("in")){
Queue queue=new Queue(req.getEndOrgId(),true,false,false); Queue queue=new Queue(req.getEndOrgId(),true,false,false);
Exchange exchange = new DirectExchange(exchangeName, true, false); Exchange exchange = new DirectExchange(exchangeName, true, false);
...@@ -154,18 +157,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i ...@@ -154,18 +157,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
rabbitTemplate.convertAndSend(exchangeName, req.getEndOrgId(), req); rabbitTemplate.convertAndSend(exchangeName, req.getEndOrgId(), req);
}else { }else {
Queue queue=new Queue(req.getStartOrgId(),true,false,false); Queue queue = new Queue(req.getStartOrgId(), true, false, false);
Exchange exchange = new DirectExchange(exchangeName, true, false); Exchange exchange = new DirectExchange(exchangeName, true, false);
rabbitAdmin.declareQueue(queue); rabbitAdmin.declareQueue(queue);
rabbitAdmin.declareExchange(exchange); rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getStartOrgId()).noargs()); rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getStartOrgId()).noargs());
rabbitTemplate.convertAndSend(exchangeName, req.getStartOrgId(), req); rabbitTemplate.convertAndSend(exchangeName, req.getStartOrgId(), req);
} }
return orderId; return orderId;
} }
//更新任务单(进入工作流中之后不能进行更改)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public Boolean updateOrder(UpdateOrderReq req) { public Boolean updateOrder(UpdateOrderReq req) {
...@@ -259,17 +262,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i ...@@ -259,17 +262,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
if (req.getOrderType() != null && req.getOrderType().equals("in")){//入库单 if (req.getOrderType() != null && req.getOrderType().equals("in")){//入库单
LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getOrderType, req.getOrderType()) LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getOrderType, req.getOrderType())
.eq(OrderMain::getEndOrgId, req.getOrgId()); .eq(OrderMain::getEndOrgId, req.getOrgId());
page=this.page(PageFactory.getDefaultPage(),eq); page=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq);
} else if (req.getOrderType() != null && req.getOrderType().equals("out")) {//出库单 } else if (req.getOrderType() != null && req.getOrderType().equals("out")) {//出库单
LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getOrderType, req.getOrderType()).eq(OrderMain::getStartOrgId, req.getOrgId()); LambdaQueryWrapper<OrderMain> eq = wrapper.eq(OrderMain::getOrderType, req.getOrderType()).eq(OrderMain::getStartOrgId, req.getOrgId());
page=this.page(PageFactory.getDefaultPage(),eq); page=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq);
}else {//查询全部 }else {//查询全部
Page<OrderMain> page1=new Page<>(); Page<OrderMain> page1=new Page<>();
Page<OrderMain> page2=new Page<>(); Page<OrderMain> page2=new Page<>();
LambdaQueryWrapper<OrderMain> eq1 = wrapper.eq(OrderMain::getEndOrgId, req.getOrgId()); LambdaQueryWrapper<OrderMain> eq1 = wrapper.eq(OrderMain::getEndOrgId, req.getOrgId());
page1=this.page(PageFactory.getDefaultPage(),eq1); page1=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq1);
LambdaQueryWrapper<OrderMain> eq2 = wrapper.eq(OrderMain::getStartOrgId, req.getOrgId()); LambdaQueryWrapper<OrderMain> eq2 = wrapper.eq(OrderMain::getStartOrgId, req.getOrgId());
page2=this.page(PageFactory.getDefaultPage(),eq2); page2=this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),eq2);
List<OrderMain> list = new ArrayList<>(); List<OrderMain> list = new ArrayList<>();
list.addAll(page1.getRecords()); list.addAll(page1.getRecords());
list.addAll(page2.getRecords()); list.addAll(page2.getRecords());
...@@ -284,12 +287,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i ...@@ -284,12 +287,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
orderMainDtoList.add(orderMainDto); orderMainDtoList.add(orderMainDto);
} }
} }
//设置pageSize,pageNo,count,list Page<OrderMainDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
Map<String, Long> map = getPage(req.getPageNo(), req.getPageSize()); page1.setTotal(orderMainDtoList.size());
Long pageNo = map.get("pageNo"); page1.setRecords(orderMainDtoList);
Long pageSize = map.get("pageSize"); return PageResultFactory.createPageResult(page1);
long count=orderMainDtoList.size();
return PageResultFactory.createPageResult(orderMainDtoList,count,pageSize,pageNo);
} }
//根据任务单id查看业务明细 //根据任务单id查看业务明细
...@@ -313,6 +314,69 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i ...@@ -313,6 +314,69 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
return orderDto; return orderDto;
} }
//单据状态上报
@Override
public boolean PushState(OrderUploadReq req) {
OrderMain orderMain = orderMainExist(req.getId());
//获取单据的出入库,获取发物单位id或者收物单位id
String orderType = orderMain.getOrderType();
String exchangeName="OrderStateExchange";
//推送到rabbitmq中去
if (orderType.equals("in")){
Long endOrgId = orderMain.getEndOrgId();
Queue queue=new Queue(Long.toString(endOrgId),true,false,false);
Exchange exchange = new DirectExchange(exchangeName, true, false);
rabbitAdmin.declareQueue(queue);
rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(Long.toString(endOrgId)).noargs());
rabbitTemplate.convertAndSend(exchangeName, Long.toString(endOrgId), req);
}else {
Long startOrgId = orderMain.getStartOrgId();
Queue queue = new Queue(Long.toString(startOrgId), true, false, false);
Exchange exchange = new DirectExchange(exchangeName, true, false);
rabbitAdmin.declareQueue(queue);
rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(Long.toString(startOrgId)).noargs());
rabbitTemplate.convertAndSend(exchangeName, Long.toString(startOrgId), req);
}
return true;
}
//记账
@Transactional(rollbackFor = Exception.class)
@Override
public boolean Accounting(OrderUploadReq req) {
//判断传递的订单主id是否存在
OrderMain orderMain = orderMainExist(req.getId());
List<OrderUploadReq.OrderUploadDetailReq> childrenOrder = req.getChildrenOrder();
orderMain.setPrice(req.getPrice());
orderMain.setActualQuantity(req.getActualQuantity());
//设置子单据的价格和实际数量
List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
.in(OrderDetail::getId, childrenOrder));
if(list.size()==0){
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
}
//通过totalMap存放需要修改的子单据,根据id作为key存放。
Map<Long,Map<String,Object>> totalMap=new HashMap<>();
for (OrderUploadReq.OrderUploadDetailReq detailReq: childrenOrder) {
Map<String,Object> map=new HashMap<>();
map.put("actualNum",detailReq.getActualNum());
map.put("price",detailReq.getPrice());
totalMap.put(detailReq.getDetailId(),map);
}
//遍历通过传递的子单据id查询出来的子单据信息并且进行修改
for (OrderDetail orderDetail:list ) {
Map<String,Object> map=totalMap.get(orderDetail.getId());
orderDetail.setActualNum((Integer) map.get("actualNum"));
orderDetail.setPrice((BigDecimal) map.get("price"));
}
orderDetailService.updateBatchById(list);
updateById(orderMain);
return true;
}
//判断任务单是否存在 //判断任务单是否存在
@Override @Override
...@@ -344,6 +408,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i ...@@ -344,6 +408,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> i
return map; return map;
} }
private LambdaQueryWrapper<OrderMain> createWrapper(OrderMainReq req) { private LambdaQueryWrapper<OrderMain> createWrapper(OrderMainReq req) {
LambdaQueryWrapper<OrderMain> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrderMain> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) { if (ObjectUtil.isEmpty(req)) {
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.req.BorrowFormReq; import com.junmp.jyzb.api.bean.req.FormEqsReq;
import com.junmp.jyzb.entity.PoliceEquipment; import com.junmp.jyzb.entity.PoliceEquipment;
import com.junmp.jyzb.entity.Policeman;
import com.junmp.jyzb.service.PoliceEquipmentService; import com.junmp.jyzb.service.PoliceEquipmentService;
import com.junmp.jyzb.mapper.PoliceEquipmentMapper; import com.junmp.jyzb.mapper.PoliceEquipmentMapper;
import com.junmp.jyzb.service.PolicemanService; import com.junmp.jyzb.service.PolicemanService;
...@@ -29,7 +28,7 @@ public class PoliceEquipmentServiceImpl extends ServiceImpl<PoliceEquipmentMappe ...@@ -29,7 +28,7 @@ public class PoliceEquipmentServiceImpl extends ServiceImpl<PoliceEquipmentMappe
* @return * @return
*/ */
@Override @Override
public boolean AddBorrowEqs(BorrowFormReq req) { public boolean AddBorrowEqs(FormEqsReq req) {
PoliceEquipment policeEquipment = new PoliceEquipment(); PoliceEquipment policeEquipment = new PoliceEquipment();
//判断警员是否存在 //判断警员是否存在
policemanService.PoliceExist(req.getPoliceId()); policemanService.PoliceExist(req.getPoliceId());
......
...@@ -85,7 +85,7 @@ public class PoliceFingerServiceImpl extends ServiceImpl<PoliceFingerMapper, Pol ...@@ -85,7 +85,7 @@ public class PoliceFingerServiceImpl extends ServiceImpl<PoliceFingerMapper, Pol
@Override @Override
public PageResult<PoliceFinger> findPage(PolicemanFingerReq req) { public PageResult<PoliceFinger> findPage(PolicemanFingerReq req) {
LambdaQueryWrapper<PoliceFinger> wrapper = createWrapper(req); LambdaQueryWrapper<PoliceFinger> wrapper = createWrapper(req);
Page<PoliceFinger> page = this.page(PageFactory.getDefaultPage(), wrapper); Page<PoliceFinger> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
......
...@@ -2,11 +2,13 @@ package com.junmp.jyzb.service.impl; ...@@ -2,11 +2,13 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.PoliceFingerDto; import com.junmp.jyzb.api.bean.dto.PoliceFingerDto;
import com.junmp.jyzb.api.bean.dto.PolicemanDto; import com.junmp.jyzb.api.bean.dto.PolicemanDto;
import com.junmp.jyzb.api.bean.query.CabinetReq; import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq;
import com.junmp.jyzb.api.bean.query.PolicemanReq; import com.junmp.jyzb.api.bean.query.PolicemanReq;
import com.junmp.jyzb.api.bean.req.UpdatePolicemanReq; import com.junmp.jyzb.api.bean.req.UpdatePolicemanReq;
import com.junmp.jyzb.api.exception.enums.*; import com.junmp.jyzb.api.exception.enums.*;
...@@ -17,8 +19,12 @@ import com.junmp.jyzb.utils.*; ...@@ -17,8 +19,12 @@ import com.junmp.jyzb.utils.*;
import com.junmp.v2.auth.password.BcryptPasswordStoredEncrypt; import com.junmp.v2.auth.password.BcryptPasswordStoredEncrypt;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil; 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.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.sys.api.bean.user.req.SysUserReq;
import com.junmp.v2.sys.api.bean.user.req.UserOrgReq;
import com.junmp.v2.sys.user.service.SysUserOrgService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -53,6 +59,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -53,6 +59,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
@Resource @Resource
private SysuserService sysUserService; private SysuserService sysUserService;
@Resource
private SysUserOrgService sysUserOrgService;
private static final String REDIS_POLICE = "Policeman_"; private static final String REDIS_POLICE = "Policeman_";
private static final String REDIS_ORG = "Organization_"; private static final String REDIS_ORG = "Organization_";
...@@ -78,7 +87,8 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -78,7 +87,8 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
} }
Policeman policeman = new Policeman(); Policeman policeman = new Policeman();
BeanPlusUtil.copyProperties(req, policeman); BeanPlusUtil.copyProperties(req, policeman);
//添加警员绑定用户信息 policeman.setState(1);
policeman.setIsCreatedAccount(false);
save(policeman); save(policeman);
return policeman.getId(); return policeman.getId();
} }
...@@ -161,7 +171,8 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -161,7 +171,8 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
//通过警员信息中的userId对账号进行删除 //通过警员信息中的userId对账号进行删除
sysUserService.remove(new LambdaQueryWrapper<User>() sysUserService.remove(new LambdaQueryWrapper<User>()
.eq(User::getUserId, policeman.getUserId())); .eq(User::getUserId, policeman.getUserId()));
return removeById(policeman); //
return removeById(req.getId());
} }
...@@ -191,8 +202,6 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -191,8 +202,6 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
throw new ServiceException(PolicemanExceptionEnum.POLICECODE_IS_EXISTS); throw new ServiceException(PolicemanExceptionEnum.POLICECODE_IS_EXISTS);
} }
} }
System.out.println("one = " + ObjectUtil.isNotNull(req.getCabinetBoxId()));
req.getCabinetBoxId();
//判断是否传递了箱子id,如果传了则判断箱子是否存在 //判断是否传递了箱子id,如果传了则判断箱子是否存在
if (ObjectUtil.isNotNull(req.getCabinetBoxId()) && !req.getCabinetBoxId().equals("")){ if (ObjectUtil.isNotNull(req.getCabinetBoxId()) && !req.getCabinetBoxId().equals("")){
//查询单警柜箱号是否存在,箱门不存在抛异常 //查询单警柜箱号是否存在,箱门不存在抛异常
...@@ -251,7 +260,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -251,7 +260,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
} }
/** /**
* 通过组织机构id查询警员列表(list) * 通过条件查询警员列表(list)
* *
* @param * @param
*/ */
...@@ -259,10 +268,12 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -259,10 +268,12 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
public List<PolicemanDto> GetAllPolicemanList(PolicemanReq req) { public List<PolicemanDto> GetAllPolicemanList(PolicemanReq req) {
//查询传入的组织机构id是否存在 //查询传入的组织机构id是否存在
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId()); PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//查询出组织机构下的所有警员信息 //查询出组织机构下的所有警员信息(如果是查看启用的那么state为1)
List<Policeman> list = list(new LambdaQueryWrapper<Policeman>() List<Policeman> list = list(new LambdaQueryWrapper<Policeman>()
.eq(ObjectUtil.isNotEmpty(req.getOrgId()), Policeman::getOrgId, req.getOrgId()) .eq(ObjectUtil.isNotEmpty(req.getOrgId()), Policeman::getOrgId, req.getOrgId())
.eq(Policeman::getState, 1)); .like(ObjectUtil.isNotEmpty(req.getName()),Policeman::getName,req.getName())
.like(ObjectUtil.isNotEmpty(req.getPoliceCode()),Policeman::getPoliceCode,req.getPoliceCode())
.eq(ObjectUtil.isNotEmpty( req.getState()),Policeman::getState, req.getState()));
List<PolicemanDto> policeList = new ArrayList<>(); List<PolicemanDto> policeList = new ArrayList<>();
//查询出警员信息下的指纹列表信息 //查询出警员信息下的指纹列表信息
for (Policeman p : list) { for (Policeman p : list) {
...@@ -290,12 +301,17 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -290,12 +301,17 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
//查询传入的组织机构id是否存在 //查询传入的组织机构id是否存在
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId()); PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//查询出组织机构下的所有警员信息 //查询出组织机构下的所有警员信息
List<Policeman> list = list(new LambdaQueryWrapper<Policeman>() LambdaQueryWrapper<Policeman> eq = new LambdaQueryWrapper<Policeman>()
.eq(ObjectUtil.isNotEmpty(req.getOrgId()), Policeman::getOrgId, req.getOrgId()) .eq(ObjectUtil.isNotEmpty(req.getOrgId()), Policeman::getOrgId, req.getOrgId())
.eq(Policeman::getState, 1)); .like(ObjectUtil.isNotEmpty(req.getName()), Policeman::getName, req.getName())
.like(ObjectUtil.isNotEmpty(req.getPoliceCode()), Policeman::getPoliceCode, req.getPoliceCode())
.eq(ObjectUtil.isNotEmpty(req.getState()), Policeman::getState, req.getState());
long size = list(eq).size();
Page<Policeman> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<Policeman> records = page.getRecords();
List<PolicemanDto> policeList = new ArrayList<>(); List<PolicemanDto> policeList = new ArrayList<>();
//查询出警员信息下的指纹列表信息 //查询出警员信息下的指纹列表信息
for (Policeman p : list) { for (Policeman p : records) {
PolicemanDto policemanDto = new PolicemanDto(); PolicemanDto policemanDto = new PolicemanDto();
BeanPlusUtil.copyProperties(p, policemanDto); BeanPlusUtil.copyProperties(p, policemanDto);
List<PoliceFinger> list1 = policeFingerService.list(new LambdaQueryWrapper<PoliceFinger>() List<PoliceFinger> list1 = policeFingerService.list(new LambdaQueryWrapper<PoliceFinger>()
...@@ -311,10 +327,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -311,10 +327,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
policeList.add(policemanDto); policeList.add(policemanDto);
} }
long pageNo=1L; Page<PolicemanDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
long pageSize=20L; page1.setRecords(policeList);
long size = policeList.size(); page1.setTotal(size);
return PageResultFactory.createPageResult(policeList,Long.valueOf(size),pageSize,pageNo); return PageResultFactory.createPageResult(page1);
} }
...@@ -358,9 +374,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -358,9 +374,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
PubOrg pubOrg = pubOrgService.getOne(new LambdaQueryWrapper<PubOrg>() PubOrg pubOrg = pubOrgService.getOne(new LambdaQueryWrapper<PubOrg>()
.eq(PubOrg::getOrgId, cabinet.getOrgId())); .eq(PubOrg::getOrgId, cabinet.getOrgId()));
//通过箱门id查询出警员 //通过箱门id查询出警员
List<Policeman> policemenList = policemanMapper.SearchPoliceList(req.getId()); Page<Policeman> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
long size = policemanMapper.SearchPoliceSize(req.getId());
IPage<Policeman> policemenList = policemanMapper.SearchPolicePage(page,req.getId());
List<PolicemanDto> list = new ArrayList<>(); List<PolicemanDto> list = new ArrayList<>();
for (Policeman policeman : policemenList) { for (Policeman policeman : policemenList.getRecords()) {
PolicemanDto policemanDto = new PolicemanDto(); PolicemanDto policemanDto = new PolicemanDto();
BeanPlusUtil.copyProperties(policeman, policemanDto); BeanPlusUtil.copyProperties(policeman, policemanDto);
//指纹信息查找 //指纹信息查找
...@@ -378,10 +396,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -378,10 +396,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
policemanDto.setOrgName(pubOrg.getOrgName()); policemanDto.setOrgName(pubOrg.getOrgName());
list.add(policemanDto); list.add(policemanDto);
} }
long pageNo=1L; Page<PolicemanDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
long pageSize=20L; page1.setRecords(list);
long size = list.size(); page1.setTotal(size);
return PageResultFactory.createPageResult(list,Long.valueOf(size),pageSize,pageNo); return PageResultFactory.createPageResult(page1);
} }
//添加人脸信息 //添加人脸信息
...@@ -433,6 +451,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -433,6 +451,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean PoliceBindUser(PolicemanReq req) { public boolean PoliceBindUser(PolicemanReq req) {
//判断警员是否存在并且判断该警员是否已经绑定账号,如果绑定则抛出异常
Policeman policeman = PoliceExist(req.getId());
if (ObjectUtil.isNotNull(policeman.getUserId())){
throw new ServiceException(PolicemanExceptionEnum.POLICEUSER_IS_EXISTS);
}
User user = new User(); User user = new User();
BeanPlusUtil.copyProperties(req, user); BeanPlusUtil.copyProperties(req, user);
//判断数据库中是否已经存在账号,如果存在则抛出异常提示账号已存在 //判断数据库中是否已经存在账号,如果存在则抛出异常提示账号已存在
...@@ -455,10 +478,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -455,10 +478,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
} }
user.setRealName(req.getName()); user.setRealName(req.getName());
user.setNickName(req.getName()); user.setNickName(req.getName());
System.out.println("user = " + user);
sysUserService.save(user); sysUserService.save(user);
//判断警员是否存在 UserOrgReq userOrgReq = new UserOrgReq();
Policeman policeman = PoliceExist(req.getId()); BeanPlusUtil.copyProperties(user,userOrgReq);
userOrgReq.setOrgId(req.getOrgId());
this.sysUserOrgService.add(userOrgReq);
//通过警员id将查询到的警员信息进行修改设置 //通过警员id将查询到的警员信息进行修改设置
policeman.setUserId(user.getUserId()); policeman.setUserId(user.getUserId());
policeman.setIsCreatedAccount(true); policeman.setIsCreatedAccount(true);
...@@ -489,8 +513,27 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -489,8 +513,27 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
return policeman; return policeman;
} }
//删除账号时同时对警员的信息进行更改操作
@Override
public boolean UpdatePoliceInfo(UserOrgReq req) {
Policeman police = getOne(new LambdaQueryWrapper<Policeman>().eq(Policeman::getUserId,req.getUserId()));
if (ObjectUtil.isNull(police)) {
//如果查询不到,表示该账号不是警员的,直接删除就行,不需要做任何操作
return true;
}
police.setIsCreatedAccount(false);
police.setUserId(null);
police.setPassword(null);
return updateById(police);
}
//警员调岗
@Override
public boolean changePoliceOrg(PoliceReassignmentReq req) {
//如果警员绑定账号,将警员的账号进行删除
//修改警员的
return false;
}
} }
...@@ -83,7 +83,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl ...@@ -83,7 +83,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
public PageResult<Product> findPage(ProductReq req) { public PageResult<Product> findPage(ProductReq req) {
LambdaQueryWrapper<Product> wrapper = createWrapper(req); LambdaQueryWrapper<Product> wrapper = createWrapper(req);
Page<Product> page = this.page(PageFactory.getDefaultPage(), wrapper); Page<Product> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
......
...@@ -96,7 +96,7 @@ public class ProductSkuServiceImpl extends ServiceImpl<ProductSkuMapper, Product ...@@ -96,7 +96,7 @@ public class ProductSkuServiceImpl extends ServiceImpl<ProductSkuMapper, Product
@Override @Override
public PageResult<ProductSku> findPage(ProductSkuReq req) { public PageResult<ProductSku> findPage(ProductSkuReq req) {
LambdaQueryWrapper<ProductSku> wrapper = createWrapper(req); LambdaQueryWrapper<ProductSku> wrapper = createWrapper(req);
Page<ProductSku> page = this.page(PageFactory.getDefaultPage(), wrapper); Page<ProductSku> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
......
...@@ -124,7 +124,7 @@ public class ProductTagServiceImpl extends ServiceImpl<ProductTagMapper, Product ...@@ -124,7 +124,7 @@ public class ProductTagServiceImpl extends ServiceImpl<ProductTagMapper, Product
@Override @Override
public PageResult<ProductTag> findPage(ProductTagReq req) { public PageResult<ProductTag> findPage(ProductTagReq req) {
LambdaQueryWrapper<ProductTag> wrapper = createWrapper(req); LambdaQueryWrapper<ProductTag> wrapper = createWrapper(req);
Page<ProductTag> page = this.page(PageFactory.getDefaultPage(), wrapper); Page<ProductTag> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
......
...@@ -235,7 +235,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem ...@@ -235,7 +235,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
List<PubOrg> st = list(wp); List<PubOrg> st = list(wp);
st.forEach(p-> st.forEach(p->
{ {
p.setDelFlag(req.getDelFlag()); p.setStatusFlag(req.getStatusFlag());
}); });
return this.updateBatchById(st); return this.updateBatchById(st);
...@@ -278,17 +278,18 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem ...@@ -278,17 +278,18 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
req.setDelFlag(1); req.setDelFlag(1);
// req.setDelFlag(1); // req.setDelFlag(1);
LambdaQueryWrapper<PubOrg> wp = this.createWrapper(req); LambdaQueryWrapper<PubOrg> wp = this.createWrapper(req);
LambdaQueryWrapper<PubOrg> one = this.createWrapper(req); // LambdaQueryWrapper<PubOrg> one = this.createWrapper(req);
List<PubOrg> list = this.list(wp); List<PubOrg> list = this.list(wp);
OrgDto orgSet=new OrgDto(); OrgDto orgSet=new OrgDto();
PubOrg OrgOne= this.getById(req.getOrgId()); PubOrg OrgOne= this.getById(req.getOrgId());
BeanPlusUtil.copyProperties(OrgOne, orgSet); BeanPlusUtil.copyProperties(OrgOne, orgSet);
orgSet.setIsLeaf(true);
// Convert PubOrg list to OrgDto list // Convert PubOrg list to OrgDto list
List<OrgDto> orgs = new ArrayList<>(); List<OrgDto> orgs = new ArrayList<>();
list.forEach(p -> { list.forEach(p -> {
OrgDto org = new OrgDto(); OrgDto org = new OrgDto();
BeanPlusUtil.copyProperties(p, org); BeanPlusUtil.copyProperties(p, org);
org.setIsLeaf(false);
orgs.add(org); orgs.add(org);
}); });
return getMaximumParent(orgs,orgSet); return getMaximumParent(orgs,orgSet);
...@@ -303,6 +304,10 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem ...@@ -303,6 +304,10 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
dept = org; dept = org;
}else { }else {
List<OrgDto> parent = orgs.stream().filter(item -> item.getOrgId().toString().equals( parentId)).collect(Collectors.toList()); List<OrgDto> parent = orgs.stream().filter(item -> item.getOrgId().toString().equals( parentId)).collect(Collectors.toList());
//如果parent为空的话直接抛出异常(传入的组织机构不存在或者已经被删除)
if (parent.size()==0){
throw new ServiceException(PubOrgExceptionEnum.PUBORG_NOTEXIST_OR_DEL);
}
OrgDto maximumParent = getMaximumParent(orgs, parent.get(0)); OrgDto maximumParent = getMaximumParent(orgs, parent.get(0));
dept = maximumParent; dept = maximumParent;
parent.get(0).addChild(org); parent.get(0).addChild(org);
......
...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service.impl; ...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.SupplierDto; import com.junmp.jyzb.api.bean.dto.SupplierDto;
import com.junmp.jyzb.api.bean.query.QuerySupplierReq; import com.junmp.jyzb.api.bean.query.QuerySupplierReq;
...@@ -10,9 +11,13 @@ import com.junmp.jyzb.api.exception.JYZBAppException; ...@@ -10,9 +11,13 @@ import com.junmp.jyzb.api.exception.JYZBAppException;
import com.junmp.jyzb.api.exception.enums.EquipmentTypeExceptionEnum; import com.junmp.jyzb.api.exception.enums.EquipmentTypeExceptionEnum;
import com.junmp.jyzb.api.exception.enums.SupplierExceptionEnum; import com.junmp.jyzb.api.exception.enums.SupplierExceptionEnum;
import com.junmp.jyzb.entity.Supplier; import com.junmp.jyzb.entity.Supplier;
import com.junmp.jyzb.service.OrderService;
import com.junmp.jyzb.service.SupplierService; import com.junmp.jyzb.service.SupplierService;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil; 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 org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import com.junmp.jyzb.mapper.SupplierMapper; import com.junmp.jyzb.mapper.SupplierMapper;
...@@ -23,6 +28,8 @@ import java.util.*; ...@@ -23,6 +28,8 @@ import java.util.*;
public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> implements SupplierService { public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> implements SupplierService {
@Resource
OrderService orderService;
@Override @Override
public String AddSupplier(UpdateSupplierReq req) { public String AddSupplier(UpdateSupplierReq req) {
...@@ -101,6 +108,26 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i ...@@ -101,6 +108,26 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i
return dto; return dto;
} }
//分页
@Override
public PageResult<SupplierDto> ShowSupplierPage(QuerySupplierReq req) {
LambdaQueryWrapper<Supplier> wrapper = createWrapper(req);
long size = list(wrapper).size();
Page<Supplier> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), wrapper);
List<Supplier> records = page.getRecords();
List<SupplierDto> dto=new ArrayList<>();
records.forEach(p->
{
SupplierDto sd=new SupplierDto();
BeanPlusUtil.copyProperties(p, sd);
dto.add(sd);
});
Page<SupplierDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page1.setRecords(dto);
page1.setTotal(size);
return PageResultFactory.createPageResult(page1);
}
@Override @Override
public Boolean ChangeSupplierState(UpdateSupplierReq req) { public Boolean ChangeSupplierState(UpdateSupplierReq req) {
Supplier supplier = this.QuerySupplier(req); Supplier supplier = this.QuerySupplier(req);
...@@ -108,6 +135,8 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i ...@@ -108,6 +135,8 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i
return this.updateById(supplier); return this.updateById(supplier);
} }
private LambdaQueryWrapper<Supplier> createWrapper(QuerySupplierReq req) { private LambdaQueryWrapper<Supplier> createWrapper(QuerySupplierReq req) {
LambdaQueryWrapper<Supplier> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Supplier> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) { if (ObjectUtil.isEmpty(req)) {
......
...@@ -78,7 +78,7 @@ public class TriggerServiceImpl extends ServiceImpl<TriggerMapper, Trigger> impl ...@@ -78,7 +78,7 @@ public class TriggerServiceImpl extends ServiceImpl<TriggerMapper, Trigger> impl
public PageResult<Trigger> getTriggerList(QueryTriggerReq req) public PageResult<Trigger> getTriggerList(QueryTriggerReq req)
{ {
LambdaQueryWrapper<Trigger> wrapper = createWrapper(req); LambdaQueryWrapper<Trigger> wrapper = createWrapper(req);
Page<Trigger> page = this.page(PageFactory.getDefaultPage(), wrapper); Page<Trigger> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
private LambdaQueryWrapper<Trigger> createWrapper(QueryTriggerReq req) { private LambdaQueryWrapper<Trigger> createWrapper(QueryTriggerReq req) {
......
package com.junmp.jyzb.task; package com.junmp.jyzb.task;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...@@ -7,18 +8,25 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -7,18 +8,25 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.api.util.GenCodeUtil; import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.Company; import com.junmp.jyzb.entity.Company;
import com.junmp.jyzb.entity.Inventory; import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.ProductSku; import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.mapper.ExpireMapper; import com.junmp.jyzb.mapper.ExpireMapper;
import com.junmp.jyzb.mapper.MsgMapper; import com.junmp.jyzb.mapper.MsgMapper;
import com.junmp.jyzb.service.InventoryService; import com.junmp.jyzb.service.InventoryService;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory; import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.job.api.JobAction; import com.junmp.v2.job.api.JobAction;
import com.junmp.v2.message.api.MessageApi;
import com.junmp.v2.message.api.bean.req.MessageReq;
import com.junmp.v2.message.api.bean.req.MessageSendReq;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -40,6 +48,12 @@ public class InvExpireMsg implements JobAction { ...@@ -40,6 +48,12 @@ public class InvExpireMsg implements JobAction {
@Resource @Resource
private InventoryService inventoryService; private InventoryService inventoryService;
@Resource
private MessageApi messageApi;
@Resource
private SysDictItemService sysDictItemService;
@Override @Override
public void action() { public void action() {
LambdaQueryWrapper<Inventory> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Inventory> wrapper = new LambdaQueryWrapper<>();
...@@ -49,34 +63,60 @@ public class InvExpireMsg implements JobAction { ...@@ -49,34 +63,60 @@ public class InvExpireMsg implements JobAction {
//所有待判断的物资 //所有待判断的物资
wrapper.eq( Inventory::getTermState, 0); wrapper.eq( Inventory::getTermState, 0);
//获取未超期的物资数量
long termCount= inventoryService.count(wrapper); long termCount= inventoryService.count(wrapper);
List<Inventory> list=new ArrayList<>();
if (termCount>0) if (termCount>0) {
{
// 分页查询 // 分页查询
while ((currentPage - 1) * pageSize < termCount) { while ((currentPage - 1) * pageSize < termCount) {
processPageData( currentPage, pageSize); List<Inventory> inventoryList = processPageData(currentPage, pageSize);
currentPage++; currentPage++;
list.addAll(inventoryList);
}
} }
//超期物资查询出来之后,将超期物资进行消息推送提醒
//直接对list进行处理操作推送消息即可
for (Inventory inventory:list) {
MessageSendReq sendReq = new MessageSendReq();
sendReq.setSendUserId("1000");
sendReq.setReceiveUserIds("1000");
sendReq.setMsgTitle("物资过质保期");
//设置业务类型
SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getDictItemId, "1698969778501099522"));
sendReq.setBizType(one.getItemValue());
sendReq.setMsgContent("仓库下的装备的物资已经过质保期");
sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq);
}
messageApi.queryCount(new MessageReq());
/*推送发送未读数量*/
List<Long> userIdList=new ArrayList<>();
userIdList.add(1000L);
for(Long userId :userIdList){
MessageReq req1 = new MessageReq();
req1.setReadFlag(0);
req1.setReceiveUserId(userId);
Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(String.valueOf(userId),count1);
} }
} }
// 处理每页数据 // 处理每页数据
private void processPageData(long pageSize, long currentPage) private List<Inventory> processPageData(long pageSize, long currentPage)
{ {
LocalDate localdate =LocalDate.now(); LocalDate localdate =LocalDate.now();
// 使用LambdaQueryWrapper构建查询条件 // 使用LambdaQueryWrapper构建查询条件
LambdaQueryWrapper<Inventory> wrapper = Wrappers.lambdaQuery(); LambdaQueryWrapper<Inventory> wrapper = Wrappers.lambdaQuery();
wrapper.eq( Inventory::getTermState, 0); wrapper.eq( Inventory::getTermState, 0);
//如果 生产日期 < 当前日期减去质保数,表示该装备已经超过质保期
wrapper.apply("production_date <= DATE_SUB({0}, INTERVAL warranty_period DAY)", localdate); wrapper.apply("production_date <= DATE_SUB({0}, INTERVAL warranty_period DAY)", localdate);
//获取过质保期的物资信息 //获取过质保期的物资信息
List<Inventory> page= inventoryService.page(PageFactory.getDefaultPage(pageSize,currentPage),wrapper).getRecords(); List<Inventory> page= inventoryService.page(PageFactory.getDefaultPage(pageSize,currentPage),wrapper).getRecords();
page.forEach(o->o.setTermState(1)); page.forEach(o->o.setTermState(1));
inventoryService.saveOrUpdateBatch(page); inventoryService.saveOrUpdateBatch(page);
return page;
// Page<Inventory> page = inventoryService.page(PageFactory.getDefaultPage(), wrapper) // Page<Inventory> page = inventoryService.page(PageFactory.getDefaultPage(), wrapper)
} }
......
package com.junmp.jyzb.task;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.service.InventoryService;
import com.junmp.jyzb.service.OrderService;
import com.junmp.v2.job.api.JobAction;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @author lxh
* @description 超期未归还消息提醒
* @since 2023/9/1 10:50
* @param
* @return
**/
@Slf4j
@Component
public class InvOverDueMsg implements JobAction {
@Resource
private OrderService orderService;
@Override
public void action() {
//获取超期物资
//先查询出 出入库单据为借用单的数据
LambdaQueryWrapper<OrderMain> wrapper = new LambdaQueryWrapper<OrderMain>()
.eq(OrderMain::getBussinessType, "borrow");
int pageSize =1000;
int currentPage=1;
long termCount=orderService.count(wrapper);
List<OrderMain> list=new ArrayList<>();
if (termCount>0) {
// 分页查询
while ((currentPage - 1) * pageSize < termCount) {
List<OrderMain> orderMainList = processPageData(currentPage, pageSize);
currentPage++;
list.addAll(orderMainList);
}
}
}
// 处理每页数据
private List<OrderMain> processPageData(long pageSize, long currentPage) {
return null;
}
}
package com.junmp.jyzb.task;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.entity.EquipmentType;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.service.EquipmentTypeService;
import com.junmp.jyzb.service.InventorySummaryService;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.job.api.JobAction;
import com.junmp.v2.message.api.MessageApi;
import com.junmp.v2.message.api.bean.req.MessageReq;
import com.junmp.v2.message.api.bean.req.MessageSendReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author lxh
* @description 物资低于阈值消息提醒
* @since 2023/9/1 11:05
* @param
* @return
**/
@Slf4j
@Component
public class InvThresholdMsg implements JobAction {
@Resource
private InventorySummaryService inventorySummaryService;
@Resource
private EquipmentTypeService equipmentTypeService;
@Resource
private MessageApi messageApi;
@Resource
private SysDictItemService sysDictItemService;
@Override
public void action() {
//获取装备信息汇总,并且判断装备的汇总数量是否低于装备阈值,如果低于装备阈值,则进行消息提醒
//所有待判断的物资
LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationType, 0)
.groupBy(InventorySummary::getOrgId);
//分页参数
int pageSize=1000;
int currentPage=1;
//获取装备的所有库存数量
long termCount= inventorySummaryService.count(wrapper);
List<InventorySummary> list=new ArrayList<>();
if (termCount>0) {
// 分页查询
while ((currentPage - 1) * pageSize < termCount) {
List<InventorySummary> inventorySummaryList = processPageData(currentPage, pageSize);
currentPage++;
list.addAll(inventorySummaryList);
}
}
//低于阈值的数据查询出来之后,将数据进行消息推送提醒
//直接对list进行处理操作推送消息即可
for (InventorySummary inventorySummary:list) {
MessageSendReq sendReq = new MessageSendReq();
sendReq.setSendUserId("1000");
sendReq.setReceiveUserIds("1000");
sendReq.setMsgTitle("物资低于阈值");
//设置业务类型
SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getDictItemId, "1698969902300176385"));
sendReq.setBizType(one.getItemValue());
sendReq.setMsgContent(inventorySummary.getLocationName()+"仓库下的"+inventorySummary.getTypeName()+"号型为"+inventorySummary.getSizeName()+"的物资低于阈值");
sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq);
}
messageApi.queryCount(new MessageReq());
/*推送发送未读数量*/
List<Long> userIdList=new ArrayList<>();
userIdList.add(1000L);
for(Long userId :userIdList){
MessageReq req1 = new MessageReq();
req1.setReadFlag(0);
req1.setReceiveUserId(userId);
Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(String.valueOf(userId),count1);
}
}
// 处理每页数据
private List<InventorySummary> processPageData(long pageSize, long currentPage) {
//得到全局默认值(随机处理数据表中的一条数据为默认值)
Integer threshold = equipmentTypeService.getById(100001).getThreshold();
//查询inventory_summary表中的threshold字段是否存在值,
// 如果存在则用summary表中的字段进行比较物资阈值,如果不存在则默认使用全局物资阈值进行比较
Page<InventorySummary> page = inventorySummaryService.page(PageFactory.getDefaultPage(pageSize, currentPage));
List<InventorySummary> records = page.getRecords();
//使用自定义物资阈值进行比较
List<InventorySummary> collect1 = records.stream()
.filter(data -> data.getNumber() <= data.getThreshold() && ObjectUtil.isNotNull(data.getThreshold()))
.collect(Collectors.toList());
//使用全局物资阈值进行比较
List<InventorySummary> collect2 = records.stream()
.filter(data -> data.getNumber() <= threshold && ObjectUtil.isNull(data.getThreshold()))
.collect(Collectors.toList());
//将数据存储到一个list中
List<InventorySummary> inventorySummaryList=new ArrayList<>();
inventorySummaryList.addAll(collect1);
inventorySummaryList.addAll(collect2);
return inventorySummaryList;
}
}
...@@ -24,11 +24,14 @@ ...@@ -24,11 +24,14 @@
<result column="expire_number" jdbcType="INTEGER" property="expireNumber" /> <result column="expire_number" jdbcType="INTEGER" property="expireNumber" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="threshold" jdbcType="INTEGER" property="threshold" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, org_id, org_name, type_id, type_name, size_id, size_name, location_type, location_id, id, org_id, org_name, type_id, type_name, size_id, size_name, location_type, location_id,
location_name, location_area_id, location_area, `number`, price, stock_number, outbound_number, location_name, location_area_id, location_area, `number`, price, stock_number, outbound_number,
destruction_number, expire_number, create_time, update_time destruction_number, expire_number, create_time, update_time,threshold
</sql> </sql>
</mapper> </mapper>
\ No newline at end of file
...@@ -157,5 +157,21 @@ WHERE o.org_id IN ...@@ -157,5 +157,21 @@ WHERE o.org_id IN
LEFT JOIN base_cabinet b ON b.id=bc.cabinet_id LEFT JOIN base_cabinet b ON b.id=bc.cabinet_id
WHERE b.id=#{id}) and p.state=1 WHERE b.id=#{id}) and p.state=1
</select> </select>
<select id="SearchPolicePage" resultType="com.junmp.jyzb.entity.Policeman">
select p.id,p.org_id_int,p.`name`,p.sex,p.phone,p.photo,p.police_code,p.cabinet_box_id,p.`password`,p.face_info from base_policeman p
left join base_Cabinet_box bc on p.cabinet_box_id = bc.id
where p.cabinet_box_id in
(SELECT bc.id as boxid FROM base_cabinet_box bc
LEFT JOIN base_cabinet b ON b.id=bc.cabinet_id
WHERE b.id=#{id}) and p.state=1
</select>
<select id="SearchPoliceSize" resultType="java.lang.Long">
select count(*) from base_policeman p
left join base_Cabinet_box bc on p.cabinet_box_id = bc.id
where p.cabinet_box_id in
(SELECT bc.id as boxid FROM base_cabinet_box bc
LEFT JOIN base_cabinet b ON b.id=bc.cabinet_id
WHERE b.id=#{id}) and p.state=1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -226,6 +226,18 @@ ...@@ -226,6 +226,18 @@
<artifactId>auth-sdk</artifactId> <artifactId>auth-sdk</artifactId>
<version>${junmp.v2.version}</version> <version>${junmp.v2.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>system-biz-user</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>system-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency> <dependency>
<groupId>com.junmp.jyzb</groupId> <groupId>com.junmp.jyzb</groupId>
...@@ -296,12 +308,18 @@ ...@@ -296,12 +308,18 @@
<version>${junmp.v2.version}</version> <version>${junmp.v2.version}</version>
</dependency> </dependency>
<!--字典配置--> <!--字典配置-->
<dependency> <dependency>
<groupId>com.junmp.v2</groupId> <groupId>com.junmp.v2</groupId>
<artifactId>dict-boot-starter</artifactId> <artifactId>dict-boot-starter</artifactId>
<version>${junmp.v2.version}</version> <version>${junmp.v2.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>dict-biz</artifactId>
<version>${junmp.v2.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论