Browse Source

售后服务-附加服务管理

master
fanzongzhe 1 year ago
parent
commit
3995034f2b
  1. 4
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItem.java
  2. 23
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemDetailsVo.java
  3. 22
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemDto.java
  4. 6
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemQuery.java
  5. 15
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemVo.java
  6. 1
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemDetailsVo.java
  7. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemDto.java
  8. 4
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemQuery.java
  9. 14
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/ServiceTypeVo.java
  10. 33
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemRest.java
  11. 52
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemService.java
  12. 5
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.java
  13. 8
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.xml
  14. 18
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemRest.java
  15. 40
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemService.java

4
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItem.java

@ -21,11 +21,11 @@ public class AsServiceAttachItem extends BaseEntity {
@ApiModelProperty("项目名称")
private String aitemName;
@ApiModelProperty("项目名称")
@ApiModelProperty("项目编码")
private String aitemCode;
@ApiModelProperty("销售价(工时费)=工时单价*工时数")
private BigDecimal price;
@ApiModelProperty("工时数")
@ApiModelProperty("排序号")
private Integer sortNo;
@ApiModelProperty("使用组织sid")
private String useOrgSid;

23
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemDetailsVo.java

@ -28,8 +28,11 @@ package com.yxt.anrui.as.api.asserviceattachitem;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(售后服务) <br/>
* File: AsServicePackageVo.java <br/>
@ -46,7 +49,23 @@ import lombok.Data;
@Data
@ApiModel(value = "附加项目 视图数据详情", description = "附加项目 视图数据详情")
public class AsServiceAttachItemDetailsVo implements Vo {
private String sid;
@ApiModelProperty("备注信息")
private String remarks;
@ApiModelProperty("创建者")
private String createBySid;
@ApiModelProperty("项目名称")
private String aitemName;
@ApiModelProperty("项目编码")
private String aitemCode;
@ApiModelProperty("销售价(工时费)=工时单价*工时数")
private String price;
@ApiModelProperty("排序号")
private String sortNo;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String orgPath;
}

22
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemDto.java

@ -28,8 +28,11 @@ package com.yxt.anrui.as.api.asserviceattachitem;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(售后服务) <br/>
* File: AsServicePackageDto.java <br/>
@ -47,6 +50,23 @@ import lombok.Data;
@ApiModel(value = "附加项目 数据传输对象", description = "附加项目 数据传输对象")
public class AsServiceAttachItemDto implements Dto {
private String sid;
@ApiModelProperty("备注信息")
private String remarks;
@ApiModelProperty("创建者")
private String createBySid;
@ApiModelProperty("项目名称")
private String aitemName;
@ApiModelProperty("项目编码")
private String aitemCode;
@ApiModelProperty("销售价(工时费)=工时单价*工时数")
private String price;
@ApiModelProperty("排序号")
private String sortNo;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String orgPath;
}

6
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemQuery.java

@ -28,6 +28,7 @@ package com.yxt.anrui.as.api.asserviceattachitem;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -47,6 +48,9 @@ import lombok.Data;
@ApiModel(value = "附加项目 查询条件", description = "附加项目 查询条件")
public class AsServiceAttachItemQuery implements Query {
@ApiModelProperty("项目名称")
private String aitemName;
@ApiModelProperty("全路径")
private String orgPath;
}

15
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemVo.java

@ -28,8 +28,11 @@ package com.yxt.anrui.as.api.asserviceattachitem;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(售后服务) <br/>
* File: AsServicePackageVo.java <br/>
@ -47,6 +50,14 @@ import lombok.Data;
@ApiModel(value = "附加项目 视图数据对象", description = "附加项目 视图数据对象")
public class AsServiceAttachItemVo implements Vo {
@ApiModelProperty("项目名称")
private String aitemName;
@ApiModelProperty("项目名称")
private String aitemCode;
@ApiModelProperty("销售价(工时费)=工时单价*工时数")
private String price;
@ApiModelProperty("排序号")
private String sortNo;
@ApiModelProperty("备注")
private String remarks;
}

1
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemDetailsVo.java

@ -90,5 +90,6 @@ public class AsServiceItemDetailsVo implements Vo {
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String orgPath;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemDto.java

@ -88,5 +88,5 @@ public class AsServiceItemDto implements Dto {
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String orgPath;
}

4
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemQuery.java

@ -55,6 +55,6 @@ public class AsServiceItemQuery implements Query {
@ApiModelProperty("厂家")
private String manufacturer;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("全路径")
private String orgPath;
}

14
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/ServiceTypeVo.java

@ -0,0 +1,14 @@
package com.yxt.anrui.as.api.asserviceitem;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/3/8 10:03
*/
@Data
public class ServiceTypeVo {
private String serviceTypeSid;
private String serviceType;
}

33
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemRest.java

@ -1,17 +1,18 @@
package com.yxt.anrui.as.biz.asserviceattachitem;
import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItemDetailsVo;
import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItemDto;
import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItemQuery;
import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItemVo;
import com.yxt.anrui.as.api.asserviceitem.AsServiceItemDetailsVo;
import com.yxt.anrui.as.api.asserviceitem.AsServiceItemDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* @author fzz
@ -34,4 +35,28 @@ public class AsServiceAttachItemRest {
PagerVo<AsServiceAttachItemVo> pv = asServiceAttachItemService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("详情查看")
@GetMapping("/fetchDetails/{sid}")
public ResultBean<AsServiceAttachItemDetailsVo> fetchDetails(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
AsServiceAttachItemDetailsVo vo = asServiceAttachItemService.fetchDetails(sid);
return rb.success().setData(vo);
}
@ApiOperation("修改保存")
@PostMapping("/saveAttachItem")
public ResultBean saveAttachItem(@RequestBody AsServiceAttachItemDto dto) {
ResultBean rb = ResultBean.fireFail();
asServiceAttachItemService.saveAttachItem(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
asServiceAttachItemService.delBySids(sids);
return rb.success();
}
}

52
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemService.java

@ -1,18 +1,21 @@
package com.yxt.anrui.as.biz.asserviceattachitem;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItem;
import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItemQuery;
import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItemVo;
import com.yxt.anrui.as.api.asserviceattachitem.*;
import com.yxt.anrui.as.api.asserviceitem.AsServiceItem;
import com.yxt.anrui.as.api.asserviceitem.AsServiceItemQuery;
import com.yxt.anrui.as.api.asserviceitem.AsServiceItemVo;
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.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@ -21,15 +24,26 @@ import org.springframework.stereotype.Service;
@Service
public class AsServiceAttachItemService extends MybatisBaseService<AsServiceAttachItemMapper, AsServiceAttachItem> {
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
private QueryWrapper<AsServiceAttachItem> createQueryWrapper(AsServiceAttachItemQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<AsServiceAttachItem> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getAitemName())) {
qw.and(wrapper -> wrapper.like("aitemName", query.getAitemName()).or().like("aitemCode", query.getAitemName()));
}
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath());
if (orgSidByPath.getSuccess()) {
qw.eq("useOrgSid", orgSidByPath.getData());
}
qw.orderByAsc("sortNo");
return qw;
}
public PagerVo<AsServiceAttachItemVo> listPageVo(PagerQuery<AsServiceAttachItemQuery> pq) {
AsServiceAttachItemQuery query = pq.getParams();
QueryWrapper<AsServiceAttachItem> qw = createQueryWrapper(query);
@ -38,4 +52,34 @@ public class AsServiceAttachItemService extends MybatisBaseService<AsServiceAtta
PagerVo<AsServiceAttachItemVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public AsServiceAttachItemDetailsVo fetchDetails(String sid) {
AsServiceAttachItemDetailsVo vo = new AsServiceAttachItemDetailsVo();
AsServiceAttachItem asServiceAttachItem = fetchBySid(sid);
if (null != asServiceAttachItem) {
BeanUtil.copyProperties(asServiceAttachItem, vo);
}
return vo;
}
public void saveAttachItem(AsServiceAttachItemDto dto) {
if (StringUtils.isNotBlank(dto.getSid())) {
AsServiceAttachItem item = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, item, "id", "sid");
baseMapper.updateById(item);
} else {
AsServiceAttachItem item = new AsServiceAttachItem();
BeanUtil.copyProperties(dto, item, "id", "sid");
String orgPath = dto.getOrgPath();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
item.setUseOrgSid(useOrgSid);
item.setCreateOrgSid(useOrgSid);
}
baseMapper.insert(item);
}
}
}

5
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.java

@ -7,14 +7,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.as.api.asserviceitem.AsServiceItem;
import com.yxt.anrui.as.api.asserviceitem.AsServiceItemVo;
import com.yxt.anrui.as.api.asserviceitem.ServiceTypeVo;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface AsServiceItemMapper extends BaseMapper<AsServiceItem> {
IPage<AsServiceItemVo> selectPageVo(IPage<AsServiceItem> page, @Param(Constants.WRAPPER) QueryWrapper<AsServiceItem> qw);
List<ServiceTypeVo> getServiceType(@Param("useOrgSid") String useOrgSid);
}

8
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.xml

@ -8,4 +8,12 @@
<select id="selectPageVo" resultType="com.yxt.anrui.as.api.asserviceitem.AsServiceItemVo">
SELECT * FROM as_service_item <where> ${ew.sqlSegment} </where>
</select>
<select id="getServiceType" resultType="com.yxt.anrui.as.api.asserviceitem.ServiceTypeVo">
SELECT
sid AS serviceTypeSid,
serviceTypeName AS serviceType
FROM
as_service_type
WHERE useOrgSid = #{useOrgSid}
</select>
</mapper>

18
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemRest.java

@ -52,22 +52,30 @@ public class AsServiceItemRest {
@ApiOperation("获取分公司下厂家")
@GetMapping("/getManufacturers")
public ResultBean<List<ManufacturerVo>> getManufacturers(@RequestParam("useOrgSid") String useOrgSid) {
public ResultBean<List<ManufacturerVo>> getManufacturers(@RequestParam("orgPath") String orgPath) {
ResultBean rb = ResultBean.fireFail();
List<ManufacturerVo> list = asServiceItemService.getManufacturers(useOrgSid);
List<ManufacturerVo> list = asServiceItemService.getManufacturers(orgPath);
return rb.success().setData(list);
}
@ApiOperation("获取分公司下车型")
@GetMapping("/getVehModel")
public ResultBean<List<VehModelVo>> getVehModel(@RequestParam("useOrgSid") String useOrgSid) {
public ResultBean<List<VehModelVo>> getVehModel(@RequestParam("orgPath") String orgPath) {
ResultBean rb = ResultBean.fireFail();
List<VehModelVo> list = asServiceItemService.getVehModel(useOrgSid);
List<VehModelVo> list = asServiceItemService.getVehModel(orgPath);
return rb.success().setData(list);
}
@ApiOperation("获取分公司下工种")
@GetMapping("/getServiceType")
public ResultBean<List<ServiceTypeVo>> getServiceType(@RequestParam("orgPath") String orgPath) {
ResultBean rb = ResultBean.fireFail();
List<ServiceTypeVo> list = asServiceItemService.getServiceType(orgPath);
return rb.success().setData(list);
}
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
asServiceItemService.delBySids(sids);

40
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemService.java

@ -14,7 +14,9 @@ import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -31,6 +33,8 @@ public class AsServiceItemService extends MybatisBaseService<AsServiceItemMapper
private WmsManufacturerFeign wmsManufacturerFeign;
@Resource
private BaseVehicleModelFeign baseVehicleModelFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
private QueryWrapper<AsServiceItem> createQueryWrapper(AsServiceItemQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -45,7 +49,10 @@ public class AsServiceItemService extends MybatisBaseService<AsServiceItemMapper
if (StringUtils.isNotBlank(query.getManufacturer())) {
qw.eq("manufacturer", query.getManufacturer());
}
qw.eq("useOrgSid", query.getUseOrgSid());
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath());
if (orgSidByPath.getSuccess()) {
qw.eq("useOrgSid", orgSidByPath.getData());
}
qw.orderByAsc("sortNo");
return qw;
}
@ -76,12 +83,24 @@ public class AsServiceItemService extends MybatisBaseService<AsServiceItemMapper
} else {
AsServiceItem item = new AsServiceItem();
BeanUtil.copyProperties(dto, item, "id", "sid");
String orgPath = dto.getOrgPath();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
item.setUseOrgSid(useOrgSid);
item.setCreateOrgSid(useOrgSid);
}
baseMapper.insert(item);
}
}
public List<ManufacturerVo> getManufacturers(String useOrgSid) {
public List<ManufacturerVo> getManufacturers(String orgPath) {
List<ManufacturerVo> voList = new ArrayList<>();
String useOrgSid = "";
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
useOrgSid = orgSidByPath.getData();
}
List<WmsManufacturerVo> wmsManufacturerVos = wmsManufacturerFeign.getAllTypeByUseOrgSid(useOrgSid).getData();
if (!wmsManufacturerVos.isEmpty()) {
for (WmsManufacturerVo wmsManufacturerVo : wmsManufacturerVos) {
@ -94,8 +113,13 @@ public class AsServiceItemService extends MybatisBaseService<AsServiceItemMapper
return voList;
}
public List<VehModelVo> getVehModel(String useOrgSid) {
public List<VehModelVo> getVehModel(String orgPath) {
List<VehModelVo> voList = new ArrayList<>();
String useOrgSid = "";
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
useOrgSid = orgSidByPath.getData();
}
List<BaseVehModelVo> baseVehModelVos = baseVehicleModelFeign.getVehModelByCreateOrg(useOrgSid).getData();
if (!baseVehModelVos.isEmpty()) {
for (BaseVehModelVo baseVehModelVo : baseVehModelVos) {
@ -107,4 +131,14 @@ public class AsServiceItemService extends MybatisBaseService<AsServiceItemMapper
}
return voList;
}
public List<ServiceTypeVo> getServiceType(String orgPath) {
String useOrgSid = "";
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
useOrgSid = orgSidByPath.getData();
}
List<ServiceTypeVo> voList = baseMapper.getServiceType(useOrgSid);
return voList;
}
}

Loading…
Cancel
Save