Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yxt_djz 3 years ago
parent
commit
f32e21c758
  1. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java
  2. 28
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  3. 17
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowableFallback.java
  4. 28
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowableFeign.java
  5. 55
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskFinishVo.java
  6. 16
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java
  7. 96
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java
  8. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehinspectitem/ScmVehinspectItem.java
  9. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehinspectitemimg/ScmVehinspectItemimgVo.java
  10. 15
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  11. 21
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleenterlibrary/ScmVehicleEnterlibraryService.java
  12. 36
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java
  13. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectitem/ScmVehicleInspectitemMapper.xml
  14. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinspectitem/ScmVehinspectItemService.java
  15. 51
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinspectitemimg/ScmVehinspectItemimgService.java
  16. 69
      anrui-system-ui/src/components/flow/flowRecord.vue
  17. 2
      anrui-system-ui/src/styles/index.scss
  18. 30
      anrui-system-ui/src/views/flow/doneList.vue
  19. 26
      anrui-system-ui/src/views/flow/todoList.vue

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java

@ -133,4 +133,9 @@ public class BaseVehicle extends BaseEntity {
private String specialInstructions;
@ApiModelProperty("内部编码")
private String insideCode;
@ApiModelProperty(value = "调车状态key")
private String witPinState;
@ApiModelProperty(value = "调车状态value")
private String witPinStateValue;
}

28
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -102,8 +102,14 @@ public class BaseVehicleRest implements BaseVehicleFeign {
String vinNo = dto.getVinNo();
String type = "0001";
int count = baseVehicleService.selectCountByVinNo(vinNo);
ResultBean<BaseVehicleVo> baseVehicleVoResultBean = baseVehicleService.selVehicleByVinNo(vinNo);
BaseVehicleVo data = baseVehicleVoResultBean.getData();
if (count > 0) {
return rb.setMsg("已存在该车架号的车辆信息");
ResultBean resultBean = update(dto, data.getSid());
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setMsg(resultBean.getMsg());
}
BaseVehicle baseVehicle = new BaseVehicle();
dto.fillEntity(baseVehicle);
@ -121,6 +127,8 @@ public class BaseVehicleRest implements BaseVehicleFeign {
baseVehicle.setVehicleStateValue(dto.getVehicleStateValue());
baseVehicle.setSettlementStatus(dto.getSettlementStatus());
baseVehicle.setSettlementStatusValue(dto.getSettlementStatusValue());
baseVehicle.setWitPinState(dto.getWitPinState());
baseVehicle.setWitPinStateValue(dto.getWitPinStateValue());
boolean isSave = baseVehicleService.save(baseVehicle);
BaseVehicleCertificate baseVehicleCertificate = new BaseVehicleCertificate();
if (StringUtils.isNotBlank(dto.getVinNo())){
@ -164,21 +172,29 @@ public class BaseVehicleRest implements BaseVehicleFeign {
if (baseVehicle == null) {
return rb.setMsg("该车辆信息不存在");
}
String vinNo = dto.getVinNo();
//String vinNo = dto.getVinNo();
//根据车架号和车辆信息sid查询车辆信息是否存在
int count = baseVehicleService.selectCountBySidAndVinNo(vinNo, sid);
/*int count = baseVehicleService.selectCountBySidAndVinNo(vinNo, sid);
if (count > 0) {
return rb.setMsg("已存在该车架号的车辆信息");
}
}*/
BeanUtil.copyProperties(dto, baseVehicle);
//锁定状态
String lockedStateKey = VehicleState.LockEnum.UN_LOCK.getCode();
/*String lockedStateKey = VehicleState.LockEnum.UN_LOCK.getCode();
String lockedStateValue = VehicleState.LockEnum.UN_LOCK.getRemarks();
baseVehicle.setLockedState(lockedStateKey);
baseVehicle.setLockedStateValue(lockedStateValue);
baseVehicle.setVehicleState(VehicleState.StockEnum.STOCK.getCode());
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.STOCK.getRemarks());
baseVehicle.setSettlementStatus(VehicleState.BuyoutEnum.UN_BUYOUT.getCode());
baseVehicle.setSettlementStatus(VehicleState.BuyoutEnum.UN_BUYOUT.getCode());*/
baseVehicle.setLockedState(dto.getLockedState());
baseVehicle.setLockedStateValue(dto.getLockedStateValue());
baseVehicle.setVehicleState(dto.getVehicleState());
baseVehicle.setVehicleStateValue(dto.getVehicleStateValue());
baseVehicle.setSettlementStatus(dto.getSettlementStatus());
baseVehicle.setSettlementStatusValue(dto.getSettlementStatusValue());
baseVehicle.setWitPinState(dto.getWitPinState());
baseVehicle.setWitPinStateValue(dto.getWitPinStateValue());
boolean isTrue = baseVehicleService.updateById(baseVehicle);
// int i = baseVehicleService.updateBySid(dto.toMap(), sid);
if (!isTrue) {

17
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowableFallback.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoVo;
import com.yxt.anrui.portal.api.flow.app.FlowTaskFinishVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -13,12 +14,21 @@ import java.util.Map;
@Component
public class FlowableFallback implements FlowableFeign{
@Override
public ResultBean businessStart(String procDefId, String userSid, Map<String, Object> variables) {
return null;
}
@Override
public ResultBean processPagerList(Integer pageNum, Integer pageSize) {
return null;
}
@Override
@Override
public ResultBean myprocess( String userSid, PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean todoTaskList(String userSid, PagerQuery<TaskQuery> pQuery) {
return null;
}
@ -89,5 +99,10 @@ public class FlowableFallback implements FlowableFeign{
return null;
}
@Override
public ResultBean<PagerVo<FlowTaskFinishVo>> finishApp(PagerQuery<FlowTaskDoQuery> pagerQuery) {
return null;
}
}

28
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowableFeign.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoVo;
import com.yxt.anrui.portal.api.flow.app.FlowTaskFinishVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -22,6 +23,18 @@ import java.util.Map;
path = "v1/flow",
fallback = FlowableFallback.class)
public interface FlowableFeign {
/**
* 业务系统发起流程申请
*
* @param procDefId 流程定义id
* @param userSid 用户sid
* @param variables form参数
* @return
*/
@PostMapping("/businessStart/{procDefId}/{userSid}")
public ResultBean businessStart(@ApiParam(value = "流程定义id") @PathVariable(value = "procDefId") String procDefId,
@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ApiParam(value = "变量集合,json对象") @RequestBody Map<String, Object> variables);
/**
* 流程定义列表 一般业务中不需要查询该列表
@ -34,6 +47,17 @@ public interface FlowableFeign {
public ResultBean processPagerList(@ApiParam(value = "当前页码", required = true) @RequestParam("pageNum") Integer pageNum,
@ApiParam(value = "每页条数", required = true) @RequestParam("pageSize") Integer pageSize);
/**
* 我的流程 我发起的流程
*
* @param userSid 用户sid
* @param taskQueryPagerQuery 查询参数
* @return
*/
@PostMapping("/myprocess/{userSid}")
public ResultBean myprocess(@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ApiParam(value = "变量集合,json对象") @RequestBody PagerQuery<FlowTaskQuery> taskQueryPagerQuery);
/**
* 待办列表
*
@ -183,5 +207,9 @@ public interface FlowableFeign {
@PostMapping("/todoApp")
public ResultBean<PagerVo<FlowTaskDoVo>> todoApp(@RequestBody PagerQuery<FlowTaskDoQuery> pagerQuery);
@ApiOperation(value = "移动端总已办列表")
@PostMapping("/finishedApp")
ResultBean<PagerVo<FlowTaskFinishVo>> finishApp(@RequestBody PagerQuery<FlowTaskDoQuery> pagerQuery);
}

55
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskFinishVo.java

@ -0,0 +1,55 @@
package com.yxt.anrui.portal.api.flow.app;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/7/29 17:31
* @Description
*/
@Data
public class FlowTaskFinishVo implements Vo {
private static final long serialVersionUID = -5936470750210770833L;
@ApiModelProperty(value = "流程id")
private String deployId;
@ApiModelProperty(value = "流程实例id")
private String procInsId;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty("节点id")
private String taskDefKey;
@ApiModelProperty(value = "app集合")
private AppVo appVariables;
@ApiModelProperty(value = "环节名称")
private String taskName;
@ApiModelProperty(value = "发起部门")
private String startDeptName;
@ApiModelProperty(value = "发起人")
private String startUserName;
@ApiModelProperty(value = "工作名称")
private String procDefName;
@ApiModelProperty(value = "提交日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date processCreateTime;
@ApiModelProperty(value = "发起日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
@JsonIgnore
private Map<String, Object> processVariables;
@ApiModelProperty("办理的url")
@JsonIgnore
private SysProUrlVo sysProUrlVo;
@ApiModelProperty("任务执行人名称")
@JsonProperty("currentHandle")
private String assigneeName;
}

16
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java

@ -30,6 +30,7 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.portal.api.flow.*;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoVo;
import com.yxt.anrui.portal.api.flow.app.FlowTaskFinishVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUser;
import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService;
@ -71,11 +72,21 @@ public class FlowableRest implements FlowableFeign {
@Autowired
private SysUserService sysUserService;
@Override
public ResultBean businessStart(String procDefId, String userSid, Map<String, Object> variables) {
return flowableService.businessStart(procDefId, userSid, variables);
}
@Override
public ResultBean processPagerList(Integer pageNum, Integer pageSize) {
return flowableService.processPagerList(pageNum, pageSize);
}
@Override
public ResultBean myprocess(String userSid, PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
return flowableService.myprocess(userSid, taskQueryPagerQuery);
}
@Override
public ResultBean todoTaskList(String userSid, PagerQuery<TaskQuery> pQuery) {
@ -185,4 +196,9 @@ public class FlowableRest implements FlowableFeign {
public ResultBean<PagerVo<FlowTaskDoVo>> todoApp(PagerQuery<FlowTaskDoQuery> pagerQuery) {
return flowableService.todoApp(pagerQuery);
}
@Override
public ResultBean<PagerVo<FlowTaskFinishVo>> finishApp(PagerQuery<FlowTaskDoQuery> pagerQuery) {
return flowableService.finishApp(pagerQuery);
}
}

96
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

@ -45,6 +45,7 @@ import com.yxt.anrui.portal.api.flow.*;
import com.yxt.anrui.portal.api.flow.app.AppVo;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoVo;
import com.yxt.anrui.portal.api.flow.app.FlowTaskFinishVo;
import com.yxt.anrui.portal.biz.appsubsetversion.AppSubsetVersionService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.ConstantUtils;
@ -278,10 +279,10 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
map.put("taskDefKey", taskDefKey);
map.put("flowState", SysFormLinkFlowStateEnum.UNCOMMITTED.getCode());
} else {*/
map.put("nodeState", nodeState);
map.put("taskDefKey", taskDefKey);
map.put("flowState", nodeState);
/* }*/
map.put("nodeState", nodeState);
map.put("taskDefKey", taskDefKey);
map.put("flowState", nodeState);
/* }*/
sysFormLinkFeign.updateFiled(map);
return new ResultBean().success();
}
@ -319,7 +320,7 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
map.put("nodeState", nodeState);
map.put("taskDefKey", taskDefKey);
// if (incomingSourceRef.contains("start")) {
map.put("flowState",nodeState);
map.put("flowState", nodeState);
// }
sysFormLinkFeign.updateFiled(map);
return new ResultBean().success();
@ -347,7 +348,6 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
sysFormLinkFeign.updateFiled(map);
return resultBean.success();
}*/
public void stopProcess(FlowTaskVo flowTaskVo) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo, fl);
@ -556,4 +556,88 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
page.setTotal(resultBean.getData().getTotal());
return rb.success().setData(page);
}
public ResultBean<PagerVo<FlowTaskFinishVo>> finishApp(PagerQuery<FlowTaskDoQuery> pagerQuery) {
ResultBean<PagerVo<FlowTaskFinishVo>> rb = ResultBean.fireFail();
PagerQuery<BusinessTaskQuery> taskQueryPagerQuery = new PagerQuery<>();
taskQueryPagerQuery.setCurrent(pagerQuery.getCurrent()).setSize(pagerQuery.getSize());
FlowTaskDoQuery params = pagerQuery.getParams();
String names = params.getNames();
String userSid = params.getUserSid();
BusinessTaskQuery taskQuery = new BusinessTaskQuery();
List<BusinessTaskParam> taskParamList = new ArrayList<>();
if (StringUtils.isNotBlank(names)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("proDefName");
taskParam.setValue(names);
taskParam.setSqlOperationSymbol(SQLOperationSymbol.LIKE);
taskParamList.add(taskParam);
}
taskQuery.setFields(taskParamList);
taskQueryPagerQuery.setParams(taskQuery);
ResultBean<Page<FlowTaskDto>> resultBean = flowTaskFeign.businessDoneListForApp(userSid, taskQueryPagerQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg("流程错误");
}
PagerVo<FlowTaskFinishVo> page = new PagerVo<>();
List<FlowTaskFinishVo> voList = Optional.ofNullable(resultBean.getData().getRecords()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskFinishVo.class)).collect(Collectors.toList());
voList.removeAll(Collections.singleton(null));
//定义的app的sid的index集合
Map<String, List<Integer>> appVer = new HashMap<>();
for (int i = 0; i < voList.size(); i++) {
FlowTaskFinishVo f = voList.get(i);
Map<String, Object> flowMap = f.getProcessVariables();
Map<String, Object> appMap = ConstantUtils.getMap(flowMap, "app");
String json = JSONObject.toJSONString(appMap);
System.out.println(json);
AppVo appVo = new AppVo();
appVo.setJson(json);
//app版本的sid
String appSid = "";
//app版本的类型
String type = "";
if (f.getSysProUrlVo() != null) {
appVo.setModuleAction(f.getSysProUrlVo().getUrl());
appSid = f.getSysProUrlVo().getModulePluginName();
}
//根据appSid查询最新版本的app插件包:以及类型:2插件,1框架
if (StringUtils.isNotBlank(appSid)) {
if (appSid.contains("#")) {
type = Arrays.asList(appSid.split("#")).get(1);
}
}
if ("1".equals(type)) {
//框架
} else if ("2".equals(type)) {
//插件
String appSid2 = appSid.substring(0, appSid.indexOf("#"));
List<Integer> integers = appVer.get(appSid2);
if (integers == null) {
integers = new ArrayList<>();
}
integers.add(i);
appVer.put(appSid2, integers);
}
appVo.setType(type);
voList.get(i).setAppVariables(appVo);
}
// 循环取map:若为同一个app版本,则只查询一次
for (String key : appVer.keySet()) {
AppSubsetVersionVo appSubsetVersions = appSubsetVersionService.selectByAppSidOne(key);
if (appSubsetVersions != null) {
List<Integer> integers = appVer.get(key);
for (int i = 0; i < integers.size(); i++) {
voList.get(i).getAppVariables().setPath(appSubsetVersions.getUpdateUrl());
voList.get(i).getAppVariables().setModuleVersion(appSubsetVersions.getVersionCode());
voList.get(i).getAppVariables().setModulePluginName(appSubsetVersions.getModulePluginName());
}
}
}
page.setRecords(voList);
page.setCurrent(resultBean.getData().getCurrent());
page.setSize(resultBean.getData().getSize());
page.setTotal(resultBean.getData().getTotal());
return rb.success().setData(page);
}
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehinspectitem/ScmVehinspectItem.java

@ -58,5 +58,7 @@ public class ScmVehinspectItem extends BaseEntity {
private Integer sortNo;
@ApiModelProperty("检查结果:1是,0否,2无结果,默认2")
private Integer result;
@ApiModelProperty("图标地址")
private String iconUrl;
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehinspectitemimg/ScmVehinspectItemimgVo.java

@ -64,5 +64,7 @@ public class ScmVehinspectItemimgVo implements Vo {
private List<String> imgUrlList;
@ApiModelProperty("照片模板路径")
private String imgPath;
@ApiModelProperty("照片路径集合")
private List<String> imgPathList;
}

15
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -105,7 +105,6 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ScmApplyInbound> qw = new QueryWrapper<>();
qw.eq("useOrgSid", query.getCreateOrgSid());
if (StringUtils.isNotBlank(query.getPurchaseOrderNo())) {
qw.like("purchaseOrderNo", query.getPurchaseOrderNo());
}
@ -447,18 +446,18 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
baseVehicleDto.setConfigName(booad.getConfigName());
baseVehicleDto.setInsideCode(booad.getInsideCode());
baseVehicleDto.setOrderingNo(booad.getPurchaseOrderNo());
baseVehicleDto.setSettlementStatus(VehicleState.BuyoutEnum.UN_BUYOUT.getCode());
baseVehicleDto.setSettlementStatusValue(VehicleState.BuyoutEnum.UN_BUYOUT.getRemarks());
baseVehicleDto.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode());
baseVehicleDto.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks());
baseVehicleDto.setVehicleState(VehicleState.StockEnum.ING_STOCK.getCode());
baseVehicleDto.setVehicleStateValue(VehicleState.StockEnum.ING_STOCK.getRemarks());
baseVehicleDto.setSettlementStatus("0");
baseVehicleDto.setSettlementStatusValue("未买断");
baseVehicleDto.setLockedState("0");
baseVehicleDto.setLockedStateValue("未锁定");
baseVehicleDto.setVehicleState("0003");
baseVehicleDto.setVehicleStateValue("在途");
baseVehicleDto.setWitPinState(VehicleState.ShuntingEnum.UN_SHUNTING.getCode());
baseVehicleDto.setWitPinStateValue(VehicleState.ShuntingEnum.UN_SHUNTING.getRemarks());
baseVehicleDto.setManPurOrderTypeKey("001");
baseVehicleDto.setManPurOrderTypeValue("排产订单");
baseVehicleDto.setContractPrice(Integer.parseInt(booad.getContractPrice().toString()));
baseVehicleDto.setFreight(Integer.parseInt(booad.getOnceFreight().add(booad.getSecondaryFreight()).toString()));
baseVehicleDto.setFreight(Integer.parseInt(booad.getOnceFreight().subtract(booad.getSecondaryFreight()).toString()));
baseVehicleDto.setCostPrice(Integer.parseInt(booad.getCostPrice().toString()));
baseVehicleDto.setPriceDate(booad.getPriceDate());
baseVehicleDto.setDepartureDate(booad.getDepartureDate());

21
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleenterlibrary/ScmVehicleEnterlibraryService.java

@ -308,18 +308,19 @@ public class ScmVehicleEnterlibraryService extends MybatisBaseService<ScmVehicle
baseVehicleDto.setContractPrice(0);//Integer.parseInt(dto.getContractPrice().toString())
baseVehicleDto.setFreight(0);//Integer.parseInt(dto.getOnceFreight().subtract(dto.getSecondaryFreight()).toString())
baseVehicleDto.setCostPrice(0);//Integer.parseInt(dto.getCostPrice().toString())
if ("01".equals(scmVehicleEnterlibrary.getPurchaseTypeKey())){
baseVehicleDto.setCertificateState("0003");
baseVehicleDto.setCertificateStateValue("待转");
}
// if ("01".equals(scmVehicleEnterlibrary.getPurchaseTypeKey())) {
// baseVehicleDto.setCertificateState("0003");
// baseVehicleDto.setCertificateStateValue("待转");
// }
baseVehicleDto.setPriceDate(DateUtil.today());//dto.getPriceDate()
baseVehicleDto.setDepartureDate(DateUtil.today());//dto.getDepartureDate()
baseVehicleDto.setLocation(dto.getWarehouseKey());
baseVehicleDto.setLocationName(dto.getWarehouse());
baseVehicleDto.setModelSid(scmVehicleEnterlibrary.getModelSid());
baseVehicleDto.setModelName(scmVehicleEnterlibrary.getModelName());
baseVehicleDto.setConfigName(scmVehicleEnterlibrary.getConfigName());
baseVehicleDto.setModelConfigSid(scmVehicleEnterlibrary.getConfigSid());
baseVehicleDto.setLocation(dto.getWarehouseKey()); //库存地点sid
baseVehicleDto.setLocationName(dto.getWarehouse());//库存地点
baseVehicleDto.setModelSid(scmVehicleEnterlibrary.getModelSid());//车型sid
baseVehicleDto.setModelName(scmVehicleEnterlibrary.getModelName());//车型名称
baseVehicleDto.setConfigName(scmVehicleEnterlibrary.getConfigName());//配置名称
baseVehicleDto.setModelConfigSid(scmVehicleEnterlibrary.getConfigSid());//配置sid
baseVehicleDto.setArrivalDate(scmVehicleEnterlibrary.getInboundDate()); //入库日期
baseVehicleFeign.save(baseVehicleDto);
return rb.success().setMsg("操作成功!");
} else if ("2".equals(scmVehicleEnterlibrary.getInboundState())) {

36
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

@ -26,8 +26,11 @@
package com.yxt.anrui.scm.biz.scmvehicleexamine;
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.basevehicle.BaseVehicleDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo;
@ -89,6 +92,9 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
@Autowired
FileUploadComponent fileUploadComponent;
@Autowired
BaseVehicleFeign baseVehicleFeign;
@Autowired
ScmVehicleEnterlibraryService scmVehicleEnterlibraryService;
@ -258,7 +264,7 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
inspectionItemVos.add(appScmInspectionItemVo);
}
vo.setInspectList(inspectionItemVos);
if(vo.getPrice() == null){
if (vo.getPrice() == null) {
vo.setPrice(0);
}
vo.setUserSid(userSid);
@ -473,6 +479,34 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
carWarehousingDto.setUseOrgName(data1.getName());
scmVehicleEnterlibraryService.saveCarWarehousing(carWarehousingDto);
//车辆台账推送数据
BaseVehicleDto baseVehicleDto = new BaseVehicleDto();
baseVehicleDto.setVinNo(dto.getVin());
String userSid = dto.getUserSid();
ResultBean<String> pathSidByUserSid = sysStaffOrgFeign.getPathSidByUserSid(userSid);
String data2 = pathSidByUserSid.getData();
baseVehicleDto.setCreateOrgSid(data2);
baseVehicleDto.setUseOrgSid(data2);
baseVehicleDto.setSettlementStatus("0");
baseVehicleDto.setLockedState("0");
baseVehicleDto.setLockedStateValue("未锁定");
baseVehicleDto.setVehicleState("0001");
baseVehicleDto.setVehicleStateValue("库存");
baseVehicleDto.setContractPrice(0);//Integer.parseInt(dto.getContractPrice().toString())
baseVehicleDto.setFreight(0);//Integer.parseInt(dto.getOnceFreight().subtract(dto.getSecondaryFreight()).toString())
baseVehicleDto.setCostPrice(0);//Integer.parseInt(dto.getCostPrice().toString())
// baseVehicleDto.setCertificateState("0003");
// baseVehicleDto.setCertificateStateValue("待转");
baseVehicleDto.setPriceDate(DateUtil.today());//dto.getPriceDate()
baseVehicleDto.setDepartureDate(DateUtil.today());//dto.getDepartureDate()
baseVehicleDto.setModelSid(scmVehicleExamine.getModelSid()); //车型sid
baseVehicleDto.setModelName(scmVehicleExamine.getModelName());//车型名称
baseVehicleDto.setConfigName(scmVehicleExamine.getConfigName());//配置名称
baseVehicleDto.setModelConfigSid(scmVehicleExamine.getConfigSid());//配置sid
baseVehicleDto.setWarrantyCardNo(scmVehicleExamine.getGuaranteeCardNo());//保修卡卡号
baseVehicleDto.setSpecialInstructions(scmVehicleExamine.getModelDifferenceExplain());//特殊配置差异说明
baseVehicleFeign.save(baseVehicleDto);
scmFileService.deleteByLinkSidAndType(scmVehicleExamine.getSid(), type1);
List<String> factoryImage = dto.getFactoryImage();
for (String s : factoryImage) {

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectitem/ScmVehicleInspectitemMapper.xml

@ -26,7 +26,7 @@
</select>
<select id="selectListOne" resultMap="voMap">
select si.sid, si.item, si.sortNo
select si.sid, si.item, si.sortNo,si.iconUrl
from scm_vehicle_inspectitem si
</select>

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinspectitem/ScmVehinspectItemService.java

@ -239,6 +239,9 @@ public class ScmVehinspectItemService extends MybatisBaseService<ScmVehinspectIt
String sid = scmVehinspectItem.getSid();
BeanUtil.copyProperties(item, scmVehinspectItem);
scmVehinspectItem.setVehInspectSid(vehInspectSid);
if (!scmVehinspectItem.getIconUrl().contains(fileUploadComponent.getUrlPrefix())){
scmVehinspectItem.setIconUrl(fileUploadComponent.getUrlPrefix()+scmVehinspectItem.getIconUrl());
}
baseMapper.insert(scmVehinspectItem);
List<ScmItemDetailVo> detailsList = item.getDetails();
detailsList.removeAll(Collections.singleton(null));

51
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinspectitemimg/ScmVehinspectItemimgService.java

@ -74,18 +74,49 @@ public class ScmVehinspectItemimgService extends MybatisBaseService<ScmVehinspec
*/
public List<ScmVehinspectItemimgVo> getInfoByMainSid(String sid) {
List<ScmVehinspectItemimgVo> itemImgVos = baseMapper.getInfoByMainSid(sid);
for (ScmVehinspectItemimgVo itemImgVo : itemImgVos) {
String imgUrl = null;
List<String> imgUrlList = new ArrayList<>();
List<String> list = Arrays.asList(itemImgVo.getImgUrl().split(","));
for (String s : list) {
imgUrl = fileUploadComponent.getUrlPrefix() + s;
imgUrlList.add(imgUrl);
for (int i = 0; i < itemImgVos.size(); i++) {
List<String> imgUrlFiles = new ArrayList<>();
List<String> imgPathFiles = new ArrayList<>();
String imgUrl = itemImgVos.get(i).getImgUrl();
if (StringUtils.isNotBlank(imgUrl)){
String[] split = imgUrl.split(",");
for (String s : split) {
String imgUrls = fileUploadComponent.getUrlPrefix() + s;
imgUrlFiles.add(imgUrls);
}
itemImgVos.get(i).setImgUrlList(imgUrlFiles);
}else {
itemImgVos.get(i).setImgUrlList(imgUrlFiles);
}
String imgPath = itemImgVos.get(i).getImgPath();
if (StringUtils.isNotBlank(imgPath)){
String[] split = imgPath.split(",");
for (String s : split) {
String imgUrls = fileUploadComponent.getUrlPrefix() + s;
imgPathFiles.add(imgUrls);
}
itemImgVos.get(i).setImgPathList(imgPathFiles);
}else {
itemImgVos.get(i).setImgPathList(imgPathFiles);
}
itemImgVo.setImgUrlList(imgUrlList);
String imgPath = fileUploadComponent.getUrlPrefix() + itemImgVo.getImgPath();
itemImgVo.setImgPath(imgPath);
}
// for (ScmVehinspectItemimgVo itemImgVo : itemImgVos) {
// String imgUrl = "";
//
// List<String> list = Arrays.asList(itemImgVo.getImgUrl().split(","));
// for (String s : list) {
// imgUrl = fileUploadComponent.getUrlPrefix() + s;
// imgUrlList.add(imgUrl);
// }
// itemImgVo.setImgUrlList(imgUrlList);
// String imgPath = fileUploadComponent.getUrlPrefix() + itemImgVo.getImgPath();
// itemImgVo.setImgPath(imgPath);
// }
return itemImgVos;
}

69
anrui-system-ui/src/components/flow/flowRecord.vue

@ -1,40 +1,34 @@
<template>
<div>
<!--流程流转记录-->
<el-card >
<el-col :span="24" >
<div >
<div style="width:50%;float:left; border:1px solid #000;">
<el-card>
<el-col :span="24">
<div>
<div style="width:50%;float:left;">
<span class="el-icon-picture-outline">流程图</span>
<flow :xmlData="xmlData" :taskData="taskData"></flow>
</div>
<div style="width:50%;;float:left; border:1px solid #000;" >
<div style="width:50%;;float:left;">
<el-timeline>
<el-timeline-item
v-for="(item,index ) in flowRecordList"
:key="index"
:icon="setIcon(item.finishTime)"
:color="setColor(item.finishTime)"
>
<p style="font-weight: 700">{{item.taskName}}</p>
<el-timeline-item v-for="(item,index ) in flowRecordList" :key="index" :icon="setIcon(item.finishTime)" :color="setColor(item.finishTime)">
<p style="font-weight: 700">{{ item.taskName }}</p>
<el-card :body-style="{ padding: '10px' }">
<label v-if="item.taskUserInfos" style="font-weight: normal;margin-right: 30px;">实际办理
<span v-for="(items,indexs ) in item.taskUserInfos" :key="indexs">{{items.assigneeName}},</span>
<!-- <el-tag type="info" size="mini">{{item.deptName}}</el-tag>-->
<span v-for="(items, index ) in item.taskUserInfos" :key="index">{{ items.assigneeName }},</span>
<!-- <el-tag type="info" size="mini">{{item.deptName}}</el-tag>-->
</label>
<label v-if="item.candidate"
style="font-weight: normal;margin-right: 30px;">候选办理{{item.candidate}}</label><br>
<label style="font-weight: normal">接收时间 </label><label style="color:#8a909c;font-weight: normal">{{item.createTime}}</label><br>
<label v-if="item.finishTime" style="font-weight: normal">办结时间 </label>
<label style="color:#8a909c;font-weight: normal">{{item.finishTime}}</label><br>
<label v-if="item.candidate" style="font-weight: normal;margin-right: 30px;">候选办理{{ item.candidate }}</label><br>
<label style="font-weight: normal">接收时间 </label><label style="color:#8a909c;font-weight: normal">{{ item.createTime }}</label><br>
<label v-if="item.finishTime" style="font-weight: normal">办理时间 </label>
<label style="color:#8a909c;font-weight: normal">{{ item.finishTime }}</label><br>
<label v-if="item.duration" style="font-weight: normal">耗时</label>
<label style="color:#8a909c;font-weight: normal">{{item.duration}}</label>
<label style="color:red;font-weight: normal">{{ item.duration }}</label>
<p v-if="item.comment">
<el-tag type="success" v-if="item.comment.type === '1'"> {{item.comment.comment}}</el-tag>
<el-tag type="warning" v-if="item.comment.type === '2'"> {{item.comment.comment}}</el-tag>
<el-tag type="danger" v-if="item.comment.type === '3'"> {{item.comment.comment}}</el-tag>
<el-tag type="danger" v-if="item.comment.type === '7'"> {{item.comment.comment}}</el-tag>
<el-tag type="danger" v-if="item.comment.type === '6'"> {{item.comment.comment}}</el-tag>
<el-tag type="success" v-if="item.comment.type === '1'"> {{ item.comment.comment }}</el-tag>
<el-tag type="warning" v-if="item.comment.type === '2'"> {{ item.comment.comment }}</el-tag>
<el-tag type="danger" v-if="item.comment.type === '3'"> {{ item.comment.comment }}</el-tag>
<el-tag type="danger" v-if="item.comment.type === '7'"> {{ item.comment.comment }}</el-tag>
<el-tag type="danger" v-if="item.comment.type === '6'"> {{ item.comment.comment }}</el-tag>
</p>
</el-card>
</el-timeline-item>
@ -46,9 +40,10 @@
</div>
</template>
<script>
import flow from "@C/flow/flow";
import flow from '@C/flow/flow'
export default {
name: "flowRecords",
name: 'flowRecords',
components: {
flow
},
@ -67,25 +62,31 @@ export default {
}
},
data() {
return {};
return {}
},
created() {
},
methods:{
methods: {
setIcon(val) {
if (val) {
return "el-icon-check";
return 'el-icon-check'
} else {
return "el-icon-time";
return 'el-icon-time'
}
},
setColor(val) {
if (val) {
return "#2bc418";
return '#2bc418'
} else {
return "#b3bdbb";
return '#b3bdbb'
}
}
}
};
}
</script>
<style scoped>
.el-tag {
white-space: normal;
height: auto;
}
</style>

2
anrui-system-ui/src/styles/index.scss

@ -72,7 +72,7 @@ div:focus {
box-sizing: border-box;
padding: 10px 0;
}
.bluezi{color: $header-bg; cursor: pointer}
.fl{
float: left;
}

30
anrui-system-ui/src/views/flow/doneList.vue

@ -47,41 +47,41 @@
<!-- </el-table-column>-->
<el-table-column label="工作名称" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.procDefName}}</span>
<span>{{scope.row.procDefName}}</span>
</template>
</el-table-column>
<el-table-column label="发起人" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.startUserName}}</span>
<span>{{scope.row.startUserName}}</span>
</template>
</el-table-column>
<el-table-column label="发起日期" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.createTime|formatTimer}}</span>
<span>{{scope.row.createTime|formatTimer}}</span>
</template>
</el-table-column>
<el-table-column label="发起部门" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.startDeptName}}</span>
<span>{{scope.row.startDeptName}}</span>
</template>
</el-table-column>
<el-table-column label="当前处理人" align="center">
<template slot-scope="scope">
<span v-if="scope.row.endTime!=null" class="bluezi"></span>
<span v-else class="bluezi">{{scope.row.assigneeName}}</span>
<span v-if="scope.row.endTime!=null"></span>
<span v-else>{{scope.row.assigneeName}}</span>
</template>
</el-table-column>
<el-table-column label="当前环节" align="center">
<template slot-scope="scope">
<span v-if="scope.row.endTime!=null" class="bluezi">已办结</span>
<span v-else class="bluezi">{{scope.row.taskName}}</span>
</template>
</el-table-column>
<el-table-column width="80px" label="审批记录" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="handleFlowRecord(scope.row)">查看</el-button>
<span v-if="scope.row.endTime!=null" class="bluezi" @click="handleFlowRecord(scope.row)">已办结</span>
<span v-else class="bluezi" @click="handleFlowRecord(scope.row)">{{scope.row.taskName}}</span>
</template>
</el-table-column>
<!-- <el-table-column width="80px" label="审批记录" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button type="primary" size="small" @click="handleFlowRecord(scope.row)">查看</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<div class="pages">
@ -254,8 +254,8 @@ import flowRecords from '@/components/flow/flowRecord'
}
selectUrl(this.selectUrl_list).then((response) => {
if (response.code === '200') {
this.url = 'http://127.0.0.1:9531' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
// this.url = 'http://120.46.131.15' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
// this.url = 'http://127.0.0.1:9531' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
this.url = 'http://120.46.131.15' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
} else {
this.$notify({
title: '提示',

26
anrui-system-ui/src/views/flow/todoList.vue

@ -47,39 +47,39 @@
<!-- </el-table-column>-->
<el-table-column label="工作名称" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.procDefName}}</span>
<span>{{scope.row.procDefName}}</span>
</template>
</el-table-column>
<el-table-column width="100px" label="发起人" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.startUserName}}</span>
<span>{{scope.row.startUserName}}</span>
</template>
</el-table-column>
<el-table-column width="100px" label="发起日期" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.createTime|formatTimer}}</span>
<span>{{scope.row.createTime|formatTimer}}</span>
</template>
</el-table-column>
<el-table-column label="发起部门" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.startDeptName}}</span>
<span>{{scope.row.startDeptName}}</span>
</template>
</el-table-column>
<el-table-column width="100px" label="提交日期" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.processCreateTime|formatTimer}}</span>
<span>{{scope.row.processCreateTime|formatTimer}}</span>
</template>
</el-table-column>
<el-table-column label="当前环节" align="center">
<template slot-scope="scope">
<span class="bluezi">{{scope.row.taskName}}</span>
</template>
</el-table-column>
<el-table-column width="80px" label="审批记录" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="handleFlowRecord(scope.row)">查看</el-button>
<span class="bluezi" @click="handleFlowRecord(scope.row)">{{scope.row.taskName}}</span>
</template>
</el-table-column>
<!-- <el-table-column width="80px" label="审批记录" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button type="primary" size="small" @click="handleFlowRecord(scope.row)">查看</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<div class="pages">
@ -285,8 +285,8 @@ export default {
}
selectUrl(this.selectUrl_list).then((response) => {
if (response.code === '200') {
this.url = 'http://127.0.0.1:9531' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
// this.url = 'http://120.46.131.15' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
// this.url = 'http://127.0.0.1:9531' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
this.url = 'http://120.46.131.15' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
console.log('已办拼接url:',this.url)
} else {
this.$notify({

Loading…
Cancel
Save