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("发动机号")
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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.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;
@ -119,9 +115,6 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
@Autowired
private AppSubsetVersionFeign appSubsetVersionFeign;
@Autowired
BaseManufacturerFeign baseManufacturerFeign;
private QueryWrapper<ScmVehicleExamine> createQueryWrapper(ScmVehicleExamineQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -179,7 +172,7 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
*/
public IPage<ScmVehicleExaminePageVo> selectCarInspectedList(PagerQuery<ScmVehicleExaminePageQuery> 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);
QueryWrapper<ScmVehicleExaminePageVo> qw = carInspectedQueryWrapper(pagerQuery.getParams());
IPage<ScmVehicleExaminePageVo> iPage = baseMapper.selectCarInspectedList(page, qw);
@ -562,154 +555,143 @@ 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("车辆检查表项目必须全部通过!");
}
String orgPath = dto.getOrgPath();
String orgName = "";
if(StringUtils.isBlank(orgPath)){
orgPath = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
}
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgPath);
if(sysOrganizationVoResultBean.getSuccess()){
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
orgName = sysOrganizationVo.getName();
}
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();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
// SysOrganizationVo data1 = sysOrganizationFeign.getUseOrgByUserSid(dto.getUserSid()).getData();
String s1 = "";
String s2 = "";
String type1 = "01"; //厂家验车照片
String type2 = "02"; //验车相关照片
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());//供应商编码
}
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(), "");
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(orgPath);
carWarehousingDto.setUseOrgName(orgName);
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("");
finPaymentrecordFeign.save(finPaymentrecordDto);
}
//车辆台账推送数据
BaseVehicleDto baseVehicleDto = new BaseVehicleDto();
baseVehicleDto.setVinNo(dto.getVin());
baseVehicleDto.setUseOrgSid(orgPath);
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("当前车辆已验车完成,请勿重复提交");
}
ScmFile scmFile2 = new ScmFile();
scmFile2.setAttachType("02");
scmFile2.setFileName("验车相关照片");
scmFile2.setFilePath(s2);
scmFile2.setLinkSid(dto.getInspectedSid());
scmFileService.save(scmFile2);
} else {
return rb.fail().setMsg("车辆检查表项目必须全部通过!");
}
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();
if (StringUtils.isBlank(orgPath)) {
if(StringUtils.isBlank(orgPath)){
orgPath = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
}
int count = baseMapper.getToDoNum(orgPath);

Loading…
Cancel
Save