Merge branch 'dev' of https://git.yfgame.vip/r/hangtag into dev

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
This commit is contained in:
yf 2025-01-04 22:42:13 +08:00
commit 41bc20a3a8
14 changed files with 109 additions and 37 deletions

View File

@ -49,4 +49,7 @@ public class ProduceOrderPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] deliverydate;
@Schema(description = "产品编码")
private String productCode;
}

View File

@ -107,4 +107,6 @@ public class ProduceOrderRespVO {
@Schema(description = "详情")
private String details;
@Schema(description = "备注")
private String remarks;
}

View File

@ -83,4 +83,7 @@ public class ProduceOrderSaveReqVO {
@Schema(description = "详情")
private String details;
@Schema(description = "备注")
private String remarks;
}

View File

@ -53,7 +53,7 @@ public class ProductInfoRespVO {
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
private String remarks;
@Schema(description = "品牌名称")
@ExcelProperty("品牌名称")

View File

@ -121,4 +121,9 @@ public class ProduceOrderDO extends BaseDO {
*/
private String details;
/**
* 备注
*/
private String remarks;
}

View File

@ -138,6 +138,12 @@ public class SaleOrderDO extends BaseDO {
* 合同编码
*/
private String contractCode;
/**
* 销售合约编码
*/
private String saleContractCode;
/**
* 零售商单号
*/

View File

@ -29,6 +29,7 @@ public interface ProduceOrderMapper extends BaseMapperX<ProduceOrderDO> {
.eqIfPresent(ProduceOrderDO::getDeliveryMethod, reqVO.getDeliveryMethod())
.betweenIfPresent(ProduceOrderDO::getInspectionDate, reqVO.getInspectionDate())
.betweenIfPresent(ProduceOrderDO::getDeliverydate, reqVO.getDeliverydate())
.eqIfPresent(ProduceOrderDO::getProductCode, reqVO.getProductCode())
.orderByDesc(ProduceOrderDO::getId));
}

View File

@ -352,7 +352,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
Long userId = SecurityFrameworkUtils.getLoginUserId();
saleOrder.setAuditor(userId.toString());
saleOrder.setAuditorTime(LocalDateTime.now());
saleOrderMapper.updateById(saleOrder);
//生成产品单价记录
@ -363,7 +363,10 @@ public class SaleOrderServiceImpl implements SaleOrderService {
}
//生成销售合约
Long saleContractId = generateSaleContract(saleOrder, entrys);
SaleContractSaveReqVO saleContractVO = generateSaleContract(saleOrder, entrys);
Long saleContractId = saleContractVO.getId();
saleOrder.setSaleContractCode(saleContractVO.getBillno());
saleOrderMapper.updateById(saleOrder);
String htmlContent = generateHtmlContent(saleContractId);
@ -452,7 +455,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
ProductInfoDO productInfo = productInfoService.getProductInfo(entry.getMaterialId());
ProduceOrderSaveReqVO saveReqVO = new ProduceOrderSaveReqVO();
saveReqVO.setOrderNo(saleOrder.getBillno());
saveReqVO.setSaleContractNo(saleOrder.getContractCode());
saveReqVO.setSaleContractNo(saleOrder.getSaleContractCode());
saveReqVO.setCustomerId(customer.getId());
saveReqVO.setCustomerCode(customer.getNumber());
saveReqVO.setProductId(entry.getMaterialId());
@ -470,7 +473,9 @@ public class SaleOrderServiceImpl implements SaleOrderService {
saveReqVO.setProduceDate(LocalDateTime.now());
saveReqVO.setInspectionDate(LocalDateTime.now());
saveReqVO.setDeliverydate(LocalDateTime.now());
if(saleOrderSkuDO!=null&&saleOrderSkuDO.size()>0){
saveReqVO.setRemarks(saleOrderSkuDO.get(0).getRemark());
}
Double specSizeWidth = productInfo.getSpecSizeWidth();
Double specSizeHeight = productInfo.getSpecSizeHeight();
String specMaterial = productInfo.getSpecMaterial();
@ -993,9 +998,11 @@ public class SaleOrderServiceImpl implements SaleOrderService {
}
private Long generateSaleContract(SaleOrderDO saleOrder, List<SaleOrderEntryDO> entrys) {
private SaleContractSaveReqVO generateSaleContract(SaleOrderDO saleOrder, List<SaleOrderEntryDO> entrys) {
SaleContractSaveReqVO saveReqVO = toSaleContractVO(saleOrder, entrys);
return saleContractService.createSaleContract(saveReqVO);
Long id = saleContractService.createSaleContract(saveReqVO);
saveReqVO.setId(id);
return saveReqVO;
}
@ -1016,7 +1023,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
saveReqVO.setBillno(billno);
saveReqVO.setCustomerId(saleOrder.getCustomerId());
saveReqVO.setCustomerName(customer.getName());
saveReqVO.setCustomerBuyNo(saleOrder.getBillno());
saveReqVO.setCustomerBuyNo(saleOrder.getContractCode());
saveReqVO.setBizdate(saleOrder.getBizdate());
saveReqVO.setPartyA(customer.getCompany());
saveReqVO.setHead(customer.getGdperson());

View File

@ -215,6 +215,7 @@ const formData = ref({
deliverydateStr: undefined,
deliveryQty: undefined,
details: undefined,
remarks: undefined,
})
const formRules = reactive({

View File

@ -106,6 +106,17 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="产品编码" prop="productCode">
<el-input
v-model="queryParams.productCode"
placeholder="请输入产品编码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
@ -286,6 +297,7 @@ const queryParams = reactive({
produceDate: [],
produceLine: undefined,
deliveryMethod: undefined,
productCode: undefined,
inspectionDate: [],
deliverydate: [],
})

View File

@ -594,14 +594,14 @@ export default {
},
{
"options": {
"left": 60,
"top": 262.5,
"left": 61.5,
"top": 259.5,
"height": 178.5,
"width": 532,
"right": 587.5,
"bottom": 453.7449760437012,
"vCenter": 321.5,
"hCenter": 358.4949760437012,
"right": 593.4955368041992,
"bottom": 440.98885345458984,
"vCenter": 327.4955368041992,
"hCenter": 351.73885345458984,
"field": "details",
"coordinateSync": false,
"widthHeightSync": false,
@ -612,29 +612,6 @@ export default {
"type": "longText"
}
},
{
"options": {
"left": 15,
"top": 444,
"height": 50,
"width": 575,
"title": "备注",
"right": 583.5,
"bottom": 487.4950575828552,
"vCenter": 300.75,
"hCenter": 464.9950575828552,
"coordinateSync": false,
"widthHeightSync": false,
"qrCodeLevel": 0,
"field": "remarks",
"fontSize": 9,
"fontWeight": "700"
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 15,
@ -2227,6 +2204,49 @@ export default {
"title": "横线",
"type": "hline"
}
},
{
"options": {
"left": 15,
"top": 441,
"height": 9.75,
"width": 39,
"title": "备注:",
"right": 136.49553680419922,
"bottom": 444.7500228881836,
"vCenter": 76.49553680419922,
"hCenter": 439.8750228881836,
"coordinateSync": false,
"widthHeightSync": false,
"fontSize": 9,
"fontWeight": "700",
"qrCodeLevel": 0
},
"printElementType": {
"title": "文本",
"type": "text"
}
},
{
"options": {
"left": 42,
"top": 441,
"height": 61.5,
"width": 550.5,
"right": 592.4977569580078,
"bottom": 502.4933338165283,
"vCenter": 317.2477569580078,
"hCenter": 471.7433338165283,
"field": "remarks",
"coordinateSync": false,
"widthHeightSync": false,
"fixed": true,
"qid": "details_1"
},
"printElementType": {
"title": "",
"type": "longText"
}
}
],
"paperNumberLeft": 565,

View File

@ -23,6 +23,9 @@
<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'">
<template v-slot:label>
<span>合约类型<span style="color: red;">*</span></span>
</template>
<el-select
v-model="formData.contractType"
placeholder="请选择合约类型"
@ -48,6 +51,9 @@
<el-descriptions-item label="客户名称: ">{{ formData?.customer?.name }}</el-descriptions-item>
<el-descriptions-item label="客户公司: ">{{ formData?.customer?.company }}</el-descriptions-item>
<el-descriptions-item label="结算币种: " v-if="formData.billStatus == 'B'">
<template v-slot:label>
<span>结算币种<span style="color: red;">*</span></span>
</template>
<el-select
v-model="formData.currencyType"
placeholder="请选择结算币种"
@ -132,6 +138,10 @@
<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}.price`" :rules="itemFormEntrysRules.price" class="mb-0px!"
v-if="row.billStatus!='C'"

View File

@ -515,6 +515,7 @@ export default {
orderstatus:'orderstatus',
phone:'phone',
remark:'remark',
remarks:'remarks',
contractType:'contractType',
emails:'emails',
fax:'fax',

View File

@ -510,6 +510,7 @@ export default {
orderstatus:'订单状态',
phone:'手机',
remark:'备注',
remarks:'备注',
contractType:'合约类型',
emails:'邮箱',
fax:'传真',