增加可修改计费重功能
This commit is contained in:
@@ -4,6 +4,7 @@ import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import com.bms.common.annotation.Log;
|
||||
import com.bms.common.core.controller.BaseController;
|
||||
import com.bms.common.core.domain.AjaxResult;
|
||||
@@ -24,13 +26,18 @@ import com.bms.common.enums.BusinessType;
|
||||
import com.bms.common.utils.DateUtils;
|
||||
import com.bms.common.utils.MessageUtils;
|
||||
import com.bms.common.utils.StringUtils;
|
||||
import com.bms.common.utils.poi.ExcelUtil;
|
||||
import com.bms.price.domain.BatchAddIncomeBillFeeTask;
|
||||
import com.bms.price.domain.ChargeWeightImportTask;
|
||||
import com.bms.price.domain.PrcBillingTask;
|
||||
import com.bms.price.domain.PrcOrderBill;
|
||||
import com.bms.price.domain.PrcQuote;
|
||||
import com.bms.price.domain.vo.AddIncomeBillFeeRequest;
|
||||
import com.bms.price.domain.vo.BatchAddIncomeBillFeeRequest;
|
||||
import com.bms.price.domain.vo.BillingTaskSubmitRequest;
|
||||
import com.bms.price.domain.vo.ChargeWeightImportRow;
|
||||
import com.bms.price.domain.vo.ChargeWeightTemplateRequest;
|
||||
import com.bms.price.domain.vo.UpdateChargeWeightRequest;
|
||||
import com.bms.price.domain.vo.UpdateIncomeBillFeeRequest;
|
||||
import com.bms.price.domain.vo.TmsPriceBillRequest;
|
||||
import com.bms.price.domain.vo.TmsPriceQuoteRequest;
|
||||
@@ -312,4 +319,64 @@ public class BillingController extends BaseController
|
||||
TmsPriceQuoteResult result = prcOrderBillService.bill(request);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
/** Update charge_weight (keep weight), then rebill. */
|
||||
@PreAuthorize("@ss.hasPermi('price:billing:chargeWeightEdit')")
|
||||
@Log(title = "Billing charge weight", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/bill/chargeWeight")
|
||||
public AjaxResult updateChargeWeight(@Validated @RequestBody UpdateChargeWeightRequest request)
|
||||
{
|
||||
return success(prcOrderBillService.updateChargeWeight(request.getBillId(), request.getChargeWeight()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Download import template. fillByFilter=true fills orderNo/customer from list filters.
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('price:billing:chargeWeightEdit')")
|
||||
@PostMapping("/bill/chargeWeight/importTemplate")
|
||||
public void importChargeWeightTemplate(HttpServletResponse response,
|
||||
@RequestBody(required = false) ChargeWeightTemplateRequest request)
|
||||
{
|
||||
if (request == null)
|
||||
{
|
||||
request = new ChargeWeightTemplateRequest();
|
||||
}
|
||||
List<ChargeWeightImportRow> rows = prcOrderBillService.buildChargeWeightTemplateRows(request);
|
||||
ExcelUtil<ChargeWeightImportRow> util = new ExcelUtil<ChargeWeightImportRow>(ChargeWeightImportRow.class);
|
||||
if (rows == null || rows.isEmpty())
|
||||
{
|
||||
util.importTemplateExcel(response, "charge_weight");
|
||||
return;
|
||||
}
|
||||
util.exportExcel(response, rows, "charge_weight");
|
||||
}
|
||||
|
||||
/**
|
||||
* Async import charge_weight updates and rebill.
|
||||
* Returns taskId; poll /bill/chargeWeight/import/task/{taskId}.
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('price:billing:chargeWeightEdit')")
|
||||
@Log(title = "Billing charge weight import", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/bill/chargeWeight/importData")
|
||||
public AjaxResult importChargeWeight(MultipartFile file) throws Exception
|
||||
{
|
||||
ExcelUtil<ChargeWeightImportRow> util = new ExcelUtil<ChargeWeightImportRow>(ChargeWeightImportRow.class);
|
||||
List<ChargeWeightImportRow> rows = util.importExcel(file.getInputStream());
|
||||
String taskId = prcOrderBillService.submitImportChargeWeight(rows);
|
||||
Map<String, Object> payload = new HashMap<String, Object>();
|
||||
payload.put("taskId", taskId);
|
||||
return success(payload);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('price:billing:chargeWeightEdit')")
|
||||
@GetMapping("/bill/chargeWeight/import/task/{taskId}")
|
||||
public AjaxResult getChargeWeightImportTask(@PathVariable String taskId)
|
||||
{
|
||||
ChargeWeightImportTask task = prcOrderBillService.getChargeWeightImportTask(taskId);
|
||||
if (task == null)
|
||||
{
|
||||
return error(MessageUtils.message("price.bill.fee.batch.taskNotExists"));
|
||||
}
|
||||
return success(task);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user