From d346400e27af0205539dd61f72dd2cdf40d44ab9 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 01 四月 2025 16:35:55 +0800 Subject: [PATCH] 新增任务档 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 102 insertions(+), 12 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java index 1b32504..f970056 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java @@ -1,12 +1,13 @@ package com.vincent.rsf.server.api.service.impl; -import com.alibaba.druid.sql.visitor.functions.If; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.controller.params.OtherReceiptParams; import com.vincent.rsf.server.api.controller.params.ReceiptParams; +import com.vincent.rsf.server.api.entity.dto.InspectDetlDto; +import com.vincent.rsf.server.api.entity.dto.InspectItemDto; import com.vincent.rsf.server.api.entity.dto.ReceiptDetlsDto; import com.vincent.rsf.server.api.entity.enums.OrderWorkType; import com.vincent.rsf.server.api.service.MobileService; @@ -15,12 +16,10 @@ import com.vincent.rsf.server.common.security.JwtSubject; import com.vincent.rsf.server.common.utils.CommonUtil; import com.vincent.rsf.server.common.utils.JwtUtil; +import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.mapper.*; -import com.vincent.rsf.server.manager.service.AsnOrderItemLogService; -import com.vincent.rsf.server.manager.service.AsnOrderLogService; -import com.vincent.rsf.server.manager.service.WarehouseAreasItemService; -import com.vincent.rsf.server.manager.service.WarehouseAreasService; +import com.vincent.rsf.server.manager.service.*; import com.vincent.rsf.server.system.constant.CodeRes; import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.controller.param.LoginParam; @@ -44,6 +43,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -84,9 +84,17 @@ private PurchaseItemMapper purchaseItemMapper; @Resource private FieldsMapper fieldsMapper; + @Autowired + private IsptHistoriesMapper isptHistoriesMapper; @Autowired private AsnOrderLogService asnOrderLogService; + + @Autowired + private WaitPakinService waitPakinService; + + @Autowired + private WaitPakinItemService waitPakinItemService; @Autowired private AsnOrderItemLogService asnOrderItemLogService; @@ -167,12 +175,15 @@ throw new CoolException("搴撳尯鏍囪瘑涓嶈兘涓虹┖锛侊紒"); } - WarehouseAreas areasItem = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getId, params.getWhAreaId())); + WarehouseAreas areasItem = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>() + .eq(WarehouseAreas::getId, params.getWhAreaId())); if (Objects.isNull(areasItem)) { throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶅簱鍖轰笉瀛樺湪锛侊紒"); } //鑾峰彇宸插惎鐢ㄧ殑鍔ㄦ�佹墿灞曞瓧 - List<Fields> fields = fieldsMapper.selectList(new LambdaQueryWrapper<Fields>().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1)); + List<Fields> fields = fieldsMapper.selectList(new LambdaQueryWrapper<Fields>() + .eq(Fields::getFlagEnable, 1) + .eq(Fields::getStatus, 1)); List<ReceiptDetlsDto> receipts = params.getReceipts(); List<WarehouseAreasItem> allOrders = new ArrayList<>(); @@ -181,7 +192,8 @@ String asnCode = receipts.stream().findFirst().get().getAsnCode(); - AsnOrder asnOrder = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, asnCode)); + AsnOrder asnOrder = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>() + .eq(AsnOrder::getCode, asnCode)); if (Objects.isNull(asnOrder)) { throw new CoolException("鏁版嵁閿欒锛氫富鍗曚笉瀛樺湪锛侊紒"); } @@ -209,16 +221,27 @@ if (Objects.isNull(orderItem)) { throw new CoolException("閫氱煡鍗曟槑缁嗕笉瀛樺湪锛侊紒"); } - orderItem.setQty(dto.getReceiptQty()); + if (Objects.isNull(dto.getReceiptQty()) || Double.compare(dto.getReceiptQty(), 0.0) == 0) { + throw new CoolException("鏀惰揣鏁伴噺涓嶈兘涓洪浂锛侊紒"); + } + orderItem.setQty(dto.getReceiptQty()) + .setProdTime(dto.getProdTime()); if (asnOrderItemMapper.updateById(orderItem) < 1) { throw new CoolException("閫氱煡鍗曟槑缁嗘暟閲忎慨鏀瑰け璐ワ紒锛�"); } WarehouseAreasItem item = new WarehouseAreasItem(); +// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String format = null; +// if (Objects.isNull(dto.getProdTime())) { +// format = dateFormat.format(dto.getProdTime()); +// } item.setBarcode(dto.getBarcode()) .setAreaName(areasItem.getName()) .setAreaId(areasItem.getId()) + .setProdTime(dto.getProdTime()) + .setWeight(dto.getWeigth()) .setStockUnit(dto.getStockUnit()) .setBatch(SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_RECEIPT_BATCH, dto)) .setAnfme(dto.getReceiptQty()) @@ -295,6 +318,7 @@ AsnOrderLog orderLog = new AsnOrderLog(); BeanUtils.copyProperties(asnOrder, orderLog); + orderLog.setAsnId(asnOrder.getId()); if (!asnOrderLogService.save(orderLog)) { throw new CoolException("涓诲崟鍘嗗彶妗f坊鍔犲け璐ワ紒锛�"); @@ -305,6 +329,8 @@ items.forEach(item -> { AsnOrderItemLog itemLog = new AsnOrderItemLog(); BeanUtils.copyProperties(item, itemLog); + itemLog.setAsnItemId(itemLog.getId()) + .setAsnId(item.getAsnId()); logs.add(itemLog); }); @@ -331,7 +357,7 @@ } List<AsnOrderItem> asnOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>() .eq(AsnOrderItem::getAsnCode, params.getAsnCode()) - .eq(!Objects.isNull(params.getBarcode()) ,AsnOrderItem::getBarcode, params.getBarcode())); + .eq(!Objects.isNull(params.getTrackCode()) ,AsnOrderItem::getTrackCode, params.getTrackCode())); if (Objects.isNull(asnOrderItem)) { throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); @@ -376,6 +402,69 @@ return fieldsMapper.selectList(new LambdaQueryWrapper<Fields>().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1)); } + @Override + public R getDeltByCode(String code) { + return R.ok(asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getTrackCode, code))); + } + + /** + * @author Ryan + * @description PDA缁勬嫋 + * @param + * @return + * @time 2025/3/29 14:26 + */ + @Override + public WaitPakin mergeItems(WaitPakinParam waitPakin) { + return waitPakinService.mergeItems(waitPakin); + } + + @Override + public WaitPakin unBind(WaitPakinParam param) { + return waitPakinService.unBind(param); + } + + /** + * 鎶ユ鍔熻兘 + * @param code + * @param loginUserId + * @return + */ + @Override + public R inspect(String code, Long loginUserId) { + AsnOrder asnOrders = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, code)); + if (Objects.isNull(asnOrders)) { + throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); + } + InspectDetlDto detlDto = new InspectDetlDto(); + detlDto.setCode(asnOrders.getCode()).setPoCode(asnOrders.getPoCode()); + List<AsnOrderItem> orderItems = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnCode, code)); + if (orderItems.isEmpty()) { + detlDto.setItems(new ArrayList<>()); + } else { + List<InspectItemDto> itemDtos = new ArrayList<>(); + orderItems.forEach(dto -> { + InspectItemDto itemDto = new InspectItemDto(); + if (!Objects.isNull(dto.getMatnrCode())) { + Matnr matnr = matnrMapper.selectOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, dto.getMatnrCode())); + itemDto.setGroup(matnr.getGroupCode()); + } + itemDto.setMaktx(dto.getMaktx()) + .setMatnrCode(dto.getMatnrCode()) + .setPurUnit(dto.getPurUnit()) + .setSuplierCode(dto.getSplrCode()) + .setSuplierName(dto.getSplrName()) + .setPurQty(dto.getPurQty()); + itemDtos.add(itemDto); + }); + detlDto.setItems(itemDtos); + } + + List<IsptHistories> histories = isptHistoriesMapper.selectList(new LambdaQueryWrapper<IsptHistories>().eq(IsptHistories::getAsnId, asnOrders.getId())); + detlDto.setHistories(histories); + return R.ok(detlDto); + } + /** * 鑾峰彇ReceiptDetlsDtos */ @@ -386,7 +475,8 @@ detlsDto.setAsnCode(asnOrderItem.getAsnCode()) .setMaktx(asnOrderItem.getMaktx()) - .setBarcode(asnOrderItem.getBarcode()) + .setBarcode(asnOrderItem.getTrackCode()) + .setQty(asnOrderItem.getQty()) .setPoCode(asnOrderItem.getPoCode()) .setAnfme(asnOrderItem.getAnfme()) .setPurQty(asnOrderItem.getPurQty()) @@ -401,7 +491,7 @@ .setMatnrId(matnr.getId()) .setStockUnit(matnr.getStockUnit()); QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>() - .eq(QlyInspect::getAsnItemId, asnOrderItem.getId())); + .eq(QlyInspect::getAsnId, asnOrderItem.getAsnId())); if (!Objects.isNull(inspect)) { //set 璐ㄦ缁撴灉 detlsDto.setInspect(inspect.getStatus$()); -- Gitblit v1.9.1