全部发货后显示质保金

This commit is contained in:
z 2025-02-05 09:05:32 +08:00
parent 0c8f8cb88e
commit dc0e4c62bc
9 changed files with 83 additions and 18 deletions

View File

@ -70,7 +70,13 @@ public class ProjectOrderController {
projectOrderService.updateProjectOrder(updateReqVO); projectOrderService.updateProjectOrder(updateReqVO);
return success(true); return success(true);
} }
@PutMapping("/actionmoneyokyes")
@Operation(summary = "确定收取质保金")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> actionmoneyokyes(@RequestParam("id") Long id) {
projectOrderService.showzbmoney(id);
return success(true);
}
@PostMapping("/operate") @PostMapping("/operate")
@Operation(summary = "操作项目订单") @Operation(summary = "操作项目订单")
@PreAuthorize("@ss.hasPermission('heli:project-order:update')") @PreAuthorize("@ss.hasPermission('heli:project-order:update')")

View File

@ -50,6 +50,10 @@ public class ProjectOrderDO extends BaseDO {
* 枚举 {@link TODO heli_delivery_status 对应的类} * 枚举 {@link TODO heli_delivery_status 对应的类}
*/ */
private Integer deliveryStatus; private Integer deliveryStatus;
/**
* 项目开始时间
*/
private LocalDateTime deliveryDate;
/** /**
* 提出部门id * 提出部门id
*/ */
@ -224,6 +228,7 @@ public class ProjectOrderDO extends BaseDO {
private BigDecimal sixFuKuanBiLi; private BigDecimal sixFuKuanBiLi;
private LocalDateTime sixFuKuanTime; private LocalDateTime sixFuKuanTime;
private Integer showZbmoney;
@TableField(exist = false) @TableField(exist = false)
private String businessDeptName; private String businessDeptName;

View File

@ -108,7 +108,7 @@ public class CrossOrderManager {
* @param projectOrderIds * @param projectOrderIds
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void refreshProjectOrderDeliverStatus(String... projectOrderIds) { public void refreshProjectOrderDeliverStatus(String[] projectOrderIds,LocalDateTime deliverDate) {
// 锁定订单 // 锁定订单
for (String projectOrderId : projectOrderIds) { for (String projectOrderId : projectOrderIds) {
ProjectOrderDO projectOrderDO = projectOrderMapper.selectOne(new LambdaQueryWrapper<ProjectOrderDO>() {{ ProjectOrderDO projectOrderDO = projectOrderMapper.selectOne(new LambdaQueryWrapper<ProjectOrderDO>() {{
@ -138,6 +138,7 @@ public class CrossOrderManager {
if(allDone){ if(allDone){
projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.ALL.getCode()); projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.ALL.getCode());
projectOrderDO.setDeliveryDate(deliverDate);
}else{ }else{
projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.PART.getCode()); projectOrderDO.setDeliveryStatus(ProjectOrderDeliverStatusEnum.PART.getCode());
} }

View File

@ -111,7 +111,7 @@ public class DeliverOrderServiceImpl implements DeliverOrderService {
OperateTypeEnum operateTypeEnum = OperateTypeEnum.valueOf(createReqVO.getActive()); OperateTypeEnum operateTypeEnum = OperateTypeEnum.valueOf(createReqVO.getActive());
if(operateTypeEnum == OperateTypeEnum.DELIVER) { if(operateTypeEnum == OperateTypeEnum.DELIVER) {
crossOrderManager.refreshProjectOrderDeliverStatus(createReqVO.getSaleOrderIds().split(",")); crossOrderManager.refreshProjectOrderDeliverStatus(createReqVO.getSaleOrderIds().split(","),createReqVO.getDeliverDate());
} }
// 返回 // 返回
return deliverOrder.getId(); return deliverOrder.getId();
@ -139,7 +139,7 @@ public class DeliverOrderServiceImpl implements DeliverOrderService {
updateDeliverOrderSubList(updateReqVO.getId(), updateReqVO.getDeliverOrderSubs(), updateReqVO.getDeliverOrderOtherSubs()); updateDeliverOrderSubList(updateReqVO.getId(), updateReqVO.getDeliverOrderSubs(), updateReqVO.getDeliverOrderOtherSubs());
if(updateObj.getDeliverStatus().intValue() == DeliverOrderStatusEnum.DELIVER.getCode()) { if(updateObj.getDeliverStatus().intValue() == DeliverOrderStatusEnum.DELIVER.getCode()) {
crossOrderManager.refreshProjectOrderDeliverStatus(updateReqVO.getSaleOrderIds().split(",")); crossOrderManager.refreshProjectOrderDeliverStatus(updateReqVO.getSaleOrderIds().split(","),updateReqVO.getDeliverDate());
// crossOrderManager.generateStockOutOrder(updateReqVO); // crossOrderManager.generateStockOutOrder(updateReqVO);
} }
} }

View File

@ -84,4 +84,6 @@ public interface ProjectOrderService {
void deleteProjectOrderSub(Long id); void deleteProjectOrderSub(Long id);
PageResult<ProjectOrderSubDO> getProjectOrderSubPage(ProjectOrderSubPageReqVO pageReqVO); PageResult<ProjectOrderSubDO> getProjectOrderSubPage(ProjectOrderSubPageReqVO pageReqVO);
void showzbmoney(Long id);
} }

View File

@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.heli.service.projectorder;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.framework.common.util.object.ObjectUtils; import com.chanko.yunxi.mes.framework.common.util.object.ObjectUtils;
@ -181,6 +182,16 @@ public class ProjectOrderServiceImpl implements ProjectOrderService {
public PageResult<ProjectOrderSubDO> getProjectOrderSubPage(ProjectOrderSubPageReqVO pageReqVO) { public PageResult<ProjectOrderSubDO> getProjectOrderSubPage(ProjectOrderSubPageReqVO pageReqVO) {
return projectOrderSubMapper.getProjectOrderSubPage(pageReqVO); return projectOrderSubMapper.getProjectOrderSubPage(pageReqVO);
} }
@Override
public void showzbmoney(Long id) {
// 校验存在
validateProjectOrderExists(id);
// 更新是否收取质保金
LambdaUpdateWrapper<ProjectOrderDO> eq = new LambdaUpdateWrapper<ProjectOrderDO>().eq(ProjectOrderDO::getId, id).set(ProjectOrderDO::getShowZbmoney, 1).set(ProjectOrderDO::getDeliveryStatus,4);
projectOrderMapper.update(eq);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateProjectOrderPrice(ProjectOrderSaveReqVO updateReqVO) { public void updateProjectOrderPrice(ProjectOrderSaveReqVO updateReqVO) {

View File

@ -48,7 +48,10 @@ export const getProjectOrderPage = async (params) => {
export const getProjectOrder = async (id: number) => { export const getProjectOrder = async (id: number) => {
return await request.get({ url: `/heli/project-order/get?id=` + id }) return await request.get({ url: `/heli/project-order/get?id=` + id })
} }
//已收取质保金
export const showzbmoneyok = async (id: number) => {
return await request.put({ url: `/heli/project-order/actionmoneyokyes?id=` + id })
}
// 新增项目订单 // 新增项目订单
export const createProjectOrder = async (data: ProjectOrderVO) => { export const createProjectOrder = async (data: ProjectOrderVO) => {
return await request.post({ url: `/heli/project-order/create`, data }) return await request.post({ url: `/heli/project-order/create`, data })

View File

@ -159,14 +159,14 @@
> >
编辑 编辑
</el-button> </el-button>
<el-button <!-- <el-button-->
v-if="scope.row.deliverStatus != 1&&scope.row.deliverStatus != 4" <!-- v-if="scope.row.deliverStatus != 1&&scope.row.deliverStatus != 4"-->
link <!-- link-->
type="primary" <!-- type="primary"-->
@click="actionmoney( scope.row.id)" <!-- @click="actionmoney( scope.row.id)"-->
> <!-- >-->
质保金 <!-- 质保金-->
</el-button> <!-- </el-button>-->
<el-button <el-button
link link
type="primary" type="primary"

View File

@ -138,6 +138,14 @@ ref="multipleTableRef"
<template #default="scope"> <template #default="scope">
<el-row> <el-row>
<el-col> <el-col>
<el-button
v-if="scope.row.deliveryStatus == 3"
link
type="primary"
@click="actionmoney( scope.row.id)"
>
质保金
</el-button>
<el-button link type="danger" @click="handleDelete(scope.row.id)" v-if="(scope.row.orderStatus == 4 && scope.row.hasAlter == 0) ||scope.row.orderStatus == 3 "> <el-button link type="danger" @click="handleDelete(scope.row.id)" v-if="(scope.row.orderStatus == 4 && scope.row.hasAlter == 0) ||scope.row.orderStatus == 3 ">
删除 删除
</el-button> </el-button>
@ -197,8 +205,9 @@ import * as ProjectOrderApi from '@/api/heli/projectorder'
import Print from './startprint.vue' // import Print from './startprint.vue' //
import { ref } from 'vue' import { ref } from 'vue'
import {useCommonStore} from "@/store/modules/common"; import {useCommonStore} from "@/store/modules/common";
import {ElTable} from "element-plus"; import {ElMessageBox, ElTable} from "element-plus";
import {ProjectOrderVO} from "@/api/heli/projectorder"; import {ProjectOrderVO} from "@/api/heli/projectorder";
import * as DeliverOrderApi from "@/api/heli/deliverorder";
defineOptions({ name: 'ProjectOrder' }) defineOptions({ name: 'ProjectOrder' })
@ -286,7 +295,35 @@ const getList = async () => {
loading.value = false loading.value = false
} }
} }
const actionmoney = (id?: number) => {
ElMessageBox.confirm('是否确认已收取质保金?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {
selectshowmoneyok(id)
ElMessage({
type: 'success',
message: '确认成功!'
});
})
.catch(() => {
ElMessage({
type: 'info',
message: '已取消确认'
});
});
};
};
const selectshowmoneyok = async (id: number) => {
try {
await ProjectOrderApi.showzbmoneyok(id);
await getList()
} catch (error) { console.error(error); }
}
/** 搜索按钮操作 */ /** 搜索按钮操作 */
const handleQuery = () => { const handleQuery = () => {
queryParams.pageNo = 1 queryParams.pageNo = 1