diff --git a/ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderList.vue b/ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderList.vue index 41f0f29..26324a3 100644 --- a/ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderList.vue +++ b/ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderList.vue @@ -175,8 +175,9 @@ </template> <span slot="action" slot-scope="text, record"> - <a-popconfirm v-has="'receiptHeader:back'" v-show="record.lastStatus == 800 && record.referCode != null" title="确定回传吗?" @confirm="() => hanleBack(record)"> + <a-popconfirm v-has="'receiptHeader:back'" v-show="(record.lastStatus == 800 || record.lastStatus == 850)&& record.referCode != null" title="确定回传吗?" @confirm="() => hanleBack(record)"> <a><a-button type="default">回传</a-button></a> + <a-divider type="vertical"/> </a-popconfirm> <a-popconfirm v-has="'receiptHeader:crossDocking'" v-show="record.lastStatus == 0" title="确定越库吗?" @confirm="() => hanleCross(record)"> <a><a-button type="primary">越库</a-button></a> diff --git a/ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderList.vue b/ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderList.vue index ed50bec..877df67 100644 --- a/ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderList.vue +++ b/ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderList.vue @@ -214,9 +214,11 @@ <span slot="action" slot-scope="text, record"> <a v-if="record.firstStatus == '0' && flowOff == '1'" @click="createAudit(record)"><a-button type="primary">提交审核</a-button><a-divider type="vertical"/></a> <a v-if="record.nextAuditor == username && flowOff == '1' " @click="audit(record)"><a-button type="primary">审核</a-button><a-divider type="vertical"/></a> - <a-popconfirm v-has="'shipmentHeader:back'" v-if="record.lastStatus == 800 && record.referCode != null" title="确定回传吗?" @confirm="() => hanleBack(record)"> + <a-popconfirm v-has="'shipmentHeader:back'" v-show="(record.lastStatus == 800 || record.lastStatus == 850)&& record.referCode != null" title="确定回传吗?" @confirm="() => hanleBack(record)"> <a><a-button type="default">回传</a-button></a> + <a-divider type="vertical"/> </a-popconfirm> + <a v-show="record.lastStatus == 850" @click="viewReason(record)"><a-button type="danger">原因</a-button><a-divider type="vertical"/></a> <a v-if="((record.firstStatus >= 15 && record.firstStatus != '20' && record.lastStatus < 800)) || (flowOff == '0' && record.lastStatus <= 200)" @click="autoShipmentCombine(record)" v-has="'shipmentHeader:autoShipmentCombine'"><a-button type="primary">自动配盘</a-button><a-divider type="vertical"/></a> <a v-if="((record.firstStatus >= 15 && record.firstStatus != '20' && record.lastStatus < 800)) @@ -274,6 +276,7 @@ import ShipmentAuditModal from "./modules/ShipmentAuditModal"; import FlowProcess from "../flow/FlowProcess"; import AutoShipmentSelectModal from "@views/system/shipment/modules/AutoShipmentSelectModal"; import '@/assets/less/TableExpand.less' +import {notification} from "ant-design-vue"; export default { name: "ShipmentHeaderList", @@ -486,6 +489,12 @@ export default { this.$message.error("至少选择两条符合条件的记录!") } }, + viewReason(record){ + notification.open({ + message:"出库单号:"+record.code, + description:record.backErrorMsg + }) + }, getDocumentAduitFlowStaus(){ getDocumentAduitFlow().then((res) => { this.flowOff=res.message; diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java index dc7a80b..8052792 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java @@ -42,8 +42,7 @@ public class ErpTask implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { LambdaQueryWrapper<ReceiptHeader> receiptHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); - receiptHeaderLambdaQueryWrapper.in(ReceiptHeader::getLastStatus, QuantityConstant.RECEIPT_HEADER_COMPLETED, QuantityConstant.RECEIPT_HEADER_RETURN_ERROR) - .isNotNull(ReceiptHeader::getReferCode); + receiptHeaderLambdaQueryWrapper.eq(ReceiptHeader::getLastStatus, QuantityConstant.RECEIPT_HEADER_COMPLETED).isNotNull(ReceiptHeader::getReferCode); List<ReceiptHeader> receiptHeaderList = receiptHeaderService.list(receiptHeaderLambdaQueryWrapper); for (ReceiptHeader receiptHeader : receiptHeaderList) { try { @@ -53,8 +52,7 @@ public class ErpTask implements Job { } } LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); - shipmentHeaderLambdaQueryWrapper.in(ShipmentHeader::getLastStatus, QuantityConstant.SHIPMENT_HEADER_COMPLETED, QuantityConstant.SHIPMENT_HEADER_RETURN_ERROR) - .isNotNull(ShipmentHeader::getReferCode); + shipmentHeaderLambdaQueryWrapper.eq(ShipmentHeader::getLastStatus, QuantityConstant.SHIPMENT_HEADER_COMPLETED).isNotNull(ShipmentHeader::getReferCode); List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(shipmentHeaderLambdaQueryWrapper); for (ShipmentHeader shipmentHeader : shipmentHeaderList) { try { diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTryTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTryTask.java new file mode 100644 index 0000000..46db051 --- /dev/null +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTryTask.java @@ -0,0 +1,63 @@ +package org.jeecg.modules.wms.monitor.job; + +import java.util.List; + +import javax.annotation.Resource; + +import org.jeecg.modules.wms.api.erp.service.IErpService; +import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; +import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; +import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService; +import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader; +import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderService; +import org.jeecg.utils.constant.QuantityConstant; +import org.quartz.*; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; + +import lombok.extern.slf4j.Slf4j; + +/** + * @author 游杰 + */ +@Slf4j +@PersistJobDataAfterExecution +@DisallowConcurrentExecution +public class ErpTryTask implements Job { + + @Resource + private IReceiptHeaderService receiptHeaderService; + + @Resource + private IShipmentHeaderService shipmentHeaderService; + + @Resource + private IErpService erpService; + @Resource + private IHuahengMultiHandlerService huahengMultiHandlerService; + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + LambdaQueryWrapper<ReceiptHeader> receiptHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); + receiptHeaderLambdaQueryWrapper.eq(ReceiptHeader::getLastStatus, QuantityConstant.RECEIPT_HEADER_RETURN_ERROR).isNotNull(ReceiptHeader::getReferCode); + List<ReceiptHeader> receiptHeaderList = receiptHeaderService.list(receiptHeaderLambdaQueryWrapper); + for (ReceiptHeader receiptHeader : receiptHeaderList) { + try { + huahengMultiHandlerService.backReceipt(receiptHeader); + } catch (Exception e) { + e.printStackTrace(); + } + } + LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); + shipmentHeaderLambdaQueryWrapper.eq(ShipmentHeader::getLastStatus, QuantityConstant.SHIPMENT_HEADER_RETURN_ERROR).isNotNull(ShipmentHeader::getReferCode); + List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(shipmentHeaderLambdaQueryWrapper); + for (ShipmentHeader shipmentHeader : shipmentHeaderList) { + try { + huahengMultiHandlerService.backShipment(shipmentHeader); + } catch (Exception e) { + e.printStackTrace(); + } + } + } +} diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java index db1caaa..c1ffbd9 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java @@ -78,7 +78,8 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R msg = "'上游单号:'+ #receiptHeader.getReferCode() + ',仓库编码:' + #receiptHeader.getWarehouseCode()", recordReturnValue = true) public boolean delMain(String id, String reason) { ReceiptHeader receiptHeader = getById(id); - if (receiptHeader.getFirstStatus().intValue() > QuantityConstant.RECEIPT_HEADER_BUILD) { + if (receiptHeader.getFirstStatus().intValue() > QuantityConstant.RECEIPT_HEADER_BUILD + && receiptHeader.getFirstStatus().intValue() <= QuantityConstant.RECEIPT_HEADER_COMPLETED) { throw new JeecgBootException("不能删除非新建状态单据"); } receiptHeaderHistoryService.saveById(id, reason); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java index c0ee8d6..bb00a9f 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java @@ -6,7 +6,6 @@ import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -26,9 +25,7 @@ import org.jeecg.modules.wms.config.waveConfig.entity.WaveConfigDetail; import org.jeecg.modules.wms.config.zone.entity.Zone; import org.jeecg.modules.wms.config.zone.service.IZoneService; import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; -import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail; import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService; -import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.shipment.shipmentCombination.service.IShipmentCombinationService; import org.jeecg.modules.wms.shipment.shipmentContainerAdvice.entity.ShipmentContainerAdvice; import org.jeecg.modules.wms.shipment.shipmentContainerAdvice.service.IShipmentContainerAdviceService; @@ -127,7 +124,8 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, @Transactional public boolean delMain(String id, String reason) { ShipmentHeader shipmentHeader = getById(id); - if (shipmentHeader.getFirstStatus().intValue() > QuantityConstant.RECEIPT_HEADER_BUILD) { + if (shipmentHeader.getFirstStatus().intValue() > QuantityConstant.SHIPMENT_HEADER_BUILD + && shipmentHeader.getFirstStatus().intValue() <= QuantityConstant.SHIPMENT_HEADER_COMPLETED) { throw new JeecgBootException("不能删除非新建状态单据"); } shipmentHeaderHistoryService.saveById(id, reason);