Compare commits

..

3 Commits

Author SHA1 Message Date
Mrking 1618b15b01 Merge branch 'dev' of https://git.yfgame.vip/r/hangtag into dev
# Conflicts:
#	hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue
2025-01-19 18:26:50 +08:00
Mrking d35965748c 修改销售订单 2025-01-19 15:53:11 +08:00
Mrking 97678c49d2 修改销售订单 2025-01-19 15:51:18 +08:00
7 changed files with 53 additions and 19 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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;
/**
* 零售商单号
*/

View File

@ -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());

View File

@ -18,6 +18,7 @@ export interface SaleOrderVO {
invoiceRemarks: string // 发票备注
contractType: string // 合约类型
currencyType: string // 结算币种
saleContractCode: string // 销售合约号
}
// 销售订单 API

View File

@ -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