diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigDto.java index 667f0c1cab..046071ee4b 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigDto.java @@ -25,8 +25,8 @@ import javax.validation.constraints.NotBlank; @Data public class BaseModelConfigDto implements Dto { -/* @ApiModelProperty(value = "车型sid", required = true) - private String vehicleSid;*/ + @ApiModelProperty(value = "车型sid") + private String vehicleSid;//仅作为关联表新增配置关联使用 /* @ApiModelProperty("车型配置代码(陕汽必须的字段)") private String vehicleCode;*/ diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java index 5f0a621007..6fa2607cb6 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java @@ -56,7 +56,7 @@ public interface BaseVehicleFeign { * @param pq * @return */ - @ApiOperation("车辆信息按照组织层级分页查询 ") + @ApiOperation("车辆信息按照组织层级分页查询") @PostMapping("/pagerListByOrgSidPath") public ResultBean> pagerListByOrgSidPath(@RequestBody PagerQuery pq); diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java index bc16eb878b..b1d2cc9a82 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java @@ -26,6 +26,7 @@ package com.yxt.anrui.base.api.basevehmodelconfig; import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; +import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -34,6 +35,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.List; import java.util.Map; @@ -150,4 +152,13 @@ public interface BaseVehmodelConfigFeign { @GetMapping("/selectCarConfigSummary/{modelSid}/{configSid}/{userSid}") public ResultBean selectCarConfigSummary(@PathVariable("modelSid") String modelSid, @PathVariable("configSid") String configSid, @PathVariable("userSid") String userSid); + /** + * 车型配置关联表新增配置并关联 + * + * @param dto 传输对象 + * @return + */ + @ApiOperation("车型配置关联表新增配置并关联") + @PostMapping("/saveAndRelationConfig") + public ResultBean saveAndRelationConfig(@Valid @RequestBody BaseModelConfigDto dto); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java index 785fbc35c5..dff4affe5f 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java @@ -26,6 +26,7 @@ package com.yxt.anrui.base.api.basevehmodelconfig; import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; +import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -127,4 +128,9 @@ public class BaseVehmodelConfigFeignFallback implements BaseVehmodelConfigFeign return null; } + @Override + public ResultBean saveAndRelationConfig(BaseModelConfigDto dto) { + return null; + } + } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.java index 84f0d3b1a9..d89065cdb8 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.java @@ -217,4 +217,6 @@ public interface BaseModelConfigMapper extends BaseMapper { List getModelConfigLableList(@Param(Constants.WRAPPER) QueryWrapper qw, @Param("lockedStateKey") String lockedStateKey, @Param("orgSid") String orgSid,@Param("label") String label); ModelConfigVo getStockModelConfigList(@Param("modelSid") String modelSid, @Param("useOrgSid") String useOrgSid); + + BaseModelConfigVo selectByConfigName(@Param("sid") String sid,@Param("configName") String configName); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml index 219586a221..9a0f847ded 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml @@ -815,7 +815,8 @@ ON bvcl.labelSid = bvl.sid LEFT JOIN base_vehmodel_config bvc ON bvc.`sid` = bvcl.`vehmodelConfigSid` - WHERE bvc.modelSid = bvm.sid AND bvc.`configurationItemsSid` = bmc.sid AND bvc.`useOrgSid` = #{orgSid}) AS labelName, + WHERE bvc.modelSid = bvm.sid AND bvc.`configurationItemsSid` = bmc.sid AND bvc.`useOrgSid` = #{orgSid}) AS + labelName, (SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvc.modelSid @@ -846,7 +847,8 @@ ON bvcl.labelSid = bvl.sid LEFT JOIN base_vehmodel_config bvc ON bvc.`sid` = bvcl.`vehmodelConfigSid` - WHERE bvc.modelSid = bvm.sid AND bvc.`configurationItemsSid` = bmc.sid AND bvc.`useOrgSid` = #{orgSid}) like concat('%',#{label},'%')) + WHERE bvc.modelSid = bvm.sid AND bvc.`configurationItemsSid` = bmc.sid AND bvc.`useOrgSid` = #{orgSid}) + like concat('%',#{label},'%')) and length(bvc.guidedPrice)>0 @@ -886,4 +888,12 @@ where bvm.sid = #{modelSid} and bvc.useOrgSid = #{useOrgSid} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java index 3e2890a481..bef630bfc8 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java @@ -1053,4 +1053,8 @@ public class BaseModelConfigService extends MybatisBaseService page = baseVehicleService.pagerList(pagerQuery); List records = page.getRecords(); for (BaseVehicleVo record : records) { - //厂家库龄 - if (record.getPriceDate() != null) { - Date priceDate = record.getPriceDate(); - String today = DateUtil.today(); - DateTime currentDate = DateUtil.parse(today); - int i = priceDate.compareTo(currentDate); - long betweenDay = DateUtil.between(priceDate, currentDate, DateUnit.DAY); - record.setLibraryAge(betweenDay * i * -1); + String manPurOrderTypeValue = record.getManPurOrderTypeValue(); + if (manPurOrderTypeValue.equals("外采")) { + record.setLibraryAge(Long.parseLong("0")); + } else { + //厂家库龄 + if (record.getPriceDate() != null) { + Date priceDate = record.getPriceDate(); + String settlementStatus = record.getSettlementStatus(); + if (settlementStatus.equals("2")) { + Date solidDate = record.getSolidDate(); + int i = priceDate.compareTo(solidDate); + long betweenDay = DateUtil.between(priceDate, solidDate, DateUnit.DAY); + record.setLibraryAge(betweenDay * i * -1); + } else { + String today = DateUtil.today(); + DateTime currentDate = DateUtil.parse(today); + int i = priceDate.compareTo(currentDate); + long betweenDay = DateUtil.between(priceDate, currentDate, DateUnit.DAY); + record.setLibraryAge(betweenDay * i * -1); + } + } } //公司库龄 if (record.getArrivalDate() != null) { Date arrivalDate = record.getArrivalDate(); - String today = DateUtil.today(); - DateTime currentDate = DateUtil.parse(today); - int i = arrivalDate.compareTo(currentDate); - long betweenDay = DateUtil.between(arrivalDate, currentDate, DateUnit.DAY); - record.setOrgLibraryAge(betweenDay * i * -1); + Date salesDate = record.getSalesDate(); + if (salesDate != null) { + int i = arrivalDate.compareTo(salesDate); + long betweenDay = DateUtil.between(arrivalDate, salesDate, DateUnit.DAY); + record.setOrgLibraryAge(betweenDay * i * -1); + } else { + String today = DateUtil.today(); + DateTime currentDate = DateUtil.parse(today); + int i = arrivalDate.compareTo(currentDate); + long betweenDay = DateUtil.between(arrivalDate, currentDate, DateUnit.DAY); + record.setOrgLibraryAge(betweenDay * i * -1); + } } //买断库龄 if (record.getSolidDate() != null) { Date solidDate = record.getSolidDate(); - String today = DateUtil.today(); - DateTime currentDate = DateUtil.parse(today); - int i = solidDate.compareTo(currentDate); - long betweenDay = DateUtil.between(solidDate, currentDate, DateUnit.DAY); - record.setSettlementLibraryAge(betweenDay * i * -1); + Date salesDate = record.getSalesDate(); + if (salesDate != null) { + int i = solidDate.compareTo(salesDate); + long betweenDay = DateUtil.between(solidDate, salesDate, DateUnit.DAY); + record.setSettlementLibraryAge(betweenDay * i * -1); + } else { + String today = DateUtil.today(); + DateTime currentDate = DateUtil.parse(today); + int i = solidDate.compareTo(currentDate); + long betweenDay = DateUtil.between(solidDate, currentDate, DateUnit.DAY); + record.setSettlementLibraryAge(betweenDay * i * -1); + } } String vinNo = record.getVinNo(); if (StringUtils.isNotBlank(vinNo)) { @@ -1229,8 +1256,8 @@ public class BaseVehicleRest implements BaseVehicleFeign { } @Override - public ResultBean> selectAppListOne(String modelSid, String configSid, String orgSid,List list) { - return baseVehicleService.selectAppListOne(modelSid, configSid, orgSid,list); + public ResultBean> selectAppListOne(String modelSid, String configSid, String orgSid, List list) { + return baseVehicleService.selectAppListOne(modelSid, configSid, orgSid, list); } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java index 706bf5e7d6..dc7f647ac6 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java @@ -27,6 +27,7 @@ package com.yxt.anrui.base.biz.basevehmodelconfig; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; +import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigDto; import com.yxt.anrui.base.api.basevehmodelconfig.*; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; @@ -182,4 +183,9 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign { public ResultBean selectCarConfigSummary(String modelSid, String configSid, String userSid) { return baseVehmodelConfigService.selectCarConfigSummary(modelSid, configSid,userSid); } + + @Override + public ResultBean saveAndRelationConfig(BaseModelConfigDto dto) { + return baseVehmodelConfigService.saveAndRelationConfig(dto); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java index 747b7b405c..66e44804a9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java @@ -28,8 +28,7 @@ package com.yxt.anrui.base.biz.basevehmodelconfig; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; -import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo; +import com.yxt.anrui.base.api.basemodelconfig.*; import com.yxt.anrui.base.api.basevehicle.ConfigInfo; import com.yxt.anrui.base.api.basevehmodelconfig.*; import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService; @@ -785,4 +784,137 @@ public class BaseVehmodelConfigService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } + + public ResultBean saveAndRelationConfig(BaseModelConfigDto dto) { + ResultBean rb = ResultBean.fireFail(); + String userSid = dto.getUserSid(); + String useOrgSid = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData().getSid(); + BaseModelConfig entity = new BaseModelConfig(); + dto.fillEntity(entity); + String configName = ""; + //颜色 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getCarColor())) { + configName += dto.getCarColor() + "/"; + } + //缓速器 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getSlowMachine())) { + configName += dto.getSlowMachine() + "/"; + } + //后视镜 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getRearViewMirror())) { + configName += dto.getRearViewMirror() + "/"; + } + //轮胎 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getTireSize())) { + configName += dto.getTireSize() + "/"; + } + //驾驶室规格 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getSpecification())) { + configName += dto.getSpecification() + "/"; + } + //后桥 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getRearAxleValue())) { + configName += dto.getRearAxleValue() + "/"; + } + //后桥速比 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getRearAxleRatio())) { + configName += dto.getRearAxleRatio() + "/"; + } + //空调 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getAirConditioner())) { + configName += dto.getAirConditioner() + "/"; + } + //轮毂材质 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getHubMaterial())) { + configName += dto.getHubMaterial() + "/"; + } + //导流罩 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getBaffleModel())) { + configName += dto.getBaffleModel() + "/"; + } + //悬架 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getSuspension())) { + configName += dto.getSuspension() + "/"; + } + //座椅 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getSeat())) { + configName += dto.getSeat() + "/"; + } + //护轮罩 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getTireCover())) { + configName += dto.getTireCover() + "/"; + } + //鞍座 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getSaddle())) { + configName += dto.getSaddle() + "/"; + } + //轴距 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getWheelbase())) { + configName += dto.getWheelbase() + "/"; + } + //保险杠 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getBumper())) { + configName += dto.getBumper() + "/"; + } + //配置包 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getConfiguringBao())) { + configName += dto.getConfiguringBao() + "/"; + } + //独立热源 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getIndependentSources())) { + configName += dto.getIndependentSources() + "/"; + } + //燃料箱 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getFuelTank())) { + configName += dto.getFuelTank() + "/"; + } + //多媒体 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getMultimedia())) { + configName += dto.getMultimedia() + "/"; + } + //货箱 + if (com.yxt.common.base.utils.StringUtils.isNotBlank(dto.getPackingCase())) { + configName += dto.getPackingCase() + "/"; + } + entity.setConfigName(configName); + configName += dto.getOtherConfig(); + BaseModelConfigVo baseModelConfigVo = baseModelConfigService.selectByConfigName(useOrgSid, configName); + if (baseModelConfigVo != null){ + String modelSid = dto.getVehicleSid(); + String configurationItemsSid = baseModelConfigVo.getSid(); + BaseVehmodelConfigVo vo = baseMapper.checkSave(modelSid, configurationItemsSid, useOrgSid); + if (vo != null) { + return rb.setMsg("当前常用配置信息已关联当前车型,请重新选择"); + } + BaseVehmodelConfig baseVehmodelConfig = new BaseVehmodelConfig(); + String sid = baseVehmodelConfig.getSid(); + BeanUtil.copyProperties(dto, baseVehmodelConfig); + baseVehmodelConfig.setSid(sid); + baseVehmodelConfig.setUseOrgSid(useOrgSid); + baseVehmodelConfig.setModelSid(modelSid); + baseVehmodelConfig.setConfigurationItemsSid(configurationItemsSid); + save(baseVehmodelConfig); + }else { + entity.setCreateOrgSId(useOrgSid); + // 配置编码 + int i1 = baseModelConfigService.selectCount(); + String num = String.format("%04d", i1 + 1); // 不足4位补0 + entity.setConfigCode(num); + boolean isSave = baseModelConfigService.save(entity); + if (!isSave) { + return rb.setMsg("保存失败"); + } + String modelSid = dto.getVehicleSid(); + String configurationItemsSid = entity.getSid(); + BaseVehmodelConfig baseVehmodelConfig = new BaseVehmodelConfig(); + String sid = baseVehmodelConfig.getSid(); + BeanUtil.copyProperties(dto, baseVehmodelConfig); + baseVehmodelConfig.setSid(sid); + baseVehmodelConfig.setUseOrgSid(useOrgSid); + baseVehmodelConfig.setModelSid(modelSid); + baseVehmodelConfig.setConfigurationItemsSid(configurationItemsSid); + save(baseVehmodelConfig); + } + return rb.success().setMsg("关联成功"); + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java index 5fc2617bd8..7700772cda 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java @@ -160,6 +160,8 @@ public class STKInStockService extends FinKingDeeService { int id = (int)result.get("Id"); ResultBean submit = submit(KingDeeBillId.STK_INSTOCK.getID(),id+""); if (!submit.getSuccess()) return submit; + ResultBean audit = audit(KingDeeBillId.STK_INSTOCK.getID(),id+""); + if (!audit.getSuccess()) return audit; return stringResultBean; } /**