Compare commits
3 Commits
f1f88ae4dc
...
1618b15b01
| Author | SHA1 | Date |
|---|---|---|
|
|
1618b15b01 | |
|
|
d35965748c | |
|
|
97678c49d2 |
|
|
@ -25,6 +25,10 @@ public class SaleOrderRespVO {
|
|||
@ExcelProperty("单据编号")
|
||||
private String billno;
|
||||
|
||||
@Schema(description = "销售合约号", example = "2")
|
||||
@ExcelProperty("销售合约号")
|
||||
private String saleContractCode;
|
||||
|
||||
@Schema(description = "客户id", example = "10257")
|
||||
@ExcelProperty("客户id")
|
||||
private Long customerId;
|
||||
|
|
|
|||
|
|
@ -71,6 +71,9 @@ public class SaleOrderSaveReqVO {
|
|||
@Schema(description = "驳回原因", example = "2")
|
||||
private String rejectReason;
|
||||
|
||||
@Schema(description = "销售合约号", example = "2")
|
||||
private String saleContractCode;
|
||||
|
||||
@Schema(description = "销售订单明细列表")
|
||||
private List<SaleOrderEntryDO> entrys;
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ public interface SaleOrderConvert {
|
|||
@Mapping(source = "address", target = "address"),
|
||||
@Mapping(source = "emails", target = "emails"),
|
||||
@Mapping(source = "contractType", target = "contractType"),
|
||||
@Mapping(source = "currencyType", target = "currencyType")
|
||||
@Mapping(source = "currencyType", target = "currencyType"),
|
||||
@Mapping(source = "saleContractCode", target = "saleContractCode")
|
||||
})
|
||||
SaleOrderRespVO convert(SaleOrderDO bean);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,10 @@ public class SaleOrderDO extends BaseDO {
|
|||
* 单据编号
|
||||
*/
|
||||
private String billno;
|
||||
/**
|
||||
* 销售合约编码
|
||||
*/
|
||||
private String saleContractCode;
|
||||
/**
|
||||
* 客户id
|
||||
*/
|
||||
|
|
@ -138,12 +142,6 @@ public class SaleOrderDO extends BaseDO {
|
|||
* 合同编码
|
||||
*/
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 销售合约编码
|
||||
*/
|
||||
private String saleContractCode;
|
||||
|
||||
/**
|
||||
* 零售商单号
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -329,10 +329,10 @@ public class SaleOrderServiceImpl implements SaleOrderService {
|
|||
for (SaleOrderDO saleOrder : saleOrders) {
|
||||
if (BillStatusEnum.SUBMIT.getValue().equals(saleOrder.getBillStatus())) {
|
||||
List<SaleOrderEntryDO> entrys = getSaleOrderEntryListByParentId(saleOrder.getId());
|
||||
String contractType = saleOrder.getContractType();
|
||||
String saleContractCode = saleOrder.getSaleContractCode();
|
||||
String currencyType = saleOrder.getCurrencyType();
|
||||
if (StringUtils.isBlank(contractType)) {
|
||||
throw new ServiceException(001, "合约类型不允许为空!");
|
||||
if (StringUtils.isBlank(saleContractCode)) {
|
||||
throw new ServiceException(001, "销售合约号不允许为空!");
|
||||
}
|
||||
if (StringUtils.isBlank(currencyType)) {
|
||||
throw new ServiceException(001, "结算币种不允许为空!");
|
||||
|
|
@ -365,7 +365,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
|
|||
//生成销售合约
|
||||
SaleContractSaveReqVO saleContractVO = generateSaleContract(saleOrder, entrys);
|
||||
Long saleContractId = saleContractVO.getId();
|
||||
saleOrder.setSaleContractCode(saleContractVO.getBillno());
|
||||
//saleOrder.setSaleContractCode(saleContractVO.getBillno());
|
||||
saleOrderMapper.updateById(saleOrder);
|
||||
|
||||
String htmlContent = generateHtmlContent(saleContractId);
|
||||
|
|
@ -1014,18 +1014,17 @@ public class SaleOrderServiceImpl implements SaleOrderService {
|
|||
private SaleContractSaveReqVO toSaleContractVO(SaleOrderDO saleOrder, List<SaleOrderEntryDO> entrys) {
|
||||
CustomerDO customer = customerService.getCustomer(saleOrder.getCustomerId());
|
||||
SaleContractSaveReqVO saveReqVO = new SaleContractSaveReqVO();
|
||||
String billno = getNewOrderCode2();
|
||||
/* String billno = getNewOrderCode2();
|
||||
String contractType = saleOrder.getContractType();
|
||||
if (StringUtils.isNotBlank(contractType)) {
|
||||
billno = billno.replace("XXXX", contractType);
|
||||
}
|
||||
}*/
|
||||
/* // 优先使用销售订单合同号
|
||||
String billno = saleOrder.getContractCode();
|
||||
if (FuncUtil.isEmpty(billno)) {
|
||||
billno = getNewContractCode2();
|
||||
}*/
|
||||
|
||||
saveReqVO.setBillno(billno);
|
||||
saveReqVO.setBillno(saleOrder.getSaleContractCode());
|
||||
saveReqVO.setCustomerId(saleOrder.getCustomerId());
|
||||
saveReqVO.setCustomerName(customer.getName());
|
||||
saveReqVO.setCustomerBuyNo(saleOrder.getContractCode());
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ export interface SaleOrderVO {
|
|||
invoiceRemarks: string // 发票备注
|
||||
contractType: string // 合约类型
|
||||
currencyType: string // 结算币种
|
||||
saleContractCode: string // 销售合约号
|
||||
}
|
||||
|
||||
// 销售订单 API
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<!-- 订单信息 -->
|
||||
<el-descriptions title="订单信息">
|
||||
<el-descriptions-item label="订单号: " width="1000px">{{ formData.billno }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合约类型: " width="1000px" v-if="formData.billStatus == 'B'">
|
||||
<!-- <el-descriptions-item label="合约类型: " width="1000px" v-if="formData.billStatus == 'B'">
|
||||
<template v-slot:label>
|
||||
<span>合约类型<span style="color: red;">*</span>:</span>
|
||||
</template>
|
||||
|
|
@ -40,7 +40,14 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合约类型: " width="1000px" v-else>{{ formData.contractType }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合约类型: " width="1000px" v-else>{{ formData.contractType }}</el-descriptions-item>-->
|
||||
<el-descriptions-item label="销售合约号: " width="1000px" v-if="formData.billStatus == 'B'">
|
||||
<template v-slot:label>
|
||||
<span>销售合约号<span style="color: red;">*</span>:</span>
|
||||
</template>
|
||||
<el-input v-model="formData.saleContractCode" placeholder="请输入销售合约号" class="!w-300px" />
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="销售合约号: " width="1000px" v-else>{{ formData.saleContractCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="业务日期: " width="500px">{{ formatDate(formData.bizdate,'YYYY-MM-DD') }}</el-descriptions-item>
|
||||
<el-descriptions-item label="确认日期: " >{{ formatDate(formData.confirmdate,'YYYY-MM-DD') }}</el-descriptions-item>
|
||||
<el-descriptions-item label="计划日期: " >{{ formatDate(formData.plansenddate,'YYYY-MM-DD') }}</el-descriptions-item>
|
||||
|
|
@ -136,7 +143,28 @@
|
|||
<el-table-column label="产品编码" prop="materialName" width="150"/>
|
||||
<el-table-column label="产品名称" prop="materialName" width="150"/>
|
||||
<el-table-column label="产品规格" prop="materialSpec" width="150" />
|
||||
<el-table-column label="数量" prop="qty" width="150" />
|
||||
<el-table-column label="数量" width="250" v-if="formData.billStatus == 'B'">
|
||||
<template #header>
|
||||
<span>数量</span>
|
||||
<span style="color:red; margin-right:4px">*</span>
|
||||
</template>
|
||||
<template #default="{ row, $index }">
|
||||
<el-form-item :prop="`${$index}.qty`" :rules="itemFormEntrysRules.qty" class="mb-0px!"
|
||||
v-if="row.billStatus!='C'"
|
||||
>
|
||||
<el-input-number
|
||||
style="width: 100%"
|
||||
v-model.number="row.qty"
|
||||
:precision="0"
|
||||
:controls="false"
|
||||
@change="changeRow(row,'qty')"
|
||||
placeholder="请输入数量"
|
||||
/>
|
||||
</el-form-item>
|
||||
<span v-else @click="editRow($index)">{{ row.qty }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="数量" prop="qty" width="150" v-else/>
|
||||
<el-table-column label="单价" width="250" v-if="formData.billStatus == 'B'">
|
||||
<template #header>
|
||||
<span>单价</span>
|
||||
|
|
@ -258,7 +286,7 @@ const updateAddress = () => {
|
|||
}
|
||||
|
||||
const changeRow = async (row,key:string) => {
|
||||
if('price' == key || 'discount' == key ){
|
||||
if('price' == key || 'discount' == key || 'qty' == key){
|
||||
let price = row.price
|
||||
let qty = row.qty
|
||||
let discount = row.discount
|
||||
|
|
|
|||
Loading…
Reference in New Issue