|
|
@ -34,6 +34,7 @@ import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerAllVo; |
|
|
|
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerFeign; |
|
|
|
import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.common.enums.ManPurOrderType; |
|
|
@ -561,6 +562,29 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami |
|
|
|
if (StringUtils.isBlank(dto.getInboundDate())) { |
|
|
|
return rb.setMsg("厂家入库日期不能为空"); |
|
|
|
} |
|
|
|
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData(); |
|
|
|
if (StringUtils.isNotBlank(dto.getInspectedSid())) { |
|
|
|
Boolean aBoolean = scmVehinspectItemService.selByTrueAndFalse(dto.getInspectedSid()); |
|
|
|
ScmVehicleExamine scmVehicleExamine = fetchBySid(dto.getInspectedSid()); |
|
|
|
if (dto.isEditVin()) { |
|
|
|
ResultBean<BaseVehicle> baseVehicleResultBean = baseVehicleFeign.selectByVinNoAndOrgSid(dto.getVin(), useOrgSid); |
|
|
|
if (baseVehicleResultBean.getData() == null) { |
|
|
|
return rb.setMsg("车架号已存在请重新输入!"); |
|
|
|
} |
|
|
|
saveAll(scmVehicleExamine, dto); |
|
|
|
} |
|
|
|
if (aBoolean) { |
|
|
|
saveAll(scmVehicleExamine, dto); |
|
|
|
} else { |
|
|
|
return rb.fail().setMsg("车辆检查表项目必须全部通过!"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
return rb.fail().setMsg("操作失败!"); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveAll(ScmVehicleExamine scmVehicleExamine, AppScmVehicleExamineSubmitDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String staffSid = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData().getStaffSid(); |
|
|
|
SysStaffinfoVo data = sysUserFeign.getSysUserByMobile(staffSid).getData(); |
|
|
|
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData(); |
|
|
@ -569,130 +593,123 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami |
|
|
|
String s2 = ""; |
|
|
|
String type1 = "01"; //厂家验车照片
|
|
|
|
String type2 = "02"; //验车相关照片
|
|
|
|
if (StringUtils.isNotBlank(dto.getInspectedSid())) { |
|
|
|
Boolean aBoolean = scmVehinspectItemService.selByTrueAndFalse(dto.getInspectedSid()); |
|
|
|
if (aBoolean) { |
|
|
|
ScmVehicleExamine scmVehicleExamine = fetchBySid(dto.getInspectedSid()); |
|
|
|
if ("1".equals(scmVehicleExamine.getInspectionResult())) { |
|
|
|
scmVehicleExamine.setVinNo(dto.getVin()); |
|
|
|
scmVehicleExamine.setPurchaseTypeKey(dto.getPurchaseKey()); |
|
|
|
scmVehicleExamine.setModelName(dto.getModel()); |
|
|
|
scmVehicleExamine.setConfigName(dto.getConfig()); |
|
|
|
scmVehicleExamine.setRemarks(dto.getRemarks()); |
|
|
|
scmVehicleExamine.setAddress(dto.getAddress()); |
|
|
|
scmVehicleExamine.setAddressCode(dto.getLocation()); |
|
|
|
scmVehicleExamine.setInspectionResult("2"); |
|
|
|
scmVehicleExamine.setPrice(dto.getPrice()); |
|
|
|
scmVehicleExamine.setInspection(data.getName()); |
|
|
|
scmVehicleExamine.setModelDifferenceExplain(dto.getModelDifferenceExplain()); |
|
|
|
scmVehicleExamine.setGuaranteeCardNo(dto.getGuaranteeCardNo()); |
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
String inspectionDate = simpleDateFormat.format(new Date()); |
|
|
|
scmVehicleExamine.setInspectionDate(inspectionDate); |
|
|
|
scmVehicleExamine.setInboundDate(dto.getInboundDate()); |
|
|
|
scmVehicleExamine.setEngineNo(dto.getEngineNo()); |
|
|
|
baseMapper.updateById(scmVehicleExamine); |
|
|
|
// 通过验车 并保存入库单
|
|
|
|
AppScmVehicleEnterlibraryCarWarehousingDto carWarehousingDto = new AppScmVehicleEnterlibraryCarWarehousingDto(); |
|
|
|
// 业务sid
|
|
|
|
carWarehousingDto.setBusinessSid(scmVehicleExamine.getBusinessSid()); |
|
|
|
carWarehousingDto.setWarrantyCardNo(scmVehicleExamine.getGuaranteeCardNo()); |
|
|
|
carWarehousingDto.setSpecialInstructions(scmVehicleExamine.getModelDifferenceExplain()); |
|
|
|
//车架号
|
|
|
|
carWarehousingDto.setVinNo(scmVehicleExamine.getVinNo()); |
|
|
|
carWarehousingDto.setEngineNo(scmVehicleExamine.getEngineNo()); |
|
|
|
carWarehousingDto.setModelName(scmVehicleExamine.getModelName()); |
|
|
|
carWarehousingDto.setModelSid(scmVehicleExamine.getModelSid()); |
|
|
|
carWarehousingDto.setConfigSid(scmVehicleExamine.getConfigSid()); |
|
|
|
carWarehousingDto.setConfigName(scmVehicleExamine.getConfigName()); |
|
|
|
carWarehousingDto.setVehicleSid(scmVehicleExamine.getVehicleSid()); |
|
|
|
//订单类型
|
|
|
|
carWarehousingDto.setPurchaseType(scmVehicleExamine.getPurchaseType()); |
|
|
|
carWarehousingDto.setPurchaseTypeKey(scmVehicleExamine.getPurchaseTypeKey()); |
|
|
|
carWarehousingDto.setDepartureDate(scmVehicleExamine.getDepartureDate()); |
|
|
|
carWarehousingDto.setInspectionDate(scmVehicleExamine.getInspectionDate()); |
|
|
|
carWarehousingDto.setInspection(scmVehicleExamine.getInspection()); |
|
|
|
carWarehousingDto.setInboundFactoryDate(scmVehicleExamine.getInboundDate()); |
|
|
|
carWarehousingDto.setInboundState("1"); |
|
|
|
carWarehousingDto.setUseOrgSid(useOrgSid); |
|
|
|
carWarehousingDto.setUseOrgName(sysOrganizationVo.getName()); |
|
|
|
scmVehicleEnterlibraryService.saveCarWarehousing(carWarehousingDto); |
|
|
|
//如果订单为外采订单向待付款列表推送数据
|
|
|
|
if (ManPurOrderType.ManOrderType.WC_ORDER.getCode().equals(scmVehicleExamine.getPurchaseTypeKey())) { |
|
|
|
BaseOutsourcingApplicationDetailsVo outsourcingApplicationDetailsVo = baseOutsourcingApplicationFeign.fetchBySid(scmVehicleExamine.getBusinessSid()).getData(); |
|
|
|
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto(); |
|
|
|
finPaymentrecordDto.setApplySid(scmVehicleExamine.getBusinessSid()); |
|
|
|
finPaymentrecordDto.setCreateOrgSid(scmVehicleExamine.getUseOrgSid()); |
|
|
|
finPaymentrecordDto.setUseOrgSid(scmVehicleExamine.getUseOrgSid()); |
|
|
|
finPaymentrecordDto.setPayCompanySid(scmVehicleExamine.getUseOrgSid()); //付款单位sid
|
|
|
|
finPaymentrecordDto.setPayType(1); // 付款类别,1付款/2退款
|
|
|
|
finPaymentrecordDto.setCostTypeKey(ManPurOrderType.ManOrderType.WC_ORDER.getCode()); // 款项类别
|
|
|
|
finPaymentrecordDto.setCostTypeValue(ManPurOrderType.ManOrderType.WC_ORDER.getRemarks());// 款项类别
|
|
|
|
finPaymentrecordDto.setCostTitleKey(ManPurOrderType.CostTitle.CK_COSTTITLE.getCode());// 款项名称
|
|
|
|
finPaymentrecordDto.setCostTitleValue(ManPurOrderType.CostTitle.CK_COSTTITLE.getRemarks());//款项名称
|
|
|
|
finPaymentrecordDto.setReceiveBankAccount(outsourcingApplicationDetailsVo.getBankAccount()); // 收款银行账号
|
|
|
|
finPaymentrecordDto.setReceiveCompany(outsourcingApplicationDetailsVo.getPurchasingUnitName()); |
|
|
|
Integer price = Integer.valueOf(outsourcingApplicationDetailsVo.getPurchasePrice()); |
|
|
|
Integer num = outsourcingApplicationDetailsVo.getNum(); |
|
|
|
finPaymentrecordDto.setCost(price * num - Integer.valueOf(outsourcingApplicationDetailsVo.getDeposit())); |
|
|
|
finPaymentrecordDto.setBusSid(""); |
|
|
|
BaseManufacturerAllVo baseManufacturerAllVo = baseManufacturerFeign.details(outsourcingApplicationDetailsVo.getSupplierSid()).getData(); |
|
|
|
if (baseManufacturerAllVo != null) { |
|
|
|
finPaymentrecordDto.setPayCode(baseManufacturerAllVo.getBaseManufacturerDto().getManufacturerCode()); |
|
|
|
} |
|
|
|
finPaymentrecordFeign.save(finPaymentrecordDto); |
|
|
|
} |
|
|
|
//车辆台账推送数据
|
|
|
|
BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); |
|
|
|
baseVehicleDto.setVinNo(dto.getVin()); |
|
|
|
baseVehicleDto.setUseOrgSid(useOrgSid); |
|
|
|
baseVehicleDto.setWarrantyCardNo(dto.getGuaranteeCardNo());//保修卡卡号
|
|
|
|
baseVehicleDto.setSpecialInstructions(dto.getModelDifferenceExplain());//特殊配置差异说明
|
|
|
|
List<BaseVehicleDto> list = new ArrayList(); |
|
|
|
list.add(baseVehicleDto); |
|
|
|
baseVehicleFeign.saveOrUpdate(list, OperVehicleState.EventType.UPDATE_VEHICLE.getCode()); |
|
|
|
|
|
|
|
scmFileService.deleteByLinkSidAndType(scmVehicleExamine.getSid(), type1); |
|
|
|
List<String> factoryImage = dto.getFactoryImage(); |
|
|
|
for (String s : factoryImage) { |
|
|
|
if (s.contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
s1 = s.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
ScmFile scmFile1 = new ScmFile(); |
|
|
|
scmFile1.setAttachType("01"); |
|
|
|
scmFile1.setFileName("厂家验车照片"); |
|
|
|
scmFile1.setFilePath(s1); |
|
|
|
scmFile1.setLinkSid(dto.getInspectedSid()); |
|
|
|
scmFileService.save(scmFile1); |
|
|
|
} |
|
|
|
scmFileService.deleteByLinkSidAndType(scmVehicleExamine.getSid(), type2); |
|
|
|
List<String> carInspectedImage = dto.getCarInspectedImage(); |
|
|
|
for (String s : carInspectedImage) { |
|
|
|
if (s.contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
s2 = s.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
ScmFile scmFile2 = new ScmFile(); |
|
|
|
scmFile2.setAttachType("02"); |
|
|
|
scmFile2.setFileName("验车相关照片"); |
|
|
|
scmFile2.setFilePath(s2); |
|
|
|
scmFile2.setLinkSid(dto.getInspectedSid()); |
|
|
|
scmFileService.save(scmFile2); |
|
|
|
} |
|
|
|
return rb.success().setMsg("操作成功!"); |
|
|
|
|
|
|
|
} else if ("2".equals(scmVehicleExamine.getInspectionResult())) { |
|
|
|
return rb.fail().setMsg("当前车辆已验车完成,请勿重复提交"); |
|
|
|
if ("1".equals(scmVehicleExamine.getInspectionResult())) { |
|
|
|
scmVehicleExamine.setVinNo(dto.getVin()); |
|
|
|
scmVehicleExamine.setPurchaseTypeKey(dto.getPurchaseKey()); |
|
|
|
scmVehicleExamine.setModelName(dto.getModel()); |
|
|
|
scmVehicleExamine.setConfigName(dto.getConfig()); |
|
|
|
scmVehicleExamine.setRemarks(dto.getRemarks()); |
|
|
|
scmVehicleExamine.setAddress(dto.getAddress()); |
|
|
|
scmVehicleExamine.setAddressCode(dto.getLocation()); |
|
|
|
scmVehicleExamine.setInspectionResult("2"); |
|
|
|
scmVehicleExamine.setPrice(dto.getPrice()); |
|
|
|
scmVehicleExamine.setInspection(data.getName()); |
|
|
|
scmVehicleExamine.setModelDifferenceExplain(dto.getModelDifferenceExplain()); |
|
|
|
scmVehicleExamine.setGuaranteeCardNo(dto.getGuaranteeCardNo()); |
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
String inspectionDate = simpleDateFormat.format(new Date()); |
|
|
|
scmVehicleExamine.setInspectionDate(inspectionDate); |
|
|
|
scmVehicleExamine.setInboundDate(dto.getInboundDate()); |
|
|
|
scmVehicleExamine.setEngineNo(dto.getEngineNo()); |
|
|
|
baseMapper.updateById(scmVehicleExamine); |
|
|
|
// 通过验车 并保存入库单
|
|
|
|
AppScmVehicleEnterlibraryCarWarehousingDto carWarehousingDto = new AppScmVehicleEnterlibraryCarWarehousingDto(); |
|
|
|
// 业务sid
|
|
|
|
carWarehousingDto.setBusinessSid(scmVehicleExamine.getBusinessSid()); |
|
|
|
carWarehousingDto.setWarrantyCardNo(scmVehicleExamine.getGuaranteeCardNo()); |
|
|
|
carWarehousingDto.setSpecialInstructions(scmVehicleExamine.getModelDifferenceExplain()); |
|
|
|
//车架号
|
|
|
|
carWarehousingDto.setVinNo(scmVehicleExamine.getVinNo()); |
|
|
|
carWarehousingDto.setEngineNo(scmVehicleExamine.getEngineNo()); |
|
|
|
carWarehousingDto.setModelName(scmVehicleExamine.getModelName()); |
|
|
|
carWarehousingDto.setModelSid(scmVehicleExamine.getModelSid()); |
|
|
|
carWarehousingDto.setConfigSid(scmVehicleExamine.getConfigSid()); |
|
|
|
carWarehousingDto.setConfigName(scmVehicleExamine.getConfigName()); |
|
|
|
carWarehousingDto.setVehicleSid(scmVehicleExamine.getVehicleSid()); |
|
|
|
//订单类型
|
|
|
|
carWarehousingDto.setPurchaseType(scmVehicleExamine.getPurchaseType()); |
|
|
|
carWarehousingDto.setPurchaseTypeKey(scmVehicleExamine.getPurchaseTypeKey()); |
|
|
|
carWarehousingDto.setDepartureDate(scmVehicleExamine.getDepartureDate()); |
|
|
|
carWarehousingDto.setInspectionDate(scmVehicleExamine.getInspectionDate()); |
|
|
|
carWarehousingDto.setInspection(scmVehicleExamine.getInspection()); |
|
|
|
carWarehousingDto.setInboundFactoryDate(scmVehicleExamine.getInboundDate()); |
|
|
|
carWarehousingDto.setInboundState("1"); |
|
|
|
carWarehousingDto.setUseOrgSid(useOrgSid); |
|
|
|
carWarehousingDto.setUseOrgName(sysOrganizationVo.getName()); |
|
|
|
scmVehicleEnterlibraryService.saveCarWarehousing(carWarehousingDto); |
|
|
|
//如果订单为外采订单向待付款列表推送数据
|
|
|
|
if (ManPurOrderType.ManOrderType.WC_ORDER.getCode().equals(scmVehicleExamine.getPurchaseTypeKey())) { |
|
|
|
BaseOutsourcingApplicationDetailsVo outsourcingApplicationDetailsVo = baseOutsourcingApplicationFeign.fetchBySid(scmVehicleExamine.getBusinessSid()).getData(); |
|
|
|
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto(); |
|
|
|
finPaymentrecordDto.setApplySid(scmVehicleExamine.getBusinessSid()); |
|
|
|
finPaymentrecordDto.setCreateOrgSid(scmVehicleExamine.getUseOrgSid()); |
|
|
|
finPaymentrecordDto.setUseOrgSid(scmVehicleExamine.getUseOrgSid()); |
|
|
|
finPaymentrecordDto.setPayCompanySid(scmVehicleExamine.getUseOrgSid()); //付款单位sid
|
|
|
|
finPaymentrecordDto.setPayType(1); // 付款类别,1付款/2退款
|
|
|
|
finPaymentrecordDto.setCostTypeKey(ManPurOrderType.ManOrderType.WC_ORDER.getCode()); // 款项类别
|
|
|
|
finPaymentrecordDto.setCostTypeValue(ManPurOrderType.ManOrderType.WC_ORDER.getRemarks());// 款项类别
|
|
|
|
finPaymentrecordDto.setCostTitleKey(ManPurOrderType.CostTitle.CK_COSTTITLE.getCode());// 款项名称
|
|
|
|
finPaymentrecordDto.setCostTitleValue(ManPurOrderType.CostTitle.CK_COSTTITLE.getRemarks());//款项名称
|
|
|
|
finPaymentrecordDto.setReceiveBankAccount(outsourcingApplicationDetailsVo.getBankAccount()); // 收款银行账号
|
|
|
|
finPaymentrecordDto.setReceiveCompany(outsourcingApplicationDetailsVo.getPurchasingUnitName());// 收款单位
|
|
|
|
int price = Integer.valueOf(outsourcingApplicationDetailsVo.getPurchasePrice());//采购价格
|
|
|
|
Integer num = outsourcingApplicationDetailsVo.getNum();//采购数量
|
|
|
|
int deposit = Integer.valueOf(outsourcingApplicationDetailsVo.getDeposit());//订金
|
|
|
|
finPaymentrecordDto.setCost(price - deposit / num);//付款金额
|
|
|
|
finPaymentrecordDto.setBusSid(scmVehicleExamine.getBusinessSid());//外采申请sid
|
|
|
|
BaseManufacturerAllVo baseManufacturerAllVo = baseManufacturerFeign.details(outsourcingApplicationDetailsVo.getSupplierSid()).getData(); |
|
|
|
if (baseManufacturerAllVo != null) { |
|
|
|
finPaymentrecordDto.setPayCode(baseManufacturerAllVo.getBaseManufacturerDto().getManufacturerCode());//供应商编码
|
|
|
|
} |
|
|
|
} else { |
|
|
|
return rb.fail().setMsg("车辆检查表项目必须全部通过!"); |
|
|
|
finPaymentrecordFeign.save(finPaymentrecordDto); |
|
|
|
} |
|
|
|
//车辆台账推送数据
|
|
|
|
BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); |
|
|
|
baseVehicleDto.setVinNo(dto.getVin()); |
|
|
|
baseVehicleDto.setUseOrgSid(useOrgSid); |
|
|
|
baseVehicleDto.setWarrantyCardNo(dto.getGuaranteeCardNo());//保修卡卡号
|
|
|
|
baseVehicleDto.setSpecialInstructions(dto.getModelDifferenceExplain());//特殊配置差异说明
|
|
|
|
List<BaseVehicleDto> list = new ArrayList(); |
|
|
|
list.add(baseVehicleDto); |
|
|
|
baseVehicleFeign.saveOrUpdate(list, OperVehicleState.EventType.UPDATE_VEHICLE.getCode()); |
|
|
|
|
|
|
|
scmFileService.deleteByLinkSidAndType(scmVehicleExamine.getSid(), type1); |
|
|
|
List<String> factoryImage = dto.getFactoryImage(); |
|
|
|
for (String s : factoryImage) { |
|
|
|
if (s.contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
s1 = s.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
ScmFile scmFile1 = new ScmFile(); |
|
|
|
scmFile1.setAttachType("01"); |
|
|
|
scmFile1.setFileName("厂家验车照片"); |
|
|
|
scmFile1.setFilePath(s1); |
|
|
|
scmFile1.setLinkSid(dto.getInspectedSid()); |
|
|
|
scmFileService.save(scmFile1); |
|
|
|
} |
|
|
|
scmFileService.deleteByLinkSidAndType(scmVehicleExamine.getSid(), type2); |
|
|
|
List<String> carInspectedImage = dto.getCarInspectedImage(); |
|
|
|
for (String s : carInspectedImage) { |
|
|
|
if (s.contains(fileUploadComponent.getUrlPrefix())) { |
|
|
|
s2 = s.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
ScmFile scmFile2 = new ScmFile(); |
|
|
|
scmFile2.setAttachType("02"); |
|
|
|
scmFile2.setFileName("验车相关照片"); |
|
|
|
scmFile2.setFilePath(s2); |
|
|
|
scmFile2.setLinkSid(dto.getInspectedSid()); |
|
|
|
scmFileService.save(scmFile2); |
|
|
|
} |
|
|
|
return rb.success().setMsg("操作成功!"); |
|
|
|
|
|
|
|
} else if ("2".equals(scmVehicleExamine.getInspectionResult())) { |
|
|
|
return rb.fail().setMsg("当前车辆已验车完成,请勿重复提交"); |
|
|
|
} |
|
|
|
return rb.fail().setMsg("操作失败!"); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> getToDoNum(String userSid,String orgPath) { |
|
|
|
public ResultBean<String> getToDoNum(String userSid, String orgPath) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
if(StringUtils.isBlank(orgPath)){ |
|
|
|
if (StringUtils.isBlank(orgPath)) { |
|
|
|
orgPath = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData(); |
|
|
|
} |
|
|
|
int count = baseMapper.getToDoNum(orgPath); |
|
|
|