Browse Source

切换机构

master
dimengzhe 3 years ago
parent
commit
2e0c8efa80
  1. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleexamine/AppScmVehicleExamineSubmitDto.java
  2. 268
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleexamine/AppScmVehicleExamineSubmitDto.java

@ -57,4 +57,7 @@ public class AppScmVehicleExamineSubmitDto implements Dto {
@ApiModelProperty("发动机号") @ApiModelProperty("发动机号")
private String engineNo; private String engineNo;
@ApiModelProperty("机构sid")
private String orgPath;
} }

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

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

Loading…
Cancel
Save