Commit 9c83538f by 赵剑炜

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

parents b8f0bd0a cffc6e22
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
@Data
public class GeneratePurchaseQuicklyDto {
//采购单号
private String orderId;
//是否成功
private boolean isSuccess;
}
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
/**
* 流程单据具体装备输出实体类
*/
@Data
public class ProcessOrderDto {
/**
* 出入库单据
*/
private OrderDto orderDto;
/**
* 业务单据
*/
private BusFormDto busFormDto;
/**
* 调岗单据
*/
private ReassignmentDto reassignmentDto;
/**
* 盘库单据
*/
private StocktakeDto stocktakeDto;
}
package com.junmp.jyzb.api.bean.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
@Data
public class ReassignmentDto {
/**
* id
*/
private String id;
/**
* 工作流id
*/
private String processId;
/**
* 调岗警员id
*/
private String policeId;
/**
* 调岗警员姓名
*/
private String policeName;
/**
* 警员带走装备
*/
private String eqsList;
/**
* 组织机构id(谁申请,就是谁的组织机构号)
*/
private Long orgId;
/**
* 警员
*/
private String policeCode;
/**
* 调岗原因
*/
private String note;
/**
* 审核状态(none未接入工作流,working审批中,finished审批完成)
*/
private String examineState;
/**
* 申请时间
*/
private Date applyTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建人员
*/
private String createUser;
/**
* 更新人员
*/
private String updateUser;
}
\ No newline at end of file
package com.junmp.jyzb.api.bean.dto; package com.junmp.jyzb.api.bean.dto;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -34,9 +35,20 @@ public class StocktakeDto implements Serializable { ...@@ -34,9 +35,20 @@ public class StocktakeDto implements Serializable {
private Long orgId; private Long orgId;
/** /**
* 组织机构名称
*/
private String orgName;
/**
* 仓库id * 仓库id
*/ */
private String locationId; private String locationId;
/**
* 仓库名称
*/
private String locationName;
/** /**
* 盘库类型(0全盘,1根据货架位置盘,2根据装备类型盘) * 盘库类型(0全盘,1根据货架位置盘,2根据装备类型盘)
*/ */
...@@ -48,9 +60,19 @@ public class StocktakeDto implements Serializable { ...@@ -48,9 +60,19 @@ public class StocktakeDto implements Serializable {
private String shelfId; private String shelfId;
/** /**
* 货架位置(类型为1时特有) *
*/ */
private String shelfLocation; private Integer shelfRanges;
/**
* 列
*/
private Integer shelfColumns;
/**
* 行
*/
private Integer shelfRows;
/** /**
* 号型id(类型为2时特有) * 号型id(类型为2时特有)
...@@ -122,4 +144,6 @@ public class StocktakeDto implements Serializable { ...@@ -122,4 +144,6 @@ public class StocktakeDto implements Serializable {
* 更新人员 * 更新人员
*/ */
private String updateUser; private String updateUser;
} }
\ No newline at end of file
package com.junmp.jyzb.api.bean.query;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class BussinessOrderDetialReq {
private String id;
private Long orgId;
private String orgName;
private String typeId;
private String typeName;
private String sizeId;
private String sizeName;
private String locationType;
private String locationName;
private String locationId;
private Integer planNum;
private BigDecimal unitPrice;
private BigDecimal price;
private String note;
private BigDecimal totalPrice;
//备注
private String remark;
}
...@@ -9,6 +9,8 @@ import lombok.Getter; ...@@ -9,6 +9,8 @@ import lombok.Getter;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class InventorySumReq extends BaseRequest { public class InventorySumReq extends BaseRequest {
private String id;
/** /**
* 组织机构 * 组织机构
*/ */
......
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
@Data
public class ProcessOrderReq extends BaseRequest {
//单据类型
private String orderType;
//流程id
private String processInstanceId;
}
package com.junmp.jyzb.api.bean.query;
import lombok.Data;
@Data
public class TestReq {
private String queueName;
}
...@@ -13,7 +13,6 @@ public class FormEqsReq extends BaseRequest { ...@@ -13,7 +13,6 @@ public class FormEqsReq extends BaseRequest {
/** /**
* 主键 * 主键
*/ */
@ApiModelProperty(value = "主键ID")
private String id; private String id;
/** /**
...@@ -42,16 +41,6 @@ public class FormEqsReq extends BaseRequest { ...@@ -42,16 +41,6 @@ public class FormEqsReq extends BaseRequest {
private String typeName; private String typeName;
/** /**
*供应商id
*/
private String supplierId;
/**
*供应商名称
*/
private String supplierName;
/**
* 装备数量 * 装备数量
*/ */
private Integer num; private Integer num;
......
package com.junmp.jyzb.api.bean.req;
import lombok.Data;
import java.util.List;
@Data
public class GeneratePurchaseQuicklyReq {
private List<UpdateBusFormReq> busFormList;
private Long orgId;
private String bussinessType;
}
...@@ -12,9 +12,9 @@ import java.util.List; ...@@ -12,9 +12,9 @@ import java.util.List;
@Data @Data
public class RabbitMqOrderReq implements Serializable { public class RabbitMqOrderReq implements Serializable {
//主单据 //主单据
private OrderMainReq orderMainReq; private OrderMainReq orderMain;
//子单据 //子单据
private OrderDetailReq orderDetailReq; private OrderDetailReq orderDetail;
//具体装备epc //具体装备epc
private List<InventoryReq> inventoryReqList; private List<InventoryReq> inventoryReqList;
//设备标识 //设备标识
......
...@@ -31,7 +31,10 @@ public class UpdateOrderReq extends BaseRequest implements Serializable { ...@@ -31,7 +31,10 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
*/ */
private String processDefinitionId; private String processDefinitionId;
/**
* 工作流实例id
*/
private String processId;
/** /**
* 单据业务类型 * 单据业务类型
*/ */
...@@ -50,7 +53,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable { ...@@ -50,7 +53,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
* 发物单位 * 发物单位
*/ */
// @IsNumber(message = "startOrgId必须是数字",groups = {add.class}) // @IsNumber(message = "startOrgId必须是数字",groups = {add.class})
private Long startOrgId; private String startOrgId;
/** /**
* 发物单位名称 * 发物单位名称
*/ */
...@@ -140,10 +143,12 @@ public class UpdateOrderReq extends BaseRequest implements Serializable { ...@@ -140,10 +143,12 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
private Integer transferType; private Integer transferType;
/** /**
* 归还人,归还入库特有 * 归还人id,归还入库特有(相当于领用人)
*/ */
private String returnUserId; private String returnUserId;
private String returnUser;
private Date useDate; private Date useDate;
private String createUser; private String createUser;
......
...@@ -14,6 +14,9 @@ public class UpdateReassignmentReq extends BaseRequest { ...@@ -14,6 +14,9 @@ public class UpdateReassignmentReq extends BaseRequest {
*/ */
private String id; private String id;
/**
* 经办人
*/
private String userId; private String userId;
/** /**
...@@ -42,9 +45,9 @@ public class UpdateReassignmentReq extends BaseRequest { ...@@ -42,9 +45,9 @@ public class UpdateReassignmentReq extends BaseRequest {
private Long orgId; private Long orgId;
/** /**
* 目标组织机构id * 警员编号
*/ */
private Long targetOrgId; private String policeCode;
/** /**
* 调岗原因 * 调岗原因
......
...@@ -2,7 +2,9 @@ package com.junmp.jyzb.controller; ...@@ -2,7 +2,9 @@ package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.BusFormDto; import com.junmp.jyzb.api.bean.dto.BusFormDto;
import com.junmp.jyzb.api.bean.dto.GeneratePurchaseQuicklyDto;
import com.junmp.jyzb.api.bean.query.QueryBusFormReq; import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import com.junmp.jyzb.api.bean.req.GeneratePurchaseQuicklyReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq; import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.service.BusFormService; import com.junmp.jyzb.service.BusFormService;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
...@@ -60,6 +62,11 @@ public class BussinessController { ...@@ -60,6 +62,11 @@ public class BussinessController {
return ApiRes.success(busFormService.showBussinessOrder(req)); return ApiRes.success(busFormService.showBussinessOrder(req));
} }
//根据调拨单,一键生成采购单
@PostMapping("/GeneratePurchaseQuickly")
@ApiOperation("快速生成采购单")
public ApiRes<GeneratePurchaseQuicklyDto> GeneratePurchaseQuickly(@RequestBody GeneratePurchaseQuicklyReq req){
return ApiRes.success(busFormService.GeneratePurchaseQuickly(req));
}
} }
...@@ -2,9 +2,11 @@ package com.junmp.jyzb.controller; ...@@ -2,9 +2,11 @@ package com.junmp.jyzb.controller;
import cn.hutool.db.Page; import cn.hutool.db.Page;
import com.junmp.jyzb.api.bean.dto.EquipmentSizeDto; import com.junmp.jyzb.api.bean.dto.EquipmentSizeDto;
import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.query.QueryEquipmentSizeReq; import com.junmp.jyzb.api.bean.query.QueryEquipmentSizeReq;
import com.junmp.jyzb.api.bean.req.UpdateEquipmentSizeReq; import com.junmp.jyzb.api.bean.req.UpdateEquipmentSizeReq;
import com.junmp.jyzb.entity.EquipmentSize; import com.junmp.jyzb.entity.EquipmentSize;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.service.EquipmentSizeService; import com.junmp.jyzb.service.EquipmentSizeService;
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;
......
...@@ -93,6 +93,8 @@ public class InventoryController { ...@@ -93,6 +93,8 @@ public class InventoryController {
return ApiRes.success(inventorySummaryService.getEquipmentInfo(req)); return ApiRes.success(inventorySummaryService.getEquipmentInfo(req));
} }
//根据组织机构id/单警柜id/仓库id查询出库存汇总数量以及金额(和getEquipmentInfo同时调用,汇总出符合查询条件的装备) //根据组织机构id/单警柜id/仓库id查询出库存汇总数量以及金额(和getEquipmentInfo同时调用,汇总出符合查询条件的装备)
@PostMapping("/getTotalNumberAndPrice") @PostMapping("/getTotalNumberAndPrice")
@ApiOperation("查询总金额以及各个汇总数量") @ApiOperation("查询总金额以及各个汇总数量")
......
...@@ -71,81 +71,81 @@ public class MessageSendController { ...@@ -71,81 +71,81 @@ public class MessageSendController {
// messageApi.pushMsgToUser(String.valueOf(userId),count1); // messageApi.pushMsgToUser(String.valueOf(userId),count1);
//消息推送场景1:物资低于物资阈值 //消息推送场景1:物资低于物资阈值
@PostMapping("/aaa") // @PostMapping("/aaa")
public ApiRes<Boolean> action1() { // public ApiRes<Boolean> action1() {
//获取装备信息汇总,并且判断装备的汇总数量是否低于装备阈值,如果低于装备阈值,则进行消息提醒 //获取装备信息汇总,并且判断装备的汇总数量是否低于装备阈值,如果低于装备阈值,则进行消息提醒
//所有待判断的物资 //所有待判断的物资
LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<InventorySummary>() // LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationType, 0); // .eq(InventorySummary::getLocationType, 0);
//分页参数 // //分页参数
int pageSize=1000; // int pageSize=1000;
int currentPage=1; // int currentPage=1;
//获取装备的所有库存数量 // //获取装备的所有库存数量
long termCount= inventorySummaryService.count(wrapper); // long termCount= inventorySummaryService.count(wrapper);
List<InventorySummary> list=new ArrayList<>(); // List<InventorySummary> list=new ArrayList<>();
if (termCount>0) { // if (termCount>0) {
// 分页查询 // // 分页查询
while ((currentPage - 1) * pageSize < termCount) { // while ((currentPage - 1) * pageSize < termCount) {
List<InventorySummary> inventorySummaryList = processPageData1(currentPage, pageSize); // List<InventorySummary> inventorySummaryList = processPageData1(currentPage, pageSize);
currentPage++; // currentPage++;
list.addAll(inventorySummaryList); // list.addAll(inventorySummaryList);
} // }
} // }
//超期物资查询出来之后,将超期物资进行消息推送提醒 // //超期物资查询出来之后,将超期物资进行消息推送提醒
//直接对list进行处理操作推送消息即可 // //直接对list进行处理操作推送消息即可
for (InventorySummary inventorySummary:list) { // for (InventorySummary inventorySummary:list) {
MessageSendReq sendReq = new MessageSendReq(); // MessageSendReq sendReq = new MessageSendReq();
sendReq.setSendUserId("1000"); // sendReq.setSendUserId("1000");
sendReq.setReceiveUserIds("1000"); // sendReq.setReceiveUserIds("1000");
sendReq.setMsgTitle("物资低于阈值"); // sendReq.setMsgTitle("物资低于阈值");
//设置业务类型 // //设置业务类型
SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>() // SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getDictItemId, "1698969902300176385")); // .eq(SysDictItem::getDictItemId, "1698969902300176385"));
sendReq.setBizType(one.getItemValue()); // sendReq.setBizType(one.getItemValue());
sendReq.setMsgContent(inventorySummary.getLocationName()+"仓库下的"+inventorySummary.getTypeName()+",号型为:"+inventorySummary.getSizeName()+"的物资低于阈值"); // sendReq.setMsgContent(inventorySummary.getLocationName()+"仓库下的"+inventorySummary.getTypeName()+",号型为:"+inventorySummary.getSizeName()+"的物资低于阈值");
sendReq.setPriority("0"); // sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now()); // sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq); // messageApi.sendMessage(sendReq);
} // }
messageApi.queryCount(new MessageReq()); // messageApi.queryCount(new MessageReq());
/*推送发送未读数量*/ // /*推送发送未读数量*/
List<Long> userIdList=new ArrayList<>(); // List<Long> userIdList=new ArrayList<>();
userIdList.add(1000L); // userIdList.add(1000L);
for(Long userId :userIdList){ // for(Long userId :userIdList){
MessageReq req1 = new MessageReq(); // MessageReq req1 = new MessageReq();
req1.setReadFlag(0); // req1.setReadFlag(0);
req1.setReceiveUserId(userId); // req1.setReceiveUserId(userId);
Integer count1 = messageApi.queryCount(req1); // Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(String.valueOf(userId),count1); // messageApi.pushMsgToUser(String.valueOf(userId),count1);
} // }
return ApiRes.success(true); // return ApiRes.success(true);
} // }
// 处理每页数据 // // 处理每页数据
private List<InventorySummary> processPageData1(long pageSize, long currentPage) { // private List<InventorySummary> processPageData1(long pageSize, long currentPage) {
//得到全局默认值(随机处理数据表中的一条数据为默认值) // //得到全局默认值(随机处理数据表中的一条数据为默认值)
Integer threshold = equipmentTypeService.getById(100001).getThreshold(); // Integer threshold = equipmentTypeService.getById(100001).getThreshold();
//查询inventory_summary表中的threshold字段是否存在值, // //查询inventory_summary表中的threshold字段是否存在值,
// 如果存在则用summary表中的字段进行比较物资阈值,如果不存在则默认使用全局物资阈值进行比较 // // 如果存在则用summary表中的字段进行比较物资阈值,如果不存在则默认使用全局物资阈值进行比较
LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<InventorySummary>() // LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationType, 0); // .eq(InventorySummary::getLocationType, 0);
Page<InventorySummary> page = inventorySummaryService.page(PageFactory.getDefaultPage(pageSize, currentPage),wrapper); // Page<InventorySummary> page = inventorySummaryService.page(PageFactory.getDefaultPage(pageSize, currentPage),wrapper);
List<InventorySummary> records = page.getRecords(); // List<InventorySummary> records = page.getRecords();
//使用自定义物资阈值进行比较 // //使用自定义物资阈值进行比较
List<InventorySummary> collect1 = records.stream() // List<InventorySummary> collect1 = records.stream()
.filter(data -> ObjectUtil.isNotNull(data.getThreshold())) // .filter(data -> ObjectUtil.isNotNull(data.getThreshold()))
.filter(data -> data.getNumber() <= data.getThreshold()) // .filter(data -> data.getNumber() <= data.getThreshold())
.collect(Collectors.toList()); // .collect(Collectors.toList());
//使用全局物资阈值进行比较 // //使用全局物资阈值进行比较
List<InventorySummary> collect2 = records.stream() // List<InventorySummary> collect2 = records.stream()
.filter(data -> data.getNumber() <= threshold && ObjectUtil.isNull(data.getThreshold())) // .filter(data -> data.getNumber() <= threshold && ObjectUtil.isNull(data.getThreshold()))
.collect(Collectors.toList()); // .collect(Collectors.toList());
//将数据存储到一个list中 // //将数据存储到一个list中
List<InventorySummary> inventorySummaryList=new ArrayList<>(); // List<InventorySummary> inventorySummaryList=new ArrayList<>();
inventorySummaryList.addAll(collect1); // inventorySummaryList.addAll(collect1);
inventorySummaryList.addAll(collect2); // inventorySummaryList.addAll(collect2);
return inventorySummaryList; // return inventorySummaryList;
} // }
//消息推送场景2:物资超期 //消息推送场景2:物资超期
...@@ -153,27 +153,27 @@ public class MessageSendController { ...@@ -153,27 +153,27 @@ public class MessageSendController {
//消息推送场景3:过质保期 //消息推送场景3:过质保期
@PostMapping("/ccc") @PostMapping("/ccc")
public void action3() { public void action3() {
LambdaQueryWrapper<Inventory> wrapper = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<Inventory> wrapper = new LambdaQueryWrapper<>();
// 分页参数 // // 分页参数
int pageSize = 1000; // 每页记录数,可以根据需求调整 // int pageSize = 1000; // 每页记录数,可以根据需求调整
int currentPage = 1; // 当前页数 // int currentPage = 1; // 当前页数
//
//所有待判断的物资 // //所有待判断的物资
wrapper.eq( Inventory::getTermState, 0); // wrapper.eq( Inventory::getTermState, 0);
//获取未超期的物资数量(并且他的state不是销毁状态) // //获取未超期的物资数量(并且他的state不是销毁状态)
long termCount= inventoryService.count(wrapper); // long termCount= inventoryService.count(wrapper);
List<Inventory> list=new ArrayList<>(); // List<Inventory> list=new ArrayList<>();
if (termCount>0) { // if (termCount>0) {
// 分页查询 // // 分页查询
while ((currentPage - 1) * pageSize < termCount) { // while ((currentPage - 1) * pageSize < termCount) {
List<Inventory> inventoryList = processPageData3(currentPage, pageSize); // List<Inventory> inventoryList = processPageData3(currentPage, pageSize);
currentPage++; // currentPage++;
list.addAll(inventoryList); // list.addAll(inventoryList);
} // }
} // }
System.out.println(list); // System.out.println(list);
//超期物资查询出来之后,将超期物资进行消息推送提醒 // //超期物资查询出来之后,将超期物资进行消息推送提醒
//直接对list进行处理操作推送消息即可 // //直接对list进行处理操作推送消息即可
} }
......
...@@ -3,8 +3,10 @@ package com.junmp.jyzb.controller; ...@@ -3,8 +3,10 @@ package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.OrderDto; import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto; import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.dto.ProcessOrderDto;
import com.junmp.jyzb.api.bean.query.OrderMainReq; import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.OrderUploadReq; import com.junmp.jyzb.api.bean.query.OrderUploadReq;
import com.junmp.jyzb.api.bean.query.ProcessOrderReq;
import com.junmp.jyzb.api.bean.req.BaseOrderReq; import com.junmp.jyzb.api.bean.req.BaseOrderReq;
import com.junmp.jyzb.api.bean.query.QueryOrderLogReq; import com.junmp.jyzb.api.bean.query.QueryOrderLogReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq; import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
...@@ -94,8 +96,7 @@ public class OrderController { ...@@ -94,8 +96,7 @@ public class OrderController {
} }
//个人装备管理申请单
//个人装备管理申请单(移交申请)
@PostMapping("/AddPersonalEqsOrder") @PostMapping("/AddPersonalEqsOrder")
@ApiOperation("/新增个人装备申请单") @ApiOperation("/新增个人装备申请单")
public ApiRes<List<String>> AddPersonalEqsOrder(@RequestBody BaseOrderReq req){ public ApiRes<List<String>> AddPersonalEqsOrder(@RequestBody BaseOrderReq req){
...@@ -146,4 +147,10 @@ public class OrderController { ...@@ -146,4 +147,10 @@ public class OrderController {
} }
//根据流程id获取单据的装备信息
@PostMapping("/GetByProcessId")
@ApiOperation("根据流程id获取单据装备信息")
public ApiRes<ProcessOrderDto> GetByProcessId(@RequestBody ProcessOrderReq req){
return ApiRes.success(orderMainService.GetByProcessId(req));
}
} }
...@@ -29,18 +29,4 @@ public class OutAndInboundController { ...@@ -29,18 +29,4 @@ public class OutAndInboundController {
//警员借用装备后在在数据库中增加相关借用装备数据
@PostMapping("/AddBorrowEqs")
@ApiOperation("增加警员借用装备数据信息")
public ApiRes<Boolean> AddBorrowEqs(FormEqsReq req){
return ApiRes.success(policeEquipmentService.AddPoliceEqs(req));
}
//警员领用装备后在数据库中增加相关领用装备数据
@PostMapping("/AddTakeEqs")
@ApiOperation("增加警员领用装备数据信息")
public ApiRes<Boolean> AddTakeEqs(FormEqsReq req){
return ApiRes.success(policeEquipmentService.AddPoliceEqs(req));
}
} }
...@@ -2,6 +2,7 @@ package com.junmp.jyzb.controller; ...@@ -2,6 +2,7 @@ package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.PolicemanDto; import com.junmp.jyzb.api.bean.dto.PolicemanDto;
import com.junmp.jyzb.api.bean.dto.ReassignmentDto;
import com.junmp.jyzb.api.bean.query.CabinetReq; import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq; import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq;
import com.junmp.jyzb.api.bean.query.PolicemanReq; import com.junmp.jyzb.api.bean.query.PolicemanReq;
...@@ -46,6 +47,12 @@ public class PoliceController { ...@@ -46,6 +47,12 @@ public class PoliceController {
String policeId = policemanService.AddPoliceman(req); String policeId = policemanService.AddPoliceman(req);
return ApiRes.success(policeId); return ApiRes.success(policeId);
} }
//添加警员时先将没有组织机构号的警员查询出来
@PostMapping("/GetPoliceWithoutOrg")
@ApiOperation("/获取没有组织机构的警员信息")
public ApiRes<List<Policeman>> GetPoliceWithoutOrg(){
return ApiRes.success(policemanService.GetPoliceWithoutOrg());
}
@PostMapping("/DeletePolice") @PostMapping("/DeletePolice")
@ApiOperation("删除警员信息") @ApiOperation("删除警员信息")
...@@ -188,7 +195,7 @@ public class PoliceController { ...@@ -188,7 +195,7 @@ public class PoliceController {
} }
//获取警员的装备信息 //获取警员的装备信息
@PostMapping("/GetPoliceEqs") @PostMapping("/GetPoliceEquipment")
@ApiOperation("获取警员装备信息") @ApiOperation("获取警员装备信息")
public ApiRes<PageResult<PoliceEquipment>> GetPoliceEqs(@RequestBody PolicemanReq req){ public ApiRes<PageResult<PoliceEquipment>> GetPoliceEqs(@RequestBody PolicemanReq req){
return ApiRes.success(policemanService.GetPoliceEqs(req)); return ApiRes.success(policemanService.GetPoliceEqs(req));
...@@ -201,6 +208,7 @@ public class PoliceController { ...@@ -201,6 +208,7 @@ public class PoliceController {
return ApiRes.success(policemanService.UpdatePoliceUser()); return ApiRes.success(policemanService.UpdatePoliceUser());
} }
@PostMapping("/PoliceReassignment") @PostMapping("/PoliceReassignment")
@ApiOperation("警员调岗申请单") @ApiOperation("警员调岗申请单")
public ApiRes<String> PoliceReassignment(@RequestBody UpdateReassignmentReq req){ public ApiRes<String> PoliceReassignment(@RequestBody UpdateReassignmentReq req){
...@@ -209,13 +217,13 @@ public class PoliceController { ...@@ -209,13 +217,13 @@ public class PoliceController {
@PostMapping("/ShowReassignmentPage") @PostMapping("/ShowReassignmentPage")
@ApiOperation("查看警员调岗申请单") @ApiOperation("查看警员调岗申请单")
public ApiRes<PageResult<Reassignment>> ShowReassignmentPage(@RequestBody UpdateReassignmentReq req){ public ApiRes<PageResult<ReassignmentDto>> ShowReassignmentPage(@RequestBody UpdateReassignmentReq req){
return ApiRes.success(policemanService.ShowReassignmentPage(req)); return ApiRes.success(policemanService.ShowReassignmentPage(req));
} }
@PostMapping("/ChangePoliceOrg") @PostMapping("/ChangePoliceOrg")
@ApiOperation("警员调岗(业务过程)") @ApiOperation("警员调岗(业务过程)")
public ApiRes<Boolean> changePoliceOrg(@RequestBody @Validated(ValidationApi.edit.class)PoliceReassignmentReq req){ public ApiRes<Boolean> changePoliceOrg(@RequestBody UpdateReassignmentReq req){
return ApiRes.success(policemanService.changePoliceOrg(req)); return ApiRes.success(policemanService.changePoliceOrg(req));
} }
......
package com.junmp.jyzb.controller; package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.StocktakeDto;
import com.junmp.jyzb.api.bean.query.StocktakeReq; import com.junmp.jyzb.api.bean.query.StocktakeReq;
import com.junmp.jyzb.api.bean.req.UpdateStocktakeReq; import com.junmp.jyzb.api.bean.req.UpdateStocktakeReq;
import com.junmp.jyzb.entity.Stocktake; import com.junmp.jyzb.entity.Stocktake;
...@@ -47,7 +48,7 @@ public class StocktakeController { ...@@ -47,7 +48,7 @@ public class StocktakeController {
//查询单据 //查询单据
@PostMapping("/ShowStocktakeOrderPage") @PostMapping("/ShowStocktakeOrderPage")
@ApiOperation("盘库单据查询") @ApiOperation("盘库单据查询")
public ApiRes<PageResult<Stocktake>> ShowStocktakeOrderPage(@RequestBody @Validated(ValidationApi.edit.class)StocktakeReq req){ public ApiRes<PageResult<StocktakeDto>> ShowStocktakeOrderPage(@RequestBody @Validated(ValidationApi.edit.class)StocktakeReq req){
return ApiRes.success(stocktakeService.ShowStocktakeOrderPage(req)); return ApiRes.success(stocktakeService.ShowStocktakeOrderPage(req));
} }
......
package com.junmp.jyzb.controller; package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.query.TestReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq; import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.service.TestService; import com.junmp.jyzb.service.TestService;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
...@@ -7,6 +8,7 @@ import com.junmp.v2.common.bean.response.ApiRes; ...@@ -7,6 +8,7 @@ import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import liquibase.pro.packaged.B; import liquibase.pro.packaged.B;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -21,6 +23,9 @@ public class TestController { ...@@ -21,6 +23,9 @@ public class TestController {
@Resource @Resource
private TestService testService; private TestService testService;
@Resource
private RabbitAdmin rabbitAdmin;
@RequestMapping("/hello") @RequestMapping("/hello")
public ResponseResult Hello(){ public ResponseResult Hello(){
return new ResponseResult(10000,"操作成功","hello"); return new ResponseResult(10000,"操作成功","hello");
...@@ -31,4 +36,11 @@ public class TestController { ...@@ -31,4 +36,11 @@ public class TestController {
return ApiRes.success(testService.test(req)); return ApiRes.success(testService.test(req));
} }
@PostMapping("/hasConsumers")
public ApiRes<Boolean> hasConsumers(@RequestBody TestReq req){
Long execute = rabbitAdmin.getRabbitTemplate().execute(channel -> channel.consumerCount(req.getQueueName()));
System.out.println("execute = " + execute);
return ApiRes.success(execute>0L);
}
} }
...@@ -79,6 +79,7 @@ public class EquipmentSize implements Serializable { ...@@ -79,6 +79,7 @@ public class EquipmentSize implements Serializable {
@TableField("epc_type") @TableField("epc_type")
private Integer epcType; private Integer epcType;
//图片
private String photo; private String photo;
/** /**
......
...@@ -27,7 +27,7 @@ public class InventorySummary implements Serializable { ...@@ -27,7 +27,7 @@ public class InventorySummary implements Serializable {
*/ */
@ApiModelProperty(value = "组织机构id") @ApiModelProperty(value = "组织机构id")
@TableField("org_id_int") @TableField("org_id_int")
private String orgId; private Long orgId;
/** /**
* 组织机构名称 * 组织机构名称
...@@ -176,24 +176,6 @@ public class InventorySummary implements Serializable { ...@@ -176,24 +176,6 @@ public class InventorySummary implements Serializable {
@TableField("threshold") @TableField("threshold")
private Integer threshold; private Integer threshold;
/**
* 质保期
*/
@TableField(exist = false)
private Integer warrantyPeriod;
/**
* 维保周期
*/
@TableField(exist = false)
private Integer maintenancePeriod;
@TableField(exist = false,updateStrategy = FieldStrategy.IGNORED)
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;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName base_police_face
*/
@TableName(value ="base_police_face")
@Data
public class PoliceFace implements Serializable {
/**
* 人脸id
*/
@TableId(value = "id")
private Integer id;
/**
* 警员id
*/
@TableField(value = "police_id")
private String policeId;
/**
* 人脸信息名称
*/
@TableField(value = "name")
private String name;
/**
* 人脸信息
*/
@TableField(value = "face_info")
private String faceInfo;
/**
* 创建时间
*/
@TableField(value = "create_time")
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time")
private Date updateTime;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
...@@ -56,10 +56,10 @@ public class Reassignment implements Serializable { ...@@ -56,10 +56,10 @@ public class Reassignment implements Serializable {
private Long orgId; private Long orgId;
/** /**
* 目标组织机构id * 警员
*/ */
@TableField(value = "target_org_id") @TableField(value = "police_code")
private Long targetOrgId; private String policeCode;
/** /**
* 调岗原因 * 调岗原因
......
...@@ -12,12 +12,12 @@ import com.junmp.jyzb.api.bean.query.OrderMainReq; ...@@ -12,12 +12,12 @@ import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq; import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderDetailReq; import com.junmp.jyzb.api.bean.req.UpdateOrderDetailReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq; import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.api.bean.req.UpdateReassignmentReq;
import com.junmp.jyzb.entity.BusForm; import com.junmp.jyzb.entity.BusForm;
import com.junmp.jyzb.entity.OrderDetail; import com.junmp.jyzb.entity.OrderDetail;
import com.junmp.jyzb.entity.OrderMain; import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.service.BusFormService; import com.junmp.jyzb.entity.Reassignment;
import com.junmp.jyzb.service.OrderDetailService; import com.junmp.jyzb.service.*;
import com.junmp.jyzb.service.OrderMainService;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection; import com.rabbitmq.client.Connection;
...@@ -52,6 +52,12 @@ import java.util.stream.Collectors; ...@@ -52,6 +52,12 @@ import java.util.stream.Collectors;
@Resource @Resource
private BusFormService busFormService; private BusFormService busFormService;
@Resource
private PolicemanService policemanService;
@Resource
private ReassignmentService reassignmentService;
protected Logger logger = LoggerFactory.getLogger(this.getClass()); protected Logger logger = LoggerFactory.getLogger(this.getClass());
@SneakyThrows @SneakyThrows
...@@ -96,6 +102,16 @@ import java.util.stream.Collectors; ...@@ -96,6 +102,16 @@ import java.util.stream.Collectors;
busForm.setExamineState("finished"); busForm.setExamineState("finished");
busFormService.updateById(busForm); busFormService.updateById(busForm);
} }
if (Type.equals("reassigment")){//调岗
Reassignment one = reassignmentService.getOne(new LambdaQueryWrapper<Reassignment>()
.eq(Reassignment::getProcessId, processInstanceId));
UpdateReassignmentReq updateReassignmentReq = new UpdateReassignmentReq();
BeanPlusUtil.copyProperties(one,updateReassignmentReq);
policemanService.changePoliceOrg(updateReassignmentReq);
}
if (Type.equals("stocktakeOrder")){//盘库申请单
}
// 获取流程实例关联的变量 // 获取流程实例关联的变量
......
...@@ -29,4 +29,6 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { ...@@ -29,4 +29,6 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
InventorySummary getTotalNumberAndPrice(@Param("req") InventorySumReq req); InventorySummary getTotalNumberAndPrice(@Param("req") InventorySumReq req);
InventorySummary EquipmentStatistics(@Param("req") InventorySumReq req); InventorySummary EquipmentStatistics(@Param("req") InventorySumReq req);
List<InventorySummary> selectByEqs(@Param("orgId") Long orgId);
} }
\ No newline at end of file
package com.junmp.jyzb.mapper;
import com.junmp.jyzb.entity.PoliceFace;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author lxh专属坐骑
* @description 针对表【base_police_face】的数据库操作Mapper
* @createDate 2023-10-31 14:18:50
* @Entity com.junmp.jyzb.entity.PoliceFace
*/
public interface PoliceFaceMapper extends BaseMapper<PoliceFace> {
}
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.dto.BusFormDto; import com.junmp.jyzb.api.bean.dto.BusFormDto;
import com.junmp.jyzb.api.bean.dto.GeneratePurchaseQuicklyDto;
import com.junmp.jyzb.api.bean.query.QueryBusFormReq; import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import com.junmp.jyzb.api.bean.req.GeneratePurchaseQuicklyReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq; import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.entity.BusForm; import com.junmp.jyzb.entity.BusForm;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -29,4 +31,7 @@ public interface BusFormService extends IService<BusForm> { ...@@ -29,4 +31,7 @@ public interface BusFormService extends IService<BusForm> {
//查看业务单(可根据条件查询) //查看业务单(可根据条件查询)
PageResult<BusFormDto> showBussinessOrder(QueryBusFormReq req); PageResult<BusFormDto> showBussinessOrder(QueryBusFormReq req);
//根据调拨单,一键生成采购单
GeneratePurchaseQuicklyDto GeneratePurchaseQuickly(GeneratePurchaseQuicklyReq req);
} }
...@@ -7,6 +7,8 @@ import com.junmp.jyzb.api.bean.req.CabinetInOutRecordsReq; ...@@ -7,6 +7,8 @@ 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;
import liquibase.pro.packaged.L;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
...@@ -32,4 +34,7 @@ public interface InventorySummaryService extends IService<InventorySummary> { ...@@ -32,4 +34,7 @@ public interface InventorySummaryService extends IService<InventorySummary> {
//计算装备总数(装备数量数据统计) //计算装备总数(装备数量数据统计)
List<InventorySummary> EquipmentStatistics(InventorySumReq req); List<InventorySummary> EquipmentStatistics(InventorySumReq req);
} }
...@@ -3,8 +3,10 @@ package com.junmp.jyzb.service; ...@@ -3,8 +3,10 @@ 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.OrderDto; import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto; import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.dto.ProcessOrderDto;
import com.junmp.jyzb.api.bean.query.OrderMainReq; import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.OrderUploadReq; import com.junmp.jyzb.api.bean.query.OrderUploadReq;
import com.junmp.jyzb.api.bean.query.ProcessOrderReq;
import com.junmp.jyzb.api.bean.query.QueryOrderLogReq; import com.junmp.jyzb.api.bean.query.QueryOrderLogReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq; import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.entity.OrderLog; import com.junmp.jyzb.entity.OrderLog;
...@@ -45,4 +47,6 @@ public interface OrderMainService extends IService<OrderMain> { ...@@ -45,4 +47,6 @@ public interface OrderMainService extends IService<OrderMain> {
void InOrderExport(OrderMainReq req); void InOrderExport(OrderMainReq req);
void OutOrderExport(OrderMainReq req); void OutOrderExport(OrderMainReq req);
ProcessOrderDto GetByProcessId(ProcessOrderReq req);
} }
...@@ -11,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -11,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface PoliceEquipmentService extends IService<PoliceEquipment> { public interface PoliceEquipmentService extends IService<PoliceEquipment> {
boolean AddPoliceEqs(FormEqsReq req);
} }
package com.junmp.jyzb.service;
import com.junmp.jyzb.entity.PoliceFace;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author lxh专属坐骑
* @description 针对表【base_police_face】的数据库操作Service
* @createDate 2023-10-31 14:18:50
*/
public interface PoliceFaceService extends IService<PoliceFace> {
}
...@@ -2,6 +2,7 @@ package com.junmp.jyzb.service; ...@@ -2,6 +2,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.PolicemanDto; import com.junmp.jyzb.api.bean.dto.PolicemanDto;
import com.junmp.jyzb.api.bean.dto.ReassignmentDto;
import com.junmp.jyzb.api.bean.query.CabinetReq; import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq; import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq;
import com.junmp.jyzb.api.bean.query.PolicemanReq; import com.junmp.jyzb.api.bean.query.PolicemanReq;
...@@ -72,7 +73,7 @@ public interface PolicemanService extends IService<Policeman> { ...@@ -72,7 +73,7 @@ public interface PolicemanService extends IService<Policeman> {
boolean UpdatePoliceInfo(UserOrgReq req); boolean UpdatePoliceInfo(UserOrgReq req);
//警员调岗 //警员调岗
boolean changePoliceOrg(PoliceReassignmentReq req); boolean changePoliceOrg(UpdateReassignmentReq req);
//获取警员的装备信息 //获取警员的装备信息
PageResult<PoliceEquipment> GetPoliceEqs(PolicemanReq req); PageResult<PoliceEquipment> GetPoliceEqs(PolicemanReq req);
...@@ -84,8 +85,11 @@ public interface PolicemanService extends IService<Policeman> { ...@@ -84,8 +85,11 @@ public interface PolicemanService extends IService<Policeman> {
String PoliceReassignment(UpdateReassignmentReq req); String PoliceReassignment(UpdateReassignmentReq req);
//查看警员调岗申请单 //查看警员调岗申请单
PageResult<Reassignment> ShowReassignmentPage(UpdateReassignmentReq req); PageResult<ReassignmentDto> ShowReassignmentPage(UpdateReassignmentReq req);
////查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询) ////查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询)
PageResult<SysUserDto> ShowUserRole(SysUserReq req); PageResult<SysUserDto> ShowUserRole(SysUserReq req);
//查询没有组织机构的警员信息(添加警员时如果需要则在该列表中)
List<Policeman> GetPoliceWithoutOrg();
} }
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.dto.StocktakeDto;
import com.junmp.jyzb.api.bean.query.StocktakeReq; import com.junmp.jyzb.api.bean.query.StocktakeReq;
import com.junmp.jyzb.api.bean.req.UpdateStocktakeReq; import com.junmp.jyzb.api.bean.req.UpdateStocktakeReq;
import com.junmp.jyzb.entity.OrderNum; import com.junmp.jyzb.entity.OrderNum;
...@@ -16,7 +17,7 @@ public interface StocktakeService extends IService<Stocktake> { ...@@ -16,7 +17,7 @@ public interface StocktakeService extends IService<Stocktake> {
String AddStocktakeOrder(UpdateStocktakeReq req); String AddStocktakeOrder(UpdateStocktakeReq req);
PageResult<Stocktake> ShowStocktakeOrderPage(StocktakeReq req); PageResult<StocktakeDto> ShowStocktakeOrderPage(StocktakeReq req);
boolean UpdateStocktakeOrder(UpdateStocktakeReq req); boolean UpdateStocktakeOrder(UpdateStocktakeReq req);
......
...@@ -2,19 +2,26 @@ package com.junmp.jyzb.service.impl; ...@@ -2,19 +2,26 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.dto.StartProcessInstanceDTO; import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.service.IFlowInstanceService; import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.api.bean.dto.BusFormDto; import com.junmp.jyzb.api.bean.dto.BusFormDto;
import com.junmp.jyzb.api.bean.dto.GeneratePurchaseQuicklyDto;
import com.junmp.jyzb.api.bean.query.BussinessOrderDetialReq;
import com.junmp.jyzb.api.bean.query.QueryBusFormReq; import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import com.junmp.jyzb.api.bean.req.GeneratePurchaseQuicklyReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq; import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.api.exception.enums.OrderExceptionEnum; import com.junmp.jyzb.api.exception.enums.OrderExceptionEnum;
import com.junmp.jyzb.entity.BusForm; import com.junmp.jyzb.entity.BusForm;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.OrderNum; import com.junmp.jyzb.entity.OrderNum;
import com.junmp.jyzb.mapper.InventorySummaryMapper;
import com.junmp.jyzb.service.BusFormService; import com.junmp.jyzb.service.BusFormService;
import com.junmp.jyzb.mapper.BusFormMapper; import com.junmp.jyzb.mapper.BusFormMapper;
import com.junmp.jyzb.service.InventorySummaryService;
import com.junmp.jyzb.service.StocktakeService; import com.junmp.jyzb.service.StocktakeService;
import com.junmp.jyzb.utils.DateTimeUtil; import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
...@@ -28,6 +35,7 @@ import org.springframework.stereotype.Service; ...@@ -28,6 +35,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -48,6 +56,11 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -48,6 +56,11 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
@Resource @Resource
private SysUserOrgService sysUserOrgService; private SysUserOrgService sysUserOrgService;
@Resource
private InventorySummaryService inventorySummaryService;
@Resource
private InventorySummaryMapper inventorySummaryMapper;
/** /**
* 创建业务单 * 创建业务单
* @param req * @param req
...@@ -158,6 +171,28 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl ...@@ -158,6 +171,28 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
page1.setTotal(size); page1.setTotal(size);
return PageResultFactory.createPageResult(page1); return PageResultFactory.createPageResult(page1);
} }
//根据调拨单,一键生成采购单
@Override
public GeneratePurchaseQuicklyDto GeneratePurchaseQuickly(GeneratePurchaseQuicklyReq req) {
//先把所有发物单位是自己的业务单全部查询出来,然后一一进行比较到底那个是前端传递的数据
// List<BusForm> list = list(new LambdaQueryWrapper<BusForm>()
// .eq(BusForm::getOrgId, req.getOrgId())
// .eq(BusForm::getBussinessType, req.getBussinessType()));
List<BussinessOrderDetialReq> totalList=new ArrayList<>();
List<UpdateBusFormReq> busFormList = req.getBusFormList();
for (UpdateBusFormReq updateBusFormReq:busFormList) {
String detailList = updateBusFormReq.getDetailList();
List<BussinessOrderDetialReq> list = JSONObject.parseArray(detailList, BussinessOrderDetialReq.class);
totalList.addAll(list);
}
//查询库存数量
List<InventorySummary> sumList = inventorySummaryMapper.selectByEqs(req.getOrgId());
return null;
}
} }
......
...@@ -138,10 +138,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -138,10 +138,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
}else { }else {
brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue()); brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue());
} }
//先查询inventory_summary表中的物资阈值字段是否为空,如果为空则默认他是默认值,如果不是默认值,将其存储,再重新统计后进行赋值
// List<InventorySummary> list = inventorySummaryService.list(new LambdaQueryWrapper<InventorySummary>()
// .isNotNull(InventorySummary::getThreshold)
// .eq(InventorySummary::getLocationType,0));
//清空数据库中已存在的信息 //清空数据库中已存在的信息
inventoryMapper.deleteAllMsg(); inventoryMapper.deleteAllMsg();
...@@ -149,19 +145,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -149,19 +145,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
boolean b = inventoryMapper.SetCabinetInventory(brokenNumberDays); boolean b = inventoryMapper.SetCabinetInventory(brokenNumberDays);
//放入仓库区域信息汇总 //放入仓库区域信息汇总
boolean b1 = inventoryMapper.SetWarehouseInventory(brokenNumberDays); boolean b1 = inventoryMapper.SetWarehouseInventory(brokenNumberDays);
// boolean b2=true;
// if (list.size()>0){
// for (InventorySummary inventorySummary:list) {
// InventorySummary one = inventorySummaryService.getOne(new LambdaQueryWrapper<InventorySummary>()
// .eq(InventorySummary::getLocationId, inventorySummary.getLocationId())
// .eq(InventorySummary::getLocationType, 0)
// .eq(InventorySummary::getSizeId, inventorySummary.getSizeId())
// .eq(InventorySummary::getTypeId, inventorySummary.getTypeId())
// .eq(InventorySummary::getOrgId, inventorySummary.getOrgId()));
// one.setThreshold(inventorySummary.getThreshold());
// b2 = inventorySummaryService.updateById(one);
// }
// }
return (b && b1); return (b && b1);
} }
......
...@@ -88,30 +88,30 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -88,30 +88,30 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
// Page<InventorySummary> sumList= this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),wp); // Page<InventorySummary> sumList= this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),wp);
// List<InventorySummary> records = sumList.getRecords(); // List<InventorySummary> records = sumList.getRecords();
List<InventorySummary> collect = list.stream().map(data -> { // List<InventorySummary> collect = list.stream().map(data -> {
Inventory inventory = inventoryService.list(new LambdaQueryWrapper<Inventory>() // Inventory inventory = inventoryService.list(new LambdaQueryWrapper<Inventory>()
.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>() // String instructions = equipmentSizeService.getOne(new LambdaQueryWrapper<EquipmentSize>()
.eq(EquipmentSize::getId, data.getSizeId())).getInstructions(); // .eq(EquipmentSize::getId, data.getSizeId())).getInstructions();
data.setInstructions(instructions); // 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();
data.setPhoto(photo); // data.setPhoto(photo);
return data; // return data;
}).collect(Collectors.toList()); // }).collect(Collectors.toList());
//对该装备typeId进行排序 //对该装备typeId进行排序
Collections.sort(collect, new Comparator<InventorySummary>() { Collections.sort(list, new Comparator<InventorySummary>() {
@Override @Override
public int compare(InventorySummary o1, InventorySummary o2) { public int compare(InventorySummary o1, InventorySummary o2) {
return o1.getTypeId().compareTo(o2.getTypeId()); return o1.getTypeId().compareTo(o2.getTypeId());
} }
}); });
Page<InventorySummary> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()); Page<InventorySummary> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page1.setRecords(collect); page1.setRecords(list);
page1.setTotal(size); page1.setTotal(size);
return PageResultFactory.createPageResult(page1); return PageResultFactory.createPageResult(page1);
} }
...@@ -132,12 +132,12 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -132,12 +132,12 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
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.getOrderMain(),orderMain);
orderMainService.updateById(orderMain); orderMainService.updateById(orderMain);
//将子单据信息复制进行更新 //将子单据信息复制进行更新
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
BeanPlusUtil.copyProperties(req.getOrderDetailReq(),orderDetail); BeanPlusUtil.copyProperties(req.getOrderDetail(),orderDetail);
orderDetailService.updateById(orderDetail); orderDetailService.updateById(orderDetail);
////对装备表进行更新或者添加 ////对装备表进行更新或者添加
...@@ -367,6 +367,8 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -367,6 +367,8 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
return inventorySummaryList; return inventorySummaryList;
} }
private LambdaQueryWrapper<InventorySummary> createWrapper(InventorySumReq req) { private LambdaQueryWrapper<InventorySummary> createWrapper(InventorySumReq req) {
LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<InventorySummary> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) { if (ObjectUtil.isEmpty(req)) {
......
...@@ -8,14 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -8,14 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.dto.StartProcessInstanceDTO; import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.service.IFlowInstanceService; import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.api.bean.dto.OrderDetailDto; import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.dto.OrderDto; import com.junmp.jyzb.api.bean.query.*;
import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.query.OrderDetailReq;
import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.OrderUploadReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderDetailReq; import com.junmp.jyzb.api.bean.req.UpdateOrderDetailReq;
import com.junmp.jyzb.api.bean.query.QueryOrderLogReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq; import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.api.bean.vo.InOrderInfo; import com.junmp.jyzb.api.bean.vo.InOrderInfo;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
...@@ -32,8 +27,10 @@ import com.junmp.v2.common.util.HttpServletUtil; ...@@ -32,8 +27,10 @@ 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.SysDict;
import com.junmp.v2.dict.entity.SysDictItem; import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService; import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.dict.service.SysDictService;
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 org.springframework.amqp.core.Queue; import org.springframework.amqp.core.Queue;
...@@ -87,6 +84,20 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -87,6 +84,20 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Resource @Resource
private WarehouseService warehouseService; private WarehouseService warehouseService;
@Resource
private BusFormService busFormService;
@Resource
private StocktakeService stocktakeService;
@Resource
private ReassignmentService reassignmentService;
@Resource
private PoliceEquipmentService policeEquipmentService;
@Resource
private SysDictService sysDictService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -184,8 +195,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -184,8 +195,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//获取年,月,日,获取业务出入状态,获取组织机构id,获取业务类型 //获取年,月,日,获取业务出入状态,获取组织机构id,获取业务类型
orderNum.setYear(LocalDateTime.now().getYear()); orderNum.setYear(LocalDateTime.now().getYear());
//将业务类型转为中文简写(CK出库,RK入库) //将业务类型转为中文简写(CK出库,RK入库)
String itemValue = sysDictItemService.list(new LambdaQueryWrapper<SysDictItem>() Long sysDictId = sysDictService.getOne(new LambdaQueryWrapper<SysDict>()
.eq(SysDictItem::getItemText, req.getOrderType())).get(0).getItemValue(); .eq(SysDict::getDictCode, "order_chinese_setting")).getDictId();
String itemValue = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, req.getOrderType())
.eq(SysDictItem::getDictId,sysDictId)).getItemValue();
orderNum.setBussinessType(itemValue); orderNum.setBussinessType(itemValue);
//出入业务状态 //出入业务状态
orderNum.setOutInType(req.getOrderType()); orderNum.setOutInType(req.getOrderType());
...@@ -227,13 +241,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -227,13 +241,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
public String AddFinishOrder(UpdateOrderReq req) { public String AddFinishOrder(UpdateOrderReq req) {
//添加到数据库中(如果该单据没有审批流,那么就直接存入数据库) //添加到数据库中(如果该单据没有审批流,那么就直接存入数据库)
if (ObjectUtil.isNull(req.getProcessDefinitionId())){ if (ObjectUtil.isNull(req.getProcessDefinitionId()) && ObjectUtil.isNull(req.getProcessId())){
List<String> strings = AddOrder(req); List<String> strings = AddOrder(req);
OrderMain orderMain = getById(strings.get(0)); OrderMain orderMain = getById(strings.get(0));
List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>() List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getOrderId, strings.get(0))); .eq(OrderDetail::getOrderId, strings.get(0)));
BeanPlusUtil.copyProperties(orderMain,req); BeanPlusUtil.copyProperties(orderMain,req);
req.setExamineState("finished"); req.setExamineState("finished");
orderMain.setExamineState("finished");
updateById(orderMain);
List<UpdateOrderDetailReq> collect = list.stream().map(orderDetail -> { List<UpdateOrderDetailReq> collect = list.stream().map(orderDetail -> {
UpdateOrderDetailReq orderDetailReq = new UpdateOrderDetailReq(); UpdateOrderDetailReq orderDetailReq = new UpdateOrderDetailReq();
BeanPlusUtil.copyProperties(orderDetail, orderDetailReq); BeanPlusUtil.copyProperties(orderDetail, orderDetailReq);
...@@ -424,7 +440,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -424,7 +440,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
return true; return true;
} }
//记账 //(只对summary表进行操作)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean Accounting(UpdateOrderReq req) { public boolean Accounting(UpdateOrderReq req) {
...@@ -447,8 +463,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -447,8 +463,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
Set<Long> collect = req.getDetailList().stream().map(UpdateOrderDetailReq::getId).collect(Collectors.toSet()); Set<Long> collect = req.getDetailList().stream().map(UpdateOrderDetailReq::getId).collect(Collectors.toSet());
//获取所有数据库的子单据id //获取所有数据库的子单据id
Set<Long> existingIds = list.stream().map(OrderDetail::getId).collect(Collectors.toSet()); Set<Long> existingIds = list.stream().map(OrderDetail::getId).collect(Collectors.toSet());
//创建一个操作记录 //创建一个操作记录(用于在记账log表中记录)
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
//存放更新数据库中的子单据
List<OrderDetail> orderDetailList=new ArrayList<>(); List<OrderDetail> orderDetailList=new ArrayList<>();
//创建一个列表用于修改summary数据库表中数据。 //创建一个列表用于修改summary数据库表中数据。
List<UpdateOrderDetailReq> orderDetailReqList=new ArrayList<>(); List<UpdateOrderDetailReq> orderDetailReqList=new ArrayList<>();
...@@ -457,10 +474,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -457,10 +474,10 @@ 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()) && uploadDetailReq.getModifyQuantity() != uploadDetailReq.getActualNum()){ if (ObjectUtil.isNotNull(uploadDetailReq.getModifyQuantity())){
String log = "将"+uploadDetailReq.getTypeName()+""+ String log = "将"+uploadDetailReq.getTypeName()+"号型为"+
uploadDetailReq.getSizeName()+"的物资数量从"+uploadDetailReq.getActualNum()+"修改为"+uploadDetailReq.getModifyQuantity()+";"; uploadDetailReq.getSizeName()+"单价为"+uploadDetailReq.getPrice()+"的物资数量记为"+uploadDetailReq.getModifyQuantity()+";";
stringBuilder.append(log); stringBuilder.append(log);
//修改单子数量数据,价格 //修改单子数量数据,价格
orderDetail.setActualNum(uploadDetailReq.getModifyQuantity()); orderDetail.setActualNum(uploadDetailReq.getModifyQuantity());
...@@ -470,10 +487,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -470,10 +487,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//修改后数量 //修改后数量
updateQuantity+=uploadDetailReq.getModifyQuantity(); updateQuantity+=uploadDetailReq.getModifyQuantity();
priceTotal=priceTotal.add(BigDecimal.valueOf(uploadDetailReq.getModifyQuantity()).multiply(uploadDetailReq.getPrice())); priceTotal=priceTotal.add(BigDecimal.valueOf(uploadDetailReq.getModifyQuantity()).multiply(uploadDetailReq.getPrice()));
}else { }else { //表示根据应入库数量进行记账
//修改后数量 //修改后数量
updateQuantity+=uploadDetailReq.getActualNum(); updateQuantity+=uploadDetailReq.getPlanNum();
priceTotal=priceTotal.add(BigDecimal.valueOf(uploadDetailReq.getActualNum()).multiply(uploadDetailReq.getPrice())); priceTotal=priceTotal.add(BigDecimal.valueOf(uploadDetailReq.getPlanNum()).multiply(uploadDetailReq.getPrice()));
} }
} }
...@@ -487,7 +504,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -487,7 +504,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//将修改内容存储记录(历史操作,数量,单据,价格,组织机构) //将修改内容存储记录(历史操作,数量,单据,价格,组织机构)
//创建记账操作记录并且记录到数据表order_log中 //创建记账操作记录并且记录到数据表order_log中
saveAccountingLog(req,stringBuilder,updateQuantity); boolean b = saveAccountingLog(req, stringBuilder, updateQuantity);
//修改装备汇总表中的数据 inventory_summary //修改装备汇总表中的数据 inventory_summary
Long orgId; Long orgId;
...@@ -507,18 +524,32 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -507,18 +524,32 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
orderMain.setPrice(priceTotal); orderMain.setPrice(priceTotal);
orderMain.setOrderState("finished"); orderMain.setOrderState("finished");
//修改记账状态,0未记账,1已记账 //修改记账状态,0未记账,1已记账
// orderMain.setManualState(1); orderMain.setManualState(1);
orderMain.setUpdateTime(DateTimeUtil.getCurrentDateTime()); orderMain.setUpdateTime(DateTimeUtil.getCurrentDateTime());
//如果是领用出库,那记账结束以后将装备挂到警员名下(存储到policemanEquipment表中) //如果是领用出库,那记账结束以后将装备挂到警员名下(存储到policemanEquipment表中)
if (req.getBussinessType().equals("use")){
List<PoliceEquipment> collect1 = reqList.stream().map(updateOrderDetailReq -> {
PoliceEquipment policeEquipment = new PoliceEquipment();
policeEquipment.setPoliceId(req.getReturnUserId());
policeEquipment.setSizeId(updateOrderDetailReq.getSizeId());
policeEquipment.setSizeName(updateOrderDetailReq.getSizeName());
policeEquipment.setTypeId(updateOrderDetailReq.getTypeId());
policeEquipment.setTypeName(updateOrderDetailReq.getTypeName());
policeEquipment.setNum(updateOrderDetailReq.getModifyQuantity());
policeEquipment.setOrgId(orgId);
policeEquipment.setCreateTime(DateTimeUtil.getCurrentDateTime());
return policeEquipment;
}).collect(Collectors.toList());
policeEquipmentService.saveBatch(collect1);
}
//更新主单据 //更新主单据
return updateById(orderMain); return updateById(orderMain);
} }
//将修改内容存储记录(历史操作,数量,单据,价格,组织机构) //将修改内容存储记录(历史操作,数量,单据,价格,组织机构)
//创建记账操作记录并且记录到数据表order_log中 //创建记账操作记录并且记录到数据表order_log中
public void saveAccountingLog (UpdateOrderReq req,StringBuilder stringBuilder,Integer updateQuantity){ public boolean saveAccountingLog (UpdateOrderReq req,StringBuilder stringBuilder,Integer updateQuantity){
OrderLog orderLog = new OrderLog(); OrderLog orderLog = new OrderLog();
BeanPlusUtil.copyProperties(req,orderLog); BeanPlusUtil.copyProperties(req,orderLog);
orderLog.setId(UUID.randomUUID().toString()); orderLog.setId(UUID.randomUUID().toString());
...@@ -528,17 +559,46 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -528,17 +559,46 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
orderLog.setOrgId(req.getEndOrgId()); orderLog.setOrgId(req.getEndOrgId());
orderLog.setOrgName(req.getEndOrgName()); orderLog.setOrgName(req.getEndOrgName());
}else { }else {
orderLog.setOrgId(req.getStartOrgId()); orderLog.setOrgId(Long.parseLong(req.getStartOrgId()));
orderLog.setOrgName(req.getStartOrgName()); orderLog.setOrgName(req.getStartOrgName());
} }
orderLog.setOrderId(req.getId()); orderLog.setOrderId(req.getId());
orderLog.setCreateTime(DateTimeUtil.getCurrentDateTime()); orderLog.setCreateTime(DateTimeUtil.getCurrentDateTime());
//将记账记录保存 //将记账记录保存
orderLogService.save(orderLog); return orderLogService.save(orderLog);
} }
//修改装备汇总表中的数据inventory_summary //修改装备汇总表中的数据inventory_summary
public void updateSummaryInfo(UpdateOrderReq req,List<UpdateOrderDetailReq> orderDetailReqList,Long orgId){ public void updateSummaryInfo(UpdateOrderReq req,List<UpdateOrderDetailReq> orderDetailReqList,Long orgId){
// //将库存summary表中数据进行查询出来一一进行比较,如果说sizeId,typeId,warehouseId相同则对该数据进行修改,如果说该数据不存在的话则在summary表中添加一条数据
// List<InventorySummary> list = inventorySummaryService.list(new LambdaQueryWrapper<InventorySummary>()
// .eq(InventorySummary::getOrgId, orgId));
// List<InventorySummary> inventorySummaryList=new ArrayList<>();
// for (UpdateOrderDetailReq updateOrderDetailReq: orderDetailReqList) {
// boolean flag=false;
// for (InventorySummary inventorySummary:list) {
// if (updateOrderDetailReq.getSizeId().equals(inventorySummary.getSizeId())
// && updateOrderDetailReq.getTypeId().equals(inventorySummary.getTypeId())
// && updateOrderDetailReq.getWarehouseId().equals(inventorySummary.getLocationId())){
// inventorySummaryList.add(inventorySummary);
// flag=true;
// break;
// }
// }
// if (!flag){
// InventorySummary inventorySummary = new InventorySummary();
// inventorySummary.setId();
// inventorySummary.setOrgId();
// inventorySummary.setOrgName();
// inventorySummary.setSizeId();
// inventorySummary.setSizeName();
// inventorySummary.setTypeId();
// inventorySummary.setTypeName();
// inventorySummary.set
// inventorySummaryList.add(inventorySummary);
//
// }
// }
//根据遍历该子单据,将summary中的对应数据进行修改 //根据遍历该子单据,将summary中的对应数据进行修改
List<InventorySummary> collect = orderDetailReqList.stream() List<InventorySummary> collect = orderDetailReqList.stream()
.map(orderDetailReq -> { .map(orderDetailReq -> {
...@@ -548,25 +608,60 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -548,25 +608,60 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
.eq(InventorySummary::getTypeId, orderDetailReq.getTypeId()) .eq(InventorySummary::getTypeId, orderDetailReq.getTypeId())
.eq(InventorySummary::getLocationId, orderDetailReq.getWarehouseId()) .eq(InventorySummary::getLocationId, orderDetailReq.getWarehouseId())
.eq(InventorySummary::getPrice, orderDetailReq.getPrice())); .eq(InventorySummary::getPrice, orderDetailReq.getPrice()));
//如果one为空,则添加一条数据?????存疑 //如果one为空,则添加一条数据
if (ObjectUtil.isNull(one)){
//直接开始设置一条数据并且插入到InventorySummary表中
one.setId(UUID.randomUUID().toString());
one.setOrgId(orgId);
one.setOrgName(pubOrgService.getById(orgId).getOrgName());
one.setSizeId(orderDetailReq.getSizeId());
one.setSizeName(orderDetailReq.getSizeName());
one.setTypeId(orderDetailReq.getTypeId());
one.setTypeName(orderDetailReq.getTypeName());
one.setLocationType("0");
one.setLocationId(orderDetailReq.getWarehouseId());
one.setLocationName(orderDetailReq.getWarehouseName());
//如果没记账默认是计划数,如果记账了则是记账数量
if(ObjectUtil.isNotNull(orderDetailReq.getModifyQuantity())){
one.setNumber(orderDetailReq.getModifyQuantity());
one.setStockNumber(orderDetailReq.getModifyQuantity());
}else {
one.setNumber(orderDetailReq.getPlanNum());
one.setStockNumber(orderDetailReq.getPlanNum());
}
one.setUnitPrice(orderDetailReq.getPrice());
one.setPrice(orderDetailReq.getPrice());
one.setOutboundNumber(0);
one.setDestructionNumber(0);
one.setExpireNumber(0);
one.setBrokenNumber(0);
one.setNearBrokenNumber(0);
one.setUseNumber(0);
one.setCreateTime(DateTimeUtil.getCurrentDateTime());
}else {
//判断单据是in还是out,对出库数量和在库数量进行修改(如果是入库,那么只增加在库数量,但是如果是出库,那么需要增加出库数量和减少在库数量)
if (req.getOrderType().equals("in")){
//更新数量和总价格,在库数和出库数也需要对应进行修改 //更新数量和总价格,在库数和出库数也需要对应进行修改
//修改的数量和价格 //修改的数量和价格
BigDecimal totalPrice = one.getPrice().subtract(BigDecimal.valueOf(orderDetailReq.getActualNum()).multiply(orderDetailReq.getPrice())) BigDecimal totalPrice = one.getPrice().add(BigDecimal.valueOf(orderDetailReq.getModifyQuantity()).multiply(orderDetailReq.getPrice()));
.add(BigDecimal.valueOf(orderDetailReq.getModifyQuantity()).multiply(orderDetailReq.getPrice())); Integer totalNumber = one.getNumber()+orderDetailReq.getModifyQuantity();
Integer totalNUmber = one.getNumber()-orderDetailReq.getActualNum()+orderDetailReq.getModifyQuantity();
one.setPrice(totalPrice); one.setPrice(totalPrice);
one.setNumber(totalNUmber); one.setNumber(totalNumber);
//判断单据是in还是out,对出库数量和在库数量进行修改 one.setStockNumber(one.getStockNumber()+orderDetailReq.getModifyQuantity());
if (req.getOrderType().equals("in")){ }else if(req.getOrderType().equals("out") && req.getBussinessType().equals("destruction")) {//销毁出库
one.setStockNumber(one.getStockNumber()-orderDetailReq.getActualNum()+orderDetailReq.getModifyQuantity());
one.setOutboundNumber(one.getOutboundNumber()+orderDetailReq.getModifyQuantity());
}else { }else {
one.setOutboundNumber(one.getOutboundNumber()-orderDetailReq.getActualNum()+orderDetailReq.getModifyQuantity()); one.setStockNumber(one.getStockNumber()-orderDetailReq.getModifyQuantity());
one.setOutboundNumber(one.getOutboundNumber()+orderDetailReq.getModifyQuantity());
}
} }
return one; return one;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
inventorySummaryService.updateBatchById(collect); inventorySummaryService.saveOrUpdateBatch(collect);
} }
//修改仓库表中的数量汇总信息 //修改仓库表中的数量汇总信息
...@@ -600,7 +695,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -600,7 +695,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
LambdaQueryWrapper<OrderLog> eq = new LambdaQueryWrapper<OrderLog>() LambdaQueryWrapper<OrderLog> eq = new LambdaQueryWrapper<OrderLog>()
.eq(ObjectUtil.isNotNull(req.getBussinessType()), OrderLog::getBussinessType, req.getBussinessType()) .eq(ObjectUtil.isNotNull(req.getBussinessType()), OrderLog::getBussinessType, req.getBussinessType())
.eq(ObjectUtil.isNotNull(req.getOrderType()), OrderLog::getOrderType, req.getOrderType()) .eq(ObjectUtil.isNotNull(req.getOrderType()), OrderLog::getOrderType, req.getOrderType())
// .eq(ObjectUtil.isNotNull(req.getOrderId()), OrderLog::getOrgId, req.getOrgId()) .eq(ObjectUtil.isNotNull(req.getOrderId()), OrderLog::getOrgId, req.getOrgId())
.ge(ObjectUtil.isNotNull(req.getStartTime()), OrderLog::getCreateTime, req.getStartTime()) .ge(ObjectUtil.isNotNull(req.getStartTime()), OrderLog::getCreateTime, req.getStartTime())
.le(ObjectUtil.isNotNull(req.getEndTime()), OrderLog::getCreateTime, req.getEndTime()); .le(ObjectUtil.isNotNull(req.getEndTime()), OrderLog::getCreateTime, req.getEndTime());
Page<OrderLog> page = orderLogService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq); Page<OrderLog> page = orderLogService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
...@@ -722,5 +817,48 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -722,5 +817,48 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
/**
* 根据流程id和单据类型查询出该单子据的信息
* @param req
* @return
*/
@Override
public ProcessOrderDto GetByProcessId(ProcessOrderReq req) {
ProcessOrderDto processOrderDto = new ProcessOrderDto();
if (req.getOrderType().equals("workOrder")){
OrderDto orderDto = new OrderDto();
OrderMain one = getOne(new LambdaQueryWrapper<OrderMain>()
.eq(OrderMain::getProcessId, req.getProcessInstanceId()));
BeanPlusUtil.copyProperties(one,orderDto);
List<OrderDetailDto> collect = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getOrderId, one.getId())).stream().map(orderDetail -> {
OrderDetailDto orderDetailDto = new OrderDetailDto();
BeanPlusUtil.copyProperties(orderDetail, orderDetailDto);
return orderDetailDto;
}).collect(Collectors.toList());
orderDto.setDetailList(collect);
processOrderDto.setOrderDto(orderDto);
} else if (req.getOrderType().equals("bussinessOrder")) {
BusFormDto busFormDto = new BusFormDto();
BusForm one = busFormService.getOne(new LambdaQueryWrapper<BusForm>()
.eq(BusForm::getProcessId, req.getProcessInstanceId()));
BeanPlusUtil.copyProperties(one,busFormDto);
processOrderDto.setBusFormDto(busFormDto);
} else if (req.getOrderType().equals("stacktakeOrder")) {
StocktakeDto stocktakeDto = new StocktakeDto();
Stocktake one = stocktakeService.getOne(new LambdaQueryWrapper<Stocktake>()
.eq(Stocktake::getProcessId, req.getProcessInstanceId()));
BeanPlusUtil.copyProperties(one,stocktakeDto);
processOrderDto.setStocktakeDto(stocktakeDto);
} else if (req.getOrderType().equals("reassigmentOrder")) {
ReassignmentDto reassignmentDto = new ReassignmentDto();
Reassignment one = reassignmentService.getOne(new LambdaQueryWrapper<Reassignment>()
.eq(Reassignment::getProcessId, req.getProcessInstanceId()));
BeanPlusUtil.copyProperties(one,reassignmentDto);
processOrderDto.setReassignmentDto(reassignmentDto);
}
return processOrderDto;
}
} }
...@@ -22,19 +22,7 @@ public class PoliceEquipmentServiceImpl extends ServiceImpl<PoliceEquipmentMappe ...@@ -22,19 +22,7 @@ public class PoliceEquipmentServiceImpl extends ServiceImpl<PoliceEquipmentMappe
@Resource @Resource
private PolicemanService policemanService; private PolicemanService policemanService;
/**
* 借用时将装备进行添加借用装备信息
* @param req
* @return
*/
@Override
public boolean AddPoliceEqs(FormEqsReq req) {
PoliceEquipment policeEquipment = new PoliceEquipment();
//判断警员是否存在
policemanService.PoliceExist(req.getPoliceId());
BeanPlusUtil.copyProperties(req,policeEquipment);
return save(policeEquipment);
}
} }
......
package com.junmp.jyzb.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.entity.PoliceFace;
import com.junmp.jyzb.service.PoliceFaceService;
import com.junmp.jyzb.mapper.PoliceFaceMapper;
import org.springframework.stereotype.Service;
/**
* @author lxh专属坐骑
* @description 针对表【base_police_face】的数据库操作Service实现
* @createDate 2023-10-31 14:18:50
*/
@Service
public class PoliceFaceServiceImpl extends ServiceImpl<PoliceFaceMapper, PoliceFace>
implements PoliceFaceService{
}
...@@ -3,16 +3,19 @@ package com.junmp.jyzb.service.impl; ...@@ -3,16 +3,19 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.junmp.junmpProcess.dto.StartProcessInstanceDTO; import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.exception.WorkFlowException; import com.junmp.junmpProcess.exception.WorkFlowException;
import com.junmp.junmpProcess.service.IFlowInstanceService; import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.api.bean.dto.PoliceFingerDto; import com.junmp.jyzb.api.bean.dto.PoliceFingerDto;
import com.junmp.jyzb.api.bean.dto.PolicemanDto; import com.junmp.jyzb.api.bean.dto.PolicemanDto;
import com.junmp.jyzb.api.bean.dto.ReassignmentDto;
import com.junmp.jyzb.api.bean.dto.UserRoleDto; import com.junmp.jyzb.api.bean.dto.UserRoleDto;
import com.junmp.jyzb.api.bean.query.CabinetReq; import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq; import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq;
...@@ -103,6 +106,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -103,6 +106,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
@Resource @Resource
private SysUserRoleService sysUserRoleService; private SysUserRoleService sysUserRoleService;
@Resource
private PoliceFaceService policeFaceService;
private static final String REDIS_POLICE = "Policeman_"; private static final String REDIS_POLICE = "Policeman_";
private static final String REDIS_ORG = "Organization_"; private static final String REDIS_ORG = "Organization_";
...@@ -573,9 +579,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -573,9 +579,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
//警员调岗 //警员调岗
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean changePoliceOrg(PoliceReassignmentReq req) { public boolean changePoliceOrg(UpdateReassignmentReq req) {
//通过警员id查询出该警员的基本信息 //通过警员id查询出该警员的基本信息
Policeman policeman = getById(req.getId()); Policeman policeman = getById(req.getPoliceId());
//将其组织机构号设为空 //将其组织机构号设为空
policeman.setOrgId(null); policeman.setOrgId(null);
//如果警员绑定账号,将警员的账号进行删除 //如果警员绑定账号,将警员的账号进行删除
...@@ -584,33 +590,57 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -584,33 +590,57 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
policeman.setPassword(null); policeman.setPassword(null);
sysUserService.removeById(policeman.getUserId()); sysUserService.removeById(policeman.getUserId());
} }
//角色账号信息也进行删除
sysUserRoleService.delByUserId(policeman.getUserId());
//修改警员的个人信息(删除指纹信息) //修改警员的个人信息(删除指纹信息)
List<PoliceFinger> list = policeFingerService.list(new LambdaQueryWrapper<PoliceFinger>() List<PoliceFinger> fingerList = policeFingerService.list(new LambdaQueryWrapper<PoliceFinger>()
.eq(PoliceFinger::getPoliceId, policeman.getId())); .eq(PoliceFinger::getPoliceId, policeman.getId()));
if (list.size()!=0){ if (fingerList.size()!=0){
policeFingerService.removeBatchByIds(list); policeFingerService.removeBatchByIds(fingerList);
}
//人脸信息删除
List<PoliceFace> faceInfoList=policeFaceService.list(new LambdaQueryWrapper<PoliceFace>()
.eq(PoliceFace::getName,policeman.getId()));
if (faceInfoList.size()!=0){
policeFingerService.removeBatchByIds(faceInfoList);
} }
//如果绑定箱门,进行解绑 //如果绑定箱门,进行解绑
if (ObjectUtil.isNotNull(policeman.getCabinetBoxId())){ if (ObjectUtil.isNotNull(policeman.getCabinetBoxId())){
policeman.setCabinetBoxId(null); policeman.setCabinetBoxId(null);
} }
//对装备进行相关操作 //查询出该警员的所有装备信息
//判断前端传递的装备列表是否为空,如果为空则表示该警员不拿走任何装备信息
if (req.getEqsReqList().size()==0){
LambdaQueryWrapper<PoliceEquipment> eq = new LambdaQueryWrapper<PoliceEquipment>() LambdaQueryWrapper<PoliceEquipment> eq = new LambdaQueryWrapper<PoliceEquipment>()
.eq(PoliceEquipment::getPoliceId, policeman.getId()); .eq(PoliceEquipment::getPoliceId, policeman.getId());
//查询该警员是否存在装备信息,如果存在则进行删除 //查询该警员是否存在装备信息,如果存在则进行删除
List<PoliceEquipment> list1 = policeEquipmentService.list(eq); List<PoliceEquipment> list1 = policeEquipmentService.list(eq);
if (list1.size()!=0){ //判断前端传递的装备列表字段是否为空,如果为空则表示该警员不拿走任何装备信息
if (ObjectUtil.isNull(req.getEqsList()) && req.getEqsList().trim().isEmpty()){
policeEquipmentService.remove(eq); policeEquipmentService.remove(eq);
}
}else{
//警员带走的装备(如果没有全部拿走,那么剩下的装备信息删除)那么他带走的装备怎么处理呢,应该是inventory这张表中的数据进行操作,但是具体是哪几件装备修改信息呢?应该是具体到epc的吧
for (FormEqsReq eqsReq:req.getEqsReqList()) {
}else {//将该警员拿走的装备的组织机构设置为空,并且其他装备进行删除
List<PoliceEquipment> removeList=new ArrayList<>();
List<PoliceEquipment> updateList=new ArrayList<>();
List<PoliceEquipment> policeEquipments = JSON.parseArray(req.getEqsList(), PoliceEquipment.class);
for (PoliceEquipment policeEquipment:list1) {
boolean flag=false;
for (PoliceEquipment one:policeEquipments) {
if (policeEquipment.getSizeId().equals(one.getSizeId())
&& policeEquipment.getTypeId().equals(one.getTypeId())){
policeEquipment.setNum(one.getNum());
updateList.add(policeEquipment);
flag=true;
break;
}
} }
if (!flag){
removeList.add(policeEquipment);
} }
}
policeEquipmentService.updateBatchById(updateList);
policeEquipmentService.removeBatchByIds(removeList);
}
return updateById(policeman); return updateById(policeman);
} }
...@@ -667,17 +697,18 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -667,17 +697,18 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO(); StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId()); startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
startProcessInstanceDTO.setOrderId(reassignment.getId()); startProcessInstanceDTO.setOrderId(reassignment.getId());
startProcessInstanceDTO.setOrderType("workOrder"); startProcessInstanceDTO.setOrderType("reassigmentOrder");
startProcessInstanceDTO.setUserId(req.getUserId()); startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
reassignment.setProcessId(ProcessInstanceId); reassignment.setProcessId(ProcessInstanceId);
} }
reassignmentService.updateById(reassignment);
return reassignment.getId(); return reassignment.getId();
} }
//查看警员调岗申请单 //查看警员调岗申请单
@Override @Override
public PageResult<Reassignment> ShowReassignmentPage(UpdateReassignmentReq req) { public PageResult<ReassignmentDto> ShowReassignmentPage(UpdateReassignmentReq req) {
//(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误) //(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() && if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
(req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) && (req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
...@@ -688,14 +719,23 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -688,14 +719,23 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
} }
LambdaQueryWrapper<Reassignment> eq = new LambdaQueryWrapper<Reassignment>() LambdaQueryWrapper<Reassignment> eq = new LambdaQueryWrapper<Reassignment>()
.eq(ObjectUtil.isNotNull(req.getOrgId()), Reassignment::getOrgId, req.getOrgId()) .eq(ObjectUtil.isNotNull(req.getOrgId()), Reassignment::getOrgId, req.getOrgId())
.eq(ObjectUtil.isNotNull(req.getTargetOrgId()), Reassignment::getTargetOrgId, req.getTargetOrgId()) // .eq(ObjectUtil.isNotNull(req.getTargetOrgId()), Reassignment::getTargetOrgId, req.getTargetOrgId())
.eq(ObjectUtil.isNotNull(req.getExamineState()), Reassignment::getExamineState, req.getExamineState()) .eq(ObjectUtil.isNotNull(req.getExamineState()), Reassignment::getExamineState, req.getExamineState())
.like(ObjectUtil.isNotNull(req.getPoliceName()), Reassignment::getPoliceName, req.getPoliceName()) .like(ObjectUtil.isNotNull(req.getPoliceName()), Reassignment::getPoliceName, req.getPoliceName())
.ge(ObjectUtil.isNotNull(req.getStartTime()), Reassignment::getApplyTime, req.getStartTime()) .ge(ObjectUtil.isNotNull(req.getStartTime()), Reassignment::getApplyTime, req.getStartTime())
.le(ObjectUtil.isNotNull(req.getEndTime()), Reassignment::getApplyTime, req.getEndTime()) .le(ObjectUtil.isNotNull(req.getEndTime()), Reassignment::getApplyTime, req.getEndTime())
.last("order by " + req.getColumn() + " " + req.getOrder()); .last("order by " + req.getColumn() + " " + req.getOrder());
long size = reassignmentService.list(eq).size();
Page<Reassignment> page = reassignmentService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq); Page<Reassignment> page = reassignmentService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
return PageResultFactory.createPageResult(page); List<ReassignmentDto> collect = page.getRecords().stream().map(reassignment -> {
ReassignmentDto reassignmentDto = new ReassignmentDto();
BeanPlusUtil.copyProperties(reassignment, reassignmentDto);
return reassignmentDto;
}).collect(Collectors.toList());
Page<ReassignmentDto> page1 = new Page<>(req.getPageNo(), req.getPageSize());
page1.setTotal(size);
page1.setRecords(collect);
return PageResultFactory.createPageResult(page1);
} }
//查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询) //查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询)
...@@ -747,4 +787,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -747,4 +787,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
//获取所有没有组织机构的警员信息
@Override
public List<Policeman> GetPoliceWithoutOrg() {
return list(new LambdaQueryWrapper<Policeman>().isNull(Policeman::getOrgId));
}
} }
...@@ -21,14 +21,18 @@ import com.junmp.v2.common.util.BeanPlusUtil; ...@@ -21,14 +21,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.SysDict;
import com.junmp.v2.dict.entity.SysDictItem; import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService; import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.dict.service.SysDictService;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service; 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 java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author lxh专属坐骑 * @author lxh专属坐骑
...@@ -48,6 +52,9 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake ...@@ -48,6 +52,9 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
@Resource @Resource
private IFlowInstanceService FlowInstanceService; private IFlowInstanceService FlowInstanceService;
@Resource
private SysDictService sysDictService;
//盘库申请 //盘库申请
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -71,7 +78,7 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake ...@@ -71,7 +78,7 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO(); StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId()); startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
startProcessInstanceDTO.setOrderId(stocktake.getId()); startProcessInstanceDTO.setOrderId(stocktake.getId());
startProcessInstanceDTO.setOrderType("workOrder"); startProcessInstanceDTO.setOrderType("stocktakeOrder");
startProcessInstanceDTO.setUserId(req.getUserId()); startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
stocktake.setProcessId(ProcessInstanceId); stocktake.setProcessId(ProcessInstanceId);
...@@ -82,7 +89,7 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake ...@@ -82,7 +89,7 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
//盘库单据查询 //盘库单据查询
@Override @Override
public PageResult<Stocktake> ShowStocktakeOrderPage(StocktakeReq req) { public PageResult<StocktakeDto> ShowStocktakeOrderPage(StocktakeReq req) {
//(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误) //(如果传其他不是数据库字段参数或者排序规则不是deac或者asc可能会出现错误)
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() && if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
(req.getOrder().equalsIgnoreCase("desc") || req.getOrder().equalsIgnoreCase("asc")) (req.getOrder().equalsIgnoreCase("desc") || req.getOrder().equalsIgnoreCase("asc"))
...@@ -97,8 +104,17 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake ...@@ -97,8 +104,17 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
.ge(ObjectUtil.isNotNull(req.getStartTime()),Stocktake::getCreateTime,req.getStartTime()) .ge(ObjectUtil.isNotNull(req.getStartTime()),Stocktake::getCreateTime,req.getStartTime())
.le(ObjectUtil.isNotNull(req.getEndTime()),Stocktake::getCreateTime,req.getEndTime()) .le(ObjectUtil.isNotNull(req.getEndTime()),Stocktake::getCreateTime,req.getEndTime())
.last("order by "+req.getColumn()+" "+req.getOrder()); .last("order by "+req.getColumn()+" "+req.getOrder());
long size = list(eq).size();
Page<Stocktake> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq); Page<Stocktake> page = page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
return PageResultFactory.createPageResult(page); List<StocktakeDto> collect = page.getRecords().stream().map(stocktake -> {
StocktakeDto stocktakeDto = new StocktakeDto();
BeanPlusUtil.copyProperties(stocktake, stocktakeDto);
return stocktakeDto;
}).collect(Collectors.toList());
Page<StocktakeDto> page1 = new Page<>(req.getPageNo(), req.getPageSize());
page1.setTotal(size);
page1.setRecords(collect);
return PageResultFactory.createPageResult(page1);
} }
...@@ -128,8 +144,12 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake ...@@ -128,8 +144,12 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
orderNum.setBussinessType(bussinessType); orderNum.setBussinessType(bussinessType);
orderNum.setOrgId(orgId); orderNum.setOrgId(orgId);
//将业务类型转为中文简写 //将业务类型转为中文简写
String itemValue = sysDictItemService.list(new LambdaQueryWrapper<SysDictItem>() Long sysDictId = sysDictService.getOne(new LambdaQueryWrapper<SysDict>()
.eq(SysDictItem::getItemText, bussinessType)).get(0).getItemValue(); .eq(SysDict::getDictCode, "busstype_chinese")).getDictId();
String itemValue = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getItemText, bussinessType)
.eq(SysDictItem::getDictId,sysDictId)).getItemValue();
orderNum.setBussinessType(itemValue); orderNum.setBussinessType(itemValue);
OrderNum one = orderNumService.getOne(new LambdaQueryWrapper<OrderNum>() OrderNum one = orderNumService.getOne(new LambdaQueryWrapper<OrderNum>()
.eq(OrderNum::getOrgId, orderNum.getOrgId()) .eq(OrderNum::getOrgId, orderNum.getOrgId())
......
...@@ -82,7 +82,7 @@ public class InvExpireMsg implements JobAction { ...@@ -82,7 +82,7 @@ public class InvExpireMsg implements JobAction {
sendReq.setMsgTitle("物资过质保期"); sendReq.setMsgTitle("物资过质保期");
//设置业务类型 //设置业务类型
SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>() SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getDictItemId, "1698969778501099522")); .eq(SysDictItem::getDictItemId, "expire"));
sendReq.setBizType(one.getItemValue()); sendReq.setBizType(one.getItemValue());
sendReq.setMsgContent("仓库下的装备的物资已经过质保期"); sendReq.setMsgContent("仓库下的装备的物资已经过质保期");
sendReq.setPriority("0"); sendReq.setPriority("0");
......
...@@ -67,7 +67,7 @@ public class InvOverDueMsg implements JobAction { ...@@ -67,7 +67,7 @@ public class InvOverDueMsg implements JobAction {
sendReq.setMsgTitle("物资超期"); sendReq.setMsgTitle("物资超期");
//设置业务类型 //设置业务类型
SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>() SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getDictItemId, "1698969778501099522")); .eq(SysDictItem::getDictItemId, "over_due"));
sendReq.setBizType(one.getItemValue()); sendReq.setBizType(one.getItemValue());
sendReq.setMsgContent("单据id为:"+orderMain.getId()+"的物资超期,请及时查看提醒"); sendReq.setMsgContent("单据id为:"+orderMain.getId()+"的物资超期,请及时查看提醒");
sendReq.setPriority("0"); sendReq.setPriority("0");
......
...@@ -76,7 +76,7 @@ public class InvThresholdMsg implements JobAction { ...@@ -76,7 +76,7 @@ public class InvThresholdMsg implements JobAction {
sendReq.setMsgTitle("物资低于阈值"); sendReq.setMsgTitle("物资低于阈值");
//设置业务类型 //设置业务类型
SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>() SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getDictItemId, "1698969902300176385")); .eq(SysDictItem::getItemText, "threshold"));
sendReq.setBizType(one.getItemValue()); sendReq.setBizType(one.getItemValue());
sendReq.setMsgContent(inventorySummary.getLocationName()+"仓库下的"+inventorySummary.getTypeName()+"号型为"+inventorySummary.getSizeName()+"的物资低于阈值"); sendReq.setMsgContent(inventorySummary.getLocationName()+"仓库下的"+inventorySummary.getTypeName()+"号型为"+inventorySummary.getSizeName()+"的物资低于阈值");
sendReq.setPriority("0"); sendReq.setPriority("0");
......
...@@ -12,7 +12,8 @@ public class UpdateSummaryAction implements JobAction { ...@@ -12,7 +12,8 @@ public class UpdateSummaryAction implements JobAction {
@Resource @Resource
private InventoryService inventoryService; private InventoryService inventoryService;
public void action(){ public void action(){
// inventoryService.setInventoryMsg(); inventoryService.setInventoryMsg();
} }
} }
...@@ -254,7 +254,13 @@ ...@@ -254,7 +254,13 @@
sum(outbound_number)as outboundNumber,sum(destruction_number)as destructionNumber, sum(outbound_number)as outboundNumber,sum(destruction_number)as destructionNumber,
sum(expire_number)as expireNumber,sum(broken_number)as brokenNumber, sum(expire_number)as expireNumber,sum(broken_number)as brokenNumber,
sum(near_broken_number)as nearBrokenNumber,sum(use_number)as useNumber sum(near_broken_number)as nearBrokenNumber,sum(use_number)as useNumber
FROM base_inventory_summary where org_id_int=#{req.orgId} and location_type=0 FROM base_inventory_summary where org_id_int=#{req.orgId}
</select>
<select id="selectByEqs" resultType="com.junmp.jyzb.entity.InventorySummary">
SELECT sum(stock_number) as stockNumber,size_id as sizeId,type_id as typeId,MAX(size_name) as sizeName,
MAX(type_name) as typeName,org_id_int as orgId,MAX(org_name) as orgName
FROM base_inventory_summary where org_id_int=#{orgId}
GROUP BY size_id,type_id
</select> </select>
<delete id="deleteByWarehouse" <delete id="deleteByWarehouse"
parameterType="com.junmp.jyzb.api.bean.dto.WarehouseDto"> parameterType="com.junmp.jyzb.api.bean.dto.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.PoliceFaceMapper">
<resultMap id="BaseResultMap" type="com.junmp.jyzb.entity.PoliceFace">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="policeId" column="police_id" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="faceInfo" column="face_info" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,police_id,name,
face_info,create_time,update_time
</sql>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论