|
|
@ -28,9 +28,14 @@ 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.fms.FmsReceivesettle; |
|
|
|
import com.yxt.anrui.as.feign.fms.FmsReceivesettleDto; |
|
|
|
import com.yxt.anrui.as.feign.fms.FmsReceivesettleFeign; |
|
|
|
import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery; |
|
|
|
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.anrui.as.feign.portal.sysuser.SysUserFeign; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
@ -47,6 +52,7 @@ import java.text.SimpleDateFormat; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Objects; |
|
|
|
|
|
|
|
/** |
|
|
|
* @description: |
|
|
@ -56,6 +62,10 @@ import java.util.List; |
|
|
|
@Service |
|
|
|
public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMapper, AsBusrepairBill> { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
|
private FmsReceivesettleFeign fmsReceivesettleFeign; |
|
|
|
@Autowired |
|
|
|
private AsBusrepairBillNodeService asBusrepairBillNodeService; |
|
|
|
@Resource |
|
|
@ -163,10 +173,14 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
sid = asBusrepairBill.getSid(); |
|
|
|
BeanUtil.copyProperties(dto, asBusrepairBill, "id", "sid"); |
|
|
|
String orgPath = dto.getOrgPath(); |
|
|
|
asBusrepairBill.setOrgSidPath(orgPath); |
|
|
|
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); |
|
|
|
if (orgSidByPath.getSuccess()) { |
|
|
|
asBusrepairBill.setUseOrgSid(orgSidByPath.getData()); |
|
|
|
asBusrepairBill.setCreateOrgSid(orgSidByPath.getData()); |
|
|
|
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(orgSidByPath.getData()).getData(); |
|
|
|
asBusrepairBill.setUseOrgName(organizationVo.getName()); |
|
|
|
asBusrepairBill.setCreateOrgName(organizationVo.getName()); |
|
|
|
String applyCode = getApplyCode(orgSidByPath.getData()); |
|
|
|
asBusrepairBill.setBillNo(applyCode); |
|
|
|
} |
|
|
@ -181,6 +195,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
billNode.setCreateByName(dto.getOperator()); |
|
|
|
billNode.setNodeName("登记"); |
|
|
|
billNode.setNodeCode("1"); |
|
|
|
billNode.setCreateBySid(dto.getOperatorSid()); |
|
|
|
asBusrepairBillNodeService.insert(billNode); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(sid)) { |
|
|
@ -294,6 +309,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
if (null != asBusrepairBill) { |
|
|
|
BeanUtil.copyProperties(asBusrepairBill, vo); |
|
|
|
vo.setOrgPath(asBusrepairBill.getOrgSidPath()); |
|
|
|
if (null != asBusrepairBill.getEntryTime()) { |
|
|
|
vo.setEntryTime(sdf.format(asBusrepairBill.getEntryTime())); |
|
|
|
} |
|
|
@ -386,6 +402,13 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
} |
|
|
|
vo.setGoodsDetailsVos(goodsDetailsVos); |
|
|
|
} |
|
|
|
FmsReceivesettle receivesettle = fmsReceivesettleFeign.fetchBySourceSid(sid).getData(); |
|
|
|
if (null != receivesettle) { |
|
|
|
vo.setShowReSettleBtn(true); |
|
|
|
SettleVo settleVo = new SettleVo(); //结算信息
|
|
|
|
BeanUtil.copyProperties(receivesettle, settleVo); |
|
|
|
vo.setSettleVo(settleVo); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(vo); |
|
|
|
} |
|
|
@ -393,35 +416,107 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
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.getMenuUrl())) { |
|
|
|
PrivilegeQuery privilegeQuery = new PrivilegeQuery(); |
|
|
|
privilegeQuery.setOrgPath(query.getOrgPath()); |
|
|
|
privilegeQuery.setMenuUrl(query.getMenuUrl()); |
|
|
|
privilegeQuery.setUserSid(query.getUserSid()); |
|
|
|
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); |
|
|
|
if (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("b.orgSidPath", orgSidPath); |
|
|
|
} else if ("2".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i2); |
|
|
|
qw.like("b.orgSidPath", orgSidPath); |
|
|
|
} else if ("3".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i3); |
|
|
|
qw.like("b.orgSidPath", orgSidPath); |
|
|
|
} else if ("4".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i4); |
|
|
|
qw.like("b.orgSidPath", orgSidPath); |
|
|
|
} else if ("5".equals(orgLevelKey)) { |
|
|
|
qw.eq("b.createBySid", query.getUserSid()); |
|
|
|
} else { |
|
|
|
PagerVo<AsBusrepairBillVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getNodeCode())) { |
|
|
|
qw.eq("b.nodeCode", query.getNodeCode()); |
|
|
|
} else { |
|
|
|
PagerVo<AsBusrepairBillVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getUseOrgName())) { |
|
|
|
qw.like("b.useOrgName", query.getUseOrgName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getDept())) { |
|
|
|
qw.like("b.dept", query.getDept()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getCreateByName())) { |
|
|
|
qw.like("b.createByName", query.getCreateByName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getBillNo())) { |
|
|
|
qw.like("b.billNo", query.getBillNo()); |
|
|
|
} |
|
|
|
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')" |
|
|
|
); |
|
|
|
if (StringUtils.isNotBlank(query.getBillType())) { |
|
|
|
qw.eq("b.billType", query.getBillType()); |
|
|
|
} |
|
|
|
String entryStartTime = query.getEntryStartTime(); |
|
|
|
String entryEndTime = query.getEntryEndTime(); |
|
|
|
qw.apply(StringUtils.isNotEmpty(entryStartTime), "date_format (b.entryTime,'%Y-%m-%d') >= date_format('" + entryStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotEmpty(entryEndTime), "date_format (b.entryTime,'%Y-%m-%d') <= date_format('" + entryEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
String finishStartTime = query.getFinishStartTime(); |
|
|
|
String finishEndTime = query.getFinishEndTime(); |
|
|
|
qw.apply(StringUtils.isNotEmpty(finishStartTime), "date_format (b.estimatedFinishTime,'%Y-%m-%d') >= date_format('" + finishStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotEmpty(finishEndTime), "date_format (b.estimatedFinishTime,'%Y-%m-%d') <= date_format('" + finishEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
if (StringUtils.isNotBlank(query.getCustomerName())) { |
|
|
|
qw.like("b.customerName", query.getCustomerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getMobile())) { |
|
|
|
qw.like("b.mobile", query.getMobile()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getCustomerOrg())) { |
|
|
|
qw.like("b.customerOrg", query.getCustomerOrg()); |
|
|
|
} |
|
|
|
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')" |
|
|
|
); |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(query.getWaitorName())) { |
|
|
|
qw.like("b.waitorName", query.getWaitorName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getGroupName())) { |
|
|
|
qw.like("b.groupName", query.getGroupName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getMainRepairers())) { |
|
|
|
qw.like("b.mainRepairers", query.getMainRepairers()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getIsInvoicing())) { |
|
|
|
qw.eq("i.isInvoicing", query.getIsInvoicing()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getNodeCode())) { |
|
|
|
qw.eq("b.nodeCode", query.getNodeCode()); |
|
|
|
} |
|
|
|
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); |
|
|
@ -464,6 +559,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
billNode.setBillSid(sid); |
|
|
|
billNode.setCreateByName(dto.getOperator()); |
|
|
|
billNode.setNodeName(nodeName); |
|
|
|
billNode.setCreateBySid(dto.getOperatorSid()); |
|
|
|
billNode.setNodeCode(nodeCode.toString()); |
|
|
|
asBusrepairBillNodeService.insert(billNode); |
|
|
|
} |
|
|
@ -478,4 +574,58 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
public ResultBean<AsBusrepairPageVo> getOneByBillNo(String billNo) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> sureMaterialFee(AsBusrepairBillDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
if (asBusrepairBill.getNodeCode() == 5) { |
|
|
|
if (asBusrepairBill.getSubject().equals("保内")) { |
|
|
|
asBusrepairBill.setNodeCode(6); |
|
|
|
asBusrepairBill.setNodeName("出厂"); |
|
|
|
asBusrepairBill.setNodeTime(new DateTime()); |
|
|
|
baseMapper.updateById(asBusrepairBill); |
|
|
|
//新增工单环节信息
|
|
|
|
AsBusrepairBillNode billNode = new AsBusrepairBillNode(); |
|
|
|
billNode.setBillSid(sid); |
|
|
|
billNode.setCreateByName(dto.getOperator()); |
|
|
|
billNode.setNodeName("出厂"); |
|
|
|
billNode.setCreateBySid(dto.getOperatorSid()); |
|
|
|
billNode.setNodeCode("6"); |
|
|
|
asBusrepairBillNodeService.insert(billNode); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> settle(AsBusrepairBillDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
if (asBusrepairBill.getNodeCode() == 5) { |
|
|
|
asBusrepairBill.setNodeCode(6); |
|
|
|
asBusrepairBill.setNodeName("出厂"); |
|
|
|
asBusrepairBill.setNodeTime(new DateTime()); |
|
|
|
baseMapper.updateById(asBusrepairBill); |
|
|
|
//新增工单环节信息
|
|
|
|
AsBusrepairBillNode billNode = new AsBusrepairBillNode(); |
|
|
|
billNode.setBillSid(sid); |
|
|
|
billNode.setCreateByName(dto.getOperator()); |
|
|
|
billNode.setNodeName("出厂"); |
|
|
|
billNode.setCreateBySid(dto.getOperatorSid()); |
|
|
|
billNode.setNodeCode("6"); |
|
|
|
asBusrepairBillNodeService.insert(billNode); |
|
|
|
SettleVo settleVo = dto.getSettleVo(); |
|
|
|
if (null != settleVo) { |
|
|
|
FmsReceivesettleDto settleDto = new FmsReceivesettleDto(); |
|
|
|
BeanUtil.copyProperties(settleVo, settleDto, "id", "sid"); |
|
|
|
settleDto.setCreateBySid(dto.getOperatorSid()); |
|
|
|
settleDto.setCreateByName(dto.getOperator()); |
|
|
|
settleDto.setSourceBillSid(dto.getSid()); |
|
|
|
settleDto.setSourceBillNo(asBusrepairBill.getBillNo()); |
|
|
|
fmsReceivesettleFeign.save(settleDto); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |
|
|
|