正在处理单据

workplace
yewj 11 months ago
parent e7fbdab3c0
commit 5c8f6a7d00

@ -1,7 +1,6 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo;
@ -94,8 +93,5 @@ public class SysWorkplaceDocumentController extends BaseController {
}
}

@ -26,6 +26,7 @@ import com.glxp.api.service.collect.IoCollectOrderBizService;
import com.glxp.api.service.collect.IoCollectOrderCodeAutoService;
import com.glxp.api.service.collect.IoCollectOrderCodeManService;
import com.glxp.api.service.collect.IoCollectOrderService;
import com.glxp.api.util.IntUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
@ -113,6 +114,35 @@ public class IoCollectOrderController extends BaseController {
}
/**
*
*
* @param collectOrderRequest
* @return
*/
@GetMapping("/udiwms/basic/collect/order/findByBill")
public BaseResponse findByBill(CollectOrderRequest collectOrderRequest) {
if (collectOrderRequest.getWorkPlaceCode() == null) {
return ResultVOUtils.error(500, "工位不能为空!");
}
CollectOrderRequest request = new CollectOrderRequest();
request.setPage(1);
request.setLimit(1);
request.setBillNo(collectOrderRequest.getBillNo());
List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request);
if (CollUtil.isNotEmpty(orderResponses))
return ResultVOUtils.success(orderResponses.get(0));
else {
request.setTagStatus(-1);
orderResponses = collectOrderService.filterList(request);
if (CollUtil.isNotEmpty(orderResponses))
return ResultVOUtils.success(orderResponses.get(0));
}
return ResultVOUtils.error(500, "未查到待处理单据");
}
@GetMapping("/udiwms/basic/collect/order/detail")
public BaseResponse detail(CollectOrderBizRequest collectOrderBizRequest) {
if (StrUtil.isBlank(collectOrderBizRequest.getOrderIdFk())) {
@ -179,12 +209,9 @@ public class IoCollectOrderController extends BaseController {
collectOrderBizResponse.setUnSplitUdiCode(collectOrderBizResponse.getUnSplitUdiCode().substring(1));
}
//手动
for (IoCollectOrderCodeMan collectOrderCodeAuto : manList) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
} else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) {
collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
for (IoCollectOrderCodeMan collectOrderCodeMan : manList) {
if (IntUtil.value(collectOrderCodeMan.getBizIdFk()) == IntUtil.value(collectOrderBiz.getId())) {
collectOrderBizResponse.setScanUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getScanUdiCode()) + "," + collectOrderCodeMan.getUdiCode());
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) {

@ -21,6 +21,6 @@ public interface SysWorkplaceDao extends BaseMapper<SysWorkplace> {
List<SysWorkplaceResponse> filterList(@Param("request") SysWorkplaceRequest request);
List<SysWorkplace> getAllByBusType(String busTypeCode);
List<SysWorkplaceResponse> getAllByBusType(String busTypeCode);
}

@ -25,5 +25,7 @@ public class AddTagCodeReqeust {
private String invCode;
private Boolean insert;
private String busType;
}

@ -51,10 +51,10 @@ public class SysWorkplaceService extends ServiceImpl<SysWorkplaceDao, SysWorkpla
new LambdaQueryWrapper<SysWorkplace>().eq(SysWorkplace::getOrderId, code).last("limit 1"));
}
public List<SysWorkplace> getAllByBusType(String code) {
public List<SysWorkplaceResponse> getAllByBusType(String code) {
//sysWorkplaceDao.getAllByBusType(code); 切换成单据类型关联的
return super.baseMapper.selectList(
new LambdaQueryWrapper<SysWorkplace>().eq(SysWorkplace::getOrderId, code));
return sysWorkplaceDao.getAllByBusType(code); //切换成单据类型关联的
// return super.baseMapper.selectList(
// new LambdaQueryWrapper<SysWorkplace>().eq(SysWorkplace::getOrderId, code));
}
}

@ -29,12 +29,18 @@ public class SysWorkplaceDocumentService extends ServiceImpl<SysWorkplaceDocumen
private SysWorkplaceDocumentDao sysWorkplaceDocumentDao;
public List<SysWorkplaceDocumentResponse> filterList(WorkBindBusTypeRequest request) {
List<SysWorkplaceDocumentResponse> list = sysWorkplaceDocumentDao.filterList(request);
return list;
}
public SysWorkplaceDocumentEntity findByWorkplaceCode(Long workplaceCode, String busType) {
return sysWorkplaceDocumentDao.selectOne(new LambdaQueryWrapper<SysWorkplaceDocumentEntity>()
.eq(SysWorkplaceDocumentEntity::getWorkplaceCode, workplaceCode)
.eq(SysWorkplaceDocumentEntity::getDocumentTypeCode, busType).last("limit 1"));
}
public Boolean bindBusType(WorkBindBusTypeRequest request, Long userId) {
// List<String> documentTypeCodes = request.getDocumentTypeCode();
// for (String documentTypeCode: documentTypeCodes) {

@ -13,6 +13,7 @@ import com.glxp.api.dao.collect.IoCollectOrderCodeAutoMapper;
import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.BasicCollectBustypeEntity;
import com.glxp.api.entity.basic.BasicSkPrescribeItemCode;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
@ -27,6 +28,7 @@ import com.glxp.api.res.collect.CollectOrderCodeManResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.BasicCollectBustypeService;
import com.glxp.api.service.basic.SysWorkplaceDocumentService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
@ -64,6 +66,8 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
CustomerService customerService;
@Resource
IoCollectOrderService collectOrderService;
@Resource
SysWorkplaceDocumentService sysWorkplaceDocumentService;
public List<CollectOrderCodeManResponse> filterList(CollectOrderCodeManRequest collectOrderCodeManRequest) {
if (collectOrderCodeManRequest == null) {
@ -115,11 +119,11 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_GEN_ORDER) {
if (StrUtil.isEmpty(addTagCodeReqeust.getBillNo())) {
String orderNo = gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
BasicCollectBustypeEntity bustypeEntity = bustypeService.findByCode(workPlace.getOrderId());
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(workPlace.getWorkplaceId(), addTagCodeReqeust.getBusType());
collectOrder = IoCollectOrder.builder()
.billNo(orderNo)
.busType(bustypeEntity.getCode())
.fromType(bustypeEntity.getFromType())
.busType(sysWorkplaceDocumentEntity.getDocumentTypeCode())
.fromCorp(addTagCodeReqeust.getFromCorp())
.billTime(new Date())
.workPlaceCode(workPlace.getWorkplaceId())
@ -128,6 +132,12 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
.updateTime(new Date())
.tagStatus(1)
.build();
if (IntUtil.value(sysWorkplaceDocumentEntity.getIsMatching()) == 1) {
collectOrder.setFromType("UDI系统");
} else {
BasicCollectBustypeEntity bustypeEntity = bustypeService.findByCode(sysWorkplaceDocumentEntity.getDocumentTypeCode());
collectOrder.setFromType(bustypeEntity.getFromType());
}
collectOrderService.save(collectOrder);
} else {
collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo());
@ -282,7 +292,6 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
}
public IoCollectOrderBiz scanGenOrder(List<UdiRelevanceResponse> udiRelevanceResponses, List<IoCollectOrderBiz> collectOrderBizs, UdiEntity udiEntity) {
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {

@ -10,6 +10,7 @@ import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.BasicCollectBustypeEntity;
import com.glxp.api.entity.basic.BasicSkPrescribeEntity;
import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.entity.collect.IoCollectOrderCodeMan;
@ -19,6 +20,7 @@ import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.inout.DeleteTageCodeRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.res.basic.SysWorkplaceResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.inout.IoOrderResponse;
@ -129,7 +131,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
@Resource
SysWorkplaceDocumentService sysWorkplaceDocumentService;
@Resource
BasicCollectBustypeService bustypeService;
public void importUdi() {
//下载UDI内部单据
@ -145,10 +148,10 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) {
continue;
}
BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction());
if (collectBustypeEntity == null)
continue;
List<SysWorkplace> sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode());
// BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction());
// if (collectBustypeEntity == null)
// continue;
List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(ioOrderEntity.getAction());
//自动分配工位
@ -157,8 +160,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
if (sysWorkplaces.size() == 1) {
defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
} else {
List<SysWorkplace> addWorkplace = new ArrayList<>();
for (SysWorkplace sysWorkplace : sysWorkplaces) {
List<SysWorkplaceResponse> addWorkplace = new ArrayList<>();
for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) {
//获取是否有正在处理的工位
List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>()
.eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2));
@ -168,7 +171,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
}
if (addWorkplace.size() > 0) {
Optional<SysWorkplace> minCountObject = addWorkplace.stream()
Optional<SysWorkplaceResponse> minCountObject = addWorkplace.stream()
.min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount()));
minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId());
} else {
@ -178,8 +181,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(ioOrderEntity.getBillNo())
.busType(collectBustypeEntity.getCode())
.fromType(collectBustypeEntity.getFromType())
.fromType("UDI系统")
.busType(ioOrderEntity.getAction())
.fromCorp(ioOrderEntity.getFromName())
.workPlaceCode(defaultWorkplace[0])
.billTime(ioOrderEntity.getCreateTime())
@ -192,6 +195,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1);
}
collectOrderList.add(collectOrder);
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo());
@ -236,9 +240,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
List<IoCollectOrder> collectOrderList = new ArrayList<>();
for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) {
BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(String.valueOf(basicSkPrescribeEntity.getAddr()));
BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByCode(String.valueOf(basicSkPrescribeEntity.getAddr()));
if (collectBustypeEntity == null)
continue;
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, basicSkPrescribeEntity.getCode()))) {
@ -246,13 +248,13 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
//自动分配工位
final Long[] defaultWorkplace = {null};
List<SysWorkplace> sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode());
List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode());
if (CollUtil.isNotEmpty(sysWorkplaces)) {
if (sysWorkplaces.size() == 1) {
defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
} else {
List<SysWorkplace> addWorkplace = new ArrayList<>();
for (SysWorkplace sysWorkplace : sysWorkplaces) {
List<SysWorkplaceResponse> addWorkplace = new ArrayList<>();
for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) {
//获取是否有正在处理的工位
List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>()
.eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2));
@ -262,7 +264,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
}
if (addWorkplace.size() > 0) {
Optional<SysWorkplace> minCountObject = addWorkplace.stream()
Optional<SysWorkplaceResponse> minCountObject = addWorkplace.stream()
.min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount()));
minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId());
} else {
@ -290,7 +292,6 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
collectOrderList.add(collectOrder);
List<BasicSkPrescribeItemEntity> basicSkPrescribeItemEntities = basicSkPrescirbeDetailService.findByPrescribeNum(basicSkPrescribeEntity.getCode());
List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>();
for (BasicSkPrescribeItemEntity bizEntity : basicSkPrescribeItemEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getRelId() + "");

@ -7,13 +7,12 @@
ico.billNo,ico.busType,ico.fromType,ico.fromTypeDesc,ico.fromCorp,ico.billTime,
ico.createTime,ico.workPlaceCode,ico.remark,ico.createUser,ico.updateTime,ico.updateUser,ico.tagStatus,ico.splitStatus,ico.splitMsg
,ico.tagMsg,
bcb.name busTypeName,
bcb.fromType fromTypeName,
sys_workplace_document.busName busTypeName,
bc.name fromCorpName,
sw.workplaceId workPlaceCode,
sw.workplaceName
FROM io_collect_order ico
left join basic_collect_bustype bcb on ico.busType = bcb.code
left join sys_workplace_document on ico.busType = sys_workplace_document.documentTypeCode
left join basic_corp bc on ico.fromCorp = bc.erpId
left join sys_workplace sw on ico.workPlaceCode = sw.workplaceId
<where>
@ -27,7 +26,7 @@
AND busType = #{busType}
</if>
<if test="fromType != null and fromType != ''">
AND bcb.fromType LIKE concat('%', #{fromType}, '%')
AND sys_workplace_document.fromType LIKE concat('%', #{fromType}, '%')
</if>
<if test="fromCorp != '' and fromCorp != null">
AND fromCorp LIKE concat('%', #{fromCorp}, '%')

Loading…
Cancel
Save