代码备份

workplace
yewj 10 months ago
parent 02b06f6dbd
commit b27b4df7fa

@ -332,7 +332,7 @@ public class IoOrderController extends BaseController {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction());
//要是特殊往来信息没有就创建
if (addOrderRequest.getOrderType() != null){
if (addOrderRequest.getOrderType() != null) {
orderEntity.setOrderType(addOrderRequest.getOrderType());
}
orderEntity.setFromCorp(ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp(), addOrderRequest.getSickerAdNum()));
@ -400,7 +400,6 @@ public class IoOrderController extends BaseController {
resultList = ioAddInoutService.checkPrice(codeTempEntity, bussinessTypeEntity, resultList);
}
}
if (checkInoutService.checkManual(addOrderRequest.getBillNo())) {
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.IoOrderDetailBizService;
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.util.IntUtil;
import com.glxp.api.util.MsDateUtil;
@ -43,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoCollectOrder> {
@ -73,6 +75,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
SysWorkplaceService sysWorkplaceService;
@Resource
SysWorkplaceDocumentService sysWorkplaceDocumentService;
@Resource
IoSplitFifoCodeService splitFifoCodeService;
public IoCollectOrder getByBillNo(String billNo) {
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);
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
List<IoCollectOrder> collectOrderList = new ArrayList<>();
List<SysWorkplaceResponse> allWorksList = new ArrayList<>();
for (IoOrderResponse ioOrderEntity : list) {
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);
}
if (CollUtil.isNotEmpty(collectOrderBizs))
if (CollUtil.isNotEmpty(collectOrderBizs)) {
collectOrderBizService.saveBatch(collectOrderBizs);
}
allWorksList.addAll(sysWorkplaces);
}
if (CollUtil.isNotEmpty(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() {
//下载处方
List<BasicSkPrescribeEntity> basicSkPrescribeEntities = basicSkPrescribeService.list();
List<SysWorkplaceResponse> allWorksList = new ArrayList<>();
List<IoCollectOrder> collectOrderList = new ArrayList<>();
for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) {
// BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByFromCode(String.valueOf(basicSkPrescribeEntity.getAddr()));
@ -374,10 +389,19 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
if (CollUtil.isNotEmpty(collectOrderBizs))
collectOrderBizService.saveBatch(collectOrderBizs);
allWorksList.addAll(sysWorkplaces);
}
if (CollUtil.isNotEmpty(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)
@ -430,16 +454,17 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
/**
*
*
* @param collectOrderRequest
*/
@Transactional(rollbackFor = Exception.class)
public void orderTop(CollectOrderRequest collectOrderRequest) {
Assert.notNull(collectOrderRequest.getId(),"id不能为空");
Assert.notNull(collectOrderRequest.getId(), "id不能为空");
this.lambdaUpdate()
.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())
.eq(IoCollectOrder::getId,collectOrderRequest.getId()).update();
.eq(IoCollectOrder::getId, collectOrderRequest.getId()).update();
}
}

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

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

Loading…
Cancel
Save