增加原材料出库记录取消功能
master
xs 3 months ago
parent 4219b82dea
commit db6b06cbb2

@ -173,4 +173,9 @@ public enum BusinessType
*
*/
OVERTIME,
/**
*
*/
CANCEL,
}

@ -203,4 +203,17 @@ public class WmsRawOutstockController extends BaseController
public AjaxResult associatedSalesOrders(@RequestBody OutstockRequestDTO outstockRequestDTO) {
return toAjax(wmsRawOutstockService.associatedSalesOrders(outstockRequestDTO));
}
/**
* wcs
*/
@RequiresPermissions("wms:rawoutstock:cancel")
@Log(title = "原材料出库记录", businessType = BusinessType.CANCEL)
@PostMapping(("/cancelRawOutstock"))
public AjaxResult cancelRawOutstock(@Validated @RequestBody WmsRawOutstock wmsRawOutstock) {
return toAjax(wmsRawOutstockService.cancelWmsRawOutstock(wmsRawOutstock));
}
}

@ -178,5 +178,13 @@ public interface IWmsRawOutstockService
*/
public int associatedSalesOrders(OutstockRequestDTO outstockRequestDTO);
/**
*
*
* @param wmsRawOutstock
* @return
*/
public int cancelWmsRawOutstock(WmsRawOutstock wmsRawOutstock);
}

@ -868,7 +868,7 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
private WmsRawOutstock agvRawOutstock(WmsAgvRawOutstockVo wmsAgvRawOutstockVo, WmsBaseLocation
oriBaseLocation, String moveMaterialBarcode, Long moveMaterialId,
oriBaseLocation, String moveMaterialBarcode, Long moveMaterialId,
String taskType, String userName, Date currentDate) {
WmsRawOutstock rawOutstock = new WmsRawOutstock();
rawOutstock.setWarehouseId(oriBaseLocation.getWarehouseId());
@ -899,7 +899,7 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
private WmsRawInstock agvRawInstock(WmsAgvRawOutstockVo wmsAgvRawOutstockVo, WmsBaseLocation
targetBaseLocation, String moveMaterialBarcode, Long moveMaterialId,
targetBaseLocation, String moveMaterialBarcode, Long moveMaterialId,
String userName, Date currentDate) {
WmsRawInstock rawInstock = new WmsRawInstock();
rawInstock.setWarehouseId(wmsAgvRawOutstockVo.getWarehouseId());
@ -1447,16 +1447,18 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
/**
* join materialwarehouse
*
* @param wmsRawOutstock
* @return
*/
@Override
public List<WmsRawOutstock> selectWmsRawOutstockJoinMaterialList(WmsRawOutstock wmsRawOutstock){
public List<WmsRawOutstock> selectWmsRawOutstockJoinMaterialList(WmsRawOutstock wmsRawOutstock) {
return wmsRawOutstockMapper.selectWmsRawOutstockJoinMaterialList(wmsRawOutstock);
}
/**
*
*
* @param outstockRequestDTO
* @return
*/
@ -1495,7 +1497,7 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
wmsRawOutstock.setUpdateBy(userName);
wmsRawOutstock.setUpdateDate(currentDate);
Long rawOutstockId = wmsRawOutstockDetail.getRawOutstockId();
if (i == 0){
if (i == 0) {
wmsRawOutstockMapper.updateWmsRawOutstock(wmsRawOutstock);
} else {
wmsRawOutstock.setTaskCode(taskCode + "-" + i);
@ -1508,7 +1510,7 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
wmsRawOutstockDetail.setOutstockAmount(outstockAmount);
wmsRawOutstockDetail.setUpdateBy(userName);
wmsRawOutstockDetail.setUpdateDate(currentDate);
if (i == 0){
if (i == 0) {
wmsRawOutstockDetailMapper.updateWmsRawOutstockDetail(wmsRawOutstockDetail);
} else {
wmsRawOutstockDetailMapper.insertWmsRawOutstockDetail(wmsRawOutstockDetail);
@ -1518,4 +1520,60 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
return 1;
}
/**
*
*
* @param wmsRawOutstock
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int cancelWmsRawOutstock(WmsRawOutstock wmsRawOutstock) {
String userName = SecurityUtils.getLoginUser() == null ? SecurityUtils.getUsername() : SecurityUtils.getLoginUser().getNickname();
Date currentDate = new Date();
if (wmsRawOutstock.getAuditStatus().equals(WmsConstants.WMS_AUDIT_STATUS_FAIL)) {
throw new ServiceException("审核不通过状态的不允许取消");
}
if (wmsRawOutstock.getAuditStatus().equals(WmsConstants.WMS_AUDIT_STATUS_TOAUDIT)) {
throw new ServiceException("待审核状态的不允许取消");
}
if (wmsRawOutstock.getExecuteStatus().equals(WmsConstants.WMS_EXECUTE_STATUS_FINISH)) {
throw new ServiceException("执行完成的不允许取消");
}
BigDecimal originalOutstockAmount = wmsRawOutstock.getOutstockAmount();
BigDecimal realOutstockAmount = wmsRawOutstock.getRealOutstockAmount();
BigDecimal cancelAmount = originalOutstockAmount.subtract(realOutstockAmount);
if (cancelAmount.compareTo(BigDecimal.ZERO) <= 0) {
throw new ServiceException("出库数量已经等于申请数量,不需要取消!");
}
wmsRawOutstock.setOutstockAmount(wmsRawOutstock.getRealOutstockAmount());
wmsRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH);
wmsRawOutstock.setUpdateBy(userName);
wmsRawOutstock.setUpdateDate(currentDate);
String auditReason = wmsRawOutstock.getAuditReason()==null ? "":wmsRawOutstock.getAuditReason();
wmsRawOutstock.setAuditReason(auditReason + " 取消出库,原申请数量为" + originalOutstockAmount);
int updateCount = wmsRawOutstockMapper.updateWmsRawOutstock(wmsRawOutstock);
if (wmsRawOutstock.getStockTotalId() != null) {
WmsStockTotal wmsStockTotal = wmsStockTotalMapper.selectWmsStockTotalByStockTotalId(wmsRawOutstock.getStockTotalId());
if (wmsStockTotal != null) {
//更新占用数量
BigDecimal newOccupyAmount = wmsStockTotal.getOccupyAmount().subtract(cancelAmount);
newOccupyAmount = newOccupyAmount.compareTo(BigDecimal.ZERO) >= 0 ? newOccupyAmount : BigDecimal.ZERO;
wmsStockTotal.setOccupyAmount(newOccupyAmount);
wmsStockTotal.setUpdateBy(userName);
wmsStockTotal.setUpdateDate(currentDate);
wmsStockTotalMapper.updateWmsStockTotal(wmsStockTotal);
}
}
return updateCount;
}
}

@ -262,7 +262,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectWmsRawOutstockJoinList" parameterType="WmsRawOutstock" resultMap="WmsRawOutstockResult">
select wro.raw_outstock_id, wro.task_code, wro.warehouse_id, wro.location_code, wro.order_id, wro.plan_code, wro.plan_detail_code, wro.station_id,wro.material_batch,
select wro.raw_outstock_id, wro.task_code, wro.stock_total_id,wro.warehouse_id, wro.location_code, wro.order_id, wro.plan_code, wro.plan_detail_code, wro.station_id,wro.material_batch,
wro.material_id, wro.operation_type, wro.task_type, wro.apply_reason, wro.audit_reason, wro.audit_status, wro.execute_status, wro.apply_by, wro.apply_date,
wro.audit_by, wro.audit_date, wro.update_by, wro.update_date, wro.begin_time, wro.end_time,wro.outstock_amount,wro.real_outstock_amount,wbw.warehouse_name
,mbmi.material_code,mbmi.material_name,mbmi.material_spec,mbui.unit_name, wrod.erp_status, wrod.erp_amount

@ -119,3 +119,12 @@ export function applyRawOutstock(query) {
data: query
})
}
// 取消原材料出库记录
export function cancelRawOutstock(data) {
return request({
url: '/wms/rawoutstock/cancelRawOutstock',
method: 'post',
data: data
})
}

@ -136,9 +136,11 @@
<el-table v-loading="loading" :data="rawoutstockList"
@selection-change="handleSelectionChange">
@selection-change="handleSelectionChange" :row-class-name="rowRawOutstockIndex">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="序号" type="index" width="55" align="center"/>
<el-table-column label="任务编号" align="center" prop="taskCode"/>
<!-- <el-table-column label="库存ID" align="center" prop="stockTotalId"/>-->
<el-table-column label="仓库名称" align="center" prop="warehouseName"/>
<el-table-column label="计划编号" align="center" prop="planCode"/>
<el-table-column label="明细编号" align="center" prop="planDetailCode"/>
@ -179,11 +181,11 @@
<el-button
size="mini"
type="text"
icon="el-icon-lock"
@click="handleAudit(scope.row)"
v-hasPermi="['wms:rawoutstock:edit']"
v-if="scope.row.auditStatus=='0'"
>审核
icon="el-icon-refresh-left"
@click="handleCancelRawOutstock(scope.row)"
v-hasPermi="['wms:rawoutstock:cancel']"
v-if="scope.row.auditStatus==='1' && scope.row.executeStatus!== '2' "
>取消
</el-button>
<el-button
size="mini"
@ -209,7 +211,8 @@
</template>
<script>
import {listRawoutstock, getWarehouses} from "@/api/wms/rawoutstock";
import {listRawoutstock, getWarehouses,cancelRawOutstock} from "@/api/wms/rawoutstock";
import {delWmswarehouse} from "@/api/wms/wmswarehouse";
export default {
name: "Rawoutstock",
@ -391,7 +394,22 @@ export default {
this.download('wms/rawoutstock/export', {
...this.queryParams
}, `rawoutstock_${new Date().getTime()}.xlsx`)
}
},
/** 采购销售订单绑定信息;销售订单绑定采购订单明细信息序号 */
rowRawOutstockIndex({row, rowIndex}) {
row.index = rowIndex + 1;
},
/** 删除按钮操作 */
handleCancelRawOutstock(row) {
this.$modal.confirm('请确认没有正在执行的调度任务,是否确认取消出库【序号:' + row.index + '】"的数据项?').then(function() {
return cancelRawOutstock(row);
}).then(() => {
this.getList();
this.$modal.msgSuccess("取消成功");
}).catch(() => {});
},
}
};
</script>

Loading…
Cancel
Save