From acb2d903e59391f52faf18d7ac194000b42310d3 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Wed, 8 Feb 2023 12:00:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98=E5=8F=8A?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/bussalesorder/BusSalesOrderFeign.java | 2 +- .../common/BusSalesOrderConstantUtils.java | 206 ++++++++- .../bussalesorder/BusSalesOrderService.java | 402 ++++++------------ .../BusSalesOrderDepositService.java | 11 +- 4 files changed, 342 insertions(+), 279 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java index b8b94d1f38..2d33768021 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java @@ -279,7 +279,7 @@ public interface BusSalesOrderFeign { @ResponseBody ResultBean selectTemporaryNo(@RequestParam("vehSid")String vehSid); - @ApiOperation(value = "根据车辆sid查询销售订单是否存在,若存在返回相关数据") + @ApiOperation(value = "出库初始化,根据车辆sid查询销售订单是否存在,若存在返回相关数据") @GetMapping("/selectOrderOne") @ResponseBody ResultBean selectOrderOne(@RequestParam("vinSid")String vinSid); diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/common/BusSalesOrderConstantUtils.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/common/BusSalesOrderConstantUtils.java index ad241f7b0d..e5055f3ab1 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/common/BusSalesOrderConstantUtils.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/common/BusSalesOrderConstantUtils.java @@ -17,8 +17,54 @@ public class BusSalesOrderConstantUtils { */ public static String GENERAL_MANAGER_ROLESID = "135b4829-2928-4124-a5b3-7d4b1101a863"; + /** - * 车辆临时状态 + * 流程中网关参数 + * 是否是全款:IS_LOAN + * 销售部经理是否超权限:SALES_MANAGER_Price true超权限,false不超权限 + * 总经理是否超权限:GENERAL_MANAGER_PRICE true超权限,false不超权限 + */ + public static String IS_LOAN = "isLoan"; + public static String SALES_MANAGER_Price = "isPrice"; + public static String GENERAL_MANAGER_PRICE = "isPrice1"; + + /** + * 付款类型 + */ + @Getter + public static enum PayTypeEnum { + /** + * 全款 + */ + FULL_PAYMENT("1", "全款"), + /** + * 贷款 + */ + LOAN("2", "贷款"); + + /** + * code值 + */ + private final String code; + /** + * 备注 + */ + private final String remarks; + + /** + * 构造器 + * + * @param code code值 + * @param remarks 备注 + */ + private PayTypeEnum(String code, String remarks) { + this.code = code; + this.remarks = remarks; + } + } + + /** + * 车辆类型 */ @Getter public static enum TypeEnum { @@ -55,4 +101,162 @@ public class BusSalesOrderConstantUtils { this.remarks = remarks; } } + + /** + * 是否包含上装 + */ + @Getter + public static enum TopType { + /** + * 包含上装 + */ + YES("1", "包含"), + /** + * 不包含上装 + */ + NO("0", "不包含"); + + /** + * code值 + */ + private final String code; + /** + * 备注 + */ + private final String remarks; + + /** + * 构造器 + * + * @param code code值 + * @param remarks 备注 + */ + private TopType(String code, String remarks) { + this.code = code; + this.remarks = remarks; + } + } + + /** + * 订金交纳方式 + */ + @Getter + public static enum DepositType { + /** + * 现交订金 + */ + CASH_DEPOSIT("01", "现交订金"), + /** + * 订金结转 + */ + DEPOSIT_CARRY_FORWARD("02", "订金结转"); + + /** + * code值 + */ + private final String code; + /** + * 备注 + */ + private final String remarks; + + /** + * 构造器 + * + * @param code code值 + * @param remarks 备注 + */ + private DepositType(String code, String remarks) { + this.code = code; + this.remarks = remarks; + } + } + + /** + * 是否包含保险 + */ + @Getter + public static enum InsuranceType { + /** + * 包含保险 + */ + YES("1", "入保"), + /** + * 不包含保险 + */ + NO("0", "不入保"); + + /** + * code值 + */ + private final String code; + /** + * 备注 + */ + private final String remarks; + + /** + * 构造器 + * + * @param code code值 + * @param remarks 备注 + */ + private InsuranceType(String code, String remarks) { + this.code = code; + this.remarks = remarks; + } + } + + /** + * 载货、自卸、搅拌车、专用车有上装、牵引车、起重机没有上装的 + */ + @Getter + public static enum VehicleFunctions { + /** + * 搅拌车 + */ + MIXER("7", "搅拌车"), + /** + * 载货车 + */ + TRUCK("005", "载货车"), + /** + * 牵引车 + */ + TRACTION("4", "牵引车"), + /** + * 专用车/特种车 + */ + SPECIAL("5", "专用车/特种车"), + /** + * 自卸车 + */ + DUMP("3", "自卸车"), + /** + * 起重机 + */ + CRANCE("6", "起重机"); + + /** + * code值 + */ + private final String code; + /** + * 备注 + */ + private final String remarks; + + /** + * 构造器 + * + * @param code code值 + * @param remarks 备注 + */ + private VehicleFunctions(String code, String remarks) { + this.code = code; + this.remarks = remarks; + } + } + + } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index f4b5ff223d..135409e0b3 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -32,9 +32,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basebrandletpricepowimit.BaseBrandMitQuery; import com.yxt.anrui.base.api.basebrandletpricepowimit.BaseBrandletpricepowimitFeign; -import com.yxt.anrui.base.api.basediscountpackage.BaseDiscountpackageFeign; import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; -import com.yxt.anrui.base.api.basepostprice.BasePostPriceFeign; import com.yxt.anrui.base.api.basepurchasesystem.BasePurchSystemVo; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; @@ -43,7 +41,6 @@ import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixFeign; -import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyFeign; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateVo; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign; @@ -122,8 +119,6 @@ import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; -import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign; -import com.yxt.anrui.flowable.api.sysprourl.SysProUrlFeign; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; @@ -136,7 +131,6 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; -import com.yxt.anrui.portal.api.sysuserrole.SysUserRoleFeign; import com.yxt.anrui.portal.config.DictCommonType; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; @@ -149,6 +143,8 @@ import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -173,6 +169,7 @@ import java.util.stream.Collectors; */ @Service public class BusSalesOrderService extends MybatisBaseService { + public static final Logger log = LoggerFactory.getLogger(BusSalesOrderService.class); @Autowired private BusSalesOrderModelService busSalesOrderModelService; @@ -203,18 +200,12 @@ public class BusSalesOrderService extends MybatisBaseService busSalesOrderVehicleListVoList = busSalesOrderVehicleService.detailsList(entity.getSid()); if (busSalesOrderVehicleListVoList.size() != 0) { vo.setBusSalesOrderVehicleList(busSalesOrderVehicleListVoList); } - } else if ("2".equals(entity.getType())) { + } else if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(entity.getType())) { //查询采购订单 List busSalesVehicleOrderDetailsVoList = busSalesVehicleOrderService.detailsList(entity.getSid()); if (busSalesVehicleOrderDetailsVoList.size() != 0) { @@ -345,7 +330,7 @@ public class BusSalesOrderService extends MybatisBaseService busDepositFictitiousDetailsVoList = busDepositFictitiousService.detailsList(busSalesOrderDepositDetailsVo.getSid()); if (busDepositFictitiousDetailsVoList.size() != 0) { @@ -400,7 +384,6 @@ public class BusSalesOrderService extends MybatisBaseService saveOrUpdateOrder1(BusSalesOrderAllDto dto) { ResultBean rb = ResultBean.fireFail(); //销售订单单据信息是否全 - String sid = dto.getSid(); //验证传入的参数是否正确 ResultBean resultBean = isCheck(dto); @@ -475,7 +458,7 @@ public class BusSalesOrderService extends MybatisBaseService busSalesVehicleOrderList = dto.getBusSalesVehicleOrderList(); if (busSalesVehicleOrderList.size() > 0) { @@ -688,7 +671,7 @@ public class BusSalesOrderService extends MybatisBaseService busDepositFictitiousList = dto.getBusDepositFictitiousList(); //本次结转金额之和 BigDecimal depositBig = new BigDecimal("0"); @@ -807,16 +790,16 @@ public class BusSalesOrderService extends MybatisBaseService resultBean = sysStaffOrgFeign.getSysStaffOrgSidListByStaffSid(staffSid); - if (resultBean.getSuccess()) { - orgSid = resultBean.getData(); - } - return orgSid; - }*/ - - /* private void modifyFlowState(String businessSid, String proDefId, String nodeState, - String procInsId, - String taskDefKey, String taskId) { - baseMapper.modifyFlowState(businessSid, - proDefId, - nodeState, - procInsId, - taskDefKey, taskId); - }*/ - - /* public ResultBean complete(BusSalesOrderFlowQuery busSalesOrderFlowQuery) { - ResultBean rb = ResultBean.fireFail(); - //查询对象转换为map集合 - Map variables = Convert.toMap(String.class, Object.class, busSalesOrderFlowQuery); - BusinessVariables bv = BusinessVariables.builder().build(); - bv.setFormVariables(variables); - ResultBean resultBean = flowTaskFeign.businessComplete(bv); - if (!resultBean.getSuccess()) { - return resultBean; - } - String nodeState = ""; - String taskDefKey = ""; - String taskId = ""; - Map map = new HashMap<>(); - map.put("businessSid", variables.get("businessSid").toString()); - if (resultBean.getData() != null) { - ResultBean> listResultBean = flowTaskFeign.getLatestTasks(resultBean.getData().getProcInsId()); - if (listResultBean.getSuccess() && listResultBean.getData().size() != 0) { - nodeState = listResultBean.getData().get(0).getName_(); - taskDefKey = listResultBean.getData().get(0).getTask_def_key_(); - taskId = listResultBean.getData().get(0).getId_(); - - } else { - nodeState = ProcessStateEnum.FINISHED.getStateName(); - taskDefKey = "Event_end"; - taskId = variables.get("taskId").toString(); - //更新销售订单的状态为已通过的状态:审批通过2 - //ToDo: - updateStateByBusinessSid(2, variables.get("businessSid").toString()); - //通过后新增合同表中的信息。 - } - } - //更新业务表中的流程状态 - modifyFlowState(variables.get("businessSid").toString(), - ProcDefEnum.SALESORDER.getProDefId(), - nodeState, - variables.get("instanceId").toString(), - taskDefKey, - taskId); - return rb.success(); - }*/ - /** * 更新销售订单的状态 * @@ -1170,11 +1085,10 @@ public class BusSalesOrderService extends MybatisBaseService receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); -// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busSalesOrder1.getCreateBySid())) { if ("销售订单申请".equals(nextName)) { ResultBean details = getSaleOrderDetails(query.getBusinessSid()); AppOrderDetailsVo vo = details.getData(); - if ("现车".equals(vo.getOrderType())) { + if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) { //更新已选择的车架号的状态为未锁定 List list = busSalesOrderVehicleService.selectVehicleSid(query.getBusinessSid()); BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); @@ -1183,14 +1097,13 @@ public class BusSalesOrderService extends MybatisBaseService list = busSalesVehicleOrderService.selectLinkSid(query.getBusinessSid()); for (BusSalesVehicleOrder b : list) { String linkSid = b.getLinkSid(); int count = b.getUsingNum(); //查询该采购订单的已使用台数 int num = busSalesVehicleOrderService.selectByLinkSid1(linkSid); -// int numcount = num-count; //更新 ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(num)); } @@ -1211,7 +1124,6 @@ public class BusSalesOrderService extends MybatisBaseService receiveSidList2 = Arrays.asList(nextNodeUserSids2.split(",")); String nextName2 = listResultBean2.getData().get(0).getName_(); -// if (receiveSidList2.size() == 1 && receiveSidList2.get(0).equals(busSalesOrder.get().getCreateBySid())) { if ("销售订单申请".equals(nextName2)) { messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); } else { @@ -1253,7 +1165,7 @@ public class BusSalesOrderService extends MybatisBaseService listVos = busDepositFictitiousService.getList(busSalesOrderDeposit.getSid()); listVos.removeAll(Collections.singleton(null)); @@ -1292,7 +1204,6 @@ public class BusSalesOrderService extends MybatisBaseService receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); -// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busSalesOrder.getCreateBySid())) { if ("销售订单申请".equals(nextName)) { ResultBean details = getSaleOrderDetails(query.getBusinessSid()); AppOrderDetailsVo vo = details.getData(); @@ -1347,7 +1257,6 @@ public class BusSalesOrderService extends MybatisBaseService nowCarList = busSalesOrderVehicleService.selectAppDetailsVoBySaleOrderSid(saleOrderSid); nowCarList.removeAll(Collections.singleton(null)); @@ -1960,7 +1869,7 @@ public class BusSalesOrderService extends MybatisBaseService appReadyCarList = busSalesVehicleOrderService.selectAppDetailsVoBySaleOrderSid(saleOrderSid); appReadyCarList.removeAll(Collections.singleton(null)); if (!appReadyCarList.isEmpty()) { @@ -1983,7 +1892,7 @@ public class BusSalesOrderService extends MybatisBaseService listVos = busDepositFictitiousService.getList(busSalesOrderDeposit.getSid()); listVos.removeAll(Collections.singleton(null)); @@ -2267,7 +2184,7 @@ public class BusSalesOrderService extends MybatisBaseService resultBean = getSaleOrderDetails(sid); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - }*/ return rb.success(); } @@ -2536,11 +2448,14 @@ public class BusSalesOrderService extends MybatisBaseService list = busDepositFictitiousService.detailsList(busSalesOrderDepositDetailsVo.getSid()); list.removeAll(Collections.singleton(null)); if (list.isEmpty()) { @@ -2653,7 +2568,6 @@ public class BusSalesOrderService extends MybatisBaseService> orderVoResultBean = baseVehicleFeign.selectAppList(modelSid, configSid, orgSid); if (orderVoResultBean.getSuccess()) { @@ -2829,9 +2743,9 @@ public class BusSalesOrderService extends MybatisBaseService vinList = busSalesOrderVehicleService.selectList(sid); @@ -2891,7 +2806,7 @@ public class BusSalesOrderService extends MybatisBaseService list = busDepositFictitiousService.detailsList(depositInfo.getSid()); list.removeAll(Collections.singleton(null)); List stringList = new ArrayList<>(); @@ -3104,17 +3019,6 @@ public class BusSalesOrderService extends MybatisBaseService list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid()); - for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) { - String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid(); - //查询该采购订单的已使用台数 - int count = busSalesVehicleOrderService.selectByLinkSid1(linkSid); - count = count + busSalesVehicleOrderDetailsVo.getUsingNum(); - //更新该采购订单的锁定台数 - ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count)); - } - }*/ //保存提交时补充的内容 BusSalesOrderSubmitDto busSalesOrderSubmit = dto.getInfo(); if (busSalesOrderSubmit != null) { @@ -3166,7 +3070,7 @@ public class BusSalesOrderService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); ResultBean resultBean = getSaleOrderDetails(businessSid); AppOrderDetailsVo vo = resultBean.getData(); - if ("现车".equals(vo.getOrderType())) { + if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) { //更新已选择的车架号的状态为审批中 List list = busSalesOrderVehicleService.selectVehicleSid(businessSid); BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); @@ -3175,7 +3079,7 @@ public class BusSalesOrderService extends MybatisBaseService list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid()); for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) { String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid(); @@ -3186,45 +3090,6 @@ public class BusSalesOrderService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - Future future1 = pool.submit(() -> { - //极光推送 - busSalesOrder.set(fetchBySid(businessSid)); - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap((Map) variables.get("app")); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("销售订单申请"); - messageFlowableQuery.setMsgContent(busSalesOrder.get().getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("销售订单"); - ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); - }); - Future future2 = pool.submit(() -> { - ResultBean resultBean = getSaleOrderDetails(businessSid); - AppOrderDetailsVo vo = resultBean.getData(); - if ("现车".equals(vo.getOrderType())) { - //更新已选择的车架号的状态为审批中 - List list = busSalesOrderVehicleService.selectVehicleSid(businessSid); - BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); - busMainDepositUpdateQuery.setVinSidList(list); - busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode()); - busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks()); - baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); - } - - }); - - } catch (Exception e) { - e.printStackTrace(); - }*/ - return voResultBean; } if (r == 2) { @@ -3238,7 +3103,7 @@ public class BusSalesOrderService extends MybatisBaseService resultBean = getSaleOrderDetails(businessSid); AppOrderDetailsVo vo = resultBean.getData(); - if ("现车".equals(vo.getOrderType())) { + if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) { //更新已选择的车架号的状态为审批中 List list = busSalesOrderVehicleService.selectVehicleSid(businessSid); BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); @@ -3247,7 +3112,7 @@ public class BusSalesOrderService extends MybatisBaseService list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid()); for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) { String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid(); @@ -3292,16 +3157,6 @@ public class BusSalesOrderService extends MybatisBaseService details = getSaleOrderDetails(bv.getBusinessSid()); AppOrderDetailsVo vo = details.getData(); - if ("现车".equals(vo.getOrderType())) { + if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) { //更新已选择的车架号的状态为销售订单锁定 List list = busSalesOrderVehicleService.selectVehicleSid(bv.getBusinessSid()); BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); @@ -3438,15 +3293,13 @@ public class BusSalesOrderService extends MybatisBaseService baseVehicleResultBean = baseVehicleFeign.details(vv.getCarSid()); if (baseVehicleResultBean.getSuccess()) { @@ -3511,16 +3364,6 @@ public class BusSalesOrderService extends MybatisBaseService list = dto.getVinList(); //根据销售订单sid查询车架号 List busSalesOrderVehicleDetailsVos = busSalesOrderVehicleService.detailsList(dto.getSaleOrderSid()); - /* if (busSalesOrderVehicleDetailsVos.size() > 0) { - busSalesOrderVehicleService.deleteByOrderSid(dto.getSaleOrderSid()); - }*/ - //新增 - /* for (VinListDto v : list) { - BusSalesOrderVehicle busSalesOrderVehicle = new BusSalesOrderVehicle(); - BeanUtil.copyProperties(v, busSalesOrderVehicle); - busSalesOrderVehicle.setSalesOrderSid(dto.getSaleOrderSid()); - busSalesOrderVehicleService.insert(busSalesOrderVehicle); - }*/ busSalesOrderVehicleDetailsVos.removeAll(Collections.singleton(null)); if (busSalesOrderVehicleDetailsVos.size() > 0) { //查询已选择的车辆 @@ -3540,7 +3383,7 @@ public class BusSalesOrderService extends MybatisBaseService vinStringList = list.stream().map(v->v.getLinkSid()).collect(Collectors.toList()); + List vinStringList = list.stream().map(v -> v.getLinkSid()).collect(Collectors.toList()); busMainDepositUpdateQuery.setVinSidList(vinStringList); busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.ORDER_LOCK.getCode()); busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.ORDER_LOCK.getRemarks()); @@ -3661,11 +3504,11 @@ public class BusSalesOrderService extends MybatisBaseService busSalesOrderVehicleList = dto.getBusSalesOrderVehicleList(); List busSalesVehicleOrderList = dto.getBusSalesVehicleOrderList(); - if ("1".equals(dto.getType())) { + if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getCode().equals(dto.getType())) { if (busSalesOrderVehicleList.size() == 0) { return rb.setMsg("选择的类型为现车的车辆信息不允许为空"); } - } else if ("2".equals(dto.getType())) { + } else if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(dto.getType())) { if (busSalesVehicleOrderList.size() == 0) { return rb.setMsg("选择的类型为需采购的采购订单信息不允许为空"); } @@ -3674,7 +3517,7 @@ public class BusSalesOrderService extends MybatisBaseService 0) { return rb.setMsg("订金结转类型下虚拟订单列表不允许为空"); } @@ -3857,26 +3700,35 @@ public class BusSalesOrderService extends MybatisBaseService selectBySid(String businessSid) { ResultBean rb = ResultBean.fireFail(); BusSalesOrder busSalesOrder = fetchBySid(businessSid); - if(busSalesOrder == null){ + if (busSalesOrder == null) { return rb; } return rb.success().setData(busSalesOrder); } + /** + * 销售支持部经理审批办理(同意),若选择的为需采购,则需在销售支持部经理环节选择采购系统 + * + * @param orderFlowableQuery 参数 + * @return + */ public ResultBean completeBy(OrderFlowableQuery orderFlowableQuery) { ResultBean rb = ResultBean.fireFail(); + BusSalesOrder busSalesOrder = fetchBySid(orderFlowableQuery.getBusinessSid()); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(orderFlowableQuery, bv); bv.setModelId(ProcDefEnum.SALESORDER.getProDefId()); ResultBean resultBean = complete(bv); - if(resultBean.getSuccess()){ - //更新销售订单的采购系统 - //根据销售订单sid更新采购系统sid和采购系统名称 - String purchaseSystemName = orderFlowableQuery.getPurchaseSystemName(); - String purchaseSystemSid = orderFlowableQuery.getPurchaseSystemSid(); - String salesOrderSid = orderFlowableQuery.getBusinessSid(); - updatePurchaseSystem(purchaseSystemName, purchaseSystemSid, salesOrderSid); - }else{ + if (resultBean.getSuccess()) { + if(BusSalesOrderConstantUtils.TypeEnum.PRODUCTION_SCHEDULING.getCode().equals(busSalesOrder.getType())){ + //更新销售订单的采购系统 + //根据销售订单sid更新采购系统sid和采购系统名称 + String purchaseSystemName = orderFlowableQuery.getPurchaseSystemName(); + String purchaseSystemSid = orderFlowableQuery.getPurchaseSystemSid(); + String salesOrderSid = orderFlowableQuery.getBusinessSid(); + updatePurchaseSystem(purchaseSystemName, purchaseSystemSid, salesOrderSid); + } + } else { return rb.setMsg(resultBean.getMsg()); } return rb.success(); @@ -3885,53 +3737,59 @@ public class BusSalesOrderService extends MybatisBaseService selectTemporaryNo(String vehSid) { ResultBean rb = ResultBean.fireFail(); BusSalesOrdeVo busSalesOrdeVo = baseMapper.selectTemporaryNo(vehSid); - if(busSalesOrdeVo != null){ + if (busSalesOrdeVo != null) { String contractNo = busSalesOrdeVo.getContractNo(); - if(StringUtils.isBlank(contractNo)){ + if (StringUtils.isBlank(contractNo)) { return rb; } return rb.success().setData(busSalesOrdeVo.getTemporaryNo()); - }else{ + } else { return rb; } } + /** + * 出库初始化,根据车辆获取销售订单的数据 + * + * @param vinSid 车辆sid + * @return + */ public ResultBean selectOrderOne(String vinSid) { ResultBean rb = ResultBean.fireFail(); //根据车辆sid分公司sid查询已办结的销售订单 BusSaleOrderVehicleOutVo busSaleOrderVehicleOutVo = baseMapper.selectOrderOne(vinSid); - if(busSaleOrderVehicleOutVo == null){ - return rb.success().setData(busSaleOrderVehicleOutVo); + if (busSaleOrderVehicleOutVo == null) { + return rb.success().setData(busSaleOrderVehicleOutVo); } //根据销售订单sid查询优惠价值 //查询销售销售订单的单台销售折让 ResultBean resultBean = getSaleOrderDetails(busSaleOrderVehicleOutVo.getSalesOrderSid()); AppOrderDetailsVo appOrderDetailsVo = resultBean.getData(); - if(appOrderDetailsVo != null){ + if (appOrderDetailsVo != null) { //台数 String total = appOrderDetailsVo.getModelInfo().getTotal(); //单台销售折让 String singleCarDiscountPrice = appOrderDetailsVo.getPriceInfo().getSingleCarDiscountPrice(); String totaldiscount = appOrderDetailsVo.getTotaldiscount(); - if(StringUtils.isNotBlank(totaldiscount)){ + if (StringUtils.isNotBlank(totaldiscount)) { //计算单台优惠 BigDecimal bigDecimal = new BigDecimal(totaldiscount).divide(new BigDecimal(total)); busSaleOrderVehicleOutVo.setTotaldiscount(bigDecimal.toString()); //赠送情况 List discountList = appOrderDetailsVo.getDiscountList(); discountList.removeAll(Collections.singleton(null)); - if(discountList.size()>0){ - List discountLists = discountList.stream().filter(v->StringUtils.isNotBlank(v.getDiscountExplain())).map(v->v.getDiscountExplain()).collect(Collectors.toList()); - busSaleOrderVehicleOutVo.setDiscountExplain(String.join(",",discountLists)); + if (discountList.size() > 0) { + List discountLists = discountList.stream().filter(v -> StringUtils.isNotBlank(v.getDiscountExplain())).map(v -> v.getDiscountExplain()).collect(Collectors.toList()); + busSaleOrderVehicleOutVo.setDiscountExplain(String.join(",", discountLists)); } } busSaleOrderVehicleOutVo.setCarDiscountPrice(singleCarDiscountPrice); } - if(StringUtils.isBlank(busSaleOrderVehicleOutVo.getIntermediaryName())){ + if (StringUtils.isBlank(busSaleOrderVehicleOutVo.getIntermediaryName())) { busSaleOrderVehicleOutVo.setDistributorPrice(""); } - if(StringUtils.isBlank(busSaleOrderVehicleOutVo.getIntermediaryName2())){ + if (StringUtils.isBlank(busSaleOrderVehicleOutVo.getIntermediaryName2())) { busSaleOrderVehicleOutVo.setDistributorPrice2(""); } return rb.success().setData(busSaleOrderVehicleOutVo); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java index e82400dee5..3c8a958b98 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java @@ -38,6 +38,7 @@ import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDeta import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDto; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.*; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; +import com.yxt.anrui.buscenter.api.common.BusSalesOrderConstantUtils; import com.yxt.anrui.buscenter.biz.busdeposit.BusDepositService; import com.yxt.anrui.buscenter.biz.busdepositfictitious.BusDepositFictitiousService; import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; @@ -203,7 +204,7 @@ public class BusSalesOrderDepositService extends MybatisBaseService listVos = dto.getVirtualOrderList(); listVos.removeAll(Collections.singleton(null)); if (!listVos.isEmpty()) { @@ -262,7 +263,7 @@ public class BusSalesOrderDepositService extends MybatisBaseService listVos = dto.getVirtualOrderList(); listVos.removeAll(Collections.singleton(null)); BigDecimal bigDecimalAll = new BigDecimal("0");