Browse Source

验车问题修改

master
hp 3 years ago
parent
commit
7f0bf505ba
  1. 253
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

253
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

@ -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);

Loading…
Cancel
Save