Commit e86019e5 by 李小惠

修改bug,新增接口,修改日志记录方法

parent 4e2e7292
......@@ -106,15 +106,6 @@ public class BusFormDto {
*/
private Date applyTime;
/**
* 申请人
*/
private String applyUser;
/**
* 申请人id
*/
private String applyUserId;
/**
* 调拨类型(2支拨,1价拨)
......@@ -154,7 +145,6 @@ public class BusFormDto {
*/
private String detailList;
/**
* 创建人
*/
......@@ -171,11 +161,6 @@ public class BusFormDto {
private String type;
/**
* 单据使用次数(forbidden禁止使用,outgoing 仅出库使用,incoming仅入库使用,bothuseing出入库都可以使用一次)
*/
private String useCount;
/**
* 审核人信息
*/
private String currentAssign;
......@@ -183,7 +168,7 @@ public class BusFormDto {
/**
* 生产日期
*/
private Date productionDate;
// private Date productionDate;
/**
* 质保期
......@@ -204,4 +189,7 @@ public class BusFormDto {
private String orderLastState;
private String orderMainId;
private String inOrderMainId;
private String outOrderMainId;
private String outAndInState;
}
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
* @TableName base_log_summary_second
*/
@Data
public class LogSummarySecondDto implements Serializable {
/**
* id
*/
private Long id;
/**
* summaryId
*/
private Long summaryId;
/**
* 类型名称
*/
private String typeName;
/**
* 类型id
*/
private String typeId;
/**
* 号型名称
*/
private String sizeName;
/**
* 号型id
*/
private Integer sizeId;
/**
* 数量
*/
private Integer num;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建人员
*/
private String createUser;
/**
* 更新人员
*/
private String updateUser;
}
\ No newline at end of file
......@@ -18,6 +18,7 @@ public class OrgDto {
private String dName;
private Boolean isLeaf;
private Integer statusFlag;
private Integer delFlag;
private Integer childCount;
private List<OrgDto> children = new ArrayList<>();
......
......@@ -8,7 +8,6 @@ import java.math.BigDecimal;
public class DetailLogReq {
private Integer summaryId;
private String inventoryId;
private String bussinessType;
private String epc;
private String sizeId;
private String typeId;
......
package com.junmp.jyzb.api.bean.query.InAndOutRecordReq;
import lombok.Data;
@Data
public class LogSummarySecondReq {
private String typeName;
private String typeId;
private String sizeName;
private String sizeId;
private Integer num;
}
\ No newline at end of file
......@@ -32,4 +32,5 @@ public class SummaryLogReq {
//所属位置(0仓库1单警柜)
private Integer locationType;
private List<DetailLogReq> logDetailList;
private List<LogSummarySecondReq> sumInfoList;
}
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
*
* @TableName base_log_summary_second
*/
@Data
public class QueryLogSummarySecondReq extends BaseRequest {
/**
* id
*/
private Long id;
/**
* summaryId
*/
@NotNull(message = "出入库汇总信息id不能为空",groups = {detail.class})
private Long summaryId;
/**
* 类型名称
*/
private String typeName;
/**
* 类型id
*/
private String typeId;
/**
* 号型名称
*/
private String sizeName;
/**
* 号型id
*/
private Integer sizeId;
/**
* 数量
*/
private Integer num;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建人员
*/
private String createUser;
/**
* 更新人员
*/
private String updateUser;
}
\ No newline at end of file
......@@ -18,6 +18,7 @@ public class QueryOrgReq {
private Integer isDepartment;
private Integer level;
private Integer delFlag;
private String dName;
}
......@@ -50,6 +50,7 @@ public class UpdateOrderDetailReq implements Serializable {
private String orderId;
//实际数量
private Integer actualNum;
private String orderType;
......@@ -62,6 +63,7 @@ public class UpdateOrderDetailReq implements Serializable {
private String updateUser;
//记账数量
private Integer modifyQuantity;
/**
......
......@@ -13,7 +13,7 @@ public class UpdateOrgReq {
/**
* 状态
*/
@NotNull(message = "状态不能为空", groups = {ValidationApi.updateStatus.class})
@NotNull(message = "状态不能为空", groups = {ValidationApi.updateStatus.class,ValidationApi.edit.class})
private Integer statusFlag;
/**
* 组织机构列表
......@@ -21,6 +21,22 @@ public class UpdateOrgReq {
@NotNull(message = "组织机构不能为空", groups = {ValidationApi.updateStatus.class})
private List<String> orgIdList;
@NotNull(message = "上级组织机构不能为空",groups = {ValidationApi.add.class})
private Long orgParentId;
private String orgParentIds;
@NotBlank(message = "组织机构名称不能为空",groups = {ValidationApi.add.class,ValidationApi.edit.class})
private String orgName;
@NotBlank(message = "组织机构编码不能为空",groups = {ValidationApi.add.class})
private String orgCode;
private Integer isDepartment;
private String areaName;
private Integer levelFlag;
private String dName;
private Integer delFlag;
private String findCode;
@NotNull(message = "组织机构id不能为空",groups = {ValidationApi.edit.class})
private Long orgId;
}
......
......@@ -18,7 +18,7 @@ public class UpdateWarehouseAreaReq extends BaseRequest {
@NotBlank(message = "仓库id不能为空", groups = {add.class,edit.class})
private String warehouseId;
@NotBlank(message = "照片不能为空", groups = {add.class,edit.class})
// @NotBlank(message = "照片不能为空", groups = {add.class,edit.class})
private String photo;
private Date createTime;
......
......@@ -14,6 +14,8 @@ public enum PubOrgExceptionEnum implements IExceptionEnum {
* 组织机构不存在或者被删除
*/
PUBORG_NOTEXIST_OR_DEL(CommonConstant.DEFAULT_USER_ERROR_CODE,"组织机构不存在或者已经被删除"),
ORG_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"组织机构名称已存在")
;
/**
......
......@@ -3,6 +3,7 @@ package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.dto.BusFormDto;
import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.entity.BusForm;
import com.junmp.jyzb.service.BusFormService;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
......@@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* 业务单据管理模块(只针对业务单据,不包含任何出入库单据)
......@@ -42,10 +44,15 @@ public class BussinessController {
//查看业务单(可以条件查询)
@PostMapping("/showBussinessOrder")
@ApiOperation("查看业务单")
public ApiRes<PageResult<BusFormDto>> showBussinessOrder(@RequestBody QueryBusFormReq req){
public ApiRes<PageResult<BusForm>> showBussinessOrder(@RequestBody QueryBusFormReq req){
return ApiRes.success(busFormService.showBussinessOrder(req));
}
//根据业务单id查询出入库单据
@PostMapping("/showOrderByBusOrderId")
@ApiOperation("根据业务单id查询出入库单据")
public ApiRes<Object> showOrderByBusOrderId(@RequestBody QueryBusFormReq req){
return ApiRes.success(busFormService.showOrderByBusOrderId(req));
}
//根据调拨单,一键生成采购单
// @PostMapping("/GeneratePurchaseQuickly")
// @ApiOperation("快速生成采购单")
......
package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.dto.LogDetailDto;
import com.junmp.jyzb.api.bean.dto.LogSummarySecondDto;
import com.junmp.jyzb.api.bean.dto.OrderLogDto;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.LogSummarySecondReq;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.OutInLogsReq;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.LogDetailReq;
import com.junmp.jyzb.api.bean.query.LogSummaryReq;
import com.junmp.jyzb.api.bean.query.QueryLogSummarySecondReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.entity.LogDetail;
import com.junmp.jyzb.entity.LogSummary;
import com.junmp.jyzb.service.InventorySummaryService;
import com.junmp.jyzb.service.LogDetailService;
import com.junmp.jyzb.service.LogSummaryService;
import com.junmp.jyzb.service.OrderLogService;
import com.junmp.jyzb.entity.LogSummarySecond;
import com.junmp.jyzb.service.*;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
......@@ -43,6 +44,9 @@ public class OutAndInboundController {
@Resource
private OrderLogService orderLogService;
@Resource
private LogSummarySecondService logSummarySecondService;
@ApiOperation("/查看出入库详情")
@PostMapping("/GetDetailByLogSumId")
public ApiRes<List<LogDetailDto>> GetDetailByLogSumId(@RequestBody @Validated(ValidationApi.detail.class) LogDetailReq req){
......@@ -81,5 +85,11 @@ public class OutAndInboundController {
return ApiRes.success(orderLogService.ShowRecordsByOrderId(req));
}
@PostMapping("getSecondInfoByLogSumId")
@ApiOperation("根据出入库汇总id查询二级信息")
public ApiRes<PageResult<LogSummarySecond>> getSecondInfoByLogSumId(@RequestBody @Validated(ValidationApi.detail.class) QueryLogSummarySecondReq req){
return ApiRes.success(logSummarySecondService.getSecondInfoByLogSumId(req));
}
}
......@@ -214,7 +214,7 @@ public class PoliceController {
@PostMapping("/ShowReassignmentPage")
@ApiOperation("查看警员调岗申请单")
public ApiRes<PageResult<ReassignmentDto>> ShowReassignmentPage(@RequestBody QueryReassignmentReq req){
public ApiRes<PageResult<Reassignment>> ShowReassignmentPage(@RequestBody QueryReassignmentReq req){
return ApiRes.success(policemanService.ShowReassignmentPage(req));
}
......
......@@ -73,4 +73,19 @@ public class PubOrgController {
public ApiRes<OrgDto> getUpOrgInfo(@RequestBody QueryOrgReq req){
return ApiRes.success(pubOrgService.getUpOrgInfo(req));
}
//新增
@ApiOperation("新增组织机构信息")
@PostMapping("/addPubOrg")
public ApiRes<Long> addPubOrg(@RequestBody @Validated(ValidationApi.add.class) UpdateOrgReq req){
return ApiRes.success(pubOrgService.addPubOrg(req));
}
//修改(名字,状态)
@ApiOperation("修改组织机构信息")
@PostMapping("/updatePubOrg")
public ApiRes<Boolean> updatePubOrg(@RequestBody @Validated(ValidationApi.edit.class) UpdateOrgReq req){
return ApiRes.success(pubOrgService.updatePubOrg(req));
}
}
......@@ -48,7 +48,7 @@ public class StocktakeController {
//查询单据
@PostMapping("/ShowStocktakeOrderPage")
@ApiOperation("盘库单据查询")
public ApiRes<PageResult<StocktakeDto>> ShowStocktakeOrderPage(@RequestBody @Validated(ValidationApi.edit.class)StocktakeReq req){
public ApiRes<PageResult<Stocktake>> ShowStocktakeOrderPage(@RequestBody @Validated(ValidationApi.edit.class)StocktakeReq req){
return ApiRes.success(stocktakeService.ShowStocktakeOrderPage(req));
}
......
......@@ -49,7 +49,7 @@ public class SupplierController {
//供应商分页
@PostMapping("/ShowSupplierPage")
@ApiOperation("查询供应商列表(page)")
public ApiRes<PageResult<SupplierDto>> ShowSupplierPage(@RequestBody QuerySupplierReq req){
public ApiRes<PageResult<Supplier>> ShowSupplierPage(@RequestBody QuerySupplierReq req){
return ApiRes.success(supplierService.ShowSupplierPage(req));
}
......
......@@ -121,21 +121,24 @@ public class InventorySummary implements Serializable {
@ApiModelProperty(value = "在库数")
@TableField("stock_number")
private Integer stockNumber;
@TableField(exist = false)
private BigDecimal stockNumberPrice;
/**
* 出库数量
*/
@ApiModelProperty(value = "出库数量")
@TableField("outbound_number")
private Integer outboundNumber;
@TableField(exist = false)
private BigDecimal outboundNumberPrice;
/**
* 销毁数量
*/
@ApiModelProperty(value = "销毁数量")
@TableField("destruction_number")
private Integer destructionNumber;
@TableField(exist = false)
private BigDecimal destructionNumberPrice;
/**
* 销毁金额
......@@ -143,7 +146,6 @@ public class InventorySummary implements Serializable {
@ApiModelProperty(value = "销毁金额")
@TableField("destruction_price")
private BigDecimal destructionPrice;
/**
* 过质保数量
*/
......@@ -151,13 +153,16 @@ public class InventorySummary implements Serializable {
@TableField("expire_number")
private Integer expireNumber;
@TableField(exist = false)
private BigDecimal expireNumberPrice;
/**
* 报废数量
*/
@ApiModelProperty(value = "报废数量")
@TableField("broken_number")
private Integer brokenNumber;
@TableField(exist = false)
private BigDecimal brokenNumberPrice;
/**
* 临近报废数量
*/
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName base_log_summary_second
*/
@TableName(value ="base_log_summary_second")
@Data
public class LogSummarySecond implements Serializable {
/**
* id
*/
@TableId(value = "id",type = IdType.AUTO )
private Long id;
/**
* summaryId
*/
@TableField(value = "summary_id")
private Long summaryId;
/**
* 类型名称
*/
@TableField(value = "type_name")
private String typeName;
/**
* 类型id
*/
@TableField(value = "type_id")
private String typeId;
/**
* 号型名称
*/
@TableField(value = "size_name")
private String sizeName;
/**
* 号型id
*/
@TableField(value = "size_id")
private String sizeId;
/**
* 数量
*/
@TableField(value = "num")
private Integer num;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time")
private Date updateTime;
/**
* 创建人员
*/
@TableField(value = "create_user")
private String createUser;
/**
* 更新人员
*/
@TableField(value = "update_user")
private String updateUser;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -64,13 +64,13 @@ public class OrderLog implements Serializable {
/**
* 应入/出库数量
*/
@TableField(value = "inventory_quantity")
@TableField(value = "inventory_quantity",updateStrategy = FieldStrategy.IGNORED)
private Integer inventoryQuantity;
/**
* 实际数量
*/
@TableField(value = "actual_quantity")
@TableField(value = "actual_quantity",updateStrategy = FieldStrategy.IGNORED)
private Integer actualQuantity;
/**
......@@ -94,7 +94,7 @@ public class OrderLog implements Serializable {
/**
* 创建人员
*/
@TableField(value = "create_user")
@TableField(value = "create_user",updateStrategy = FieldStrategy.IGNORED)
private String createUser;
/**
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName base_warehouse_inventory
*/
@TableName(value ="base_warehouse_inventory")
@Data
public class WarehouseInventory implements Serializable {
/**
*
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 组织机构Id
*/
@TableField(value = "org_id")
private Long orgId;
/**
* 类型id
*/
@TableField(value = "type_id")
private String typeId;
/**
* 号型id
*/
@TableField(value = "size_id")
private String sizeId;
/**
* 位置id
*/
@TableField(value = "location_id")
private String locationId;
/**
* 所属位置:0仓库,1单警柜
*/
@TableField(value = "location_type")
private String locationType;
/**
* EPC信息
*/
@TableField(value = "epc")
private String epc;
/**
* 0,正常,1不做提醒
*/
@TableField(value = "flag")
private Integer flag;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "org_id")
private Date updateTime;
/**
* 更新人员
*/
@TableField(value = "update_user")
private String updateUser;
/**
* 创建人员
*/
@TableField(value = "create_user")
private String createUser;
/**
* 在库状态:in在库,out出库
*/
@TableField(value = "location_state")
private String locationState;
/**
* 货架位置
*/
@TableField(value = "shelf_location")
private String shelfLocation;
/**
* 货架ID
*/
@TableField(value = "shelf_id")
private String shelfId;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.junmp.jyzb.listener;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -38,7 +39,10 @@ import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener;
import com.junmp.junmpProcess.enums.AssigneeTypeEnums;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.Execution;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.Task;
import org.flowable.task.api.TaskQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -72,12 +76,24 @@ public class CounterSignListener implements ExecutionListener {
@Resource
private SysUserOrgService sysUserOrgService;
@Resource
private TaskService taskService;
@Resource
private RuntimeService runtimeService;
@Override
public void notify(DelegateExecution execution) {
String currentActivityId = execution.getCurrentActivityId();
Process mainProcess = repositoryService.getBpmnModel(execution.getProcessDefinitionId()).getMainProcess();
//获取当前流程的发起人的userId
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(execution.getProcessInstanceId())
.singleResult();
//当前流程发起人的userId
String startUserId = processInstance.getStartUserId();
UserTask userTask = (UserTask) mainProcess.getFlowElement(currentActivityId);
String flowJson = mainProcess.getAttributeValue("http://flowable.org/bpmn", "Junmp");
JSONObject jsonObject = JSONObject.parseObject(flowJson, new TypeReference<JSONObject>() {
});
......@@ -178,8 +194,10 @@ public class CounterSignListener implements ExecutionListener {
}
else if (Type.equals("1"))//上级审批
{
LoginUser StartUser= LoginContext.getContext().getLoginUser();
List<UserListDTO> userList= orgUserMapper.QueryUserWithParentOrg(StartUser.getUserId().toString());
//查找上级组织机构的userIds(拿的永远是发起人的上一级组织机构)
List<UserListDTO> userList= orgUserMapper.QueryUserWithParentOrg(startUserId);
List<String> Roles=group.getApproverIds();
String roleList="";
if (Roles.size()>0) { //角色不为空
......@@ -202,37 +220,18 @@ public class CounterSignListener implements ExecutionListener {
assigneeList.add(userId.getUserID());
}
}
else//表示他不是最上级的组织机构,还需要进行判断
{
//判断当前登录人是否在上级的userIdlist中,如果存在,则表示下一个节点的也是当前登录人所在组织机构下的userID中
boolean flag=false;
for (UserListDTO currentUser :userList) {
if (currentUser.getUserID().equals(StartUser.getUserId().toString())){
flag=true;
}
}
//如果未找到则表示下一个节点是上级组织机构下的某个角色的userId
if (!flag){
List<UserListDTO> userList1=orgUserMapper.QueryUserByRoleId(roleList, userList.get(0).getUserID());
for (UserListDTO userId :userList1)
{
assigneeList.add(userId.getUserID());
}
}
else{//下一个节点的审核人和当前灯枯人是同一个组织机构
List<UserListDTO> userList1=orgUserMapper.QueryUserByRoleId(roleList, StartUser.getUserId().toString());
for (UserListDTO userId :userList1)
{
assigneeList.add(userId.getUserID());
}
}else {//取上级的角色进行推送
List<UserListDTO> userList1=orgUserMapper.QueryUserByRoleId(roleList, userList.get(0).getUserID());
for (UserListDTO userId :userList1)
{
assigneeList.add(userId.getUserID());
}
}
}
else if (Type.equals("10"))//自己审批
{
......@@ -294,31 +293,37 @@ public class CounterSignListener implements ExecutionListener {
stocktakeService.updateById(re);
}
}
assigneeList.forEach(userId->//为相应的用户推送消息
{
if (userId!=LoginContext.getContext().getLoginUser().getUserId().toString())//非本人审核单据
{
MessageSendReq sendReq = new MessageSendReq();
sendReq.setReceiveUserIds(String.valueOf(userId));
sendReq.setMsgTitle("您有新的待办任务");
sendReq.setBizType("assign/"+execution.getVariable(ORDER_TYPE).toString());
sendReq.setBizId(Long.valueOf(execution.getProcessInstanceId()));
String StartUser=execution.getVariable(START_USER_INFO).toString();
UserInfo user= JSONObject.parseObject(StartUser, UserInfo.class);
sendReq.setMsgContent(user.getRealName()+" 提交的【"+mainProcess.getName()+"】需要您审批,请及时处理");
sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq);
messageApi.queryCount(new MessageReq());
/*推送发送未读数量*/
MessageReq req1 = new MessageReq();
req1.setReadFlag(0);
req1.setReceiveUserId(Long.valueOf(userId));
Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(userId,count1);
}
});
Object skip=execution.getVariable("skip");
if (ObjectUtil.isNull(skip)){
assigneeList.forEach(userId->//为相应的用户推送消息
{
if (userId!=LoginContext.getContext().getLoginUser().getUserId().toString())//非本人审核单据
{
MessageSendReq sendReq = new MessageSendReq();
sendReq.setReceiveUserIds(String.valueOf(userId));
sendReq.setMsgTitle("您有新的待办任务");
sendReq.setBizType("assign/"+execution.getVariable(ORDER_TYPE).toString());
sendReq.setBizId(Long.valueOf(execution.getProcessInstanceId()));
String StartUser=execution.getVariable(START_USER_INFO).toString();
UserInfo user= JSONObject.parseObject(StartUser, UserInfo.class);
sendReq.setMsgContent(user.getRealName()+" 提交的【"+mainProcess.getName()+"】需要您审批,请及时处理");
sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq);
messageApi.queryCount(new MessageReq());
/*推送发送未读数量*/
MessageReq req1 = new MessageReq();
req1.setReadFlag(0);
req1.setReceiveUserId(Long.valueOf(userId));
Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(userId,count1);
}
});
} else {//跳过
}
}
......
package com.junmp.jyzb.mapper;
import com.junmp.jyzb.api.bean.dto.BusFormDto;
import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import com.junmp.jyzb.entity.BusForm;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @author lxh专属坐骑
......@@ -11,6 +17,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface BusFormMapper extends BaseMapper<BusForm> {
List<BusFormDto> showOrderByBusOrderId(@Param("id") String id);
}
......
......@@ -54,7 +54,7 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
//通过单警柜箱门id获取箱门下的装备汇总信息(page)
IPage<InventorySummary> EqsByCabinetBoxIdPage(Page<InventorySummary> page, String id);
IPage<InventorySummary> EqsByCabinetBoxIdPage(Page<InventorySummary> page,@Param("id") String id);
boolean insertInventorySummary(@Param("req") BatchEditingInvsReq req,@Param("brokenNumberDays")Integer brokenNumberDays);
......@@ -73,4 +73,6 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
List<InvExpireReq> selectUserListByOrgs(@Param("list") List<Long> uniqueOrgIDsList);
List<Inventory> searchExpireEqs(@Param("list") List<Object[]> searchItem);
IPage<InventoryDto> GetDetailByTerms(Page<Object> defaultPage, @Param("req") InventoryReq req);
}
\ No newline at end of file
package com.junmp.jyzb.mapper;
import com.junmp.jyzb.entity.LogSummarySecond;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author lxh专属坐骑
* @description 针对表【base_log_summary_second】的数据库操作Mapper
* @createDate 2023-12-08 14:44:38
* @Entity com.junmp.jyzb.entity.LogSummarySecond
*/
public interface LogSummarySecondMapper extends BaseMapper<LogSummarySecond> {
}
package com.junmp.jyzb.mapper;
import com.junmp.jyzb.entity.WarehouseInventory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author lxh专属坐骑
* @description 针对表【base_warehouse_inventory】的数据库操作Mapper
* @createDate 2023-12-08 13:23:29
* @Entity com.junmp.jyzb.entity.WarehouseInventory
*/
public interface WarehouseInventoryMapper extends BaseMapper<WarehouseInventory> {
}
......@@ -28,7 +28,7 @@ public class OutInLogsReceiver {
channel.basicAck(deliveryTag, false);
OutInLogsReq req = JSON.parseObject(msg, OutInLogsReq.class);
//将消息进行消费
Boolean result = logSummaryService.processInventoryRecords(req);
Boolean result = logSummaryService.processInventoryRecords(req);
} catch (Exception e) {
// 处理消息过程中发生异常,拒绝消息并将其重新放回队列ms
......
......@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
import java.util.Map;
/**
* @author lxh专属坐骑
......@@ -31,7 +32,7 @@ public interface BusFormService extends IService<BusForm> {
//查看业务单(可根据条件查询)
PageResult<BusFormDto> showBussinessOrder(QueryBusFormReq req);
PageResult<BusForm> showBussinessOrder(QueryBusFormReq req);
//根据调拨单,一键生成采购单
// List<GeneratePurchaseQuicklyDto> GeneratePurchaseQuickly(GeneratePurchaseQuicklyReq req);
......@@ -40,4 +41,7 @@ public interface BusFormService extends IService<BusForm> {
boolean updateBrokenResult(BusForm busForm);
boolean addOrRevokeAgentBrokenNum(UpdateBusFormReq req,boolean flag);
Object showOrderByBusOrderId(QueryBusFormReq req);
}
package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.LogSummarySecondReq;
import com.junmp.jyzb.api.bean.query.QueryLogSummarySecondReq;
import com.junmp.jyzb.entity.LogSummarySecond;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.v2.db.api.page.PageResult;
/**
* @author lxh专属坐骑
* @description 针对表【base_log_summary_second】的数据库操作Service
* @createDate 2023-12-08 14:44:38
*/
public interface LogSummarySecondService extends IService<LogSummarySecond> {
PageResult<LogSummarySecond> getSecondInfoByLogSumId(QueryLogSummarySecondReq req);
}
......@@ -38,7 +38,7 @@ public interface OrderMainService extends IService<OrderMain> {
//单据状态上报
boolean PushState(OrderUploadReq req);
//记账
//
boolean Accounting(UpdateOrderReq req);
//查看记账列表
......
......@@ -87,7 +87,7 @@ public interface PolicemanService extends IService<Policeman> {
String PoliceReassignment(UpdateReassignmentReq req);
//查看警员调岗申请单
PageResult<ReassignmentDto> ShowReassignmentPage(QueryReassignmentReq req);
PageResult<Reassignment> ShowReassignmentPage(QueryReassignmentReq req);
////查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询)
PageResult<SysUserDto> ShowUserRole(SysUserReq req);
......
......@@ -38,4 +38,8 @@ public interface PubOrgService extends IService<PubOrg> {
//通过组织机构id获取上一层的组织机构数据
OrgDto getUpOrgInfo(QueryOrgReq req);
Long addPubOrg(UpdateOrgReq req);
boolean updatePubOrg(UpdateOrgReq req);
}
......@@ -17,7 +17,7 @@ public interface StocktakeService extends IService<Stocktake> {
String AddStocktakeOrder(UpdateStocktakeReq req);
PageResult<StocktakeDto> ShowStocktakeOrderPage(StocktakeReq req);
PageResult<Stocktake> ShowStocktakeOrderPage(StocktakeReq req);
boolean UpdateStocktakeOrder(UpdateStocktakeReq req);
......
......@@ -54,5 +54,5 @@ public interface SupplierService extends IService<Supplier> {
*/
Boolean ChangeSupplierState(UpdateSupplierReq req);
PageResult<SupplierDto> ShowSupplierPage(QuerySupplierReq req);
PageResult<Supplier> ShowSupplierPage(QuerySupplierReq req);
}
package com.junmp.jyzb.service;
import com.junmp.jyzb.entity.WarehouseInventory;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author lxh专属坐骑
* @description 针对表【base_warehouse_inventory】的数据库操作Service
* @createDate 2023-12-08 13:23:29
*/
public interface WarehouseInventoryService extends IService<WarehouseInventory> {
}
......@@ -41,9 +41,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -79,6 +77,8 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
@Resource
private BusFormRepository busFormRepository;
@Resource
private BusFormMapper busFormMapper;
public Object addEs() {
List<BusForm> esDto=this.list();
......@@ -271,15 +271,54 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
}
@Override
public Object showOrderByBusOrderId(QueryBusFormReq req) {
List<BusFormDto> busFormDtos = busFormMapper.showOrderByBusOrderId(req.getId());
Map<String,Object> map=new HashMap<>();
if (busFormDtos.size()>1){
for (BusFormDto busFormDto:busFormDtos) {
if (ObjectUtil.isNotNull(busFormDto.getOutAndInState()) && busFormDto.getOutAndInState().equals("in")){
if (map.containsKey("busForm")) {
Object busForm = map.get("busForm");
BusFormDto busForm1 = (BusFormDto) busForm;
busForm1.setInOrderMainId(busFormDto.getOrderMainId());
map.put("busForm",busForm1);
}else {
busFormDto.setInOrderMainId(busFormDto.getOrderMainId());
busFormDto.setOrderMainId(null);
map.put("busForm",busFormDto);
}
}else if (ObjectUtil.isNotNull(busFormDto.getOutAndInState()) && busFormDto.getOutAndInState().equals("out")){
if (map.containsKey("busForm")) {
Object busForm = map.get("busForm");
BusFormDto busForm1 = (BusFormDto) busForm;
busForm1.setOutOrderMainId(busFormDto.getOrderMainId());
map.put("busForm",busForm1);
}else {
busFormDto.setOutOrderMainId(busFormDto.getOrderMainId());
map.put("busForm",busFormDto);
}
}
}
}else {
map.put("busForm",busFormDtos.get(0));
}
return map.get("busForm");
}
/**
* 查询业务单,(可以根据业务单进行修改)
* @param req
* @param
* @return
*/
@Override
public PageResult<BusFormDto> showBussinessOrder(QueryBusFormReq req) {
public PageResult<BusForm> showBussinessOrder(QueryBusFormReq req) {
//(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
(req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
......@@ -289,24 +328,16 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
req.setOrder(req.getOrder().toLowerCase());
}
LambdaQueryWrapper<BusForm> eq = createWrapper(req);
long size = list(eq).size();
Page<BusForm> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<BusFormDto> collect = page.getRecords().stream().map(busForm -> {
BusFormDto busFormDto = new BusFormDto();
BeanPlusUtil.copyProperties(busForm, busFormDto);
return busFormDto;
}).collect(Collectors.toList());
List<BusForm> records = page.getRecords();
int size = records.size();
//是否创建创建空的数据返回前端
if(req.getIsCreateNullDate()==null || req.getIsCreateNullDate()){
Class<BusFormDto> busFormDto=BusFormDto.class;
List<BusFormDto> nullData = BusinessUtil.createNullData(size, req.getPageNo(), req.getPageSize(), busFormDto);
collect.addAll(nullData);
Class<BusForm> busForm=BusForm.class;
List<BusForm> nullData = BusinessUtil.createNullData((long)size, req.getPageNo(), req.getPageSize(), busForm);
records.addAll(nullData);
}
Page<BusFormDto> page1=new Page<>(req.getPageNo(),req.getPageSize());
page1.setRecords(collect);
page1.setTotal(size);
return PageResultFactory.createPageResult(page1);
return PageResultFactory.createPageResult(page);
}
......@@ -513,8 +544,8 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
}else {
eq.eq(ObjectUtil.isNotNull(req.getBussinessType()) && !req.getBussinessType().trim().isEmpty(), BusForm::getBussinessType, req.getBussinessType());
}
if (ObjectUtil.isNotNull(req.getUserId())){
//领用人
if (ObjectUtil.isNotNull(req.getUserId()) && req.getBussinessType().equals("use")){
//当前登录人
eq.eq(BusForm::getReturnUserId,req.getUserId());
}else {
......@@ -531,7 +562,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
if (req.getEndOrgId()!=null){
eq.eq(BusForm::getEndOrgId,req.getEndOrgId());
}
if (req.getStartOrgId()!=null && req.getEndOrgId()!=null){
if (req.getStartOrgId()==null && req.getEndOrgId()==null){
eq.and(wrapper-> wrapper.eq(BusForm::getStartOrgId,req.getOrgId()).or().eq(BusForm::getEndOrgId,req.getOrgId()));
}
eq.eq(ObjectUtil.isNotNull(req.getAllocateType()) && !req.getAllocateType().isEmpty(),BusForm::getAllocateType,req.getAllocateType());
......
......@@ -264,10 +264,10 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
}
//根据条件查询仓库/单警柜下的所有装备信息
@Override
public PageResult<InventoryDto> GetDetailByTerms(InventoryReq req) {
//判断组织机构是否存在
pubOrgService.PubOrgExist(req.getOrgId());
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//根据条件查询仓库下的所有装备
LambdaQueryWrapper<Inventory> eq = new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getOrgId, req.getOrgId())
......@@ -297,17 +297,15 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
inventoryDto.setTypeName(map.get("typeName"));
//设置sizeName
inventoryDto.setSizeName(map.get("sizeName"));
//查询图片并返回
inventoryDto.setPhoto(map.get("photo"));
//如果有供应商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);
//查询图片并返回
String photo = equipmentSizeService.getById(inventory.getSizeId()).getPhoto();
if (photo != null){
inventoryDto.setPhoto(photo);
}
inventoryDto.setOrgName(pubOrg.getOrgName());
return inventoryDto;
}).collect(Collectors.toList());
Page<InventoryDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
......@@ -316,6 +314,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
return PageResultFactory.createPageResult(page1);
}
// public PageResult<InventoryDto> GetDetailByTerms(InventoryReq req) {
// IPage<InventoryDto> dtoIPage=inventoryMapper.GetDetailByTerms(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()),req);
// return PageResultFactory.createPageResult(null);
// }
//批量进行调整
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -551,9 +554,10 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
//通用方法,用于设置对象的typeName属性,sizeName属性和supplierName属性
public Map<String,String> setNames (String typeId,String sizeId,String supplierId){
Map<String,String> map=new HashMap<>();
String sizeName = equipmentSizeService.getOne(new LambdaQueryWrapper<EquipmentSize>()
.eq(EquipmentSize::getId, sizeId)).getName();
EquipmentSize one = equipmentSizeService.getOne(new LambdaQueryWrapper<EquipmentSize>()
.eq(EquipmentSize::getId, sizeId));
String sizeName=one.getName();
String photo=one.getPhoto();
String typeName = equipmentTypeService.getOne(new LambdaQueryWrapper<EquipmentType>()
.eq(EquipmentType::getId, typeId)).getName();
//如果有供应商id的前提下,设置supplierName
......@@ -564,6 +568,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
}
map.put("sizeName",sizeName);
map.put("typeName",typeName);
map.put("photo",photo);
return map;
}
......
......@@ -98,8 +98,9 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
req.setOrder(req.getOrder().toLowerCase());
}
LambdaQueryWrapper<InventorySummary> wp = createWrapper(req);//取出仓库中总数并计算
List<InventorySummary> list = list(wp);
long size = list(wp).size();
Page<InventorySummary> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), wp);
// List<InventorySummary> list = list(wp);
// long size = list(wp).size();
//对该装备typeId进行排序
// Collections.sort(list, new Comparator<InventorySummary>() {
......@@ -109,10 +110,10 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
// }
// });
Page<InventorySummary> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page1.setRecords(list);
page1.setTotal(size);
return PageResultFactory.createPageResult(page1);
// Page<InventorySummary> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
// page1.setRecords(list);
// page1.setTotal(size);
return PageResultFactory.createPageResult(page);
}
/**
......
......@@ -65,7 +65,6 @@ public class LogDetailServiceImpl extends ServiceImpl<LogDetailMapper, LogDetail
//通过装备id获取出入库记录(判断id是否存在)
inventoryService.InventoryExist(req.getId());
LambdaQueryWrapper<LogDetail> eq = new LambdaQueryWrapper<LogDetail>()
.eq(ObjectUtil.isNotNull(req.getId()),LogDetail::getInventoryId,req.getId())
.eq(ObjectUtil.isNotNull(req.getEpc()),LogDetail::getEpc,req.getEpc());
Page<LogDetail> page = logDetailService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
return PageResultFactory.createPageResult(page);
......
package com.junmp.jyzb.service.impl;
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.junmp.jyzb.api.bean.query.InAndOutRecordReq.LogSummarySecondReq;
import com.junmp.jyzb.api.bean.query.QueryLogSummarySecondReq;
import com.junmp.jyzb.entity.LogSummarySecond;
import com.junmp.jyzb.service.LogSummarySecondService;
import com.junmp.jyzb.mapper.LogSummarySecondMapper;
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;
/**
* @author lxh专属坐骑
* @description 针对表【base_log_summary_second】的数据库操作Service实现
* @createDate 2023-12-08 14:44:38
*/
@Service
public class LogSummarySecondServiceImpl extends ServiceImpl<LogSummarySecondMapper, LogSummarySecond>
implements LogSummarySecondService{
@Override
public PageResult<LogSummarySecond> getSecondInfoByLogSumId(QueryLogSummarySecondReq req) {
LambdaQueryWrapper<LogSummarySecond> eq = new LambdaQueryWrapper<LogSummarySecond>()
.eq(LogSummarySecond::getSummaryId, req.getSummaryId());
Page<LogSummarySecond> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
return PageResultFactory.createPageResult(page);
}
}
......@@ -1078,7 +1078,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
//查看警员调岗申请单
@Override
public PageResult<ReassignmentDto> ShowReassignmentPage(QueryReassignmentReq req) {
public PageResult<Reassignment> ShowReassignmentPage(QueryReassignmentReq req) {
//(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
......@@ -1098,17 +1098,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
.ge(ObjectUtil.isNotNull(req.getStartTime()), Reassignment::getApplyTime, req.getStartTime())
.le(ObjectUtil.isNotNull(req.getEndTime()), Reassignment::getApplyTime, req.getEndTime())
.last("order by " + req.getColumn() + " " + req.getOrder());
long size = reassignmentService.list(eq).size();
Page<Reassignment> page = reassignmentService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<ReassignmentDto> collect = page.getRecords().stream().map(reassignment -> {
ReassignmentDto reassignmentDto = new ReassignmentDto();
BeanPlusUtil.copyProperties(reassignment, reassignmentDto);
return reassignmentDto;
}).collect(Collectors.toList());
Page<ReassignmentDto> page1 = new Page<>(req.getPageNo(), req.getPageSize());
page1.setTotal(size);
page1.setRecords(collect);
return PageResultFactory.createPageResult(page1);
return PageResultFactory.createPageResult(page);
}
//查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询)
......
......@@ -734,6 +734,8 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
wrapper.eq(ObjectUtil.isNotEmpty(req.getDelFlag()), PubOrg::getDelFlag, req.getDelFlag());
wrapper.eq(ObjectUtil.isNotEmpty(req.getParentId()), PubOrg::getOrgParentId,req.getParentId() );
wrapper.eq(ObjectUtil.isNotEmpty(req.getOrgCode()), PubOrg::getOrgCode, req.getOrgCode());
wrapper.like(ObjectUtil.isNotEmpty(req.getOrgName()), PubOrg::getOrgName, req.getOrgName());
wrapper.like(ObjectUtil.isNotEmpty(req.getDName()), PubOrg::getDName, req.getDName());
return wrapper;
}
......@@ -759,6 +761,37 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
return orgDto;
}
//新增组织机构信息
@Override
public Long addPubOrg(UpdateOrgReq req) {
List<PubOrg> list = list(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getOrgName, req.getOrgName()));
if (list.size()>0){
throw new ServiceException(PubOrgExceptionEnum.ORG_IS_EXIST);
}
PubOrg pubOrg = new PubOrg();
BeanPlusUtil.copyProperties(req,pubOrg);
pubOrg.setDelFlag(1);
pubOrg.setStatusFlag(0);
pubOrg.setIsDepartment(0);
pubOrg.setRemark(req.getOrgName());
pubOrg.setCreateTime(DateTimeUtil.getCurrentDateTime());
pubOrg.setIsMap("0");
save(pubOrg);
return pubOrg.getOrgId();
}
//修改组织机构信息
@Override
public boolean updatePubOrg(UpdateOrgReq req) {
List<PubOrg> list = list(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getOrgName, req.getOrgName()));
if (list.size()>0){
throw new ServiceException(PubOrgExceptionEnum.ORG_IS_EXIST);
}
PubOrg pubOrg = new PubOrg();
BeanPlusUtil.copyProperties(req,pubOrg);
return updateById(pubOrg);
}
}
......
......@@ -35,12 +35,12 @@ public class ShelfServiceImpl extends ServiceImpl<ShelfMapper, Shelf> implements
//判断仓库是否存在
warehouseService.WarehoustExist(req.getWarehouseId());
//判断区域是否存在
warehouseAreaService.WarehouseAreaExist(req.getAreaId());
// warehouseAreaService.WarehouseAreaExist(req.getAreaId());
//判断区域id是否在该仓库中,如果不是则抛出异常
WarehouseArea one = warehouseAreaService.getOne(new LambdaQueryWrapper<WarehouseArea>()
List<WarehouseArea> list = warehouseAreaService.list(new LambdaQueryWrapper<WarehouseArea>()
.eq(WarehouseArea::getWarehouseId, req.getWarehouseId())
.eq(WarehouseArea::getAreaId, req.getAreaId()));
if (ObjectUtil.isNull(one)){
.eq(ObjectUtil.isNotNull(req.getAreaId()), WarehouseArea::getAreaId, req.getAreaId()));
if (list.size()<=0){
throw new ServiceException(WarehouseAreaExceptionEnum.AREA_ERROR);
}
Shelf shelf = new Shelf();
......
......@@ -95,7 +95,7 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
//盘库单据查询
@Override
public PageResult<StocktakeDto> ShowStocktakeOrderPage(StocktakeReq req) {
public PageResult<Stocktake> ShowStocktakeOrderPage(StocktakeReq req) {
//(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
(req.getOrder().equalsIgnoreCase("desc") || req.getOrder().equalsIgnoreCase("asc"))
......@@ -110,17 +110,8 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
.ge(ObjectUtil.isNotNull(req.getStartTime()),Stocktake::getCreateTime,req.getStartTime())
.le(ObjectUtil.isNotNull(req.getEndTime()),Stocktake::getCreateTime,req.getEndTime())
.last("order by "+req.getColumn()+" "+req.getOrder());
long size = list(eq).size();
Page<Stocktake> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<StocktakeDto> collect = page.getRecords().stream().map(stocktake -> {
StocktakeDto stocktakeDto = new StocktakeDto();
BeanPlusUtil.copyProperties(stocktake, stocktakeDto);
return stocktakeDto;
}).collect(Collectors.toList());
Page<StocktakeDto> page1 = new Page<>(req.getPageNo(), req.getPageSize());
page1.setTotal(size);
page1.setRecords(collect);
return PageResultFactory.createPageResult(page1);
return PageResultFactory.createPageResult(page);
}
......
......@@ -123,22 +123,11 @@ public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> i
//分页
@Override
public PageResult<SupplierDto> ShowSupplierPage(QuerySupplierReq req) {
public PageResult<Supplier> 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);
return PageResultFactory.createPageResult(page);
}
@Override
......
package com.junmp.jyzb.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.entity.WarehouseInventory;
import com.junmp.jyzb.service.WarehouseInventoryService;
import com.junmp.jyzb.mapper.WarehouseInventoryMapper;
import org.springframework.stereotype.Service;
/**
* @author lxh专属坐骑
* @description 针对表【base_warehouse_inventory】的数据库操作Service实现
* @createDate 2023-12-08 13:23:29
*/
@Service
public class WarehouseInventoryServiceImpl extends ServiceImpl<WarehouseInventoryMapper, WarehouseInventory>
implements WarehouseInventoryService{
}
......@@ -45,4 +45,12 @@
manufacturer_name,item_details,create_time,
update_time,create_user,update_user
</sql>
<select id="showOrderByBusOrderId" resultType="com.junmp.jyzb.api.bean.dto.BusFormDto">
select *,null as order_main_id,null as out_and_in_state FROM bussiness_bus_form WHERE id=#{id}
union all
select a.*,om.id as order_main_id,om.order_type as out_and_in_state FROM bussiness_order_main om join
(select * FROM bussiness_bus_form WHERE id=#{id}) a
on a.bussiness_code=om.bussiness_code
and (a.org_id=om.start_org_id or a.org_id=om.end_org_id)
</select>
</mapper>
......@@ -33,6 +33,9 @@
<if test="null != req.typeId and '' != req.typeId">
AND t1.type_id= #{req.typeId}
</if>
<if test="null != req.id and '' != req.id">
AND t1.id= #{req.id}
</if>
</if>
</select>
......
......@@ -163,17 +163,16 @@
GROUP BY t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice
</insert>
<insert id="insertInventorySummary">
INSERT INTO base_inventory_summary (id,org_id_int,org_name,location_id,location_name,type_id, type_name,size_id,
INSERT INTO base_inventory_summary (org_id_int,org_name,location_id,location_name,type_id, type_name,size_id,
size_name,number,unit_price,price, stock_number, outbound_number,destruction_number,
expire_number,location_type,use_number,near_broken_number,create_time,update_time)
select
MAX(t.id) as id,t.orgId,t.orgName,t.locationId,MAX(t.locationName),t.type_id,t.typeName,t.size_id,t.sizeName,
t.orgId,t.orgName,t.locationId,MAX(t.locationName),t.type_id,t.typeName,t.size_id,t.sizeName,
sum(t.number) as number,t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber,
sum(t.destructionNumber)as destructionNumber,sum(t.destructionNumber) as expireNumber,sum(t.useNumber)as useNumber,
sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
sum(t.destructionNumber)as destructionNumber,sum(t.destructionNumber) as expireNumber,t.location_type,sum(t.useNumber)as useNumber,
sum(t.nearBrokenNumber)as nearBrokenNumber,NOW(),NOW()
FROM
(SELECT
UUID() as id,
bi.org_id_int as orgId,
po.org_name as orgName,
MAX(bi.location_id) as locationId,
......@@ -546,6 +545,9 @@
limit ${item[2]},${item[3]}
</foreach>
</select>
<select id="GetDetailByTerms" resultType="com.junmp.jyzb.api.bean.dto.InventoryDto">
</select>
</mapper>
\ No newline at end of file
......@@ -137,25 +137,34 @@
<select id="getTotalNumberAndPrice" resultType="com.junmp.jyzb.entity.InventorySummary">
select sum(number) as number,sum(price)as price,sum(stock_number)as stockNumber,
sum(outbound_number)as outboundNumber,sum(destruction_number)as destructionNumber,
sum(expire_number)as expireNumber,sum(broken_number)as brokenNumber
select sum(number) as number,sum(price)as price,
sum(stock_number)as stockNumber,sum(stock_number * unit_price) as stockNumberPrice,
sum(outbound_number)as outboundNumber,sum(outbound_number * unit_price) as outboundNumberPrice,
sum(destruction_number)as destructionNumber,sum(destruction_number * unit_price) as destructionNumberPrice,
sum(expire_number)as expireNumber,sum(expire_number * unit_price) as expireNumberPrice,
sum(broken_number)as brokenNumber,sum(broken_number * unit_price) as brokenNumberPrice
<if test="req.orgId != null and req.orgId != ''">
,org_id_int as orgId
</if>
<if test="req.locationId !=null and req.locationId != ''">
,location_id as locationId
</if>
<if test="req.sizeId != null and req.sizeId != ''">
,size_id as sizeId
</if>
<if test="req.TypeId != null and req.typeId != ''">
,type_id as typeId
</if>
<if test="req.locationType != null and req.locationType != ''">
,location_type as locationId
,location_type as locationType
</if>
FROM base_inventory_summary where 1=1
<if test="req.sizeNames != null and req.sizeNames.size() >0 ">
and
<foreach collection="req.sizeNames" item="item" open="(" separator="or" close=")">
size_name = #{item}
</foreach>
</if>
<if test="req.typeIds != null and req.typeIds.size()>0 ">
and
<foreach collection="req.typeIds" item="item" open="(" separator="or" close=")">
type_id = #{item}
</foreach>
</if>
<if test="req.orgId != null and req.orgId != ''">
and org_id_int=#{req.orgId}
</if>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.junmp.jyzb.mapper.LogSummarySecondMapper">
<resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.LogSummarySecond">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="summaryId" column="summary_id" jdbcType="BIGINT"/>
<result property="typeName" column="type_name" jdbcType="VARCHAR"/>
<result property="typeId" column="type_id" jdbcType="VARCHAR"/>
<result property="sizeName" column="size_name" jdbcType="VARCHAR"/>
<result property="sizeId" column="size_id" jdbcType="INTEGER"/>
<result property="num" column="num" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,summary_id,type_name,
type_id,size_name,size_id,
num,create_time,update_time,
create_user,update_user
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.junmp.jyzb.mapper.WarehouseInventoryMapper">
<resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.WarehouseInventory">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="orgId" column="org_id" jdbcType="BIGINT"/>
<result property="typeId" column="type_id" jdbcType="VARCHAR"/>
<result property="sizeId" column="size_id" jdbcType="VARCHAR"/>
<result property="locationId" column="location_id" jdbcType="VARCHAR"/>
<result property="locationType" column="location_type" jdbcType="VARCHAR"/>
<result property="epc" column="epc" jdbcType="VARCHAR"/>
<result property="flag" column="flag" jdbcType="OTHER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="locationState" column="location_state" jdbcType="VARCHAR"/>
<result property="shelfLocation" column="shelf_location" jdbcType="VARCHAR"/>
<result property="shelfId" column="shelf_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,org_id,type_id,
size_id,location_id,location_type,
epc,flag,create_time,
update_time,update_user,create_user,
location_state,shelf_location,shelf_id
</sql>
</mapper>
......@@ -71,7 +71,7 @@ public class FlowTaskController {
}
@ApiOperation("通过流程实例查看审批记录")
@PostMapping("record")
@PostMapping("/record")
public ApiRes<RecordVO> record(@RequestBody HandleDataDTO handleDataDTO) {
return FlowTaskService.record(handleDataDTO.getProcessInstanceId());
......
......@@ -37,6 +37,8 @@ import com.junmp.v2.db.api.page.PageResult;
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 com.junmp.v2.message.api.bean.res.MessageRes;
import com.junmp.v2.message.api.enums.MsgReadStateEnum;
import com.junmp.v2.sys.user.entity.SysUser;
import com.junmp.v2.sys.user.service.SysUserService;
import lombok.extern.slf4j.Slf4j;
......@@ -137,6 +139,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskService.createAttachment("option", taskId, task.getProcessInstanceId(), attachment.getName(), attachment.getName(), attachment.getUrl());
}
}
taskService.complete(task.getId());
HistoricTaskInstance historicTask = historyService
.createHistoricTaskInstanceQuery()
......@@ -168,6 +171,21 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// }
// }
}
//点击后消除已读消息,暂时不用,依赖前端处理
MessageReq reqmsg=new MessageReq();
reqmsg.setBizId(Long.valueOf(processInstanceId));
reqmsg.setReceiveUserId(StartUser.getUserId());
reqmsg.setReadFlag(0);
List<MessageRes> msgRes= messageApi.queryList(reqmsg);
if (msgRes.size()>0)
{
// 使用流将 id 取出,并用逗号拼接成字符串
String ids = msgRes.stream()
.map(MessageRes::getMsgId)
.map(String::valueOf) // 将 id 转换为字符串
.collect(Collectors.joining(","));
messageApi.batchReadFlagByMessageIds(ids, MsgReadStateEnum.READ);
}
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,ReturnMsg.PASS);
}
......@@ -218,8 +236,24 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (StringUtils.isNotBlank(handleDataDTO.getSignInfo())) {
taskService.addComment(task.getId(), task.getProcessInstanceId(), "sign", handleDataDTO.getSignInfo());
}
//点击后消除已读消息,暂时不用,依赖前端处理
//拒绝后同层的人员的信息进行已读装备
MessageReq reqmsg=new MessageReq();
reqmsg.setBizId(Long.valueOf(task.getProcessInstanceId()));
reqmsg.setReceiveUserId(StartUser.getUserId());
reqmsg.setReadFlag(0);
List<MessageRes> msgRes= messageApi.queryList(reqmsg);
if (msgRes.size()>0)
{
// 使用流将 id 取出,并用逗号拼接成字符串
String ids = msgRes.stream()
.map(MessageRes::getMsgId)
.map(String::valueOf) // 将 id 转换为字符串
.collect(Collectors.joining(","));
messageApi.batchReadFlagByMessageIds(ids, MsgReadStateEnum.READ);
}
//消息推送
//消息推送(推送给发起人)
MessageSendReq sendReq = new MessageSendReq();
Process mainProcess = repositoryService.getBpmnModel(task.getProcessDefinitionId()).getMainProcess();
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().includeProcessVariables().processInstanceId(task.getProcessInstanceId()).singleResult();
......@@ -227,7 +261,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
UserInfo user= JSONObject.parseObject(startUser, UserInfo.class);
String Types= MapUtil.getStr(processInstance.getProcessVariables(),ORDER_TYPE);
sendReq.setReceiveUserIds(String.valueOf(user.getUserId()));
sendReq.setBizId(Long.valueOf(processInstance.getProcessInstanceId()));
// sendReq.setBizId(Long.valueOf(processInstance.getProcessInstanceId()));
sendReq.setMsgTitle("您的审批被驳回");
sendReq.setBizType("refuse/"+Types);
sendReq.setBizId(Long.valueOf(task.getProcessInstanceId()));
......@@ -242,6 +276,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
req1.setReceiveUserId(user.getUserId());
Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(startUser,count1);
}else {
runtimeService.deleteProcessInstance(taskId, "拒绝");
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论