|
|
@ -1,12 +1,36 @@ |
|
|
|
package com.yxt.anrui.as.biz.asbusrepairbill; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateTime; |
|
|
|
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.as.api.asbusrepairbill.AsBusrepairBill; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBillListQuery; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBillListVo; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbill.*; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillinsurance.AsBusrepairBillInsurance; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillinvoice.AsBusrepairBillInvoice; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillnode.AsBusrepairBillNode; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillnode.AsBusrepairBillNodeDto; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillother.AsBusrepairBillOther; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillsitem.AsBusrepairBillSitem; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRepairer; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairbillvech.AsBusrepairBillVech; |
|
|
|
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail; |
|
|
|
import com.yxt.anrui.as.api.enums.AsBillTypeEnum; |
|
|
|
import com.yxt.anrui.as.api.utils.AsRule; |
|
|
|
import com.yxt.anrui.as.api.utils.domain.AsBillNo; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillaitem.AsBusrepairBillAitemService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillinsurance.AsBusrepairBillInsuranceService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillinvoice.AsBusrepairBillInvoiceService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillnode.AsBusrepairBillNodeService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillother.AsBusrepairBillOtherService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillsitem.AsBusrepairBillSitemService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRepairerService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillvech.AsBusrepairBillVechService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService; |
|
|
|
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
@ -15,8 +39,14 @@ import com.yxt.common.core.vo.PagerVo; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
|
* @description: |
|
|
@ -28,6 +58,26 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillNodeService asBusrepairBillNodeService; |
|
|
|
@Resource |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Resource |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillVechService asBusrepairBillVechService; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillInsuranceService asBusrepairBillInsuranceService; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillInvoiceService asBusrepairBillInvoiceService; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillOtherService asBusrepairBillOtherService; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillSitemService asBusrepairBillSitemService; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillSitemRepairerService asBusrepairBillSitemRepairerService; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillAitemService asBusrepairBillAitemService; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairInventorybillDetailService asBusrepairInventorybillDetailService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 维修领料获取派工单 |
|
|
@ -72,4 +122,351 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
asBusrepairBillNodeDto.setNodeCode("6"); |
|
|
|
asBusrepairBillNodeService.saveOrUpdateDto(asBusrepairBillNodeDto); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 生成单据编号 |
|
|
|
* |
|
|
|
* @param orgSid |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public String getApplyCode(String orgSid) { |
|
|
|
//获取分公司sid
|
|
|
|
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); |
|
|
|
String orgCode = resultBean1.getData().getOrgCode(); |
|
|
|
AsBillNo b = new AsBillNo(); |
|
|
|
b.setOrgCode(orgCode); |
|
|
|
b.setBillType(AsBillTypeEnum.WXGD.getBillType()); |
|
|
|
String bill = AsRule.getBill(b); |
|
|
|
int i = baseMapper.selectNum(bill); |
|
|
|
String billNo = AsRule.getBillNo(bill, i); |
|
|
|
return billNo; |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean<String> saveBill(AsBusrepairBillDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = ""; |
|
|
|
if (StringUtils.isNotBlank(dto.getSid())) { |
|
|
|
sid = dto.getSid(); |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
BeanUtil.copyProperties(dto, asBusrepairBill, "id", "sid"); |
|
|
|
baseMapper.updateById(asBusrepairBill); |
|
|
|
asBusrepairBillVechService.delByBillSid(sid); |
|
|
|
asBusrepairBillInsuranceService.delByBillSid(sid); |
|
|
|
asBusrepairBillInvoiceService.delByBillSid(sid); |
|
|
|
asBusrepairBillOtherService.delByBillSid(sid); |
|
|
|
asBusrepairBillSitemService.delByBillSid(sid); |
|
|
|
asBusrepairBillSitemRepairerService.delByBillSid(sid); |
|
|
|
asBusrepairBillAitemService.delByBillSid(sid); |
|
|
|
} else { |
|
|
|
AsBusrepairBill asBusrepairBill = new AsBusrepairBill(); |
|
|
|
sid = asBusrepairBill.getSid(); |
|
|
|
BeanUtil.copyProperties(dto, asBusrepairBill, "id", "sid"); |
|
|
|
String orgPath = dto.getOrgPath(); |
|
|
|
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); |
|
|
|
if (orgSidByPath.getSuccess()) { |
|
|
|
asBusrepairBill.setUseOrgSid(orgSidByPath.getData()); |
|
|
|
asBusrepairBill.setCreateOrgSid(orgSidByPath.getData()); |
|
|
|
String applyCode = getApplyCode(orgSidByPath.getData()); |
|
|
|
asBusrepairBill.setBillNo(applyCode); |
|
|
|
} |
|
|
|
asBusrepairBill.setNodeCode(1); |
|
|
|
asBusrepairBill.setNodeName("登记"); |
|
|
|
asBusrepairBill.setNodeTime(new DateTime()); |
|
|
|
asBusrepairBill.setOutDoorState("0");//设置未出厂
|
|
|
|
baseMapper.insert(asBusrepairBill); |
|
|
|
//新增工单环节信息
|
|
|
|
AsBusrepairBillNode billNode = new AsBusrepairBillNode(); |
|
|
|
billNode.setBillSid(sid); |
|
|
|
billNode.setCreateByName(dto.getOperator()); |
|
|
|
billNode.setNodeName("登记"); |
|
|
|
billNode.setNodeCode("1"); |
|
|
|
asBusrepairBillNodeService.insert(billNode); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(sid)) { |
|
|
|
//新增车辆信息
|
|
|
|
AsBusrepairBillVech vech = new AsBusrepairBillVech(); |
|
|
|
vech.setBillSid(sid); |
|
|
|
if (StringUtils.isNotBlank(dto.getVehMark())) { |
|
|
|
vech.setVehMark(dto.getVehMark()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getVinNo())) { |
|
|
|
vech.setVinNo(dto.getVinNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getVehModel())) { |
|
|
|
vech.setVehModel(dto.getVehModel()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getMileage())) { |
|
|
|
vech.setMileage(Integer.parseInt(dto.getMileage())); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getOil())) { |
|
|
|
vech.setOil(dto.getOil()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getCurrentMileage())) { |
|
|
|
vech.setCurrentMileage(Integer.parseInt(dto.getCurrentMileage())); |
|
|
|
} |
|
|
|
asBusrepairBillVechService.insert(vech); |
|
|
|
//发票信息
|
|
|
|
if (null != dto.getInvoiceVo()) { |
|
|
|
AsBusrepairBillInvoice invoice = new AsBusrepairBillInvoice(); |
|
|
|
BeanUtil.copyProperties(dto.getInvoiceVo(), invoice, "id", "sid"); |
|
|
|
invoice.setBillSid(sid); |
|
|
|
asBusrepairBillInvoiceService.insert(invoice); |
|
|
|
} |
|
|
|
//保险信息
|
|
|
|
if (null != dto.getInsuranceVo()) { |
|
|
|
AsBusrepairBillInsurance insurance = new AsBusrepairBillInsurance(); |
|
|
|
BeanUtil.copyProperties(dto.getInsuranceVo(), insurance, "id", "sid"); |
|
|
|
insurance.setBillSid(sid); |
|
|
|
asBusrepairBillInsuranceService.insert(insurance); |
|
|
|
} |
|
|
|
//送修人信息
|
|
|
|
if (null != dto.getOtherVo()) { |
|
|
|
AsBusrepairBillOther other = new AsBusrepairBillOther(); |
|
|
|
BeanUtil.copyProperties(dto.getOtherVo(), other, "id", "sid"); |
|
|
|
other.setBillSid(sid); |
|
|
|
asBusrepairBillOtherService.insert(other); |
|
|
|
} |
|
|
|
//服务项目
|
|
|
|
if (!dto.getSitemVos().isEmpty()) { |
|
|
|
List<SitemVo> sitemVos = dto.getSitemVos(); |
|
|
|
for (SitemVo sitemVo : sitemVos) { |
|
|
|
AsBusrepairBillSitem sitem = new AsBusrepairBillSitem(); |
|
|
|
BeanUtil.copyProperties(sitemVo, sitem, "id", "sid"); |
|
|
|
sitem.setBillSid(sid); |
|
|
|
asBusrepairBillSitemService.insert(sitem); |
|
|
|
AsBusrepairBillSitemRepairer repairer = new AsBusrepairBillSitemRepairer(); |
|
|
|
BeanUtil.copyProperties(sitemVo, repairer, "id", "sid"); |
|
|
|
repairer.setBillSid(sid); |
|
|
|
if (StringUtils.isNotBlank(sitemVo.getServiceItemSid())) { |
|
|
|
repairer.setRepairitemSid(sitemVo.getServiceItemSid()); |
|
|
|
} |
|
|
|
asBusrepairBillSitemRepairerService.insert(repairer); |
|
|
|
} |
|
|
|
} |
|
|
|
//附加项目
|
|
|
|
if (!dto.getAitemVos().isEmpty()) { |
|
|
|
List<AitemVo> aitemVos = dto.getAitemVos(); |
|
|
|
for (AitemVo aitemVo : aitemVos) { |
|
|
|
AsBusrepairBillAitem aitem = new AsBusrepairBillAitem(); |
|
|
|
if (StringUtils.isNotBlank(aitemVo.getAitemsid())) { |
|
|
|
aitem.setAttachItemSid(aitemVo.getAitemsid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(aitemVo.getAitemName())) { |
|
|
|
aitem.setAttachItem(aitemVo.getAitemName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(aitemVo.getPrice())) { |
|
|
|
aitem.setPrice(new BigDecimal(aitemVo.getPrice())); |
|
|
|
} |
|
|
|
aitem.setBillSid(sid); |
|
|
|
asBusrepairBillAitemService.insert(aitem); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(sid); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean deleteBySids(String[] sids) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//查询该sid中是否有不是登记状态的
|
|
|
|
int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); |
|
|
|
if (count > 0) { |
|
|
|
return rb.setMsg("删除的数据中包含不是登记状态的数据,删除失败"); |
|
|
|
} |
|
|
|
delBySids(sids); |
|
|
|
for (String sid : sids) { |
|
|
|
asBusrepairBillVechService.delByBillSid(sid); |
|
|
|
asBusrepairBillInsuranceService.delByBillSid(sid); |
|
|
|
asBusrepairBillInvoiceService.delByBillSid(sid); |
|
|
|
asBusrepairBillOtherService.delByBillSid(sid); |
|
|
|
asBusrepairBillSitemService.delByBillSid(sid); |
|
|
|
asBusrepairBillSitemRepairerService.delByBillSid(sid); |
|
|
|
asBusrepairBillAitemService.delByBillSid(sid); |
|
|
|
asBusrepairBillNodeService.delByBillSid(sid); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<AsBusrepairBillDetailsVo> fetchDetailsBySid(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
AsBusrepairBillDetailsVo vo = new AsBusrepairBillDetailsVo(); |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
if (null != asBusrepairBill) { |
|
|
|
BeanUtil.copyProperties(asBusrepairBill, vo); |
|
|
|
if (null != asBusrepairBill.getEntryTime()) { |
|
|
|
vo.setEntryTime(sdf.format(asBusrepairBill.getEntryTime())); |
|
|
|
} |
|
|
|
if (null != asBusrepairBill.getEstimatedFinishTime()) { |
|
|
|
vo.setEstimatedFinishTime(sdf.format(asBusrepairBill.getEstimatedFinishTime())); |
|
|
|
} |
|
|
|
if (null != asBusrepairBill.getNodeTime()) { |
|
|
|
vo.setNodeTime(sdf.format(asBusrepairBill.getNodeTime())); |
|
|
|
} |
|
|
|
AsBusrepairBillVech vech = asBusrepairBillVechService.fetchByBillSid(sid); |
|
|
|
if (null != vech) { |
|
|
|
if (StringUtils.isNotBlank(vech.getVehMark())) { |
|
|
|
vo.setVehMark(vech.getVehMark()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(vech.getVinNo())) { |
|
|
|
vo.setVinNo(vech.getVinNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(vech.getVehModel())) { |
|
|
|
vo.setVehModel(vech.getVehModel()); |
|
|
|
} |
|
|
|
if (null != vech.getMileage()) { |
|
|
|
vo.setMileage(vech.getMileage().toString()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(vech.getOil())) { |
|
|
|
vo.setOil(vech.getOil()); |
|
|
|
} |
|
|
|
if (null != vech.getCurrentMileage()) { |
|
|
|
vo.setCurrentMileage(vech.getCurrentMileage().toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
InvoiceVo invoiceVo = new InvoiceVo(); //发票信息
|
|
|
|
InsuranceVo insuranceVo = new InsuranceVo();//保险信息
|
|
|
|
OtherVo otherVo = new OtherVo();//送修人信息
|
|
|
|
List<SitemVo> sitemVos = new ArrayList<>();// 服务项目
|
|
|
|
List<AitemVo> aitemVos = new ArrayList<>();// 附加项目
|
|
|
|
List<GoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
|
|
|
|
AsBusrepairBillInvoice invoice = asBusrepairBillInvoiceService.fetchByBillSid(sid); |
|
|
|
if (null != invoice) { |
|
|
|
BeanUtil.copyProperties(invoice, invoiceVo); |
|
|
|
vo.setInvoiceVo(invoiceVo); |
|
|
|
} |
|
|
|
AsBusrepairBillInsurance insurance = asBusrepairBillInsuranceService.fetchByBillSid(sid); |
|
|
|
if (null != insurance) { |
|
|
|
BeanUtil.copyProperties(insurance, insuranceVo); |
|
|
|
{ |
|
|
|
vo.setInsuranceVo(insuranceVo); |
|
|
|
} |
|
|
|
} |
|
|
|
AsBusrepairBillOther other = asBusrepairBillOtherService.fetchByBillSid(sid); |
|
|
|
if (null != other) { |
|
|
|
BeanUtil.copyProperties(other, otherVo); |
|
|
|
vo.setOtherVo(otherVo); |
|
|
|
} |
|
|
|
List<AsBusrepairBillSitem> sitems = asBusrepairBillSitemService.fetchByBillSid(sid); |
|
|
|
if (!sitems.isEmpty()) { |
|
|
|
for (AsBusrepairBillSitem sitem : sitems) { |
|
|
|
SitemVo sitemVo = new SitemVo(); |
|
|
|
BeanUtil.copyProperties(sitem, sitemVo); |
|
|
|
AsBusrepairBillSitemRepairer repairer = asBusrepairBillSitemRepairerService.fetchByBillSid(sid, sitem.getServiceItemSid()); |
|
|
|
if (null != repairer) { |
|
|
|
BeanUtil.copyProperties(repairer, sitemVo); |
|
|
|
} |
|
|
|
sitemVos.add(sitemVo); |
|
|
|
} |
|
|
|
vo.setSitemVos(sitemVos); |
|
|
|
} |
|
|
|
List<AsBusrepairBillAitem> aitems = asBusrepairBillAitemService.fetchByBillSid(sid); |
|
|
|
if (!sitems.isEmpty()) { |
|
|
|
for (AsBusrepairBillAitem aitem : aitems) { |
|
|
|
AitemVo aitemVo = new AitemVo(); |
|
|
|
if (StringUtils.isNotBlank(aitem.getAttachItemSid())) { |
|
|
|
aitemVo.setAitemsid(aitem.getAttachItemSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(aitem.getAttachItem())) { |
|
|
|
aitemVo.setAitemName(aitem.getAttachItem()); |
|
|
|
} |
|
|
|
if (null != aitem.getPrice()) { |
|
|
|
aitemVo.setPrice(aitem.getPrice().toString()); |
|
|
|
} |
|
|
|
aitemVos.add(aitemVo); |
|
|
|
} |
|
|
|
vo.setAitemVos(aitemVos); |
|
|
|
} |
|
|
|
List<AsBusrepairInventorybillDetail> goodsDetails = asBusrepairInventorybillDetailService.getDetailsByBillSid(sid); |
|
|
|
if (!goodsDetails.isEmpty()) { |
|
|
|
for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) { |
|
|
|
GoodsDetailsVo goodsDetailsVo = new GoodsDetailsVo(); |
|
|
|
BeanUtil.copyProperties(goodsDetail, goodsDetailsVo); |
|
|
|
goodsDetailsVos.add(goodsDetailsVo); |
|
|
|
} |
|
|
|
vo.setGoodsDetailsVos(goodsDetailsVos); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(vo); |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<AsBusrepairBillVo> listPage(PagerQuery<AsBusrepairBillQuery> pagerQuery) { |
|
|
|
AsBusrepairBillQuery query = pagerQuery.getParams(); |
|
|
|
QueryWrapper<AsBusrepairBill> qw = new QueryWrapper<>(); |
|
|
|
if (query != null) { |
|
|
|
String orgPath = query.getOrgPath(); |
|
|
|
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); |
|
|
|
if (orgSidByPath.getSuccess()) { |
|
|
|
qw.eq("b.createOrgSid", orgSidByPath.getData()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getNodeCode())) { |
|
|
|
qw.eq("b.nodeCode", query.getNodeCode()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getBillType())) { |
|
|
|
qw.eq("b.billType", query.getBillType()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getCustomerName())) { |
|
|
|
qw.like("b.customerName", query.getCustomerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getVehMark())) { |
|
|
|
qw.like("v.vehMark", query.getVehMark()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())) { |
|
|
|
qw.like("v.vinNo", query.getVinNo()); |
|
|
|
} |
|
|
|
String startDate = query.getStartTime(); |
|
|
|
String endDate = query.getEndTime(); |
|
|
|
qw.apply(StringUtils.isNotEmpty(startDate), "date_format (b.createTime,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotEmpty(endDate), "date_format (b.createTime,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
qw.eq("1", "1"); |
|
|
|
qw.orderByDesc("b.createTime"); |
|
|
|
} |
|
|
|
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery); |
|
|
|
IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw); |
|
|
|
PagerVo<AsBusrepairBillVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> submitNextNode(AsBusrepairBillDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
if (StringUtils.isNotBlank(dto.getSid())) { |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(dto.getSid()); |
|
|
|
if (asBusrepairBill.getNodeCode() > 4) { |
|
|
|
return rb.setMsg("当前已完成竣工环节,无需提交"); |
|
|
|
} |
|
|
|
} |
|
|
|
ResultBean<String> resultBean = saveBill(dto); |
|
|
|
if (resultBean.getSuccess()) { |
|
|
|
String sid = resultBean.getData(); |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
Integer nodeCode = null; |
|
|
|
String nodeName = ""; |
|
|
|
if (asBusrepairBill.getNodeCode() == 1) { |
|
|
|
nodeCode = 2; |
|
|
|
nodeName = "派工"; |
|
|
|
} else if (asBusrepairBill.getNodeCode() == 2) { |
|
|
|
nodeCode = 3; |
|
|
|
nodeName = "维修"; |
|
|
|
} else if (asBusrepairBill.getNodeCode() == 3) { |
|
|
|
nodeCode = 4; |
|
|
|
nodeName = "竣工"; |
|
|
|
} else if (asBusrepairBill.getNodeCode() == 4) { |
|
|
|
nodeCode = 5; |
|
|
|
nodeName = "结算"; |
|
|
|
} |
|
|
|
asBusrepairBill.setNodeCode(nodeCode); |
|
|
|
asBusrepairBill.setNodeName(nodeName); |
|
|
|
asBusrepairBill.setNodeTime(new DateTime()); |
|
|
|
baseMapper.updateById(asBusrepairBill); |
|
|
|
//新增工单环节信息
|
|
|
|
AsBusrepairBillNode billNode = new AsBusrepairBillNode(); |
|
|
|
billNode.setBillSid(sid); |
|
|
|
billNode.setCreateByName(dto.getOperator()); |
|
|
|
billNode.setNodeName(nodeName); |
|
|
|
billNode.setNodeCode(nodeCode.toString()); |
|
|
|
asBusrepairBillNodeService.insert(billNode); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |
|
|
|