This commit is contained in:
parent
5d71511e22
commit
dbe09ab701
|
|
@ -28,6 +28,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
|
@ -67,6 +68,18 @@ public class AppSaleOrderController{
|
|||
@PutMapping("/update")
|
||||
@Operation(summary = "更新销售订单")
|
||||
public CommonResult<Boolean> updateSaleOrder(@Valid @RequestBody SaleOrderSaveReqVO updateReqVO) {
|
||||
//拼接销售合约编码
|
||||
String saleContractCodePrefix = updateReqVO.getSaleContractCodePrefix();
|
||||
String saleContractCode = updateReqVO.getSaleContractCode();
|
||||
if(StringUtils.isBlank(saleContractCodePrefix)){
|
||||
saleContractCodePrefix = "";
|
||||
}
|
||||
if(StringUtils.isNotBlank(saleContractCode)){
|
||||
saleContractCode = saleContractCode.replaceAll("[^0-9]", "");
|
||||
}else {
|
||||
saleContractCode = "";
|
||||
}
|
||||
updateReqVO.setSaleContractCode(saleContractCodePrefix+saleContractCode);
|
||||
saleOrderService.updateSaleOrder(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
|
@ -87,6 +100,12 @@ public class AppSaleOrderController{
|
|||
if(saleOrder == null){
|
||||
return success(null);
|
||||
}
|
||||
//拆解销售合约编码
|
||||
String saleContractCode = saleOrder.getSaleContractCode();
|
||||
if(StringUtils.isNotBlank(saleContractCode)){
|
||||
saleOrder.setSaleContractCode(saleContractCode.replaceAll("[^0-9]", ""));
|
||||
}
|
||||
|
||||
// 拼接数据
|
||||
List<cn.hangtag.module.oms.dal.dataobject.saleorderentry.SaleOrderEntryDO> entrys = saleOrderService.getSaleOrderEntryListByParentId(id);
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
|
@ -72,6 +73,20 @@ public class SaleOrderController {
|
|||
@Operation(summary = "更新销售订单")
|
||||
@PreAuthorize("@ss.hasPermission('oms:sale-order:update')")
|
||||
public CommonResult<Boolean> updateSaleOrder(@Valid @RequestBody SaleOrderSaveReqVO updateReqVO) {
|
||||
|
||||
//拼接销售合约编码
|
||||
String saleContractCodePrefix = updateReqVO.getSaleContractCodePrefix();
|
||||
String saleContractCode = updateReqVO.getSaleContractCode();
|
||||
if(StringUtils.isBlank(saleContractCodePrefix)){
|
||||
saleContractCodePrefix = "";
|
||||
}
|
||||
if(StringUtils.isNotBlank(saleContractCode)){
|
||||
saleContractCode = saleContractCode.replaceAll("[^0-9]", "");
|
||||
}else {
|
||||
saleContractCode = "";
|
||||
}
|
||||
updateReqVO.setSaleContractCode(saleContractCodePrefix+saleContractCode);
|
||||
|
||||
saleOrderService.updateSaleOrder(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
|
@ -94,6 +109,13 @@ public class SaleOrderController {
|
|||
if(saleOrder == null){
|
||||
return success(null);
|
||||
}
|
||||
|
||||
//拆解销售合约编码
|
||||
String saleContractCode = saleOrder.getSaleContractCode();
|
||||
if(StringUtils.isNotBlank(saleContractCode)){
|
||||
saleOrder.setSaleContractCode(saleContractCode.replaceAll("[^0-9]", ""));
|
||||
}
|
||||
|
||||
// 拼接数据
|
||||
List<SaleOrderEntryDO> entrys = saleOrderService.getSaleOrderEntryListByParentId(id);
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,10 @@ public class SaleOrderRespVO {
|
|||
@ExcelProperty("单据编号")
|
||||
private String billno;
|
||||
|
||||
@Schema(description = "销售合约号前缀", example = "2")
|
||||
@ExcelProperty("销售合约号前缀")
|
||||
private String saleContractCodePrefix;
|
||||
|
||||
@Schema(description = "销售合约号", example = "2")
|
||||
@ExcelProperty("销售合约号")
|
||||
private String saleContractCode;
|
||||
|
|
@ -36,6 +40,9 @@ public class SaleOrderRespVO {
|
|||
@ExcelProperty("客户id")
|
||||
private Long customerId;
|
||||
|
||||
@Schema(description = "客户采购编号", example = "2")
|
||||
@ExcelProperty("客户采购编号")
|
||||
private String contractCode;
|
||||
|
||||
@Schema(description = "单据状态", example = "2")
|
||||
@ExcelProperty(value = "单据状态", converter = DictConvert.class)
|
||||
|
|
|
|||
|
|
@ -71,6 +71,9 @@ public class SaleOrderSaveReqVO {
|
|||
@Schema(description = "驳回原因", example = "2")
|
||||
private String rejectReason;
|
||||
|
||||
@Schema(description = "销售合约编码前缀", example = "2")
|
||||
private String saleContractCodePrefix;
|
||||
|
||||
@Schema(description = "销售合约号", example = "2")
|
||||
private String saleContractCode;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,10 +33,12 @@ public interface SaleOrderConvert {
|
|||
@Mapping(source = "contractType", target = "contractType"),
|
||||
@Mapping(source = "currencyType", target = "currencyType"),
|
||||
@Mapping(source = "brandId", target = "brandId"),
|
||||
@Mapping(source = "saleContractCodePrefix", target = "saleContractCodePrefix"),
|
||||
@Mapping(source = "saleContractCode", target = "saleContractCode"),
|
||||
@Mapping(source = "totalQty", target = "totalQty"),
|
||||
@Mapping(source = "orderAmount", target = "orderAmount"),
|
||||
@Mapping(source = "logisticsCode", target = "logisticsCode")
|
||||
@Mapping(source = "logisticsCode", target = "logisticsCode"),
|
||||
@Mapping(source = "contractCode", target = "contractCode"),
|
||||
})
|
||||
SaleOrderRespVO convert(SaleOrderDO bean);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,10 +34,16 @@ public class SaleOrderDO extends BaseDO {
|
|||
* 单据编号
|
||||
*/
|
||||
private String billno;
|
||||
/**
|
||||
* 销售合约编码前缀
|
||||
*/
|
||||
private String saleContractCodePrefix;
|
||||
|
||||
/**
|
||||
* 销售合约编码
|
||||
*/
|
||||
private String saleContractCode;
|
||||
|
||||
/**
|
||||
* 客户id
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -128,6 +128,12 @@ public interface SaleOrderService {
|
|||
*/
|
||||
String getNewContractCode2();
|
||||
|
||||
/**
|
||||
* 获取销售合同编码
|
||||
* @return
|
||||
*/
|
||||
String getNewContractCode3();
|
||||
|
||||
List<SaleOrderSkuDO> getSaleOrderSkuEntryListByEntryId(Long entryId);
|
||||
|
||||
List<SaleOrderFollowerUserVO> queryFollowerUserListByBrandId(String brandId);
|
||||
|
|
|
|||
|
|
@ -869,8 +869,8 @@ public class SaleOrderServiceImpl implements SaleOrderService {
|
|||
saleOrderSkuDO.setItemKey(saleOrderSkuDTO.getItemKey());
|
||||
skuList.add(saleOrderSkuDO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
DateTime createTime = DateUtil.date();
|
||||
String createTimestr = DateUtil.formatDateTime(createTime);
|
||||
order.setCreateTime(createTime.toLocalDateTime());
|
||||
|
|
@ -1052,6 +1052,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
|
|||
|
||||
private static final long codeId = 6L;
|
||||
private static final long saleContractCodeId = 7L;
|
||||
private static final long saleContractCodeId2 = 10L;
|
||||
|
||||
@Override
|
||||
public String getNewOrderCode() {
|
||||
|
|
@ -1093,6 +1094,26 @@ public class SaleOrderServiceImpl implements SaleOrderService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNewContractCode3() {
|
||||
String s = "";
|
||||
int count = 10;
|
||||
while (true) {
|
||||
count--;
|
||||
try {
|
||||
s = CodingRulesUtils.generateCode(saleContractCodeId2, false);
|
||||
checkSaleContractCode2(null, s);
|
||||
return s;
|
||||
} catch (ServiceException e) {
|
||||
log.warn("重复或者下一个编码");
|
||||
if (count < 0) {
|
||||
log.error("编码获取失败");
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void checkCode(Long id, String code) {
|
||||
if (FuncUtil.isNotEmpty(code)) {
|
||||
LambdaQueryWrapper<SaleOrderDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
|
@ -1157,6 +1178,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
|
|||
order.setOrderType(SaleOrderTypeEnum.NORMAL.getType());
|
||||
}
|
||||
order.setBillno(getNewOrderCode());
|
||||
order.setSaleContractCode(getNewContractCode3());
|
||||
return order;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ export interface SaleOrderVO {
|
|||
invoiceRemarks: string // 发票备注
|
||||
contractType: string // 合约类型
|
||||
currencyType: string // 结算币种
|
||||
saleContractCodePrefix: string // 销售合约号前缀
|
||||
saleContractCode: string // 销售合约号
|
||||
logisticsCode: string // 销售合约号
|
||||
totalQty: number // 总数量
|
||||
|
|
|
|||
|
|
@ -222,5 +222,6 @@ export enum DICT_TYPE {
|
|||
OMS_PRODUCT_CARE_ITEM_TYPE = 'oms_product_care_item_type', //产品保养项目类型 1.成分说明 2.洗涤说明 3.使用说明 4.尺码
|
||||
OMS_PRODUCT_CARE_PROCESS_TYPE = 'oms_product_care_process_type', //产品护理过程类型 1洗涤 2漂白 3烘干 4自然干燥 5熨烫 6专业纺织品护理工艺
|
||||
OMS_CONTRACT_TYPE = 'oms_contract_type', //合约类型
|
||||
OMS_SALECONTRACTNUM_PREFIX = 'oms_salecontractnum_prefix', //销售合约号前缀
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,9 +45,25 @@
|
|||
<template v-slot:label>
|
||||
<span>销售合约号<span style="color: red;">*</span>:</span>
|
||||
</template>
|
||||
<el-input v-model="formData.saleContractCode" placeholder="请输入销售合约号" class="!w-300px" />
|
||||
<el-select
|
||||
v-model="formData.saleContractCodePrefix"
|
||||
placeholder="请选择前缀"
|
||||
clearable
|
||||
class="!w-120px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getStrDictOptions(DICT_TYPE.OMS_SALECONTRACTNUM_PREFIX)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<span>
|
||||
{{ formData.saleContractCode }}
|
||||
</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="销售合约号: " width="1000px" v-else>{{ formData.saleContractCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="销售合约号: " width="1000px" v-else>{{ formData.saleContractCodePrefix + formData.saleContractCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="品牌: " width="500px">{{ formData.brandName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="业务日期: ">{{ formatDate(formData.bizdate,'YYYY-MM-DD') }}</el-descriptions-item>
|
||||
<el-descriptions-item label="确认日期: " >{{ formatDate(formData.confirmdate,'YYYY-MM-DD') }}</el-descriptions-item>
|
||||
|
|
@ -79,6 +95,7 @@
|
|||
<el-descriptions-item label="结算币种: " v-else >{{ formData.currencyType }}</el-descriptions-item>
|
||||
<el-descriptions-item label="总数量: ">{{ formData.totalQty }}</el-descriptions-item>
|
||||
<el-descriptions-item label="总金额: ">{{ formData.orderAmount }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户采购编号: " >{{ formData.contractCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="物流单号: ">{{ formData.logisticsCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="订单备注: ">{{ formData.remark }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
|
@ -305,7 +322,7 @@ const formData = ref<SaleOrderVO>({
|
|||
})
|
||||
const itemFormRules = reactive({
|
||||
//contractType: [{ required: true, message: '合约类型不能为空', trigger: 'blur' }],
|
||||
saleContractCode: [{ required: true, message: '销售合约号不能为空', trigger: 'blur' }],
|
||||
saleContractCodePrefix: [{ required: true, message: '销售合约号不能为空', trigger: 'blur' }],
|
||||
})
|
||||
|
||||
|
||||
|
|
@ -402,7 +419,7 @@ const delRow = async (row) => {
|
|||
}
|
||||
const handleSave = async () => {
|
||||
try {
|
||||
if(!formData.value.saleContractCode){
|
||||
if(!formData.value.saleContractCodePrefix){
|
||||
message.alertError("销售合约号不能为空")
|
||||
return
|
||||
}
|
||||
|
|
@ -424,7 +441,7 @@ const handleSave = async () => {
|
|||
/** 审核 */
|
||||
const handleAudit = async () => {
|
||||
try {
|
||||
if(!formData.value.saleContractCode){
|
||||
if(!formData.value.saleContractCodePrefix){
|
||||
message.alertError("销售合约号不能为空")
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -547,6 +547,7 @@ export default {
|
|||
currencyType:'currencyType',
|
||||
totalQty:'totalQty',
|
||||
orderAmount:'orderAmount',
|
||||
contractCode:'contractCode',
|
||||
invoiceCode:'invoiceCode',
|
||||
invoiceName:'invoiceName',
|
||||
invoiceAddress:'invoiceAddress',
|
||||
|
|
|
|||
|
|
@ -542,6 +542,7 @@ export default {
|
|||
currencyType:'结算币种',
|
||||
totalQty:'订单总数量',
|
||||
orderAmount:'订单总金额',
|
||||
contractCode:'客户采购编号',
|
||||
invoiceCode:'发票抬头',
|
||||
invoiceName:'发票名称',
|
||||
invoiceAddress:'发票地址',
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
<el-descriptions-item :label="t('saleorder.currencyType')+':'">{{ formData.currencyType }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('saleorder.totalQty')+':'">{{ formData.totalQty }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('saleorder.orderAmount')+':'">{{ formData.orderAmount }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('saleorder.contractCode')+':'" >{{ formData.saleContractCodePrefix + formData.contractCode }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('saleorder.logisticsCode')+':'">{{ formData.logisticsCode }}</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('saleorder.remark')+':'">{{ formData.remark }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
|
|
|||
Loading…
Reference in New Issue