Commit 9c57101a by 赵剑炜

Merge branch 'develop' into develop-zhaojw

parents df79006a a4834e3e
...@@ -40,6 +40,16 @@ public class BusFormDto { ...@@ -40,6 +40,16 @@ public class BusFormDto {
private String orgName; private String orgName;
/** /**
* 发物单位id
*/
private Long startOrgId;
/**
* 发物单位
*/
private String startOrgName;
/**
* 收物单位id * 收物单位id
*/ */
private Long endOrgId; private Long endOrgId;
...@@ -69,6 +79,8 @@ public class BusFormDto { ...@@ -69,6 +79,8 @@ public class BusFormDto {
*/ */
private String attachmentLocation; private String attachmentLocation;
private String agentId;
/** /**
* 经办人 * 经办人
*/ */
...@@ -107,7 +119,7 @@ public class BusFormDto { ...@@ -107,7 +119,7 @@ public class BusFormDto {
/** /**
* 调拨类型(2支拨,1价拨) * 调拨类型(2支拨,1价拨)
*/ */
private Integer transferType; private String allocateType;
/** /**
* 备注 * 备注
...@@ -144,4 +156,25 @@ public class BusFormDto { ...@@ -144,4 +156,25 @@ public class BusFormDto {
* 更新人 * 更新人
*/ */
private String updateUser; private String updateUser;
/**
* 报废类型(1报废出库,2移入报废区)
*/
private Integer type;
/**
* 维修单位id
*/
private String repairId;
/**
* 维修单位名称
*/
private String repairName;
/**
* 销毁、报废单位id
*/
private String destoryId;
/**
* 销毁、报废单位名称
*/
private String destoryName;
} }
...@@ -76,4 +76,6 @@ public class EquipmentSizeDto { ...@@ -76,4 +76,6 @@ public class EquipmentSizeDto {
private String photo; private String photo;
private String instructions;
} }
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class InOutRecordsDto implements Serializable {
//序号
private String Id;
//操作人员
private String userName;
// 存储名称
private String locationName;
//出入库时间
private Date useTime;
// 出入库状态
private String outInState;
}
package com.junmp.jyzb.api.bean.dto; package com.junmp.jyzb.api.bean.dto;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -11,50 +8,93 @@ import java.util.Date; ...@@ -11,50 +8,93 @@ import java.util.Date;
@Data @Data
public class LogDetailDto implements Serializable { public class LogDetailDto implements Serializable {
/** /**
* 出入库明细ID
*/
private Integer id;
/**
* 物资id * 物资id
*/ */
@ApiModelProperty(value = "物资id")
private String inventoryId; private String inventoryId;
/** /**
* 出入库汇总ID
*/
private Integer summaryId;
/**
* 单据ID * 单据ID
*/ */
@ApiModelProperty(value = "单据ID")
private String orderMainId; private String orderMainId;
/** /**
* EPC信息 * EPC信息
*/ */
@ApiModelProperty(value = "EPC信息")
private String epc; private String epc;
/** /**
* 装备名称 * 装备名称
*/ */
@ApiModelProperty(value = "装备名称")
private String equipmentName; private String equipmentName;
/** /**
* 装备号型 * 装备号型
*/ */
@ApiModelProperty(value = "装备号型")
private String equipmentSize; private String equipmentSize;
/** /**
* 供应商 * 供应商
*/ */
@ApiModelProperty(value = "供应商")
private String equipmentSupplier; private String equipmentSupplier;
/** /**
* 装备类型:0单件/1装备包 * 装备类型:0单件/1装备包
*/ */
@ApiModelProperty(value = "装备类型:0单件/1装备包")
private Integer equipmentType; private Integer equipmentType;
/** /**
* 状态,0正常/1异常 * 状态,0正常/1异常
*/ */
@ApiModelProperty(value = "状态,0正常/1异常")
private Integer errorState; private Integer errorState;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人员
*/
private String updateUser;
/**
* 创建人员
*/
private String createUser;
/**
* 照片信息
*/
private String picture;
/**
* 作业设备:0手持机 1单警柜 2通道)
*/
private Integer deviceType;
/**
* 存储ID
*/
private String locationId;
/**
* 存储名称:XX仓库,XX单警柜
*/
private String locationName;
} }
package com.junmp.jyzb.api.bean.dto; package com.junmp.jyzb.api.bean.dto;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -13,87 +9,97 @@ import java.util.List; ...@@ -13,87 +9,97 @@ import java.util.List;
public class LogSummaryDto implements Serializable { public class LogSummaryDto implements Serializable {
/** /**
* 出入库汇总ID
*/
private Integer id;
/**
* 组织机构ID * 组织机构ID
*/ */
@ApiModelProperty(value = "组织机构ID") private Long orgId;
private String orgId;
/** /**
* 组织机构名称 * 组织机构名称
*/ */
@ApiModelProperty(value = "组织机构名称")
private String orgName; private String orgName;
/** /**
* 单据id * 单据id
*/ */
@ApiModelProperty(value = "单据id")
private String orderMainId; private String orderMainId;
/** /**
* 存储ID * 存储ID
*/ */
@ApiModelProperty(value = "存储ID")
private String locationId; private String locationId;
/** /**
* 存储名称:XX仓库,XX单警柜 * 存储名称:XX仓库,XX单警柜
*/ */
@ApiModelProperty(value = "存储名称")
private String locationName; private String locationName;
/** /**
* 设备标识 * 设备标识
*/ */
@ApiModelProperty(value = "设备标识")
private String device; private String device;
/** /**
* 出入设备:0手持机/1单警柜/2通道 * 出入设备:0手持机/1单警柜/2通道
*/ */
@ApiModelProperty(value = "出入设备:0手持机/1单警柜/2通道")
private Integer deviceType; private Integer deviceType;
/** /**
* 操作时间 * 操作时间
*/ */
@ApiModelProperty(value = "操作时间")
private Date useTime; private Date useTime;
/** /**
* 业务类型 * 业务类型
*/ */
@ApiModelProperty(value = "业务类型")
private String bussinessType; private String bussinessType;
/** /**
* 操作人员姓名 * 操作人员姓名
*/ */
@ApiModelProperty(value = "操作人员姓名")
private String userName; private String userName;
/** /**
* 出入库类型:0出库/1入库 * 出入库类型:0出库/1入库
*/ */
@ApiModelProperty(value = "出入库类型:0出库/1入库")
private Integer outInState; private Integer outInState;
/** /**
* 照片信息 * 照片信息
*/ */
@ApiModelProperty(value = "照片信息")
private String picture; private String picture;
/** /**
* 装备记录集合,警棍、盾牌 * 装备记录集合,警棍、盾牌
*/ */
@ApiModelProperty(value = "装备记录集合") private String equipmentList;
private String equipments;
/** /**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人员
*/
private String updateUser;
/**
* 创建人员
*/
private String createUser;
/**
* 装备详细信息 * 装备详细信息
*/ */
@ApiModelProperty(value = "装备详细信息") private List<LogDetailDto> logList;
private List<LogDetailDto> equipmentList;
} }
...@@ -27,6 +27,8 @@ public class OrderDetailDto implements Serializable { ...@@ -27,6 +27,8 @@ public class OrderDetailDto implements Serializable {
private String warehouseId; private String warehouseId;
private String warehouseName;
/** /**
* 计划数量 * 计划数量
*/ */
...@@ -37,4 +39,9 @@ public class OrderDetailDto implements Serializable { ...@@ -37,4 +39,9 @@ public class OrderDetailDto implements Serializable {
private Integer actualNum; private Integer actualNum;
private BigDecimal price; private BigDecimal price;
/**
* 在库数
*/
private Integer stockNumber;
} }
...@@ -22,6 +22,7 @@ public class OrderMainDto implements Serializable { ...@@ -22,6 +22,7 @@ public class OrderMainDto implements Serializable {
//订单编号 //订单编号
private String orderCode; private String orderCode;
//业务单据单号
private String bussinessCode; private String bussinessCode;
//发物单位 //发物单位
......
...@@ -42,5 +42,5 @@ public class PolicemanDto { ...@@ -42,5 +42,5 @@ public class PolicemanDto {
private List<PoliceFingerDto> fingersList; private List<PoliceFingerDto> fingersList;
private String fileContent; private String fileContent;
private String userId; private Long userId;
} }
\ No newline at end of file
...@@ -32,6 +32,10 @@ public class InventoryReq extends BaseRequest { ...@@ -32,6 +32,10 @@ public class InventoryReq extends BaseRequest {
*/ */
private String typeId; private String typeId;
/** /**
* 装备类型名称
*/
private String typeName;
/**
* 装备号型ID * 装备号型ID
*/ */
private String sizeId; private String sizeId;
...@@ -73,6 +77,8 @@ public class InventoryReq extends BaseRequest { ...@@ -73,6 +77,8 @@ public class InventoryReq extends BaseRequest {
*/ */
@NotNull(message = "组织机构不能为空",groups = {export.class}) @NotNull(message = "组织机构不能为空",groups = {export.class})
private Long orgId; private Long orgId;
private String orgName;
/** /**
* 单警柜id * 单警柜id
*/ */
...@@ -101,8 +107,6 @@ public class InventoryReq extends BaseRequest { ...@@ -101,8 +107,6 @@ public class InventoryReq extends BaseRequest {
*/ */
private String locationState; private String locationState;
/** /**
* 生产日期 * 生产日期
*/ */
......
...@@ -13,6 +13,7 @@ public class InventorySumReq extends BaseRequest { ...@@ -13,6 +13,7 @@ public class InventorySumReq extends BaseRequest {
* 组织机构 * 组织机构
*/ */
private Long orgId; private Long orgId;
/** /**
* 组织机构名称 * 组织机构名称
*/ */
...@@ -25,6 +26,11 @@ public class InventorySumReq extends BaseRequest { ...@@ -25,6 +26,11 @@ public class InventorySumReq extends BaseRequest {
* 位置信息 * 位置信息
*/ */
private String locationName; private String locationName;
/**
* 位置类型(0仓库,1单警柜)
*/
private String locationType;
/** /**
* 类型ID * 类型ID
*/ */
...@@ -42,4 +48,43 @@ public class InventorySumReq extends BaseRequest { ...@@ -42,4 +48,43 @@ public class InventorySumReq extends BaseRequest {
*/ */
private String sizeName; private String sizeName;
/**
* 排序规则
*/
private String order;
/**
* 排序列
*/
private String column;
/**
* 装备总数
*/
private String number;
/**
* 在库数
*/
private String stockNumber;
/**
* 出库数
*/
private String outboundNumber;
/**
* 过质保数
*/
private String expireNumber;
/**
* 报废数
*/
private String brokenNumber;
/**
* 单价
*/
private String unitPrice;
/**
* 总金额
*/
private String price;
} }
package com.junmp.jyzb.api.bean.query;
import lombok.Data;
import java.util.Date;
@Data
public class LogDetailReq {
/**
* 出入库明细ID
*/
private Integer id;
/**
* 物资id
*/
private String inventoryId;
/**
* 出入库汇总ID
*/
private Integer summaryId;
/**
* 单据ID
*/
private String orderMainId;
/**
* EPC信息
*/
private String epc;
/**
* 装备名称
*/
private String equipmentName;
/**
* 装备号型
*/
private String equipmentSize;
/**
* 供应商
*/
private String equipmentSupplier;
/**
* 装备类型:0单件/1装备包
*/
private Integer equipmentType;
/**
* 状态,0正常/1异常
*/
private Integer errorState;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人员
*/
private String updateUser;
/**
* 创建人员
*/
private String createUser;
/**
* 照片信息
*/
private String picture;
/**
* 作业设备:0手持机 1单警柜 2通道)
*/
private Integer deviceType;
/**
* 存储ID
*/
private String locationId;
/**
* 存储名称:XX仓库,XX单警柜
*/
private String locationName;
}
package com.junmp.jyzb.api.bean.query;
import com.baomidou.mybatisplus.annotation.TableField;
import com.junmp.jyzb.api.bean.dto.LogDetailDto;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class LogSummaryReq extends BaseRequest {
/**
* 出入库汇总ID
*/
private Integer id;
/**
* 组织机构ID
*/
@NotNull(message = "组织机构id不能为空",groups = {detail.class})
private Long orgId;
/**
* 组织机构名称
*/
private String orgName;
/**
* 单据id
*/
private String orderMainId;
/**
* 存储ID
*/
private String locationId;
/**
* 箱门id
*/
private String cabinetboxId;
/**
* 存储名称:XX仓库,XX单警柜
*/
private String locationName;
/**
* 0仓库,1单警柜
*/
private Integer locationType;
/**
* 设备标识
*/
private String device;
/**
* 出入设备:0手持机/1单警柜/2通道
*/
private Integer deviceType;
/**
* 操作时间
*/
private Date useTime;
/**
* 业务类型
*/
private String bussinessType;
/**
* 操作人员姓名
*/
private String userName;
/**
* 出入库类型:0出库/1入库
*/
private Integer outInState;
/**
* 照片信息
*/
private String picture;
/**
* 装备记录集合,警棍、盾牌
*/
private String equipmentList;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人员
*/
private String updateUser;
/**
* 创建人员
*/
private String createUser;
/**
* 装备详细信息
*/
private List<LogDetailReq> logList;
private String typeId;
}
...@@ -50,6 +50,8 @@ public class OrderDetailReq extends BaseRequest { ...@@ -50,6 +50,8 @@ public class OrderDetailReq extends BaseRequest {
private String warehouseId; private String warehouseId;
private String warehouseName;
/** /**
* 修改后数量 * 修改后数量
*/ */
......
...@@ -45,6 +45,16 @@ public class QueryBusFormReq extends BaseRequest { ...@@ -45,6 +45,16 @@ public class QueryBusFormReq extends BaseRequest {
private String orgName; private String orgName;
/** /**
* 发物单位id
*/
private Long startOrgId;
/**
* 发物单位
*/
private String startOrgName;
/**
* 收物单位id * 收物单位id
*/ */
private Long endOrgId; private Long endOrgId;
...@@ -73,6 +83,8 @@ public class QueryBusFormReq extends BaseRequest { ...@@ -73,6 +83,8 @@ public class QueryBusFormReq extends BaseRequest {
* 附件地址 * 附件地址
*/ */
private String attachmentLocation; private String attachmentLocation;
private String agentId;
/** /**
* 经办人 * 经办人
*/ */
...@@ -112,7 +124,7 @@ public class QueryBusFormReq extends BaseRequest { ...@@ -112,7 +124,7 @@ public class QueryBusFormReq extends BaseRequest {
/** /**
* 调拨类型(2支拨,1价拨) * 调拨类型(2支拨,1价拨)
*/ */
private Integer transferType; private Integer allocateType;
/** /**
* 备注 * 备注
...@@ -169,4 +181,26 @@ public class QueryBusFormReq extends BaseRequest { ...@@ -169,4 +181,26 @@ public class QueryBusFormReq extends BaseRequest {
* 排序规则 * 排序规则
*/ */
private String order; private String order;
/**
* 报废类型(1报废出库,2移入报废区)
*/
private Integer type;
/**
* 维修单位id
*/
private String repairId;
/**
* 维修单位名称
*/
private String repairName;
/**
* 销毁、报废单位id
*/
private String destoryId;
/**
* 销毁、报废单位名称
*/
private String destoryName;
} }
...@@ -25,4 +25,6 @@ public class QueryEquipmentSizeReq extends BaseRequest { ...@@ -25,4 +25,6 @@ public class QueryEquipmentSizeReq extends BaseRequest {
private BigDecimal price; private BigDecimal price;
private Integer state; private Integer state;
private String instructions;
} }
package com.junmp.jyzb.api.bean.req;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class CabinetInOutRecordsReq {
//组织机构id
private Long orgId;
//组织机构名称
private String orgName;
//表示装备
private String device;
//出入设备:0手持机/1单警柜/2通道
private Integer deviceType;
/**
* 单警柜id
*/
private String locationId;
//单警柜名称
private String locationName;
/**
* 箱门id
*/
private String cabinetboxId;
//操作时间
private Date useTIme;
/**
* 操作人员
*/
private String userName;
/**
* 出入装备集合
*/
private List<InventoryReq> inventoryList;
}
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class DestoryUnitReq extends BaseRequest {
/**
* 报废/销毁收物单位id
*/
private String id;
/**
* 报废/销毁收物单位名称
*/
@NotBlank(message = "报废/销毁收物单位不能为空",groups = {add.class,edit.class})
private String name;
/**
* 报废/销毁收物单位短码
*/
@NotBlank(message = "报废/销毁收物单位短码不能为空",groups = {add.class})
/**
* 简称
*/
private String shortName;
/**
* 联系人
*/
private String contacts;
/**
* 联系电话
*/
private String phone;
/**
* 状态(1为启用,0为禁用)
*/
private Integer state;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建人员
*/
private String createUser;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人员
*/
private String updateUser;
/**
* 批量删除报废/销毁单位id
*/
private List<String> deleteList;
}
...@@ -28,6 +28,7 @@ public class ManufacturerReq extends BaseRequest { ...@@ -28,6 +28,7 @@ public class ManufacturerReq extends BaseRequest {
/** /**
* 厂商短码 * 厂商短码
*/ */
@NotBlank(message = "生产厂商短码不能为空",groups = {add.class})
private String code; private String code;
/** /**
......
...@@ -6,6 +6,7 @@ import com.junmp.jyzb.api.bean.query.OrderMainReq; ...@@ -6,6 +6,7 @@ import com.junmp.jyzb.api.bean.query.OrderMainReq;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
...@@ -16,4 +17,17 @@ public class RabbitMqOrderReq implements Serializable { ...@@ -16,4 +17,17 @@ public class RabbitMqOrderReq implements Serializable {
private OrderDetailReq orderDetailReq; private OrderDetailReq orderDetailReq;
//具体装备epc //具体装备epc
private List<InventoryReq> inventoryReqList; private List<InventoryReq> inventoryReqList;
//设备标识
private String device;
//出入设备
private Integer deviceType;
/**
* 操作人员
*/
private String userName;
/**
* 操作时间
*/
private Date useTime;
} }
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class RepairUnitReq extends BaseRequest {
/**
* 维修单位id
*/
private String id;
/**
* 维修单位名称
*/
@NotBlank(message = "维修单位名称不能为空",groups = {add.class,edit.class})
private String name;
/**
* 维修单位短码
*/
@NotBlank(message = "维修单位短码不能为空",groups = {add.class})
private String code;
/**
* 简称
*/
private String shortName;
/**
* 联系人
*/
private String contacts;
/**
* 联系电话
*/
private String phone;
/**
* 状态(1为启用,0为禁用)
*/
private Integer state;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建人员
*/
private String createUser;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人员
*/
private String updateUser;
/**
* 批量删除维修单位id
*/
private List<String> deleteList;
}
...@@ -18,7 +18,7 @@ public class UpdateBusFormReq extends BaseRequest { ...@@ -18,7 +18,7 @@ public class UpdateBusFormReq extends BaseRequest {
@NotBlank(message = "单据id不能为空",groups = {edit.class}) @NotBlank(message = "单据id不能为空",groups = {edit.class})
private String id; private String id;
private String userId; // private String userId;
/** /**
* 工作流id * 工作流id
*/ */
...@@ -47,6 +47,15 @@ public class UpdateBusFormReq extends BaseRequest { ...@@ -47,6 +47,15 @@ public class UpdateBusFormReq extends BaseRequest {
private String orgName; private String orgName;
/** /**
* 发物单位id
*/
private Long startOrgId;
/**
* 发物单位
*/
private String startOrgName;
/**
* 收物单位id * 收物单位id
*/ */
private Long endOrgId; private Long endOrgId;
...@@ -76,6 +85,7 @@ public class UpdateBusFormReq extends BaseRequest { ...@@ -76,6 +85,7 @@ public class UpdateBusFormReq extends BaseRequest {
*/ */
private String attachmentLocation; private String attachmentLocation;
private String agentId;
/** /**
* 经办人 * 经办人
*/ */
...@@ -114,7 +124,7 @@ public class UpdateBusFormReq extends BaseRequest { ...@@ -114,7 +124,7 @@ public class UpdateBusFormReq extends BaseRequest {
/** /**
* 调拨类型(2支拨,1价拨) * 调拨类型(2支拨,1价拨)
*/ */
private Integer transferType; private Integer allocateType;
/** /**
* 备注 * 备注
...@@ -151,4 +161,26 @@ public class UpdateBusFormReq extends BaseRequest { ...@@ -151,4 +161,26 @@ public class UpdateBusFormReq extends BaseRequest {
* 更新人 * 更新人
*/ */
private String updateUser; private String updateUser;
/**
* 报废类型(1报废出库,2移入报废区)
*/
private Integer type;
/**
* 维修单位id
*/
private String repairId;
/**
* 维修单位名称
*/
private String repairName;
/**
* 销毁、报废单位id
*/
private String destoryId;
/**
* 销毁、报废单位名称
*/
private String destoryName;
} }
...@@ -27,4 +27,6 @@ public class UpdateEquipmentSizeReq { ...@@ -27,4 +27,6 @@ public class UpdateEquipmentSizeReq {
private String state; private String state;
private String photo; private String photo;
private String instructions;
} }
...@@ -46,6 +46,8 @@ public class UpdateOrderDetailReq implements Serializable { ...@@ -46,6 +46,8 @@ public class UpdateOrderDetailReq implements Serializable {
private String warehouseId; private String warehouseId;
private String warehouseName;
private String orderId; private String orderId;
private Integer actualNum; private Integer actualNum;
......
...@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode; ...@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -41,6 +42,9 @@ public class UpdateOrderReq extends BaseRequest implements Serializable { ...@@ -41,6 +42,9 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
*/ */
private String orderCode; private String orderCode;
/**
* 业务单据单号
*/
private String bussinessCode; private String bussinessCode;
/** /**
* 发物单位 * 发物单位
...@@ -87,11 +91,15 @@ public class UpdateOrderReq extends BaseRequest implements Serializable { ...@@ -87,11 +91,15 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
/** /**
* 总价格 * 总价格
*/ */
private String price; private BigDecimal price;
/** /**
* 应入库数量 * 应入库数量
*/ */
private String inventoryQuantity; private Integer inventoryQuantity;
/**
* 实际入库数量
*/
private Integer actualQuantity;
/** /**
* 附件地址 * 附件地址
*/ */
......
...@@ -36,6 +36,9 @@ public class UpdatePolicemanReq extends BaseRequest { ...@@ -36,6 +36,9 @@ public class UpdatePolicemanReq extends BaseRequest {
private String doorCode; private String doorCode;
/**
* 用户名
*/
private String account; private String account;
private String password; private String password;
......
package com.junmp.jyzb.api.exception.enums;
import com.junmp.v2.common.constant.CommonConstant;
import com.junmp.v2.common.exception.IExceptionEnum;
import lombok.Getter;
@Getter
public enum DestoryUnitExceptionEnum implements IExceptionEnum {
/**
* 删除时未选中需要删除的销毁/报废收物单位
*/
DESTORYUNIT_NOT_CHOOSE(CommonConstant.DEFAULT_USER_ERROR_CODE,"删除时未选中需要删除的销毁/报废收物单位"),
/**
* 销毁、报废收物单位不存在
*/
DESTORYUNIT_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"销毁、报废收物单位不存在"),
/**
* 销毁、报废收物单位已存在
*/
DESTORYUNIT_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"销毁、报废收物单位已存在"),;
/**
* 错误编码
*/
private final Integer code;
/**
* 提示用户信息
*/
private final String message;
DestoryUnitExceptionEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
package com.junmp.jyzb.api.exception.enums;
import com.junmp.v2.common.constant.CommonConstant;
import com.junmp.v2.common.exception.IExceptionEnum;
import lombok.Getter;
@Getter
public enum RepairUnitExceptionEnum implements IExceptionEnum {
/**
* 删除时未选中需要删除的维修收物单位
*/
REPAIRUNIT_NOT_CHOOSE(CommonConstant.DEFAULT_USER_ERROR_CODE,"删除时未选中需要删除的维修收物单位"),
/**
* 维修单位不存在
*/
REPAIRUNIT_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"维修单位不存在"),
/**
* 维修单位已存在
*/
REPAIRUNIT_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"维修单位已存在"),;
/**
* 错误编码
*/
private final Integer code;
/**
* 提示用户信息
*/
private final String message;
RepairUnitExceptionEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.req.DestoryUnitReq;
import com.junmp.jyzb.api.bean.req.ManufacturerReq;
import com.junmp.jyzb.entity.DestoryUnit;
import com.junmp.jyzb.entity.Manufacturer;
import com.junmp.jyzb.service.DestoryUnitService;
import com.junmp.v2.common.bean.request.ValidationApi;
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.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
@Slf4j
@Api(tags = "报废/销毁单位模块")
@RequestMapping("/DestoryUnit")
public class DestoryUnitController {
@Resource
private DestoryUnitService destoryUnitService;
//创建报废/销毁单位
@PostMapping("/AddDestoryUnit")
@ApiOperation("创建报废/销毁单位")
public ApiRes<String> addDestoryUnit(@RequestBody @Validated(ValidationApi.add.class) DestoryUnitReq req){
return ApiRes.success(destoryUnitService.addDestoryUnit(req));
}
//修改报废/销毁单位
@PostMapping("/UpdateDestoryUnit")
@ApiOperation("修改报废/销毁单位")
public ApiRes<Boolean> updateDestoryUnit(@RequestBody @Validated(ValidationApi.edit.class) DestoryUnitReq req){
return ApiRes.success(destoryUnitService.updateDestoryUnit(req));
}
//查询报废/销毁单位(list)
@PostMapping("/ShowDestoryUnitList")
@ApiOperation("查询报废/销毁单位(list)")
public ApiRes<List<DestoryUnit>> showDestoryUnitList(@RequestBody DestoryUnitReq req){
return ApiRes.success(destoryUnitService.showDestoryUnitList(req));
}
//查询报废/销毁单位(page)
@PostMapping("/ShowDestoryUnitPage")
@ApiOperation("修改报废/销毁单位(page)")
public ApiRes<PageResult<DestoryUnit>> showDestoryUnitPage(@RequestBody DestoryUnitReq req){
return ApiRes.success(destoryUnitService.showDestoryUnitPage(req));
}
//删除报废/销毁单位
@PostMapping("/DelDestoryUnit")
@ApiOperation("修改报废/销毁单位")
public ApiRes<Boolean> delDestoryUnit(@RequestBody DestoryUnitReq req){
return ApiRes.success(destoryUnitService.delDestoryUnit(req));
}
}
...@@ -4,8 +4,9 @@ import com.junmp.jyzb.api.bean.dto.*; ...@@ -4,8 +4,9 @@ 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.BatchEditingInvsReq; import com.junmp.jyzb.api.bean.req.BatchEditingInvsReq;
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.entity.LogDetail;
import com.junmp.jyzb.entity.LogSummary;
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;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
...@@ -90,20 +91,13 @@ public class InventoryController { ...@@ -90,20 +91,13 @@ public class InventoryController {
return ApiRes.success(inventorySummaryService.getEquipmentInfo(req)); return ApiRes.success(inventorySummaryService.getEquipmentInfo(req));
} }
//根据组织机构id/单警柜id/仓库id查询出库存汇总数量以及金额(和getEquipmentInfo同时调用,汇总出符合查询条件的装备)
//根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是List) @PostMapping("/getTotalNumberAndPrice")
@PostMapping("/") @ApiOperation("查询总金额以及各个汇总数量")
@ApiOperation("查询库存装备详细信息(list)") public ApiRes<List<InventorySummary>> getTotalNumberAndPrice(@RequestBody InventorySumReq req){
public ApiRes<List<InventoryDto>> EqsBySearchType(@RequestBody @Validated(ValidationApi.edit.class) InventoryReq req ){ return ApiRes.success(inventorySummaryService.getTotalNumberAndPrice(req));
return ApiRes.success(inventoryService.EqsBySearchType(req));
} }
//根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是page)
@PostMapping("/EqsByTypePage")
@ApiOperation("查询库存装备详细信息(page)")
public ApiRes<PageResult<InventoryDto>> EqsByTypePage(@RequestBody @Validated(ValidationApi.edit.class) InventoryReq req ){
return ApiRes.success(inventoryService.EqsByTypePage(req));
}
//根据装备id查询出装备的详细信息 //根据装备id查询出装备的详细信息
@PostMapping("/GetDetail") @PostMapping("/GetDetail")
...@@ -194,9 +188,9 @@ public class InventoryController { ...@@ -194,9 +188,9 @@ public class InventoryController {
return ApiRes.success(inventoryService.GetListEquipment(req)); return ApiRes.success(inventoryService.GetListEquipment(req));
} }
//根据条件查询仓库下的所有装备信息(业务状态,在库状态,仓库id,超期状态) //根据条件查询仓库/单警柜下的所有装备信息
@PostMapping("/GetDetailByTerms") @PostMapping("/GetDetailByTerms")
@ApiOperation("根据条件查询仓库下的所有装备信息") @ApiOperation("根据条件查询仓库/单警柜下的所有装备信息")
public ApiRes<PageResult<InventoryDto>> GetDetailByTerms(@RequestBody @Validated(ValidationApi.export.class) InventoryReq req){ public ApiRes<PageResult<InventoryDto>> GetDetailByTerms(@RequestBody @Validated(ValidationApi.export.class) InventoryReq req){
return ApiRes.success(inventoryService.GetDetailByTerms(req)); return ApiRes.success(inventoryService.GetDetailByTerms(req));
} }
...@@ -221,10 +215,43 @@ public class InventoryController { ...@@ -221,10 +215,43 @@ public class InventoryController {
return ApiRes.success(inventoryService.BatchEditingInvsInfo(req)); return ApiRes.success(inventoryService.BatchEditingInvsInfo(req));
} }
//装备出入库记录(通过装备id)-----------------------需要修改成page //装备出入库记录(根据单据id)
@PostMapping("/GetInOutRecords") @PostMapping("/ShowInOutRecordsByOrder")
@ApiOperation("装备出入库记录查询展示") @ApiOperation("出入库单据查询展示")
public ApiRes<List<InOutRecordsDto>> getInOutRecords(@RequestBody @Validated(ValidationApi.detail.class) InventoryReq req){ public ApiRes<PageResult<LogSummary>> ShowInOutRecordsByOrder(@RequestBody @Validated(ValidationApi.detail.class) LogSummaryReq req){
return ApiRes.success(inventoryService.ShowInOutRecordsByOrder(req));
}
//装备出入库记录(根据条件查询)
@PostMapping("/ShowInOutRecordsByItems")
@ApiOperation("出入库记录条件查询展示")
public ApiRes<PageResult<LogSummary>> ShowInOutRecordsByItems(@RequestBody @Validated(ValidationApi.detail.class) LogSummaryReq req){
return ApiRes.success(inventoryService.ShowInOutRecordsByItems(req));
}
//通过装备id查询某一件装备的出入库记录
@PostMapping("/ShowInOutRecordsByEqs")
@ApiOperation("出入库记录装备id查询展示")
public ApiRes<PageResult<LogDetail>> getInOutRecords(@RequestBody @Validated(ValidationApi.detail.class) InventoryReq req){
return ApiRes.success(inventoryService.getInOutRecords(req)); return ApiRes.success(inventoryService.getInOutRecords(req));
} }
@PostMapping("/test")
public ApiRes<Boolean> test(@RequestBody InventorySumReq req){
System.out.println("req = " + req);
return ApiRes.success(true);
}
@PostMapping("/EquipmentStatistics")
@ApiOperation("装备数量数据统计")
public ApiRes<List<InventorySummary>> EquipmentStatistics(@RequestBody InventorySumReq req){
return ApiRes.success(inventorySummaryService.EquipmentStatistics(req));
}
} }
...@@ -70,6 +70,7 @@ public class OrderController { ...@@ -70,6 +70,7 @@ public class OrderController {
return ApiRes.success(orderMainService.updateOrder(req)); return ApiRes.success(orderMainService.updateOrder(req));
} }
//查询任务列表(根据组织机构id) //查询任务列表(根据组织机构id)
@PostMapping("/GetOrderPage") @PostMapping("/GetOrderPage")
@ApiOperation("/查询任务列表") @ApiOperation("/查询任务列表")
......
package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.req.DestoryUnitReq;
import com.junmp.jyzb.api.bean.req.RepairUnitReq;
import com.junmp.jyzb.entity.DestoryUnit;
import com.junmp.jyzb.entity.RepairUnit;
import com.junmp.jyzb.service.RepairUnitService;
import com.junmp.v2.common.bean.request.ValidationApi;
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.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
@Slf4j
@Api(tags = "维修单位模块")
@RequestMapping("/RepairUnit")
public class RepairUnitController {
@Resource
private RepairUnitService repairUnitService;
//创建报废/销毁单位
@PostMapping("/AddRepairUnit")
@ApiOperation("创建报废/销毁单位")
public ApiRes<String> addRepairUnit(@RequestBody @Validated(ValidationApi.add.class) RepairUnitReq req){
return ApiRes.success(repairUnitService.addRepairUnit(req));
}
//修改报废/销毁单位
@PostMapping("/UpdateRepairUnit")
@ApiOperation("修改报废/销毁单位")
public ApiRes<Boolean> updateRepairUnit(@RequestBody @Validated(ValidationApi.edit.class) RepairUnitReq req){
return ApiRes.success(repairUnitService.updateRepairUnit(req));
}
//查询报废/销毁单位(list)
@PostMapping("/ShowRepairUnitList")
@ApiOperation("查询报废/销毁单位(list)")
public ApiRes<List<RepairUnit>> showRepairUnitList(@RequestBody RepairUnitReq req){
return ApiRes.success(repairUnitService.showRepairUnitList(req));
}
//查询报废/销毁单位(page)
@PostMapping("/ShowRepairUnitPage")
@ApiOperation("修改报废/销毁单位(page)")
public ApiRes<PageResult<RepairUnit>> showRepairUnitPage(@RequestBody RepairUnitReq req){
return ApiRes.success(repairUnitService.showRepairUnitPage(req));
}
//删除报废/销毁单位
@PostMapping("/DelRepairUnit")
@ApiOperation("修改报废/销毁单位")
public ApiRes<Boolean> delRepairUnit(@RequestBody RepairUnitReq req){
return ApiRes.success(repairUnitService.delRepairUnit(req));
}
}
package com.junmp.jyzb.controller; package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.service.TestService;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController @RestController
@Slf4j @Slf4j
@RequestMapping("/api") @RequestMapping("/api")
public class TestController { public class TestController {
@Resource
private TestService testService;
@RequestMapping("/hello") @RequestMapping("/hello")
public ResponseResult Hello(){ public ResponseResult Hello(){
return new ResponseResult(10000,"操作成功","hello"); return new ResponseResult(10000,"操作成功","hello");
} }
@PostMapping("/uploadResult")
@ApiOperation("模拟本地主机上传结果到rabbitmq")
public Boolean uploadResult(@RequestBody RabbitMqOrderReq req){
return testService.uploadResult(req);
}
} }
...@@ -65,7 +65,7 @@ public class WarehouseController { ...@@ -65,7 +65,7 @@ public class WarehouseController {
@PostMapping("/ShowWarehouse") @PostMapping("/ShowWarehouse")
@ApiOperation("查询仓库列表") @ApiOperation("查询仓库列表")
public ApiRes<List<WarehouseDto>> getAllWarehouse(@RequestBody @Validated(ValidationApi.edit.class) WarehouseReq req){ public ApiRes<List<WarehouseDto>> getAllWarehouse(@RequestBody @Validated(ValidationApi.edit.class) WarehouseReq req){
return ApiRes.success(warehouseService.getAllWarehouse(req)); return ApiRes.success(warehouseService.getAllWarehouse(req.getOrgId()));
} }
//通过仓库id查询列表 //通过仓库id查询列表
......
...@@ -41,7 +41,7 @@ public class Application implements Serializable { ...@@ -41,7 +41,7 @@ public class Application implements Serializable {
private String name; private String name;
/** /**
* 类型(0内部软件管理,1外部软件管理,2插件/环境安装包) * 类型(0内部软件管理,1外部软件管理,2插件/环境安装包,3导出模板维护,4导入模板维护
*/ */
private Integer type; private Integer type;
......
...@@ -51,6 +51,17 @@ public class BusForm implements Serializable { ...@@ -51,6 +51,17 @@ public class BusForm implements Serializable {
private String orgName; private String orgName;
/** /**
* 发物单位id
*/
@TableField(value = "start_org_id")
private Long startOrgId;
/**
* 发物单位
*/
@TableField(value = "start_org_name")
private String startOrgName;
/**
* 收物单位id * 收物单位id
*/ */
@TableField(value = "end_org_id") @TableField(value = "end_org_id")
...@@ -85,6 +96,11 @@ public class BusForm implements Serializable { ...@@ -85,6 +96,11 @@ public class BusForm implements Serializable {
*/ */
@TableField(value = "attachment_location") @TableField(value = "attachment_location")
private String attachmentLocation; private String attachmentLocation;
/**
* 经办人id
*/
@TableField(value = "agent_id")
private String agentId;
/** /**
* 经办人 * 经办人
...@@ -131,8 +147,8 @@ public class BusForm implements Serializable { ...@@ -131,8 +147,8 @@ public class BusForm implements Serializable {
/** /**
* 调拨类型(2支拨,1价拨) * 调拨类型(2支拨,1价拨)
*/ */
@TableField(value = "transfer_type") @TableField(value = "allocate_type")
private Integer transferType; private Integer allocateType;
/** /**
* 备注 * 备注
...@@ -187,6 +203,31 @@ public class BusForm implements Serializable { ...@@ -187,6 +203,31 @@ public class BusForm implements Serializable {
@TableField(value = "update_user") @TableField(value = "update_user")
private String updateUser; private String updateUser;
/**
* 报废类型(1报废出库,2移入报废区)
*/
private Integer type;
/**
* 维修单位id
*/
@TableField(value = "repair_id")
private String repairId;
/**
* 维修单位名称
*/
@TableField(value = "repair_name")
private String repairName;
/**
* 销毁、报废单位id
*/
@TableField(value = "destory_id")
private String destoryId;
/**
* 销毁、报废单位名称
*/
@TableField(value = "destory_name")
private String destoryName;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 报废收物单位表
* @TableName base_destory_unit
*/
@TableName(value ="base_destory_unit")
@Data
public class DestoryUnit implements Serializable {
/**
* 报废收物单位id
*/
private String id;
/**
* 报废收物单位名称
*/
@TableField(value = "name")
private String name;
/**
* 报废收物单位短码
*/
@TableField(value = "code")
private String code;
/**
* 简称
*/
@TableField(value = "short_name")
private String shortName;
/**
* 联系人
*/
@TableField(value = "contacts")
private String contacts;
/**
* 联系电话
*/
@TableField(value = "phone")
private String phone;
/**
* 状态(1为启用,0为禁用)
*/
@TableField(value = "state")
private Integer state;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 创建人员
*/
@TableField(value = "create_user")
private String createUser;
/**
* 更新时间
*/
@TableField(value = "update_time")
private Date updateTime;
/**
* 更新人员
*/
@TableField(value = "update_user")
private String updateUser;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
...@@ -81,5 +81,11 @@ public class EquipmentSize implements Serializable { ...@@ -81,5 +81,11 @@ public class EquipmentSize implements Serializable {
private String photo; private String photo;
/**
* 使用教学说明
*/
@TableField(value = "instructions")
private String instructions;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -33,17 +33,26 @@ public class Inventory implements Serializable { ...@@ -33,17 +33,26 @@ public class Inventory implements Serializable {
*/ */
@TableField("type_id") @TableField("type_id")
private String typeId; private String typeId;
@TableField(exist = false)
private String typeName;
/** /**
* 装备类型ID * 装备类型ID
*/ */
@TableField("size_id") @TableField("size_id")
private String sizeId; private String sizeId;
@TableField(exist = false)
private String sizeName;
/** /**
* 供应商ID * 供应商ID
*/ */
@TableField("supplier_id") @TableField("supplier_id")
private String supplierId; private String supplierId;
@TableField(exist = false)
private String supplierName;
/** /**
* 部门ID * 部门ID
*/ */
...@@ -137,6 +146,12 @@ public class Inventory implements Serializable { ...@@ -137,6 +146,12 @@ public class Inventory implements Serializable {
private String locationId ; private String locationId ;
/** /**
* 位置名称
*/
@TableField(exist = false)
private String locationName ;
/**
* 是否遗失 * 是否遗失
*/ */
@TableField(value = "lost_flag") @TableField(value = "lost_flag")
......
...@@ -134,6 +134,27 @@ public class InventorySummary implements Serializable { ...@@ -134,6 +134,27 @@ public class InventorySummary implements Serializable {
private Integer expireNumber; private Integer expireNumber;
/** /**
* 报废数量
*/
@ApiModelProperty(value = "报废数量")
@TableField("broken_number")
private Integer brokenNumber;
/**
* 临近报废数量
*/
@ApiModelProperty(value = "临近报废数量")
@TableField("near_broken_number")
private Integer nearBrokenNumber;
/**
* 使用中数量(领用和借用)
*/
@ApiModelProperty(value = "使用中数量(领用和借用)")
@TableField("use_number")
private Integer useNumber;
/**
* 创建时间 * 创建时间
*/ */
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
...@@ -170,6 +191,8 @@ public class InventorySummary implements Serializable { ...@@ -170,6 +191,8 @@ public class InventorySummary implements Serializable {
@TableField(exist = false,updateStrategy = FieldStrategy.IGNORED) @TableField(exist = false,updateStrategy = FieldStrategy.IGNORED)
private String photo; private String photo;
@TableField(exist = false)
private String instructions;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
package com.junmp.jyzb.entity; package com.junmp.jyzb.entity;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
@ApiModel(value = "com-junmp-jyzb-domain-LogDetail") /**
*
* @TableName base_log_detail
*/
@TableName(value ="base_log_detail")
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("base_log_detail")
public class LogDetail implements Serializable { public class LogDetail implements Serializable {
/** /**
* 出入库明细ID * 出入库明细ID
*/ */
@ApiModelProperty(value = "出入库明细ID")
private Integer id;
private Long id;
/**
* 出入库汇总id
*/
@TableField(value = "summary_id")
private Long summaryId;
/** /**
* 物资id * 物资id
*/ */
@ApiModelProperty(value = "物资id") @TableField(value = "inventory_id")
@TableField("inventory_id")
private String inventoryId; private String inventoryId;
/** /**
* 出入库汇总ID * 单据ID
*/ */
@ApiModelProperty(value = "出入库汇总ID") @TableField(value = "order_main_id")
@TableField("summary_id") private String orderMainId;
private Integer summaryId;
/** /**
* 单据ID * 单据编号
*/ */
@ApiModelProperty(value = "单据ID") @TableField(value = "order_code")
@TableField("order_main_id") private String orderCode;
private String orderMainId;
/**
* 业务类型
*/
@TableField(value = "bussiness_type")
private String bussinessType;
/** /**
* EPC信息 * EPC信息
*/ */
@ApiModelProperty(value = "EPC信息") @TableField(value = "epc")
private String epc; private String epc;
/** /**
* 装备名称 * 装备类型id
*/
@TableField(value = "type_id")
private String typeId;
/**
* 装备类型名称
*/
@TableField(value = "type_name")
private String typeName;
/**
* 装备号型id
*/ */
@ApiModelProperty(value = "装备名称") @TableField(value = "size_id")
@TableField("equipment_name") private String sizeId;
private String equipmentName;
/** /**
* 装备号型 * 装备号型名称
*/ */
@ApiModelProperty(value = "装备号型") @TableField(value = "size_name")
@TableField("equipment_size") private String sizeName;
private String equipmentSize;
/** /**
* 供应商 * 供应商id
*/ */
@ApiModelProperty(value = "供应商") @TableField(value = "supplier_id")
@TableField("equipment_supplier") private String supplierId;
private String equipmentSupplier;
/**
* 供应商名称
*/
@TableField(value = "supplier_name")
private String supplierName;
/** /**
* 装备类型:0单件/1装备包 * 装备类型:0单件/1装备包
*/ */
@ApiModelProperty(value = "装备类型:0单件/1装备包") @TableField(value = "equipment_type")
@TableField("equipment_type")
private Integer equipmentType; private Integer equipmentType;
/** /**
* 位置id(存放单警柜id或者是仓库id)
*/
@TableField(value = "location_id")
private String locationId;
/**
* 位置名称(单警柜,仓库)
*/
@TableField(value = "location_name")
private String locationName;
/**
* 箱门id
*/
@TableField(value = "cabinetbox_id")
private String cabinetboxId;
/**
* 状态,0正常/1异常 * 状态,0正常/1异常
*/ */
@ApiModelProperty(value = "状态,0正常/1异常") @TableField(value = "error_state")
@TableField("error_state")
private Integer errorState; private Integer errorState;
/**
* 出入状态:in入库,out出库
*/
@TableField(value = "out_in_state")
private String outInState;
/** /**
* 创建时间 * 创建时间
*/ */
@TableField(value = "create_time", fill = FieldFill.INSERT) @TableField(value = "create_time")
private Date createTime; private Date createTime;
/** /**
* 更新时间 * 更新时间
*/ */
@TableField(value = "update_time", fill = FieldFill.UPDATE) @TableField(value = "update_time")
private Date updateTime; private Date updateTime;
/** /**
* 更新人员 * 更新人员
*/ */
@TableField(value = "update_user", fill = FieldFill.INSERT) @TableField(value = "update_user")
private String updateUser; private String updateUser;
/** /**
* 创建人员 * 创建人员
*/ */
@TableField(value = "create_user", fill = FieldFill.UPDATE) @TableField(value = "create_user")
private String createUser; private String createUser;
/** /**
* 照片信息 * 照片信息
*/ */
@ApiModelProperty(value = "照片信息") @TableField(value = "picture")
private String picture; private String picture;
/** /**
* 作业设备:0手持机 1单警柜 2通道) * 出入设备:0手持机/1单警柜/2通道
*/ */
@ApiModelProperty(value = "业务类型") @TableField(value = "device_type")
@TableField("device_type")
private Integer deviceType; private Integer deviceType;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
package com.junmp.jyzb.entity; package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.FieldFill; 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.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import lombok.AllArgsConstructor; import java.util.List;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
@ApiModel(value = "com-junmp-jyzb-domain-LogSummary") /**
*
* @TableName base_log_summary
*/
@TableName(value ="base_log_summary")
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("base_log_summary")
public class LogSummary implements Serializable { public class LogSummary implements Serializable {
/** /**
* 出入库汇总ID * 出入库汇总ID
*/ */
@ApiModelProperty(value = "出入库汇总ID") private Long id;
private Integer id;
/** /**
* 组织机构ID * 组织机构ID
*/ */
@ApiModelProperty(value = "组织机构ID") @TableField(value = "org_id")
@TableField("org_id") private Long orgId;
private String orgId;
/** /**
* 组织机构名称 * 组织机构名称
*/ */
@ApiModelProperty(value = "组织机构名称") @TableField(value = "org_name")
@TableField("org_name")
private String orgName; private String orgName;
/** /**
* 单据id * 单据ID
*/ */
@ApiModelProperty(value = "单据id") @TableField(value = "order_main_id")
@TableField("order_main_id")
private String orderMainId; private String orderMainId;
/**
* 存储ID
*/
@ApiModelProperty(value = "存储ID")
@TableField("location_id")
private String locationId;
/** /**
* 存储名称:XX仓库,XX单警柜 * 单据编号
*/ */
@ApiModelProperty(value = "存储名称") @TableField(value = "order_code")
@TableField("location_name") private String orderCode;
private String locationName;
/** /**
* 设备标识 * 设备标识
*/ */
@ApiModelProperty(value = "设备标识") @TableField(value = "device")
private String device; private String device;
/** /**
* 出入设备:0手持机/1单警柜/2通道 * 出入设备:0手持机/1单警柜/2通道
*/ */
@ApiModelProperty(value = "出入设备:0手持机/1单警柜/2通道") @TableField(value = "device_type")
@TableField("device_type")
private Integer deviceType; private Integer deviceType;
/**
* 所属位置(0仓库1单警柜)
*/
@TableField(value = "location_type")
private Integer locationType;
/** /**
* 操作时间 * 操作时间
*/ */
@ApiModelProperty(value = "操作时间") @TableField(value = "use_time")
@TableField("use_time")
private Date useTime; private Date useTime;
/** /**
* 业务类型 * 业务类型
*/ */
@ApiModelProperty(value = "业务类型") @TableField(value = "bussiness_type")
@TableField("bussiness_type")
private String bussinessType; private String bussinessType;
/** /**
* 操作人员姓名 * 操作人员姓名
*/ */
@ApiModelProperty(value = "操作人员姓名") @TableField(value = "user_name")
@TableField("user_name")
private String userName; private String userName;
/** /**
* 出入库类型:0出库/1入库
*/
@ApiModelProperty(value = "出入库类型:0出库/1入库")
@TableField("out_in_state")
private Integer outInState;
/**
* 照片信息 * 照片信息
*/ */
@ApiModelProperty(value = "照片信息") @TableField(value = "picture")
private String picture; private String picture;
/** /**
* 装备记录集合,警棍、盾牌 * 装备记录集合,警棍/盾牌
*/ */
@ApiModelProperty(value = "装备记录集合") @TableField(value = "equipment_list")
@TableField("equipment_List")
private String equipmentList; private String equipmentList;
/** /**
* 创建时间 * 创建时间
*/ */
@TableField(value = "create_time", fill = FieldFill.INSERT) @TableField(value = "create_time")
private Date createTime; private Date createTime;
/** /**
* 更新时间 * 更新时间
*/ */
@TableField(value = "update_time", fill = FieldFill.UPDATE) @TableField(value = "update_time")
private Date updateTime; private Date updateTime;
/** /**
* 更新人员 * 更新人员
*/ */
@TableField(value = "update_user", fill = FieldFill.INSERT) @TableField(value = "update_user")
private String updateUser; private String updateUser;
/** /**
* 创建人员 * 创建人员
*/ */
@TableField(value = "create_user", fill = FieldFill.UPDATE) @TableField(value = "create_user")
private String createUser; private String createUser;
@TableField(exist = false)
private List<LogDetail> logDetailList;
/**
* 出入状态
*/
@TableField(value = "out_in_state")
private String outInState;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.junmp.jyzb.entity; ...@@ -3,6 +3,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.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -46,6 +47,9 @@ import java.util.Date; ...@@ -46,6 +47,9 @@ import java.util.Date;
@TableField("warehouse_id") @TableField("warehouse_id")
private String warehouseId; private String warehouseId;
@TableField("warehouse_name")
private String warehouseName;
@TableField("plan_num") @TableField("plan_num")
private Integer planNum; private Integer planNum;
...@@ -57,6 +61,8 @@ import java.util.Date; ...@@ -57,6 +61,8 @@ import java.util.Date;
@TableField("order_type") @TableField("order_type")
private String orderType; private String orderType;
/** /**
* 创建时间 * 创建时间
*/ */
......
...@@ -76,7 +76,7 @@ public class Policeman implements Serializable { ...@@ -76,7 +76,7 @@ public class Policeman implements Serializable {
private Integer state; private Integer state;
@TableField(value = "user_id",updateStrategy = FieldStrategy.IGNORED) @TableField(value = "user_id",updateStrategy = FieldStrategy.IGNORED)
private Long UserId; private Long userId;
/** /**
* 0表示警员,1表示辅警 * 0表示警员,1表示辅警
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 维修单位表
* @TableName base_repair_unit
*/
@TableName(value ="base_repair_unit")
@Data
public class RepairUnit implements Serializable {
/**
* 维修单位id
*/
private String id;
/**
* 维修单位名称
*/
@TableField(value = "name")
private String name;
/**
* 维修单位短码
*/
@TableField(value = "code")
private String code;
/**
* 简称
*/
@TableField(value = "short_name")
private String shortName;
/**
* 联系人
*/
@TableField(value = "contacts")
private String contacts;
/**
* 联系电话
*/
@TableField(value = "phone")
private String phone;
/**
* 状态(1为启用,0为禁用)
*/
@TableField(value = "state")
private Integer state;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 创建人员
*/
@TableField(value = "create_user")
private String createUser;
/**
* 更新时间
*/
@TableField(value = "update_time")
private Date updateTime;
/**
* 更新人员
*/
@TableField(value = "update_user")
private String updateUser;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
...@@ -23,11 +23,13 @@ import com.junmp.v2.sys.api.bean.user.dto.RoleUserDto; ...@@ -23,11 +23,13 @@ import com.junmp.v2.sys.api.bean.user.dto.RoleUserDto;
import com.junmp.v2.sys.api.bean.user.vo.QueryUserInfoVo; import com.junmp.v2.sys.api.bean.user.vo.QueryUserInfoVo;
import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.Process;
import org.flowable.bpmn.model.UserTask; import org.flowable.bpmn.model.UserTask;
import org.flowable.engine.HistoryService;
import org.flowable.engine.RepositoryService; import org.flowable.engine.RepositoryService;
import org.flowable.engine.TaskService; import org.flowable.engine.TaskService;
import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.delegate.ExecutionListener;
import com.junmp.junmpProcess.enums.AssigneeTypeEnums; import com.junmp.junmpProcess.enums.AssigneeTypeEnums;
import org.flowable.engine.history.HistoricProcessInstance;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -50,6 +52,9 @@ public class CounterSignListener implements ExecutionListener { ...@@ -50,6 +52,9 @@ public class CounterSignListener implements ExecutionListener {
private RepositoryService repositoryService; private RepositoryService repositoryService;
@Resource @Resource
private OrgUserMapper orgUserMapper; private OrgUserMapper orgUserMapper;
@Resource
private HistoryService historyService;
@Override @Override
public void notify(DelegateExecution execution) { public void notify(DelegateExecution execution) {
String currentActivityId = execution.getCurrentActivityId(); String currentActivityId = execution.getCurrentActivityId();
...@@ -178,13 +183,14 @@ public class CounterSignListener implements ExecutionListener { ...@@ -178,13 +183,14 @@ public class CounterSignListener implements ExecutionListener {
execution.setVariable(variable, assigneeList); execution.setVariable(variable, assigneeList);
assigneeList.forEach(userId->//为相应的用户推送消息 assigneeList.forEach(userId->//为相应的用户推送消息
{ {
MessageSendReq sendReq = new MessageSendReq(); MessageSendReq sendReq = new MessageSendReq();
sendReq.setReceiveUserIds(String.valueOf(userId)); sendReq.setReceiveUserIds(String.valueOf(userId));
sendReq.setMsgTitle("BizTypeEnum.YW.getDesc()"); sendReq.setMsgTitle("单据审批提示");
sendReq.setBizType("BizTypeEnum.YW.getValue()"); sendReq.setBizType("单据审批");
sendReq.setMsgContent("msgContent"); sendReq.setMsgContent("您有一条单据流程需要进行审批");
sendReq.setPriority("0"); sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now()); sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq); messageApi.sendMessage(sendReq);
...@@ -194,7 +200,7 @@ public class CounterSignListener implements ExecutionListener { ...@@ -194,7 +200,7 @@ public class CounterSignListener implements ExecutionListener {
req1.setReadFlag(0); req1.setReadFlag(0);
req1.setReceiveUserId(Long.valueOf(userId)); req1.setReceiveUserId(Long.valueOf(userId));
Integer count1 = messageApi.queryCount(req1); Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(String.valueOf(userId),count1); messageApi.pushMsgToUser(userId,count1);
}); });
} }
......
...@@ -12,7 +12,7 @@ import java.util.Map; ...@@ -12,7 +12,7 @@ import java.util.Map;
@Mapper @Mapper
public interface CabinetMapper extends BaseMapper<Cabinet> { public interface CabinetMapper extends BaseMapper<Cabinet> {
List<Cabinet> getAllCabinetByOrgList(List<Long> allOrgId); List<Cabinet> getAllCabinetByOrgList(@Param("list") List<Long> allOrgId);
boolean SetInventoryInfo(String id); boolean SetInventoryInfo(String id);
......
package com.junmp.jyzb.mapper;
import com.junmp.jyzb.entity.DestoryUnit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author lxh专属坐骑
* @description 针对表【base_destory_unit(报废收物单位表)】的数据库操作Mapper
* @createDate 2023-10-16 09:35:03
* @Entity com.junmp.jyzb.entity.DestoryUnit
*/
public interface DestoryUnitMapper extends BaseMapper<DestoryUnit> {
}
...@@ -26,12 +26,11 @@ public interface InventoryMapper extends BaseMapper<Inventory> { ...@@ -26,12 +26,11 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
boolean deleteAllMsg(); boolean deleteAllMsg();
//根据单警柜统计装备信息 //根据单警柜统计装备信息
boolean SetCabinetInventory(); boolean SetCabinetInventory(@Param("brokenNumberDays") Integer brokenNumberDays);
//根据仓库统计装备信息 //根据仓库统计装备信息
boolean SetWarehouseInventory(); boolean SetWarehouseInventory(@Param("brokenNumberDays") Integer brokenNumberDays);
List<InventoryDto> EqsBySearchType(InventoryReq req);
//根据货架id查询汇总信息(list) //根据货架id查询汇总信息(list)
List<InventorySummary> getSumByShelf(String shelfId); List<InventorySummary> getSumByShelf(String shelfId);
...@@ -54,11 +53,10 @@ public interface InventoryMapper extends BaseMapper<Inventory> { ...@@ -54,11 +53,10 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
//查询组织机构下面的装备信息 //查询组织机构下面的装备信息
List<InventoryVo> selectListByOrg(Long orgId); List<InventoryVo> selectListByOrg(Long orgId);
IPage<InventoryDto> EqsByTypePage(Page<InventoryDto> page,@Param("queryType")String queryType,@Param("orgId") Long orgId,@Param("warehouseId")String warehouseId,@Param("cabinetId")String cabinetId);
//通过单警柜箱门id获取箱门下的装备汇总信息(page) //通过单警柜箱门id获取箱门下的装备汇总信息(page)
IPage<InventorySummary> EqsByCabinetBoxIdPage(Page<InventorySummary> page, String id); IPage<InventorySummary> EqsByCabinetBoxIdPage(Page<InventorySummary> page, String id);
boolean insertInventorySummary(@Param("req") BatchEditingInvsReq req); boolean insertInventorySummary(@Param("req") BatchEditingInvsReq req,@Param("brokenNumberDays")Integer brokenNumberDays);
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.junmp.jyzb.mapper; ...@@ -2,6 +2,7 @@ package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.api.bean.dto.InventorySumDto; import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.WarehouseDto;
import com.junmp.jyzb.api.bean.query.InventorySumReq; import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -12,5 +13,20 @@ import java.util.List; ...@@ -12,5 +13,20 @@ import java.util.List;
@Mapper @Mapper
public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
//用于出库单中的装备选择
List<InventorySumDto> GetInventorySumInfo(@Param("req") InventorySumReq req); List<InventorySumDto> GetInventorySumInfo(@Param("req") InventorySumReq req);
//根据仓库id删除装备汇总信息
boolean deleteByWarehouse(@Param("list") List<WarehouseDto> allWarehouse);
boolean getSumByWarehouse(@Param("list") List<WarehouseDto> allWarehouse,@Param("brokenNumberDays")Integer brokenNumberDays);
//根据单警柜删除装备汇总信息
boolean deleteByCabinet(@Param("cabinetId") String cabinetId);
boolean getSumByCabinet(@Param("cabinetId") String cabinetId,@Param("brokenNumberDays")Integer brokenNumberDays);
InventorySummary getTotalNumberAndPrice(@Param("req") InventorySumReq req);
InventorySummary EquipmentStatistics(@Param("req") InventorySumReq req);
} }
\ 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.junmp.jyzb.entity.LogDetail; import com.junmp.jyzb.entity.LogDetail;
import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper /**
* @author lxh专属坐骑
* @description 针对表【base_log_detail】的数据库操作Mapper
* @createDate 2023-10-13 08:29:42
* @Entity com.junmp.jyzb.entity.LogDetail
*/
public interface LogDetailMapper extends BaseMapper<LogDetail> { public interface LogDetailMapper extends BaseMapper<LogDetail> {
} }
package com.junmp.jyzb.mapper; package com.junmp.jyzb.mapper;
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.api.bean.query.LogSummaryReq;
import com.junmp.jyzb.entity.LogSummary; import com.junmp.jyzb.entity.LogSummary;
import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
@Mapper /**
* @author lxh专属坐骑
* @description 针对表【base_log_summary】的数据库操作Mapper
* @createDate 2023-10-13 08:29:36
* @Entity com.junmp.jyzb.entity.LogSummary
*/
public interface LogSummaryMapper extends BaseMapper<LogSummary> { public interface LogSummaryMapper extends BaseMapper<LogSummary> {
IPage<LogSummary> ShowInOutRecordsByOrder(Page<LogSummary> page, @Param("req") LogSummaryReq req);
IPage<LogSummary> ShowInOutRecordsByWarehouse(Page<LogSummary> page,@Param("req") LogSummaryReq req);
IPage<LogSummary> ShowInOutRecordsByCabinet(Page<LogSummary> page,@Param("req") LogSummaryReq req);
// IPage<LogSummary> ShowInOutRecordsPage(Page<LogSummary> page,@Param("req") LogSummaryReq req);
// IPage<LogSummary> ShowInOutRecordsByItems(Page<LogSummary> page,@Param("req") LogSummaryReq req);
} }
package com.junmp.jyzb.mapper;
import com.junmp.jyzb.entity.RepairUnit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author lxh专属坐骑
* @description 针对表【base_repair_unit(维修单位表)】的数据库操作Mapper
* @createDate 2023-10-16 09:35:11
* @Entity com.junmp.jyzb.entity.RepairUnit
*/
public interface RepairUnitMapper extends BaseMapper<RepairUnit> {
}
package com.junmp.jyzb.rabbitmq;
import com.junmp.jyzb.api.bean.req.CabinetInOutRecordsReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.service.InventorySummaryService;
import com.rabbitmq.client.Channel;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.messaging.handler.annotation.Header;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.io.IOException;
/**
* 单警柜出入库记录上报并且记录到数据库中
*/
@Component
public class CabinetLogReceiver {
@Resource
private InventorySummaryService inventorySummaryService;
@RabbitListener(queues = "11111")//监听队列名
private void a(CabinetInOutRecordsReq req, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag){
try {
System.out.println("req = " + req);
//将消息进行消费
Boolean result = inventorySummaryService.cabinetInOutRecords(req);
if (result){
// 手动确认消息
channel.basicAck(deliveryTag, false);
}else {
channel.basicNack(deliveryTag, false, true);
}
} catch (Exception e) {
// 处理消息过程中发生异常,拒绝消息并将其重新放回队列
try {
channel.basicNack(deliveryTag, false, true);
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}
}
}
package com.junmp.jyzb.rabbitmq; package com.junmp.jyzb.rabbitmq;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.service.OrderLogService; import com.junmp.jyzb.service.OrderLogService;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitHandler;
...@@ -16,18 +17,14 @@ import java.io.IOException; ...@@ -16,18 +17,14 @@ import java.io.IOException;
* 创建消息接收监听� * 创建消息接收监听�
* */ * */
@Component @Component
@RabbitListener(queues = "Test1Exchange") //监听的队列名 TestDirectQueue @RabbitListener(queues = "1369509498032809902") //监听的队列名 (模拟本地主机接收单据)
public class DirectReceiver { public class DirectReceiver {
@Resource
private OrderLogService orderLogService;
@RabbitHandler @RabbitHandler
private void modelConvert(String content, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) { private void modelConvert(UpdateOrderReq req, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
try { try {
// ObjectMapper objectMapper=new ObjectMapper(); System.out.println("req = " + req);
// OrderLog orderLog = objectMapper.readValue(content, OrderLog.class);
// // 进行消息处理和条件判断
// orderLogService.save(orderLog);
// 手动确认消息 // 手动确认消息
channel.basicAck(deliveryTag, false); channel.basicAck(deliveryTag, false);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -21,19 +21,21 @@ public class OrderMQReceiver { ...@@ -21,19 +21,21 @@ public class OrderMQReceiver {
@Resource @Resource
private InventorySummaryService inventorySummaryService; private InventorySummaryService inventorySummaryService;
@RabbitListener(queues = "11111")//监听队列名 @RabbitListener(queues = "orderResult")//监听队列名
private void a(RabbitMqOrderReq req, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag){ private void a(RabbitMqOrderReq req, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag){
try { try {
//将消息进行消费
System.out.println("req = " + req); System.out.println("req = " + req);
Boolean result = inventorySummaryService.processInventoryRecords(req); //将消息进行消费
if (result){ // Boolean result = inventorySummaryService.processInventoryRecords(req);
// if (result){
// // 手动确认消息
// channel.basicAck(deliveryTag, false);
// }else {
// channel.basicNack(deliveryTag, false, true);
// }
// 手动确认消息 // 手动确认消息
channel.basicAck(deliveryTag, false); channel.basicAck(deliveryTag, false);
}else {
channel.basicNack(deliveryTag, false, true);
}
} catch (Exception e) { } catch (Exception e) {
// 处理消息过程中发生异常,拒绝消息并将其重新放回队列 // 处理消息过程中发生异常,拒绝消息并将其重新放回队列
try { try {
......
package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.req.DestoryUnitReq;
import com.junmp.jyzb.entity.DestoryUnit;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/**
* @author lxh专属坐骑
* @description 针对表【base_destory_unit(报废收物单位表)】的数据库操作Service
* @createDate 2023-10-16 09:35:03
*/
public interface DestoryUnitService extends IService<DestoryUnit> {
String addDestoryUnit(DestoryUnitReq req);
boolean updateDestoryUnit(DestoryUnitReq req);
List<DestoryUnit> showDestoryUnitList(DestoryUnitReq req);
PageResult<DestoryUnit> showDestoryUnitPage(DestoryUnitReq req);
boolean delDestoryUnit(DestoryUnitReq req);
}
...@@ -6,15 +6,14 @@ import com.junmp.jyzb.api.bean.query.*; ...@@ -6,15 +6,14 @@ import com.junmp.jyzb.api.bean.query.*;
import com.junmp.jyzb.api.bean.req.BatchEditingInvsReq; import com.junmp.jyzb.api.bean.req.BatchEditingInvsReq;
import com.junmp.jyzb.api.bean.req.EquipmentBindReq; import com.junmp.jyzb.api.bean.req.EquipmentBindReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.entity.Inventory; import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.entity.LogDetail;
import com.junmp.jyzb.entity.LogSummary;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map;
public interface InventoryService extends IService<Inventory> { public interface InventoryService extends IService<Inventory> {
//根据装备id查询出装备的详细信息 //根据装备id查询出装备的详细信息
...@@ -33,11 +32,7 @@ public interface InventoryService extends IService<Inventory> { ...@@ -33,11 +32,7 @@ public interface InventoryService extends IService<Inventory> {
List<InventoryDto> GetInvInfoByEpc(InventoryReq req); List<InventoryDto> GetInvInfoByEpc(InventoryReq req);
//根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是List)
List<InventoryDto> EqsBySearchType(InventoryReq req);
//根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是page)
PageResult<InventoryDto> EqsByTypePage(InventoryReq req);
//查询箱门(cabinetBox下)所有装备简要信息列表(传递cabinetBoxId) //查询箱门(cabinetBox下)所有装备简要信息列表(传递cabinetBoxId)
List<EqsBriefDto> searchEqsByBoxId(CabinetBoxReq req); List<EqsBriefDto> searchEqsByBoxId(CabinetBoxReq req);
...@@ -71,8 +66,6 @@ public interface InventoryService extends IService<Inventory> { ...@@ -71,8 +66,6 @@ public interface InventoryService extends IService<Inventory> {
//通过组织机构id对该组织机构下的装备进行导出 //通过组织机构id对该组织机构下的装备进行导出
void ExportInventoryExcel(InventoryReq req); void ExportInventoryExcel(InventoryReq req);
//获取装备的出入库记录
List<InOutRecordsDto> getInOutRecords(InventoryReq req);
//通过条件查询装备数量报表 //通过条件查询装备数量报表
List<EqsSumDto> GetListEquipment(InventoryReq req); List<EqsSumDto> GetListEquipment(InventoryReq req);
...@@ -85,4 +78,16 @@ public interface InventoryService extends IService<Inventory> { ...@@ -85,4 +78,16 @@ public interface InventoryService extends IService<Inventory> {
//批量信息修改 //批量信息修改
boolean BatchEditingInvsInfo(BatchEditingInvsReq req); boolean BatchEditingInvsInfo(BatchEditingInvsReq req);
//获取装备的出入库记录(根据装备id获取某件装备的出入库记录信息)
PageResult<LogDetail> getInOutRecords(InventoryReq req);
//根据单据获取出入库记录
PageResult<LogSummary> ShowInOutRecordsByOrder(LogSummaryReq req);
PageResult<LogSummary> ShowInOutRecordsByItems(LogSummaryReq req);
boolean test(RabbitMqOrderReq req);
} }
...@@ -3,6 +3,7 @@ package com.junmp.jyzb.service; ...@@ -3,6 +3,7 @@ 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.InventorySumDto; import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.query.InventorySumReq; import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.req.CabinetInOutRecordsReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq; import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
...@@ -20,4 +21,15 @@ public interface InventorySummaryService extends IService<InventorySummary> { ...@@ -20,4 +21,15 @@ public interface InventorySummaryService extends IService<InventorySummary> {
//处理本地主机返回单据结果 //处理本地主机返回单据结果
Boolean processInventoryRecords(RabbitMqOrderReq req); Boolean processInventoryRecords(RabbitMqOrderReq req);
//对summary表中数据进行重新计算装备信息汇总
Boolean updateSummaryInsByOrder(Long orgId);
//处理单警柜返回单据结果
Boolean cabinetInOutRecords(CabinetInOutRecordsReq req);
//根据组织机构id/单警柜id/仓库id查询出库存汇总数量以及金额
List<InventorySummary> getTotalNumberAndPrice(InventorySumReq req);
//计算装备总数(装备数量数据统计)
List<InventorySummary> EquipmentStatistics(InventorySumReq req);
} }
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.entity.LogDetail; import com.junmp.jyzb.entity.LogDetail;
public interface LogDetailService extends IService<LogDetail> { import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author lxh专属坐骑
* @description 针对表【base_log_detail】的数据库操作Service
* @createDate 2023-10-13 08:29:42
*/
public interface LogDetailService extends IService<LogDetail> {
} }
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.LogSummaryDto;
import com.junmp.jyzb.entity.LogSummary; import com.junmp.jyzb.entity.LogSummary;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; /**
* @author lxh专属坐骑
* @description 针对表【base_log_summary】的数据库操作Service
* @createDate 2023-10-13 08:29:36
*/
public interface LogSummaryService extends IService<LogSummary> { public interface LogSummaryService extends IService<LogSummary> {
//上传出入日志
List<LogSummaryDto> getLogs();
} }
package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.req.RepairUnitReq;
import com.junmp.jyzb.entity.RepairUnit;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/**
* @author lxh专属坐骑
* @description 针对表【base_repair_unit(维修单位表)】的数据库操作Service
* @createDate 2023-10-16 09:35:11
*/
public interface RepairUnitService extends IService<RepairUnit> {
String addRepairUnit(RepairUnitReq req);
boolean updateRepairUnit(RepairUnitReq req);
List<RepairUnit> showRepairUnitList(RepairUnitReq req);
PageResult<RepairUnit> showRepairUnitPage(RepairUnitReq req);
boolean delRepairUnit(RepairUnitReq req);
}
package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
public interface TestService {
Boolean uploadResult(RabbitMqOrderReq req);
}
...@@ -40,7 +40,7 @@ public interface WarehouseService extends IService<Warehouse> { ...@@ -40,7 +40,7 @@ public interface WarehouseService extends IService<Warehouse> {
boolean changeWarehouseState(WarehouseReq req); boolean changeWarehouseState(WarehouseReq req);
List<WarehouseDto> getAllWarehouse(WarehouseReq orgId); List<WarehouseDto> getAllWarehouse(Long orgId);
//通过仓库id 判断仓库是否存在 //通过仓库id 判断仓库是否存在
......
...@@ -22,11 +22,14 @@ import com.junmp.v2.common.util.BeanPlusUtil; ...@@ -22,11 +22,14 @@ 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.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.user.entity.SysUserOrg;
import com.junmp.v2.sys.user.service.SysUserOrgService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -42,6 +45,9 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -42,6 +45,9 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
@Resource @Resource
private IFlowInstanceService FlowInstanceService; private IFlowInstanceService FlowInstanceService;
@Resource
private SysUserOrgService sysUserOrgService;
/** /**
* 创建业务单 * 创建业务单
* @param req * @param req
...@@ -51,12 +57,30 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -51,12 +57,30 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
public String AddBussinessOrder(UpdateBusFormReq req) { public String AddBussinessOrder(UpdateBusFormReq req) {
BusForm busForm = new BusForm(); BusForm busForm = new BusForm();
BeanUtil.copyProperties(req,busForm); BeanUtil.copyProperties(req,busForm);
OrderNum orderNum = stocktakeService.setOrderCode(req.getBussinessType(), req.getOrgId());
if (ObjectUtil.isNull(req.getId())){
String id= UUID.randomUUID().toString();
busForm.setId(id);
//设置单据号(调拨的单号根据和登录人员的组织机构id有关)
//根据userId去查询组织机构id
OrderNum orderNum=new OrderNum();
if (req.getBussinessType().equals("allocate")){
if (req.getStartOrgId() == req.getOrgId()){
orderNum = stocktakeService.setOrderCode(req.getBussinessType(), req.getStartOrgId());
} else {
orderNum = stocktakeService.setOrderCode(req.getBussinessType(), req.getEndOrgId());
}
}else {
orderNum = stocktakeService.setOrderCode(req.getBussinessType(), req.getOrgId());
}
String codeValue=String.format("%04d",orderNum.getNum()); String codeValue=String.format("%04d",orderNum.getNum());
busForm.setBussinessCode(orderNum.getBussinessType()+"-"+orderNum.getYear()+"-"+ busForm.setBussinessCode(orderNum.getBussinessType()+orderNum.getYear()+
LocalDateTime.now().getMonth().getValue()+"-"+LocalDateTime.now().getDayOfMonth()+"-"+codeValue); String.format("%02d",LocalDateTime.now().getMonth().getValue())+
String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
busForm.setCreateTime(DateTimeUtil.getCurrentDateTime()); busForm.setCreateTime(DateTimeUtil.getCurrentDateTime());
save(busForm); }
//执行工作流 //执行工作流
if (req.getExamineState().equals("working")) if (req.getExamineState().equals("working"))
{ {
...@@ -64,9 +88,18 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -64,9 +88,18 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId()); startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
startProcessInstanceDTO.setOrderId(busForm.getId()); startProcessInstanceDTO.setOrderId(busForm.getId());
startProcessInstanceDTO.setOrderType("workOrder"); startProcessInstanceDTO.setOrderType("workOrder");
startProcessInstanceDTO.setUserId(req.getUserId()); startProcessInstanceDTO.setUserId(req.getApplyUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
busForm.setProcessId(ProcessInstanceId); busForm.setProcessId(ProcessInstanceId);
}
if(ObjectUtil.isNotNull(req.getId())){
//已经是一个草稿,在点击提交的时候只需要更新即可,因为数据库中已经存在该单据
updateById(busForm);
}else {
//保存
this.save(busForm);
} }
return busForm.getId(); return busForm.getId();
} }
...@@ -106,8 +139,8 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -106,8 +139,8 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
//单据类型 //单据类型
.eq(ObjectUtil.isNotNull(req.getBussinessType()), BusForm::getBussinessType, req.getBussinessType()) .eq(ObjectUtil.isNotNull(req.getBussinessType()), BusForm::getBussinessType, req.getBussinessType())
//审核状态 //审核状态
.eq(ObjectUtil.isNotNull(req.getExamineState()), BusForm::getExamineState, req.getExamineState()) .eq(ObjectUtil.isNotNull(req.getExamineState()) && !req.getExamineState().trim().isEmpty(), BusForm::getExamineState, req.getExamineState())
// //仓库id
.eq(ObjectUtil.isNotNull(req.getWarehouseId()), BusForm::getWarehouseId, req.getWarehouseId()) .eq(ObjectUtil.isNotNull(req.getWarehouseId()), BusForm::getWarehouseId, req.getWarehouseId())
.eq(ObjectUtil.isNotNull(req.getOrgId()),BusForm::getOrgId,req.getOrgId()) .eq(ObjectUtil.isNotNull(req.getOrgId()),BusForm::getOrgId,req.getOrgId())
.ge(ObjectUtil.isNotNull(req.getStartTime()), BusForm::getCreateTime, req.getStartTime()) .ge(ObjectUtil.isNotNull(req.getStartTime()), BusForm::getCreateTime, req.getStartTime())
......
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
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.req.DestoryUnitReq;
import com.junmp.jyzb.api.bean.req.ManufacturerReq;
import com.junmp.jyzb.api.exception.enums.DestoryUnitExceptionEnum;
import com.junmp.jyzb.api.exception.enums.ManufacturerExceptionEnum;
import com.junmp.jyzb.entity.DestoryUnit;
import com.junmp.jyzb.entity.Manufacturer;
import com.junmp.jyzb.service.DestoryUnitService;
import com.junmp.jyzb.mapper.DestoryUnitMapper;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.v2.common.exception.base.ServiceException;
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.transaction.annotation.Transactional;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @author lxh专属坐骑
* @description 针对表【base_destory_unit(报废收物单位表)】的数据库操作Service实现
* @createDate 2023-10-16 09:35:03
*/
@Service
public class DestoryUnitServiceImpl extends ServiceImpl<DestoryUnitMapper, DestoryUnit>
implements DestoryUnitService{
@Override
public String addDestoryUnit(DestoryUnitReq req) {
//判断是否已经存在短码,如果存在则不再允许添加成功
DestoryUnit one = getOne(new LambdaQueryWrapper<DestoryUnit>().eq(DestoryUnit::getCode, req.getName()));
if (ObjectUtil.isNotNull(one)){
throw new ServiceException(DestoryUnitExceptionEnum.DESTORYUNIT_IS_EXIST);
}
DestoryUnit destoryUnit = new DestoryUnit();
BeanPlusUtil.copyProperties(req,destoryUnit);
destoryUnit.setCreateTime(DateTimeUtil.getCurrentDateTime());
save(destoryUnit);
return destoryUnit.getId();
}
@Override
public boolean updateDestoryUnit(DestoryUnitReq req) {
DestoryUnit destoryUnit = new DestoryUnit();
BeanPlusUtil.copyProperties(req,destoryUnit);
destoryUnit.setUpdateTime(DateTimeUtil.getCurrentDateTime());
return updateById(destoryUnit);
}
@Override
public List<DestoryUnit> showDestoryUnitList(DestoryUnitReq req) {
LambdaQueryWrapper<DestoryUnit> wrapper = createWrapper(req);
return list(wrapper);
}
@Override
public PageResult<DestoryUnit> showDestoryUnitPage(DestoryUnitReq req) {
LambdaQueryWrapper<DestoryUnit> wrapper = createWrapper(req);
Page<DestoryUnit> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean delDestoryUnit(DestoryUnitReq req) {
//抛出异常,销毁、报废单位未选中
if (req.getDeleteList().size()==0){
throw new ServiceException(DestoryUnitExceptionEnum.DESTORYUNIT_NOT_CHOOSE);
}
//查询出全部的销毁、报废单位
Set<String> collect = list().stream().map(DestoryUnit::getId).collect(Collectors.toSet());
Set<String> delList=new HashSet<>(req.getDeleteList());
if (collect.containsAll(delList)){
return removeBatchByIds(req.getDeleteList());
}else {
throw new ServiceException(DestoryUnitExceptionEnum.DESTORYUNIT_NOT_EXIST);
}
}
private LambdaQueryWrapper<DestoryUnit> createWrapper(DestoryUnitReq req){
LambdaQueryWrapper<DestoryUnit> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)){
return wrapper;
}
wrapper.eq(ObjectUtil.isNotNull(req.getId()),DestoryUnit::getId,req.getId());
wrapper.eq(ObjectUtil.isNotNull(req.getState()),DestoryUnit::getState,req.getState());
wrapper.like(ObjectUtil.isNotNull(req.getName()),DestoryUnit::getName,req.getName());
wrapper.like(ObjectUtil.isNotNull(req.getShortName()),DestoryUnit::getShortName,req.getShortName());
wrapper.like(ObjectUtil.isNotNull(req.getContacts()),DestoryUnit::getContacts,req.getContacts());
wrapper.orderByDesc(DestoryUnit::getCreateTime);
return wrapper;
}
}
...@@ -11,12 +11,15 @@ import com.junmp.jyzb.api.bean.dto.*; ...@@ -11,12 +11,15 @@ 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.BatchEditingInvsReq; import com.junmp.jyzb.api.bean.req.BatchEditingInvsReq;
import com.junmp.jyzb.api.bean.req.EquipmentBindReq; import com.junmp.jyzb.api.bean.req.EquipmentBindReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.api.bean.vo.InventoryVo; import com.junmp.jyzb.api.bean.vo.InventoryVo;
import com.junmp.jyzb.api.exception.enums.CabinetBoxExceptionEnum; import com.junmp.jyzb.api.exception.enums.CabinetBoxExceptionEnum;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; 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.mapper.LogSummaryMapper;
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;
...@@ -24,9 +27,17 @@ import com.junmp.v2.common.util.HttpServletUtil; ...@@ -24,9 +27,17 @@ import com.junmp.v2.common.util.HttpServletUtil;
import com.junmp.v2.db.api.factory.PageFactory; 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.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.office.api.OfficeExcelApi; import com.junmp.v2.office.api.OfficeExcelApi;
import com.junmp.v2.office.api.bean.ExcelExportParam; import com.junmp.v2.office.api.bean.ExcelExportParam;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Exchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -82,6 +93,20 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -82,6 +93,20 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Resource @Resource
private InventorySummaryService inventorySummaryService; private InventorySummaryService inventorySummaryService;
@Resource
private LogSummaryMapper logSummaryMapper;
@Resource
private RabbitTemplate rabbitTemplate;
@Resource
private RabbitAdmin rabbitAdmin;
@Resource
private SysDictItemService sysDictItemService;
@Resource
private InventorySummaryMapper inventorySummaryMapper;
//根据装备id查询出装备的详细信息 //根据装备id查询出装备的详细信息
@Override @Override
...@@ -103,35 +128,41 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -103,35 +128,41 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean setInventoryMsg(){ public boolean setInventoryMsg(){
//查询字典表中的临近报废天数
SysDictItem sysDictItem = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, "brokenNumber"));
//如果配置找不到,那就默认设置为15天为临近报废(如果装备的质保期小于15天了,就是为临近报废)
Integer brokenNumberDays;
if (ObjectUtil.isNotNull(sysDictItem)){
brokenNumberDays=15;
}else {
brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue());
}
//先查询inventory_summary表中的物资阈值字段是否为空,如果为空则默认他是默认值,如果不是默认值,将其存储,再重新统计后进行赋值 //先查询inventory_summary表中的物资阈值字段是否为空,如果为空则默认他是默认值,如果不是默认值,将其存储,再重新统计后进行赋值
List<InventorySummary> list = inventorySummaryService.list(new LambdaQueryWrapper<InventorySummary>() // List<InventorySummary> list = inventorySummaryService.list(new LambdaQueryWrapper<InventorySummary>()
.isNotNull(InventorySummary::getThreshold) // .isNotNull(InventorySummary::getThreshold)
.eq(InventorySummary::getLocationType,0)); // .eq(InventorySummary::getLocationType,0));
//清空数据库中已存在的信息 //清空数据库中已存在的信息
inventoryMapper.deleteAllMsg(); inventoryMapper.deleteAllMsg();
//放入单警柜信息汇总 //放入单警柜信息汇总
boolean b = inventoryMapper.SetCabinetInventory(); boolean b = inventoryMapper.SetCabinetInventory(brokenNumberDays);
//放入仓库区域信息汇总 //放入仓库区域信息汇总
boolean b1 = inventoryMapper.SetWarehouseInventory(); boolean b1 = inventoryMapper.SetWarehouseInventory(brokenNumberDays);
boolean b2=true; // boolean b2=true;
if (list.size()>0){ // if (list.size()>0){
for (InventorySummary inventorySummary:list) { // for (InventorySummary inventorySummary:list) {
InventorySummary one = inventorySummaryService.getOne(new LambdaQueryWrapper<InventorySummary>() // InventorySummary one = inventorySummaryService.getOne(new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationId, inventorySummary.getLocationId()) // .eq(InventorySummary::getLocationId, inventorySummary.getLocationId())
.eq(InventorySummary::getLocationType, 0) // .eq(InventorySummary::getLocationType, 0)
.eq(InventorySummary::getSizeId, inventorySummary.getSizeId()) // .eq(InventorySummary::getSizeId, inventorySummary.getSizeId())
.eq(InventorySummary::getTypeId, inventorySummary.getTypeId()) // .eq(InventorySummary::getTypeId, inventorySummary.getTypeId())
.eq(InventorySummary::getOrgId, inventorySummary.getOrgId())); // .eq(InventorySummary::getOrgId, inventorySummary.getOrgId()));
one.setThreshold(inventorySummary.getThreshold()); // one.setThreshold(inventorySummary.getThreshold());
b2 = inventorySummaryService.updateById(one); // b2 = inventorySummaryService.updateById(one);
} // }
} // }
if (b && b1 && b2){ return (b && b1);
return true;
}else{
return false;
}
} }
...@@ -202,47 +233,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -202,47 +233,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
return inventoryDtoList; return inventoryDtoList;
} }
//根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是List)
@Override
public List<InventoryDto> EqsBySearchType(InventoryReq req) {
//判断传入的queryType参数是否是正确的
if (!req.getQueryType().equals("org") && !req.getQueryType().equals("warehouse") && !req.getQueryType().equals("cabinet")){
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
}
//判断如果传递了类别,判断传递的值是否为空或者是否不存在
if (ObjectUtil.isNotNull(req.getOrgId())){
pubOrgService.PubOrgExist(req.getOrgId());
} else if (ObjectUtil.isNotNull(req.getWarehouseId())){
warehouseService.WarehoustExist(req.getWarehouseId());
} else if (ObjectUtil.isNotNull(req.getCabinetId())){
cabinetService.CabinetExist(req.getCabinetId());
}else {
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
}
return inventoryMapper.EqsBySearchType(req);
}
//根据组织机构/单警柜id/仓库id查询每件装备细信的详息(返回结果是page)
public PageResult<InventoryDto> EqsByTypePage(InventoryReq req) {
//判断传入的queryType参数是否是正确的
if (!req.getQueryType().equals("org") && !req.getQueryType().equals("warehouse") && !req.getQueryType().equals("cabinet")){
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
}
//判断如果传递了类别,判断传递的值是否为空或者是否不存在
if (ObjectUtil.isNotNull(req.getOrgId())){
pubOrgService.PubOrgExist(req.getOrgId());
} else if (ObjectUtil.isNotNull(req.getWarehouseId())){
warehouseService.WarehoustExist(req.getWarehouseId());
} else if (ObjectUtil.isNotNull(req.getCabinetId())){
cabinetService.CabinetExist(req.getCabinetId());
}else {
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
}
Page<InventoryDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
IPage<InventoryDto> pages= inventoryMapper.EqsByTypePage(page,req.getQueryType(),req.getOrgId(),req.getWarehouseId(),req.getCabinetId());
page.setRecords(pages.getRecords());
return PageResultFactory.createPageResult(page);
}
//查询箱门(cabinetBox下)所有装备简要信息列表(传递cabinetBoxId) //查询箱门(cabinetBox下)所有装备简要信息列表(传递cabinetBoxId)
@Override @Override
...@@ -307,7 +297,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -307,7 +297,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
return PageResultFactory.createPageResult(page1); return PageResultFactory.createPageResult(page1);
} }
//根据条件查询仓库下的所有装备信息 //根据条件查询仓库/单警柜下的所有装备信息
@Override @Override
public PageResult<InventoryDto> GetDetailByTerms(InventoryReq req) { public PageResult<InventoryDto> GetDetailByTerms(InventoryReq req) {
//判断组织机构是否存在 //判断组织机构是否存在
...@@ -315,15 +305,20 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -315,15 +305,20 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
//根据条件查询仓库下的所有装备 //根据条件查询仓库下的所有装备
LambdaQueryWrapper<Inventory> eq = new LambdaQueryWrapper<Inventory>() LambdaQueryWrapper<Inventory> eq = new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getOrgId, req.getOrgId()) .eq(Inventory::getOrgId, req.getOrgId())
.eq(Inventory::getLocationType, 0) .eq(ObjectUtil.isNotNull(req.getLocationType()),Inventory::getLocationType, req.getLocationType())
.eq(ObjectUtil.isNotNull(req.getLocationId()) && !req.getLocationId().trim().isEmpty(), Inventory::getLocationId, req.getLocationId())
.eq(ObjectUtil.isNotNull(req.getLocationState()) && !req.getLocationState().trim().isEmpty(), Inventory::getLocationState, req.getLocationState()) .eq(ObjectUtil.isNotNull(req.getLocationState()) && !req.getLocationState().trim().isEmpty(), Inventory::getLocationState, req.getLocationState())
.eq(ObjectUtil.isNotNull(req.getBussinessState()) && !req.getBussinessState().trim().isEmpty(), Inventory::getBussinessState, req.getBussinessState()) .eq(ObjectUtil.isNotNull(req.getBussinessState()) && !req.getBussinessState().trim().isEmpty(), Inventory::getBussinessState, req.getBussinessState())
.eq(ObjectUtil.isNotNull(req.getTermState()), Inventory::getTermState, req.getTermState()) .eq(ObjectUtil.isNotNull(req.getTermState()), Inventory::getTermState, req.getTermState())
.eq(ObjectUtil.isNotNull(req.getSizeId()) && !req.getSizeId().trim().isEmpty(),Inventory::getSizeId,req.getSizeId()) .eq(ObjectUtil.isNotNull(req.getSizeId()) && !req.getSizeId().trim().isEmpty(),Inventory::getSizeId,req.getSizeId())
.eq(ObjectUtil.isNotNull(req.getTypeId()) && !req.getTypeId().trim().isEmpty(),Inventory::getTypeId,req.getTypeId()) .eq(ObjectUtil.isNotNull(req.getTypeId()) && !req.getTypeId().trim().isEmpty(),Inventory::getTypeId,req.getTypeId())
.eq(ObjectUtil.isNotNull(req.getPrice()),Inventory::getPrice,req.getPrice()); .eq(ObjectUtil.isNotNull(req.getPrice()),Inventory::getPrice,req.getPrice());
if (req.getLocationType().equals("0")){
eq.eq(ObjectUtil.isNotNull(req.getLocationId()) && !req.getLocationId().trim().isEmpty(), Inventory::getLocationId, req.getLocationId());
}else {
List<CabinetBox> list = cabinetBoxService.list(new LambdaQueryWrapper<CabinetBox>().eq(CabinetBox::getCabinetId, req.getLocationId()));
Set<String> cabinetList=list.stream().map(CabinetBox::getId).collect(Collectors.toSet());
eq.in(Inventory::getLocationId,cabinetList);
}
long size = list(eq).size(); long size = list(eq).size();
Page<Inventory> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq); Page<Inventory> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
List<Inventory> records = page.getRecords(); List<Inventory> records = page.getRecords();
...@@ -396,7 +391,18 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -396,7 +391,18 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
} }
//修改库存信息汇总 //修改库存信息汇总
@Transactional(rollbackFor = Exception.class)
public boolean setInventorySummary(BatchEditingInvsReq req){ public boolean setInventorySummary(BatchEditingInvsReq req){
//查询字典表中的临近报废天数
SysDictItem sysDictItem = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, "brokenNumber"));
//如果配置找不到,那就默认设置为15天为临近报废(如果装备的质保期小于15天了,就是为临近报废)
Integer brokenNumberDays;
if (ObjectUtil.isNotNull(sysDictItem)){
brokenNumberDays=15;
}else {
brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue());
}
//先将其删除再全部重新添加计算 //先将其删除再全部重新添加计算
List<InventorySummary> list = inventorySummaryService.list(new LambdaQueryWrapper<InventorySummary>() List<InventorySummary> list = inventorySummaryService.list(new LambdaQueryWrapper<InventorySummary>()
.eq(ObjectUtil.isNotNull(req.getOrgId()),InventorySummary::getOrgId,req.getOrgId()) .eq(ObjectUtil.isNotNull(req.getOrgId()),InventorySummary::getOrgId,req.getOrgId())
...@@ -404,7 +410,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -404,7 +410,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
.eq(ObjectUtil.isNotNull(req.getSizeId()),InventorySummary::getSizeId,req.getSizeId()) .eq(ObjectUtil.isNotNull(req.getSizeId()),InventorySummary::getSizeId,req.getSizeId())
.eq(ObjectUtil.isNotNull(req.getTypeId()),InventorySummary::getTypeId,req.getTypeId())); .eq(ObjectUtil.isNotNull(req.getTypeId()),InventorySummary::getTypeId,req.getTypeId()));
boolean b = inventorySummaryService.removeBatchByIds(list); boolean b = inventorySummaryService.removeBatchByIds(list);
boolean a = inventoryMapper.insertInventorySummary(req); boolean a = inventoryMapper.insertInventorySummary(req,brokenNumberDays);
return (a && b); return (a && b);
} }
...@@ -553,22 +559,53 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -553,22 +559,53 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
officeExcelApi.easyExportDownload(param); officeExcelApi.easyExportDownload(param);
} }
//获取装备的出入库信息
//根据单据查询出入库记录
@Override @Override
public List<InOutRecordsDto> getInOutRecords(InventoryReq req) { public PageResult<LogSummary> ShowInOutRecordsByOrder(LogSummaryReq req) {
//通过装备id获取出入库记录(判断id是否存在) Page<LogSummary> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
InventoryExist(req.getId()); IPage<LogSummary> ipage=logSummaryMapper.ShowInOutRecordsByOrder(page,req);
List<LogSummary> logSummaryList=new ArrayList<>();
ipage.getRecords().forEach(logSummary -> {
List<LogDetail> list = logDetailService.list(new LambdaQueryWrapper<LogDetail>() List<LogDetail> list = logDetailService.list(new LambdaQueryWrapper<LogDetail>()
.eq(LogDetail::getInventoryId, req.getId())); .eq(LogDetail::getSummaryId, logSummary.getId()));
List<InOutRecordsDto> inOutRecordsDtoList=new ArrayList<>(); logSummary.setLogDetailList(list);
for (LogDetail logDetail: list) { logSummaryList.add(logSummary);
//获取 });
LogSummary logSummary = logSummaryService.getById(logDetail.getSummaryId()); page.setRecords(logSummaryList);
InOutRecordsDto inOutRecordsDto = new InOutRecordsDto(); return PageResultFactory.createPageResult(page);
BeanPlusUtil.copyProperties(logSummary,inOutRecordsDto);
inOutRecordsDtoList.add(inOutRecordsDto);
} }
return inOutRecordsDtoList;
//根据条件查询出入库记录
@Override
public PageResult<LogSummary> ShowInOutRecordsByItems(LogSummaryReq req) {
Page<LogSummary> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
List<LogSummary> logSummaryList=new ArrayList<>();
IPage<LogSummary> ipage;
if (req.getLocationType()==0){
ipage = logSummaryMapper.ShowInOutRecordsByWarehouse(page, req);
}else {
ipage=logSummaryMapper.ShowInOutRecordsByCabinet(page,req);
}
ipage.getRecords().forEach(logSummary -> {
List<LogDetail> list = logDetailService.list(new LambdaQueryWrapper<LogDetail>()
.eq(LogDetail::getSummaryId, logSummary.getId()));
logSummary.setLogDetailList(list);
logSummaryList.add(logSummary);
});
page.setRecords(logSummaryList);
return PageResultFactory.createPageResult(page);
}
//获取装备的出入库信息(根据装备id获取该装备的出入库记录)
@Override
public PageResult<LogDetail> getInOutRecords(InventoryReq req) {
//通过装备id获取出入库记录(判断id是否存在)
InventoryExist(req.getId());
LambdaQueryWrapper<LogDetail> eq = new LambdaQueryWrapper<LogDetail>().eq(LogDetail::getInventoryId,req.getId());
Page<LogDetail> page = logDetailService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
return PageResultFactory.createPageResult(page);
} }
//查询装备数量报表 //查询装备数量报表
...@@ -622,4 +659,28 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -622,4 +659,28 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
return wrapper; return wrapper;
} }
@Override
public boolean test(RabbitMqOrderReq req) {
String exchangeName="hahaha";
//需要判断是入库单还是出库单,入库单传收物单位id,出库单传发物单位id
if(req.getOrderMainReq().getOrderType().equals("in")){
org.springframework.amqp.core.Queue queue=new org.springframework.amqp.core.Queue( "11111",true,false,false);
Exchange exchange = new DirectExchange(exchangeName, true, false);
rabbitAdmin.declareQueue(queue);
rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getOrderMainReq().getEndOrgId().toString()).noargs());
rabbitTemplate.convertAndSend(exchangeName, req.getOrderMainReq().getEndOrgId().toString(), req);
}else {
org.springframework.amqp.core.Queue queue = new Queue("11111", true, false, false);
Exchange exchange = new DirectExchange(exchangeName, true, false);
rabbitAdmin.declareQueue(queue);
rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getOrderMainReq().getStartOrgId().toString()).noargs());
rabbitTemplate.convertAndSend(exchangeName, req.getOrderMainReq().getStartOrgId().toString(), req);
}
return true;
}
} }
\ No newline at end of file
...@@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.InventorySumDto; import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.WarehouseDto;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.InventorySumReq; import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.req.CabinetInOutRecordsReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq; import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.entity.*; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.service.*; import com.junmp.jyzb.service.*;
...@@ -13,12 +16,18 @@ import com.junmp.v2.common.util.BeanPlusUtil; ...@@ -13,12 +16,18 @@ 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.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.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService;
import liquibase.pro.packaged.L;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.junmp.jyzb.mapper.InventorySummaryMapper; import com.junmp.jyzb.mapper.InventorySummaryMapper;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
...@@ -39,6 +48,25 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -39,6 +48,25 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
@Resource @Resource
private EquipmentSizeService equipmentSizeService; private EquipmentSizeService equipmentSizeService;
@Resource
private OrderDetailService orderDetailService;
@Resource
private WarehouseService warehouseService;
@Resource
private LogSummaryService logSummaryService;
@Resource
private LogDetailService logDetailService;
@Resource
private CabinetBoxService cabinetBoxService;
@Resource
private SysDictItemService sysDictItemService;
//根据条件查询库存汇总信息 //根据条件查询库存汇总信息
@Override @Override
public PageResult<InventorySummary> getEquipmentInfo(InventorySumReq req) { public PageResult<InventorySummary> getEquipmentInfo(InventorySumReq req) {
...@@ -47,6 +75,14 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -47,6 +75,14 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
if (ObjectUtil.isNotNull(req.getOrgId())){ if (ObjectUtil.isNotNull(req.getOrgId())){
pubOrgService.PubOrgExist(req.getOrgId()); pubOrgService.PubOrgExist(req.getOrgId());
} }
//(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
(req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
ObjectUtil.isNotNull(req.getOrder()) && !req.getOrder().trim().isEmpty()) {
//修改字段,和数据库字段进行统一
req.setColumn(req.getColumn().replaceAll("[A-Z]", "_$0").toLowerCase());
req.setOrder(req.getOrder().toLowerCase());
}
LambdaQueryWrapper<InventorySummary> wp = createWrapper(req);//取出仓库中总数并计算 LambdaQueryWrapper<InventorySummary> wp = createWrapper(req);//取出仓库中总数并计算
long size = list(wp).size(); long size = list(wp).size();
Page<InventorySummary> sumList= this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),wp); Page<InventorySummary> sumList= this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),wp);
...@@ -57,6 +93,9 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -57,6 +93,9 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
.eq(Inventory::getOrgId, data.getOrgId()) .eq(Inventory::getOrgId, data.getOrgId())
.eq(Inventory::getSizeId, data.getSizeId()) .eq(Inventory::getSizeId, data.getSizeId())
.eq(Inventory::getTypeId, data.getTypeId())).get(0); .eq(Inventory::getTypeId, data.getTypeId())).get(0);
String instructions = equipmentSizeService.getOne(new LambdaQueryWrapper<EquipmentSize>()
.eq(EquipmentSize::getId, data.getSizeId())).getInstructions();
data.setInstructions(instructions);
data.setWarrantyPeriod(inventory.getWarrantyPeriod()); data.setWarrantyPeriod(inventory.getWarrantyPeriod());
data.setMaintenancePeriod(inventory.getMaintenancePeriod()); data.setMaintenancePeriod(inventory.getMaintenancePeriod());
String photo = equipmentSizeService.getOne(new LambdaQueryWrapper<EquipmentSize>().eq(EquipmentSize::getId,inventory.getSizeId())).getPhoto(); String photo = equipmentSizeService.getOne(new LambdaQueryWrapper<EquipmentSize>().eq(EquipmentSize::getId,inventory.getSizeId())).getPhoto();
...@@ -81,16 +120,241 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -81,16 +120,241 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
//处理本地主机返回单据结果 //处理本地主机返回单据结果
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Boolean processInventoryRecords(RabbitMqOrderReq req) { public Boolean processInventoryRecords(RabbitMqOrderReq req) {
//将主单据信息复制进行更新 //将主单据信息复制进行更新
OrderMain orderMain = new OrderMain(); OrderMain orderMain = new OrderMain();
BeanPlusUtil.copyProperties(req.getOrderMainReq(),orderMain); BeanPlusUtil.copyProperties(req.getOrderMainReq(),orderMain);
orderMainService.updateById(orderMain);
//将子单据信息复制进行更新 //将子单据信息复制进行更新
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
BeanPlusUtil.copyProperties(req.getOrderDetailReq(),orderDetail); BeanPlusUtil.copyProperties(req.getOrderDetailReq(),orderDetail);
orderDetailService.updateById(orderDetail);
////对装备表进行更新或者添加
//新增列表
List<Inventory> addList = new ArrayList<>();
//更新列表
List<Inventory> updateList = new ArrayList<>();
//出库out,入库in
String orderType=orderMain.getOrderType();
//组织机构
Long orgId;
if (orderType.equals("in")){
orgId=orderMain.getEndOrgId();
}else {
orgId=orderMain.getStartOrgId();
}
//将具体Epc进行处理(判断装备是否具有id,如果没有id表示新增一条数据在数据库中--采购)
req.getInventoryReqList().forEach(inventoryReq -> {
Inventory inventory = new Inventory();
BeanPlusUtil.copyProperties(inventoryReq,inventory);
inventory.setOrgId(orgId);
//新增装备
if (ObjectUtil.isNull(inventory.getId())){
//修改状态
inventory.setId(UUID.randomUUID().toString());
inventory.setLocationState(orderMain.getOrderType());
inventory.setBussinessState("normal");
inventory.setState("normal");
addList.add(inventory);
}else {
//修改状态
inventory.setLocationState(orderMain.getOrderType());
//修改业务状态
if (orderType.equals("in")){
inventory.setBussinessState("normal");
inventory.setState("normal");
}else if (orderType.equals("out") && orderMain.getBussinessType().equals("repair")){
inventory.setBussinessState(orderMain.getBussinessType());
inventory.setState("fix");
}else if (orderType.equals("out") && orderMain.getBussinessType().equals("remove")){
inventory.setBussinessState(orderMain.getBussinessType());
inventory.setState("destory");
}else {
inventory.setBussinessState(orderMain.getBussinessType());
inventory.setState("normal");
}
updateList.add(inventory);
}
});
boolean b=false;
if (ObjectUtil.isNotNull(addList) && addList.size()>0){
b = inventoryService.saveBatch(addList);
}
if (ObjectUtil.isNotNull(updateList) && updateList.size()>0){
b = inventoryService.updateBatchById(updateList);
}
//对装备进行记录,存入log表形成出入库记录
Boolean c = insertLog(req,orderMain,addList,updateList);
Boolean d = updateSummaryInsByOrder(orgId);
return (b && c && d );
}
//对装备进行记录,存入log表形成出入库记录
@Transactional(rollbackFor = Exception.class)
public Boolean insertLog(RabbitMqOrderReq req,OrderMain orderMain,List<Inventory> addList,List<Inventory> updateList ){
//插入log_summary
LogSummary logSummary = new LogSummary();
logSummary.setDevice(req.getDevice());
logSummary.setDeviceType(req.getDeviceType());
logSummary.setLocationType(0);
logSummary.setUserName(req.getUserName());
logSummary.setUseTime(req.getUseTime());
if (orderMain.getOrderType().equals("in")){
logSummary.setOutInState("in");
logSummary.setOrgId(orderMain.getEndOrgId());
logSummary.setOrgName(orderMain.getEndOrgName());
}else {
logSummary.setOutInState("out");
logSummary.setOrgId(orderMain.getStartOrgId());
logSummary.setOrgName(orderMain.getStartOrgName());
}
logSummary.setOrderMainId(orderMain.getId());
logSummary.setOrderCode(orderMain.getOrderCode());
logSummary.setBussinessType(orderMain.getBussinessType());
boolean a = logSummaryService.save(logSummary);
//存入log_detail表中
List<LogDetail> logDetailList=new ArrayList<>();
//判断是哪个列表不为空,进行出入库记录
if (addList.size()!=0 && ObjectUtil.isNotNull(addList)){
for (Inventory inventory:addList) {
LogDetail logDetail = new LogDetail();
BeanPlusUtil.copyProperties(inventory,logDetail);
logDetail.setInventoryId(inventory.getId());
logDetail.setBussinessType(orderMain.getBussinessType());
logDetail.setOutInState(orderMain.getOrderType());
logDetail.setOrderCode(orderMain.getOrderCode());
logDetail.setSummaryId(logSummary.getId());
logDetail.setOrderMainId(orderMain.getId());
logDetail.setErrorState(0);
logDetailList.add(logDetail);
}
}
if (updateList.size()!=0 && ObjectUtil.isNotNull(updateList)){
for (Inventory inventory:updateList) {
LogDetail logDetail = new LogDetail();
BeanPlusUtil.copyProperties(inventory,logDetail);
logDetail.setOutInState(orderMain.getOrderType());
logDetail.setSummaryId(logSummary.getId());
logDetail.setOrderMainId(orderMain.getId());
logDetailList.add(logDetail);
}
}
boolean b = logDetailService.saveBatch(logDetailList);
return (a && b);
}
//对summary表中数据进行重新计算装备信息汇总
public Boolean updateSummaryInsByOrder(Long orgId){
//查询字典表中的临近报废天数
SysDictItem sysDictItem = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, "brokenNumber"));
//如果配置找不到,那就默认设置为15天为临近报废(如果装备的质保期小于15天了,就是为临近报废)
Integer brokenNumberDays;
if (ObjectUtil.isNotNull(sysDictItem)){
brokenNumberDays=15;
}else {
brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue());
}
//查询出组织机构下的所有仓库信息,并且将表中的仓库信息数据进行删除
List<WarehouseDto> allWarehouse = warehouseService.getAllWarehouse(orgId);
boolean a = inventorySummaryMapper.deleteByWarehouse(allWarehouse);
//根据仓库id重新计算汇总信息
boolean sumByWarehouse = inventorySummaryMapper.getSumByWarehouse(allWarehouse, brokenNumberDays);
return (a && sumByWarehouse);
}
//单警柜返回数据
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean cabinetInOutRecords(CabinetInOutRecordsReq req) {
//批量修改装备信息
List<InventoryReq> inventoryList = req.getInventoryList();
boolean a=true;
List<Inventory> inventoryLogsList=new ArrayList<>();
for (InventoryReq inventoryReq:inventoryList) {
Inventory inventory = new Inventory();
BeanPlusUtil.copyProperties(inventoryReq,inventory);
boolean result = inventoryService.saveOrUpdate(inventory);
inventoryLogsList.add(inventory);
if (!result){
a=false;
break;
}
}
//修改summary表中数据
boolean b = updateSummaryInsByCabinet(req.getLocationId());
//添加日志记录、
Boolean c = insertCabinetLog(req,inventoryLogsList);
return (a && b && c);
}
return null;
public boolean updateSummaryInsByCabinet(String locationId){
//查询字典表中的临近报废天数
SysDictItem sysDictItem = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, "brokenNumber"));
//如果配置找不到,那就默认设置为15天为临近报废(如果装备的质保期小于15天了,就是为临近报废)
Integer brokenNumberDays;
if (ObjectUtil.isNotNull(sysDictItem)){
brokenNumberDays=15;
}else {
brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue());
}
//根据箱门id查询出单警柜信息
CabinetBox cabinetBox = cabinetBoxService.getById(locationId);
//删除inventorysummary表中该单警柜数据
boolean a = inventorySummaryMapper.deleteByCabinet(cabinetBox.getCabinetId());
//重新计算该单警柜下面的装备信息
boolean b = inventorySummaryMapper.getSumByCabinet(cabinetBox.getCabinetId(),brokenNumberDays);
return (a && b);
}
//添加单警柜出入库记录日志
public Boolean insertCabinetLog(CabinetInOutRecordsReq req,List<Inventory> inventoryLogsList){
LogSummary logSummary = new LogSummary();
BeanPlusUtil.copyProperties(req,logSummary);
logSummary.setLocationType(1);
boolean a = logSummaryService.save(logSummary);
List<LogDetail> logDetailList=new ArrayList<>();
for (Inventory inventory:inventoryLogsList) {
LogDetail logDetail = new LogDetail();
BeanPlusUtil.copyProperties(inventory,logDetail);
logDetail.setInventoryId(inventory.getId());
logDetail.setCabinetboxId(req.getLocationId());
logDetail.setOutInState(inventory.getLocationState());
logDetail.setSummaryId(logSummary.getId());
logDetailList.add(logDetail);
}
boolean b = logDetailService.saveBatch(logDetailList);
return (a && b);
}
//根据组织机构id/单警柜id/仓库id查询出库存汇总数量以及金额
@Override
public List<InventorySummary> getTotalNumberAndPrice(InventorySumReq req) {
List<InventorySummary> list=new ArrayList<>();
InventorySummary totalNumberAndPrice = inventorySummaryMapper.getTotalNumberAndPrice(req);
if (ObjectUtil.isNotNull(totalNumberAndPrice)){
list.add(totalNumberAndPrice);
}
return list;
}
//计算装备总数(装备数量数据统计)
@Override
public List<InventorySummary> EquipmentStatistics(InventorySumReq req) {
List<InventorySummary> inventorySummaryList=new ArrayList<>();
InventorySummary inventorySummary = inventorySummaryMapper.EquipmentStatistics(req);
if (ObjectUtil.isNotNull(inventorySummary)){
inventorySummaryList.add(inventorySummary);
}
return inventorySummaryList;
} }
private LambdaQueryWrapper<InventorySummary> createWrapper(InventorySumReq req) { private LambdaQueryWrapper<InventorySummary> createWrapper(InventorySumReq req) {
...@@ -98,12 +362,95 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -98,12 +362,95 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
if (ObjectUtil.isEmpty(req)) { if (ObjectUtil.isEmpty(req)) {
return wrapper; return wrapper;
} }
/**
* 判断是否有高级搜索,如果有则进行添加查询条件
*/
if (ObjectUtil.isNotNull(req.getNumber())){
//将值进行切割,> = <并将其判断为哪个符号,如果为>则使用ge,=为eq,<为le
String symbol = req.getNumber().substring(0, 1);
String value = req.getNumber().substring(1);
if (symbol.equals(">")){
wrapper.gt(InventorySummary::getNumber,value);
} else if (symbol.equals("=")) {
wrapper.eq(InventorySummary::getNumber,value);
}else if (symbol.equals("<")){
wrapper.lt(InventorySummary::getNumber,value);
}
}
if (ObjectUtil.isNotNull(req.getStockNumber())){
String symbol = req.getStockNumber().substring(0, 1);
String value = req.getStockNumber().substring(1);
if (symbol.equals(">")){
wrapper.gt(InventorySummary::getStockNumber,value);
} else if (symbol.equals("=")) {
wrapper.eq(InventorySummary::getStockNumber,value);
}else if (symbol.equals("<")){
wrapper.lt(InventorySummary::getStockNumber,value);
}
}
if (ObjectUtil.isNotNull(req.getOutboundNumber())){
String symbol = req.getOutboundNumber().substring(0, 1);
String value = req.getOutboundNumber().substring(1);
if (symbol.equals(">")){
wrapper.gt(InventorySummary::getOutboundNumber,value);
} else if (symbol.equals("=")) {
wrapper.eq(InventorySummary::getOutboundNumber,value);
}else if (symbol.equals("<")){
wrapper.lt(InventorySummary::getOutboundNumber,value);
}
}
if (ObjectUtil.isNotNull(req.getExpireNumber())){
String symbol = req.getExpireNumber().substring(0, 1);
String value = req.getExpireNumber().substring(1);
if (symbol.equals(">")){
wrapper.gt(InventorySummary::getExpireNumber,value);
} else if (symbol.equals("=")) {
wrapper.eq(InventorySummary::getExpireNumber,value);
}else if (symbol.equals("<")){
wrapper.lt(InventorySummary::getExpireNumber,value);
}
}
if (ObjectUtil.isNotNull(req.getBrokenNumber())){
String symbol = req.getBrokenNumber().substring(0, 1);
String value = req.getBrokenNumber().substring(1);
if (symbol.equals(">")){
wrapper.gt(InventorySummary::getBrokenNumber,value);
} else if (symbol.equals("=")) {
wrapper.eq(InventorySummary::getBrokenNumber,value);
}else if (symbol.equals("<")){
wrapper.lt(InventorySummary::getBrokenNumber,value);
}
}
if (ObjectUtil.isNotNull(req.getUnitPrice())){
String symbol = req.getUnitPrice().substring(0, 1);
String value = req.getUnitPrice().substring(1);
if (symbol.equals(">")){
wrapper.gt(InventorySummary::getUnitPrice,value);
} else if (symbol.equals("=")) {
wrapper.eq(InventorySummary::getUnitPrice,value);
}else if (symbol.equals("<")){
wrapper.lt(InventorySummary::getUnitPrice,value);
}
}
if (ObjectUtil.isNotNull(req.getPrice())){
String symbol = req.getPrice().substring(0, 1);
String value = req.getPrice().substring(1);
if (symbol.equals(">")){
wrapper.gt(InventorySummary::getPrice,value);
} else if (symbol.equals("=")) {
wrapper.eq(InventorySummary::getPrice,value);
}else if (symbol.equals("<")){
wrapper.lt(InventorySummary::getPrice,value);
}
}
//根据组织机构号查询 //根据组织机构号查询
wrapper.eq(ObjectUtil.isNotEmpty(req.getOrgId()), InventorySummary::getOrgId, req.getOrgId()); wrapper.eq(ObjectUtil.isNotEmpty(req.getOrgId()), InventorySummary::getOrgId, req.getOrgId());
//根据组织机构名模糊查询 //根据组织机构名模糊查询
wrapper.like(ObjectUtil.isNotEmpty(req.getOrgName()), InventorySummary::getOrgName, req.getOrgName()); wrapper.like(ObjectUtil.isNotEmpty(req.getOrgName()), InventorySummary::getOrgName, req.getOrgName());
//位置id(单警柜/仓库) //位置id(单警柜/仓库)
wrapper.eq(ObjectUtil.isNotEmpty(req.getLocationId()), InventorySummary::getLocationId, req.getLocationId()); wrapper.eq(ObjectUtil.isNotEmpty(req.getLocationId()), InventorySummary::getLocationId, req.getLocationId());
//位置类型
wrapper.eq(ObjectUtil.isNotEmpty(req.getLocationType()),InventorySummary::getLocationType,req.getLocationType());
//位置信息 //位置信息
wrapper.like(ObjectUtil.isNotEmpty(req.getLocationName()), InventorySummary::getLocationName, req.getLocationName()); wrapper.like(ObjectUtil.isNotEmpty(req.getLocationName()), InventorySummary::getLocationName, req.getLocationName());
//装备类别名称 //装备类别名称
...@@ -114,8 +461,7 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -114,8 +461,7 @@ 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::getTypeId); wrapper.last("order by " + req.getColumn() + " " + req.getOrder());
wrapper.orderByDesc(InventorySummary::getSizeId);
return wrapper; return wrapper;
} }
......
...@@ -3,14 +3,20 @@ package com.junmp.jyzb.service.impl; ...@@ -3,14 +3,20 @@ 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.entity.LogDetail; import com.junmp.jyzb.entity.LogDetail;
import com.junmp.jyzb.service.LogDetailService; import com.junmp.jyzb.service.LogDetailService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import com.junmp.jyzb.mapper.LogDetailMapper; import com.junmp.jyzb.mapper.LogDetailMapper;
import org.springframework.stereotype.Service;
/**
* @author lxh专属坐骑
* @description 针对表【base_log_detail】的数据库操作Service实现
* @createDate 2023-10-13 08:29:42
*/
@Service @Service
public class LogDetailServiceImpl extends ServiceImpl<LogDetailMapper, LogDetail> implements LogDetailService { public class LogDetailServiceImpl extends ServiceImpl<LogDetailMapper, LogDetail>
implements LogDetailService{
@Resource
private LogDetailMapper logDetailMapper;
} }
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.LogDetailDto;
import com.junmp.jyzb.api.bean.dto.LogSummaryDto;
import com.junmp.jyzb.entity.LogDetail;
import com.junmp.jyzb.entity.LogSummary; import com.junmp.jyzb.entity.LogSummary;
import com.junmp.jyzb.mapper.LogSummaryMapper;
import com.junmp.jyzb.service.LogDetailService;
import com.junmp.jyzb.service.LogSummaryService; import com.junmp.jyzb.service.LogSummaryService;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.jyzb.mapper.LogSummaryMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @author lxh专属坐骑
* @description 针对表【base_log_summary】的数据库操作Service实现
* @createDate 2023-10-13 08:29:36
*/
@Service @Service
public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSummary> implements LogSummaryService { public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSummary>
@Resource implements LogSummaryService{
private LogDetailService logDetailService;
@Override
public List<LogSummaryDto> getLogs() {
List<LogSummary> list = list(new LambdaQueryWrapper<LogSummary>().orderByDesc(LogSummary::getCreateTime));
List<LogSummaryDto> logSummaryDtoList=new ArrayList<>();
List<LogDetailDto> logDetailDtoList=new ArrayList<>();
for (LogSummary logSummary:list) {
LogSummaryDto logSummaryDto = new LogSummaryDto();
BeanPlusUtil.copyProperties(logSummary,logSummaryDto);
List<LogDetail> list1 = logDetailService.list(new LambdaQueryWrapper<LogDetail>()
.eq(LogDetail::getSummaryId, logSummary.getId()));
for (LogDetail logDetail:list1) {
LogDetailDto logDetailDto = new LogDetailDto();
BeanPlusUtil.copyProperties(logDetail,logDetailDto);
logDetailDtoList.add(logDetailDto);
}
logSummaryDto.setEquipmentList(logDetailDtoList);
logSummaryDtoList.add(logSummaryDto);
}
return logSummaryDtoList;
}
} }
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.service.LogSummaryService;
import com.junmp.jyzb.service.MQProductService; import com.junmp.jyzb.service.MQProductService;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PostMapping;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
......
...@@ -35,7 +35,8 @@ public class ManufacturerServiceImpl extends ServiceImpl<ManufacturerMapper, Man ...@@ -35,7 +35,8 @@ public class ManufacturerServiceImpl extends ServiceImpl<ManufacturerMapper, Man
@Override @Override
public String addManufacturer(ManufacturerReq req) { public String addManufacturer(ManufacturerReq req) {
Manufacturer one = getOne(new LambdaQueryWrapper<Manufacturer>().eq(Manufacturer::getName, req.getName())); //判断是否已经存在生产厂商短码,如果存在则不再允许添加成功
Manufacturer one = getOne(new LambdaQueryWrapper<Manufacturer>().eq(Manufacturer::getCode, req.getName()));
if (ObjectUtil.isNotNull(one)){ if (ObjectUtil.isNotNull(one)){
throw new ServiceException(ManufacturerExceptionEnum.MANUTACTURER_IS_EXIST); throw new ServiceException(ManufacturerExceptionEnum.MANUTACTURER_IS_EXIST);
} }
......
...@@ -43,6 +43,7 @@ import org.springframework.stereotype.Service; ...@@ -43,6 +43,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.management.remote.rmi._RMIConnection_Stub;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -87,22 +88,103 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -87,22 +88,103 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//新增任务单 //新增任务单
// @Transactional(rollbackFor = Exception.class)
// @Override
// public List<String> AddOrder(UpdateOrderReq req) {
// //先判断该单据是否存在,如果存在,进行更新操作即可
//
// List<String> list=new ArrayList<>();
// OrderMain order = new OrderMain();
// BeanPlusUtil.copyProperties(req, order);
// //设置单据单号
// if (ObjectUtil.isNull(order.getOrderCode())){
// OrderNum orderNum = setOrderCode(req);
// String codeValue=String.format("%04d",orderNum.getNum());
// order.setOrderCode(orderNum.getBussinessType()+orderNum.getYear()+
// String.format("%02d",LocalDateTime.now().getMonth().getValue())+String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
// }
// //设置总价格和应出入库数量
// //设置id
// String id=UUID.randomUUID().toString();
// order.setId(id);
// Integer sumNum=0;
// BigDecimal priceTotal=new BigDecimal(0);
// List<OrderDetail> detailList = new ArrayList<>();
// //通过遍历批量保存详细信息
// for (UpdateOrderDetailReq listReq:req.getDetailList()) {
// OrderDetail detail=new OrderDetail();
// BeanPlusUtil.copyProperties(listReq, detail);
// detail.setOrderId(order.getId());
// //设置单据类型
// detail.setType(order.getOrderType());
// //将数量和价格进行累加
// sumNum += detail.getPlanNum();
// priceTotal = priceTotal.add(BigDecimal.valueOf(detail.getPlanNum()).multiply(detail.getPrice())) ;
// detail.setCreateTime(DateTimeUtil.getCurrentDateTime());
// detailList.add(detail);
// }
// if (ObjectUtil.isNotNull(req.getId())){
// //删除子单据
// orderDetailService.remove(new LambdaQueryWrapper<OrderDetail>()
// .eq(ObjectUtil.isNotNull(req.getId()),OrderDetail::getOrderId,req.getId()));
// }
// orderDetailService.saveBatch(detailList);
// //设置总价格和总数量
// order.setPrice(priceTotal);
// order.setInventoryQuantity(sumNum);
// order.setCreateTime(DateTimeUtil.getCurrentDateTime());
// //执行工作流
//
// if (req.getExamineState().equals("working"))
// {
// StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
// startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
// startProcessInstanceDTO.setOrderId(id);
// startProcessInstanceDTO.setOrderType("workOrder");
// startProcessInstanceDTO.setUserId(req.getUserId());
// String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
// order.setProcessId(ProcessInstanceId);
// //保存
// this.save(order);
// }
// if (req.getExamineState().equals("none")){//如果是草稿
// if(ObjectUtil.isNotNull(req.getId())){
// //已经是一个草稿,在点击提交的时候只需要更新即可,因为数据库中已经存在该单据
// updateById(order);
// }else {
// //保存
// this.save(order);
// }
// }
// list.add(order.getId());
// for (OrderDetail orderDetail:detailList) {
// list.add(Long.toString(orderDetail.getId()));
// }
// return list;
// }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public List<String> AddOrder(UpdateOrderReq req) { public List<String> AddOrder(UpdateOrderReq req) {
//存放主单据和子单据,便于返回
List<String> list=new ArrayList<>();
OrderMain order = new OrderMain(); OrderMain order = new OrderMain();
BeanPlusUtil.copyProperties(req, order); BeanPlusUtil.copyProperties(req, order);
//先判断该单据id是否存在,如果存在,进行更新操作即可
if (ObjectUtil.isNotNull(req.getId())){
//删除子单据
orderDetailService.remove(new LambdaQueryWrapper<OrderDetail>()
.eq(ObjectUtil.isNotNull(req.getId()),OrderDetail::getOrderId,req.getId()));
}else {
//设置id
String id=UUID.randomUUID().toString();
order.setId(id);
//设置单据单号 //设置单据单号
OrderNum orderNum = setOrderCode(req); OrderNum orderNum = setOrderCode(req);
String codeValue=String.format("%04d",orderNum.getNum()); String codeValue=String.format("%04d",orderNum.getNum());
order.setOrderCode(orderNum.getBussinessType()+"-"+orderNum.getYear()+"-"+ order.setOrderCode(orderNum.getBussinessType()+orderNum.getYear()+
LocalDateTime.now().getMonth().getValue()+"-"+LocalDateTime.now().getDayOfMonth()+"-"+codeValue); String.format("%02d",LocalDateTime.now().getMonth().getValue())+
String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
}
//设置总价格和应出入库数量 //设置总价格和应出入库数量
//设置id
String id=UUID.randomUUID().toString();
order.setId(id);
Integer sumNum=0; Integer sumNum=0;
BigDecimal priceTotal=new BigDecimal(0); BigDecimal priceTotal=new BigDecimal(0);
List<OrderDetail> detailList = new ArrayList<>(); List<OrderDetail> detailList = new ArrayList<>();
...@@ -119,26 +201,31 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -119,26 +201,31 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
detail.setCreateTime(DateTimeUtil.getCurrentDateTime()); detail.setCreateTime(DateTimeUtil.getCurrentDateTime());
detailList.add(detail); detailList.add(detail);
} }
orderDetailService.saveBatch(detailList);
//设置总价格和总数量
order.setPrice(priceTotal);
order.setInventoryQuantity(sumNum);
order.setCreateTime(DateTimeUtil.getCurrentDateTime());
//执行工作流 //执行工作流
if (req.getExamineState().equals("working")) if (req.getExamineState().equals("working"))
{ {
StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO(); StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId()); startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
startProcessInstanceDTO.setOrderId(id); startProcessInstanceDTO.setOrderId(order.getId());
startProcessInstanceDTO.setOrderType("workOrder"); startProcessInstanceDTO.setOrderType("workOrder");
startProcessInstanceDTO.setUserId(req.getUserId()); startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
order.setProcessId(ProcessInstanceId); order.setProcessId(ProcessInstanceId);
}
orderDetailService.saveBatch(detailList); }
//设置总价格和总数量 if (ObjectUtil.isNotNull(req.getId())){
order.setPrice(priceTotal); updateById(order);
order.setInventoryQuantity(sumNum); }else {
order.setCreateTime(DateTimeUtil.getCurrentDateTime());
//保存 //保存
this.save(order); this.save(order);
}
//list返回数据
List<String> list=new ArrayList<>();
list.add(order.getId()); list.add(order.getId());
for (OrderDetail orderDetail:detailList) { for (OrderDetail orderDetail:detailList) {
list.add(Long.toString(orderDetail.getId())); list.add(Long.toString(orderDetail.getId()));
...@@ -197,7 +284,13 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -197,7 +284,13 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
public String AddFinishOrder(UpdateOrderReq req) { public String AddFinishOrder(UpdateOrderReq req) {
//添加到数据库中 //添加到数据库中
String orderId = AddOrder(req).get(0); List<String> strings = AddOrder(req);
req.setId(strings.get(0));
List<UpdateOrderDetailReq> detailList = req.getDetailList();
//将子单据id传递
for (int i=1;i<strings.size();i++){
detailList.get(i-1).setId(Long.parseLong(strings.get(i)));
}
//将完成的任务单直接推送到消息队列rabbitmq中(需要判断是入库单还是出库单,入库单传发物单位id,出库单传收物单位id) //将完成的任务单直接推送到消息队列rabbitmq中(需要判断是入库单还是出库单,入库单传发物单位id,出库单传收物单位id)
//方法1:一个交换机,一个队列。通过中间对象,object存储对象,type表标识 //方法1:一个交换机,一个队列。通过中间对象,object存储对象,type表标识
// if(req.getOrderType().equals("in")){ // if(req.getOrderType().equals("in")){
...@@ -223,7 +316,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -223,7 +316,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getStartOrgId().toString()).noargs()); rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getStartOrgId().toString()).noargs());
rabbitTemplate.convertAndSend(exchangeName, req.getStartOrgId().toString(), req); rabbitTemplate.convertAndSend(exchangeName, req.getStartOrgId().toString(), req);
} }
return orderId; return strings.get(0);
} }
...@@ -236,71 +329,28 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -236,71 +329,28 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
{ {
throw new ServiceException(OrderExceptionEnum.ORDER_CAN_NOT_UPDATE); throw new ServiceException(OrderExceptionEnum.ORDER_CAN_NOT_UPDATE);
} }
List<OrderDetail> list= orderDetailService.QueryList(req.getId()); //(直接删除并重新插入数据)----------------------------------------------
//idSet中存放的是存在数据库中的任务单中的orderDetail中的id(原始的工作单中的数据id) orderDetailService.remove(new LambdaQueryWrapper<OrderDetail>().eq(OrderDetail::getOrderId, req.getId()));
Set<Long> idSet =new HashSet<>(); Integer sumNum=0;
for (OrderDetail orderDetail:list){ BigDecimal priceTotal=new BigDecimal(0);
idSet.add(orderDetail.getId()); List<OrderDetail> detailList = new ArrayList<>();
} for (UpdateOrderDetailReq listReq:req.getDetailList()) {
//将该任务单的所有id转换为String,并添加到updateList中,用来判断删除或者修改新增的是否存在
//判断删除列表是否为空,如果不为空则进行批量删除
if (ObjectUtil.isNotNull(req.getDeleteList())&& ObjectUtil.isNotEmpty(req.getDeleteList())) {
//判断传递的list Id是否存在,如果不存在则抛出异常
for (Long s:req.getDeleteList()){
if (idSet.contains(s)){
//将要删除的装备价格和数据进行查询出来,并别对任务单的总数量和总价格进行更改
OrderDetail one = orderDetailService.getOne(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getOrderId, s));
order.setPrice(order.getPrice().subtract(one.getPrice().multiply(BigDecimal.valueOf(one.getPlanNum()))));
order.setInventoryQuantity(order.getInventoryQuantity() - one.getPlanNum());
}else {
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
}
}
orderDetailService.removeBatchByIds(req.getDeleteList());
}
//方法1(分为两步进行操作)--------------------------------------------------
//对detaillist进行处理
List<OrderDetail> addList = new ArrayList<>();//新增的
List<OrderDetail> updateList = new ArrayList<>();//更新
for (UpdateOrderDetailReq updateOrderDetailReq :req.getDetailList()) {
//判断是否存在,存在则进行修改
if (idSet.contains(updateOrderDetailReq.getId())){
OrderDetail one = orderDetailService.getOne(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getId, updateOrderDetailReq.getId()));
BeanPlusUtil.copyProperties(updateOrderDetailReq,one);
one.setType(req.getOrderType());
//判断数量和价格是否有变动,如果有变动,则将order的总价和总数量进行更新操作,否则不变
if (one.getPlanNum().equals(updateOrderDetailReq.getPlanNum()) && one.getPrice().compareTo(updateOrderDetailReq.getPrice())!=0){
order.setPrice(order.getPrice().subtract(one.getPrice().multiply(BigDecimal.valueOf(one.getPlanNum())))
.add(updateOrderDetailReq.getPrice().multiply(BigDecimal.valueOf(updateOrderDetailReq.getPlanNum()))));
order.setInventoryQuantity(order.getInventoryQuantity() - one.getPlanNum()+ updateOrderDetailReq.getPlanNum());
}
one.setUpdateTime(DateTimeUtil.getCurrentDateTime());
updateList.add(one);
}else {
//否则判断id是否为空或者错误,如果为空则添加,不为空则抛出异常
if (ObjectUtil.isNull(updateOrderDetailReq.getId()) || ObjectUtil.isEmpty(updateOrderDetailReq.getId())){
OrderDetail detail=new OrderDetail(); OrderDetail detail=new OrderDetail();
BeanPlusUtil.copyProperties(updateOrderDetailReq, detail); BeanPlusUtil.copyProperties(listReq, detail);
detail.setOrderId(req.getId()); detail.setOrderId(order.getId());
detail.setType(req.getOrderType()); //设置单据类型
//将数量和价格进行相加处理 detail.setType(order.getOrderType());
order.setPrice(order.getPrice().add(updateOrderDetailReq.getPrice().multiply(BigDecimal.valueOf(updateOrderDetailReq.getPlanNum())))); //将数量和价格进行累加
order.setInventoryQuantity(order.getInventoryQuantity() + updateOrderDetailReq.getPlanNum()); sumNum += detail.getPlanNum();
detail.setUpdateTime(DateTimeUtil.getCurrentDateTime()); priceTotal = priceTotal.add(BigDecimal.valueOf(detail.getPlanNum()).multiply(detail.getPrice())) ;
addList.add(detail); detail.setCreateTime(DateTimeUtil.getCurrentDateTime());
}else { detailList.add(detail);
throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
}
}
} }
orderDetailService.updateBatchById(updateList); orderDetailService.saveBatch(detailList);
orderDetailService.saveBatch(addList); //设置总价格和总数量
BeanPlusUtil.copyProperties(req,order); order.setPrice(priceTotal);
// 方法2(直接删除并重新插入数据)未写---------------------------------------------- order.setInventoryQuantity(sumNum);
order.setCreateTime(DateTimeUtil.getCurrentDateTime());
return this.updateById(order); return this.updateById(order);
} }
//更新任务单(进入工作流中之后不能进行更改) //更新任务单(进入工作流中之后不能进行更改)
...@@ -380,6 +430,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -380,6 +430,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for (OrderDetail orderDetail:list) { for (OrderDetail orderDetail:list) {
OrderDetailDto orderDetailDto = new OrderDetailDto(); OrderDetailDto orderDetailDto = new OrderDetailDto();
BeanPlusUtil.copyProperties(orderDetail,orderDetailDto); BeanPlusUtil.copyProperties(orderDetail,orderDetailDto);
if (orderMain.getOrderType().equals("out")){
InventorySummary one = inventorySummaryService.getOne(new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationId, orderDetail.getWarehouseId())
.eq(InventorySummary::getSizeId, orderDetail.getSizeId())
.eq(InventorySummary::getTypeId, orderDetail.getTypeId())
.eq(InventorySummary::getUnitPrice, orderDetail.getPrice()));
orderDetailDto.setStockNumber(one.getStockNumber());
}
orderDetailDtoList.add(orderDetailDto); orderDetailDtoList.add(orderDetailDto);
} }
orderDto.setDetailList(orderDetailDtoList); orderDto.setDetailList(orderDetailDtoList);
...@@ -448,8 +506,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -448,8 +506,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for (UpdateOrderDetailReq uploadDetailReq : reqList) { for (UpdateOrderDetailReq uploadDetailReq : reqList) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
BeanPlusUtil.copyProperties(uploadDetailReq,orderDetail); BeanPlusUtil.copyProperties(uploadDetailReq,orderDetail);
//获取修改后的数量并且记录(如果modifyQuantity不为空则表示该子单据进行了修改) //获取修改后的数量并且记录(如果modifyQuantity不为空并且于实际入库数量不一致则表示该子单据进行了修改)
if (ObjectUtil.isNotNull(uploadDetailReq.getModifyQuantity())){ if (ObjectUtil.isNotNull(uploadDetailReq.getModifyQuantity()) && uploadDetailReq.getModifyQuantity() != uploadDetailReq.getActualNum()){
String log = "将"+uploadDetailReq.getTypeName()+":"+ String log = "将"+uploadDetailReq.getTypeName()+":"+
uploadDetailReq.getSizeName()+"的物资数量从"+uploadDetailReq.getActualNum()+"修改为"+uploadDetailReq.getModifyQuantity()+";"; uploadDetailReq.getSizeName()+"的物资数量从"+uploadDetailReq.getActualNum()+"修改为"+uploadDetailReq.getModifyQuantity()+";";
stringBuilder.append(log); stringBuilder.append(log);
...@@ -491,16 +549,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -491,16 +549,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
updateSummaryInfo(req,orderDetailReqList,orgId); updateSummaryInfo(req,orderDetailReqList,orgId);
//修改仓库表中的数量汇总信息(warehouse) //修改仓库表中的数量汇总信息(warehouse)
updateWarehouseInfo(req,orderDetailReqList,orgId); // updateWarehouseInfo(req,orderDetailReqList,orgId);
//更新主单据的数量和价格 //更新主单据的数量和价格
//记账直接将单子结束
//修改记账状态,0未记账,1已记账
orderMain.setActualQuantity(updateQuantity); orderMain.setActualQuantity(updateQuantity);
orderMain.setPrice(priceTotal); orderMain.setPrice(priceTotal);
orderMain.setOrderState("finished"); orderMain.setOrderState("finished");
orderMain.setManualState(1); //修改记账状态,0未记账,1已记账
// orderMain.setManualState(1);
orderMain.setUpdateTime(DateTimeUtil.getCurrentDateTime()); orderMain.setUpdateTime(DateTimeUtil.getCurrentDateTime());
//如果是领用出库,那记账结束以后将装备挂到警员名下(存储到policemanEquipment表中)
//更新主单据 //更新主单据
return updateById(orderMain); return updateById(orderMain);
} }
...@@ -604,7 +664,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -604,7 +664,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Override @Override
public void InOrderExport(OrderMainReq req) { public void InOrderExport(OrderMainReq req) {
LambdaQueryWrapper<OrderMain> wrapper = createWrapper(req); LambdaQueryWrapper<OrderMain> wrapper = createWrapper(req);
System.out.println("list(wrapper).size() = " + list(wrapper).size());
List<InOrderInfo> collect = list(wrapper).stream().map(orderMain -> { List<InOrderInfo> collect = list(wrapper).stream().map(orderMain -> {
InOrderInfo inOrderInfo = new InOrderInfo(); InOrderInfo inOrderInfo = new InOrderInfo();
BeanPlusUtil.copyProperties(orderMain, inOrderInfo); BeanPlusUtil.copyProperties(orderMain, inOrderInfo);
...@@ -628,8 +687,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -628,8 +687,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for (int i = 1; i <= collect.size() ; i++) { for (int i = 1; i <= collect.size() ; i++) {
collect.get(i-1).setNumId(i); collect.get(i-1).setNumId(i);
} }
System.out.println("collect.size() = " + collect.size());
System.out.println("collect = " + collect);
HttpServletResponse response = HttpServletUtil.getResponse(); HttpServletResponse response = HttpServletUtil.getResponse();
ExcelExportParam param = new ExcelExportParam(); ExcelExportParam param = new ExcelExportParam();
param.setDataList(collect); param.setDataList(collect);
......
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
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.req.DestoryUnitReq;
import com.junmp.jyzb.api.bean.req.RepairUnitReq;
import com.junmp.jyzb.api.exception.enums.DestoryUnitExceptionEnum;
import com.junmp.jyzb.api.exception.enums.RepairUnitExceptionEnum;
import com.junmp.jyzb.entity.DestoryUnit;
import com.junmp.jyzb.entity.RepairUnit;
import com.junmp.jyzb.service.RepairUnitService;
import com.junmp.jyzb.mapper.RepairUnitMapper;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.v2.common.exception.base.ServiceException;
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.transaction.annotation.Transactional;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @author lxh专属坐骑
* @description 针对表【base_repair_unit(维修单位表)】的数据库操作Service实现
* @createDate 2023-10-16 09:35:11
*/
@Service
public class RepairUnitServiceImpl extends ServiceImpl<RepairUnitMapper, RepairUnit>
implements RepairUnitService{
@Override
public String addRepairUnit(RepairUnitReq req) {
//判断是否已经存在短码,如果存在则不再允许添加成功
RepairUnit one = getOne(new LambdaQueryWrapper<RepairUnit>().eq(RepairUnit::getCode, req.getName()));
if (ObjectUtil.isNotNull(one)){
throw new ServiceException(RepairUnitExceptionEnum.REPAIRUNIT_IS_EXIST);
}
RepairUnit repairUnit = new RepairUnit();
BeanPlusUtil.copyProperties(req,repairUnit);
repairUnit.setCreateTime(DateTimeUtil.getCurrentDateTime());
save(repairUnit);
return repairUnit.getId();
}
@Override
public boolean updateRepairUnit(RepairUnitReq req) {
RepairUnit repairUnit = new RepairUnit();
BeanPlusUtil.copyProperties(req,repairUnit);
repairUnit.setUpdateTime(DateTimeUtil.getCurrentDateTime());
return updateById(repairUnit);
}
@Override
public List<RepairUnit> showRepairUnitList(RepairUnitReq req) {
LambdaQueryWrapper<RepairUnit> wrapper = createWrapper(req);
return list(wrapper);
}
@Override
public PageResult<RepairUnit> showRepairUnitPage(RepairUnitReq req) {
LambdaQueryWrapper<RepairUnit> wrapper = createWrapper(req);
Page<RepairUnit> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean delRepairUnit(RepairUnitReq req) {
//抛出异常,销毁、报废单位未选中
if (req.getDeleteList().size()==0){
throw new ServiceException(RepairUnitExceptionEnum.REPAIRUNIT_NOT_CHOOSE);
}
//查询出全部的销毁、报废单位
Set<String> collect = list().stream().map(RepairUnit::getId).collect(Collectors.toSet());
Set<String> delList=new HashSet<>(req.getDeleteList());
if (collect.containsAll(delList)){
return removeBatchByIds(req.getDeleteList());
}else {
throw new ServiceException(RepairUnitExceptionEnum.REPAIRUNIT_NOT_EXIST);
}
}
private LambdaQueryWrapper<RepairUnit> createWrapper(RepairUnitReq req){
LambdaQueryWrapper<RepairUnit> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)){
return wrapper;
}
wrapper.eq(ObjectUtil.isNotNull(req.getId()),RepairUnit::getId,req.getId());
wrapper.eq(ObjectUtil.isNotNull(req.getState()),RepairUnit::getState,req.getState());
wrapper.like(ObjectUtil.isNotNull(req.getName()),RepairUnit::getName,req.getName());
wrapper.like(ObjectUtil.isNotNull(req.getShortName()),RepairUnit::getShortName,req.getShortName());
wrapper.like(ObjectUtil.isNotNull(req.getContacts()),RepairUnit::getContacts,req.getContacts());
wrapper.orderByDesc(RepairUnit::getCreateTime);
return wrapper;
}
}
...@@ -55,13 +55,16 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake ...@@ -55,13 +55,16 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
Stocktake stocktake = new Stocktake(); Stocktake stocktake = new Stocktake();
BeanPlusUtil.copyProperties(req,stocktake); BeanPlusUtil.copyProperties(req,stocktake);
//设置单号 //设置单号
if (ObjectUtil.isNull(stocktake.getOrderCode())){
OrderNum orderNum = setOrderCode(req.getBussinessType(),req.getOrgId()); OrderNum orderNum = setOrderCode(req.getBussinessType(),req.getOrgId());
String codeValue=String.format("%04d",orderNum.getNum()); String codeValue=String.format("%04d",orderNum.getNum());
stocktake.setOrderCode(orderNum.getBussinessType()+"-"+orderNum.getYear()+"-"+ stocktake.setOrderCode(orderNum.getBussinessType()+orderNum.getYear()+
LocalDateTime.now().getMonth().getValue()+"-"+LocalDateTime.now().getDayOfMonth()+"-"+codeValue); String.format("%02d",LocalDateTime.now().getMonth().getValue())+
String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
}
stocktake.setCreateTime(DateTimeUtil.getCurrentDateTime()); stocktake.setCreateTime(DateTimeUtil.getCurrentDateTime());
stocktake.setApplyTime(DateTimeUtil.getCurrentDateTime()); stocktake.setApplyTime(DateTimeUtil.getCurrentDateTime());
this.save(stocktake);
//执行工作流 //执行工作流
if (req.getExamineState().equals("working")) if (req.getExamineState().equals("working"))
{ {
...@@ -73,6 +76,7 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake ...@@ -73,6 +76,7 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
stocktake.setProcessId(ProcessInstanceId); stocktake.setProcessId(ProcessInstanceId);
} }
this.save(stocktake);
return stocktake.getId(); return stocktake.getId();
} }
......
package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.service.TestService;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Exchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class TestServiceImpl implements TestService {
@Resource
private RabbitTemplate rabbitTemplate;
@Resource
private RabbitAdmin rabbitAdmin;
@Override
public Boolean uploadResult(RabbitMqOrderReq req) {
String exchangeName="OrderResultExchange";
Queue queue=new Queue( "orderResult",true,false,false);
Exchange exchange = new DirectExchange(exchangeName, true, false);
rabbitAdmin.declareQueue(queue);
rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with("123456").noargs());
rabbitTemplate.convertAndSend(exchangeName,"123456", req);
return true;
}
}
...@@ -88,15 +88,15 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse> ...@@ -88,15 +88,15 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
@Override @Override
public List<WarehouseDto> getAllWarehouse(WarehouseReq msg) { public List<WarehouseDto> getAllWarehouse(Long orgId) {
List<WarehouseDto> warehouseDtoList=new ArrayList<>(); List<WarehouseDto> warehouseDtoList=new ArrayList<>();
//判断组织机构是否存在 //判断组织机构是否存在
PubOrg pubOrg = pubOrgService.PubOrgExist(msg.getOrgId()); PubOrg pubOrg = pubOrgService.PubOrgExist(orgId);
//根据组织机构id查询组织机构名称 //根据组织机构id查询组织机构名称
String orgName = pubOrg.getOrgName(); String orgName = pubOrg.getOrgName();
List<Warehouse> list = list(new LambdaQueryWrapper<Warehouse>() List<Warehouse> list = list(new LambdaQueryWrapper<Warehouse>()
.eq(Warehouse::getOrgId, msg.getOrgId())); .eq(Warehouse::getOrgId, orgId));
for (Warehouse warehouse:list) { for (Warehouse warehouse:list) {
WarehouseDto warehouseDto = new WarehouseDto(); WarehouseDto warehouseDto = new WarehouseDto();
BeanPlusUtil.copyProperties(warehouse,warehouseDto); BeanPlusUtil.copyProperties(warehouse,warehouseDto);
......
<?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.DestoryUnitMapper">
<resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.DestoryUnit">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="code" column="code" jdbcType="VARCHAR"/>
<result property="shortName" column="short_name" jdbcType="VARCHAR"/>
<result property="contacts" column="contacts" jdbcType="VARCHAR"/>
<result property="phone" column="phone" jdbcType="VARCHAR"/>
<result property="state" column="state" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,name,code,
short_name,contacts,phone,
state,create_time,create_user,
update_time,update_user
</sql>
</mapper>
...@@ -77,28 +77,37 @@ delete from base_inventory_summary ...@@ -77,28 +77,37 @@ delete from base_inventory_summary
<insert id="SetCabinetInventory"> <insert id="SetCabinetInventory">
INSERT INTO base_inventory_summary (id,org_id_int,org_name,type_id, type_name,size_id,size_name,location_id,location_name,number,unit_price,price,stock_number, outbound_number,destruction_number,expire_number,location_type,create_time,update_time) INSERT INTO base_inventory_summary (id,org_id_int,org_name,type_id, type_name,size_id,size_name,location_id,location_name,
number,unit_price,price,stock_number, outbound_number,destruction_number,expire_number,
broken_number,use_number,near_broken_number,location_type,create_time,update_time)
select select
MAX(t.id) as id,t.orgId,t.orgName,t.type_id,t.typeName,t.size_id,t.sizeName,t.locationId,t.locationName,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.expireNumber)as expireNumber,t.location_type,NOW(),NOW() MAX(t.id) as id,t.orgId,t.orgName,t.type_id,t.typeName,t.size_id,t.sizeName,t.locationId,t.locationName,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.expireNumber)as expireNumber,sum(t.brokenNumber)as brokenNumber,
sum(t.useNumber)as useNumber,sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
FROM FROM
(SELECT (SELECT
UUID() as id, UUID() as id,
bi.org_id_int as orgId, bi.org_id_int as orgId,
po.org_name as orgName, po.org_name as orgName,
bcb.cabinet_id as locationId, bcb.cabinet_id as locationId,
bi.location_id as locationBoxId,
bc.name as locationName, bc.name as locationName,
bi.type_id, bi.type_id,
t.name as typeName, t.name as typeName,
bi.size_id, bi.size_id,
s.name as sizeName, s.name as sizeName,
count(*) as number, SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END)+SUM(CASE WHEN location_state = 'out' and bi.state!='destory' THEN 1 ELSE 0 END) as number,
Max(bi.price) as unitPrice, bi.price as unitPrice,
sum(bi.price) as price, sum(bi.price) as price,
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS stockNumber, SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS stockNumber,
count(*) - SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS outboundNumber, SUM(CASE WHEN location_state = 'out' and bi.state!='destory' THEN 1 ELSE 0 END) AS outboundNumber,
sum(case when bi.state = 'destory' then 1 else 0 end) as destructionNumber, sum(case when bi.state = 'destory' then 1 else 0 end) as destructionNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW() then 1 else 0 end )as expireNumber, sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &gt; NOW() then 1 else 0 end )as expireNumber,
sum(case when bi.state ='broken' and bi.location_state='in' then 1 else 0 end)as brokenNumber,
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
bi.location_type bi.location_type
FROM base_inventory bi FROM base_inventory bi
join base_cabinet_box bcb on bi.location_id = bcb.id join base_cabinet_box bcb on bi.location_id = bcb.id
...@@ -107,33 +116,43 @@ delete from base_inventory_summary ...@@ -107,33 +116,43 @@ delete from base_inventory_summary
join base_equipment_size s on s.id = bi.size_id join base_equipment_size s on s.id = bi.size_id
join pub_org po on bi.org_id_int = po.org_id join pub_org po on bi.org_id_int = po.org_id
WHERE location_type = 1 WHERE location_type = 1
GROUP BY location_id, type_id,size_id,bi.org_id_int,bi.price ) as t GROUP BY bi.org_id_int, bcb.cabinet_id, type_id,size_id,bi.price
GROUP BY t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice order by po.org_name,bc.name ) as t
GROUP BY t.orgName,t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice
</insert> </insert>
<insert id="SetWarehouseInventory"> <insert id="SetWarehouseInventory">
INSERT INTO base_inventory_summary (id,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,create_time,update_time) INSERT INTO base_inventory_summary (id,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,broken_number,use_number,near_broken_number,location_type,create_time,update_time)
select 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,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,t.location_type,NOW(),NOW() MAX(t.id) as id,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.brokenNumber)as brokenNumber,sum(t.useNumber)as useNumber,
sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
FROM FROM
(SELECT (SELECT
UUID() as id, UUID() as id,
bi.org_id_int as orgId, bi.org_id_int as orgId,
po.org_name as orgName, po.org_name as orgName,
MAX(bi.location_id) as locationId, bi.location_id as locationId,
MAX(bw.name) as locationName, bw.name as locationName,
bi.type_id, bi.type_id,
t.name as typeName, t.name as typeName,
bi.size_id, bi.size_id,
s.name as sizeName, s.name as sizeName,
count(*) as number, SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END)+SUM(CASE WHEN location_state = 'out' and bi.state!='destory' THEN 1 ELSE 0 END) as number,
Max(bi.price) as unitPrice, bi.price as unitPrice,
sum(bi.price) as price, sum(bi.price) as price,
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS stockNumber, SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS stockNumber,
count(*) - SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS outboundNumber, SUM(CASE WHEN location_state = 'out' and bi.state!='destory' THEN 1 ELSE 0 END) AS outboundNumber,
sum(case when bi.state = 'destory' then 1 else 0 end) as destructionNumber, sum(case when bi.state = 'destory' then 1 else 0 end) as destructionNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW() then 1 sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &gt; NOW() then 1 else 0 end )as expireNumber,
else 0 end )as expireNumber, sum(case when bi.state ='broken' and bi.location_state='in' then 1 else 0 end)as brokenNumber,
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
bi.location_type bi.location_type
FROM base_inventory bi FROM base_inventory bi
join base_warehouse bw on bi.location_id = bw.id join base_warehouse bw on bi.location_id = bw.id
...@@ -141,13 +160,19 @@ delete from base_inventory_summary ...@@ -141,13 +160,19 @@ delete from base_inventory_summary
join base_equipment_size s on s.id = bi.size_id join base_equipment_size s on s.id = bi.size_id
join pub_org po on bi.org_id_int = po.org_id join pub_org po on bi.org_id_int = po.org_id
WHERE location_type = 0 WHERE location_type = 0
GROUP BY type_id,size_id,bi.org_id_int,location_id,bi.price) as t GROUP BY type_id,size_id,bi.org_id_int,location_id,bi.price
order by po.org_name,bw.name) as t
GROUP BY t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice GROUP BY t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice
</insert> </insert>
<insert id="insertInventorySummary"> <insert id="insertInventorySummary">
INSERT INTO base_inventory_summary (id,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,create_time,update_time) INSERT INTO base_inventory_summary (id,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 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,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,t.location_type,NOW(),NOW() MAX(t.id) as id,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()
FROM FROM
(SELECT (SELECT
UUID() as id, UUID() as id,
...@@ -165,8 +190,12 @@ delete from base_inventory_summary ...@@ -165,8 +190,12 @@ delete from base_inventory_summary
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS stockNumber, SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS stockNumber,
count(*) - SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS outboundNumber, count(*) - SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS outboundNumber,
sum(case when bi.state = 'destory' then 1 else 0 end) as destructionNumber, sum(case when bi.state = 'destory' then 1 else 0 end) as destructionNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW() then 1 sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &gt; NOW() then 1
else 0 end )as expireNumber, else 0 end )as expireNumber,
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
bi.location_type bi.location_type
FROM base_inventory bi FROM base_inventory bi
join base_warehouse bw on bi.location_id = bw.id join base_warehouse bw on bi.location_id = bw.id
...@@ -191,62 +220,10 @@ delete from base_inventory_summary ...@@ -191,62 +220,10 @@ delete from base_inventory_summary
</insert> </insert>
<select id="EqsBySearchType" resultType="com.junmp.jyzb.api.bean.dto.InventoryDto">
select
i.id as id,
i.package_id as package_id,
i.epc as epc,
i.size_id as sizeId,
es.name as sizeName,
i.type_id as typeId,
et.name as typeName,
i.supplier_id as supplierId,
s.name as supplierName,
i.state as state,
i.location_state as locationState,
i.production_date as productionDate,
i.location_type as locationType,
<if test="queryType=='warehouse'">
i.location_id as locationId,
</if>
<if test="queryType=='cabinet'">
(select id from base_cabinet where id =#{cabinetId}) as locationId,
</if>
i.price as price,
i.shelf_id as shelfId,
i.shelf_location as shelfLocation,
i.bussiness_state as bussinessState,
i.warranty_period as warrantyPeriod,
i.maintenance_period as maintenancePeriod,
i.tid as tid,
i.note as note,
i.fix_count as fixCount,
i.lost_flag as lostFlag,
i.create_time as createTime,
i.update_time as updateTime,
i.update_user as updateUser,
i.create_user as create_user,
i.org_id_int as orgId,
po.org_name as orgName
from base_inventory i
join base_equipment_type et on et.id = i.type_id
join base_equipment_size es on es.id = i.size_id
join base_supplier s on s.id = i.supplier_id
join pub_org po on i.org_id_int=po.org_id
<if test="queryType == 'org'">
where org_id_int = #{orgId}
</if>
<if test="queryType == 'warehouse' ">
where location_id = #{warehouseId}
</if>
<if test="queryType == 'cabinet'">
where location_id in (select id from base_cabinet_box where cabinet_id =#{cabinetId})
</if>
ORDER BY i.type_id,i.size_id
</select>
<select id="getSumByShelf" resultType="com.junmp.jyzb.entity.InventorySummary" <select id="getSumByShelf" resultType="com.junmp.jyzb.entity.InventorySummary"
parameterType="java.lang.String"> parameterType="java.lang.String">
select t.id,t.orgId,t.orgName,t.locationId,t.locationName,t.shelf_id,t.type_id,t.typeName,t.size_id,t.sizeName,t.number,t.price,t.stockNumber,t.outboundNumber,t.location_type select t.id,t.orgId,t.orgName,t.locationId,t.locationName,t.shelf_id,t.type_id,t.typeName,t.size_id,t.sizeName,
t.number,t.price,t.stockNumber,t.outboundNumber,t.location_type
FROM FROM
(SELECT (SELECT
UUID() as id, UUID() as id,
...@@ -402,59 +379,7 @@ delete from base_inventory_summary ...@@ -402,59 +379,7 @@ delete from base_inventory_summary
join pub_org po on i.org_id_int=po.org_id join pub_org po on i.org_id_int=po.org_id
where org_id_int=#{orgId} where org_id_int=#{orgId}
</select> </select>
<select id="EqsByTypePage" resultType="com.junmp.jyzb.api.bean.dto.InventoryDto">
select
i.id as id,
i.package_id as package_id,
i.epc as epc,
i.size_id as sizeId,
es.name as sizeName,
i.type_id as typeId,
et.name as typeName,
i.supplier_id as supplierId,
s.name as supplierName,
i.state as state,
i.location_state as locationState,
i.production_date as productionDate,
i.location_type as locationType,
<if test="queryType=='warehouse'">
i.location_id as locationId,
</if>
<if test="queryType=='cabinet'">
(select id from base_cabinet where id =#{cabinetId}) as locationId,
</if>
i.price as price,
i.shelf_id as shelfId,
i.shelf_location as shelfLocation,
i.bussiness_state as bussinessState,
i.warranty_period as warrantyPeriod,
i.maintenance_period as maintenancePeriod,
i.tid as tid,
i.note as note,
i.fix_count as fixCount,
i.lost_flag as lostFlag,
i.create_time as createTime,
i.update_time as updateTime,
i.update_user as updateUser,
i.create_user as create_user,
i.org_id_int as orgId,
po.org_name as orgName
from base_inventory i
join base_equipment_type et on et.id = i.type_id
join base_equipment_size es on es.id = i.size_id
join base_supplier s on s.id = i.supplier_id
join pub_org po on i.org_id_int=po.org_id
<if test="queryType == 'org'">
where org_id_int = #{orgId}
</if>
<if test="queryType == 'warehouse' ">
where location_id = #{warehouseId}
</if>
<if test="queryType == 'cabinet'">
where location_id in (select id from base_cabinet_box where cabinet_id =#{cabinetId})
</if>
ORDER BY i.type_id,i.size_id
</select>
<select id="EqsByCabinetBoxIdPage" resultType="com.junmp.jyzb.entity.InventorySummary"> <select id="EqsByCabinetBoxIdPage" resultType="com.junmp.jyzb.entity.InventorySummary">
SELECT SELECT
UUID() as id, UUID() as id,
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
destruction_number, expire_number, create_time, update_time,threshold destruction_number, expire_number, create_time, update_time,threshold
</sql> </sql>
<select id="GetInventorySumInfo" resultType="com.junmp.jyzb.api.bean.dto.InventorySumDto" <select id="GetInventorySumInfo" resultType="com.junmp.jyzb.api.bean.dto.InventorySumDto"
parameterType="com.junmp.jyzb.api.bean.query.InventorySumReq"> parameterType="com.junmp.jyzb.api.bean.query.InventorySumReq">
select max(bis.org_id_int) as orgId,max(bis.org_name) as orgName,bis.location_id,max(bis.location_name) as location_name select max(bis.org_id_int) as orgId,max(bis.org_name) as orgName,bis.location_id,max(bis.location_name) as location_name
...@@ -69,5 +70,248 @@ ...@@ -69,5 +70,248 @@
</select> </select>
<delete id="deleteByCabinet" parameterType="java.lang.String">
delete from base_inventory_summary where locationId = #{cabinetId}
</delete>
<insert id="getSumByCabinet">
INSERT INTO base_inventory_summary (id,org_id_int,org_name,type_id, type_name,size_id,size_name,location_id,location_name,
number,unit_price,price,stock_number, outbound_number,destruction_number,expire_number,
broken_number,use_number,near_broken_number,location_type,create_time,update_time)
select
MAX(t.id) as id,t.orgId,t.orgName,t.type_id,t.typeName,t.size_id,t.sizeName,t.locationId,t.locationName,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.expireNumber)as expireNumber,sum(t.brokenNumber)as brokenNumber,
sum(t.useNumber)as useNumber,sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
FROM
(SELECT
UUID() as id,
bi.org_id_int as orgId,
po.org_name as orgName,
bcb.cabinet_id as locationId,
bi.location_id as locationBoxId,
bc.name as locationName,
bi.type_id,
t.name as typeName,
bi.size_id,
s.name as sizeName,
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END)+SUM(CASE WHEN location_state = 'out' and bi.state!='destory' THEN 1 ELSE 0 END) as number,
bi.price as unitPrice,
sum(bi.price) as price,
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS stockNumber,
SUM(CASE WHEN location_state = 'out' and bi.state!='destory' THEN 1 ELSE 0 END) AS outboundNumber,
sum(case when bi.state = 'destory' then 1 else 0 end) as destructionNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &gt; NOW() then 1 else 0 end )as expireNumber,
sum(case when bi.state ='broken' and bi.location_state='in' then 1 else 0 end)as brokenNumber,
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
bi.location_type
FROM base_inventory bi
join base_cabinet_box bcb on bi.location_id = bcb.id
join base_cabinet bc on bcb.cabinet_id = bc.id
join base_equipment_type t on t.id = bi.type_id
join base_equipment_size s on s.id = bi.size_id
join pub_org po on bi.org_id_int = po.org_id
WHERE location_type = 1 and bcb.cabinet_id=#{cabinetId}
GROUP BY location_id, type_id,size_id,bi.org_id_int,bi.price ) as t
GROUP BY t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice
</insert>
<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
<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
</if>
FROM base_inventory_summary where 1=1
<if test="req.orgId != null and req.orgId != ''">
and org_id_int=#{req.orgId}
</if>
<if test="req.locationId !=null and req.locationId != ''">
and location_id=#{req.locationId}
</if>
<if test="req.sizeId != null and req.sizeId != ''">
and size_id=#{req.sizeId}
</if>
<if test="req.TypeId != null and req.typeId != ''">
and type_id=#{req.typeId}
</if>
<if test="req.locationType != null and req.locationType != ''">
and location_type=#{req.locationType}
</if>
<choose>
<when test="req.number != null and req.number != ''">
<if test="req.number.charAt(0) == '='">
AND number = SUBSTRING(#{req.number}, 2)
</if>
<if test="req.number.charAt(0) == '&lt;'">
AND number &lt; SUBSTRING(#{req.number}, 2)
</if>
<if test="req.number.charAt(0) == '&gt;'">
AND number &gt; SUBSTRING(#{req.number}, 2)
</if>
</when>
</choose>
<choose>
<when test="req.stockNumber != null and req.stockNumber != ''">
<if test="req.stockNumber.charAt(0) == '='">
AND stock_number = SUBSTRING(#{req.stockNumber}, 2)
</if>
<if test="req.stockNumber.charAt(0) == '&lt;'">
AND stock_number &lt; SUBSTRING(#{req.stockNumber}, 2)
</if>
<if test="req.stockNumber.charAt(0) == '&gt;'">
AND stock_number &gt; SUBSTRING(#{req.stockNumber}, 2)
</if>
</when>
</choose>
<choose>
<when test="req.outboundNumber != null and req.outboundNumber != ''">
<if test="req.outboundNumber.charAt(0) == '='">
AND outbound_number = SUBSTRING(#{req.outboundNumber}, 2)
</if>
<if test="req.outboundNumber.charAt(0) == '&lt;'">
AND outbound_number &lt; SUBSTRING(#{req.outboundNumber}, 2)
</if>
<if test="req.outboundNumber.charAt(0) == '&gt;'">
AND outbound_number &gt; SUBSTRING(#{req.outboundNumber}, 2)
</if>
</when>
</choose>
<choose>
<when test="req.expireNumber != null and req.expireNumber != ''">
<if test="req.expireNumber.charAt(0) == '='">
AND expire_number = SUBSTRING(#{req.expireNumber}, 2)
</if>
<if test="req.expireNumber.charAt(0) == '&lt;'">
AND expire_number &lt; SUBSTRING(#{req.expireNumber}, 2)
</if>
<if test="req.expireNumber.charAt(0) == '&gt;'">
AND expire_number &gt; SUBSTRING(#{req.expireNumber}, 2)
</if>
</when>
</choose>
<choose>
<when test="req.brokenNumber != null and req.brokenNumber != ''">
<if test="req.brokenNumber.charAt(0) == '='">
AND broken_number = SUBSTRING(#{req.brokenNumber}, 2)
</if>
<if test="req.brokenNumber.charAt(0) == '&lt;'">
AND broken_number &lt; SUBSTRING(#{req.brokenNumber}, 2)
</if>
<if test="req.brokenNumber.charAt(0) == '&gt;'">
AND broken_number &gt; SUBSTRING(#{req.brokenNumber}, 2)
</if>
</when>
</choose>
<choose>
<when test="req.unitPrice != null and req.unitPrice != ''">
<if test="req.unitPrice.charAt(0) == '='">
AND unit_price = SUBSTRING(#{req.unitPrice}, 2)
</if>
<if test="req.unitPrice.charAt(0) == '&lt;'">
AND unit_price &lt; SUBSTRING(#{req.unitPrice}, 2)
</if>
<if test="req.unitPrice.charAt(0) == '&gt;'">
AND unit_price &gt; SUBSTRING(#{req.unitPrice}, 2)
</if>
</when>
</choose>
<choose>
<when test="req.price != null and req.price != ''">
<if test="req.price.charAt(0) == '='">
AND price = SUBSTRING(#{req.price}, 2)
</if>
<if test="req.price.charAt(0) == '&lt;'">
AND price &lt; SUBSTRING(#{req.price}, 2)
</if>
<if test="req.price.charAt(0) == '&gt;'">
AND price &gt; SUBSTRING(#{req.price}, 2)
</if>
</when>
</choose>
</select>
<select id="EquipmentStatistics" resultType="com.junmp.jyzb.entity.InventorySummary"
parameterType="com.junmp.jyzb.api.bean.query.InventorySumReq">
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,
sum(near_broken_number)as nearBrokenNumber,sum(use_number)as useNumber
FROM base_inventory_summary where org_id_int=#{req.orgId}
</select>
<delete id="deleteByWarehouse"
parameterType="com.junmp.jyzb.api.bean.dto.WarehouseDto">
delete from base_inventory_summary
where location_id in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<insert id="getSumByWarehouse" >
INSERT INTO base_inventory_summary (id,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,broken_number,use_number,near_broken_number,location_type,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,
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.brokenNumber) as brokenNumber,
sum(t.useNumber)as useNumber,sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
FROM
(SELECT
UUID() as id,
bi.org_id_int as orgId,
po.org_name as orgName,
MAX(bi.location_id) as locationId,
MAX(bw.name) as locationName,
bi.type_id,
t.name as typeName,
bi.size_id,
s.name as sizeName,
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END)+SUM(CASE WHEN location_state = 'out' and bi.state!='destory' THEN 1 ELSE 0 END) as number,
bi.price as unitPrice,
sum(bi.price) as price,
SUM(CASE WHEN location_state = 'in' THEN 1 ELSE 0 END) AS stockNumber,
SUM(CASE WHEN location_state = 'out' and bi.state!='destory' THEN 1 ELSE 0 END) AS outboundNumber,
sum(case when bi.state = 'destory' then 1 else 0 end) as destructionNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &gt; NOW() then 1 else 0 end )as expireNumber,
sum(case when bi.state ='broken' and bi.location_state='in' then 1 else 0 end)as brokenNumber,
sum(case when bi.bussiness_state = 'borrow' and bi.location_state='out' then 1
when bi.bussiness_state = 'take' and bi.location_state='out' then 1 else 0 end)as useNumber,
sum(case when bi.warranty_period=0 then 0 when DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH) &lt; NOW()
and DATEDIFF(DATE_ADD(bi.production_date,INTERVAL bi.warranty_period MONTH),NOW()) &lt; #{brokenNumberDays} then 1 else 0 end)as nearBrokenNumber,
bi.location_type
FROM base_inventory bi
join base_warehouse bw on bi.location_id = bw.id
join base_equipment_type t on t.id = bi.type_id
join base_equipment_size s on s.id = bi.size_id
join pub_org po on bi.org_id_int = po.org_id
WHERE location_type = 0
and bi.location_id in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.id}
</foreach>
GROUP BY type_id,size_id,bi.org_id_int,location_id,bi.price) as t
GROUP BY t.locationId,t.type_id,t.size_id,t.orgId,t.unitPrice
</insert>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.junmp.jyzb.mapper.LogDetailMapper"> <mapper namespace="com.junmp.jyzb.mapper.LogDetailMapper">
<resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.LogDetail"> <resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.LogDetail">
<!--@mbg.generated--> <id property="id" column="id" jdbcType="BIGINT"/>
<!--@Table base_log_detail--> <result property="inventoryId" column="inventory_id" jdbcType="VARCHAR"/>
<id column="id" jdbcType="INTEGER" property="id" /> <result property="orderMainId" column="order_main_id" jdbcType="VARCHAR"/>
<result column="summary_id" jdbcType="INTEGER" property="summaryId" /> <result property="bussinessType" column="bussiness_type" jdbcType="VARCHAR"/>
<result column="order_id" jdbcType="VARCHAR" property="orderId" /> <result property="epc" column="epc" jdbcType="VARCHAR"/>
<result column="epc" jdbcType="VARCHAR" property="epc" /> <result property="typeId" column="type_id" jdbcType="VARCHAR"/>
<result column="equipment_name" jdbcType="VARCHAR" property="equipmentName" /> <result property="typeName" column="type_name" jdbcType="VARCHAR"/>
<result column="equipment_size" jdbcType="VARCHAR" property="equipmentSize" /> <result property="sizeId" column="size_id" jdbcType="VARCHAR"/>
<result column="equipment_supplier" jdbcType="VARCHAR" property="equipmentSupplier" /> <result property="sizeName" column="size_name" jdbcType="VARCHAR"/>
<result column="equipment_type" jdbcType="INTEGER" property="equipmentType" /> <result property="supplierId" column="supplier_id" jdbcType="VARCHAR"/>
<result column="error_state" jdbcType="INTEGER" property="errorState" /> <result property="supplierName" column="supplier_name" jdbcType="VARCHAR"/>
<result column="note" jdbcType="VARCHAR" property="note" /> <result property="equipmentType" column="equipment_type" jdbcType="INTEGER"/>
<result property="errorState" column="error_state" jdbcType="INTEGER"/>
<result property="outInState" column="out_in_state" jdbcType="VARCHAR"/>
<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="picture" column="picture" jdbcType="VARCHAR"/>
<result property="deviceType" column="device_type" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> id,inventory_id,order_main_id,
id, summary_id, order_id, epc, equipment_name, equipment_size, equipment_supplier, bussiness_type,epc,type_id,
equipment_type, error_state, note type_name,size_id,size_name,
supplier_id,supplier_name,equipment_type,
error_state,out_in_state,create_time,
update_time,update_user,create_user,
picture,device_type
</sql> </sql>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.junmp.jyzb.mapper.LogSummaryMapper"> <mapper namespace="com.junmp.jyzb.mapper.LogSummaryMapper">
<resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.LogSummary"> <resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.LogSummary">
<!--@mbg.generated--> <id property="id" column="id" jdbcType="BIGINT"/>
<!--@Table base_log_summary--> <result property="orgId" column="org_id" jdbcType="BIGINT"/>
<id column="id" jdbcType="INTEGER" property="id" /> <result property="orgName" column="org_name" jdbcType="VARCHAR"/>
<result column="org_id" jdbcType="VARCHAR" property="orgId" /> <result property="orderMainId" column="order_main_id" jdbcType="VARCHAR"/>
<result column="org_name" jdbcType="VARCHAR" property="orgName" /> <result property="device" column="device" jdbcType="VARCHAR"/>
<result column="warehouse_id" jdbcType="VARCHAR" property="warehouseId" /> <result property="deviceType" column="device_type" jdbcType="INTEGER"/>
<result column="warehouse_name" jdbcType="VARCHAR" property="warehouseName" /> <result property="locationId" column="location_id" jdbcType="VARCHAR"/>
<result column="device" jdbcType="VARCHAR" property="device" /> <result property="locationName" column="location_name" jdbcType="VARCHAR"/>
<result column="device_type" jdbcType="INTEGER" property="deviceType" /> <result property="locationType" column="location_type" jdbcType="INTEGER"/>
<result column="use_time" jdbcType="TIMESTAMP" property="useTime" /> <result property="useTime" column="use_time" jdbcType="TIMESTAMP"/>
<result column="user_name" jdbcType="VARCHAR" property="userName" /> <result property="bussinessType" column="bussiness_type" jdbcType="VARCHAR"/>
<result column="out_in_state" jdbcType="INTEGER" property="outInState" /> <result property="userName" column="user_name" jdbcType="VARCHAR"/>
<result column="picture" jdbcType="VARCHAR" property="picture" /> <result property="picture" column="picture" jdbcType="VARCHAR"/>
<result property="equipmentList" column="equipment_List" jdbcType="VARCHAR"/>
<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"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> id,org_id,org_name,
id, org_id, org_name, warehouse_id, warehouse_name, device, device_type, use_time, order_main_id,device,device_type,
user_name, out_in_state, picture location_id,location_name,location_type,
use_time,bussiness_type,user_name,
picture,equipment_List,create_time,
update_time,update_user,create_user
</sql> </sql>
<select id="ShowInOutRecordsByOrder" resultType="com.junmp.jyzb.entity.LogSummary">
select * from base_log_summary ls
where ls.org_id = #{req.orgId} and ls.order_main_id=#{req.orderMainId}
</select>
<select id="ShowInOutRecordsByWarehouse" resultType="com.junmp.jyzb.entity.LogSummary">
select * from base_log_summary ls
left join base_log_detail ld on ls.id = ld.summary_id
where ls.org_id = #{req.orgId} and ls.location_type=0
<if test="req.bussinessType != null and req.bussinessType !=''">
and ls.bussiness_type=#{req.bussinessType}
</if>
<if test="req.locationId != null and req.locationId !=''">
and ls.location_id=#{locationId}
</if>
<if test="req.typeId != null and req.typeId !=''">
and ld.type_id=#{req.typeId}
</if>
</select>
<select id="ShowInOutRecordsByCabinet" resultType="com.junmp.jyzb.entity.LogSummary">
select * from base_log_summary ls
left join base_log_detail ld on ls.id = ld.summary_id
where ls.org_id = #{req.orgId} and ls.location_type=1
<if test="req.locationId != null and req.locationId !=''">
and ls.location_id=#{req.locationId}
<if test="req.cabinetboxId != null and req.cabinetboxId !=''">
and ld.cabinetbox_id in (select id from base_cabinet_box cb where cb.cabinet_id=#{req.locationId})
</if>
</if>
</select>
</mapper> </mapper>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
select * FROM bussiness_order_main WHERE order_type=#{req.orderType} select * FROM bussiness_order_main WHERE order_type=#{req.orderType}
<if test="req.typeId != null and req.typeId != ''"> <if test="req.typeId != null and req.typeId != ''">
and id in( and id in(
SELECT order_id FROM bussiness_order_detail WHERE equipment_type = #{req.typeId}) SELECT order_id FROM bussiness_order_detail WHERE type_id = #{req.typeId})
</if> </if>
<if test="null != req.bussinessType and '' != req.bussinessType "> <if test="null != req.bussinessType and '' != req.bussinessType ">
and bussiness_type = #{req.bussinessType} and bussiness_type = #{req.bussinessType}
......
<?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.RepairUnitMapper">
<resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.RepairUnit">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="code" column="code" jdbcType="VARCHAR"/>
<result property="shortName" column="short_name" jdbcType="VARCHAR"/>
<result property="contacts" column="contacts" jdbcType="VARCHAR"/>
<result property="phone" column="phone" jdbcType="VARCHAR"/>
<result property="state" column="state" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createUser" column="create_user" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,name,code,
short_name,contacts,phone,
state,create_time,create_user,
update_time,update_user
</sql>
</mapper>
...@@ -3,6 +3,7 @@ package com.junmp.junmpProcess.service.impl; ...@@ -3,6 +3,7 @@ package com.junmp.junmpProcess.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.PageUtil; import cn.hutool.core.util.PageUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
...@@ -25,6 +26,7 @@ import com.junmp.junmpProcess.vo.*; ...@@ -25,6 +26,7 @@ import com.junmp.junmpProcess.vo.*;
import com.junmp.v2.auth.api.bean.login.LoginUser; import com.junmp.v2.auth.api.bean.login.LoginUser;
import com.junmp.v2.auth.api.context.LoginContext; import com.junmp.v2.auth.api.context.LoginContext;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.util.BeanPlusUtil;
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.user.entity.SysUser; import com.junmp.v2.sys.user.entity.SysUser;
...@@ -260,8 +262,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -260,8 +262,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskVO.setTaskId(task.getId()); taskVO.setTaskId(task.getId());
taskVO.setProcessInstanceId(task.getProcessInstanceId()); taskVO.setProcessInstanceId(task.getProcessInstanceId());
taskVO.setProcessDefinitionName(bpmnModel.getMainProcess().getName()); taskVO.setProcessDefinitionName(bpmnModel.getMainProcess().getName());
taskVO.setStartUser(JSONObject.parseObject(MapUtil.getStr(processVariables, START_USER_INFO), new TypeReference<ProcessUser>() { // taskVO.setStartUser(JSONObject.parseObject(MapUtil.getStr(processVariables, START_USER_INFO), new TypeReference<ProcessUser>() {
}).getUserInfo()); // }).getUserInfo());
String s = (String) processVariables.get(START_USER_INFO);
taskVO.setStartUser(JSONObject.parseObject(s, UserInfo.class));
taskVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID)); taskVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID));
taskVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE)); taskVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE));
...@@ -323,8 +327,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -323,8 +327,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
{ {
taskVO.setProcessDefinitionName(bpmnModel.getMainProcess().getName()); taskVO.setProcessDefinitionName(bpmnModel.getMainProcess().getName());
} }
taskVO.setStartUser(JSONObject.parseObject(MapUtil.getStr(processVariables, START_USER_INFO), new TypeReference<ProcessUser>() { // taskVO.setStartUser(JSONObject.parseObject(MapUtil.getStr(processVariables, START_USER_INFO), new TypeReference<ProcessUser>() {
}).getUserInfo()); // }).getUserInfo());
String s = (String) processVariables.get(START_USER_INFO);
taskVO.setStartUser(JSONObject.parseObject(s, UserInfo.class));
taskVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID)); taskVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID));
taskVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE)); taskVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE));
...@@ -387,9 +393,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -387,9 +393,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
historyProcessInstanceVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID)); historyProcessInstanceVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID));
historyProcessInstanceVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE)); historyProcessInstanceVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE));
historyProcessInstanceVO.setProcessDefinitionName(historicProcessInstance.getProcessDefinitionName()); historyProcessInstanceVO.setProcessDefinitionName(historicProcessInstance.getProcessDefinitionName());
historyProcessInstanceVO.setStartUser(JSONObject.parseObject(MapUtil.getStr(processVariables, START_USER_INFO), new TypeReference<ProcessUser>() { // historyProcessInstanceVO.setStartUser(JSONObject.parseObject(MapUtil.getStr(processVariables, START_USER_INFO), new TypeReference<ProcessUser>() {
}).getUserInfo()); // }).getUserInfo());
// historyProcessInstanceVO.setStartUser(StartUser) String s = (String) processVariables.get(START_USER_INFO);
historyProcessInstanceVO.setStartUser(JSONObject.parseObject(s, UserInfo.class));
historyProcessInstanceVO.setStartTime(historicProcessInstance.getStartTime()); historyProcessInstanceVO.setStartTime(historicProcessInstance.getStartTime());
historyProcessInstanceVO.setEndTime(historicProcessInstance.getEndTime()); historyProcessInstanceVO.setEndTime(historicProcessInstance.getEndTime());
Boolean flag = historicProcessInstance.getEndTime() == null ? false : true; Boolean flag = historicProcessInstance.getEndTime() == null ? false : true;
...@@ -549,14 +557,17 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -549,14 +557,17 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
} }
// 根据 processInstanceId 查询正在执行的任务 // 根据 processInstanceId 查询正在执行的任务
Task currentTask = taskService.createTaskQuery() List<Task> list1 = taskService.createTaskQuery()
.processInstanceId(processInstanceId) .processInstanceId(processInstanceId)
.list().get(0); .list();
if (list1.size()>0) {
Task currentTask =list1.get(0);
// 使用 Stream API 进行过滤和修改 // 使用 Stream API 进行过滤和修改
taskDetailVOS.stream() taskDetailVOS.stream()
.filter(taskDetail -> taskDetail.getActivityId().equals(currentTask.getTaskDefinitionKey())) .filter(taskDetail -> taskDetail.getActivityId().equals(currentTask.getTaskDefinitionKey()))
.findFirst() .findFirst()
.ifPresent(matchingTask -> matchingTask.setTaskStatusWrapper("待审核")); .ifPresent(matchingTask -> matchingTask.setTaskStatusWrapper("待审核"));
}
JSONObject jsonForm = JSON.parseObject(formJson.toString()); JSONObject jsonForm = JSON.parseObject(formJson.toString());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论