Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 2 years ago
parent
commit
df6a7589b7
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java
  3. 17
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  4. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  5. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java
  6. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml
  7. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java
  8. 196
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java

@ -83,4 +83,8 @@ public interface BaseVehinstallFeign {
@GetMapping("/selectOne")
@ResponseBody
ResultBean<BaseVehinstall> selectOne(@RequestParam("vinNo")String vinNo,@RequestParam("useOrgSid")String useOrgSid);
@ApiOperation("上装出库")
@PostMapping("/vehinstallOut/{sid}")
ResultBean vehinstallOut(@PathVariable("sid") String sid);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java

@ -79,4 +79,9 @@ public class BaseVehinstallFeignFallback implements BaseVehinstallFeign {
public ResultBean<BaseVehinstall> selectOne(String vinNo, String useOrgSid) {
return null;
}
@Override
public ResultBean vehinstallOut(String sid) {
return null;
}
}

17
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java

@ -522,9 +522,9 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
baseVehicleOut.setTypeKey("003");
baseVehicleOut.setType("上装挂车");
String billNo = "";
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseTrailer.getUseOrgSid()).getData();
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "XSCKD" + sysOrganizationVo.getOrgCode() + date;
billNo = "XSCKD" + basePurchaseSystemDetailsVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
@ -546,7 +546,7 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
StringBuilder trailerModel = new StringBuilder();
trailerModel.append(trailerTypeValue).append("(").append("长").append(appearanceSizeLong).append("mm,").append("宽").append(appearanceSizeWide).append("mm,").append("高").append(appearanceSizeHigh).append("mm,").append("总高").append(appearanceSizeTotalHigh).append("mm").append(")");
baseVehicleOut.setTrailerOrInstall(trailerModel.toString());
baseVehicleOut.setTrailerOrInstallDealPrice(baseTrailerModel.getSaleGuidancePrice());
baseVehicleOut.setTrailerOrInstallDealPrice(baseTrailer.getSettlementPrice().toString());
//备注
String remarks1 = createRemarks(baseVehicleOut);
String remarks2 = baseVehicleOut.getRemarks();
@ -639,17 +639,12 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
//日期
salOutStock.setFDate(DateUtil.today());
//分公司id
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicleOut.getOrgSid()).getData();
if (data != null) {
salOutStock.setFSaleOrgId(data.getOrgCode());
} else {
salOutStock.setFSaleOrgId(baseVehicle.getOrgCode());
}
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode());
//客户
salOutStock.setFCustomerID(baseVehicleOut.getCwCustomerNo());
//销售部门id
String orgDeptSid = baseVehicleOut.getOrgSid();
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid);
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(baseVehicle.getPurchaseSystemSid());
if (resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean.getData();
if (vo != null) {

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -389,8 +389,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
//客户
salOutStock.setFCustomerID(dto.getCwCustomerNo());
//销售部门id
String orgDeptSid = dto.getOrgSid();
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid);
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(purchaseSystemSid);
if (resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean.getData();
if (vo != null) {

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java

@ -72,4 +72,6 @@ public interface BaseVehinstallMapper extends BaseMapper<BaseVehinstall> {
BaseVehinstall seletByVinAndUseOrg(@Param("vinNo") String vinNo, @Param("useOrgSid") String useOrgSid);
int selectNumGCRK(String bill);
String selectNum(String billNo);
}

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml

@ -57,4 +57,12 @@
from base_vehinstall
where billNo LIKE concat(#{bill}, '%')
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from base_vehicle_out_apply
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
</mapper>

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java

@ -290,4 +290,9 @@ public class BaseVehinstallRest implements BaseVehinstallFeign {
public ResultBean<BaseVehinstall> selectOne(String vinNo, String useOrgSid) {
return baseVehinstallService.selectOne(vinNo, useOrgSid);
}
@Override
public ResultBean vehinstallOut(String sid) {
return baseVehinstallService.vehinstallOut(sid);
}
}

196
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java

@ -26,15 +26,31 @@
package com.yxt.anrui.base.biz.basevehinstall;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailer;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModel;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOut;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsVo;
import com.yxt.anrui.base.api.basevehicleoutapply.BaseVehicleOutApply;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodel;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo;
import com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemService;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.basevehicleout.BaseVehicleOutService;
import com.yxt.anrui.base.biz.basevehicleoutapply.BaseVehicleOutApplyService;
import com.yxt.anrui.base.biz.basevehinstallmodel.BaseVehinstallmodelService;
import com.yxt.anrui.base.biz.basevehmodelconfig.BaseVehmodelConfigService;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -51,6 +67,10 @@ import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -75,6 +95,17 @@ public class BaseVehinstallService extends MybatisBaseService<BaseVehinstallMapp
private BaseVehicleService baseVehicleService;
@Autowired
private BaseVehmodelConfigService baseVehmodelConfigService;
@Autowired
private BaseVehicleOutService baseVehicleOutService;
@Autowired
private BasePurchaseSystemService basePurchaseSystemService;
@Autowired
private BaseVehicleOutApplyService baseVehicleOutApplyService;
@Resource
private FinKingDeeFeign finKingDeeFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
private QueryWrapper<BaseVehinstall> createQueryWrapper(BaseVehinstallQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -228,4 +259,169 @@ public class BaseVehinstallService extends MybatisBaseService<BaseVehinstallMapp
public int selectNumGCRK(String bill) {
return baseMapper.selectNumGCRK(bill);
}
public ResultBean vehinstallOut(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseVehinstall baseVehinstall = fetchBySid(sid);
if (baseVehinstall.getVehicleStateKey().equals("0002")) {
return rb.setMsg("该挂车已出库");
}
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(baseVehinstall.getVinNo(),baseVehinstall.getCreateOrg());
String vehicleState = baseVehicle.getVehicleState();
if (!vehicleState.equals("0002")) {
return rb.setMsg("此主车车辆库存状态不是出库,请重新选择");
}
BaseVehicleOutDetailsVo baseVehicleOutDetailsVo = baseVehicleOutService.selByOrgSidAndVehSid(baseVehinstall.getCreateOrg(), baseVehicle.getSid());
BaseVehicleOut baseVehicleOut = new BaseVehicleOut();
BeanUtil.copyProperties(baseVehicleOutDetailsVo, baseVehicleOut, "sid");
baseVehicleOut.setTypeKey("003");
baseVehicleOut.setType("上装挂车");
String billNo = "";
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "XSCKD" + basePurchaseSystemDetailsVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
baseVehicleOut.setBillNo(billNo);
baseVehicleOut.setTrailerOrInstallMGroupCode("99.02");
baseVehicleOut.setTrailerOrInstallMGroupName("挂车");
baseVehicleOut.setTrailerOrInstallCode(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ");
baseVehicleOut.setSzOrGCSid(baseVehinstall.getSid());
baseVehicleOut.setTrailerOrInstallName("上装");
BaseVehinstallmodel baseVehinstallmodel = baseVehinstallmodelService.fetchBySid(baseVehinstall.getMainSid());
String wk_long = baseVehinstallmodel.getWk_long();
String wk_wide = baseVehinstallmodel.getWk_wide();
String wk_high = baseVehinstallmodel.getWk_high();
String installName = baseVehinstallmodel.getInstallNameValue();
StringBuilder vehinstallmodel = new StringBuilder();
vehinstallmodel.append(installName).append("(").append("长").append(wk_long).append("mm,").append("宽").append(wk_wide).append("mm,").append("高").append(wk_high).append("mm").append(")");
baseVehicleOut.setTrailerOrInstall(vehinstallmodel.toString());
baseVehicleOut.setTrailerOrInstallDealPrice(baseVehinstall.getGuidePrice());
//备注
String remarks1 = createRemarks(baseVehicleOut);
String remarks2 = baseVehicleOut.getRemarks();
String remarks3 = remarks2 + remarks1;
if ("null".equals(remarks3)) {
remarks3 = "";
}
baseVehicleOut.setRemarks(remarks3);
BaseVehicleOutApply baseVehicleOutApply = new BaseVehicleOutApply();
baseVehicleOutApply.setBillNo(billNo);
baseVehicleOutApply.setSaleDate(baseVehicleOut.getSaleDate());
baseVehicleOutApply.setCustomerSid(baseVehicleOut.getCustomerSid());
baseVehicleOutApply.setCustomerName(baseVehicleOut.getCustomerName());
baseVehicleOutApply.setMobile(baseVehicleOut.getMobile());
baseVehicleOutApply.setOrgSid(baseVehicleOut.getOrgSid());
baseVehicleOutApply.setOrgName(baseVehicleOut.getOrgName());
baseVehicleOutApply.setStaffSid(baseVehicleOut.getStaffSid());
baseVehicleOutApply.setStaffName(baseVehicleOut.getStaffName());
baseVehicleOutApply.setMakeListSid(baseVehicleOut.getCreateBySid());
baseVehicleOutApply.setMakeListName(baseVehicleOut.getCreateByName());
baseVehicleOutApply.setMakeListDate(DateUtil.format(new Date(), "yyyy-MM-dd"));
baseVehicleOutApply.setSaleTypeKey(baseVehicleOut.getTypeKey());
baseVehicleOutApply.setSaleTypeValue(baseVehicleOut.getType());
baseVehicleOutApply.setCreateOrgSid(baseVehicleOut.getCreateOrgSid());
baseVehicleOutApply.setCreateBySid(baseVehicleOut.getCreateBySid());
//保存车辆出库单主表
baseVehicleOutApplyService.save(baseVehicleOutApply);
//出库单子表关联主表sid
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid());
baseVehicleOut.setCreateBySid(baseVehicleOut.getCreateBySid());
baseVehicleOut.setCreateByName(baseVehicleOut.getCreateByName());
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey());
baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue());
//保存车辆出库单子表
baseVehicleOutService.save(baseVehicleOut);
//推送金蝶上装销售出库单
SalOutStock salOutStock = createSzOrGcSalOutStock(baseVehinstall, baseVehicle, baseVehicleOut);
finKingDeeFeign.draftSalOutStock(salOutStock);
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity();
for (SalOutStock.FEntity entity : fEntity) {
String substring = entity.getFMaterialID().substring(entity.getFMaterialID().length() - 1);
if ("Z".equals(substring)) {
baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode());
baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks());
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date()));
saveOrUpdate(baseVehinstall);
}
}
return rb.success();
}
private String createRemarks(BaseVehicleOut baseVehicleOut) {
String note = "";
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleOne())) {
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleTwo())) {
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyOne().toString())) {
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) {
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "," + baseVehicleOut.getMiddleTwo() + baseVehicleOut.getRebateMoneyTwo() + "。";
} else {
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。";
}
} else {
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) {
note = note + " 返利情况:" + baseVehicleOut.getMiddleTwo() + baseVehicleOut.getRebateMoneyTwo() + "。";
}
}
} else {
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyOne().toString())) {
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。";
}
}
} else {
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleTwo())) {
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) {
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。";
}
}
}
return note;
}
private SalOutStock createSzOrGcSalOutStock(BaseVehinstall baseVehinstall, BaseVehicle baseVehicle, BaseVehicleOut baseVehicleOut) {
SalOutStock salOutStock = new SalOutStock();
//单据编号
salOutStock.setFBillNo(baseVehicleOut.getBillNo());
//日期
salOutStock.setFDate(DateUtil.today());
//分公司id
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode());
//客户
salOutStock.setFCustomerID(baseVehicleOut.getCwCustomerNo());
//销售部门id
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(baseVehicle.getPurchaseSystemSid());
if (resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean.getData();
if (vo != null) {
salOutStock.setFSaleDeptID(vo.getOrgCode());
}
}
//项目类别key和项目类别type
salOutStock.setF_PAEZ_AssistantType("payType");
//销售类型-外采挂车映射
salOutStock.setF_PAEZ_AssistantKey("009");
//物料列表
List<SalOutStock.FEntity> fEntityList = new ArrayList<>();
SalOutStock.FEntity fEntity = new SalOutStock.FEntity();
//单价
fEntity.setFPrice(baseVehicleOut.getTrailerOrInstallDealPrice());
//物料编码
fEntity.setFMaterialID(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ");
//仓库id
fEntity.setFStockID(baseVehicle.getLocationCode());
fEntityList.add(fEntity);
if (fEntityList.size() > 0) {
salOutStock.setFEntity(fEntityList);
return salOutStock;
} else {
return null;
}
}
}
Loading…
Cancel
Save