提单费用均摊处理
This commit is contained in:
+58
@@ -16,10 +16,12 @@ import com.bms.common.core.domain.AjaxResult;
|
||||
import com.bms.common.core.page.TableDataInfo;
|
||||
import com.bms.common.enums.BusinessType;
|
||||
import com.bms.common.utils.StringUtils;
|
||||
import com.bms.price.airbill.domain.SrvBillAirAllocCommand;
|
||||
import com.bms.price.airbill.domain.SrvBillAirFeeLog;
|
||||
import com.bms.price.airbill.domain.SrvBillAirFeeSave;
|
||||
import com.bms.price.domain.vo.SrvBillAirQuery;
|
||||
import com.bms.price.domain.vo.SrvBillAirVo;
|
||||
import com.bms.price.service.ISrvBillAirAllocService;
|
||||
import com.bms.price.service.ISrvBillAirFeeService;
|
||||
import com.bms.price.service.ISrvBillAirService;
|
||||
|
||||
@@ -36,6 +38,9 @@ public class SrvBillAirController extends BaseController
|
||||
@Autowired
|
||||
private ISrvBillAirFeeService srvBillAirFeeService;
|
||||
|
||||
@Autowired
|
||||
private ISrvBillAirAllocService srvBillAirAllocService;
|
||||
|
||||
/**
|
||||
* 提单列表
|
||||
*/
|
||||
@@ -94,4 +99,57 @@ public class SrvBillAirController extends BaseController
|
||||
{
|
||||
return success(srvBillAirFeeService.save(command));
|
||||
}
|
||||
|
||||
/** 已分摊的费用改为已确定 */
|
||||
@PreAuthorize("@ss.hasPermi('price:airBill:feeConfirm')")
|
||||
@Log(title = "提单费用确定", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/fee/confirm")
|
||||
public AjaxResult confirmFee(@RequestParam("billCode") String billCode, @RequestParam("feeId") Long feeId)
|
||||
{
|
||||
return success(srvBillAirFeeService.confirm(billCode, feeId));
|
||||
}
|
||||
|
||||
/** 作废已分摊或已确定的费用,并逻辑删除已分摊到订单的明细 */
|
||||
@PreAuthorize("@ss.hasPermi('price:airBill:feeVoid')")
|
||||
@Log(title = "提单费用作废", businessType = BusinessType.DELETE)
|
||||
@PostMapping("/fee/void")
|
||||
public AjaxResult voidFee(@RequestParam("billCode") String billCode, @RequestParam("feeId") Long feeId)
|
||||
{
|
||||
return success(srvBillAirFeeService.voidFee(billCode, feeId));
|
||||
}
|
||||
|
||||
/** 勾选提单后,查出需要分摊到订单的费用 */
|
||||
@PreAuthorize("@ss.hasPermi('price:airBill:fee')")
|
||||
@GetMapping("/fee/alloc/preview")
|
||||
public AjaxResult allocPreview(@RequestParam("billCodes") String billCodes)
|
||||
{
|
||||
return success(srvBillAirAllocService.preview(splitCodes(billCodes)));
|
||||
}
|
||||
|
||||
/** 按重量或订单数把费用分摊到订单,并把费用状态改为已分摊 */
|
||||
@PreAuthorize("@ss.hasPermi('price:airBill:fee')")
|
||||
@Log(title = "提单费用分摊", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/fee/alloc")
|
||||
public AjaxResult allocate(@RequestBody SrvBillAirAllocCommand command)
|
||||
{
|
||||
List<String> billCodes = command == null ? null : command.getBillCodes();
|
||||
return success(srvBillAirAllocService.allocate(billCodes));
|
||||
}
|
||||
|
||||
private static List<String> splitCodes(String billCodes)
|
||||
{
|
||||
List<String> codes = new ArrayList<>();
|
||||
if (StringUtils.isEmpty(billCodes))
|
||||
{
|
||||
return codes;
|
||||
}
|
||||
for (String part : billCodes.split("[,,\\s]+"))
|
||||
{
|
||||
if (StringUtils.isNotEmpty(part))
|
||||
{
|
||||
codes.add(part.trim());
|
||||
}
|
||||
}
|
||||
return codes;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user