代码备份

workplace
yewj 10 months ago
parent 02b06f6dbd
commit b27b4df7fa

@ -332,7 +332,7 @@ public class IoOrderController extends BaseController {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction());
//要是特殊往来信息没有就创建 //要是特殊往来信息没有就创建
if (addOrderRequest.getOrderType() != null){ if (addOrderRequest.getOrderType() != null) {
orderEntity.setOrderType(addOrderRequest.getOrderType()); orderEntity.setOrderType(addOrderRequest.getOrderType());
} }
orderEntity.setFromCorp(ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp(), addOrderRequest.getSickerAdNum())); orderEntity.setFromCorp(ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp(), addOrderRequest.getSickerAdNum()));
@ -400,7 +400,6 @@ public class IoOrderController extends BaseController {
resultList = ioAddInoutService.checkPrice(codeTempEntity, bussinessTypeEntity, resultList); resultList = ioAddInoutService.checkPrice(codeTempEntity, bussinessTypeEntity, resultList);
} }
} }
if (checkInoutService.checkManual(addOrderRequest.getBillNo())) { if (checkInoutService.checkManual(addOrderRequest.getBillNo())) {
if (CollUtil.isNotEmpty(orderDetailBizEntities)) { if (CollUtil.isNotEmpty(orderDetailBizEntities)) {

@ -34,6 +34,7 @@ import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.IoCodeTempService; import com.glxp.api.service.inout.IoCodeTempService;
import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.inout.IoSplitFifoCodeService;
import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.util.IntUtil; import com.glxp.api.util.IntUtil;
import com.glxp.api.util.MsDateUtil; import com.glxp.api.util.MsDateUtil;
@ -43,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Service @Service
public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoCollectOrder> { public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoCollectOrder> {
@ -73,6 +75,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
SysWorkplaceService sysWorkplaceService; SysWorkplaceService sysWorkplaceService;
@Resource @Resource
SysWorkplaceDocumentService sysWorkplaceDocumentService; SysWorkplaceDocumentService sysWorkplaceDocumentService;
@Resource
IoSplitFifoCodeService splitFifoCodeService;
public IoCollectOrder getByBillNo(String billNo) { public IoCollectOrder getByBillNo(String billNo) {
return collectOrderMapper.selectOne(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, billNo).last("limit 1")); return collectOrderMapper.selectOne(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, billNo).last("limit 1"));
@ -192,6 +196,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
filterOrderRequest.setProductType(null); filterOrderRequest.setProductType(null);
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest); List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
List<IoCollectOrder> collectOrderList = new ArrayList<>(); List<IoCollectOrder> collectOrderList = new ArrayList<>();
List<SysWorkplaceResponse> allWorksList = new ArrayList<>();
for (IoOrderResponse ioOrderEntity : list) { for (IoOrderResponse ioOrderEntity : list) {
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) { if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) {
@ -276,20 +281,30 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
} }
collectOrderBizs.add(collectOrderBiz); collectOrderBizs.add(collectOrderBiz);
} }
if (CollUtil.isNotEmpty(collectOrderBizs)) if (CollUtil.isNotEmpty(collectOrderBizs)) {
collectOrderBizService.saveBatch(collectOrderBizs); collectOrderBizService.saveBatch(collectOrderBizs);
}
allWorksList.addAll(sysWorkplaces);
} }
if (CollUtil.isNotEmpty(collectOrderList)) { if (CollUtil.isNotEmpty(collectOrderList)) {
saveBatch(collectOrderList); saveBatch(collectOrderList);
} }
Map<Long, SysWorkplaceResponse> sysWorkplaceMap = new HashMap<>();
for (SysWorkplaceResponse sysWorkplace : allWorksList) {
sysWorkplaceMap.put(sysWorkplace.getId(), sysWorkplace);
}
for (SysWorkplaceResponse value : sysWorkplaceMap.values()) {
splitFifoCodeService.preAllotInv(value.getWorkplaceId());
}
} }
public void importPrescribe() { public void importPrescribe() {
//下载处方 //下载处方
List<BasicSkPrescribeEntity> basicSkPrescribeEntities = basicSkPrescribeService.list(); List<BasicSkPrescribeEntity> basicSkPrescribeEntities = basicSkPrescribeService.list();
List<SysWorkplaceResponse> allWorksList = new ArrayList<>();
List<IoCollectOrder> collectOrderList = new ArrayList<>(); List<IoCollectOrder> collectOrderList = new ArrayList<>();
for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) { for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) {
// BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByFromCode(String.valueOf(basicSkPrescribeEntity.getAddr())); // BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByFromCode(String.valueOf(basicSkPrescribeEntity.getAddr()));
@ -374,10 +389,19 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
} }
if (CollUtil.isNotEmpty(collectOrderBizs)) if (CollUtil.isNotEmpty(collectOrderBizs))
collectOrderBizService.saveBatch(collectOrderBizs); collectOrderBizService.saveBatch(collectOrderBizs);
allWorksList.addAll(sysWorkplaces);
} }
if (CollUtil.isNotEmpty(collectOrderList)) { if (CollUtil.isNotEmpty(collectOrderList)) {
saveBatch(collectOrderList); saveBatch(collectOrderList);
} }
Map<Long, SysWorkplaceResponse> sysWorkplaceMap = new HashMap<>();
for (SysWorkplaceResponse sysWorkplace : allWorksList) {
sysWorkplaceMap.put(sysWorkplace.getId(), sysWorkplace);
}
for (SysWorkplaceResponse value : sysWorkplaceMap.values()) {
splitFifoCodeService.preAllotInv(value.getWorkplaceId());
}
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -430,16 +454,17 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
/** /**
* *
*
* @param collectOrderRequest * @param collectOrderRequest
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void orderTop(CollectOrderRequest collectOrderRequest) { public void orderTop(CollectOrderRequest collectOrderRequest) {
Assert.notNull(collectOrderRequest.getId(),"id不能为空"); Assert.notNull(collectOrderRequest.getId(), "id不能为空");
this.lambdaUpdate() this.lambdaUpdate()
.set(IoCollectOrder::getUpdateTime, new Date()) .set(IoCollectOrder::getUpdateTime, new Date())
.set(collectOrderRequest.getUpdateUser() != null,IoCollectOrder::getUpdateUser, collectOrderRequest.getUpdateUser()) .set(collectOrderRequest.getUpdateUser() != null, IoCollectOrder::getUpdateUser, collectOrderRequest.getUpdateUser())
.set(IoCollectOrder::getOrderTime, new Date()) .set(IoCollectOrder::getOrderTime, new Date())
.eq(IoCollectOrder::getId,collectOrderRequest.getId()).update(); .eq(IoCollectOrder::getId, collectOrderRequest.getId()).update();
} }
} }

@ -1,6 +1,7 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -1263,6 +1264,10 @@ public class IoCheckInoutService {
} }
} }
splitFifoCodeService.saveBatch(splitCodeEntities); splitFifoCodeService.saveBatch(splitCodeEntities);
ThreadUtil.execAsync(() -> {
splitFifoCodeService.preAllotInv(orderEntity.getWorkPlaceCode());
});
} else if (orderEntity.getAction().equals(ConstantType.SPLIT_RETURN)) { } else if (orderEntity.getAction().equals(ConstantType.SPLIT_RETURN)) {
//拆零预出库退回 //拆零预出库退回
List<IoCodeEntity> codeList = codeService.findByOrderId(orderEntity.getBillNo()); List<IoCodeEntity> codeList = codeService.findByOrderId(orderEntity.getBillNo());
@ -1283,6 +1288,9 @@ public class IoCheckInoutService {
} }
} }
splitFifoCodeService.removeBatchByIds(splitCodeEntities); splitFifoCodeService.removeBatchByIds(splitCodeEntities);
ThreadUtil.execAsync(() -> {
splitFifoCodeService.preAllotInv(orderEntity.getWorkPlaceCode());
});
} }
} }
} else { } else {

@ -120,8 +120,7 @@ public class IoSplitFifoCodeService extends ServiceImpl<IoSplitFifoCodeMapper, I
/** /**
* *
*
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void preAllotInv(Long workPaceCode) { public void preAllotInv(Long workPaceCode) {
@ -145,19 +144,20 @@ public class IoSplitFifoCodeService extends ServiceImpl<IoSplitFifoCodeMapper, I
for (int i = 0; i < orderList.size(); i++) { for (int i = 0; i < orderList.size(); i++) {
IoCollectOrderResponse order = orderList.get(i); IoCollectOrderResponse order = orderList.get(i);
CollectOrderBizRequest bizRequest = new CollectOrderBizRequest(); CollectOrderBizRequest bizRequest = new CollectOrderBizRequest();
bizRequest.setOrderIdFk(String.valueOf(order.getId())); bizRequest.setOrderIdFk(String.valueOf(order.getBillNo()));
List<CollectOrderBizResponse> bizList = collectOrderBizMapper.filterList(bizRequest); List<CollectOrderBizResponse> bizList = collectOrderBizMapper.filterList(bizRequest);
if (CollUtil.isNotEmpty(bizList)){ if (CollUtil.isNotEmpty(bizList)) {
//自动分配 工位存量、更新splitMap、更新 bizList上的 缺少存量数 //自动分配 工位存量、更新splitMap、更新 bizList上的 缺少存量数
Integer invAlert = autoAllocationWorkPace(splitMap, bizList); Integer invAlert = autoAllocationWorkPace(splitMap, bizList);
collectOrderMapper.updateInvAlert(order.getId(),invAlert); collectOrderMapper.updateInvAlert(order.getId(), invAlert);
} }
} }
} }
/** /**
* splitMap bizList * splitMap bizList
*
* @param splitMap * @param splitMap
* @param bizList * @param bizList
*/ */
@ -174,16 +174,16 @@ public class IoSplitFifoCodeService extends ServiceImpl<IoSplitFifoCodeMapper, I
List<IoSplitCodeResponse> ioSplitCodeResponses = splitMap.get(relId); List<IoSplitCodeResponse> ioSplitCodeResponses = splitMap.get(relId);
List<IoSplitCodeResponse> newioSplitCodeResponses = new ArrayList<>(ioSplitCodeResponses.size()); List<IoSplitCodeResponse> newioSplitCodeResponses = new ArrayList<>(ioSplitCodeResponses.size());
if (CollUtil.isNotEmpty(ioSplitCodeResponses)){ if (CollUtil.isNotEmpty(ioSplitCodeResponses)) {
for (int j = 0; j < ioSplitCodeResponses.size() ; j++) { for (int j = 0; j < ioSplitCodeResponses.size(); j++) {
IoSplitCodeResponse ioSplit = ioSplitCodeResponses.get(j); IoSplitCodeResponse ioSplit = ioSplitCodeResponses.get(j);
Integer totalCount = ioSplit.getTotalCount(); Integer totalCount = ioSplit.getTotalCount();
if ((StrUtil.isBlank(batchNo) || batchNo.equals(ioSplit.getBatchNo())) && count > 0 && totalCount >0){ if ((StrUtil.isBlank(batchNo) || batchNo.equals(ioSplit.getBatchNo())) && count > 0 && totalCount > 0) {
Integer resCount = totalCount - count;//预分配后剩余 工位存量 Integer resCount = totalCount - count;//预分配后剩余 工位存量
if(resCount >= 0){//足够分配 if (resCount >= 0) {//足够分配
count = 0; count = 0;
ioSplit.setTotalCount(resCount); ioSplit.setTotalCount(resCount);
}else {//不够分配 } else {//不够分配
count = -resCount; count = -resCount;
ioSplit.setTotalCount(0); ioSplit.setTotalCount(0);
} }
@ -191,14 +191,14 @@ public class IoSplitFifoCodeService extends ServiceImpl<IoSplitFifoCodeMapper, I
newioSplitCodeResponses.add(ioSplit); newioSplitCodeResponses.add(ioSplit);
} }
splitMap.put(relId,newioSplitCodeResponses); splitMap.put(relId, newioSplitCodeResponses);
} }
if (count > 0){//不够分配 if (count > 0) {//不够分配
collectOrderBizMapper.updateAutoResCount(bizId,-count); collectOrderBizMapper.updateAutoResCount(bizId, -count);
invAlert = 2; invAlert = 2;
}else { } else {
collectOrderBizMapper.updateAutoResCount(bizId,collectOrderBizResponse.getCount()); collectOrderBizMapper.updateAutoResCount(bizId, collectOrderBizResponse.getCount());
} }
} }

Loading…
Cancel
Save