Commit fa41c7e7 by 李小惠

修改快速入库接口以及其他问题

parent ef0d24b6
...@@ -17,20 +17,28 @@ public class EqsSumDto implements Serializable { ...@@ -17,20 +17,28 @@ public class EqsSumDto implements Serializable {
* 装备类型名称 * 装备类型名称
*/ */
private String typeName; private String typeName;
/**
* 装备类型id
*/
private String sizeId;
/**
* 装备类型名称
*/
private String sizeName;
//组织机构id //组织机构id
private Long orgId; private Long orgId;
//组织机构名称 //组织机构名称
private String orgName; private String orgName;
//总数(在库数+出库数+销毁数 //总数(在库数+出库数)
private Integer totalSum; private Integer number;
//仓库在库数 //仓库在库数(包含报废区)
private Integer inSum; private Integer ckStockNumber;
//仓库出库数 //仓库出库数
private Integer outSum; private Integer ckOutboundNumber;
//单警柜出库数 //单警柜出库数
private Integer cabinetOutSum; private Integer djgOutboundNumber;
//单警柜在库数 //单警柜在库数
private Integer cabinetInSum; private Integer djgStockNumber;
//报废数 //销毁
private Integer brokenSum; private Integer destructionNumber;
} }
...@@ -36,17 +36,17 @@ public class LogDetailDto implements Serializable { ...@@ -36,17 +36,17 @@ public class LogDetailDto implements Serializable {
/** /**
* 装备名称 * 装备名称
*/ */
private String equipmentName; private String typeName;
/** /**
* 装备号型 * 装备号型
*/ */
private String equipmentSize; private String sizeName;
/** /**
* 供应商 * 供应商
*/ */
private String equipmentSupplier; private String supplierName;
/** /**
* 装备类型:0单件/1装备包 * 装备类型:0单件/1装备包
...@@ -100,4 +100,6 @@ public class LogDetailDto implements Serializable { ...@@ -100,4 +100,6 @@ public class LogDetailDto implements Serializable {
private String locationName; private String locationName;
private BigDecimal price; private BigDecimal price;
private String outInState;
} }
...@@ -19,11 +19,20 @@ public class ReassignmentDto { ...@@ -19,11 +19,20 @@ public class ReassignmentDto {
private String id; private String id;
/** /**
* 经办人
*/
private String userName;
/**
* 工作流id * 工作流id
*/ */
private String processId; private String processId;
/** /**
* 订单编号
*/
private String orderCode;
/**
* 调岗警员id * 调岗警员id
*/ */
private String policeId; private String policeId;
......
...@@ -18,8 +18,13 @@ public class TjOrgEqsDto { ...@@ -18,8 +18,13 @@ public class TjOrgEqsDto {
* 组织机构编码 * 组织机构编码
*/ */
private String orgCode; private String orgCode;
/**
* 上层组织机构id
*/
private Long parentId;
/** /**
* 装备总数(在库数+出库数+销毁数) * 装备总数
*/ */
private Integer totalNumber; private Integer totalNumber;
/** /**
...@@ -42,12 +47,7 @@ public class TjOrgEqsDto { ...@@ -42,12 +47,7 @@ public class TjOrgEqsDto {
* 销毁数 * 销毁数
*/ */
private Integer destructionNumber; private Integer destructionNumber;
/**
* 子节点 private List<EqsSumDto> children;
*/
List<TjOrgEqsDto> orgNode;
/**
* 装备名称汇总
*/
List<EqsSumDto> eqsList;
} }
package com.junmp.jyzb.api.bean.query;
import lombok.Data;
import java.util.List;
@Data
public class EpcCheckReq {
private List<String> epcList;
}
...@@ -19,13 +19,15 @@ public class QueryReassignmentReq extends BaseRequest { ...@@ -19,13 +19,15 @@ public class QueryReassignmentReq extends BaseRequest {
/** /**
* 经办人 * 经办人
*/ */
private String userId; private String userName;
/** /**
* 工作流id * 工作流id
*/ */
private String processDefinitionId; private String processDefinitionId;
private String orderCode;
/** /**
* 调岗警员id * 调岗警员id
*/ */
......
...@@ -17,6 +17,10 @@ public class UpdateReassignmentReq extends BaseRequest { ...@@ -17,6 +17,10 @@ public class UpdateReassignmentReq extends BaseRequest {
/** /**
* 经办人 * 经办人
*/ */
private String userName;
/**
* 申请人id
*/
private String userId; private String userId;
/** /**
...@@ -25,6 +29,11 @@ public class UpdateReassignmentReq extends BaseRequest { ...@@ -25,6 +29,11 @@ public class UpdateReassignmentReq extends BaseRequest {
private String processDefinitionId; private String processDefinitionId;
/** /**
* 业务类型
*/
private String bussinessType;
/**
* 调岗警员id * 调岗警员id
*/ */
private String policeId; private String policeId;
......
...@@ -43,7 +43,8 @@ public class InventoryController { ...@@ -43,7 +43,8 @@ public class InventoryController {
} }
//填充汇总信息(将表中的数据base_inventory_summary进行删除并且根据base_inventory表中数据同步) //填充汇总信息(根据base_inventory表中数据汇总同步)--第一次进行数据同步,适用于3.0初始化inventory_summary表
//该方法只有插入语句,要注意inventory_summary表中没有数据,仅有结构,否则数据不准确
@PostMapping("/SetInventoryMsg") @PostMapping("/SetInventoryMsg")
@ApiOperation("填充汇总表信息") @ApiOperation("填充汇总表信息")
public ApiRes<Boolean> setInventoryMsg() { public ApiRes<Boolean> setInventoryMsg() {
...@@ -231,7 +232,12 @@ public class InventoryController { ...@@ -231,7 +232,12 @@ public class InventoryController {
return ApiRes.success(inventorySummaryService.EquipmentStatistics(req)); return ApiRes.success(inventorySummaryService.EquipmentStatistics(req));
} }
//判断epc是否存在
@PostMapping("/checkEPCList")
@ApiOperation("判断epc是否存在")
public ApiRes<List<String>> checkEPCList(@RequestBody EpcCheckReq req){
return ApiRes.success(inventoryService.checkEPCList(req));
}
} }
...@@ -32,6 +32,12 @@ public class TjController { ...@@ -32,6 +32,12 @@ public class TjController {
@PostMapping("/TjOrgEqs") @PostMapping("/TjOrgEqs")
@ApiOperation("/装备统计报表") @ApiOperation("/装备统计报表")
public ApiRes<List<TjOrgEqsDto>> TjOrgEqs(@RequestBody InventoryReq req){ public ApiRes<List<TjOrgEqsDto>> TjOrgEqs(@RequestBody InventoryReq req){
return ApiRes.success(tjService.showOrgList(req.getOrgId(),true)); // return ApiRes.success(tjService.showOrgList(req.getOrgId(),true));
return ApiRes.success(tjService.showOrgEqsList(req));
}
@PostMapping("test")
public ApiRes<List<TjOrgEqsDto>> test(@RequestBody InventoryReq req){
return ApiRes.success(tjService.test(req));
} }
} }
...@@ -136,5 +136,11 @@ public class OrderMain implements Serializable { ...@@ -136,5 +136,11 @@ public class OrderMain implements Serializable {
@TableField("destory_name") @TableField("destory_name")
private String destoryName; private String destoryName;
@TableField("location_id")
private String locationId;
@TableField("location_name")
private String locationName;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -32,6 +32,12 @@ public class Reassignment implements Serializable { ...@@ -32,6 +32,12 @@ public class Reassignment implements Serializable {
private String processId; private String processId;
/** /**
* 订单编号
*/
@TableField(value = "order_code")
private String orderCode;
/**
* 调岗警员id * 调岗警员id
*/ */
@TableField(value = "police_id") @TableField(value = "police_id")
...@@ -77,6 +83,12 @@ public class Reassignment implements Serializable { ...@@ -77,6 +83,12 @@ public class Reassignment implements Serializable {
private String examineState; private String examineState;
/** /**
* 经办人
*/
@TableField(value = "user_name")
private String userName;
/**
* 申请时间 * 申请时间
*/ */
@TableField(value = "apply_time") @TableField(value = "apply_time")
......
...@@ -13,11 +13,9 @@ import com.junmp.jyzb.api.bean.req.UpdateBusFormReq; ...@@ -13,11 +13,9 @@ 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.api.bean.req.UpdateReassignmentReq;
import com.junmp.jyzb.entity.BusForm; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.entity.OrderDetail;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.entity.Reassignment;
import com.junmp.jyzb.service.*; import com.junmp.jyzb.service.*;
import com.junmp.jyzb.utils.DateTimeUtil;
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;
...@@ -35,8 +33,11 @@ import org.slf4j.LoggerFactory; ...@@ -35,8 +33,11 @@ import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -58,6 +59,9 @@ import java.util.stream.Collectors; ...@@ -58,6 +59,9 @@ import java.util.stream.Collectors;
@Resource @Resource
private ReassignmentService reassignmentService; private ReassignmentService reassignmentService;
@Resource
private StocktakeService stocktakeService;
protected Logger logger = LoggerFactory.getLogger(this.getClass()); protected Logger logger = LoggerFactory.getLogger(this.getClass());
@SneakyThrows @SneakyThrows
...@@ -71,52 +75,99 @@ import java.util.stream.Collectors; ...@@ -71,52 +75,99 @@ import java.util.stream.Collectors;
// 获取流程定义ID // 获取流程定义ID
String processDefinitionId = event.getProcessDefinitionId(); String processDefinitionId = event.getProcessDefinitionId();
List<HistoricVariableInstance> orderType = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).variableName("orderType").list(); List<HistoricVariableInstance> orderType = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).variableName("orderType").list();
if(orderType.size()>0) if(orderType.size()>0) {
{
String Type= orderType.get(0).getValue().toString();
String Type= orderType.get(0).getValue().toString(); if (Type.equals("workOrder"))//出入库单据
if (Type.equals("workOrder"))//出入库单据 {
{ OrderMainReq req=new OrderMainReq();
OrderMainReq req=new OrderMainReq(); req.setProcessId(processInstanceId);
req.setProcessId(processInstanceId); OrderMain existOrder= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>()
OrderMain existOrder= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>() .eq(OrderMain::getProcessId, req.getProcessId()));
.eq(OrderMain::getProcessId, req.getProcessId()) UpdateOrderReq updateOrderReq = new UpdateOrderReq();
); BeanPlusUtil.copyProperties(existOrder,updateOrderReq);
UpdateOrderReq updateOrderReq = new UpdateOrderReq(); List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
BeanPlusUtil.copyProperties(existOrder,updateOrderReq); .eq(OrderDetail::getOrderId, updateOrderReq.getId()));
List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>() updateOrderReq.setId(existOrder.getId());
.eq(OrderDetail::getOrderId, updateOrderReq.getId())); updateOrderReq.setExamineState("finished");
updateOrderReq.setId(existOrder.getId()); updateOrderReq.setOrderState("ready");
updateOrderReq.setExamineState("finished"); orderMainService.ChangeOrderState(updateOrderReq);
updateOrderReq.setOrderState("ready"); List<UpdateOrderDetailReq> collect = list.stream().map(orderDetail -> {
orderMainService.ChangeOrderState(updateOrderReq); UpdateOrderDetailReq updateOrderDetailReq = new UpdateOrderDetailReq();
List<UpdateOrderDetailReq> collect = list.stream().map(orderDetail -> { BeanPlusUtil.copyProperties(orderDetail, updateOrderDetailReq);
UpdateOrderDetailReq updateOrderDetailReq = new UpdateOrderDetailReq(); return updateOrderDetailReq;
BeanPlusUtil.copyProperties(orderDetail, updateOrderDetailReq); }).collect(Collectors.toList());
return updateOrderDetailReq; updateOrderReq.setDetailList(collect);
}).collect(Collectors.toList()); //将单据上传到rabbitmq
updateOrderReq.setDetailList(collect); orderMainService.AddFinishOrder(updateOrderReq);
//将单据上传到rabbitmq }
orderMainService.AddFinishOrder(updateOrderReq); //业务单据
} if (Type.equals("bussinessOrder")){
//业务单据 BusForm busForm = busFormService.getOne(new LambdaQueryWrapper<BusForm>()
if (Type.equals("bussinessOrder")){ .eq(BusForm::getProcessId, processInstanceId));
BusForm busForm = busFormService.getOne(new LambdaQueryWrapper<BusForm>() busForm.setExamineState("finished");
.eq(BusForm::getProcessId, processInstanceId)); busFormService.updateById(busForm);
busForm.setExamineState("finished"); }
busFormService.updateById(busForm); if (Type.equals("reassigment")){//调岗申请单
} Reassignment one = reassignmentService.getOne(new LambdaQueryWrapper<Reassignment>()
if (Type.equals("reassigment")){//调岗申请单 .eq(Reassignment::getProcessId, processInstanceId));
Reassignment one = reassignmentService.getOne(new LambdaQueryWrapper<Reassignment>() UpdateReassignmentReq updateReassignmentReq = new UpdateReassignmentReq();
.eq(Reassignment::getProcessId, processInstanceId)); BeanPlusUtil.copyProperties(one,updateReassignmentReq);
UpdateReassignmentReq updateReassignmentReq = new UpdateReassignmentReq(); policemanService.changePoliceOrg(updateReassignmentReq);
BeanPlusUtil.copyProperties(one,updateReassignmentReq); }
policemanService.changePoliceOrg(updateReassignmentReq); if (Type.equals("stocktakeOrder")){//盘库申请单
}
if (Type.equals("stocktakeOrder")){//盘库申请单 }
if (Type.equals("quickOrder")){
} //创建快速出库单并且通过快速出库单再去创建入库单(主单)
OrderMain orderMain = new OrderMain();
OrderMain existOrder= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>()
.eq(OrderMain::getProcessId, processInstanceId));
existOrder.setExamineState("finished");
existOrder.setOrderState("ready");
BeanPlusUtil.copyProperties(existOrder,orderMain);
orderMain.setEndOrgId(existOrder.getStartOrgId());
orderMain.setEndOrgName(existOrder.getStartOrgName());
orderMain.setOrderType("in");
orderMain.setId(UUID.randomUUID().toString());
//修改订单编号
UpdateOrderReq req = new UpdateOrderReq();
BeanPlusUtil.copyProperties(orderMain,req);
OrderNum orderNum = orderMainService.setOrderCode(req);
String codeValue=String.format("%04d",orderNum.getNum());
orderMain.setOrderCode(orderNum.getBussinessType()+orderNum.getYear()+
String.format("%02d",LocalDateTime.now().getMonth().getValue())+
String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
orderMainService.updateById(existOrder);
orderMainService.save(orderMain);
//创建子单
List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getOrderId, existOrder.getId()));
List<Object[]> searchCriteria=new ArrayList<>();
List<OrderDetail> collect = list.stream().map(orderDetail -> {
OrderDetail orderDetail1 = new OrderDetail();
BeanPlusUtil.copyProperties(orderDetail, orderDetail1);
//修改主单据id
orderDetail1.setOrderId(orderMain.getId());
//修改单据出入状态
orderDetail1.setType("in");
//修改仓库id
orderDetail1.setWarehouseId(orderMain.getLocationId());
orderDetail1.setWarehouseName(orderMain.getLocationName());
//新增创建时间
orderDetail1.setCreateTime(DateTimeUtil.getCurrentDateTime());
Object[] criteria=new Object[]{existOrder.getStartOrgId(),orderDetail.getWarehouseId(),orderDetail.getTypeId(),orderDetail.getSizeId(),orderDetail.getPrice()};
searchCriteria.add(criteria);
return orderDetail1;
}).collect(Collectors.toList());
orderDetailService.saveBatch(collect);
//将库存表中的装备的仓库id进行修改
//将summary汇总表中数据进行修改
}
} }
} }
......
...@@ -22,8 +22,6 @@ public interface InventoryMapper extends BaseMapper<Inventory> { ...@@ -22,8 +22,6 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
List<Map<String, Object>> getLocationInventory(@Param("queryType")String queryType, @Param("idMsg")String idMsg); List<Map<String, Object>> getLocationInventory(@Param("queryType")String queryType, @Param("idMsg")String idMsg);
//将表中数据全部删除(base_inventory_summary)
boolean deleteAllMsg();
//根据单警柜统计装备信息 //根据单警柜统计装备信息
boolean SetCabinetInventory(@Param("brokenNumberDays") Integer brokenNumberDays); boolean SetCabinetInventory(@Param("brokenNumberDays") Integer brokenNumberDays);
...@@ -59,4 +57,7 @@ public interface InventoryMapper extends BaseMapper<Inventory> { ...@@ -59,4 +57,7 @@ public interface InventoryMapper extends BaseMapper<Inventory> {
boolean insertInventorySummary(@Param("req") BatchEditingInvsReq req,@Param("brokenNumberDays")Integer brokenNumberDays); boolean insertInventorySummary(@Param("req") BatchEditingInvsReq req,@Param("brokenNumberDays")Integer brokenNumberDays);
//判断epc是否存在
List<String> checkEPCList(@Param("list") List<String> epcList);
} }
\ No newline at end of file
package com.junmp.jyzb.mapper; package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.api.bean.dto.InventorySumDto; import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.dto.NormalInOutDto; import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.dto.WarehouseDto;
import com.junmp.jyzb.api.bean.query.InventorySumReq; import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -38,4 +37,12 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { ...@@ -38,4 +37,12 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
//出入库时无单据查询库存汇总并统计更新或者记账时根据单据查询库存汇总并统计更新 //出入库时无单据查询库存汇总并统计更新或者记账时根据单据查询库存汇总并统计更新
List<InventorySummary> selectByItems(@Param("list") List<Object[]> searchCriteria); List<InventorySummary> selectByItems(@Param("list") List<Object[]> searchCriteria);
//根据组织机构查询报表中的本级及下一级信息
List<TjOrgEqsDto> getByOrgId(@Param("orgId") Long orgId);
List<EqsSumDto> getEqsByOrgId(@Param("list") List<Long> collect1,@Param("sizeId") String sizeId,@Param("typeId") String typeId);
List<TjOrgEqsDto> test(@Param("req") InventoryReq req);
List<TjOrgEqsDto> selectDynamicView();
} }
\ No newline at end of file
...@@ -79,5 +79,6 @@ public interface InventoryService extends IService<Inventory> { ...@@ -79,5 +79,6 @@ public interface InventoryService extends IService<Inventory> {
//批量信息修改 //批量信息修改
boolean BatchEditingInvsInfo(BatchEditingInvsReq req); boolean BatchEditingInvsInfo(BatchEditingInvsReq req);
//判断epc是否存在
List<String> checkEPCList(EpcCheckReq req);
} }
...@@ -11,6 +11,7 @@ import com.junmp.jyzb.api.bean.query.QueryOrderLogReq; ...@@ -11,6 +11,7 @@ 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;
import com.junmp.jyzb.entity.OrderMain; import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.entity.OrderNum;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import java.util.List; import java.util.List;
...@@ -50,4 +51,6 @@ public interface OrderMainService extends IService<OrderMain> { ...@@ -50,4 +51,6 @@ public interface OrderMainService extends IService<OrderMain> {
ProcessOrderDto GetByProcessId(OrderMainReq req); ProcessOrderDto GetByProcessId(OrderMainReq req);
OrderNum setOrderCode(UpdateOrderReq req);
} }
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.dto.TjOrgEqsDto; import com.junmp.jyzb.api.bean.dto.TjOrgEqsDto;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import java.util.List; import java.util.List;
public interface TjService { public interface TjService {
//根据组织机构获取当前组织机构和下一级组织机构 //根据组织机构获取当前组织机构和下一级组织机构
List<TjOrgEqsDto> showOrgList(Long orgId, boolean flag); List<TjOrgEqsDto> showOrgList(Long orgId, boolean flag);
List<TjOrgEqsDto> showOrgEqsList(InventoryReq req);
List<TjOrgEqsDto> test(InventoryReq req);
} }
...@@ -17,6 +17,7 @@ import com.junmp.jyzb.api.bean.req.UpdateBusFormReq; ...@@ -17,6 +17,7 @@ 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.InventorySummary;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.entity.OrderNum; import com.junmp.jyzb.entity.OrderNum;
import com.junmp.jyzb.mapper.InventorySummaryMapper; import com.junmp.jyzb.mapper.InventorySummaryMapper;
import com.junmp.jyzb.service.BusFormService; import com.junmp.jyzb.service.BusFormService;
......
...@@ -126,6 +126,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -126,6 +126,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
@Override @Override
@Transactional(rollbackFor = Exception.class)
public boolean setInventoryMsg(){ public boolean setInventoryMsg(){
//查询字典表中的临近报废天数 //查询字典表中的临近报废天数
SysDictItem sysDictItem = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>() SysDictItem sysDictItem = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
...@@ -137,13 +138,10 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -137,13 +138,10 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
}else { }else {
brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue()); brokenNumberDays=Integer.parseInt(sysDictItem.getItemValue());
} }
//清空数据库中已存在的信息
inventoryMapper.deleteAllMsg();
//放入单警柜信息汇总
boolean b = inventoryMapper.SetCabinetInventory(brokenNumberDays);
//放入仓库区域信息汇总 //放入仓库区域信息汇总
boolean b1 = inventoryMapper.SetWarehouseInventory(brokenNumberDays); boolean b1 = inventoryMapper.SetWarehouseInventory(brokenNumberDays);
//放入单警柜信息汇总
boolean b = inventoryMapper.SetCabinetInventory(brokenNumberDays);
return (b && b1); return (b && b1);
} }
...@@ -374,6 +372,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -374,6 +372,7 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
} }
} }
//修改库存信息汇总 //修改库存信息汇总
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean setInventorySummary(BatchEditingInvsReq req){ public boolean setInventorySummary(BatchEditingInvsReq req){
...@@ -596,7 +595,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory ...@@ -596,7 +595,11 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
} }
//判断epc是否存在
@Override
public List<String> checkEPCList(EpcCheckReq req) {
return inventoryMapper.checkEPCList(req.getEpcList());
}
......
...@@ -86,24 +86,6 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -86,24 +86,6 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
List<InventorySummary> list = list(wp); List<InventorySummary> list = list(wp);
long size = list(wp).size(); long size = list(wp).size();
// Page<InventorySummary> sumList= this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()),wp);
// List<InventorySummary> records = sumList.getRecords();
// List<InventorySummary> collect = list.stream().map(data -> {
// Inventory inventory = inventoryService.list(new LambdaQueryWrapper<Inventory>()
// .eq(Inventory::getOrgId, data.getOrgId())
// .eq(Inventory::getSizeId, data.getSizeId())
// .eq(Inventory::getTypeId, data.getTypeId())).get(0);
//教学使用说明
// String instructions = equipmentSizeService.getOne(new LambdaQueryWrapper<EquipmentSize>()
// .eq(EquipmentSize::getId, data.getSizeId())).getInstructions();
// data.setInstructions(instructions);
// data.setWarrantyPeriod(inventory.getWarrantyPeriod());
// data.setMaintenancePeriod(inventory.getMaintenancePeriod());
// String photo = equipmentSizeService.getOne(new LambdaQueryWrapper<EquipmentSize>().eq(EquipmentSize::getId,inventory.getSizeId())).getPhoto();
// data.setPhoto(photo);
// return data;
// }).collect(Collectors.toList());
//对该装备typeId进行排序 //对该装备typeId进行排序
Collections.sort(list, new Comparator<InventorySummary>() { Collections.sort(list, new Comparator<InventorySummary>() {
@Override @Override
......
...@@ -8,9 +8,11 @@ import com.junmp.jyzb.api.bean.query.InventoryReq; ...@@ -8,9 +8,11 @@ import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.LogDetailReq; import com.junmp.jyzb.api.bean.query.LogDetailReq;
import com.junmp.jyzb.api.bean.query.LogSummaryReq; import com.junmp.jyzb.api.bean.query.LogSummaryReq;
import com.junmp.jyzb.entity.LogDetail; import com.junmp.jyzb.entity.LogDetail;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.service.InventoryService; import com.junmp.jyzb.service.InventoryService;
import com.junmp.jyzb.service.LogDetailService; import com.junmp.jyzb.service.LogDetailService;
import com.junmp.jyzb.mapper.LogDetailMapper; import com.junmp.jyzb.mapper.LogDetailMapper;
import com.junmp.jyzb.service.OrderMainService;
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;
...@@ -37,6 +39,9 @@ public class LogDetailServiceImpl extends ServiceImpl<LogDetailMapper, LogDetail ...@@ -37,6 +39,9 @@ public class LogDetailServiceImpl extends ServiceImpl<LogDetailMapper, LogDetail
@Resource @Resource
private LogDetailMapper logDetailMapper; private LogDetailMapper logDetailMapper;
@Resource
private OrderMainService orderMainService;
//根据logSumId查询详情 //根据logSumId查询详情
@Override @Override
public List<LogDetailDto> GetDetailByLogSumId(LogDetailReq req) { public List<LogDetailDto> GetDetailByLogSumId(LogDetailReq req) {
......
...@@ -35,6 +35,8 @@ import com.junmp.v2.dict.service.SysDictItemService; ...@@ -35,6 +35,8 @@ import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.dict.service.SysDictService; 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.flowable.engine.TaskService;
import org.flowable.task.api.Task;
import org.springframework.amqp.core.Queue; import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitAdmin; import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
...@@ -101,6 +103,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -101,6 +103,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Resource @Resource
private SysDictService sysDictService; private SysDictService sysDictService;
@Resource
protected TaskService taskService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
...@@ -152,25 +157,47 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -152,25 +157,47 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
order.setInventoryQuantity(sumNum); order.setInventoryQuantity(sumNum);
order.setCreateTime(DateTimeUtil.getCurrentDateTime()); order.setCreateTime(DateTimeUtil.getCurrentDateTime());
//执行工作流 //执行工作流
if (req.getExamineState().equals("working")) String processInstanceId = null;
if (req.getExamineState().equals("working") && !req.getBussinessType().equals("quick"))//其他出入库单
{ {
StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO(); StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId()); startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
startProcessInstanceDTO.setOrderId(order.getId()); startProcessInstanceDTO.setOrderId(order.getId());
startProcessInstanceDTO.setOrderType("workOrder"); startProcessInstanceDTO.setOrderType("workOrder");
startProcessInstanceDTO.setUserId(req.getUserId()); startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
order.setProcessId(ProcessInstanceId);
} }else {//快速移库单
if (ObjectUtil.isNotNull(req.getId()) && ! req.getId().trim().isEmpty()){ StartProcessInstanceDTO startProcessInstanceDTO=new StartProcessInstanceDTO();
updateById(order); startProcessInstanceDTO.setProcessDefinitionId(req.getProcessDefinitionId());
}else { startProcessInstanceDTO.setOrderId(order.getId());
//保存 startProcessInstanceDTO.setOrderType("quickOrder");
this.save(order); startProcessInstanceDTO.setUserId(req.getUserId());
processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
} }
//list返回数据 //list返回数据
List<String> list=new ArrayList<>(); List<String> list=new ArrayList<>();
if (processInstanceId.substring(0,2).equals("TG")){
String substring = processInstanceId.substring(2);
order.setProcessId(substring);
if (ObjectUtil.isNotNull(req.getId()) && !req.getId().trim().isEmpty()) {
updateById(order);
} else {
//保存
this.save(order);
}
Task currentTask = taskService.createTaskQuery().processInstanceId(substring).singleResult();
// 直接完成当前任务
taskService.complete(currentTask.getId());
}else {
order.setProcessId(processInstanceId);
if (ObjectUtil.isNotNull(req.getId()) && !req.getId().trim().isEmpty()) {
updateById(order);
} else {
//保存
this.save(order);
}
}
list.add(order.getId()); list.add(order.getId());
for (OrderDetail orderDetail:detailList) { for (OrderDetail orderDetail:detailList) {
list.add(Long.toString(orderDetail.getId())); list.add(Long.toString(orderDetail.getId()));
...@@ -388,14 +415,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -388,14 +415,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for (OrderDetail orderDetail:list) { for (OrderDetail orderDetail:list) {
OrderDetailDto orderDetailDto = new OrderDetailDto(); OrderDetailDto orderDetailDto = new OrderDetailDto();
BeanPlusUtil.copyProperties(orderDetail,orderDetailDto); BeanPlusUtil.copyProperties(orderDetail,orderDetailDto);
if (orderMain.getOrderType().equals("out")){ // if (orderMain.getOrderType().equals("out")){
InventorySummary one = inventorySummaryService.getOne(new LambdaQueryWrapper<InventorySummary>() // InventorySummary one = inventorySummaryService.getOne(new LambdaQueryWrapper<InventorySummary>()
.eq(InventorySummary::getLocationId, orderDetail.getWarehouseId()) // .eq(InventorySummary::getLocationId, orderDetail.getWarehouseId())
.eq(InventorySummary::getSizeId, orderDetail.getSizeId()) // .eq(InventorySummary::getSizeId, orderDetail.getSizeId())
.eq(InventorySummary::getTypeId, orderDetail.getTypeId()) // .eq(InventorySummary::getTypeId, orderDetail.getTypeId())
.eq(InventorySummary::getUnitPrice, orderDetail.getPrice())); // .eq(InventorySummary::getUnitPrice, orderDetail.getPrice()));
orderDetailDto.setStockNumber(one.getStockNumber()); // orderDetailDto.setStockNumber(one.getStockNumber());
} // }
orderDetailDtoList.add(orderDetailDto); orderDetailDtoList.add(orderDetailDto);
} }
orderDto.setDetailList(orderDetailDtoList); orderDto.setDetailList(orderDetailDtoList);
......
...@@ -61,6 +61,7 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -61,6 +61,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -109,6 +110,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -109,6 +110,9 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
@Resource @Resource
private PoliceFaceService policeFaceService; private PoliceFaceService policeFaceService;
@Resource
private StocktakeService stocktakeService;
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_";
...@@ -696,13 +700,20 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -696,13 +700,20 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
BeanPlusUtil.copyProperties(req,reassignment); BeanPlusUtil.copyProperties(req,reassignment);
//先判断该单据id是否存在,如果存在,进行更新操作即可 //先判断该单据id是否存在,如果存在,进行更新操作即可
if (ObjectUtil.isNotNull(req.getId()) && ! req.getId().trim().isEmpty() && ObjectUtil.isEmpty(req.getProcessDefinitionId())){ if (ObjectUtil.isNotNull(req.getId()) && ! req.getId().trim().isEmpty() && ObjectUtil.isNull(req.getProcessDefinitionId())){
reassignment.setUpdateTime(DateTimeUtil.getCurrentDateTime()); reassignment.setUpdateTime(DateTimeUtil.getCurrentDateTime());
reassignmentService.updateById(reassignment); reassignmentService.updateById(reassignment);
return reassignment.getId(); return reassignment.getId();
} }
reassignment.setCreateTime(DateTimeUtil.getCurrentDateTime()); reassignment.setCreateTime(DateTimeUtil.getCurrentDateTime());
reassignmentService.save(reassignment); if (ObjectUtil.isNull(req.getId()) || req.getId().isEmpty()){
OrderNum orderNum = stocktakeService.setOrderCode("", req.getOrgId());
String codeValue=String.format("%04d",orderNum.getNum());
reassignment.setOrderCode(orderNum.getBussinessType()+orderNum.getYear()+
String.format("%02d", LocalDateTime.now().getMonth().getValue())+
String.format("%02d",LocalDateTime.now().getDayOfMonth())+codeValue);
reassignmentService.save(reassignment);
}
//执行工作流 //执行工作流
if (req.getExamineState().equals("working")) if (req.getExamineState().equals("working"))
{ {
...@@ -732,7 +743,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -732,7 +743,7 @@ 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(!req.getExamineState().equals("all"), Reassignment::getExamineState, req.getExamineState()) .eq(ObjectUtil.isNotNull(req.getExamineState()) && !req.getExamineState().trim().isEmpty(), 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())
......
...@@ -10,6 +10,7 @@ import com.junmp.jyzb.api.bean.dto.StocktakeDto; ...@@ -10,6 +10,7 @@ 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.api.exception.enums.OrderExceptionEnum; import com.junmp.jyzb.api.exception.enums.OrderExceptionEnum;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.entity.OrderNum; import com.junmp.jyzb.entity.OrderNum;
import com.junmp.jyzb.entity.Stocktake; import com.junmp.jyzb.entity.Stocktake;
import com.junmp.jyzb.service.OrderNumService; import com.junmp.jyzb.service.OrderNumService;
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.api.bean.dto.EqsSumDto;
import com.junmp.jyzb.api.bean.dto.OrgDto;
import com.junmp.jyzb.api.bean.dto.TjOrgEqsDto; import com.junmp.jyzb.api.bean.dto.TjOrgEqsDto;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.entity.PubOrg; import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.mapper.InventorySummaryMapper;
import com.junmp.jyzb.mapper.PubOrgMapper; import com.junmp.jyzb.mapper.PubOrgMapper;
import com.junmp.jyzb.service.InventorySummaryService;
import com.junmp.jyzb.service.PubOrgService; import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.service.TjService; import com.junmp.jyzb.service.TjService;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.Collections; import java.util.stream.Collectors;
import java.util.Comparator;
import java.util.List;
@Service @Service
public class TjServiceImpl implements TjService { public class TjServiceImpl implements TjService {
...@@ -22,6 +25,9 @@ public class TjServiceImpl implements TjService { ...@@ -22,6 +25,9 @@ public class TjServiceImpl implements TjService {
@Resource @Resource
private PubOrgService pubOrgService; private PubOrgService pubOrgService;
@Resource
private InventorySummaryMapper inventorySummaryMapper;
/** /**
* 根据当前组织机构获取本级及下一级的组织机构 * 根据当前组织机构获取本级及下一级的组织机构
* @param orgId * @param orgId
...@@ -44,7 +50,6 @@ public class TjServiceImpl implements TjService { ...@@ -44,7 +50,6 @@ public class TjServiceImpl implements TjService {
BeanPlusUtil.copyProperties(pubOrg,tjOrgEqsDto2); BeanPlusUtil.copyProperties(pubOrg,tjOrgEqsDto2);
compare2.add(0,tjOrgEqsDto2); compare2.add(0,tjOrgEqsDto2);
} }
tjOrgEqsDto.setOrgNode(compare2);
returnList.add(tjOrgEqsDto); returnList.add(tjOrgEqsDto);
//获取该组织机构下一层数据,仅限一层 //获取该组织机构下一层数据,仅限一层
...@@ -53,14 +58,13 @@ public class TjServiceImpl implements TjService { ...@@ -53,14 +58,13 @@ public class TjServiceImpl implements TjService {
if (flag){ if (flag){
for (TjOrgEqsDto one:compare1) { for (TjOrgEqsDto one:compare1) {
List<TjOrgEqsDto> tjOrgEqsDtos = showOrgList(one.getOrgId(), false); List<TjOrgEqsDto> tjOrgEqsDtos = showOrgList(one.getOrgId(), false);
one.setOrgNode(tjOrgEqsDtos);
} }
} }
returnList.addAll(compare1); returnList.addAll(compare1);
return returnList; return returnList;
} }
public List<TjOrgEqsDto> compare(List<TjOrgEqsDto> list){ public List<TjOrgEqsDto> compare(List<TjOrgEqsDto> list){
Comparator<TjOrgEqsDto> orgComparator = (value1, value2) -> { Comparator<TjOrgEqsDto> orgComparator = (value1, value2) -> {
...@@ -94,4 +98,68 @@ public class TjServiceImpl implements TjService { ...@@ -94,4 +98,68 @@ public class TjServiceImpl implements TjService {
} }
//装备统计报表
@Override
public List<TjOrgEqsDto> showOrgEqsList(InventoryReq req) {
//我先查询出他组织机构id中的数据,然后放在list的第一个,然后将他的下一层全部查询出来以后,根据组织机构编号进行比较,最终输出一个有序的list返回
List<TjOrgEqsDto> list= inventorySummaryMapper.getByOrgId(req.getOrgId());
List<Long> collect1 = list.stream().map(tjOrgEqsDto -> {
Long orgId=tjOrgEqsDto.getOrgId();
return orgId;
}).collect(Collectors.toList());
//将组织机构下库存信息信息查询出来
List<EqsSumDto> childrenList=inventorySummaryMapper.getEqsByOrgId(collect1,req.getTypeId(),req.getSizeId());
Map<Long, List<EqsSumDto>> eqsSumDtoMap = new HashMap<>();
for (EqsSumDto eqsSumDto : childrenList) {
Long orgId = eqsSumDto.getOrgId();
if (eqsSumDtoMap.containsKey(orgId)) {
List<EqsSumDto> eqsSumDtoList = eqsSumDtoMap.get(orgId);
eqsSumDtoList.add(eqsSumDto);
} else {
List<EqsSumDto> eqsSumDtoList = new ArrayList<>();
eqsSumDtoList.add(eqsSumDto);
eqsSumDtoMap.put(orgId, eqsSumDtoList);
}
}
for (TjOrgEqsDto tjOrgEqsDto : list) {
Long orgId = tjOrgEqsDto.getOrgId();
if (eqsSumDtoMap.containsKey(orgId)) {
List<EqsSumDto> eqsSumDtoList = eqsSumDtoMap.get(orgId);
tjOrgEqsDto.setChildren(eqsSumDtoList);
}
}
//对查询的组织机构进行有序排列
List<TjOrgEqsDto> collect = list.stream()
.sorted((o1, o2) -> {
String orgCode1 = o1.getOrgCode();
String orgCode2 = o2.getOrgCode();
// Check if either orgCode contains letters
boolean hasLetter1 = orgCode1.matches(".*[a-zA-Z].*");
boolean hasLetter2 = orgCode2.matches(".*[a-zA-Z].*");
if (hasLetter1 && hasLetter2) {
return orgCode1.compareTo(orgCode2); // Alphabetical order
} else if (hasLetter1) {
return 1; // o2 with letters should come first
} else if (hasLetter2) {
return -1; // o1 with letters should come first
} else {
return orgCode1.compareTo(orgCode2); // Numeric order
}
})
.collect(Collectors.toList());
return collect;
}
@Override
public List<TjOrgEqsDto> test(InventoryReq req) {
List<TjOrgEqsDto> tJOrgEqsDtoList = inventorySummaryMapper.test(req);
List<TjOrgEqsDto> dynamicViewList = inventorySummaryMapper.selectDynamicView();
return dynamicViewList;
}
} }
...@@ -37,7 +37,7 @@ public class ClearLogAction implements JobAction { ...@@ -37,7 +37,7 @@ public class ClearLogAction implements JobAction {
@Override @Override
public void action() { public void action() {
// //获取两月前的日期 // //获取两月前的日期
//// ConfigExpander.getClearLogOffsetValue() // ConfigExpander.getClearLogOffsetValue()
// Integer offset = 60; // Integer offset = 60;
// //Date maxTime = DateUtil.offsetMonth(new Date(), offset); // //Date maxTime = DateUtil.offsetMonth(new Date(), offset);
// Date maxTime = DateUtil.offsetDay(new Date(),offset); // Date maxTime = DateUtil.offsetDay(new Date(),offset);
......
...@@ -12,7 +12,7 @@ public class UpdateSummaryAction implements JobAction { ...@@ -12,7 +12,7 @@ public class UpdateSummaryAction implements JobAction {
@Resource @Resource
private InventoryService inventoryService; private InventoryService inventoryService;
public void action(){ public void action(){
inventoryService.setInventoryMsg(); // inventoryService.setInventoryMsg();
} }
......
...@@ -71,17 +71,13 @@ ...@@ -71,17 +71,13 @@
</select> </select>
<delete id="deleteAllMsg">
delete from base_inventory_summary
</delete>
<insert id="SetCabinetInventory"> <insert id="SetCabinetInventory">
INSERT INTO base_inventory_summary (id,org_id_int,org_name,type_id, type_name,size_id,size_name,location_id,location_name, INSERT INTO base_inventory_summary_type2 (id,org_id_int,org_name, org_code,type_id,type_name,size_id,size_name,location_id,location_name,
number,unit_price,price,stock_number, outbound_number,destruction_number,expire_number, number,unit_price,price,stock_number, outbound_number,destruction_number,expire_number,
broken_number,use_number,near_broken_number,location_type,create_time,update_time) broken_number,use_number,near_broken_number,location_type,create_time,update_time)
select select
MAX(t.id) as id,t.orgId,t.orgName,t.type_id,t.typeName,t.size_id,t.sizeName,t.locationId,t.locationName,sum(t.number) as number, MAX(t.id) as id,t.orgId,t.orgName,t.orgCode,t.type_id,t.typeName,t.size_id,t.sizeName,t.locationId,t.locationName,sum(t.number) as number,
t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber, t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber,
sum(t.destructionNumber)as destructionNumber,sum(t.expireNumber)as expireNumber,sum(t.brokenNumber)as brokenNumber, sum(t.destructionNumber)as destructionNumber,sum(t.expireNumber)as expireNumber,sum(t.brokenNumber)as brokenNumber,
sum(t.useNumber)as useNumber,sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW() sum(t.useNumber)as useNumber,sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
...@@ -90,6 +86,7 @@ delete from base_inventory_summary ...@@ -90,6 +86,7 @@ delete from base_inventory_summary
UUID() as id, UUID() as id,
bi.org_id_int as orgId, bi.org_id_int as orgId,
po.org_name as orgName, po.org_name as orgName,
po.org_code as orgCode,
bcb.cabinet_id as locationId, bcb.cabinet_id as locationId,
bc.name as locationName, bc.name as locationName,
bi.type_id, bi.type_id,
...@@ -122,11 +119,11 @@ delete from base_inventory_summary ...@@ -122,11 +119,11 @@ delete from base_inventory_summary
</insert> </insert>
<insert id="SetWarehouseInventory"> <insert id="SetWarehouseInventory">
INSERT INTO base_inventory_summary (id,org_id_int,org_name,location_id,location_name,type_id, type_name,size_id, INSERT INTO base_inventory_summary_type2 (id,org_id_int,org_name,org_code,location_id,location_name,type_id, type_name,size_id,
size_name,number,unit_price,price, stock_number, outbound_number,destruction_number, size_name,number,unit_price,price, stock_number, outbound_number,destruction_number,
expire_number,broken_number,use_number,near_broken_number,location_type,create_time,update_time) expire_number,broken_number,use_number,near_broken_number,location_type,create_time,update_time)
select select
MAX(t.id) as id,t.orgId,t.orgName,t.locationId,MAX(t.locationName),t.type_id,t.typeName,t.size_id,t.sizeName,sum(t.number) as number, MAX(t.id) as id,t.orgId,t.orgName,t.orgCode,t.locationId,MAX(t.locationName),t.type_id,t.typeName,t.size_id,t.sizeName,sum(t.number) as number,
t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber, t.unitPrice,sum(t.price)as price,sum(t.stockNumber)as stockNumber,sum(t.outboundNumber)as outboundNumber,
sum(t.destructionNumber)as destructionNumber,sum(t.destructionNumber) as expireNumber,sum(t.brokenNumber)as brokenNumber,sum(t.useNumber)as useNumber, sum(t.destructionNumber)as destructionNumber,sum(t.destructionNumber) as expireNumber,sum(t.brokenNumber)as brokenNumber,sum(t.useNumber)as useNumber,
sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW() sum(t.nearBrokenNumber)as nearBrokenNumber,t.location_type,NOW(),NOW()
...@@ -135,6 +132,7 @@ delete from base_inventory_summary ...@@ -135,6 +132,7 @@ delete from base_inventory_summary
UUID() as id, UUID() as id,
bi.org_id_int as orgId, bi.org_id_int as orgId,
po.org_name as orgName, po.org_name as orgName,
po.org_code as orgCode,
bi.location_id as locationId, bi.location_id as locationId,
bw.name as locationName, bw.name as locationName,
bi.type_id, bi.type_id,
...@@ -462,7 +460,12 @@ delete from base_inventory_summary ...@@ -462,7 +460,12 @@ delete from base_inventory_summary
GROUP BY type_id,size_id,bi.org_id_int,bi.area_id GROUP BY type_id,size_id,bi.org_id_int,bi.area_id
ORDER BY type_id,size_id ORDER BY type_id,size_id
</select> </select>
<select id="checkEPCList" resultType="java.lang.String">
select epc FROM base_inventory where epc in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -256,6 +256,7 @@ ...@@ -256,6 +256,7 @@
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} FROM base_inventory_summary where org_id_int=#{req.orgId}
</select> </select>
<select id="selectByEqs" resultType="com.junmp.jyzb.entity.InventorySummary"> <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, 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 MAX(type_name) as typeName,org_id_int as orgId,MAX(org_name) as orgName
...@@ -271,6 +272,45 @@ ...@@ -271,6 +272,45 @@
) )
</foreach> </foreach>
</select> </select>
<select id="getByOrgId" resultType="com.junmp.jyzb.api.bean.dto.TjOrgEqsDto"
parameterType="java.lang.Long">
select * from view_orgeqs_sum where org_id=#{orgId} or parent_id=#{orgId}
</select>
<select id="getEqsByOrgId" resultType="com.junmp.jyzb.api.bean.dto.EqsSumDto">
SELECT type_id,max(type_name) as type_name,org_id_int as org_id,max(org_name) as org_name,
<if test="sizeId !=null and sizeId != ''">
size_id,max(size_name) as size_name,
</if>
(sum((case when (`its`.`location_type` = 0) then `its`.`stock_number` else 0 end))+sum((case when (`its`.`location_type` = 0) then `its`.`outbound_number` else 0 end))+sum((case when (`its`.`location_type` = 0) then `its`.`destruction_number` else 0 end))) as number,
sum((case when (`its`.`location_type` = 0) then `its`.`stock_number` else 0 end)) AS `ck_stock_number`,
sum((case when (`its`.`location_type` = 0) then `its`.`outbound_number` else 0 end)) AS `ck_outbound_number`,
sum((case when (`its`.`location_type` = 0) then `its`.`destruction_number` else 0 end)) AS `destruction_number`,
sum((case when (`its`.`location_type` = 1) then `its`.`stock_number` else 0 end)) AS `djg_stock_number`,
sum((case when (`its`.`location_type` = 1) then `its`.`outbound_number` else 0 end)) AS `djg_outbound_number`
FROM `base_inventory_summary_type2` its
where org_id_int IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="typeId !=null and typeId != ''">
and type_id=#{typeId}
</if>
<if test="sizeId !=null and sizeId != ''">
and size_id=#{sizeId}
</if>
GROUP BY org_id_int,type_id
<if test="sizeId !=null and sizeId != ''">
,size_id
</if>
</select>
<select id="test" resultType="com.junmp.jyzb.api.bean.dto.TjOrgEqsDto" statementType="CALLABLE">
{CALL view_sum_total(#{req.typeId, mode=IN, jdbcType=VARCHAR})}
</select>
<select id="selectDynamicView" resultType="com.junmp.jyzb.api.bean.dto.TjOrgEqsDto">
SELECT * FROM dynamic_view
</select>
<delete id="deleteByWarehouse" <delete id="deleteByWarehouse"
parameterType="com.junmp.jyzb.api.bean.dto.WarehouseDto"> parameterType="com.junmp.jyzb.api.bean.dto.WarehouseDto">
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
join base_log_summary ls on ld.summary_id=ls.id and ld.summary_id=#{summaryId} join base_log_summary ls on ld.summary_id=ls.id and ld.summary_id=#{summaryId}
</select> </select>
<select id="ShowInOutRecordsByOrder" resultType="com.junmp.jyzb.api.bean.dto.LogDetailDto"> <select id="ShowInOutRecordsByOrder" resultType="com.junmp.jyzb.api.bean.dto.LogDetailDto">
SELECT ls.location_name,ls.order_main_id,ld.* FROM base_log_summary ls SELECT ls.location_name,ls.order_main_id,ls.out_in_state,ld.* FROM base_log_summary ls
join base_log_detail ld on ld.summary_id=ls.id and ls.order_main_id=#{orderMainId} join base_log_detail ld on ld.summary_id=ls.id and ls.order_main_id=#{orderMainId}
</select> </select>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>junmp-jyzb-app</artifactId>
<groupId>com.junmp.jyzb</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jyzb-boot</artifactId>
<version>1.0.0</version>
<name>jyzb-boot</name>
<packaging>war</packaging>
<<<<<<< HEAD
=======
>>>>>>> develop
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>log-biz-manage</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>v2-security-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>v2-config-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>v2-db-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>v2-log-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>swagger2-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>v2-redis-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>file-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>system-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>auth-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>validator-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>job-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.jyzb</groupId>
<artifactId>jyzb-biz</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.jyzb</groupId>
<artifactId>jyzb-process</artifactId>
</dependency>
<!--MQTT-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-integration</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>
</dependencies>
<build>
<finalName>jyzb-boot</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- 如果没有该项配置,则devtools不会起作用,即应用不会restart -->
<mainClass>com.junmp.jyzb.boot.JyzbBootApplication</mainClass>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
</project>
scanner:
open: false
# 配置第三方请求
junmp:
swagger:
base-package: com.junmp
id:
worker-id: 1
data-center-id: 1
epoch: 1656036996843
max: 9999
log:
type: db
ds: true #是否多数据源
knife4j:
enable: true
setting:
enableDebug: false
# basic:
# enable: true
# username: ning
# password: ning
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
<<<<<<< HEAD
url: jdbc:mysql://192.168.3.128:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
=======
url: jdbc:mysql://192.168.3.128/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
>>>>>>> ce2cec735d8197f0f6b77fb7df738d825354bd3c
username: junmp
password: 123456
redis:
#host: 192.168.3.188
host: 192.168.3.188
port: 6379
database: 1
password:
flowable:
dmn:
enabled: false
cmmn:
enabled: false
idm:
enabled: false
async-history-executor-activate: false
async-executor-activate: false
check-process-definitions: false
content:
enabled: false
app:
enabled: false
eventregistry:
enabled: false
#mybatis plus 设置
mybatis-plus:
configuration:
cache-enabled: true
lazy-loading-enabled: true
multiple-result-sets-enabled: true
map-underscore-to-camel-case: true #开启驼峰命名
global-config:
banner: false
enable-sql-runner: true
db-config:
id-type: assign_id
table-underline: true
# mapper-locations: classpath*:com/junmp/junmpProcess/mapper/**/xml/*Mapper.xml
mapper-locations: classpath*:/mapper/**/*Mapper.xml
flowable:
dmn:
enabled: false
cmmn:
enabled: false
idm:
enabled: false
async-history-executor-activate: false
async-executor-activate: false
check-process-definitions: false
content:
enabled: false
app:
enabled: false
eventregistry:
enabled: false
com:
mqtt:
url: tcp://broker.emqx.io:1883 #这里要写 tcp:// 不能是 mqtt,不然不是合法的 schema,源码中有
clientId: mqtt_test_spring
topics: iot/#,home/#
username: admin
password: public
timeout: 10
keepalive: 20
\ No newline at end of file
package com.junmp.junmpProcess.service.impl; package com.junmp.junmpProcess.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -51,6 +52,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -51,6 +52,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
@Resource @Resource
private SysUserService sysUserService; private SysUserService sysUserService;
@Override @Override
public void updateState(Integer state, String instanceId) { public void updateState(Integer state, String instanceId) {
// 激活 // 激活
...@@ -130,16 +132,8 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -130,16 +132,8 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
} }
ProcessInstanceBuilder processInstanceBuilder = runtimeService.createProcessInstanceBuilder(); ProcessInstanceBuilder processInstanceBuilder = runtimeService.createProcessInstanceBuilder();
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(processInstanceDto.getProcessDefinitionId()) // ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(processInstanceDto.getProcessDefinitionId())
.latestVersion().singleResult(); // .latestVersion().singleResult();
// if (processDefinition == null )
// {
// return ApiRes.failure("流程不存在或已挂起");
// } else if (processDefinition.isSuspended())
// {
// return ApiRes.failure("流程不存在或已挂起");
// }
// try {
ProcessInstance processInstance = processInstanceBuilder ProcessInstance processInstance = processInstanceBuilder
...@@ -152,12 +146,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -152,12 +146,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
Object skip = runtimeService.getVariable(processInstance.getId(), "skip"); Object skip = runtimeService.getVariable(processInstance.getId(), "skip");
if (ObjectUtils.isNotEmpty(skip) && BooleanUtils.toBoolean(skip.toString())){ if (ObjectUtils.isNotEmpty(skip) && BooleanUtils.toBoolean(skip.toString())){
return "TG"+processInstance.getId();
Task currentTask = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
// 直接完成当前任务
taskService.complete(currentTask.getId());
return processInstance.getId();
} }
else else
{ {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论