|
|
@ -45,6 +45,7 @@ import com.yxt.anrui.as.biz.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRep |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairbillvech.AsBusrepairBillVechService; |
|
|
|
import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService; |
|
|
|
import com.yxt.anrui.as.biz.asserviceitem.AsServiceItemService; |
|
|
|
import com.yxt.anrui.as.biz.astechtitledetail.AsTechTitleDetailService; |
|
|
|
import com.yxt.anrui.as.biz.astrackbill.AsTrackBillService; |
|
|
|
import com.yxt.anrui.as.feign.crm.CrmCustomerTemp; |
|
|
|
import com.yxt.anrui.as.feign.crm.CrmCustomerTempFeign; |
|
|
@ -150,6 +151,9 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
private AsBillSettelApplyService asBillSettelApplyService; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillAitemspecService asBusrepairBillAitemspecService; |
|
|
|
@Autowired |
|
|
|
private AsTechTitleDetailService asTechTitleDetailService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 维修领料获取派工单 |
|
|
|
* |
|
|
@ -196,7 +200,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
BigDecimal ysMoney = finUncollectedReceivablesDetailedFeign.selYsByBillSid(sid).getData(); |
|
|
|
BigDecimal rkMoney = finSelectedReceivablesDetailedFeign.selRkByBillSid(sid).getData(); |
|
|
|
if (rkMoney.compareTo(ysMoney) < 0){ |
|
|
|
if (rkMoney.compareTo(ysMoney) < 0) { |
|
|
|
return rb.setMsg(asBusrepairBill.getBillNo() + "该维修单尚未收款,不能出厂!"); |
|
|
|
} |
|
|
|
} |
|
|
@ -721,7 +725,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
vo.setAitemVos(aitemVos); |
|
|
|
} |
|
|
|
List<AsBusrepairInventorybillDetail> goodsDetails = asBusrepairInventorybillDetailService.getGoodsDetailsByBillSid(sid); |
|
|
|
DecimalFormat df2 =new DecimalFormat("#.00"); |
|
|
|
DecimalFormat df2 = new DecimalFormat("#.00"); |
|
|
|
if (!goodsDetails.isEmpty()) { |
|
|
|
for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) { |
|
|
|
GoodsDetailsVo goodsDetailsVo = new GoodsDetailsVo(); |
|
|
@ -1067,7 +1071,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
if (StringUtils.isNotBlank(query.getIsInvoicing())) { |
|
|
|
qw.eq("i.isInvoicing", query.getIsInvoicing()); |
|
|
|
} |
|
|
|
qw.eq("b.outDoorState",2); |
|
|
|
qw.eq("b.outDoorState", 2); |
|
|
|
qw.orderByDesc("b.createTime"); |
|
|
|
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery); |
|
|
|
IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw); |
|
|
@ -1193,11 +1197,11 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
if (StringUtils.isNotBlank(query.getIsInvoicing())) { |
|
|
|
qw.eq("i.isInvoicing", query.getIsInvoicing()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getName())){ |
|
|
|
if (StringUtils.isNotBlank(query.getName())) { |
|
|
|
qw.and(wrapper -> wrapper.like("b.billNo", query.getName()).or().like("b.billType", query.getName()).or().like("b.subject", query.getName()).or().like("b.customerName", query.getName()).or().like("v.vinNo", query.getName()).or().like("v.vehMark", query.getName()).or().like("b.nodeName", query.getName())); |
|
|
|
} |
|
|
|
qw.eq("b.outDoorState",2); |
|
|
|
qw.eq("b.isOutFactory",0); |
|
|
|
qw.eq("b.outDoorState", 2); |
|
|
|
qw.eq("b.isOutFactory", 0); |
|
|
|
qw.orderByDesc("b.createTime"); |
|
|
|
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery); |
|
|
|
IPage<AsBusrepairBillVo> pagging = baseMapper.listPage(page, qw); |
|
|
@ -1438,6 +1442,54 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
String sid = dto.getSid(); |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
if (asBusrepairBill.getNodeCode() == 5) { |
|
|
|
//计算工时提成分配维修人员
|
|
|
|
List<AsBusrepairBillSitem> sitems = asBusrepairBillSitemService.fetchByBillSid(sid); |
|
|
|
if (sitems != null) { |
|
|
|
if (!sitems.isEmpty()) { |
|
|
|
for (AsBusrepairBillSitem sitem : sitems) { |
|
|
|
BigDecimal examineHourPrice = BigDecimal.ZERO; |
|
|
|
if (null != sitem.getExamineHourPrice()) { |
|
|
|
examineHourPrice = sitem.getExamineHourPrice(); |
|
|
|
} |
|
|
|
if (examineHourPrice.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
String billSid = sitem.getBillSid(); |
|
|
|
String serviceItemSid = sitem.getServiceItemSid(); |
|
|
|
List<AsBusrepairBillSitemRepairer> repairers = asBusrepairBillSitemRepairerService.fetchByBillSid(billSid, serviceItemSid); |
|
|
|
if (null != repairers) { |
|
|
|
if (!repairers.isEmpty()) { |
|
|
|
//查询权重之和
|
|
|
|
BigDecimal sum = BigDecimal.ZERO; |
|
|
|
Map<String, BigDecimal> map = new HashMap<>(); |
|
|
|
for (AsBusrepairBillSitemRepairer repairer : repairers) { |
|
|
|
String rSid = repairer.getSid(); |
|
|
|
String pSid = repairer.getRepairerSid(); |
|
|
|
BigDecimal weight = BigDecimal.ZERO; |
|
|
|
String w = asTechTitleDetailService.selWeightByUserSid(pSid); |
|
|
|
if (StringUtils.isNotBlank(w)) { |
|
|
|
weight = new BigDecimal(w); |
|
|
|
} |
|
|
|
sum = sum.add(weight); |
|
|
|
map.put(rSid,weight); |
|
|
|
} |
|
|
|
if (sum.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
if (map.size() > 0) { |
|
|
|
for (Map.Entry<String, BigDecimal> entry : map.entrySet()) { |
|
|
|
String mSid = entry.getKey(); |
|
|
|
BigDecimal mWeight = entry.getValue(); |
|
|
|
AsBusrepairBillSitemRepairer repairer = asBusrepairBillSitemRepairerService.fetchBySid(mSid); |
|
|
|
BigDecimal finalWeight = mWeight.divide(sum, 2, BigDecimal.ROUND_HALF_UP).multiply(examineHourPrice); |
|
|
|
repairer.setCommission(finalWeight); |
|
|
|
asBusrepairBillSitemRepairerService.updateById(repairer); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (asBusrepairBill.getSubject().equals("保内")) { |
|
|
|
if (asBusrepairBill.getOldIsReclaim() != 1) { |
|
|
|
return rb.setMsg("请先完成旧件入库,再进行操作!"); |
|
|
@ -2127,6 +2179,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
public void updateOutFactory(String sid) { |
|
|
|
baseMapper.updateOutFactory(sid); |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<GoodsReceiveVo> notConfirmList(PagerQuery<GoodsReceiveQuery> pagerQuery) { |
|
|
|
GoodsReceiveQuery query = pagerQuery.getParams(); |
|
|
|
QueryWrapper<AsBusrepairBill> qw = new QueryWrapper<>(); |
|
|
@ -2311,13 +2364,13 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
vo.setCaps(caps2); |
|
|
|
vo.setUserName(userName); |
|
|
|
vo.setNowDate(DateUtil.formatDate(new Date())); |
|
|
|
String path = createPrintInventoryPdf(vo,subject); |
|
|
|
String path = createPrintInventoryPdf(vo, subject); |
|
|
|
filePath = path; |
|
|
|
} |
|
|
|
return rb.success().setData(filePath); |
|
|
|
} |
|
|
|
|
|
|
|
private String createPrintInventoryPdf(RepairBillPdfVo vo,String subject) { |
|
|
|
private String createPrintInventoryPdf(RepairBillPdfVo vo, String subject) { |
|
|
|
String finalPath = ""; |
|
|
|
Map<String, Object> dataMap = new HashMap(); |
|
|
|
List<Map<String, Object>> list = new ArrayList<>(); |
|
|
@ -2356,9 +2409,9 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
String ftl = ""; |
|
|
|
|
|
|
|
if (subject.equals("保内")) { |
|
|
|
ftl = "ftl/baoneilingliao.ftl"; |
|
|
|
ftl = "ftl/baoneilingliao.ftl"; |
|
|
|
} else if (subject.equals("保外")) { |
|
|
|
ftl = "ftl/baowailingliao.ftl"; |
|
|
|
ftl = "ftl/baowailingliao.ftl"; |
|
|
|
} |
|
|
|
try { |
|
|
|
//获取模板
|
|
|
@ -2389,31 +2442,31 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
AsBusrepairBillVech asBusrepairBillVech = asBusrepairBillVechService.fetchByBillSid(sid); |
|
|
|
//分公司简称
|
|
|
|
map.put("orgName",asBusrepairBill.getCreateOrgName()); |
|
|
|
map.put("orgName", asBusrepairBill.getCreateOrgName()); |
|
|
|
//日期
|
|
|
|
map.put("date",DateUtil.formatDate(new Date())); |
|
|
|
map.put("date", DateUtil.formatDate(new Date())); |
|
|
|
//科目
|
|
|
|
map.put("km",asBusrepairBill.getSubject()); |
|
|
|
map.put("km", asBusrepairBill.getSubject()); |
|
|
|
//维修单号
|
|
|
|
map.put("billNo",asBusrepairBill.getBillNo()); |
|
|
|
map.put("billNo", asBusrepairBill.getBillNo()); |
|
|
|
//客户名称
|
|
|
|
map.put("custName",asBusrepairBill.getCustomerName()); |
|
|
|
map.put("custName", asBusrepairBill.getCustomerName()); |
|
|
|
//车型
|
|
|
|
map.put("modelName",asBusrepairBillVech.getVehModel()); |
|
|
|
map.put("modelName", asBusrepairBillVech.getVehModel()); |
|
|
|
//车牌号
|
|
|
|
map.put("vehMark",asBusrepairBillVech.getVehMark()); |
|
|
|
map.put("vehMark", asBusrepairBillVech.getVehMark()); |
|
|
|
//车架号
|
|
|
|
map.put("vinNo",asBusrepairBillVech.getVinNo()); |
|
|
|
map.put("vinNo", asBusrepairBillVech.getVinNo()); |
|
|
|
//出门原因
|
|
|
|
map.put("cmyy","维修完毕"); |
|
|
|
map.put("cmyy", "维修完毕"); |
|
|
|
//业务经办人
|
|
|
|
map.put("ywjbr",asBusrepairBill.getWaitorName()); |
|
|
|
map.put("ywjbr", asBusrepairBill.getWaitorName()); |
|
|
|
//财务经办人
|
|
|
|
map.put("cwjbr",""); |
|
|
|
map.put("cwjbr", ""); |
|
|
|
//提车人
|
|
|
|
map.put("tcr",""); |
|
|
|
map.put("tcr", ""); |
|
|
|
//出门签章
|
|
|
|
map.put("cmqz",""); |
|
|
|
map.put("cmqz", ""); |
|
|
|
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + "cmz" + ".ftl"); |
|
|
|
//生成word文件名
|
|
|
|
String targetPath = docPdfComponent.getUploadTemplateUrl(); |
|
|
@ -2440,37 +2493,37 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
privilegeQuery.setUserSid(query.getUserSid()); |
|
|
|
privilegeQuery.setMenuSid(query.getMenuSid()); |
|
|
|
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); |
|
|
|
if (com.yxt.common.base.utils.StringUtils.isNotBlank(defaultIdReltBean.getData())) { |
|
|
|
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
|
|
|
|
String orgSidPath = query.getOrgPath(); |
|
|
|
orgSidPath = orgSidPath + "/"; |
|
|
|
int i1 = orgSidPath.indexOf("/"); |
|
|
|
int i2 = orgSidPath.indexOf("/", i1 + 1); |
|
|
|
int i3 = orgSidPath.indexOf("/", i2 + 1); |
|
|
|
int i4 = orgSidPath.indexOf("/", i3 + 1); |
|
|
|
String orgLevelKey = defaultIdReltBean.getData(); |
|
|
|
if ("1".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i1); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("2".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i2); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("3".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i3); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("4".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i4); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("5".equals(orgLevelKey)) { |
|
|
|
if (com.yxt.common.base.utils.StringUtils.isNotBlank(defaultIdReltBean.getData())) { |
|
|
|
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
|
|
|
|
String orgSidPath = query.getOrgPath(); |
|
|
|
orgSidPath = orgSidPath + "/"; |
|
|
|
int i1 = orgSidPath.indexOf("/"); |
|
|
|
int i2 = orgSidPath.indexOf("/", i1 + 1); |
|
|
|
int i3 = orgSidPath.indexOf("/", i2 + 1); |
|
|
|
int i4 = orgSidPath.indexOf("/", i3 + 1); |
|
|
|
String orgLevelKey = defaultIdReltBean.getData(); |
|
|
|
if ("1".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i1); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("2".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i2); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("3".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i3); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("4".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i4); |
|
|
|
qw.like("s.orgSidPath", orgSidPath); |
|
|
|
} else if ("5".equals(orgLevelKey)) { |
|
|
|
qw.eq("a.createBySid", query.getUserSid()); |
|
|
|
} else { |
|
|
|
PagerVo<AppBusrepairBillVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} else { |
|
|
|
PagerVo<AppBusrepairBillVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} else { |
|
|
|
PagerVo<AppBusrepairBillVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getName())) { |
|
|
|
qw.and(wrapper -> wrapper.like("a.billNo", query.getName()) |
|
|
|
.or().like("a.billType", query.getName()) |
|
|
@ -2481,7 +2534,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
.or().like("a.nodeName", query.getName()) |
|
|
|
); |
|
|
|
} |
|
|
|
qw.eq("a.isDelete",0); |
|
|
|
qw.eq("a.isDelete", 0); |
|
|
|
qw.orderByDesc("a.id"); |
|
|
|
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<AppBusrepairBillVo> pagging = baseMapper.appRepairs(page, qw); |
|
|
|