Commit c795ae0b by 李小惠

修改归还入库关联业务单逻辑以及代码,修改OA提出BUG

parent c711c99f
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.
...@@ -144,4 +144,8 @@ public class InventoryDto implements Serializable { ...@@ -144,4 +144,8 @@ public class InventoryDto implements Serializable {
private Integer property; private Integer property;
private String sizePhoto;
private String typePhoto;
} }
...@@ -11,4 +11,6 @@ public class MQDto { ...@@ -11,4 +11,6 @@ public class MQDto {
private List<String> idList; private List<String> idList;
private String message; private String message;
private String orderId; private String orderId;
private String warehouseId;
private Integer warehouseState;
} }
...@@ -11,10 +11,13 @@ public class NormalInOutDto { ...@@ -11,10 +11,13 @@ public class NormalInOutDto {
*orgId 组织机构id *orgId 组织机构id
*/ */
private Long orgId; private Long orgId;
private String valuekey;
/** /**
*orgName 组织机构名称 *orgName 组织机构名称
*/ */
private String orgName; private String orgName;
private String orgCode;
/** /**
*typeId 装备类型id *typeId 装备类型id
*/ */
...@@ -39,16 +42,16 @@ public class NormalInOutDto { ...@@ -39,16 +42,16 @@ public class NormalInOutDto {
* 位置名称 * 位置名称
*/ */
private String locationName; private String locationName;
/** /**
* 单价 * 单价
*/ */
private BigDecimal price; private BigDecimal price;
/** /**
*number 库存数量 *number 库存数量
*/ */
private Integer number; private Integer number;
//出入库状态 //出入库状态
private String outInState; private String outInState;
private Integer property;
} }
...@@ -32,6 +32,8 @@ public class LogSummaryReq extends BaseRequest { ...@@ -32,6 +32,8 @@ public class LogSummaryReq extends BaseRequest {
*/ */
private String orgName; private String orgName;
private String orderCode;
/** /**
* 单据id * 单据id
*/ */
......
...@@ -130,6 +130,8 @@ public class OrderMainReq extends BaseRequest { ...@@ -130,6 +130,8 @@ public class OrderMainReq extends BaseRequest {
//计划子单json //计划子单json
private String eqsJson; private String eqsJson;
private Integer orderCurrentState;
} }
...@@ -180,5 +180,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable { ...@@ -180,5 +180,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
private Date createTime; private Date createTime;
//计划子单json //计划子单json
private String eqsJson; private String eqsJson;
private Integer orderCurrentState;
} }
...@@ -26,10 +26,11 @@ public class OutInRecordRedisCache extends AbstractRedisCache<Object> { ...@@ -26,10 +26,11 @@ public class OutInRecordRedisCache extends AbstractRedisCache<Object> {
getRedisTemplate().opsForZSet().add("orderMainId:"+orderMainId, req, timestamp); getRedisTemplate().opsForZSet().add("orderMainId:"+orderMainId, req, timestamp);
put(orderMainId, req); put(orderMainId, req);
} }
public List<Object> getDataByTimestampRange(String orderMainId, long startTimestamp, long endTimestamp) { public List<Object> getDataByTimestampRange(String orderMainId) {
Set<Object> dataInRange =getRedisTemplate().opsForZSet().rangeByScore(orderMainId, startTimestamp, endTimestamp); // Set<Object> dataInRange =getRedisTemplate().opsForZSet().rangeByScore("orderMainId:"+orderMainId, startTimestamp, endTimestamp);
Set<Object> range = getRedisTemplate().opsForZSet().range("orderMainId:" + orderMainId, 0, -1);
return new ArrayList<>(dataInRange); return new ArrayList<>(range);
} }
} }
...@@ -27,7 +27,8 @@ import javax.annotation.Resource; ...@@ -27,7 +27,8 @@ import javax.annotation.Resource;
@Slf4j @Slf4j
@RequestMapping("/BussinessInventory") @RequestMapping("/BussinessInventory")
@Api(tags = "[盘点]盘点管理模块") @Api(tags = "[盘点]盘点管理模块")
public class BussinessInventoryController { public class
BussinessInventoryController {
@Resource @Resource
private BussinessInventoryService BussinessInventoryService; private BussinessInventoryService BussinessInventoryService;
......
...@@ -8,15 +8,19 @@ import com.baomidou.mybatisplus.core.toolkit.AES; ...@@ -8,15 +8,19 @@ import com.baomidou.mybatisplus.core.toolkit.AES;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.junmp.jyzb.api.bean.dto.UploadPolicePhotoDto; import com.junmp.jyzb.api.bean.dto.UploadPolicePhotoDto;
import com.junmp.jyzb.api.bean.query.DbAccessReq; import com.junmp.jyzb.api.bean.query.DbAccessReq;
import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.PolicemanReq; import com.junmp.jyzb.api.bean.query.PolicemanReq;
import com.junmp.jyzb.api.bean.req.UploadPolicePhotoReq; import com.junmp.jyzb.api.bean.req.UploadPolicePhotoReq;
import com.junmp.jyzb.api.bean.vo.AuthAccessVo; import com.junmp.jyzb.api.bean.vo.AuthAccessVo;
import com.junmp.jyzb.api.exception.enums.PublicExceptionEnum; import com.junmp.jyzb.api.exception.enums.PublicExceptionEnum;
import com.junmp.jyzb.cache.MsgRedisCache;
import com.junmp.jyzb.cache.OutInRecordRedisCache;
import com.junmp.jyzb.entity.Policeman; import com.junmp.jyzb.entity.Policeman;
import com.junmp.jyzb.entity.PubOrg; import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.service.PolicemanService; import com.junmp.jyzb.service.PolicemanService;
import com.junmp.jyzb.service.PubOrgService; import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.service.PublicService; import com.junmp.jyzb.service.PublicService;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.FileUtil; import com.junmp.jyzb.utils.FileUtil;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
...@@ -55,6 +59,7 @@ import java.io.FileInputStream; ...@@ -55,6 +59,7 @@ import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.net.URL; import java.net.URL;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -80,8 +85,11 @@ public class PublicController { ...@@ -80,8 +85,11 @@ public class PublicController {
@Resource @Resource
private PublicService publicService; private PublicService publicService;
@Resource
private MsgRedisCache redisCache;
@Resource
private OutInRecordRedisCache outInRecordRedisCache;
private final static String DB_URL_TEMPLATE = "jdbc:mysql://{}:{}/{}?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true"; private final static String DB_URL_TEMPLATE = "jdbc:mysql://{}:{}/{}?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true";
...@@ -137,4 +145,13 @@ public class PublicController { ...@@ -137,4 +145,13 @@ public class PublicController {
} }
@PostMapping("/aaa")
public ApiRes<List<Object>> aaa(@RequestBody OrderMainReq req){
List<Object> dataByTimestampRange = outInRecordRedisCache.getDataByTimestampRange(req.getId());
return ApiRes.success(dataByTimestampRange);
}
} }
...@@ -167,5 +167,8 @@ public class OrderMain implements Serializable { ...@@ -167,5 +167,8 @@ public class OrderMain implements Serializable {
@TableField("eqs_json") @TableField("eqs_json")
private String eqsJson; private String eqsJson;
@TableField("order_current_state")
private Integer orderCurrentState;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -296,214 +296,214 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -296,214 +296,214 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
// 对出入库记录进行分类汇总存储() // 对出入库记录进行分类汇总存储()
public List<NormalInOutDto> saveInOutRecords(OutInLogsReq req) { // public List<NormalInOutDto> saveInOutRecords(OutInLogsReq req) {
//
//返回结果,用于日常出入库时计算更新库存汇总表 // //返回结果,用于日常出入库时计算更新库存汇总表
List<SummaryLogReq> logSummaryList = req.getLogList(); // List<SummaryLogReq> logSummaryList = req.getLogList();
//
//遍历logSummaryList查询出没有单据的作为日常出入库,并再次存放到list中,后面用于进行修改库存汇总 // //遍历logSummaryList查询出没有单据的作为日常出入库,并再次存放到list中,后面用于进行修改库存汇总
//返回returnList结果,用于日常出入库时计算更新库存汇总表 // //返回returnList结果,用于日常出入库时计算更新库存汇总表
List<NormalInOutDto> returnList=new ArrayList<>(); // List<NormalInOutDto> returnList=new ArrayList<>();
//存一个list用于修改库存inventory表的数据(采购时那么这个inventoryList就为空) // //存一个list用于修改库存inventory表的数据(采购时那么这个inventoryList就为空)
List<Inventory> inventoryList=new ArrayList<>(); // List<Inventory> inventoryList=new ArrayList<>();
//存一个list用于修改库存warehosuseInventory表的数据(采购时那么这个wInventoryList就为空) // //存一个list用于修改库存warehosuseInventory表的数据(采购时那么这个wInventoryList就为空)
List<WarehouseInventory> wInbentoryList=new ArrayList<>(); // List<WarehouseInventory> wInbentoryList=new ArrayList<>();
List<OrderLog> orderLogList=new ArrayList<>(); // List<OrderLog> orderLogList=new ArrayList<>();
String orderMainId=""; // String orderMainId="";
//
List<LogSummary> sumList=new ArrayList<>(); // List<LogSummary> sumList=new ArrayList<>();
OrderMain ordermain=null; // OrderMain ordermain=null;
for (SummaryLogReq logreq:logSummaryList) { // for (SummaryLogReq logreq:logSummaryList) {
if (ObjectUtil.isNotNull(logreq.getPicture())){ // if (ObjectUtil.isNotNull(logreq.getPicture())){
byte[] imageBytes = Base64.getDecoder().decode(logreq.getPicture()); // byte[] imageBytes = Base64.getDecoder().decode(logreq.getPicture());
MultipartFile picture = new MockMultipartFile("sample", imageBytes); // MultipartFile picture = new MockMultipartFile("sample", imageBytes);
// 图片文件保存路径和文件名 // // 图片文件保存路径和文件名
SysFileInfoReq sysFileInfoReq = new SysFileInfoReq(); // SysFileInfoReq sysFileInfoReq = new SysFileInfoReq();
sysFileInfoReq.setFileBucket("jyzb"); // sysFileInfoReq.setFileBucket("jyzb");
sysFileInfoReq.setFileLocation(3); // sysFileInfoReq.setFileLocation(3);
sysFileInfoReq.setFileObjectName("OutInPrice/"+logreq.getOrgId()+"/"); // sysFileInfoReq.setFileObjectName("OutInPrice/"+logreq.getOrgId()+"/");
SysFileInfoResp sysFileInfoResp = sysFileInfoService.uploadFile(picture, sysFileInfoReq); // SysFileInfoResp sysFileInfoResp = sysFileInfoService.uploadFile(picture, sysFileInfoReq);
logreq.setPicture(sysFileInfoResp.getAccessUrl()); // logreq.setPicture(sysFileInfoResp.getAccessUrl());
} // }
//
if (ObjectUtil.isNotNull(logreq.getOrderMainId())){ // if (ObjectUtil.isNotNull(logreq.getOrderMainId())){
orderMainId=logreq.getOrderMainId(); // orderMainId=logreq.getOrderMainId();
} // }
//
if (ObjectUtil.isNotEmpty(orderMainId)){ // if (ObjectUtil.isNotEmpty(orderMainId)){
ordermain = orderMainService.getById(orderMainId); // ordermain = orderMainService.getById(orderMainId);
} // }
//如果类型为normal,那么则表示作为日常出入库的记录,否则则作为单据的出入库记录 // //如果类型为normal,那么则表示作为日常出入库的记录,否则则作为单据的出入库记录
List<DetailLogReq> logList = logreq.getLogDetailList(); // List<DetailLogReq> logList = logreq.getLogDetailList();
//
//出入库list // //出入库list
List<LogDetail> collect = new ArrayList<>(); // List<LogDetail> collect = new ArrayList<>();
LogSummary logSummary = saveLogSummary(logreq,logreq.getLocationId(),logreq.getLocationName(),logreq.getOutInState()); // LogSummary logSummary = saveLogSummary(logreq,logreq.getLocationId(),logreq.getLocationName(),logreq.getOutInState());
//
String string=""; // String string="";
String stringQuick=""; // String stringQuick="";
if (logSummary.getOutInState().equals("in")){ // if (logSummary.getOutInState().equals("in")){
string=string+logSummary.getLocationName()+":入库【"+logSummary.getEquipmentList()+"】,数量:"+logSummary.getNumber()+"\n"; // string=string+logSummary.getLocationName()+":入库【"+logSummary.getEquipmentList()+"】,数量:"+logSummary.getNumber()+"\n";
}else { // }else {
string=string+logSummary.getLocationName()+":出库【"+logSummary.getEquipmentList()+"】,数量:"+logSummary.getNumber()+"\n"; // string=string+logSummary.getLocationName()+":出库【"+logSummary.getEquipmentList()+"】,数量:"+logSummary.getNumber()+"\n";
} // }
LogSummary logSummaryQuick=new LogSummary(); // LogSummary logSummaryQuick=new LogSummary();
if (logreq.getBussinessType().equals("quick")){//如果是快速出库的同时需要创建快速入库 // if (logreq.getBussinessType().equals("quick")){//如果是快速出库的同时需要创建快速入库
logSummaryQuick= saveLogSummary(logreq,ordermain.getLocationId(),ordermain.getLocationName(),"in"); // logSummaryQuick= saveLogSummary(logreq,ordermain.getLocationId(),ordermain.getLocationName(),"in");
sumList.add(logSummaryQuick); // sumList.add(logSummaryQuick);
stringQuick=stringQuick+logSummaryQuick.getLocationName()+":入库【"+logSummaryQuick.getEquipmentList()+"】,数量:"+logSummary.getNumber()+"\n"; // stringQuick=stringQuick+logSummaryQuick.getLocationName()+":入库【"+logSummaryQuick.getEquipmentList()+"】,数量:"+logSummary.getNumber()+"\n";
} // }
sumList.add(logSummary); // sumList.add(logSummary);
logSummaryService.saveBatch(sumList); // logSummaryService.saveBatch(sumList);
sumList.clear(); // sumList.clear();
Map<String, String> map = setState(logreq.getOutInState(), logreq.getBussinessType()); // Map<String, String> map = setState(logreq.getOutInState(), logreq.getBussinessType());
//
//
for (DetailLogReq detailLogReq : logList) { // for (DetailLogReq detailLogReq : logList) {
//将所有装备信息进行存放(为后面计算汇总信息) // //将所有装备信息进行存放(为后面计算汇总信息)
if (logreq.getBussinessType().equals("normal")) { // if (logreq.getBussinessType().equals("normal")) {
NormalInOutDto normalInOutDto = new NormalInOutDto(); // NormalInOutDto normalInOutDto = new NormalInOutDto();
BeanPlusUtil.copyProperties(detailLogReq, normalInOutDto); // BeanPlusUtil.copyProperties(detailLogReq, normalInOutDto);
normalInOutDto.setLocationId(logSummary.getLocationId()); // normalInOutDto.setLocationId(logSummary.getLocationId());
normalInOutDto.setLocationName(logSummary.getLocationName()); // normalInOutDto.setLocationName(logSummary.getLocationName());
normalInOutDto.setOrgId(logSummary.getOrgId()); // normalInOutDto.setOrgId(logSummary.getOrgId());
normalInOutDto.setOrgName(logSummary.getOrgName()); // normalInOutDto.setOrgName(logSummary.getOrgName());
normalInOutDto.setNumber(1); // normalInOutDto.setNumber(1);
normalInOutDto.setOutInState(logSummary.getOutInState()); // normalInOutDto.setOutInState(logSummary.getOutInState());
returnList.add(normalInOutDto); // returnList.add(normalInOutDto);
} // }
//判断logSummary是否为采购,快速移库,和领用出库 // //判断logSummary是否为采购,快速移库,和领用出库
//如果是采购则不处理,因为采购的inventory是跟着单子来处理的,其他的单子直接根据出入库记录来处理 // //如果是采购则不处理,因为采购的inventory是跟着单子来处理的,其他的单子直接根据出入库记录来处理
if (!logreq.getBussinessType().equals("purchase") && !logreq.getBussinessType().equals("quick") ){ // if (!logreq.getBussinessType().equals("purchase") && !logreq.getBussinessType().equals("quick") ){
// if (logreq.getOutInState().equals("in")){ //// if (logreq.getOutInState().equals("in")){
Inventory inventory = saveInventory(logreq.getOrgId(),logreq.getLocationId(),logreq,detailLogReq, map, logSummary.getOutInState()); // Inventory inventory = saveInventory(logreq.getOrgId(),logreq.getLocationId(),logreq,detailLogReq, map, logSummary.getOutInState());
inventoryList.add(inventory); // inventoryList.add(inventory);
//
} // }
// //如果是快速移库,那么直接将物资的locationId进行修改 //// //如果是快速移库,那么直接将物资的locationId进行修改
if(logreq.getBussinessType().equals("quick")){ // if(logreq.getBussinessType().equals("quick")){
Inventory inventory = saveInventory(logreq.getOrgId(),ordermain.getLocationId(),logreq,detailLogReq, map, "in"); // Inventory inventory = saveInventory(logreq.getOrgId(),ordermain.getLocationId(),logreq,detailLogReq, map, "in");
inventoryList.add(inventory); // inventoryList.add(inventory);
} // }
//存放logdetail信息 // //存放logdetail信息
LogDetail logDetail = new LogDetail(); // LogDetail logDetail = new LogDetail();
LogDetail logDetailQuick=new LogDetail(); // LogDetail logDetailQuick=new LogDetail();
BeanPlusUtil.copyProperties(detailLogReq, logDetail); // BeanPlusUtil.copyProperties(detailLogReq, logDetail);
logDetail.setSummaryId(logSummary.getId()); // logDetail.setSummaryId(logSummary.getId());
logDetail.setOrgId(logSummary.getOrgId()); // logDetail.setOrgId(logSummary.getOrgId());
logDetail.setCreateTime(DateTimeUtil.getCurrentDateTime()); // logDetail.setCreateTime(DateTimeUtil.getCurrentDateTime());
logDetail.setBussinessType(logreq.getBussinessType()); // logDetail.setBussinessType(logreq.getBussinessType());
logDetail.setOutInState(logreq.getOutInState()); // logDetail.setOutInState(logreq.getOutInState());
if (logreq.getBussinessType().equals("quick")){ // if (logreq.getBussinessType().equals("quick")){
BeanPlusUtil.copyProperties(logDetail,logDetailQuick); // BeanPlusUtil.copyProperties(logDetail,logDetailQuick);
logDetailQuick.setSummaryId(logSummaryQuick.getId()); // logDetailQuick.setSummaryId(logSummaryQuick.getId());
logDetailQuick.setOutInState("in"); // logDetailQuick.setOutInState("in");
collect.add(logDetailQuick); // collect.add(logDetailQuick);
} // }
collect.add(logDetail); // collect.add(logDetail);
//
} // }
//
boolean b = logDetailService.saveBatch(collect); // boolean b = logDetailService.saveBatch(collect);
//创建出入库日志 // //创建出入库日志
if (ObjectUtil.isNotNull(logSummary.getOrderMainId())){ // if (ObjectUtil.isNotNull(logSummary.getOrderMainId())){
OrderLog orderLog = addLog(logSummary,string); // OrderLog orderLog = addLog(logSummary,string);
OrderLog qucik = new OrderLog(); // OrderLog qucik = new OrderLog();
if (logreq.getBussinessType().equals("quick")){ // if (logreq.getBussinessType().equals("quick")){
qucik=addLog(logSummaryQuick,stringQuick); // qucik=addLog(logSummaryQuick,stringQuick);
orderLogList.add(qucik); // orderLogList.add(qucik);
} // }
orderLogList.add(orderLog); // orderLogList.add(orderLog);
} // }
} // }
//判断是否有orderId的单子出入库,如果有则直接添加 // //判断是否有orderId的单子出入库,如果有则直接添加
if (orderLogList.size()>0){ // if (orderLogList.size()>0){
boolean b = orderLogService.saveBatch(orderLogList); // boolean b = orderLogService.saveBatch(orderLogList);
} // }
//
//修改inventory表中的数据(如果不为空则表示不是采购单或者已经将采购单的信息过滤掉) // //修改inventory表中的数据(如果不为空则表示不是采购单或者已经将采购单的信息过滤掉)
//
if (inventoryList.size()>0){ // if (inventoryList.size()>0){
//
LambdaUpdateWrapper<Inventory> updateStateWrapper1 = Wrappers.lambdaUpdate(); // LambdaUpdateWrapper<Inventory> updateStateWrapper1 = Wrappers.lambdaUpdate();
LambdaUpdateWrapper<Inventory> allocateInWrapper1 = Wrappers.lambdaUpdate(); // LambdaUpdateWrapper<Inventory> allocateInWrapper1 = Wrappers.lambdaUpdate();
LambdaUpdateWrapper<WarehouseInventory> updateStateWrapper2 = Wrappers.lambdaUpdate(); // LambdaUpdateWrapper<WarehouseInventory> updateStateWrapper2 = Wrappers.lambdaUpdate();
LambdaUpdateWrapper<WarehouseInventory> allocateInWrapper2 = Wrappers.lambdaUpdate(); // LambdaUpdateWrapper<WarehouseInventory> allocateInWrapper2 = Wrappers.lambdaUpdate();
LambdaQueryWrapper<WarehouseInventory> destroyOutWrapper =Wrappers.lambdaQuery(); // LambdaQueryWrapper<WarehouseInventory> destroyOutWrapper =Wrappers.lambdaQuery();
for (Inventory inventory:inventoryList) { // for (Inventory inventory:inventoryList) {
if (inventory.getBussinessType().equals("allocate") && inventory.getLocationState().equals("in") && !ObjectUtil.isNull(ordermain)){ // if (inventory.getBussinessType().equals("allocate") && inventory.getLocationState().equals("in") && !ObjectUtil.isNull(ordermain)){
//调拨入库 // //调拨入库
allocateInWrapper1.or().eq(Inventory::getEpc,inventory.getEpc()) // allocateInWrapper1.or().eq(Inventory::getEpc,inventory.getEpc())
.set(Inventory::getOrgId,inventory.getOrgId()) // .set(Inventory::getOrgId,inventory.getOrgId())
.set(Inventory::getLocationId,inventory.getLocationId()) // .set(Inventory::getLocationId,inventory.getLocationId())
.set(Inventory::getLocationState,"in"); // .set(Inventory::getLocationState,"in");
allocateInWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc()) // allocateInWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc())
.set(WarehouseInventory::getOrgId,inventory.getOrgId()) // .set(WarehouseInventory::getOrgId,inventory.getOrgId())
.set(WarehouseInventory::getLocationId,inventory.getLocationId()) // .set(WarehouseInventory::getLocationId,inventory.getLocationId())
.set(WarehouseInventory::getLocationState,"in"); // .set(WarehouseInventory::getLocationState,"in");
//
} else if (inventory.getBussinessType().equals("allocate") && inventory.getLocationState().equals("out") && !ObjectUtil.isNull(ordermain)){ // } else if (inventory.getBussinessType().equals("allocate") && inventory.getLocationState().equals("out") && !ObjectUtil.isNull(ordermain)){
//调拨出库,不操作 // //调拨出库,不操作
allocateInWrapper1.or().eq(Inventory::getEpc,inventory.getEpc()) // allocateInWrapper1.or().eq(Inventory::getEpc,inventory.getEpc())
.set(Inventory::getOrgId,null) // .set(Inventory::getOrgId,null)
.set(Inventory::getLocationId,null) // .set(Inventory::getLocationId,null)
.set(Inventory::getLocationState,"out"); // .set(Inventory::getLocationState,"out");
allocateInWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc()) // allocateInWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc())
.set(WarehouseInventory::getOrgId,null) // .set(WarehouseInventory::getOrgId,null)
.set(WarehouseInventory::getLocationId,null) // .set(WarehouseInventory::getLocationId,null)
.set(WarehouseInventory::getLocationState,"out"); // .set(WarehouseInventory::getLocationState,"out");
}else if (inventory.getBussinessType().equals("destruction")){ // }else if (inventory.getBussinessType().equals("destruction")){
updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc()) // updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc())
.set(Inventory::getLocationState,"out") // .set(Inventory::getLocationState,"out")
.set(Inventory::getBussinessState,"destruction") // .set(Inventory::getBussinessState,"destruction")
.set(Inventory::getLocationId,inventory.getLocationId()) // .set(Inventory::getLocationId,inventory.getLocationId())
.set(Inventory::getState,"destory"); // .set(Inventory::getState,"destory");
destroyOutWrapper.or().eq(WarehouseInventory::getEpc,inventory.getEpc()); // destroyOutWrapper.or().eq(WarehouseInventory::getEpc,inventory.getEpc());
}else{ // }else{
//其他情况 // //其他情况
if (inventory.getBussinessType().equals("quick")){ // if (inventory.getBussinessType().equals("quick")){
updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc()) // updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc())
.set(Inventory::getLocationState,"in") // .set(Inventory::getLocationState,"in")
.set(Inventory::getBussinessState,"normal") // .set(Inventory::getBussinessState,"normal")
.set(Inventory::getLocationId,inventory.getLocationId()) // .set(Inventory::getLocationId,inventory.getLocationId())
.set(Inventory::getState,"normal"); // .set(Inventory::getState,"normal");
//
updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc()) // updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc())
.set(WarehouseInventory::getLocationId,inventory.getLocationId()) // .set(WarehouseInventory::getLocationId,inventory.getLocationId())
.set(WarehouseInventory::getLocationState,"in"); // .set(WarehouseInventory::getLocationState,"in");
}else { // }else {
updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc()) // updateStateWrapper1.or().eq(Inventory::getEpc,inventory.getEpc())
.set(Inventory::getLocationState,inventory.getLocationState()) // .set(Inventory::getLocationState,inventory.getLocationState())
.set(Inventory::getBussinessState,inventory.getBussinessState()) // .set(Inventory::getBussinessState,inventory.getBussinessState())
.set(Inventory::getState,inventory.getState()); // .set(Inventory::getState,inventory.getState());
//
updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc()) // updateStateWrapper2.or().eq(WarehouseInventory::getEpc,inventory.getEpc())
.set(WarehouseInventory::getLocationState,inventory.getLocationState()); // .set(WarehouseInventory::getLocationState,inventory.getLocationState());
//
} // }
//
//
} // }
//
} // }
//
if (!updateStateWrapper1.isEmptyOfWhere()){ // if (!updateStateWrapper1.isEmptyOfWhere()){
//
inventoryService.update(updateStateWrapper1); // inventoryService.update(updateStateWrapper1);
//
warehouseInventoryService.update(updateStateWrapper2); // warehouseInventoryService.update(updateStateWrapper2);
} // }
//
if (!allocateInWrapper1.isEmptyOfWhere()){ // if (!allocateInWrapper1.isEmptyOfWhere()){
//
inventoryService.update(allocateInWrapper1); // inventoryService.update(allocateInWrapper1);
warehouseInventoryService.update(allocateInWrapper2); // warehouseInventoryService.update(allocateInWrapper2);
} // }
//
} // }
//
return returnList; // return returnList;
} // }
private OrderLog addLog(LogSummary logSummary,String string){ private OrderLog addLog(LogSummary logSummary,String string){
OrderLog orderLog = new OrderLog(); OrderLog orderLog = new OrderLog();
...@@ -619,10 +619,15 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -619,10 +619,15 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
Collectors.collectingAndThen(Collectors.toList(), group -> { Collectors.collectingAndThen(Collectors.toList(), group -> {
NormalInOutDto result = new NormalInOutDto(); NormalInOutDto result = new NormalInOutDto();
result.setOrgId(group.get(0).getOrgId()); result.setOrgId(group.get(0).getOrgId());
result.setOrgName(group.get(0).getOrgName());
result.setOrgCode(group.get(0).getOrgCode());
result.setSizeName(group.get(0).getSizeName());
result.setTypeName(group.get(0).getTypeName());
result.setLocationId(group.get(0).getLocationId()); result.setLocationId(group.get(0).getLocationId());
result.setSizeId(group.get(0).getSizeId()); result.setSizeId(group.get(0).getSizeId());
result.setTypeId(group.get(0).getTypeId()); result.setTypeId(group.get(0).getTypeId());
result.setPrice(group.get(0).getPrice()); result.setPrice(group.get(0).getPrice());
result.setValuekey(result.getOrgCode()+result.getLocationId()+result.getLocationId()+result.getTypeId()+result.getSizeId()+result.getPrice());
result.setNumber(group.stream().mapToInt(NormalInOutDto::getNumber).sum()); result.setNumber(group.stream().mapToInt(NormalInOutDto::getNumber).sum());
return result; return result;
}))) })))
...@@ -664,6 +669,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -664,6 +669,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
InventorySummary inventorySummary = new InventorySummary(); InventorySummary inventorySummary = new InventorySummary();
BeanPlusUtil.copyProperties(outDto,inventorySummary); BeanPlusUtil.copyProperties(outDto,inventorySummary);
inventorySummary.setPrice(BigDecimal.valueOf(outDto.getNumber()).multiply(outDto.getPrice())); inventorySummary.setPrice(BigDecimal.valueOf(outDto.getNumber()).multiply(outDto.getPrice()));
inventorySummary.setLocationType("0");
inventorySummary.setUnitPrice(outDto.getPrice()); inventorySummary.setUnitPrice(outDto.getPrice());
inventorySummary.setBrokenNumber(0); inventorySummary.setBrokenNumber(0);
inventorySummary.setExpireNumber(0); inventorySummary.setExpireNumber(0);
...@@ -673,7 +679,13 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -673,7 +679,13 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
if (outInState.equals("in")){ if (outInState.equals("in")){
inventorySummary.setOutboundNumber(0); inventorySummary.setOutboundNumber(0);
inventorySummary.setUseNumber(0); inventorySummary.setUseNumber(0);
inventorySummary.setUseCount(0);
inventorySummary.setStockNumber(outDto.getNumber()); inventorySummary.setStockNumber(outDto.getNumber());
}else {
inventorySummary.setOutboundNumber(outDto.getNumber());
inventorySummary.setStockNumber(0);
inventorySummary.setUseNumber(outDto.getNumber());
inventorySummary.setUseCount(outDto.getNumber());
} }
addList.add(inventorySummary); addList.add(inventorySummary);
} }
...@@ -830,6 +842,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -830,6 +842,7 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
BeanPlusUtil.copyProperties(qucik,quickOrderLogReq); BeanPlusUtil.copyProperties(qucik,quickOrderLogReq);
orderLogReqList.add(quickOrderLogReq); orderLogReqList.add(quickOrderLogReq);
} }
logSummaryReq.setOrderLogList(orderLogReqList);
} }
if (ObjectUtil.isNotNull(logreq.getOrderMainId())){ if (ObjectUtil.isNotNull(logreq.getOrderMainId())){
//添加到redis中去(key是orderMainId) //添加到redis中去(key是orderMainId)
......
...@@ -138,6 +138,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -138,6 +138,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
private LogSummaryService logSummaryService; private LogSummaryService logSummaryService;
@Resource @Resource
private LogDetailService logDetailService;
@Resource
private InventorySummaryMapper inventorySummaryMapper; private InventorySummaryMapper inventorySummaryMapper;
@Autowired @Autowired
private RabbitMQSendMsg MQ; private RabbitMQSendMsg MQ;
...@@ -163,9 +166,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -163,9 +166,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
Long orgId = req.getOrderType().equals("in")?req.getEndOrgId():Long.parseLong(req.getStartOrgId()); Long orgId = req.getOrderType().equals("in")?req.getEndOrgId():Long.parseLong(req.getStartOrgId());
OrderMain one =null ; OrderMain one =null ;
//修改业务单可用次数 //修改业务单可用次数
if (ObjectUtil.isNotNull(req.getBussinessCode())){ if (ObjectUtil.isNotNull(req.getBussinessCode()) && req.getBussinessCode().charAt(0) != 'C' && req.getBussinessCode().charAt(1) != 'K'){
one = setBusFormState(req, one, orgId); one = setBusFormState(req, one, orgId);
} }
if (ObjectUtil.isNotNull(req.getBussinessCode()) && req.getBussinessCode().charAt(0) == 'C' && req.getBussinessCode().charAt(1) == 'K'){
update(new LambdaUpdateWrapper<OrderMain>().set(OrderMain::getOrderCurrentState,1)
.eq(OrderMain::getOrderCode,req.getBussinessCode())
.eq(OrderMain::getStartOrgId,req.getEndOrgId()));
}
if (one!=null){ if (one!=null){
//判断该单据是否可以进行修改(如果审核中则不允许修改) //判断该单据是否可以进行修改(如果审核中则不允许修改)
...@@ -357,6 +365,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -357,6 +365,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
.set(LogSummary::getOrderCode,order.getOrderCode()) .set(LogSummary::getOrderCode,order.getOrderCode())
.set(LogSummary::getBussinessType,order.getBussinessType()) .set(LogSummary::getBussinessType,order.getBussinessType())
.eq(LogSummary::getId,req.getLogSummaryId())); .eq(LogSummary::getId,req.getLogSummaryId()));
} }
return list; return list;
...@@ -374,9 +383,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -374,9 +383,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
//如果关联业务单据,那么需要将业务单据状态重新设置回来 //如果关联业务单据,那么需要将业务单据状态重新设置回来
Long orgId = one.getOrderType().equals("in")?one.getEndOrgId():one.getStartOrgId(); Long orgId = one.getOrderType().equals("in")?one.getEndOrgId():one.getStartOrgId();
if (ObjectUtil.isNotNull(one.getBussinessCode())){ if (ObjectUtil.isNotNull(one.getBussinessCode()) && req.getBussinessCode().charAt(0) != 'C' && req.getBussinessCode().charAt(1) != 'K'){
setState2(orgId,one.getBussinessCode()); setState2(orgId,one.getBussinessCode());
} }
if (ObjectUtil.isNotNull(one.getBussinessCode()) && req.getBussinessCode().charAt(0) == 'C' && req.getBussinessCode().charAt(1) == 'K'){
update(new LambdaUpdateWrapper<OrderMain>().set(OrderMain::getOrderCurrentState,1)
.eq(OrderMain::getBussinessCode,one.getBussinessCode())
.eq(OrderMain::getStartOrgId,one.getEndOrgId()));
}
return removeById(one.getId()); return removeById(one.getId());
} }
...@@ -513,8 +528,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -513,8 +528,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
//修改业务单据可用次数 //修改业务单据可用次数
private OrderMain setBusFormState(UpdateOrderReq req,OrderMain one,Long orgId){ private OrderMain setBusFormState(UpdateOrderReq req,OrderMain one,Long orgId){
boolean a=true;
boolean b=true;
if (ObjectUtil.isNotNull(req.getId())){ if (ObjectUtil.isNotNull(req.getId())){
one = orderMainExist(req.getId()); one = orderMainExist(req.getId());
if (ObjectUtil.isNotNull(req.getBussinessCode()) && ObjectUtil.isNotNull(one.getBussinessCode())) { if (ObjectUtil.isNotNull(req.getBussinessCode()) && ObjectUtil.isNotNull(one.getBussinessCode())) {
...@@ -522,11 +536,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -522,11 +536,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//入参 //入参
BusForm one1 = setState1(req.getOrderType(),orgId, req.getBussinessCode()); BusForm one1 = setState1(req.getOrderType(),orgId, req.getBussinessCode());
a=busFormService.updateById(one1); busFormService.updateById(one1);
//库存 //库存
BusForm one2 = setState2(orgId, one.getBussinessCode()); BusForm one2 = setState2(orgId, one.getBussinessCode());
b=busFormService.updateById(one2); busFormService.updateById(one2);
} }
} }
...@@ -535,14 +549,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -535,14 +549,14 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//只需要改一条数据 //只需要改一条数据
//入参 //入参
BusForm one1 = setState1(req.getOrderType(),orgId, req.getBussinessCode()); BusForm one1 = setState1(req.getOrderType(),orgId, req.getBussinessCode());
a=busFormService.updateById(one1); busFormService.updateById(one1);
} }
//入参为空,库里不为空 //入参为空,库里不为空
else if (ObjectUtil.isNull(req.getBussinessCode()) && ObjectUtil.isNotNull(one.getBussinessCode())){ else if (ObjectUtil.isNull(req.getBussinessCode()) && ObjectUtil.isNotNull(one.getBussinessCode())){
//只需要改一条数据 //只需要改一条数据
//库存 //库存
BusForm one2 = setState2(orgId, one.getBussinessCode()); BusForm one2 = setState2(orgId, one.getBussinessCode());
b=busFormService.updateById(one2); busFormService.updateById(one2);
} }
return one; return one;
}else { }else {
...@@ -550,7 +564,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -550,7 +564,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//只需要更改一条单据 //只需要更改一条单据
//入参 //入参
BusForm one1 = setState1(req.getOrderType(),orgId, req.getBussinessCode()); BusForm one1 = setState1(req.getOrderType(),orgId, req.getBussinessCode());
a=busFormService.updateById(one1); busFormService.updateById(one1);
} }
return one; return one;
} }
...@@ -971,24 +985,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -971,24 +985,18 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
return true; return true;
} }
//(只对summary表进行操作)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean Accounting(UpdateOrderReq req) { public boolean Accounting(UpdateOrderReq req) {
//将组织机构下面的所有仓库进行查询 //将组织机构下面的所有仓库进行查询
//判断传递的订单主id是否存在 //判断传递的订单主id是否存在
OrderMain orderMain = orderMainExist(req.getId()); OrderMain orderMain = orderMainExist(req.getId());
List<Warehouse> warehouseList = warehouseService.list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getOrgId, List<Warehouse> warehouseList = warehouseService.list(new LambdaQueryWrapper<Warehouse>().eq(Warehouse::getOrgId,
orderMain.getOrderType().equals("in") ? orderMain.getEndOrgId() : orderMain.getStartOrgId())); orderMain.getOrderType().equals("in") ? orderMain.getEndOrgId() : orderMain.getStartOrgId()));
Map<String,Warehouse> warehouseMap=new HashMap<>(); Map<String,Warehouse> warehouseMap=new HashMap<>();
warehouseList.forEach(warehouse -> warehouseMap.put(warehouse.getId(), warehouse)); warehouseList.forEach(warehouse -> warehouseMap.put(warehouse.getId(), warehouse));
LoginUser loginUser = LoginContext.getContext().getLoginUser();
// List<DetailJsonReq> childJsonList=new ArrayList<>();
// String detailJson = orderMain.getDetailJson();
//出入库传递的具体汇总信息
// List<DetailJsonReq> detailJsonList = JSONObject.parseArray(detailJson, DetailJsonReq.class);
//记账子单据不能传空 //记账子单据不能传空
if (req.getDetailList().size()==0){ if (req.getDetailList().size()==0){
throw new ServiceException(OrderExceptionEnum.ORDERDETAIL_ISNOT_NULL); throw new ServiceException(OrderExceptionEnum.ORDERDETAIL_ISNOT_NULL);
...@@ -1012,8 +1020,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1012,8 +1020,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
List<OrderDetail> orderDetailList=new ArrayList<>(); List<OrderDetail> orderDetailList=new ArrayList<>();
//创建一个列表用于修改summary数据库表中数据。 //创建一个列表用于修改summary数据库表中数据。
List<UpdateOrderDetailReq> orderDetailReqList=new ArrayList<>(); List<UpdateOrderDetailReq> orderDetailReqList=new ArrayList<>();
// List<AccountingDto> accountingDtoList=new ArrayList<>();
String s=""; String s="";
List<LogSummaryReq> logList=new ArrayList<>();
//比较两个子单id完全一致,判断传递的子单据id在数据库中是否存在,如果不存在则抛出子单据不存在异常 //比较两个子单id完全一致,判断传递的子单据id在数据库中是否存在,如果不存在则抛出子单据不存在异常
if (collect.size() == existingIds.size() && collect.containsAll(existingIds) && existingIds.containsAll(collect)){ if (collect.size() == existingIds.size() && collect.containsAll(existingIds) && existingIds.containsAll(collect)){
//新增空装备 //新增空装备
...@@ -1023,6 +1032,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1023,6 +1032,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
List<WarehouseInventory> addWareInvList=new ArrayList<>(); List<WarehouseInventory> addWareInvList=new ArrayList<>();
List<WarehouseInventory> delWareInvList=new ArrayList<>(); List<WarehouseInventory> delWareInvList=new ArrayList<>();
Map<String,LogSummaryReq> logMap=new HashMap<>();
//遍历子单 //遍历子单
for (UpdateOrderDetailReq uploadDetailReq : reqList) { for (UpdateOrderDetailReq uploadDetailReq : reqList) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
...@@ -1041,8 +1051,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1041,8 +1051,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
WarehouseInventory warehouseInventory=new WarehouseInventory(); WarehouseInventory warehouseInventory=new WarehouseInventory();
if (uploadDetailReq.getModifyQuantity() >= 0 ){ if (uploadDetailReq.getModifyQuantity() >= 0 ){
//记账内容
// List<DetailJsonReq> childJson = uploadDetailReq.getChildJson();
for (DetailJsonReq detailJsonReq:JsonList) { for (DetailJsonReq detailJsonReq:JsonList) {
if (!warehouseMap.isEmpty()){ if (!warehouseMap.isEmpty()){
//判断是否有key存在,如果没有直接报错 //判断是否有key存在,如果没有直接报错
...@@ -1056,10 +1064,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1056,10 +1064,11 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
} }
//记账差值
if (ObjectUtil.isNull(detailJsonReq.getModifyQuantity())){ if (ObjectUtil.isNull(detailJsonReq.getModifyQuantity())){
detailJsonReq.setModifyQuantity(uploadDetailReq.getModifyQuantity()); detailJsonReq.setModifyQuantity(uploadDetailReq.getModifyQuantity());
} }
//记账差值
int subNum=detailJsonReq.getModifyQuantity()-(ObjectUtil.isNull(detailJsonReq.getNum())?0:detailJsonReq.getNum()); int subNum=detailJsonReq.getModifyQuantity()-(ObjectUtil.isNull(detailJsonReq.getNum())?0:detailJsonReq.getNum());
detailJsonReq.setSizeName(uploadDetailReq.getSizeName()); detailJsonReq.setSizeName(uploadDetailReq.getSizeName());
detailJsonReq.setTypeName(uploadDetailReq.getTypeName()); detailJsonReq.setTypeName(uploadDetailReq.getTypeName());
...@@ -1072,10 +1081,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1072,10 +1081,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
data.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId()); data.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId());
BigDecimal price=BigDecimal.ZERO; BigDecimal price=BigDecimal.ZERO;
if (ObjectUtil.isNull(detailJsonReq.getPrice())){ if (ObjectUtil.isNull(detailJsonReq.getPrice())){
price=equipmentTypeService.getOne(new LambdaQueryWrapper<EquipmentType>() // price=equipmentTypeService.getOne(new LambdaQueryWrapper<EquipmentType>()
.eq(EquipmentType::getId,uploadDetailReq.getTypeId())) // .eq(EquipmentType::getId,uploadDetailReq.getTypeId()))
.getPrice(); // .getPrice();
price=new BigDecimal(uploadDetailReq.getPrice());
} }
data.setPrice(ObjectUtil.isNull(detailJsonReq.getPrice())? price.toString() :detailJsonReq.getPrice().toString()); data.setPrice(ObjectUtil.isNull(detailJsonReq.getPrice())? price.toString() :detailJsonReq.getPrice().toString());
data.setProperty(ObjectUtil.isNull(detailJsonReq.getProperty())?0:detailJsonReq.getProperty()); data.setProperty(ObjectUtil.isNull(detailJsonReq.getProperty())?0:detailJsonReq.getProperty());
...@@ -1097,10 +1106,20 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1097,10 +1106,20 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
if (subNum>0){ if (subNum>0){
//判断是否存在仓库id的key,如果存在直接获取并且修改后再次添加,如果不存在则直接put
if (logMap.containsKey(detailJsonReq.getLocationId())){
LogSummaryReq logSummaryReq = logMap.get(detailJsonReq.getLocationId());
logSummaryReq.setNumber(logSummaryReq.getNumber()+subNum);
logSummaryReq.setTypeName(logSummaryReq.getTypeName()+","+uploadDetailReq.getTypeName());
logMap.put(detailJsonReq.getLocationId(),logSummaryReq);
}else {
LogSummaryReq logSummaryReq = addLogSummary(loginUser,uploadDetailReq,detailJsonReq,subNum,orderMain);
logMap.put(detailJsonReq.getLocationId(),logSummaryReq);
}
//实际出库或者入库数量大于实际数量,则对空数据进行增删改查 //实际出库或者入库数量大于实际数量,则对空数据进行增删改查
if (orderMain.getOrderType().equals("in")){ //入库 if (orderMain.getOrderType().equals("in")){ //入库
for (int j = 0; j < subNum; j++) { for (int j = 0; j < subNum; j++) {
inventory.setEpc("0"); inventory.setEpc("000000"+DateTimeUtil.getCurrentDateTime().getTime()+String.format("%04d", j+1));
inventory.setLocationId(detailJsonReq.getLocationId()); inventory.setLocationId(detailJsonReq.getLocationId());
inventory.setSizeId(ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId()); inventory.setSizeId(ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId());
inventory.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId()); inventory.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId());
...@@ -1110,6 +1129,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1110,6 +1129,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
inventory.setProperty(0); inventory.setProperty(0);
addInvList.add(inventory); addInvList.add(inventory);
warehouseInventory.setOrgId(orderMain.getEndOrgId()); warehouseInventory.setOrgId(orderMain.getEndOrgId());
warehouseInventory.setEpc("000000"+DateTimeUtil.getCurrentDateTime().getTime()+String.format("%04d", j+1));
warehouseInventory.setLocationId(detailJsonReq.getLocationId()); warehouseInventory.setLocationId(detailJsonReq.getLocationId());
warehouseInventory.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId()); warehouseInventory.setTypeId(ObjectUtil.isNull(detailJsonReq.getTypeId())? uploadDetailReq.getTypeId():detailJsonReq.getTypeId());
warehouseInventory.setSizeId(ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId()); warehouseInventory.setSizeId(ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId());
...@@ -1118,7 +1138,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1118,7 +1138,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
}else {//出库 }else {//出库
List<Inventory> list1 = inventoryService.list(new LambdaQueryWrapper<Inventory>() List<Inventory> list1 = inventoryService.list(new LambdaQueryWrapper<Inventory>()
.eq(Inventory::getEpc, "0")
.eq(Inventory::getLocationId, detailJsonReq.getLocationId()) .eq(Inventory::getLocationId, detailJsonReq.getLocationId())
.eq(Inventory::getSizeId, ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId()) .eq(Inventory::getSizeId, ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId())
.eq(Inventory::getOrgId, orderMain.getStartOrgId()) .eq(Inventory::getOrgId, orderMain.getStartOrgId())
...@@ -1126,7 +1146,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1126,7 +1146,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
.eq(Inventory::getPrice, detailJsonReq.getPrice()) .eq(Inventory::getPrice, detailJsonReq.getPrice())
.eq(Inventory::getLocationType, "0")); .eq(Inventory::getLocationType, "0"));
List<WarehouseInventory> list2 = warehouseInventoryService.list(new LambdaQueryWrapper<WarehouseInventory>() List<WarehouseInventory> list2 = warehouseInventoryService.list(new LambdaQueryWrapper<WarehouseInventory>()
.eq(WarehouseInventory::getEpc, "0")
.eq(WarehouseInventory::getLocationId, detailJsonReq.getLocationId()) .eq(WarehouseInventory::getLocationId, detailJsonReq.getLocationId())
.eq(WarehouseInventory::getOrgId, orderMain.getStartOrgId()) .eq(WarehouseInventory::getOrgId, orderMain.getStartOrgId())
.eq(WarehouseInventory::getSizeId, ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId()) .eq(WarehouseInventory::getSizeId, ObjectUtil.isNull(detailJsonReq.getSizeId())? uploadDetailReq.getSizeId():detailJsonReq.getSizeId())
...@@ -1172,8 +1192,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1172,8 +1192,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
} }
if (addWareInvList.size()>0){ if (addWareInvList.size()>0){
inventoryService.saveBatch(addInvList); inventoryService.saveBatch(addInvList);
} }
...@@ -1203,8 +1221,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1203,8 +1221,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
boolean b = updateById(orderMain); boolean b = updateById(orderMain);
//将修改内容存储记录(历史操作,数量,单据,价格,组织机构) //将修改内容存储记录(历史操作,数量,单据,价格,组织机构)
//创建记账操作记录并且记录到数据表order_log中 //创建记账操作记录并且记录到数据表order_log中
// boolean c = saveAccountingLog(req, s, updateQuantity);
boolean c = saveAccountingLog(req, s, updateQuantity); boolean c = saveAccountingLog(req, s, updateQuantity);
// boolean c = saveAccountingLog(req, accountingDtoList, updateQuantity);
//修改装备汇总表中的数据 inventory_summary //修改装备汇总表中的数据 inventory_summary
Long orgId; Long orgId;
...@@ -1247,15 +1265,78 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -1247,15 +1265,78 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}else { }else {
MQ.SendMsg(exchangeName,req.getStartOrgId().toString(),mqReturnMsgDto); MQ.SendMsg(exchangeName,req.getStartOrgId().toString(),mqReturnMsgDto);
} }
//将redis中的出入库记录一起存入数据库表中(根据orderMainId获取数据) //将redis中的出入库记录一起存入数据库表中(根据orderMainId获取数据)
//开始时间戳为2000年1月1日 00:00:00 //开始时间戳为2000年1月1日 00:00:00
// List<Object> dataByTimestampRange = outInRecordRedisCache.getDataByTimestampRange(orderMain.getId(), 946656000L, DateTimeUtil.TimeDateToLong(DateTimeUtil.getCurrentDateTime())); List<Object> dataByTimestampRange = outInRecordRedisCache.getDataByTimestampRange(orderMain.getId());
// redisCache.remove(orderMain.getId()); redisCache.remove(orderMain.getId());
// redisCache.get() //取了之后再进行将东西添加到出入库记录
if (CollectionUtil.isNotEmpty(dataByTimestampRange)){
List<LogSummaryReq> collect1 = dataByTimestampRange.stream().map(obj -> (LogSummaryReq) obj).collect(Collectors.toList());
logList.addAll(collect1);
}
// collect1.add();
//添加日志
boolean b1 = addLogs(logList);
//更新主单据 //更新主单据
return (a && b && c && d && e && f && g ); return (a && b && c && d && e && f && g && b1 );
}
private LogSummaryReq addLogSummary(LoginUser loginUser,UpdateOrderDetailReq uploadDetailReq,DetailJsonReq detailJsonReq,Integer subNum,OrderMain orderMain){
LogSummaryReq logSummaryReq = new LogSummaryReq();
logSummaryReq.setOrgId(uploadDetailReq.getOrgId());
logSummaryReq.setOrgName(loginUser.getOrgName());
logSummaryReq.setOrderMainId(orderMain.getId());
logSummaryReq.setOrderCode(orderMain.getOrderCode());
// 4 人工记账
logSummaryReq.setDeviceType(4);
logSummaryReq.setLocationId(detailJsonReq.getLocationId());
logSummaryReq.setLocationName(detailJsonReq.getLocationName());
logSummaryReq.setLocationType(0);
logSummaryReq.setUseTime(DateTimeUtil.getCurrentDateTime());
logSummaryReq.setEquipmentList(uploadDetailReq.getTypeName());
logSummaryReq.setOutInState(orderMain.getOrderType());
logSummaryReq.setNumber(subNum);
logSummaryReq.setCreateTime(DateTimeUtil.getCurrentDateTime());
logSummaryReq.setUserName(loginUser.getUserInfo().getRealName());
return logSummaryReq;
}
private boolean addLogs(List<LogSummaryReq> list){
//添加一个列表logSummary,添加一个logDetail列表,添加一个orderLog列表
// List<LogSummary> logSummaryList=new ArrayList<>();
List<LogDetail> logDetailList=new ArrayList<>();
List<OrderLog> orderLogList=new ArrayList<>();
for (LogSummaryReq ls:list) {
LogSummary logSummary = new LogSummary();
BeanPlusUtil.copyProperties(ls,logSummary);
logSummaryService.save(logSummary);
if (CollectionUtil.isNotEmpty(ls.getOrderLogList())){
for (OrderLogReq ol: ls.getOrderLogList()) {
OrderLog orderLog = new OrderLog();
BeanPlusUtil.copyProperties(ol,orderLog);
orderLogList.add(orderLog);
}
}
if (CollectionUtil.isNotEmpty(ls.getLogList())){
for (LogDetailReq ld:ls.getLogList()) {
LogDetail logDetail = new LogDetail();
BeanPlusUtil.copyProperties(ld,logDetail);
logDetail.setSummaryId(logSummary.getId());
logDetailList.add(logDetail);
}
}
}
if (CollectionUtil.isNotEmpty(orderLogList)){
orderLogService.saveBatch(orderLogList);
}
if (CollectionUtil.isNotEmpty(logDetailList)){
logDetailService.saveBatch(logDetailList);
}
return true;
} }
public boolean policeUnBindEqs(UpdateOrderReq req,List<UpdateOrderDetailReq> orderDetailReqList,Long orgId){ public boolean policeUnBindEqs(UpdateOrderReq req,List<UpdateOrderDetailReq> orderDetailReqList,Long orgId){
//根据传递的装备信息对警员进行解绑操作(判断警员下面是否有装备信息,如果有则直接进行修改或者删除,如果没有则跳过不处理) //根据传递的装备信息对警员进行解绑操作(判断警员下面是否有装备信息,如果有则直接进行修改或者删除,如果没有则跳过不处理)
......
...@@ -1825,11 +1825,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -1825,11 +1825,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
} }
if (ObjectUtil.isNotNull(req.getUserId())){ if (ObjectUtil.isNotNull(req.getUserId())){
eq.and(wrapper -> wrapper.eq(Reassignment::getAgentId,req.getUserId()) eq.and(wrapper -> wrapper.eq(Reassignment::getAgentId,req.getUserId())
.or().like(Reassignment::getExamineState,req.getUserId())); .or().like(Reassignment::getHistoryAssign,req.getUserId()));
}else { }else {
LoginUser loginUser = LoginContext.getContext().getLoginUser(); LoginUser loginUser = LoginContext.getContext().getLoginUser();
eq.and(wrapper -> wrapper.eq(Reassignment::getAgentId,loginUser.getUserId()) eq.and(wrapper -> wrapper.eq(Reassignment::getAgentId,loginUser.getUserId())
.or().like(Reassignment::getExamineState,loginUser.getUserId())); .or().like(Reassignment::getHistoryAssign,loginUser.getUserId()));
} }
Page<Reassignment> page = reassignmentService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq); Page<Reassignment> page = reassignmentService.page(PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()), eq);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
......
...@@ -353,7 +353,9 @@ public class TjServiceImpl implements TjService { ...@@ -353,7 +353,9 @@ public class TjServiceImpl implements TjService {
// //
// 等待所有 CompletableFuture 完成 // 等待所有 CompletableFuture 完成
allOf.join(); allOf.join();
tjOrgPriceDtoList = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032808905L){
//获取本级数据 //获取本级数据
...@@ -430,6 +432,8 @@ public class TjServiceImpl implements TjService { ...@@ -430,6 +432,8 @@ public class TjServiceImpl implements TjService {
finalTjOrgPriceDto.setDestoryPrice(BigDecimal.ZERO); finalTjOrgPriceDto.setDestoryPrice(BigDecimal.ZERO);
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId())); List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgPriceDto> tjOrgPriceDtoList=new ArrayList<>();
//根据条件查询财务汇总表 //根据条件查询财务汇总表
List<CompletableFuture<TjOrgPriceDto>> futures = orgList.stream() List<CompletableFuture<TjOrgPriceDto>> futures = orgList.stream()
.map(orgId -> CompletableFuture.supplyAsync(() -> .map(orgId -> CompletableFuture.supplyAsync(() ->
...@@ -441,12 +445,11 @@ public class TjServiceImpl implements TjService { ...@@ -441,12 +445,11 @@ public class TjServiceImpl implements TjService {
// 等待所有 CompletableFuture 完成 // 等待所有 CompletableFuture 完成
allOf.join(); allOf.join();
List<TjOrgPriceDto> tjOrgPriceDtoList = orgList.parallelStream() tjOrgPriceDtoList = futures.stream()
.map(orgId -> CompletableFuture.supplyAsync(() ->
priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(), req.getTypeIdsList(), req.getSizeNameList())))
.map(CompletableFuture::join) .map(CompletableFuture::join)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032808905L){
//获取本级数据 //获取本级数据
TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(), TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
......
...@@ -183,6 +183,19 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse> ...@@ -183,6 +183,19 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
Warehouse warehouse = WarehoustExist(req.getId()); Warehouse warehouse = WarehoustExist(req.getId());
BeanPlusUtil.copyProperties(req, warehouse); BeanPlusUtil.copyProperties(req, warehouse);
warehouse.setUpdateTime(DateTimeUtil.getCurrentDateTime()); warehouse.setUpdateTime(DateTimeUtil.getCurrentDateTime());
MQDto mqDto = new MQDto();
mqDto.setApi("warehouseState");
mqDto.setWarehouseId(req.getId());
if (req.getState()==1){
mqDto.setMessage("仓库启用");
mqDto.setWarehouseState(1);
}else {
mqDto.setMessage("仓库禁用");
mqDto.setWarehouseState(0);
}
mqDto.setType(10);
MQ.SendMsg("warehouseMsg",req.getOrgId().toString(),mqDto);//推送至仓库主机
return this.updateById(warehouse); return this.updateById(warehouse);
} }
...@@ -236,9 +249,15 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse> ...@@ -236,9 +249,15 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
// String date="2023-12-01 00:00:00"; // String date="2023-12-01 00:00:00";
// Long startTimeStamp = DateTimeUtil.TimeStringToLong(date); // Long startTimeStamp = DateTimeUtil.TimeStringToLong(date);
// Long endTimeStamp = DateTimeUtil.getCurrentDateTime().toInstant().toEpochMilli(); // Long endTimeStamp = DateTimeUtil.getCurrentDateTime().toInstant().toEpochMilli();
List<Object> dataByTimestampRange =new ArrayList<>();
if (ObjectUtil.isNotNull(req.getStartTime()) && ObjectUtil.isNotNull(req.getEndTime())){
Long startTimeStamp = DateTimeUtil.TimeDateToLong(req.getStartTime()); Long startTimeStamp = DateTimeUtil.TimeDateToLong(req.getStartTime());
Long endTimeStamp = DateTimeUtil.TimeDateToLong(req.getEndTime()); Long endTimeStamp = DateTimeUtil.TimeDateToLong(req.getEndTime());
List<Object> dataByTimestampRange = temperatureRedisCache.getDataByTimestampRange(req.getId(), startTimeStamp, endTimeStamp); dataByTimestampRange = temperatureRedisCache.getDataByTimestampRange(req.getId(), startTimeStamp, endTimeStamp);
}else {
temperatureRedisCache.getRedisTemplate().opsForZSet().range("WarehouseDev:"+req.getId(),0,-1);
}
List<HumidityAndtemperature> collect = dataByTimestampRange.stream() List<HumidityAndtemperature> collect = dataByTimestampRange.stream()
.map(obj -> (HumidityAndtemperature) obj) .map(obj -> (HumidityAndtemperature) obj)
.sorted(Comparator.comparingLong(HumidityAndtemperature::getCreateTime).reversed()) .sorted(Comparator.comparingLong(HumidityAndtemperature::getCreateTime).reversed())
......
...@@ -697,7 +697,7 @@ ...@@ -697,7 +697,7 @@
join base_inventory i on a.epc=i.epc join base_inventory i on a.epc=i.epc
<if test="req.state == 'expire'"> <if test="req.state == 'expire'">
and i.warranty_period != 0 and DATE_ADD(i.production_date, INTERVAL i.warranty_period MONTH) &lt; NOW() and and i.warranty_period != 0 and DATE_ADD(i.production_date, INTERVAL i.warranty_period MONTH) &lt; NOW() and
i.state != "broken" and i.state != "destoty" i.state != "broken" and i.state != "destory"
</if> </if>
<if test="req.state == 'destory'"> <if test="req.state == 'destory'">
and i.state = "destory" and i.state = "destory"
......
...@@ -308,6 +308,7 @@ ...@@ -308,6 +308,7 @@
( (
org_id_int = ${item[0]} AND location_id = '${item[1]}' AND type_id = ${item[2]} AND size_id = '${item[3]}' org_id_int = ${item[0]} AND location_id = '${item[1]}' AND type_id = ${item[2]} AND size_id = '${item[3]}'
AND unit_price = ${item[4]} AND unit_price = ${item[4]}
and property=${item[5]} and property=${item[5]}
) )
</foreach> </foreach>
...@@ -786,7 +787,7 @@ ...@@ -786,7 +787,7 @@
i.production_date,i.warranty_period,i.maintenance_period, i.term_state, i.production_date,i.warranty_period,i.maintenance_period, i.term_state,
i.area_id,et.name as type_name,es.name as size_name,po.org_name as org_name, i.area_id,et.name as type_name,es.name as size_name,po.org_name as org_name,
bs.name as supplier_name,COALESCE(bc.name, bw.name) as location_name, bs.name as supplier_name,COALESCE(bc.name, bw.name) as location_name,
es.photo as photo,es.instructions as instructions es.photo as photo,es.instructions as instructions,et.photo as type_photo,es.photo as size_photo
FROM base_warehouse_inventory wi FROM base_warehouse_inventory wi
LEFT JOIN base_inventory i ON i.epc = wi.epc LEFT JOIN base_inventory i ON i.epc = wi.epc
LEFT JOIN base_equipment_type et ON et.id = i.type_id LEFT JOIN base_equipment_type et ON et.id = i.type_id
...@@ -812,7 +813,6 @@ ...@@ -812,7 +813,6 @@
<if test="req.price !=null and req.price != ''"> <if test="req.price !=null and req.price != ''">
and i.price=#{req.price} and i.price=#{req.price}
</if> </if>
ORDER BY wi.type_id,i.size_id ORDER BY wi.type_id,i.size_id
<if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' "> <if test="pageNo != null and pageNo != '' and pageSize != null and pageSize != '' ">
limit #{pageNo},#{pageSize} limit #{pageNo},#{pageSize}
......
...@@ -84,6 +84,9 @@ ...@@ -84,6 +84,9 @@
<if test="req.endOrgId != null and req.endOrgId != ''"> <if test="req.endOrgId != null and req.endOrgId != ''">
and end_org_id = #{req.endOrgId} and end_org_id = #{req.endOrgId}
</if> </if>
<if test="req.orderCurrentState != null and req.orderCurrentState!=''" >
and order_current_state = 1
</if>
<if test="req.orderType=='in'"> <if test="req.orderType=='in'">
and ( end_org_user_id = #{userId} and ( end_org_user_id = #{userId}
or history_assign like CONCAT('%', #{userId}, '%') or current_assign like CONCAT('%', #{userId}, '%')) or history_assign like CONCAT('%', #{userId}, '%') or current_assign like CONCAT('%', #{userId}, '%'))
......
...@@ -13,6 +13,7 @@ public interface CommonConstants { ...@@ -13,6 +13,7 @@ public interface CommonConstants {
String FORM_Trigger="formTrigger"; String FORM_Trigger="formTrigger";
String PROCESS_STATUS="processStatus"; String PROCESS_STATUS="processStatus";
String START_USER_INFO="startUser"; String START_USER_INFO="startUser";
String START_USER="startUserName";
String ORDER_ID="orderId"; String ORDER_ID="orderId";
String TYPE_ORDER="typeOrder"; String TYPE_ORDER="typeOrder";
String START_ORG_NAME="startOrgName";//发物单位 String START_ORG_NAME="startOrgName";//发物单位
......
...@@ -33,4 +33,6 @@ public class ApplyDTO extends PageDTO { ...@@ -33,4 +33,6 @@ public class ApplyDTO extends PageDTO {
private String processId; private String processId;
private String startUser;
} }
...@@ -35,4 +35,6 @@ public class TaskDTO extends PageDTO { ...@@ -35,4 +35,6 @@ public class TaskDTO extends PageDTO {
private Boolean isCreateNullDate; private Boolean isCreateNullDate;
private String processId; private String processId;
//申请人
private String startUser;
} }
...@@ -160,6 +160,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -160,6 +160,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
processVariables.put(OUT_IN_STATE,processInstanceDto.getOutInState()); processVariables.put(OUT_IN_STATE,processInstanceDto.getOutInState());
} }
processVariables.put(START_USER_INFO,JSONObject.toJSONString(StartUser)); processVariables.put(START_USER_INFO,JSONObject.toJSONString(StartUser));
processVariables.put(START_USER,StartUser.getRealName());
processVariables.put(PROCESS_STATUS,BUSINESS_STATUS_1); processVariables.put(PROCESS_STATUS,BUSINESS_STATUS_1);
//领用人,调岗人 //领用人,调岗人
if (ObjectUtil.isNotNull(processInstanceDto.getUserName())){ if (ObjectUtil.isNotNull(processInstanceDto.getUserName())){
......
...@@ -458,16 +458,19 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -458,16 +458,19 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskQuery = taskQuery.processDefinitionNameLike("%"+taskDTO.getProcessDefinitionName()+"%"); taskQuery = taskQuery.processDefinitionNameLike("%"+taskDTO.getProcessDefinitionName()+"%");
} }
//装备名称 //装备名称
if (ObjectUtil.isNotNull(taskDTO.getTypeName()) && ! taskDTO.getTypeName().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getTypeName()) && ! taskDTO.getTypeName().trim().isEmpty()){
taskQuery=taskQuery.processVariableValueLike(INVLIST,"%"+taskDTO.getTypeName()+"%"); taskQuery=taskQuery.processVariableValueLike(INVLIST,"%"+taskDTO.getTypeName()+"%");
} }
//发物单位 //发物单位
if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){
taskQuery = taskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%"); taskQuery = taskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getStartOrgName()+"%");
} }
if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){
taskQuery = taskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%"); taskQuery = taskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getEndOrgName()+"%");
} }
//流程id //流程id
if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){
...@@ -483,6 +486,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -483,6 +486,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){ }else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){
taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
} }
//申请人
if (ObjectUtil.isNotNull(taskDTO.getStartUser())){
taskQuery=taskQuery.processVariableValueEquals(START_USER,taskDTO.getStartUser());
}
Object aa= taskQuery.list(); Object aa= taskQuery.list();
// taskQuery. // taskQuery.
...@@ -570,11 +577,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -570,11 +577,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
//发物单位 //发物单位
if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getStartOrgName()) && ! taskDTO.getStartOrgName().trim().isEmpty()){
historicTaskQuery = historicTaskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%"); historicTaskQuery = historicTaskQuery.processVariableValueLike(START_ORG_NAME,"%"+taskDTO.getStartOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getStartOrgName()+"%");
} }
if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getEndOrgName()) && ! taskDTO.getEndOrgName().trim().isEmpty()){
historicTaskQuery = historicTaskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%"); historicTaskQuery = historicTaskQuery.processVariableValueLike(END_ORG_NAME,"%"+taskDTO.getEndOrgName()+"%")
.or().processVariableValueLike(USER_NAME,"%"+taskDTO.getEndOrgName()+"%");
} }
//流程id //流程id
if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){
...@@ -590,6 +599,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -590,6 +599,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){ }else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
} }
//申请人
if (ObjectUtil.isNotNull(taskDTO.getStartUser()) ){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(START_USER,taskDTO.getStartUser());
}
// List<HistoricTaskInstance> tasks = historicTaskQuery.list(); // List<HistoricTaskInstance> tasks = historicTaskQuery.list();
List<HistoricTaskInstance> tasks = historicTaskQuery.listPage((taskDTO.getPageNo() - 1) * taskDTO.getPageSize(), taskDTO.getPageSize()); List<HistoricTaskInstance> tasks = historicTaskQuery.listPage((taskDTO.getPageNo() - 1) * taskDTO.getPageSize(), taskDTO.getPageSize());
long count = historicTaskQuery.count(); long count = historicTaskQuery.count();
...@@ -705,10 +719,12 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -705,10 +719,12 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
//发物单位 //发物单位
if (ObjectUtil.isNotNull(applyDTO.getStartOrgName()) && ! applyDTO.getStartOrgName().trim().isEmpty()){ if (ObjectUtil.isNotNull(applyDTO.getStartOrgName()) && ! applyDTO.getStartOrgName().trim().isEmpty()){
desc = desc.variableValueLike(START_ORG_NAME,"%"+applyDTO.getStartOrgName()+"%"); desc = desc.variableValueLike(START_ORG_NAME,"%"+applyDTO.getStartOrgName()+"%")
.or().variableValueLike(USER_NAME,"%"+applyDTO.getStartOrgName()+"%");
} }
if (ObjectUtil.isNotNull(applyDTO.getEndOrgName()) && ! applyDTO.getEndOrgName().trim().isEmpty()){ if (ObjectUtil.isNotNull(applyDTO.getEndOrgName()) && ! applyDTO.getEndOrgName().trim().isEmpty()){
desc = desc.variableValueLike(END_ORG_NAME,"%"+applyDTO.getEndOrgName()+"%"); desc = desc.variableValueLike(END_ORG_NAME,"%"+applyDTO.getEndOrgName()+"%")
.or().variableValueLike(USER_NAME,"%"+applyDTO.getEndOrgName()+"%");
} }
//流程id //流程id
if (ObjectUtil.isNotNull(applyDTO.getProcessId()) && ! applyDTO.getProcessId().trim().isEmpty()){ if (ObjectUtil.isNotNull(applyDTO.getProcessId()) && ! applyDTO.getProcessId().trim().isEmpty()){
...@@ -725,6 +741,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -725,6 +741,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus()); desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus());
} }
//申请人
if (ObjectUtil.isNotNull(applyDTO.getStartUser())){
desc=desc.variableValueEquals(START_USER,applyDTO.getStartUser());
}
List<HistoricProcessInstance> historicProcessInstances = desc.listPage((applyDTO.getPageNo() - 1) * applyDTO.getPageSize(), applyDTO.getPageSize()); List<HistoricProcessInstance> historicProcessInstances = desc.listPage((applyDTO.getPageNo() - 1) * applyDTO.getPageSize(), applyDTO.getPageSize());
long count = desc.count(); long count = desc.count();
// long count = historyService.createHistoricProcessInstanceQuery() // long count = historyService.createHistoricProcessInstanceQuery()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论