Commit 91081fd2 by 李小惠

修改记账接口,修改我的事务查询条件

parent f85b2623
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
package com.junmp.jyzb.api.bean.query.InAndOutRecordReq;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class DetailJsonReq {
......@@ -18,4 +20,6 @@ public class DetailJsonReq {
//Epc类型(0固定资产1库存物资非固定资产)
private Integer property;
private List<InventoryReq> InfoList;
}
......@@ -97,18 +97,13 @@ public class TjController {
return ApiRes.success(tjService.TjOrgPriceSum(req));
}
@PostMapping("/TjOrgPriceDetail")
@ApiOperation("/查询组织机构下的财务统计明细")
@ApiOperation("/查询组织机构下的财务统计明细二层结构(改)")
public ApiRes<List<TjOrgPriceDto>> TjOrgPriceDetail(@RequestBody TjOrgPriceReq req){
return ApiRes.success(tjService.TjOrgPriceDetail(req));
}
@PostMapping("/TjOrgPriceDetail1")
@ApiOperation("/查询组织机构下的财务统计明细二层结构(改)")
public ApiRes<List<TjOrgPriceDto>> TjOrgPriceDetail1(@RequestBody TjOrgPriceReq req){
return ApiRes.success(tjService.TjOrgPriceDetail1(req));
}
@PostMapping("/TjOrgPriceDetailList")
@ApiOperation("/查询组织机构下的财务统计明细(改)")
......@@ -144,11 +139,6 @@ public class TjController {
public ApiRes<List<TjOrgCountDto>> TjOrgPriceDetail(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.TjOrgCountDetail(req));
}
@PostMapping("/TjOrgCountDetail1")
@ApiOperation("/查询组织机构下的使用统计明细")
public ApiRes<List<TjOrgCountDto>> TjOrgPriceDetail1(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.TjOrgCountDetail1(req));
}
@PostMapping("/TjOrgCountDetailList")
......
......@@ -33,6 +33,15 @@ public class WarehouseInventory implements Serializable {
@TableField(value = "type_id")
private String typeId;
@TableField(value = "type_name")
// @TableField(exist = false)
private String typeName;
@TableField(value = "size_name")
// @TableField(exist = false)
private String sizeName;
@TableField(value = "org_name")
// @TableField(exist = false)
private String orgName;
/**
* 号型id
*/
......
......@@ -29,8 +29,8 @@ public interface TjService {
FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req);
List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req);
List<TjOrgPriceDto> TjOrgPriceDetail1(TjOrgPriceReq req);
PageResult<TjOrgCountDto> TjOrgCount(TjOrgCountReq req);
......@@ -38,7 +38,6 @@ public interface TjService {
List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req);
List<TjOrgCountDto> TjOrgCountDetail1(TjOrgCountReq req);
List<TjOrgCountDto> TjOrgCountDetailList(TjOrgCountReq req);
......
......@@ -239,7 +239,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
switch (req.getBussinessType()){
case "use":
startProcessInstanceDTO.setStartOrgName(req.getOrgName());
startProcessInstanceDTO.setUserName(req.getReturnUser());
startProcessInstanceDTO.setEndUserName(req.getReturnUser());
break;
case "purchase":
startProcessInstanceDTO.setStartOrgName(req.getSupplierName());
......
......@@ -309,6 +309,115 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
return PageResultFactory.createPageResult(page1);
}
//批量进行调整
// @Override
// @Transactional(rollbackFor = Exception.class)
// public boolean BatchEditingInvsInfo(BatchEditingInvsReq req) {
// //查询inventory表中数据,对响应数据进行修改
// //判断是对整一类的装备进行修改还是说对个别几个装备进行批量修改
//// if (req.getInventoryIdList().size()!=0){
// List<InventorySummary> delList=new ArrayList<>();
// PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
// int size = req.getInventoryIdList().size();
// List<Object[]> searchItem=new ArrayList<>();
// if (req.getPrice().compareTo(req.getOriginalPrice())!=0){
// Object[] item=new Object[]{req.getOrgId(),req.getLocationId(),req.getTypeId(),req.getSizeId(),req.getPrice()};
// Object[] item1=new Object[]{req.getOrgId(),req.getLocationId(),req.getTypeId(),req.getSizeId(),req.getOriginalPrice()};
// searchItem.add(item);
// searchItem.add(item1);
// List<InventorySummary> inventorySummaryList = inventorySummaryMapper.selectSumByItems(searchItem);
// if (inventorySummaryList.size()==1){//等于1表示他修改后的单价的汇总信息没有,需要新增一条
// InventorySummary is = inventorySummaryList.get(0);
// is.setStockNumber(Math.max(is.getStockNumber()-size,0));
// is.setNumber(Math.max(is.getNumber()-size,0));
// is.setPrice(is.getUnitPrice().multiply(BigDecimal.valueOf(is.getNumber())));
// if (is.getNumber()==0 && is.getStockNumber()==0 && is.getOutboundNumber()==0 && is.getDestructionNumber()==0){
// delList.add(is);
// }
// //新增一条数据
// InventorySummary inventorySummary = new InventorySummary();
// BeanPlusUtil.copyProperties(req,inventorySummary);
// inventorySummary.setValuekey(pubOrg.getOrgCode()+req.getLocationId()+req.getTypeId()+req.getSizeId()+req.getPrice());
// inventorySummary.setOrgName(pubOrg.getOrgName());
// inventorySummary.setOrgCode(pubOrg.getOrgCode());
// inventorySummary.setNumber(size);
// inventorySummary.setStockNumber(size);
// inventorySummary.setOutboundNumber(0);
// inventorySummary.setLocationType("0");
// inventorySummary.setUnitPrice(req.getPrice());
// inventorySummary.setPrice(req.getOriginalPrice().multiply(BigDecimal.valueOf(size)));
// inventorySummary.setDestructionPrice(BigDecimal.ZERO);
// inventorySummary.setBrokenNumberPrice(BigDecimal.ZERO);
// inventorySummary.setExpireNumberPrice(BigDecimal.ZERO);
// inventorySummary.setBrokenNumber(0);
// inventorySummary.setExpireNumber(0);
// inventorySummary.setDestructionNumber(0);
// inventorySummary.setNearBrokenNumber(0);
// inventorySummaryService.save(inventorySummary);
// inventorySummaryService.updateBatchById(inventorySummaryList);
// }else {
// for (InventorySummary is:inventorySummaryList) {
// if (is.getUnitPrice().compareTo(req.getOriginalPrice())==0){//如果单价和修改前的价格一致
// is.setStockNumber(is.getStockNumber()-size);
// is.setNumber(is.getNumber()-size);
// is.setPrice(is.getUnitPrice().multiply(BigDecimal.valueOf(is.getNumber())));
// if (is.getNumber()==0 && is.getStockNumber()==0 && is.getOutboundNumber()==0 && is.getDestructionNumber()==0){
// delList.add(is);
// }
// }else {//单价和修改后的价格一致
// is.setStockNumber(is.getStockNumber()+size);
// is.setNumber(is.getNumber()+size);
// is.setPrice(is.getUnitPrice().multiply(BigDecimal.valueOf(is.getNumber())));
// }
// }
//
// inventorySummaryService.updateBatchById(inventorySummaryList);
// }
// if (CollectionUtil.isNotEmpty(delList)){
// inventorySummaryService.removeBatchByIds(delList);
// }
// }
//
// List<Inventory> list = list(new LambdaQueryWrapper<Inventory>().in(Inventory::getId, req.getInventoryIdList()));
// if (list.size()==0){
// throw new ServiceException(CabinetExceptionEnum.PARAMETER_ERROR);
// }else {
// //批量修改个别装备
//// List<Inventory> collect = list.stream().map(inventory -> {
//// BeanPlusUtil.copyProperties(req,inventory );
//// if (ObjectUtil.isNotNull(req.getShelfColumns()) && !req.getShelfColumns().toString().trim().isEmpty()
//// && ObjectUtil.isNotNull(req.getShelfRanges()) && !req.getShelfRanges().toString().trim().isEmpty()
//// && ObjectUtil.isNotNull(req.getShelfRows()) && !req.getShelfRows().toString().trim().isEmpty()) {
//// inventory.setShelfLocation(req.getShelfRanges() + "/" + req.getShelfColumns() + "/" + req.getShelfRows());
//// }
//// return inventory;
//// }).collect(Collectors.toList());
//// List<Inventory> list1 = list(new LambdaQueryWrapper<Inventory>().eq(Inventory::getId, list));
// List<Inventory> collect = list.stream().map(inventory -> {
// inventory.setWarrantyPeriod(req.getWarrantyPeriod());
// inventory.setMaintenancePeriod(req.getMaintenancePeriod());
// inventory.setPrice(req.getPrice());
// return inventory;
// }).collect(Collectors.toList());
// return updateBatchById(collect);
// }
//
//// }
//// else {
//// List<Inventory> list = list(createWrapper(req));
//// //直接将一类的数据进行修改
//// List<Inventory> collect = list.stream().map(inventory -> {
//// BeanPlusUtil.copyProperties(req, inventory);
//// if (ObjectUtil.isNotNull(req.getShelfColumns()) && !req.getShelfColumns().toString().trim().isEmpty()
//// && ObjectUtil.isNotNull(req.getShelfRanges()) && !req.getShelfRanges().toString().trim().isEmpty()
//// && ObjectUtil.isNotNull(req.getShelfRows()) && !req.getShelfRows().toString().trim().isEmpty()) {
//// inventory.setShelfLocation(req.getShelfRanges() + "/" + req.getShelfColumns() + "/" + req.getShelfRows());
//// }
//// return inventory;
//// }).collect(Collectors.toList());
//// return updateBatchById(collect);
//// }
// }
@Override
@Transactional(rollbackFor = Exception.class)
public boolean BatchEditingInvsInfo(BatchEditingInvsReq req) {
......@@ -418,7 +527,6 @@ public class InventoryServiceImpl extends ServiceImpl<InventoryMapper, Inventory
// }
}
//修改库存信息汇总
@Transactional(rollbackFor = Exception.class)
public boolean setInventorySummary(BatchEditingInvsReq req){
......
......@@ -5,9 +5,11 @@ import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
......@@ -59,6 +61,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.management.remote.rmi._RMIConnection_Stub;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.text.ParseException;
......@@ -461,9 +464,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
startProcessInstanceDTO.setEndOrgName(req.getEndOrgName());
break;
case "return":
startProcessInstanceDTO.setStartOrgName(req.getEndOrgName());
startProcessInstanceDTO.setEndOrgName(req.getEndOrgName());
startProcessInstanceDTO.setUserName(req.getReturnUser());
startProcessInstanceDTO.setStartUserName(req.getReturnUser());
case "allocate":
startProcessInstanceDTO.setStartOrgName(req.getStartOrgName());
startProcessInstanceDTO.setEndOrgName(req.getEndOrgName());
......@@ -474,8 +476,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
switch (req.getBussinessType()){
case "use":
startProcessInstanceDTO.setStartOrgName(req.getStartOrgName());
startProcessInstanceDTO.setEndOrgName(req.getStartOrgName());
startProcessInstanceDTO.setUserName(req.getReturnUser());
startProcessInstanceDTO.setEndUserName(req.getReturnUser());
break;
case "allocate":
startProcessInstanceDTO.setStartOrgName(req.getStartOrgName());
......@@ -990,6 +991,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//将组织机构下面的所有仓库进行查询
//判断传递的订单主id是否存在
OrderMain orderMain = orderMainExist(req.getId());
String orgName=orderMain.getOrderType().equals("in") ? orderMain.getEndOrgName() : orderMain.getStartOrgName();
List<Warehouse> warehouseList = warehouseService.list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getOrgIdInt,
orderMain.getOrderType().equals("in") ? orderMain.getEndOrgId() : orderMain.getStartOrgId()));
Map<String,Warehouse> warehouseMap=new HashMap<>();
......@@ -1019,18 +1021,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//创建一个列表用于修改summary数据库表中数据。
List<UpdateOrderDetailReq> orderDetailReqList=new ArrayList<>();
String s="";
Map<String,LogSummaryReq> logMap=new HashMap<>();
List<LogSummaryReq> logList=new ArrayList<>();
//比较两个子单id完全一致,判断传递的子单据id在数据库中是否存在,如果不存在则抛出子单据不存在异常
if (collect.size() == existingIds.size() && collect.containsAll(existingIds) && existingIds.containsAll(collect)){
//新增空装备
List<Inventory> addInvList=new ArrayList<>();
//删除空装备
List<Inventory> delInvList=new ArrayList<>();
List<WarehouseInventory> addWareInvList=new ArrayList<>();
List<WarehouseInventory> delWareInvList=new ArrayList<>();
//编辑装备
List<InventoryReq> updateInvList=new ArrayList<>();
// List<WarehouseInventory> delWareInvList=new ArrayList<>();
Map<String,LogSummaryReq> logMap=new HashMap<>();
//遍历子单
for (UpdateOrderDetailReq uploadDetailReq : reqList) {
OrderDetail orderDetail = new OrderDetail();
......@@ -1045,8 +1047,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
if (ObjectUtil.isNull(uploadDetailReq.getModifyQuantity())){
throw new ServiceException(OrderExceptionEnum.ORDER_NUM_IS_NULL);
}
Inventory inventory = new Inventory();
WarehouseInventory warehouseInventory=new WarehouseInventory();
if (uploadDetailReq.getModifyQuantity() >= 0 ){
//遍历子单据下面的详细记账信息
......@@ -1109,6 +1110,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
if (logMap.containsKey(detailJsonReq.getLocationId())){
LogSummaryReq logSummaryReq = logMap.get(detailJsonReq.getLocationId());
logSummaryReq.setNumber(logSummaryReq.getNumber()+subNum);
logSummaryReq.setBussinessType(req.getBussinessType());
logSummaryReq.setTypeName(logSummaryReq.getTypeName()+","+uploadDetailReq.getTypeName());
logMap.put(detailJsonReq.getLocationId(),logSummaryReq);
}else {
......@@ -1117,8 +1119,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
//实际出库或者入库数量大于实际数量,则对空数据进行增删改查
if (orderMain.getOrderType().equals("in")){ //入库
for (int j = 0; j < subNum; j++) {
inventory.setEpc("000000"+DateTimeUtil.getCurrentDateTime().getTime()+String.format("%04d", j+1));
Random random = new Random();
for (InventoryReq inv:detailJsonReq.getInfoList()) {
Inventory inventory = new Inventory();
inventory.setEpc("000000"+DateTimeUtil.getCurrentDateTime().getTime()+random.nextInt(999999 - 100000 + 1) + 100000);
inventory.setLocationId(detailJsonReq.getLocationId());
inventory.setSizeId(ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId());
inventory.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId());
......@@ -1126,59 +1130,55 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
inventory.setLocationType(0);
inventory.setPrice(ObjectUtil.isNull(detailJsonReq.getPrice())?price:detailJsonReq.getPrice());
inventory.setProperty(0);
inventory.setCreateTime(DateTimeUtil.getCurrentDateTime());
inventory.setProductionDate(inv.getProductionDate());
inventory.setWarrantyPeriod(inv.getWarrantyPeriod());
inventory.setMaintenancePeriod(inv.getMaintenancePeriod());
inventory.setTypeName(uploadDetailReq.getTypeName());
inventory.setSizeName(uploadDetailReq.getSizeName());
inventory.setBussinessType(req.getBussinessType());
addInvList.add(inventory);
WarehouseInventory warehouseInventory = new WarehouseInventory();
warehouseInventory.setOrgId(orderMain.getEndOrgId());
warehouseInventory.setEpc("000000"+DateTimeUtil.getCurrentDateTime().getTime()+String.format("%04d", j+1));
warehouseInventory.setEpc("000000"+DateTimeUtil.getCurrentDateTime().getTime()+random.nextInt(999999 - 100000 + 1) + 100000);
warehouseInventory.setLocationId(detailJsonReq.getLocationId());
warehouseInventory.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId());
warehouseInventory.setSizeId(ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId());
warehouseInventory.setLocationType("0");
warehouseInventory.setLocationState("in");
warehouseInventory.setCreateTime(DateTimeUtil.getCurrentDateTime());
warehouseInventory.setOrgName(orgName);
warehouseInventory.setTypeName(uploadDetailReq.getTypeName());
warehouseInventory.setSizeName(uploadDetailReq.getSizeName());
addWareInvList.add(warehouseInventory);
}
}else {//出库
List<Inventory> list1 = inventoryService.list(new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getLocationId, detailJsonReq.getLocationId())
.eq(Inventory::getSizeId, ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId())
.eq(Inventory::getOrgId, orderMain.getStartOrgId())
.eq(Inventory::getTypeId, ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId())
.eq(Inventory::getPrice, detailJsonReq.getPrice())
.eq(Inventory::getLocationType, "0"));
List<WarehouseInventory> list2 = warehouseInventoryService.list(new LambdaQueryWrapper<WarehouseInventory>()
.eq(WarehouseInventory::getLocationId, detailJsonReq.getLocationId())
.eq(WarehouseInventory::getOrgId, orderMain.getStartOrgId())
.eq(WarehouseInventory::getSizeId, ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId())
.eq(WarehouseInventory::getTypeId,ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId()));
if (list1.size()>0){
//如果记账数量大于库存中存在空数据,那么全部删除,否则选择前几条进行删除
if (subNum>=list1.size()){
delInvList.addAll(list1);
}else {
for (int j = 0; j < subNum; j++) {
delInvList.add(list1.get(j));
}
}
}
if (list2.size()>0){
if (subNum>=list2.size()){
delWareInvList.addAll(list2);
}else {
for (int j = 0; j < subNum; j++) {
delInvList.add(list1.get(j));
}
}
}
}
}
//出库记账logdetail
//将inventortList中的数据修改状态
if (CollectionUtil.isNotEmpty(uploadDetailReq.getInventoryList())){
List<InventoryReq> inventoryList =uploadDetailReq.getInventoryList();
for (InventoryReq inv:inventoryList){
LogSummaryReq lsReq = logMap.get(inv.getLocationId());
List<LogDetailReq> logDetailList = lsReq.getLogList();
LogDetailReq logDetailReq = new LogDetailReq();
BeanPlusUtil.copyProperties(inv,logDetailReq);
logDetailReq.setOutInState(req.getOrderType());
if (CollectionUtil.isEmpty(logDetailList)) {
lsReq.setLogList(new ArrayList<>());
logDetailList = lsReq.getLogList();
}
logDetailList.add(logDetailReq);
LogSummaryReq logSummaryReq = logMap.get(inv.getLocationId());
logSummaryReq.setLogList(logDetailList);
logMap.put(inv.getLocationId(),logSummaryReq);
}
updateInvList.addAll(uploadDetailReq.getInventoryList());
}
// childJsonList.addAll(childJson);
//修改单子数量数量
orderDetail.setModifyQuantity(uploadDetailReq.getModifyQuantity());
......@@ -1191,18 +1191,57 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
}
if (addWareInvList.size()>0){
if (CollectionUtil.isNotEmpty(updateInvList)){
//更新数据库中实体类的状态
LambdaUpdateWrapper<Inventory> wp1 = Wrappers.<Inventory>lambdaUpdate();
wp1.set(Inventory::getState, req.getBussinessType())
.set(Inventory::getLocationState, req.getOrderType());
LambdaUpdateWrapper<WarehouseInventory> wp2 = Wrappers.<WarehouseInventory>lambdaUpdate();
wp2.set(WarehouseInventory::getLocationState, req.getOrderType());
for (int i = 0; i < updateInvList.size(); i++) {
InventoryReq updateInv = updateInvList.get(i);
wp1.eq(Inventory::getLocationId, updateInv.getLocationId())
.eq(Inventory::getOrgId, updateInv.getOrgId())
.eq(Inventory::getEpc, updateInv.getEpc());
wp2.eq(WarehouseInventory::getLocationId, updateInv.getLocationId())
.eq(WarehouseInventory::getOrgId, updateInv.getOrgId())
.eq(WarehouseInventory::getEpc, updateInv.getEpc());
if (i < updateInvList.size()-1){
wp1.or();
wp2.or();
}
}
inventoryService.update(wp1);
warehouseInventoryService.update(wp2);
}
if (CollectionUtil.isNotEmpty(addInvList)){
inventoryService.saveBatch(addInvList);
}
if (addInvList.size()>0){
if (CollectionUtil.isNotEmpty(addWareInvList)){
warehouseInventoryService.saveBatch(addWareInvList);
}
if (delInvList.size()>0){
inventoryService.removeBatchByIds(delInvList);
//入库记账logdetail
if (CollectionUtil.isNotEmpty(addInvList)){
for (Inventory inv:addInvList){
//查询仓库map并且将记账记录添加
LogSummaryReq lsReq = logMap.get(inv.getLocationId());
List<LogDetailReq> logDetailList = lsReq.getLogList();
LogDetailReq logDetailReq = new LogDetailReq();
BeanPlusUtil.copyProperties(inv,logDetailReq);
logDetailReq.setOutInState(req.getOrderType());
if (CollectionUtil.isEmpty(logDetailList)) {
lsReq.setLogList(new ArrayList<>());
logDetailList = lsReq.getLogList();
}
logDetailList.add(logDetailReq);
LogSummaryReq logSummaryReq = logMap.get(inv.getLocationId());
logSummaryReq.setLogList(logDetailList);
logMap.put(inv.getLocationId(),logSummaryReq);
}
if (delWareInvList.size()>0){
warehouseInventoryService.removeBatchByIds(delWareInvList);
}
}else {
throw new ServiceException(OrderExceptionEnum.ORDERDETAIL_ERROR);
}
......@@ -1269,16 +1308,29 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
List<Object> dataByTimestampRange = outInRecordRedisCache.getDataByTimestampRange(orderMain.getId());
redisCache.remove(orderMain.getId());
//取了之后再进行将东西添加到出入库记录
//将人工记账的数据一起存入logList;
List<String> keys = new ArrayList<>(logMap.keySet());
if (CollectionUtil.isNotEmpty(keys)){
// 根据 key 获取对应的 value 并存入 List 中
List<LogSummaryReq> values = new ArrayList<>();
for (String key : keys) {
LogSummaryReq value = logMap.get(key);
values.add(value);
}
logList.addAll(values);
}
if (CollectionUtil.isNotEmpty(dataByTimestampRange)){
List<LogSummaryReq> collect1 = dataByTimestampRange.stream().map(obj -> (LogSummaryReq) obj).collect(Collectors.toList());
logList.addAll(collect1);
}
// collect1.add();
if (CollectionUtil.isNotEmpty(logList)){
addLogs(logList);
}
//添加日志
boolean b1 = addLogs(logList);
//更新主单据
return (a && b && c && d && e && f && g && b1 );
return (a && b && c && d && e && f && g);
}
private LogSummaryReq addLogSummary(LoginUser loginUser,UpdateOrderDetailReq uploadDetailReq,DetailJsonReq detailJsonReq,Integer subNum,OrderMain orderMain){
......
......@@ -1345,7 +1345,10 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
result = cabinetBoxPoliceService.saveBatch(cabinetBoxPoliceList);
}
}else {
if (CollectionUtil.isNotEmpty(list1)){
result = cabinetBoxPoliceService.remove(new LambdaQueryWrapper<CabinetBoxPolice>().eq(CabinetBoxPolice::getPoliceId, req.getId()));
}
}
......@@ -1779,10 +1782,12 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
Object A= JSON.toJSONString(req, SerializerFeature.WriteDateUseDateFormat);
JSONObject jsonObject = JSON.parseObject(A.toString());
startProcessInstanceDTO.setFormData(jsonObject);
startProcessInstanceDTO.setUserName(req.getPoliceName());
//assign调入,reassign调出
if (req.getReassignmentType().equals("assign")){
startProcessInstanceDTO.setStartUserName(req.getPoliceName());
startProcessInstanceDTO.setEndOrgName(req.getOrgName());
}else if (req.getReassignmentType().equals("reassign")){
startProcessInstanceDTO.setEndUserName(req.getPoliceName());
startProcessInstanceDTO.setStartOrgName(req.getOrgName());
}
return startProcessInstanceDTO;
......@@ -1804,6 +1809,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
.eq(ObjectUtil.isNotNull(req.getOrgId()), Reassignment::getOrgId, req.getOrgId())
.eq(ObjectUtil.isNotNull(req.getReassignmentType()),Reassignment::getReassignmentType,req.getReassignmentType())
.eq(ObjectUtil.isNotNull(req.getProcessId()),Reassignment::getProcessId,req.getProcessId())
.like(ObjectUtil.isNotNull(req.getAgent()),Reassignment::getAgent,req.getAgent())
.like(ObjectUtil.isNotNull(req.getPoliceName()), Reassignment::getPoliceName, req.getPoliceName())
.like(ObjectUtil.isNotNull(req.getTypeName()),Reassignment::getInvList,req.getTypeName())
.ge(ObjectUtil.isNotNull(req.getStartTime()), Reassignment::getApplyTime, req.getStartTime())
......
......@@ -483,20 +483,20 @@ public class TjServiceImpl implements TjService {
}
@Override
public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) {
List<TjOrgPriceDto> tjOrgPriceDtoList = priceSumSummaryMapper.TjOrgPriceTotalNum(req.getOrgId(), req.getYear(),
req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum(),req.getLevel());
if (req.getRemoveEmpty()){
tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
&& tjOrgEqsDto.getDestoryNum()==0);
}
return tjOrgPriceDtoList;
}
// @Override
// public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) {
//
// List<TjOrgPriceDto> tjOrgPriceDtoList = priceSumSummaryMapper.TjOrgPriceTotalNum(req.getOrgId(), req.getYear(),
// req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum(),req.getLevel());
// if (req.getRemoveEmpty()){
// tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
// && tjOrgEqsDto.getDestoryNum()==0);
// }
// return tjOrgPriceDtoList;
// }
@Override
public List<TjOrgPriceDto> TjOrgPriceDetail1(TjOrgPriceReq req) {
public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) {
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
(req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
ObjectUtil.isNotNull(req.getOrder()) && !req.getOrder().trim().isEmpty()) {
......@@ -504,7 +504,7 @@ public class TjServiceImpl implements TjService {
req.setColumn(req.getColumn().equals("createTime")
? null : req.getColumn().replaceAll("[A-Z]", "_$0").toLowerCase());
req.setOrder((req.getOrder().equals("desc")||req.getOrder().equals("asc"))
? null : req.getOrder().toLowerCase());
? req.getOrder().toLowerCase() :null );
}
List<TjOrgPriceDto> allData=priceSumSummaryMapper.getTotalPriceDetail(req.getOrgId(), req.getYear(),
req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum(),req.getLevel(),req.getColumn(),req.getOrder());
......@@ -512,11 +512,11 @@ public class TjServiceImpl implements TjService {
allData.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
&& tjOrgEqsDto.getDestoryNum()==0);
}
if (req.getColumn()==null){
//将组织机构进行排序后再进行返回
Comparator<TjOrgPriceDto> orgComparator = createOrgComparator();
Collections.sort(allData, orgComparator);
}
// if (req.getColumn()==null){
// //将组织机构进行排序后再进行返回
// Comparator<TjOrgPriceDto> orgComparator = createOrgComparator();
// Collections.sort(allData, orgComparator);
// }
return allData;
}
......@@ -778,7 +778,7 @@ public class TjServiceImpl implements TjService {
return finalTjOrgCountDto;
}
@Override
// @Override
public List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req) {
if ((req.getColumn().equals("createTime") && req.getOrder().equals("desc"))||(req.getColumn().equals("createTime") && req.getOrder().equals("asc"))){
req.setColumn(null);
......@@ -791,43 +791,53 @@ public class TjServiceImpl implements TjService {
req.setColumn(req.getColumn().replaceAll("[A-Z]", "_$0").toLowerCase());
req.setOrder(req.getOrder().toLowerCase());
}
List<TjOrgCountDto> tjOrgCountDtoList=equipmentCountSummaryMapper.TjOrgCountTotalNum(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),req.getLevelNum(),req.getLevel(),req.getColumn(),req.getOrder());
if (req.getRemoveEmpty()){
tjOrgCountDtoList.removeIf(tjOrgCountDto -> tjOrgCountDto.getNumber()==0 );
}
return tjOrgCountDtoList;
}
@Override
public List<TjOrgCountDto> TjOrgCountDetail1(TjOrgCountReq req) {
if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
(req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
ObjectUtil.isNotNull(req.getOrder()) && !req.getOrder().trim().isEmpty()) {
//修改字段,和数据库字段进行统一
req.setColumn((req.getColumn().equals("createTime") )
? null : req.getColumn().replaceAll("[A-Z]", "_$0").toLowerCase());
req.setOrder(( req.getOrder().equals("desc")||req.getOrder().equals("asc"))
? null : req.getOrder().toLowerCase());
String[] splitStart = req.getStartTime().split("-");
String[] splitEnd =req.getEndTime().split("-");
Integer year=Integer.parseInt(splitStart[0] );
req.setYear(year);
List<Integer> monthList=new ArrayList<>();
for (int i = Integer.parseInt(splitStart[1]) ; i <= Integer.parseInt(splitEnd[1]); i++) {
monthList.add(i);
}
List<TjOrgCountDto> tjOrgCountDtoList=equipmentCountSummaryMapper.TjOrgCountTotalDetail(req.getOrgId(),
req.setMonthList(monthList);
List<TjOrgCountDto> tjOrgCountDtoList=equipmentCountSummaryMapper.TjOrgCountTotalNum(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),req.getLevelNum(),req.getLevel(),req.getColumn(),req.getOrder());
if (req.getRemoveEmpty()){
tjOrgCountDtoList.removeIf(tjOrgCountDto -> tjOrgCountDto.getNumber()==0 );
}
if (req.getColumn()==null){
//将组织机构进行排序后再进行返回
Comparator<TjOrgCountDto> orgComparator = createOrgComparator();
Collections.sort(tjOrgCountDtoList, orgComparator);
}
return tjOrgCountDtoList;
}
// @Override
// public List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req) {
//
//
// if (ObjectUtil.isNotNull(req.getColumn()) && !req.getColumn().trim().isEmpty() &&
// (req.getOrder().equalsIgnoreCase("asc")|| req.getOrder().equalsIgnoreCase("desc")) &&
// ObjectUtil.isNotNull(req.getOrder()) && !req.getOrder().trim().isEmpty()) {
// //修改字段,和数据库字段进行统一
// req.setColumn((req.getColumn().equals("createTime") )
// ? null : req.getColumn().replaceAll("[A-Z]", "_$0").toLowerCase());
// req.setOrder(( req.getOrder().equals("desc")||req.getOrder().equals("asc"))
// ? null : req.getOrder().toLowerCase());
// }
//
// List<TjOrgCountDto> tjOrgCountDtoList=equipmentCountSummaryMapper.TjOrgCountTotalDetail(req.getOrgId(),
// req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
// req.getMonthList(),req.getLevelNum(),req.getLevel(),req.getColumn(),req.getOrder());
// if (req.getRemoveEmpty()){
// tjOrgCountDtoList.removeIf(tjOrgCountDto -> tjOrgCountDto.getNumber()==0 );
// }
//// if (req.getColumn()==null){
//// //将组织机构进行排序后再进行返回
//// Comparator<TjOrgCountDto> orgComparator = createOrgComparator();
//// Collections.sort(tjOrgCountDtoList, orgComparator);
//// }
// return tjOrgCountDtoList;
// }
@Override
public List<TjOrgCountDto> TjOrgCountDetailList(TjOrgCountReq req) {
......
......@@ -303,7 +303,9 @@
</select>
<select id="TjOrgCountTotalNum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto">
SELECT MAX( t.`year` ) AS `year`,coalesce(SUM( t.use_count ) ,0)AS use_count,coalesce(SUM( t.fix_count ),0) AS fix_count,
select * from (
SELECT MAX( t.`year` ) AS `year`,coalesce(SUM( t.use_count ) ,0)AS use_count,coalesce(SUM( t.fix_count ),0) AS
fix_count,
size_id,size_name,type_id,type_name,
coalesce(sum( CASE WHEN t.MONTH = MONTH ( CURRENT_DATE ()) THEN t.number ELSE 0 END ),0) AS number
FROM
......@@ -324,9 +326,9 @@
WHERE
YEAR = #{year}
and `po`.`del_flag` = 1
<if test="level ==null" >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0">
<if test="level ==null">and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="
levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if>
))
......@@ -352,6 +354,7 @@
t.size_id,t.size_name,t.type_id,t.type_name
ORDER BY
t.type_id,size_id
)as result
<if test="column != null and column != '' and order != null and order != '' ">
order by ${column} ${order}
</if>
......
......@@ -396,6 +396,7 @@
) as t2 on t1.type_id =t2.type_id and t1.type_name=t2.type_name
</select>
<select id="getTotalPriceDetail" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
SELECT
t3.org_id,t3.org_code,t3.org_name,t3.d_name,
COALESCE ( t4.start_num, 0 ) AS start_num,
......@@ -405,7 +406,8 @@
COALESCE ( t4.add_num, 0 ) AS add_num,
COALESCE ( t4.add_price, 0 ) AS add_price,
COALESCE ( t4.destory_num, 0 ) AS destory_num,
COALESCE ( t4.destory_price, 0 ) AS destory_price
COALESCE ( t4.destory_price, 0 ) AS destory_price,
t4.type_id,t4.type_name
FROM
(
SELECT
......@@ -437,19 +439,30 @@
) AS t3
CROSS JOIN (
SELECT
t1.org_id_int,t1.start_num,t1.start_price,t2.end_num,t2.end_price,t2.end_num - t1.start_num AS add_num,
t2.end_price - t1.start_price AS add_price,t2.destory_num,t2.destory_price
t2.org_id_int,
COALESCE(t1.start_num, 0) AS start_num,
COALESCE(t1.start_price, 0) AS start_price,
t2.type_id,
t2.type_name,
COALESCE(t2.end_num, 0) AS end_num,
COALESCE(t2.end_price, 0) AS end_price,
COALESCE(t2.destory_num, 0) AS destory_num,
COALESCE(t2.destory_price, 0) AS destory_price,
(COALESCE(t2.end_num, 0)-COALESCE(t1.start_num, 0)) as add_num,
(COALESCE(t2.end_price, 0)-COALESCE(t1.start_price, 0)) as add_price
FROM
(
SELECT
vpss.org_id_int,
SUM(COALESCE ( start_num, 0 )) AS start_num,
SUM(COALESCE ( start_price, 0 )) AS start_price
vpss.type_id,
vpss.type_name,
SUM(COALESCE(start_num, 0)) AS start_num,
SUM(COALESCE(start_price, 0)) AS start_price
FROM
vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE
vpss.MONTH = 1 AND vpss.YEAR = #{year}
vpss.MONTH = 1 AND vpss.YEAR = 2024
AND po.del_flag = 1
<if test="level ==null" >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
......@@ -484,20 +497,23 @@
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
GROUP BY vpss.org_id_int
GROUP BY vpss.org_id_int, vpss.type_id, vpss.type_name
) AS t1
CROSS JOIN (
RIGHT JOIN
(
SELECT
vpss.org_id_int,
sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_num, 0 ) ELSE 0 END ) AS end_num,
sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ) AS end_price,
sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ) AS destory_num,
sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ) AS destory_price
vpss.type_id,
vpss.type_name,
SUM(CASE WHEN vpss.MONTH = MONTH(CURRENT_DATE()) THEN COALESCE(vpss.end_num, 0) ELSE 0 END) AS end_num,
SUM(CASE WHEN vpss.MONTH = MONTH(CURRENT_DATE()) THEN COALESCE(vpss.end_price, 0) ELSE 0 END) AS end_price,
SUM(CASE WHEN vpss.MONTH = MONTH(CURRENT_DATE()) THEN COALESCE(vpss.destory_num, 0) ELSE 0 END) AS destory_num,
SUM(CASE WHEN vpss.MONTH = MONTH(CURRENT_DATE()) THEN COALESCE(vpss.destory_price, 0) ELSE 0 END) AS destory_price
FROM
vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE
vpss.`year` = #{year}
vpss.`year` = 2024
AND po.del_flag = 1
<if test="level ==null" >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
......@@ -532,8 +548,8 @@
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
GROUP BY vpss.org_id_int) AS t2
WHERE t1.org_id_int = t2.org_id_int) AS t4
GROUP BY vpss.org_id_int, vpss.type_id, vpss.type_name
) AS t2 ON t1.org_id_int = t2.org_id_int AND t1.type_id = t2.type_id) AS t4
WHERE t3.org_id = t4.org_id_int
<if test="column != null and column != '' and order != null and order != '' ">
order by ${column} ${order}
......
......@@ -32,7 +32,7 @@ knife4j:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.1.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.1.128:3306/db_jyzb_test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
username: root
password: 123456
......
......@@ -13,7 +13,8 @@ public interface CommonConstants {
String FORM_Trigger="formTrigger";
String PROCESS_STATUS="processStatus";
String START_USER_INFO="startUser";
String START_USER="startUserName";
//发起人
String AGENT_NAME="agentName";
String ORDER_ID="orderId";
String TYPE_ORDER="typeOrder";
String START_ORG_NAME="startOrgName";//发物单位
......@@ -23,7 +24,8 @@ public interface CommonConstants {
String TYPE="type"; //单据业务类型
String OUT_IN_STATE="outInState";//出入库单据状态(出库还是入库)
String PROCESS_ID="processId";
String USER_NAME="userName";
String END_USER_NAME="endUserName";
String START_USER_NAME="startUserName";
String BUSINESS_STATUS_1="正在处理"; //正在处理
......
......@@ -39,6 +39,9 @@ public class StartProcessInstanceDTO {
private String bussinessType;
private String userName;
//物资来源人员
private String startUserName;
//物资去向人员
private String EndUserName;
}
......@@ -160,11 +160,14 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
processVariables.put(OUT_IN_STATE,processInstanceDto.getOutInState());
}
processVariables.put(START_USER_INFO,JSONObject.toJSONString(StartUser));
processVariables.put(START_USER,StartUser.getRealName());
processVariables.put(AGENT_NAME,StartUser.getRealName());
processVariables.put(PROCESS_STATUS,BUSINESS_STATUS_1);
//领用人,调岗人,归还人
if (ObjectUtil.isNotNull(processInstanceDto.getUserName())){
processVariables.put(USER_NAME,processInstanceDto.getUserName());
if (ObjectUtil.isNotNull(processInstanceDto.getEndUserName())){
processVariables.put(END_USER_NAME,processInstanceDto.getEndUserName());
}
if (ObjectUtil.isNotNull(processInstanceDto.getStartUserName())){
processVariables.put(START_USER_NAME,processInstanceDto.getStartUserName());
}
if (formData!=null)
{
......
......@@ -463,15 +463,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (ObjectUtil.isNotNull(taskDTO.getTypeName()) && ! taskDTO.getTypeName().trim().isEmpty()){
taskQuery=taskQuery.processVariableValueLike(INVLIST,"%"+taskDTO.getTypeName()+"%");
}
//发物单位
if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){
taskQuery = taskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getStartOrgName()+"%");
}
if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){
taskQuery = taskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getEndOrgName()+"%");
}
//流程id
if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){
taskQuery= taskQuery.processInstanceId(taskDTO.getProcessId());
......@@ -488,9 +480,26 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
//申请人
if (ObjectUtil.isNotNull(taskDTO.getStartUser())){
taskQuery=taskQuery.processVariableValueEquals(START_USER,taskDTO.getStartUser());
taskQuery=taskQuery.processVariableValueLike(AGENT_NAME,"%"+taskDTO.getStartUser()+"%");
}
boolean conditionAdded = false;
//发物单位
if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){
taskQuery = taskQuery.or().processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%")
.processVariableValueLike(START_USER_NAME,"%"+taskDTO.getStartOrgName()+"%");
conditionAdded = true;
}
if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){
if (conditionAdded) {
taskQuery.endOr(); // 结束上一个 or()
}
taskQuery = taskQuery.or().processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%")
.processVariableValueLike(END_USER_NAME,"%"+taskDTO.getEndOrgName()+"%");
}
Object aa= taskQuery.list();
// taskQuery.
List<Task> tasks = taskQuery.listPage((taskDTO.getPageNo() - 1) * taskDTO.getPageSize(), taskDTO.getPageSize());
......@@ -512,7 +521,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// }).getUserInfo());
String s = (String) processVariables.get(START_USER_INFO);
taskVO.setStartUser(JSONObject.parseObject(s, UserInfo.class));
taskVO.setUserName(MapUtil.getStr(processVariables,USER_NAME));
taskVO.setStartUserName(MapUtil.getStr(processVariables,START_USER_NAME));
taskVO.setEndUserName(MapUtil.getStr(processVariables,END_USER_NAME));
taskVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID));
taskVO.setTypeOrder(MapUtil.getStr(processVariables, TYPE_ORDER));
taskVO.setStartTime(processInstance.getStartTime());
......@@ -572,19 +582,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
//装备名称
if (ObjectUtil.isNotNull(taskDTO.getTypeName()) && ! taskDTO.getTypeName().trim().isEmpty()){
historicTaskQuery=historicTaskQuery.processVariableValueLike(INVLIST,"%"+taskDTO.getTypeName()+"%");
historicTaskQuery=historicTaskQuery.processVariableValueLike(INVLIST,taskDTO.getTypeName());
}
//发物单位
if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){
historicTaskQuery = historicTaskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getStartOrgName()+"%");
}
if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){
historicTaskQuery = historicTaskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getEndOrgName()+"%");
}
//流程id
if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){
historicTaskQuery=historicTaskQuery.processInstanceId(taskDTO.getProcessId());
......@@ -601,7 +602,25 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
//申请人
if (ObjectUtil.isNotNull(taskDTO.getStartUser()) ){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(START_USER,taskDTO.getStartUser());
historicTaskQuery=historicTaskQuery.processVariableValueLike(AGENT_NAME,"%"+taskDTO.getStartUser()+"%");
}
boolean conditionAdded = false;
//发物单位
if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){
historicTaskQuery = historicTaskQuery.or().processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%")
.processVariableValueLike(START_USER_NAME,"%"+taskDTO.getStartOrgName()+"%");
conditionAdded = true;
}
if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){
if (conditionAdded) {
historicTaskQuery.endOr(); // 结束上一个 or()
}
historicTaskQuery = historicTaskQuery.or().processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%")
.processVariableValueLike(END_USER_NAME,"%"+taskDTO.getEndOrgName()+"%");
}
// List<HistoricTaskInstance> tasks = historicTaskQuery.list();
......@@ -636,7 +655,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// }).getUserInfo());
String s = (String) processVariables.get(START_USER_INFO);
taskVO.setStartUser(JSONObject.parseObject(s, UserInfo.class));
taskVO.setUserName(MapUtil.getStr(processVariables,USER_NAME));
taskVO.setStartUserName(MapUtil.getStr(processVariables,START_USER_NAME));
taskVO.setEndUserName(MapUtil.getStr(processVariables,END_USER_NAME));
taskVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID));
taskVO.setType(MapUtil.getStr(processVariables,TYPE));
taskVO.setTypeOrder(MapUtil.getStr(processVariables, TYPE_ORDER));
......@@ -717,15 +737,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (ObjectUtil.isNotNull(applyDTO.getTypeName()) && ! applyDTO.getTypeName().trim().isEmpty()){
desc=desc.variableValueLike(INVLIST,"%"+applyDTO.getTypeName()+"%");
}
//发物单位
if (ObjectUtil.isNotNull(applyDTO.getStartOrgName()) && ! applyDTO.getStartOrgName().trim().isEmpty()){
desc = desc.variableValueLike(START_ORG_NAME,"%"+applyDTO.getStartOrgName()+"%")
.or().variableValueLike(USER_NAME,"%"+applyDTO.getStartOrgName()+"%");
}
if (ObjectUtil.isNotNull(applyDTO.getEndOrgName()) && ! applyDTO.getEndOrgName().trim().isEmpty()){
desc = desc.variableValueLike(END_ORG_NAME,"%"+applyDTO.getEndOrgName()+"%")
.or().variableValueLike(USER_NAME,"%"+applyDTO.getEndOrgName()+"%");
}
//流程id
if (ObjectUtil.isNotNull(applyDTO.getProcessId()) && ! applyDTO.getProcessId().trim().isEmpty()){
desc=desc.processInstanceId(applyDTO.getProcessId());
......@@ -743,8 +755,26 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
//申请人
if (ObjectUtil.isNotNull(applyDTO.getStartUser())){
desc=desc.variableValueEquals(START_USER,applyDTO.getStartUser());
desc=desc.variableValueLike(AGENT_NAME,"%"+applyDTO.getStartUser()+"%");
}
boolean conditionAdded = false;
//发物单位
if (ObjectUtil.isNotNull(applyDTO.getStartOrgName()) && ! applyDTO.getStartOrgName().trim().isEmpty()){
desc = desc.or().variableValueLike(START_ORG_NAME,"%"+applyDTO.getStartOrgName()+"%")
.variableValueLike(START_USER_NAME,"%"+applyDTO.getStartOrgName()+"%");
conditionAdded = true;
}
if (ObjectUtil.isNotNull(applyDTO.getEndOrgName()) && ! applyDTO.getEndOrgName().trim().isEmpty()){
if (conditionAdded) {
desc.endOr(); // 结束上一个 or()
}
desc = desc.or().variableValueLike(END_ORG_NAME,"%"+applyDTO.getEndOrgName()+"%")
.variableValueLike(END_USER_NAME,"%"+applyDTO.getEndOrgName()+"%");
}
List<HistoricProcessInstance> historicProcessInstances = desc.listPage((applyDTO.getPageNo() - 1) * applyDTO.getPageSize(), applyDTO.getPageSize());
long count = desc.count();
......@@ -769,7 +799,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
// }).getUserInfo());
String s = (String) processVariables.get(START_USER_INFO);
historyProcessInstanceVO.setStartUser(JSONObject.parseObject(s, UserInfo.class));
historyProcessInstanceVO.setUserName(MapUtil.getStr(processVariables,USER_NAME));
historyProcessInstanceVO.setStartUserName(MapUtil.getStr(processVariables,START_USER_NAME));
historyProcessInstanceVO.setEndUserName(MapUtil.getStr(processVariables,END_USER_NAME));
historyProcessInstanceVO.setStartTime(historicProcessInstance.getStartTime());
historyProcessInstanceVO.setEndTime(historicProcessInstance.getEndTime());
Boolean flag = historicProcessInstance.getEndTime() == null ? false : true;
......
......@@ -50,7 +50,8 @@ public class HistoryProcessInstanceVO {
private String formData;
@ApiModelProperty("流程id")
private String processId;
@ApiModelProperty("人员(领用人,调岗人)")
private String userName;
private String startUserName;
private String endUserName;
private String type;
}
......@@ -53,8 +53,9 @@ public class TaskVO {
private String outInState;
@ApiModelProperty("流程id")
private String processId;
@ApiModelProperty("人员(领用、调岗)")
private String userName;
private String startUserName;
private String endUserName;
private String type;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论