优化销售订单

This commit is contained in:
Mrking 2024-09-17 17:36:02 +08:00
parent 693b8a60e9
commit 8f88c051c6
5 changed files with 53 additions and 10 deletions

View File

@ -13,9 +13,11 @@ public enum BillStatusEnum {
//订单状态已下单生产中已完成
//单据状态暂存已提交已审核
REJECT("AA", "驳回"),
SAVE("A", "暂存"),
SUBMIT("B", "已提交"),
AUDIT("C", "已审核");
AUDIT("C", "已审核"),
INVALID("D", "作废");
/**
* 状态

View File

@ -1,5 +1,6 @@
package cn.hangtag.module.oms.controller.admin.saleorder;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSONObject;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
@ -138,6 +139,7 @@ public class SaleOrderController {
public CommonResult<Boolean> rejectOrder(@RequestBody JSONObject jobs) {
Long[] ids = jobs.getObject("ids", new Long[0].getClass());
String reason = jobs.getString("reason");
saleOrderService.updateSaleOrderBillStatus(Arrays.asList(ids), "reject", MapUtil.of("rejectReason",reason));
return success(true);
}

View File

@ -70,7 +70,10 @@ public interface SaleOrderService {
Map<Integer, Long> getTabsCount();
void updateSaleOrderBillStatus(List<Long> ids, String status);
default void updateSaleOrderBillStatus(List<Long> ids, String status){
updateSaleOrderBillStatus(ids,status,null);
}
void updateSaleOrderBillStatus(List<Long> ids, String status,Map<String,Object> params);
void generateProduceOrder(List<Long> ids);

View File

@ -156,11 +156,42 @@ public class SaleOrderServiceImpl implements SaleOrderService {
}
@Override
public void updateSaleOrderBillStatus(List<Long> ids, String status) {
public void updateSaleOrderBillStatus(List<Long> ids, String status,Map<String,Object> params) {
List<SaleOrderDO> saleOrders = saleOrderMapper.selectList(SaleOrderDO::getId, ids);
for (SaleOrderDO saleOrder : saleOrders) {
saleOrder.setBillStatus(BillStatusEnum.AUDIT.getValue());
saleOrderMapper.updateById(saleOrder);
switch (status){
case "invalid":
for (SaleOrderDO saleOrder : saleOrders) {
if(!BillStatusEnum.AUDIT.getValue().equals(saleOrder.getBillStatus())){
saleOrder.setBillStatus(BillStatusEnum.INVALID.getValue());
saleOrderMapper.updateById(saleOrder);
}
}
break;
case "reject":
for (SaleOrderDO saleOrder : saleOrders) {
if(!BillStatusEnum.AUDIT.getValue().equals(saleOrder.getBillStatus()) && (params!=null && params.size()>0)){
saleOrder.setBillStatus(BillStatusEnum.REJECT.getValue());
saleOrder.setRejectReason((String)params.get("rejectReason"));
saleOrderMapper.updateById(saleOrder);
}
}
break;
case "submit":
for (SaleOrderDO saleOrder : saleOrders) {
if(BillStatusEnum.SAVE.getValue().equals(saleOrder.getBillStatus())){
saleOrder.setBillStatus(BillStatusEnum.SUBMIT.getValue());
saleOrderMapper.updateById(saleOrder);
}
}
break;
case "audit":
for (SaleOrderDO saleOrder : saleOrders) {
if(BillStatusEnum.SUBMIT.getValue().equals(saleOrder.getBillStatus())){
saleOrder.setBillStatus(BillStatusEnum.AUDIT.getValue());
saleOrderMapper.updateById(saleOrder);
}
}
break;
}
}

View File

@ -403,9 +403,10 @@ const handleDelete = async (id: number) => {
const handleReject = async () => {
const ids = selectionList.value.map((item) => item.id)
const billStatus = selectionList.value.map((item) => item.billStatus)
debugger
for(let vals of billStatus) {
if(vals!='B'){
message.error("请选择单据状态已提交的数据行");
if(vals!='A' && vals!='B'){
message.error("请选择单据状态保存或已提交的数据行");
return;
}
}
@ -423,17 +424,21 @@ const handleUpdateBillStatus = async (operateKey: string) => {
message.error("请选择单据状态已提交的数据行");
return;
}
if("invalid" == operateKey && vals!='B'){
message.error("请选择单据状态已提交的数据行");
if("invalid" == operateKey && (vals=='C')){
debugger
message.error("单据已审核不允许作废");
return;
}
}
debugger
//
let operateName = ''
if(operateKey === 'submit'){
operateName = '提交'
}else if(operateKey === "audit"){
operateName = '审核'
}else if(operateKey === "invalid"){
operateName = '作废'
}else {
return
}