、采购单据修改

dev_2.5_inv
yewj 3 months ago
parent f7138b90dd
commit d9195fef7b

@ -416,15 +416,15 @@ public class IoCollectOrderController extends BaseController {
List<CollectOrderBizResponse> collectOrderBizResponses = collectOrderService.combieOrderDetail(collectOrderBizRequest);
boolean isAllTag = true;
String msg = "";
if (CollUtil.isNotEmpty(collectOrderBizResponses)){
if (CollUtil.isNotEmpty(collectOrderBizResponses)) {
for (int i = 0; i < collectOrderBizResponses.size(); i++) {
CollectOrderBizResponse collectOrderBizResponse = collectOrderBizResponses.get(i);
if ( !(StrUtil.isNotEmpty(collectOrderBizResponse.getFinishUdiCode()) || collectOrderBizResponse.getAutoTagStatus() == 2) ) {
if (!(StrUtil.isNotEmpty(collectOrderBizResponse.getFinishUdiCode()) || collectOrderBizResponse.getAutoTagStatus() == 2)) {
isAllTag = false;
String cpmctymc = collectOrderBizResponse.getCpmctymc();
Integer count = collectOrderBizResponse.getCount();
Integer autoResCount = IntUtil.value(collectOrderBizResponse.getAutoResCount());
msg = msg +" "+ cpmctymc + ":未采集数量" + (count - autoResCount) + ";";
msg = msg + " " + cpmctymc + ":未采集数量" + (count - autoResCount) + ";";
}
}
}

@ -155,8 +155,10 @@ public class IoOrderController extends BaseController {
PageInfo<IoOrderResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
@Resource
private IoOrderInvoiceMapper ioOrderInvoiceMapper;
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/order/filterList")
public BaseResponse filterOrderList(FilterOrderRequest filterOrderRequest) {
@ -197,9 +199,9 @@ public class IoOrderController extends BaseController {
ioOrderResponse.setCheckStatus(0 + "");
}
long count = ioOrderInvoiceMapper.selectCount(
new QueryWrapper<IoOrderInvoiceEntity>().eq("orderIdFk",ioOrderResponse.getBillNo())
new QueryWrapper<IoOrderInvoiceEntity>().eq("orderIdFk", ioOrderResponse.getBillNo())
);
if(count>0){
if (count > 0) {
ioOrderResponse.setInvoiceStatus(2);
}
}
@ -465,7 +467,7 @@ public class IoOrderController extends BaseController {
orderService.update(orderEntity);
checkInoutService.check(addOrderRequest.getBillNo());
} else {
if (IntUtil.value(bussinessTypeEntity.getCheckWebNewType()) == 3) {
if ((IntUtil.value(bussinessTypeEntity.getCheckWebNew()) == 3 || IntUtil.value(bussinessTypeEntity.getCheckWebNew()) == 2) && IntUtil.value(bussinessTypeEntity.getCheckWebNewType()) == 3) {
String errMsg = checkInoutService.bizOrderCheckPass(orderDetailBizEntities, orderDetailCodeEntities);
if (StrUtil.isNotEmpty(errMsg)) {
return ResultVOUtils.error(500, errMsg);
@ -605,6 +607,7 @@ public class IoOrderController extends BaseController {
pageSimpleResponse.setList(codeEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@GetMapping("admin/warehouse/inout/findCheckCodeByBiz")
public BaseResponse findCheckCodeByBiz(FilterCodeRequest filterCodeRequest) {
@ -1353,7 +1356,7 @@ public class IoOrderController extends BaseController {
@GetMapping("/udiwms/inout/order/getProcessingOrder")
public BaseResponse getProcessingOrder(AddOrderRequest addOrderRequest) {
IoOrderResponse order = orderService.findByWorkPlaceCode(addOrderRequest.getWorkPlaceCode() + "", addOrderRequest.getWorkPlaceQueueCode(), getUserId(),addOrderRequest.getAction(),addOrderRequest.getFifoSplitTag());
IoOrderResponse order = orderService.findByWorkPlaceCode(addOrderRequest.getWorkPlaceCode() + "", addOrderRequest.getWorkPlaceQueueCode(), getUserId(), addOrderRequest.getAction(), addOrderRequest.getFifoSplitTag());
return ResultVOUtils.success(order);
}

@ -1,6 +1,9 @@
package com.glxp.api.dao.collect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.dao.basic.BasicBussinessTypeDao;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.collect.IoCollectOrderBackup;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.collect.CollectOrderUploadCountRequest;
@ -11,9 +14,10 @@ import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface IoCollectOrderBackupMapper extends BaseMapper<IoCollectOrderBackup> {
public interface IoCollectOrderBackupMapper extends BaseMapperPlus<IoCollectOrderBackupMapper, IoCollectOrderBackup, IoCollectOrderBackup> {
List<IoCollectOrderResponse> filterList(CollectOrderRequest collectOrderRequest);
List<IoCollectOrderResponse> getList(CollectOrderUploadCountRequest collectOrderUploadCountRequest);
}

@ -599,11 +599,10 @@ public class IoCheckInoutService {
return;
}
String errMsg = "";
BasicBussinessTypeEntity businessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
if (IntUtil.value(businessTypeEntity.getCheckWebNew()) != 3 || IntUtil.value(businessTypeEntity.getCheckWebNewType()) != 3) {
if (IntUtil.value(businessTypeEntity.getCheckWebNew()) != 3 && IntUtil.value(businessTypeEntity.getCheckWebNewType()) != 3) {
//正向校验
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
String msg = "";
@ -716,7 +715,7 @@ public class IoCheckInoutService {
codeEntity.setCheckSuccess(false);
}
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
bizEntity.setCheckSuccess(false);
bizEntity.setCheckSuccess(true);
}
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
String msg = "";
@ -762,13 +761,13 @@ public class IoCheckInoutService {
}
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
String msg = "";
Integer count = orderDetailCodeService.findByRelIdCount(orderEntity.getBillNo(), bizEntity.getBindRlFk(), bizEntity.getBatchNo());
if (IntUtil.value(bizEntity.getCount()) == IntUtil.value(count)) {
int count = IntUtil.value(orderDetailCodeService.findByRelIdCount(orderEntity.getBillNo(), bizEntity.getBindRlFk(), null));
if (bizEntity.getCount() <= count) {
bizEntity.setCheckSuccess(true);
bizEntity.setScanCount(count);
bizEntity.setScanCount(bizEntity.getCount());
} else {
msg = "数量不匹配";
bizEntity.setScanCount(count);
bizEntity.setScanCount(bizEntity.getScanCount() + count);
bizEntity.setCheckSuccess(false);
}
bizEntity.setErrMsg(msg);

@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.Constant;
import com.glxp.api.dao.collect.IoCollectCodeBackMapper;
import com.glxp.api.dao.collect.IoCollectOrderBackupMapper;
import com.glxp.api.dao.inout.IoCodeLostMapper;
import com.glxp.api.dao.inout.IoSplitCodeMapper;
import com.glxp.api.entity.basic.SysWorkplacePutRel;
@ -399,18 +401,48 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
ioCollectOrderBizBackupService.saveBatch(ioCollectOrderBizBackups);
}
@Resource
IoCollectOrderBackupMapper collectOrderBackupMapper;
@Resource
IoCollectCodeBackMapper collectCodeBackMapper;
@Resource
IoCollectCodeBackService collectCodeBackService;
/**
*
*/
public void replaceCode(List<IoCollectOrderCodeMan> collectOrderCodeManList){
public void replaceCode(List<IoCollectOrderCodeMan> collectOrderCodeManList, IoCollectOrder collectOrder) {
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeManList) {
// 1. 查找已完成成单据扫码是否已被分配
List<IoCollectCodeBackup> collectCodeBackups = collectCodeBackMapper.selectList(new LambdaQueryWrapper<IoCollectCodeBackup>()
.eq(IoCollectCodeBackup::getBusType, collectOrder.getBusType())
.eq(IoCollectCodeBackup::getCode, collectOrderCodeMan.getUdiCode())
);
if (CollUtil.isNotEmpty(collectCodeBackups)) {
IoCollectCodeBackup collectCodeBackup = collectCodeBackups.get(0);
IoCollectOrderBackup collectOrderBackup = collectOrderBackupMapper.selectOne(new LambdaQueryWrapper<IoCollectOrderBackup>().eq(IoCollectOrderBackup::getBillNo, collectCodeBackup.getBillNo()));
// 单据已被上传至医保
if (IntUtil.value(collectOrderBackup.getUploadStatus()) == 2) {
} else {
//单据未上传医保,上传医保失败
}
}
// 2. 查找已完成单据码是否已被上传
// 3. 查找已完成码,标记该码已被手动赋码
// 4. 查找码库未被使用的码,赋码至已完成的码
// 4. 查找码库未被使用的码,赋码至已完成的码,插入码表记录
// 5. 如果已被上传,则标记该码已被上传,从码库查出未被使用的码,插入码表记录,标记该码已被上传,替换成已码库的码
// 5. 查找
@ -418,6 +450,53 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
}
/**
* 使
*/
public void removeInvByCode(IoCollectOrderCodeMan collectOrderCodeMan, Long putWorkPlaceCode) {
List<IoSplitFifoCodeEntity> splitFifoCodeEntitys = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderCodeMan.getRelId(), collectOrderCodeMan.getBatchNo(), null);
if (CollUtil.isNotEmpty(splitFifoCodeEntitys)) {
IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeEntitys.get(0);
collectOrderCodeMan.setRemoveFlag(true);
if (IntUtil.value(splitFifoCodeEntity.getScanCount()) - IntUtil.value(collectOrderCodeMan.getScanCount()) <= 0) {
splitFifoCodeService.removeById(splitFifoCodeEntity.getId());
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
if (splitFifoInv != null) {
splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + IntUtil.value(splitFifoCodeEntity.getTotalCount()));
splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + IntUtil.value(splitFifoCodeEntity.getScanCount()));
int lockCount = IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoCodeEntity.getTotalCount());
splitFifoInv.setLockCount(lockCount > 0 ? lockCount : 0);
splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()));
splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount()));
splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoInv.getOutCount()));
splitFifoInvService.updateById(splitFifoInv);
}
} else {
//队列码数量大于扫码数量更新数量(一般指无序列号)
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setId(collectOrderCodeMan.getRelId());
filterUdiRelRequest.setPackLevel("1");
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectOneUdi(filterUdiRelRequest);
int removeCount = IntUtil.value(collectOrderCodeMan.getScanCount()) * udiRelevanceResponse.getBhxjsl();
splitFifoCodeService.updateById(IoSplitFifoCodeEntity.builder().id(splitFifoCodeEntity.getId()).scanCount(IntUtil.value(splitFifoCodeEntity.getScanCount()) - IntUtil.value(collectOrderCodeMan.getScanCount())).totalCount(IntUtil.value(splitFifoCodeEntity.getTotalCount()) - removeCount).build());
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
if (splitFifoInv != null) {
splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + removeCount);
splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + IntUtil.value(collectOrderCodeMan.getScanCount()));
int lockCount = IntUtil.value(splitFifoInv.getLockCount()) - removeCount;
splitFifoInv.setLockCount(lockCount > 0 ? lockCount : 0);
splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()));
splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount()));
splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoInv.getOutCount()));
splitFifoInvService.updateById(splitFifoInv);
}
}
}
}
/**
*
*/
@ -463,7 +542,8 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
IoCollectOrderService collectOrderService;
@Transactional(rollbackFor = Exception.class)
public ConfirmResponse confirmBizAutiTagCode(IoCollectOrderBiz collectOrderBiz, String queueCode, String confirmSplitCode, Boolean skipSplitConfirm) {
public ConfirmResponse confirmBizAutiTagCode(IoCollectOrderBiz collectOrderBiz, String queueCode, String
confirmSplitCode, Boolean skipSplitConfirm) {
ConfirmResponse confirmResponse = new ConfirmResponse();
IoCollectOrder collectOrder = collectOrderService.getByBillNo(collectOrderBiz.getOrderIdFk());
if (collectOrder == null) {
@ -618,7 +698,9 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
} else return null;
}
public List<IoCollectOrderCodeMan> filterCode(List<IoCollectOrderCodeMan> collectOrderCodes, IoCollectOrderBiz collectOrderBiz, UdiRelevanceResponse udiRelevanceResponse) {
public List<IoCollectOrderCodeMan> filterCode
(List<IoCollectOrderCodeMan> collectOrderCodes, IoCollectOrderBiz collectOrderBiz, UdiRelevanceResponse
udiRelevanceResponse) {
int unTagCount = IntUtil.value(collectOrderBiz.getScanActCount()) - collectOrderBiz.getCount();
List<IoCollectOrderCodeMan> newList = new ArrayList<IoCollectOrderCodeMan>();
int count = 0;
@ -655,6 +737,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
return newList;
}
@Resource
private IoCodeLostMapper ioCodeLostMapper;
@ -685,14 +768,14 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
} else collectOrderBiz.setAutoTagStatus(1);
if(CollUtil.isNotEmpty(splitFifoCodeEntities)){
if (CollUtil.isNotEmpty(splitFifoCodeEntities)) {
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeEntities.get(0);
IoCodeLostEntity ioCodeLostEntity = ioCodeLostMapper.selectOne(
new QueryWrapper<IoCodeLostEntity>()
.eq("code",ioSplitFifoCodeEntity.getCode())
.eq("code", ioSplitFifoCodeEntity.getCode())
.last("limit 1")
);
if(ioCodeLostEntity!=null && StringUtils.isNotEmpty(ioCodeLostEntity.getBatchNo())){
if (ioCodeLostEntity != null && StringUtils.isNotEmpty(ioCodeLostEntity.getBatchNo())) {
collectOrderBiz.setBatchNo(ioCodeLostEntity.getBatchNo());
collectOrderBiz.setProductDate(ioCodeLostEntity.getProduceDate());
collectOrderBiz.setExpireDate(ioCodeLostEntity.getExpireDate());
@ -700,9 +783,9 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
}
}
ThreadUtil.execAsync(() -> {
ioCollectLedGroupService.openLed(collectOrderBizs);
});
// ThreadUtil.execAsync(() -> {
// ioCollectLedGroupService.openLed(collectOrderBizs);
// });
collectOrderBizService.updateBatchById(collectOrderBizs);
}
@ -757,7 +840,8 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
/**
*
*/
public Integer addFifoCode(Long relId, String batchNo, Integer needCount, Long putWorkPlaceCode, String confirmSplitCode) {
public Integer addFifoCode(Long relId, String batchNo, Integer needCount, Long putWorkPlaceCode, String
confirmSplitCode) {
List<IoSplitFifoCodeEntity> splitFifoCodeEntities;

@ -103,7 +103,6 @@ public class IoSplitFifoCodeService extends ServiceImpl<IoSplitFifoCodeMapper, I
}
}
}
return splitFifoCodeEntities;
}

@ -149,9 +149,17 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
public IoOrderDetailBizEntity findByRelId(String orderId, Long relId) {
if (relId == null)
return null;
int count = 0;
List<IoOrderDetailBizEntity> orderDetailBizEntities = ioOrderDetailBizDao.selectList(new QueryWrapper<IoOrderDetailBizEntity>().eq("orderIdFk", orderId).eq("bindRlFk", relId));
if (CollUtil.isNotEmpty(orderDetailBizEntities)) {
return orderDetailBizEntities.get(0);
for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) {
count = count + orderDetailBizEntity.getCount();
}
IoOrderDetailBizEntity orderDetailBizEntity = orderDetailBizEntities.get(0);
orderDetailBizEntity.setCount(count);
return orderDetailBizEntity;
}
return null;
}
@ -578,6 +586,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
public List<IoOrderDetailBizEntity> checkOrderList(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
List<IoOrderDetailBizEntity> orderDetailBizEntities = findByOrderId(orderId);
List<IoOrderDetailBizEntity> list = new ArrayList<>(orderDetailBizEntities.size());
BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(orderEntity.getAction());
if (bussinessTypeEntity.getCheckWebNew() == 2) {
checkInoutService.bizNoPiCheck(orderDetailBizEntities, orderEntity);
@ -585,8 +594,6 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
List<IoOrderDetailCodeEntity> codeEntities = orderDetailCodeService.findByOrderId(orderId);
checkInoutService.bizOrderCheck(orderDetailBizEntities, codeEntities);
}
List<IoOrderDetailBizEntity> list = new ArrayList<>(orderDetailBizEntities.size());
for (IoOrderDetailBizEntity ioOrderDetailBizEntity : orderDetailBizEntities) {
IoOrderDetailBizEntity ioOrderDetailBizEntity1 = new IoOrderDetailBizEntity();
BeanUtils.copyProperties(ioOrderDetailBizEntity, ioOrderDetailBizEntity1);

Loading…
Cancel
Save