Commit 3fbc4d42 by 李小惠

警员调岗bug

parent 3eba836c
......@@ -14,6 +14,10 @@ public class SearchItemReq {
private String typeId;
private String sizeId;
private BigDecimal price;
private Integer planNum;
private String typeName;
private String sizeName;
private String jsonData;
}
......@@ -33,7 +33,10 @@ public enum PolicemanExceptionEnum implements IExceptionEnum {
* 该警员已经绑定账号
*/
POLICEUSER_IS_EXISTS(CommonConstant.DEFAULT_USER_ERROR_CODE,"该警员已经绑定账号"),
/**
* 该警员已经在审核流中,请勿重复操作
*/
POLICE_IS_IN_EXAMINE(CommonConstant.DEFAULT_USER_ERROR_CODE,"该警员已经在审核流中或已经调走,请勿重复操作")
;
/**
* 错误编码
......
......@@ -13,12 +13,8 @@ import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.Repository.BusFormRepository;
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.InventorySumReq;
import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import com.junmp.jyzb.api.bean.query.QueryEquipmentTypeReq;
import com.junmp.jyzb.api.bean.req.GeneratePurchaseQuicklyReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.api.exception.JYZBAppException;
import com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum;
......@@ -28,7 +24,7 @@ import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.InventorySummaryMapper;
import com.junmp.jyzb.service.*;
import com.junmp.jyzb.mapper.BusFormMapper;
import com.junmp.jyzb.utils.CreateNullData;
import com.junmp.jyzb.utils.BusinessUtil;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.v2.auth.api.bean.login.LoginUser;
import com.junmp.v2.auth.api.context.LoginContext;
......@@ -37,16 +33,13 @@ import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.sys.user.entity.SysUserOrg;
import com.junmp.v2.sys.user.service.SysUserOrgService;
import liquibase.pro.packaged.B;
import org.flowable.engine.TaskService;
import org.flowable.task.api.Task;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.management.remote.rmi._RMIConnection_Stub;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
......@@ -99,7 +92,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
@Override
public String AddBussinessOrder(UpdateBusFormReq req) {
//判断inventorySummary表中是否有这个装备的已在审核中的数量,如果数量为null或者为0,则表示可以进行审批
if (req.getBussinessType().equals("remove")){
if (req.getBussinessType().equals("remove") && ObjectUtil.isNotEmpty(req.getProcessDefinitionId())){
Boolean aBoolean = addOrRevokeAgentBrokenNum(req,true);
}
BusForm busForm1=null;
......@@ -306,7 +299,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
//是否创建创建空的数据返回前端
if(req.getIsCreateNullDate()==null || req.getIsCreateNullDate()){
Class<BusFormDto> busFormDto=BusFormDto.class;
List<BusFormDto> nullData = CreateNullData.createNullData(size, req.getPageNo(), busFormDto);
List<BusFormDto> nullData = BusinessUtil.createNullData(size, req.getPageNo(), req.getPageSize(), busFormDto);
collect.addAll(nullData);
}
......
......@@ -9,11 +9,13 @@ import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.entity.BusForm;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.entity.Reassignment;
import com.junmp.jyzb.mapper.InventorySummaryMapper;
import com.junmp.jyzb.service.BusFormService;
import com.junmp.jyzb.service.OrderMainService;
import com.junmp.jyzb.service.OrderCommonService;
import com.junmp.jyzb.service.ReassignmentService;
import com.junmp.jyzb.utils.BusinessUtil;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.sys.user.service.SysUserService;
import org.flowable.engine.TaskService;
......@@ -76,14 +78,16 @@ public class OrderCommonServiceImpl implements OrderCommonService {
UpdateBusFormReq updateBusFormReq = new UpdateBusFormReq();
BeanPlusUtil.copyProperties(one,updateBusFormReq);
busFormService.addOrRevokeAgentBrokenNum(updateBusFormReq,false);
}else {
}
result = busFormService.update(new LambdaUpdateWrapper<BusForm>()
.eq(BusForm::getProcessId, processInstanceId)
.set(BusForm::getExamineState, "refuse"));
}
break;
case "reassignment":
reassignmentService.update(new LambdaUpdateWrapper<Reassignment>()
.eq(Reassignment::getProcessId,processInstanceId)
.set(Reassignment::getExamineState,"refuse"));
break;
case "stocktakeOrder":
//还没写
......@@ -103,12 +107,27 @@ public class OrderCommonServiceImpl implements OrderCommonService {
searchItem.add(item);
}
List<InventorySummary> inventorySummaryList = inventorySummaryMapper.selectSumByItems(searchItem);
String reurnString="";
for (SearchItemReq req1:searchItemReqsList) {
boolean f=false;
for (InventorySummary is:inventorySummaryList) {
boolean flag=false;
// for (:) {
//
// }
if (req1.getLocationId().equals(is.getLocationId()) && req1.getTypeId().equals(is.getTypeId())
&& req1.getSizeId().equals(is.getSizeId()) && req1.getPrice().compareTo(is.getUnitPrice())==0){
//判断数量是否满足库存数量,如果不满足或者库存中找不到该装备,则直接提示库存不足
f=true;
if (is.getStockNumber()-is.getBrokenNumber()<req1.getPlanNum()){
reurnString=reurnString+"装备"+req1.getTypeName()+",号型为"+req1.getSizeName()+"的库存数量不足;";
}
}
}
if (!f){
reurnString=reurnString+"装备"+req1.getTypeName()+",号型为"+req1.getSizeName()+"的库存数量不足;";
}
}
if (reurnString.trim().isEmpty()){
return "库存足够";
}else {
return reurnString;
}
return null;
}
}
......@@ -393,21 +393,20 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
if (ObjectUtil.isNull(req.getProcessDefinitionId()) && ObjectUtil.isNull(req.getProcessId())){
List<String> strings = AddOrder(req);
OrderMain orderMain = getById(strings.get(0));
List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getOrderId, strings.get(0)));
BeanPlusUtil.copyProperties(orderMain,req);
req.setExamineState("finished");
// List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
// .eq(OrderDetail::getOrderId, strings.get(0)));
// BeanPlusUtil.copyProperties(orderMain,req);
// req.setExamineState("finished");
orderMain.setExamineState("finished");
updateById(orderMain);
List<UpdateOrderDetailReq> collect = list.stream().map(orderDetail -> {
UpdateOrderDetailReq orderDetailReq = new UpdateOrderDetailReq();
BeanPlusUtil.copyProperties(orderDetail, orderDetailReq);
return orderDetailReq;
}).collect(Collectors.toList());
req.setDetailList(collect);
}
// List<UpdateOrderDetailReq> collect = list.stream().map(orderDetail -> {
// UpdateOrderDetailReq orderDetailReq = new UpdateOrderDetailReq();
// BeanPlusUtil.copyProperties(orderDetail, orderDetailReq);
// return orderDetailReq;
// }).collect(Collectors.toList());
// req.setDetailList(collect);
}else {
//单据类型,分发单据
req.setApi("DistributeOrder");
//将完成的任务单直接推送到消息队列rabbitmq中(需要判断是入库单还是出库单,入库单传发物单位id,出库单传收物单位id)
......@@ -419,6 +418,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}else {
MQ.SendMsg(exchangeName,req.getStartOrgId().toString(),req);
}
}
return req.getId();
}
......
......@@ -18,7 +18,6 @@ import com.junmp.jyzb.api.bean.query.PolicemanReq;
import com.junmp.jyzb.api.bean.query.QueryReassignmentReq;
import com.junmp.jyzb.api.bean.req.UpdatePolicemanReq;
import com.junmp.jyzb.api.bean.req.UpdateReassignmentReq;
import com.junmp.jyzb.api.exception.JYZBAppException;
import com.junmp.jyzb.api.exception.enums.*;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.*;
......@@ -39,7 +38,6 @@ import com.junmp.v2.file.api.constant.FileConstant;
import com.junmp.v2.sys.api.bean.user.SysUserDto;
import com.junmp.v2.sys.api.bean.user.req.SysUserReq;
import com.junmp.v2.sys.api.bean.user.req.UserOrgReq;
import com.junmp.v2.sys.api.expander.SystemConfigExpander;
import com.junmp.v2.sys.user.entity.SysUser;
import com.junmp.v2.sys.user.entity.SysUserOrg;
import com.junmp.v2.sys.user.entity.SysUserRole;
......@@ -47,7 +45,6 @@ import com.junmp.v2.sys.user.factory.SysUserCreateFactory;
import com.junmp.v2.sys.user.service.SysUserOrgService;
import com.junmp.v2.sys.user.service.SysUserRoleService;
import com.junmp.v2.sys.user.service.SysUserService;
import liquibase.pro.packaged.S;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -502,7 +499,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
//判断是否需要添加空数据
if(req.getIsCreateNullDate()==null || req.getIsCreateNullDate()){
Class<PolicemanDto> policemanDto = PolicemanDto.class;
List<PolicemanDto> nullData = CreateNullData.createNullData(size, req.getPageNo(), policemanDto);
List<PolicemanDto> nullData = BusinessUtil.createNullData(size, req.getPageNo(), req.getPageSize(), policemanDto);
policemanDtos.addAll(nullData);
}
Page<PolicemanDto> page1 = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
......@@ -1014,12 +1011,38 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
//警员调岗申请
@Override
public String PoliceReassignment(UpdateReassignmentReq req) {
//判断该警员是否已经在审核中,如果是的话,那么则提示报错,存草稿没事,但是一旦发起审核流,则需要进行判断
if (ObjectUtil.isNotNull(req.getProcessDefinitionId())){
Reassignment reassign = reassignmentService.list(new LambdaQueryWrapper<Reassignment>()
.eq(Reassignment::getPoliceId, req.getPoliceId())
.eq(Reassignment::getReassignmentType, "reassign")
.eq(Reassignment::getOrgId, req.getOrgId())
.isNotNull(Reassignment::getProcessId)
.eq(Reassignment::getExamineState,"working")
.orderByDesc(Reassignment::getCreateTime)).get(0);
if (ObjectUtil.isNotNull(reassign)){
throw new ServiceException(PolicemanExceptionEnum.POLICE_IS_IN_EXAMINE);
}
}
Reassignment reassignment1=null;
if (ObjectUtil.isNotNull(req.getId()) && !req.getId().trim().isEmpty()){
reassignment1 = reassignmentService.getById(req.getId());
}
if (reassignment1==null){
//判断是否有工作流id,如果有则将状态进行修改
if (ObjectUtil.isEmpty(req.getProcessDefinitionId())) {
req.setExamineState("none");
} else {
req.setExamineState("working");
}
}else {
//判断该单据是否可以进行修改(如果审核中则不允许修改)\
if (ObjectUtil.isNotNull(reassignment1.getExamineState()) && reassignment1.getExamineState().equals("working")){
throw new ServiceException(OrderExceptionEnum.ORDER_CAN_NOT_UPDATE);
}
}
Reassignment reassignment = new Reassignment();
BeanPlusUtil.copyProperties(req,reassignment);
......
package com.junmp.jyzb.utils;
import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.mapper.InventorySummaryMapper;
import com.junmp.v2.common.util.BeanPlusUtil;
import javax.annotation.Resource;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class BusinessUtil {
/**
* 创建补齐空数据
*/
public static <T> List<T> createNullData(Long size,Long pageNo,Long pageSize,Class<T> clazz) {
//余数
long num= size % pageSize;
//整数
long integer=size / pageSize;
List<T> collect1=new ArrayList<>();
if (num!=0){
//判断整数是什么,就在第几页进行补
if(pageNo-1==integer){
for (int i = 0; i < 10-num; i++) {
try {
// 通过传递的 Class 对象创建泛型对象实例
T instance = clazz.newInstance();
collect1.add(instance);
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
}else {
//判断总长度是否大于0,如果大于0则不处理,如果等于0,直接插10条数据
if (size>0){
for (int i = 0; i < 10; i++) {
try {
// 通过传递的 Class 对象创建泛型对象实例
T instance = clazz.newInstance();
collect1.add(instance);
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
return collect1;
}
/**
* 判断库存数量是否足够,然后返回入参查询出来的数量(如果传参的数据库存没有,那么直接创建一条库存数量为0新数据返回)
*/
public static <T> List<InventorySummary> returnInventorySumData(List<T> list,Class<T> clazz,List<InventorySummary> inventorySummaryList){
//判断装备的list是否和传入的list的size是否相等,如果相等则表示所有的库存数量都能查询到,如果不相等则进行遍历将不满足要求的进行新增一条装备数量为0的库存信息进行返回给前端
if (list.size()==inventorySummaryList.size()){
return inventorySummaryList;
}else {
List<InventorySummary> returnList = new ArrayList<>();
for (T inv : list) {
boolean flag = false;
Object orgIdValue=0L;
Object locationIdValue="";
Object typeIdValue="";
Object sizeIdValue="";
Object unitPriceValue;
for (InventorySummary is : inventorySummaryList) {
try {
Field orgIdField = clazz.getDeclaredField("orgId");
Field locationIdField = clazz.getDeclaredField("locationId");
Field typeIdField = clazz.getDeclaredField("typeId");
Field sizeIdField = clazz.getDeclaredField("sizeId");
Field unitPriceField = clazz.getDeclaredField("unitPrice");
orgIdField.setAccessible(true);
locationIdField.setAccessible(true);
typeIdField.setAccessible(true);
sizeIdField.setAccessible(true);
unitPriceField.setAccessible(true);
orgIdValue = orgIdField.get(inv);
locationIdValue = locationIdField.get(inv);
typeIdValue = typeIdField.get(inv);
sizeIdValue = sizeIdField.get(inv);
unitPriceValue = unitPriceField.get(inv);
if (orgIdValue.equals(is.getOrgId()) && locationIdValue.equals(is.getLocationId())
&& typeIdValue.equals(is.getTypeId()) && sizeIdValue.equals(is.getSizeId())
&& is.getUnitPrice().compareTo(new BigDecimal(unitPriceValue.toString())) == 0) {
flag = true;
returnList.add(is);
break;
}
}
catch (NoSuchFieldException | IllegalAccessException e) {
// 处理异常
}
}
if (!flag) {
InventorySummary inventorySummary = new InventorySummary();
// 设置属性值
inventorySummary.setOrgId((Long)orgIdValue);
inventorySummary.setLocationId((String) locationIdValue);
inventorySummary.setTypeId((String) typeIdValue);
inventorySummary.setSizeId((String) sizeIdValue);
inventorySummary.setUnitPrice(BigDecimal.ZERO);
inventorySummary.setStockNumber(0);
inventorySummary.setOutboundNumber(0);
inventorySummary.setPrice(BigDecimal.ZERO);
inventorySummary.setBrokenNumber(0);
inventorySummary.setDestructionNumber(0);
returnList.add(inventorySummary);
}
}
return returnList;
}
}
}
package com.junmp.jyzb.utils;
import java.util.ArrayList;
import java.util.List;
public class CreateNullData {
public static <T> List<T> createNullData(Long size,Long pageNo,Class<T> clazz) {
//余数
long num= size % 10;
//整数
long integer=size / 10;
List<T> collect1=new ArrayList<>();
if (num!=0){
//判断整数是什么,就在第几页进行补
if(pageNo-1==integer){
for (int i = 0; i < 10-num; i++) {
try {
// 通过传递的 Class 对象创建泛型对象实例
T instance = clazz.newInstance();
collect1.add(instance);
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
return collect1;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论