feat(inventory): 实现执行单撤单功能
- 修改前端请求参数传递方式,从data改为params - 后端增加数据备份与恢复逻辑 - 新增项目产品信息的备份和恢复接口 - 完善撤单时订单状态及金额的更新处理 - 调整控制器参数接收方式以适配新的调用逻辑dev_1.0.0
parent
1ac5053c4f
commit
e4fd3bca10
|
|
@ -67,7 +67,7 @@ export function recallExecution(id) {
|
|||
return request({
|
||||
url: `/inventory/execution/vue/recall`,
|
||||
method: 'post',
|
||||
data: { id }
|
||||
params: { id }
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ public class VueInventoryExecutionController extends BaseController
|
|||
@RequiresPermissions("inventory:execution:recall")
|
||||
@PostMapping("/recall")
|
||||
@Log(title = "执行单撤单", businessType = BusinessType.DELETE)
|
||||
public AjaxResult recall(@RequestBody Long id)
|
||||
public AjaxResult recall( Long id)
|
||||
{
|
||||
inventoryExecutionService.recall(id);
|
||||
return AjaxResult.success();
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.ruoyi.sip.mapper;
|
|||
|
||||
import java.util.List;
|
||||
import com.ruoyi.sip.domain.ProjectProductInfo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 项目产品信息Mapper接口
|
||||
|
|
@ -65,4 +66,10 @@ public interface ProjectProductInfoMapper
|
|||
void saveBatch(List<ProjectProductInfo> addList);
|
||||
|
||||
void updateBatch(List<ProjectProductInfo> updateList);
|
||||
|
||||
void saveBakData(@Param("orderCode") String orderCode,@Param("versionCode") String versionCode);
|
||||
|
||||
void restoreData(@Param("orderCode")String orderCode, @Param("versionCode")String versionCode,@Param("projectId") Long projectId);
|
||||
|
||||
int countBakData(@Param("orderCode")String orderCode,@Param("versionCode") String versionCode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,8 @@ public class ExecutionTrackServiceImpl implements IExecutionTrackService {
|
|||
private InventoryDeliveryMapper deliveryMapper;
|
||||
@Autowired
|
||||
private TodoService todoService;
|
||||
|
||||
@Autowired
|
||||
private IProjectProductInfoBakService projectProductInfoBakService;
|
||||
@Override
|
||||
public ExecutionOrderVo selectInfo(Long id) {
|
||||
ExecutionOrderVo vo = new ExecutionOrderVo();
|
||||
|
|
@ -238,6 +239,8 @@ public class ExecutionTrackServiceImpl implements IExecutionTrackService {
|
|||
public void recall(Long id) {
|
||||
//查询订单
|
||||
ProjectOrderInfo projectOrderInfo = projectOrderInfoMapper.selectProjectOrderInfoById(id);
|
||||
//还原数据
|
||||
projectProductInfoBakService.restoreData(projectOrderInfo.getOrderCode(),projectOrderInfo.getVersionCode(),projectOrderInfo.getProjectId());
|
||||
//修改订单状态
|
||||
ProjectOrderInfo updateOrder = new ProjectOrderInfo();
|
||||
updateOrder.setOuterStatus(ProjectOrderInfo.OuterStatusEnum.NOT_OUTER.getCode());
|
||||
|
|
@ -245,6 +248,7 @@ public class ExecutionTrackServiceImpl implements IExecutionTrackService {
|
|||
updateOrder.setSignStatus(ProjectOrderInfo.SignStatusEnum.NOT_SIGN.getCode());
|
||||
updateOrder.setVersionCode(String.valueOf(Integer.parseInt(projectOrderInfo.getVersionCode())+1));
|
||||
updateOrder.setOrderStatus(ProjectOrderInfo.OrderStatus.APPROVE_REJECT.getCode());
|
||||
updateOrder.setActualPurchaseAmount(projectOrderInfo.getShipmentAmount());
|
||||
updateOrder.setId(id);
|
||||
projectOrderInfoMapper.updateProjectOrderInfo(updateOrder);
|
||||
//剔除流程
|
||||
|
|
|
|||
|
|
@ -117,6 +117,8 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
|||
@Autowired
|
||||
private TaskService taskService;
|
||||
|
||||
@Autowired
|
||||
private IProjectProductInfoBakService projectProductInfoBakService;
|
||||
|
||||
private static final List<String> CSS_EMAIL_LIST = Arrays.asList("wangxiaojun@pcitech.com", "huiwang@pcitech.com", "zhaoqian1@pcitech.com", "pci-ict@pcitech.com");
|
||||
private static final List<String> REJECT_EMAIL_LIST = Arrays.asList("li.junjie@unisinsight.com", "chen.shenggang@unisinsight.com");
|
||||
|
|
@ -438,6 +440,8 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
|
|||
projectOrderInfo.setOrderStatus(ProjectOrderInfo.OrderStatus.WAIT_APPROVE.getCode());
|
||||
//根据提交类型判断折上折是 100% 98.8%或者98.5%
|
||||
projectOrderInfo.setDiscountFold(BigDecimal.ONE);
|
||||
//备份数据
|
||||
projectProductInfoBakService.saveBakData(existProjectOrderInfo.getOrderCode(), existProjectOrderInfo.getVersionCode());
|
||||
// if ("0".equals(projectOrderInfo.getProcessTemplate())) {
|
||||
// //直签 98.8
|
||||
// projectOrderInfo.setDiscountFold(new BigDecimal("0.985"));
|
||||
|
|
|
|||
|
|
@ -74,6 +74,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</foreach>)
|
||||
|
||||
</select>
|
||||
<select id="countBakData" resultType="java.lang.Integer">
|
||||
select count(1)
|
||||
from project_product_info_bak
|
||||
where order_code = #{orderCode}
|
||||
and version_code = #{versionCode}
|
||||
</select>
|
||||
|
||||
<insert id="insertProjectProductInfo" parameterType="ProjectProductInfo" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into project_product_info
|
||||
|
|
@ -123,6 +129,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
catalogue_all_price = values(catalogue_all_price), price = values(price), all_price = values(all_price), guidance_discount = values(guidance_discount),
|
||||
discount = values(discount), remark = values(remark),tax_rate=values(tax_rate)
|
||||
</insert>
|
||||
<insert id="saveBakData">
|
||||
delete from project_product_info_bak where order_code=#{orderCode} and version_code=#{versionCode};
|
||||
insert into project_product_info_bak (order_code,version_code, product_bom_code, model, product_code, product_desc, quantity,
|
||||
catalogue_price, catalogue_all_price, price, all_price, guidance_discount, discount, remark,tax_rate)
|
||||
select t1.order_code,t1.version_code,t2.product_bom_code,t2.model,t2.product_code,t2.product_desc,t2.quantity,
|
||||
t2.catalogue_price,t2.catalogue_all_price,t2.price,t2.all_price,t2.guidance_discount,t2.discount,t2.remark,t2.tax_rate
|
||||
from project_order_info t1 left join project_product_info t2 on t1.project_id=t2.project_id
|
||||
where t1.order_code=#{orderCode} and t1.version_code=#{versionCode}
|
||||
</insert>
|
||||
<insert id="restoreData">
|
||||
delete from project_product_info where project_id= #{projectId} ;
|
||||
insert into project_product_info (project_id, product_bom_code, model, product_code, product_desc, quantity,
|
||||
catalogue_price, catalogue_all_price, price, all_price, guidance_discount, discount, remark,tax_rate)
|
||||
select #{projectId},t1.product_bom_code,t1.model,t1.product_code,t1.product_desc,t1.quantity,
|
||||
t1.catalogue_price,t1.catalogue_all_price,t1.price,t1.all_price,t1.guidance_discount,t1.discount,t1.remark,t1.tax_rate
|
||||
from project_product_info_bak t1 where t1.order_code=#{orderCode} and t1.version_code=#{versionCode}
|
||||
|
||||
</insert>
|
||||
|
||||
<update id="updateProjectProductInfo" parameterType="ProjectProductInfo">
|
||||
update project_product_info
|
||||
|
|
|
|||
Loading…
Reference in New Issue