diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/AfterSalesShippingDeviceMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/AfterSalesShippingDeviceMapper.java index aeb0e7bd..79c116d7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/AfterSalesShippingDeviceMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/AfterSalesShippingDeviceMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.aftersales.mapper; import java.util.List; import com.ruoyi.aftersales.domain.AfterSalesShippingDevice; +import org.apache.ibatis.annotations.Param; /** * 出货设备Mapper接口 @@ -38,9 +39,6 @@ public interface AfterSalesShippingDeviceMapper - - - /** * 查询出货设备列表 * @@ -74,6 +72,16 @@ public interface AfterSalesShippingDeviceMapper */ public int updateAfterSalesShippingDevice(AfterSalesShippingDevice afterSalesShippingDevice); + + /** + * 批量修改出货设备 + * + * @param devices 出货设备集合 + * @return 结果 + */ + int batchUpdateAfterSalesShippingDevices(@Param("list") List devices); + + /** * 删除出货设备 * @@ -152,6 +160,12 @@ public interface AfterSalesShippingDeviceMapper * */ List selectShippingDeviceByOrderCodeAndMaterialNo(AfterSalesShippingDevice afterSalesShippingDevice); + + /* + * 根据出库单号和物料号查询出货设备信息列表关联取消出货业务 + * */ + List selectShippingDeviceWithCancelShipping(AfterSalesShippingDevice afterSalesShippingDevice); + /* * 根据物料号和出库单号查询已经添加了的出货设备信息列表 * */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java index 76c67d49..692f52e0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java @@ -425,12 +425,100 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor } /** - * 修改保存取消发货 (后续完善) + * 修改保存取消发货 */ + @Transactional(rollbackFor = Exception.class) @Override public int updateCancelShipping(SysSalesShippingInform sysSalesShippingInform) { - return 1; + String loginName = ShiroUtils.getLoginName(); + String outOrderCode = sysSalesShippingInform.getOutOrderCode(); + List sysSalesShippingInformDetails = shippingInformDetailMapper.selectSysSalesShippingInformDetailByCode(outOrderCode); + + + for (SysSalesShippingInformDetail sysSalesShippingInformDetail : sysSalesShippingInformDetails) { + String materialNo = sysSalesShippingInformDetail.getMaterialNo(); + Integer thisShippingNum = sysSalesShippingInformDetail.getThisShippingNum(); + WarehouseInventoryInquiry inventoryInquiry = inventoryInquiryMapper.selectWarehouseInventoryInquiryByMaterialNo(materialNo); + Integer availableStockNum = Optional.ofNullable(inventoryInquiry.getAvailableStockNum()) + .orElse(0); + Integer sharedStockNum = Optional.ofNullable(inventoryInquiry.getSharedAvailableStockNum()) + .orElse(0); + Integer fixedStockNum = Optional.ofNullable(inventoryInquiry.getFixedAvailableStockNum()) + .orElse(0); + Integer lockedStockNum = Optional.ofNullable(inventoryInquiry.getLockStockNum()) + .orElse(0); + Integer fixedStockAllocatedNum = Optional.ofNullable(sysSalesShippingInformDetail.getFixedStockAllocatedNum()) + .orElse(0);//本次领料占用固定库存数 + Integer sharedStockAllocatedNum = Optional.ofNullable(sysSalesShippingInformDetail.getSharedStockAllocatedNum()) + .orElse(0);//本次领料占用共享库存数 + sharedStockNum = sharedStockNum + sharedStockAllocatedNum; + fixedStockNum = fixedStockNum + fixedStockAllocatedNum; + availableStockNum = availableStockNum + thisShippingNum;//可用库存数返还 + lockedStockNum = lockedStockNum - thisShippingNum;//锁定数减少 + + inventoryInquiry.setAvailableStockNum(availableStockNum); + inventoryInquiry.setSharedAvailableStockNum(sharedStockNum); + inventoryInquiry.setFixedAvailableStockNum(fixedStockNum); + inventoryInquiry.setLockStockNum(lockedStockNum); + + inventoryInquiry.setUpdateBy(loginName); + inventoryInquiry.setUpdateTime(DateUtils.getNowDate()); + int inventoryUpdateResult = inventoryInquiryMapper.updateWarehouseInventoryInquiry(inventoryInquiry); + if (inventoryUpdateResult<=0){ + throw new BusinessException("更新库存查询记录失败"); + } + + AfterSalesShippingDevice afterSalesShippingDevice = new AfterSalesShippingDevice(); + afterSalesShippingDevice.setMaterialNo(materialNo); + afterSalesShippingDevice.setOutOrderCode(outOrderCode); + List oldAfterSalesShippingDevices = salesShippingDeviceMapper.selectShippingDeviceWithCancelShipping(afterSalesShippingDevice); + if (!CollectionUtils.isEmpty(oldAfterSalesShippingDevices)){ + oldAfterSalesShippingDevices.forEach(item->{ + item.setAddShippingDeviceFlag("1"); + item.setOutOrderCode(null); + item.setSnCode(null); + item.setUpdateBy(loginName); + item.setUpdateTime(new Date()); + }); + int updateAfterSalesShippingDeviceResult = salesShippingDeviceMapper.batchUpdateAfterSalesShippingDevices(oldAfterSalesShippingDevices); + if (updateAfterSalesShippingDeviceResult <= 0){ + throw new BusinessException("更新出货设备数据失败"); + } + } + } + + //取消仓库出库单 + WarehouseOutOrder warehouseOutOrder = new WarehouseOutOrder(); + warehouseOutOrder.setOutOrderCode(outOrderCode); + warehouseOutOrder.setWarehouseOutStatus("8"); + warehouseOutOrder.setUpdateBy(loginName); + warehouseOutOrder.setUpdateTime(new Date()); + int updateWarehouseOutOrderResult = warehouseOutOrderMapper.updateWarehouseOutOrderByCode(warehouseOutOrder); + if (updateWarehouseOutOrderResult <= 0){ + throw new BusinessException("更新出库单数据失败"); + } + //取消售后出库单 + AftersalesOutOrder aftersalesOutOrder = new AftersalesOutOrder(); + aftersalesOutOrder.setOutOrderCode(outOrderCode); + aftersalesOutOrder.setWarehouseOutStatus("8"); + aftersalesOutOrder.setUpdateBy(loginName); + aftersalesOutOrder.setUpdateTime(new Date()); + int updateAftersalesOutOrderResult = aftersalesOutOrderMapper.updateAftersalesOutOrderByOutOrderCode(aftersalesOutOrder); + if (updateAftersalesOutOrderResult <= 0){ + throw new BusinessException("更新售后出库单数据失败"); + } + //取消销售出货通知单 + sysSalesShippingInform.setOutOrderCode(outOrderCode); + sysSalesShippingInform.setWarehouseOutStatus("8"); + sysSalesShippingInform.setUpdateBy(loginName); + sysSalesShippingInform.setUpdateTime(new Date()); + int updateShippingInformResult = sysSalesShippingInformMapper.updateSysSalesShippingInformByOutOrderCode(sysSalesShippingInform); + if (updateShippingInformResult <= 0){ + throw new BusinessException("更新销售出货通知单数据失败"); + } + + return updateShippingInformResult; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java index d52f1add..5f17c904 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryInquiryServiceImpl.java @@ -182,7 +182,7 @@ public class WarehouseInventoryInquiryServiceImpl implements IWarehouseInventory Integer sharedAvailableStockNum = oldWarehouseInventoryInquiry.getSharedAvailableStockNum(); if (editStockNum > noOccupancyNum){ - editStockNum = sharedAvailableStockNum; + editStockNum = noOccupancyNum; fixedAvailableStockNum += editStockNum; sharedAvailableStockNum = 0; }else { diff --git a/ruoyi-admin/src/main/resources/mapper/aftersales/AfterSalesShippingDeviceMapper.xml b/ruoyi-admin/src/main/resources/mapper/aftersales/AfterSalesShippingDeviceMapper.xml index 57180420..3206d392 100644 --- a/ruoyi-admin/src/main/resources/mapper/aftersales/AfterSalesShippingDeviceMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/aftersales/AfterSalesShippingDeviceMapper.xml @@ -170,6 +170,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and quality_status = '2' + + + + + +
+ +
+ +
+ +
+ +
+ +
+ + @@ -132,6 +157,7 @@ showRefresh: false, showToggle: false, showColumns:false, + showFooter:true, modalName: "选择物料", columns: [{checkbox: true}, { @@ -190,6 +216,13 @@ { title: '实际采购数', field: 'actualPurchaseNum', + footerFormatter: function (value) { + var sum = 0; + for (var i in value) { + sum += parseFloat(value[i].actualPurchaseNum)|| 0; + } + return "采购合计: " + sum.toFixed(2); + } }, { title: '共享库存占用数', diff --git a/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/taskCgjlVerify.html b/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/taskCgjlVerify.html index 4a201d4e..8f69aaa4 100644 --- a/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/taskCgjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/taskCgjlVerify.html @@ -127,6 +127,34 @@ +
+
+
+

采购合计:

+
+
+
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ + diff --git a/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/taskFzjlVerify.html b/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/taskFzjlVerify.html index 82a12641..df2f0c52 100644 --- a/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/taskFzjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/purchase/purchaseOrder/taskFzjlVerify.html @@ -127,6 +127,34 @@ +
+
+
+

采购合计:

+
+
+
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ + diff --git a/ruoyi-admin/src/main/resources/templates/system/salesShippingInform/salesShippingInform.html b/ruoyi-admin/src/main/resources/templates/system/salesShippingInform/salesShippingInform.html index 5c25a2fc..c79e8f14 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesShippingInform/salesShippingInform.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesShippingInform/salesShippingInform.html @@ -318,7 +318,7 @@ formatter: function(value, row, index) { var actions = []; - actions.push('详情 '); + actions.push('详情 '); if(row.warehouseOutStatus == '2'){ actions.push('确认发货 '); actions.push('取消发货 '); diff --git a/ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryInquiry.html b/ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryInquiry.html index 26f19fd5..43e0653f 100644 --- a/ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryInquiry.html +++ b/ruoyi-admin/src/main/resources/templates/warehouse/inventoryInquiry/inventoryInquiry.html @@ -70,12 +70,9 @@ updateUrl: prefix + "/edit/{id}", exportUrl: prefix + "/export", modalName: "仓库库存查询", - height: $(window).height() - 20, - modalWidth: 1200, - // fixedColumns:true, - // fixedNumber: 1, - // fixedRightNumber: 1, - search: false, + fixedColumns: true, // 启用冻结列 + fixedRightNumber: 1, // 冻结右列个数 + sortable: true, showExport: true, columns: [ {checkbox: true}, @@ -117,12 +114,12 @@ {title: '报损数', field: 'reportDamageNum',}, - {title: '使用状态', field: 'materialUseStatus', - formatter: function(value, row, index) { - return $.table.selectDictLabel(materialUseStatusDatas, value); - } - }, - {title: '录入时间', field: 'createTime',visible: false}, + // {title: '使用状态', field: 'materialUseStatus', + // formatter: function(value, row, index) { + // return $.table.selectDictLabel(materialUseStatusDatas, value); + // } + // }, + {title: '录入时间', field: 'createTime',sortable: true}, {title: '录入人', field: 'createBy',visible: false}, {title: '更新人', field: 'updateBy',}, {title: '上次更新时间', field: 'updateTime',},