Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 2 years ago
parent
commit
d966f5f406
  1. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  2. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java
  3. 19
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  4. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  5. 16
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java
  6. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  7. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  8. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java
  9. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
  10. 34
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableShareQuery.java
  11. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java
  12. 8
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java
  13. 7
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java
  14. 3
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  15. 87
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  16. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentMapper.xml
  17. 9
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentRest.java
  18. 11
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentService.java
  19. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/feign/MessageFeign.java
  20. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/feign/form/MessageFlowableQuery.java
  21. 3
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoVo.java
  22. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskFinishVo.java
  23. 1
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java
  24. 2
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/OrgList.java
  25. 12
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java
  26. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundquery/ScmApplyInboundQueryService.java
  27. 11
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/AppFeign.java
  28. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/ShareMessageQuery.java
  29. 8
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessComment.java
  30. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessCommentVo.java
  31. 16
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppRest.java
  32. 52
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java

@ -621,7 +621,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
fInStockEntry.add(sf); fInStockEntry.add(sf);
//构造入库查询车辆 //构造入库查询车辆
ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto(); ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto();
scmApplyInboundVehQueryDto.setVinNo(baseInternalPurchaseVehicle.getVinNo()); scmApplyInboundVehQueryDto.setVinNo(baseInternalPurchaseVehicle.getVinNo().substring(baseInternalPurchaseVehicle.getVinNo().length() - 8));
scmApplyInboundVehQueryDto.setMgroupCode(baseVehicleBrand.getBrandCode()); scmApplyInboundVehQueryDto.setMgroupCode(baseVehicleBrand.getBrandCode());
scmApplyInboundVehQueryDto.setMgroupName(baseVehicleBrand.getBrandName()); scmApplyInboundVehQueryDto.setMgroupName(baseVehicleBrand.getBrandName());
scmApplyInboundVehQueryDto.setVehicleTypeKey(baseVehicleDRCL.getManufSaleAccessKey()); scmApplyInboundVehQueryDto.setVehicleTypeKey(baseVehicleDRCL.getManufSaleAccessKey());

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java

@ -340,6 +340,7 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
appMap.put("sid", businessSid); appMap.put("sid", businessSid);
variables.put("app", appMap); variables.put("app", appMap);
bv.setFormVariables(variables); bv.setFormVariables(variables);
bv.setOrgSidPath(baseModelModprice.getOrgSidPath());
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv); ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) { if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg()); return rb.setMsg(resultBean.getMsg());

19
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java

@ -219,7 +219,9 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
baseTrailerDetailsVo.setZcBrandName(baseVehicle.getCarBrandName()); baseTrailerDetailsVo.setZcBrandName(baseVehicle.getCarBrandName());
baseTrailerDetailsVo.setZcModelName(baseVehicle.getModelName()); baseTrailerDetailsVo.setZcModelName(baseVehicle.getModelName());
BaseVehicleCertificate baseVehicleCertificate = baseVehicleCertificateService.selectByVehicleSid(baseVehicle.getSid()); BaseVehicleCertificate baseVehicleCertificate = baseVehicleCertificateService.selectByVehicleSid(baseVehicle.getSid());
if (baseVehicleCertificate != null){
baseTrailerDetailsVo.setZcAnnouncementmodelName(baseVehicleCertificate.getCarModel()); baseTrailerDetailsVo.setZcAnnouncementmodelName(baseVehicleCertificate.getCarModel());
}
List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleFeign.fetchByVehSid(vehSid).getData(); List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleFeign.fetchByVehSid(vehSid).getData();
for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) { for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) {
String salesOrderSid = busSalesOrderVehicle.getSalesOrderSid(); String salesOrderSid = busSalesOrderVehicle.getSalesOrderSid();
@ -264,6 +266,8 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
BaseTrailer baseTrailer = new BaseTrailer(); BaseTrailer baseTrailer = new BaseTrailer();
dto.fillEntity(baseTrailer); dto.fillEntity(baseTrailer);
baseTrailer.setCreateBySid(dto.getUserSid()); baseTrailer.setCreateBySid(dto.getUserSid());
String vehSid = dto.getVehSid();
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(vehSid);
//厂商结算价 //厂商结算价
String settlementPrice = dto.getSettlementPrice(); String settlementPrice = dto.getSettlementPrice();
if (StringUtils.isNotBlank(settlementPrice)) { if (StringUtils.isNotBlank(settlementPrice)) {
@ -276,7 +280,7 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
BigDecimal decimal = new BigDecimal(dealPrice); BigDecimal decimal = new BigDecimal(dealPrice);
baseTrailer.setDealPrice(decimal); baseTrailer.setDealPrice(decimal);
} }
String billNo = getGCRKApplyCode(dto.getUserSid()); String billNo = getGCRKApplyCode(baseVehicle);
baseTrailer.setBillNo(billNo); baseTrailer.setBillNo(billNo);
boolean isSave = save(baseTrailer); boolean isSave = save(baseTrailer);
if (!isSave) { if (!isSave) {
@ -355,11 +359,10 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
return rb.success().setMsg("保存成功"); return rb.success().setMsg("保存成功");
} }
public String getGCRKApplyCode(String userSid) { public String getGCRKApplyCode(BaseVehicle baseVehicle) {
//获取分公司sid String purchaseSystemSid = baseVehicle.getPurchaseSystemSid();
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData();
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData()); String orgCode = basePurchaseSystemDetailsVo.getOrgCode();
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo(); BillNo b = new BillNo();
b.setOrgCode(orgCode); b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.GCRK.getBillType()); b.setBillType(BillTypeEnum.GCRK.getBillType());
@ -418,8 +421,8 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
scmApplyInboundVehQueryDto.setIunit("辆"); scmApplyInboundVehQueryDto.setIunit("辆");
scmApplyInboundVehQueryDto.setNum("1"); scmApplyInboundVehQueryDto.setNum("1");
scmApplyInboundVehQueryDto.setSettleMoney(baseTrailer.getSettlementPrice().toString()); scmApplyInboundVehQueryDto.setSettleMoney(baseTrailer.getSettlementPrice().toString());
scmApplyInboundVehQueryDto.setLocalName("在途仓库"); scmApplyInboundVehQueryDto.setLocalName("正式仓库");
scmApplyInboundVehQueryDto.setLocalCode("ARZTCK"); scmApplyInboundVehQueryDto.setLocalCode("ARZSCK");
scmApplyInboundVehQuerys.add(scmApplyInboundVehQueryDto); scmApplyInboundVehQuerys.add(scmApplyInboundVehQueryDto);
scmApplyInboundQueryDto.setScmApplyInboundVehQueryList(scmApplyInboundVehQuerys); scmApplyInboundQueryDto.setScmApplyInboundVehQueryList(scmApplyInboundVehQuerys);
String sid = scmApplyInboundQueryFeign.save(scmApplyInboundQueryDto).getData(); String sid = scmApplyInboundQueryFeign.save(scmApplyInboundQueryDto).getData();

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

@ -485,7 +485,7 @@ public class BaseVehicleRest implements BaseVehicleFeign {
List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQuerys = new ArrayList<>(); List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQuerys = new ArrayList<>();
for (BaseVehicleDto baseVehicleDto1 : dto) { for (BaseVehicleDto baseVehicleDto1 : dto) {
ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto(); ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto();
scmApplyInboundVehQueryDto.setVinNo(baseVehicleDto1.getVinNo()); scmApplyInboundVehQueryDto.setVinNo(baseVehicleDto1.getVinNo().substring(baseVehicleDto1.getVinNo().length() - 8));
scmApplyInboundVehQueryDto.setMgroupCode(baseVehicleDto1.getCarBrandCode()); scmApplyInboundVehQueryDto.setMgroupCode(baseVehicleDto1.getCarBrandCode());
scmApplyInboundVehQueryDto.setMgroupName(baseVehicleDto1.getCarBrandName()); scmApplyInboundVehQueryDto.setMgroupName(baseVehicleDto1.getCarBrandName());
scmApplyInboundVehQueryDto.setVehicleTypeKey(baseVehicleDto1.getManufSaleAccessKey()); scmApplyInboundVehQueryDto.setVehicleTypeKey(baseVehicleDto1.getManufSaleAccessKey());
@ -534,7 +534,7 @@ public class BaseVehicleRest implements BaseVehicleFeign {
List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQuerys = new ArrayList<>(); List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQuerys = new ArrayList<>();
for (BaseVehicleDto baseVehicleDto1 : dto) { for (BaseVehicleDto baseVehicleDto1 : dto) {
ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto(); ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto();
scmApplyInboundVehQueryDto.setVinNo(baseVehicleDto1.getVinNo()); scmApplyInboundVehQueryDto.setVinNo(baseVehicleDto1.getVinNo().substring(baseVehicleDto1.getVinNo().length() - 8));
scmApplyInboundVehQueryDto.setMgroupCode(baseVehicleDto1.getCarBrandCode()); scmApplyInboundVehQueryDto.setMgroupCode(baseVehicleDto1.getCarBrandCode());
scmApplyInboundVehQueryDto.setMgroupName(baseVehicleDto1.getCarBrandName()); scmApplyInboundVehQueryDto.setMgroupName(baseVehicleDto1.getCarBrandName());
scmApplyInboundVehQueryDto.setVehicleTypeKey(baseVehicleDto1.getManufSaleAccessKey()); scmApplyInboundVehQueryDto.setVehicleTypeKey(baseVehicleDto1.getManufSaleAccessKey());

16
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java

@ -140,7 +140,8 @@ public class BaseVehinstallRest implements BaseVehinstallFeign {
dto.setVehicleStateKey(VehicleState.StockEnum.STOCK.getCode()); dto.setVehicleStateKey(VehicleState.StockEnum.STOCK.getCode());
dto.setVehicleStateValue(VehicleState.StockEnum.STOCK.getRemarks()); dto.setVehicleStateValue(VehicleState.StockEnum.STOCK.getRemarks());
dto.setPriceDate(DateUtil.formatDate(new Date())); dto.setPriceDate(DateUtil.formatDate(new Date()));
String billNo = getGCRKApplyCode(dto.getUserSid()); BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(dto.getVinNo(),dto.getCreateOrg());
String billNo = getGCRKApplyCode(baseVehicle);
dto.setBillNo(billNo); dto.setBillNo(billNo);
baseVehinstallService.saveOrUpdateDto(dto); baseVehinstallService.saveOrUpdateDto(dto);
if (StringUtils.isBlank(dto.getSid())) { if (StringUtils.isBlank(dto.getSid())) {
@ -246,19 +247,18 @@ public class BaseVehinstallRest implements BaseVehinstallFeign {
scmApplyInboundVehQueryDto.setIunit("辆"); scmApplyInboundVehQueryDto.setIunit("辆");
scmApplyInboundVehQueryDto.setNum("1"); scmApplyInboundVehQueryDto.setNum("1");
scmApplyInboundVehQueryDto.setSettleMoney(dto.getCostPrice()); scmApplyInboundVehQueryDto.setSettleMoney(dto.getCostPrice());
scmApplyInboundVehQueryDto.setLocalName("在途仓库"); scmApplyInboundVehQueryDto.setLocalName("正式仓库");
scmApplyInboundVehQueryDto.setLocalCode("ARZTCK"); scmApplyInboundVehQueryDto.setLocalCode("ARZSCK");
scmApplyInboundVehQuerys.add(scmApplyInboundVehQueryDto); scmApplyInboundVehQuerys.add(scmApplyInboundVehQueryDto);
scmApplyInboundQueryDto.setScmApplyInboundVehQueryList(scmApplyInboundVehQuerys); scmApplyInboundQueryDto.setScmApplyInboundVehQueryList(scmApplyInboundVehQuerys);
String sid = scmApplyInboundQueryFeign.save(scmApplyInboundQueryDto).getData(); String sid = scmApplyInboundQueryFeign.save(scmApplyInboundQueryDto).getData();
return sid; return sid;
} }
public String getGCRKApplyCode(String userSid) { public String getGCRKApplyCode(BaseVehicle baseVehicle) {
//获取分公司sid String purchaseSystemSid = baseVehicle.getPurchaseSystemSid();
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData();
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData()); String orgCode = basePurchaseSystemDetailsVo.getOrgCode();
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo(); BillNo b = new BillNo();
b.setOrgCode(orgCode); b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.SZRK.getBillType()); b.setBillType(BillTypeEnum.SZRK.getBillType());

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -1018,12 +1018,12 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
mfq.setModuleName(flowResultBean.getData().get("NAME_")); mfq.setModuleName(flowResultBean.getData().get("NAME_"));
mfq.setMsgTitle(flowResultBean.getData().get("NAME_")); mfq.setMsgTitle(flowResultBean.getData().get("NAME_"));
} }
if("Event_end".equals(uff.getTaskDefKey())){ /*if("Event_end".equals(uff.getTaskDefKey())){
mfq.setModuleAction("com.anrui.android.plugin.supplychain.activity.DetailPlanProductionActivity"); mfq.setModuleAction("com.anrui.android.plugin.supplychain.activity.DetailPlanProductionActivity");
mfq.setModuleAction2("/scm/#/paichanguanliFlow/paichanguanli/cheliangpaichanYiBanInfo"); mfq.setModuleAction2("/scm/#/paichanguanliFlow/paichanguanli/cheliangpaichanYiBanInfo");
mfq.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd"); mfq.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
} }*/
ResultBean<String> stringResultBean = messageFeign.pushMessageShare(mfq); ResultBean<String> stringResultBean = messageFeign.pushMessageShare(mfq);
log.info("分享成功-resultBean:{}", resultBean); log.info("分享成功-resultBean:{}", resultBean);
if (!resultBean.getSuccess()) { if (!resultBean.getSuccess()) {

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -1841,11 +1841,13 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
} }
//车辆交付地点 //车辆交付地点
//根据存放地点查询 //根据存放地点查询
ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(priceInfo.getPlannedPickUpLocationKey()).getData();
String address = ""; String address = "";
if(StringUtils.isNotBlank(priceInfo.getPlannedPickUpLocationKey())){
ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(priceInfo.getPlannedPickUpLocationKey()).getData();
if(scmWarehouseVo != null){ if(scmWarehouseVo != null){
address = scmWarehouseVo.getWarehouseAttribute(); address = scmWarehouseVo.getWarehouseAttribute();
} }
}
//组装到文档相对应的字段中 //组装到文档相对应的字段中
if(StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())){ if(StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())){
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(),appOrderDetailsVo.getPurchaseSystemSid()); ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(),appOrderDetailsVo.getPurchaseSystemSid());

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java

@ -91,5 +91,10 @@ public class FlowableFallback implements FlowableFeign {
return null; return null;
} }
@Override
public ResultBean shareFlowable(FlowableShareQuery flowableShareQuery) {
return null;
}
} }

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java

@ -136,4 +136,9 @@ public interface FlowableFeign {
@GetMapping(value = "/selectFlow") @GetMapping(value = "/selectFlow")
@ResponseBody @ResponseBody
ResultBean<Map<String,String>> selectFlow(@RequestParam("id")String id); ResultBean<Map<String,String>> selectFlow(@RequestParam("id")String id);
@ApiOperation(value = "分享")
@PostMapping(value = "/shareFlowable")
@ResponseBody
ResultBean shareFlowable(@RequestBody FlowableShareQuery flowableShareQuery);
} }

34
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableShareQuery.java

@ -0,0 +1,34 @@
package com.yxt.anrui.flowable.api.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/3/6 13:36
* @Description
*/
@Data
public class FlowableShareQuery implements Query {
private static final long serialVersionUID = 4840141159583232319L;
private String taskId;
private String taskDefKey;
private String procInsId;
private String procDefId;
@ApiModelProperty("人员")
private List<String> members;
@ApiModelProperty("部门")
private List<String> groups;
private String userSid;
private String businessSid;
}

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java

@ -64,5 +64,7 @@ public class ProcessComment extends BaseEntity {
private String processId; // 评论的流程id private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid") @ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid private String processInstSid; // 评论的流程实列的sid
@ApiModelProperty("评论附件")
private String processFile;
} }

8
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java

@ -27,12 +27,13 @@ package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* Project: processcomment(流程评论) <br/> * Project: processcomment(流程评论) <br/>
@ -66,4 +67,9 @@ public class ProcessCommentDto implements Dto {
@ApiModelProperty("评论的流程实列的sid") @ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid private String processInstSid; // 评论的流程实列的sid
@ApiModelProperty("附件")
private List<String> fileList = new ArrayList<>();
private String processFile;
} }

7
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java

@ -28,12 +28,13 @@ package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.anrui.flowable.api.flowtask.AppUserVo; import com.yxt.anrui.flowable.api.flowtask.AppUserVo;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* Project: processcomment(流程评论) <br/> * Project: processcomment(流程评论) <br/>
@ -68,5 +69,9 @@ public class ProcessCommentVo implements Vo {
private String processInstSid; // 评论的流程实列的sid private String processInstSid; // 评论的流程实列的sid
@ApiModelProperty("taskUserInfo") @ApiModelProperty("taskUserInfo")
private AppUserVo taskUserInfo; // AppUserVo private AppUserVo taskUserInfo; // AppUserVo
@ApiModelProperty("评论附件")
private String processFile;
private List<String> fileList = new ArrayList<>();
} }

3
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -75,7 +75,8 @@ public enum ProcDefEnum {
SCMCOLLECTIONREBATEWITHAPPLY("回款返利预提申请", "process_k4lodiyg:1:630004"), SCMCOLLECTIONREBATEWITHAPPLY("回款返利预提申请", "process_k4lodiyg:1:630004"),
SCMCOLLECTIONREBATECHECKAPPLY("回款返利核对申请", "process_fgrv1mbv:1:630008"), SCMCOLLECTIONREBATECHECKAPPLY("回款返利核对申请", "process_fgrv1mbv:1:630008"),
CONTRACTAPPLY("合同审核", "process_gd8c9xd5:2:932504"), CONTRACTAPPLY("合同审核", "process_gd8c9xd5:2:932504"),
BASEDISPACKAGEAPPLY("优惠包申请流程", "process_l8i6tqho:1:967504"),; BASEDISPACKAGEAPPLY("优惠包申请流程", "process_l8i6tqho:1:967504"),
;
ProcDefEnum(String proDefName, String proDefId) { ProcDefEnum(String proDefName, String proDefId) {

87
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -41,10 +41,7 @@ import com.yxt.anrui.flowable.feign.form.MessageFlowableQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysflowcc.SysFlowccFeign; import com.yxt.anrui.portal.api.sysflowcc.SysFlowccFeign;
import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo; import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.*;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserByRolesAndOrgQuery;
import com.yxt.anrui.portal.api.sysuser.UserQuery;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
@ -618,4 +615,86 @@ public class FlowableRest implements FlowableFeign {
} }
return rb.success().setData(process); return rb.success().setData(process);
} }
@Override
public ResultBean shareFlowable(FlowableShareQuery flowableShareQuery) {
ResultBean rb = ResultBean.fireSuccess();
log.info("分享功能,参数:{}", JSONObject.toJSONString(flowableShareQuery));
//勾选的人员sid
List<String> memberSidList = flowableShareQuery.getMembers();
//勾选的部门sid
List<String> orgSidList = flowableShareQuery.getGroups();
ShareUserQuery shareUserQuery = new ShareUserQuery();
shareUserQuery.setOrgSids(orgSidList);
shareUserQuery.setMemberSids(memberSidList);
//查询所勾选的人员和勾选的部门下的去重后的所有人员的用户sid
ResultBean<List<String>> staffList = sysUserFeign.shareSelectUser(shareUserQuery);
if(memberSidList == null && orgSidList != null && orgSidList.size()>0){
if(staffList.getData() == null || staffList.getData().size() == 0){
return rb.setMsg("所选部门下无分享人员");
}
}
if(memberSidList == null && orgSidList == null && orgSidList.size() == 0){
return rb.setMsg("请选择人员");
}
//组装分享的消息数据
String taskId = flowableShareQuery.getTaskId();
//流程定义id
String modelId = flowableShareQuery.getProcDefId();
String proInstId = flowableShareQuery.getProcInsId();
String taskDefKey = flowableShareQuery.getTaskDefKey();
//移动端参数
Map<String, Object> appMap = new HashMap<>();
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery()
.includeProcessVariables().taskId(taskId).singleResult();
if (historicTaskInstance == null) {
log.info("分享失败:没有获取到业务参数!");
return rb.setMsg("分享失败!");
}
Map<String, Object> processVariables = historicTaskInstance.getProcessVariables();
if (historicTaskInstance == null) {
log.info("分享失败:没有获取到业务参数!");
return rb.setMsg("分享失败!");
}
Map<String, Object> app = new HashMap<>();
if (processVariables.get("app") != null) {
app = (Map<String, Object>) processVariables.get("app");
}
log.info("分享方法-historicTaskInstance:{}", JSONObject.toJSONString(historicTaskInstance));
StringBuilder userSids = new StringBuilder();
staffList.getData().forEach(f->{
userSids.append(f).append(",");
});
userSids.deleteCharAt(userSids.length() - 1);
MessageFlowableQuery mfq = new MessageFlowableQuery();
mfq.setAppMap(app);
mfq.setBusinessSid(flowableShareQuery.getBusinessSid());
mfq.setMsgContent("分享的流程审批,请查看");
mfq.setUserSid(flowableShareQuery.getUserSid());
mfq.setUserSids(userSids.toString());
UpdateFlowFieldVo uff = new UpdateFlowFieldVo();
uff.setTaskDefKey(taskDefKey);
uff.setTaskId(taskId);
uff.setProcInsId(proInstId);
uff.setProcDefId(modelId);
Map<String, String> process = processService.getProcessDefByDefId(historicTaskInstance.getProcessDefinitionId());
log.info("分享成功-process:{}", process);
if (process == null) {
log.info("分享失败,流程定义不存在!");
return rb.setMsg("分享失败,流程定义不存在!");
}
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(uff, messageFlowVo);
mfq.setUfVo(messageFlowVo);
mfq.setModuleName(process.get("NAME_"));
mfq.setMsgTitle(process.get("NAME_"));
ResultBean<String> resultBean = messageFeign.pushMessageCC(mfq);
log.info("分享成功-resultBean:{}", resultBean);
if (!resultBean.getSuccess()) {
log.info("分享失败,分享消息异常!:{}", JSONObject.toJSONString(resultBean));
return rb.setMsg("分享失败,分享消息异常!");
}
return rb.success();
}
} }

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentMapper.xml

@ -14,7 +14,7 @@
select * from process_comment where processId=#{processId} select * from process_comment where processId=#{processId}
</select> </select>
<insert id="insertByDto" parameterType="com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto"> <insert id="insertByDto" parameterType="com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto">
insert into `process_comment` ( `sid`, `reviewer`, `reviewerSid`, `time`, `content`, `processId`, `processInstSid`) insert into `process_comment` ( `sid`, `reviewer`, `reviewerSid`, `time`, `content`, `processId`, `processInstSid`,processFile)
values(#{sid},#{reviewer},#{reviewerSid},#{time},#{content},#{processId},#{processInstSid}); values(#{sid},#{reviewer},#{reviewerSid},#{time},#{content},#{processId},#{processInstSid},#{processFile});
</insert> </insert>
</mapper> </mapper>

9
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentRest.java

@ -26,6 +26,7 @@
package com.yxt.anrui.flowable.biz.processcomment; package com.yxt.anrui.flowable.biz.processcomment;
import com.yxt.anrui.flowable.api.processcomment.*; import com.yxt.anrui.flowable.api.processcomment.*;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -36,7 +37,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID;
/** /**
* Project: processcomment(流程评论) <br/> * Project: processcomment(流程评论) <br/>
@ -59,6 +59,9 @@ public class ProcessCommentRest implements ProcessCommentFeign {
@Autowired @Autowired
private ProcessCommentService processCommentService; private ProcessCommentService processCommentService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Override @Override
@ApiOperation("根据条件分页查询数据的列表") @ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage") @PostMapping("/listPage")
@ -74,6 +77,10 @@ public class ProcessCommentRest implements ProcessCommentFeign {
public ResultBean save(@RequestBody ProcessCommentDto dto){ public ResultBean save(@RequestBody ProcessCommentDto dto){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
dto.setTime(new Date()); dto.setTime(new Date());
if(!dto.getFileList().isEmpty()){
String processFile = String.join(",", dto.getFileList()).replaceAll(fileUploadComponent.getUrlPrefix(), "");
dto.setProcessFile(processFile);
}
processCommentService.saveOrUpdateDto(dto); processCommentService.saveOrUpdateDto(dto);
return rb.success(); return rb.success();
} }

11
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentService.java

@ -29,24 +29,23 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.flowable.api.flowtask.AppUserVo; import com.yxt.anrui.flowable.api.flowtask.AppUserVo;
import com.yxt.anrui.flowable.api.flowtask.TaskUserInfo;
import com.yxt.anrui.flowable.api.processcomment.*; import com.yxt.anrui.flowable.api.processcomment.*;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
/** /**
* Project: processcomment(流程评论) <br/> * Project: processcomment(流程评论) <br/>
@ -119,6 +118,10 @@ public class ProcessCommentService extends MybatisBaseService<ProcessCommentMapp
public List<ProcessCommentVo> getCommentList(String processId) { public List<ProcessCommentVo> getCommentList(String processId) {
List<ProcessCommentVo> commentList = baseMapper.getCommentList(processId); List<ProcessCommentVo> commentList = baseMapper.getCommentList(processId);
for(ProcessCommentVo histIns:commentList){ for(ProcessCommentVo histIns:commentList){
if(StringUtils.isNotBlank(histIns.getProcessFile())){
List<String> processFile = Arrays.asList(histIns.getProcessFile().split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
histIns.setFileList(processFile);
}
ResultBean<List<SysUserVo>> sysUserVoResultBean = sysUserFeign.fetchBySids(histIns.getReviewerSid());// sysUserService.selectUserById(Long.parseLong(histIns.getAssignee())); ResultBean<List<SysUserVo>> sysUserVoResultBean = sysUserFeign.fetchBySids(histIns.getReviewerSid());// sysUserService.selectUserById(Long.parseLong(histIns.getAssignee()));
List<SysUserVo> data1 = sysUserVoResultBean.getData(); List<SysUserVo> data1 = sysUserVoResultBean.getData();
for( SysUserVo data:data1){ for( SysUserVo data:data1){

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/feign/MessageFeign.java

@ -16,4 +16,8 @@ public interface MessageFeign {
@ApiOperation("流程审批推送消息") @ApiOperation("流程审批推送消息")
@PostMapping("/pushMessageCC") @PostMapping("/pushMessageCC")
ResultBean<String> pushMessageCC(@RequestBody MessageFlowableQuery query); ResultBean<String> pushMessageCC(@RequestBody MessageFlowableQuery query);
@ApiOperation("分享")
@PostMapping("/pushMessageShare")
ResultBean<String> pushMessageShare(@RequestBody MessageFlowableQuery query);
} }

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/feign/form/MessageFlowableQuery.java

@ -30,4 +30,6 @@ public class MessageFlowableQuery implements Query {
@ApiModelProperty("抄送的用户的sid") @ApiModelProperty("抄送的用户的sid")
private String userSids; private String userSids;
private String userSid;
} }

3
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoVo.java

@ -47,4 +47,7 @@ public class FlowTaskDoVo implements Vo {
@ApiModelProperty("办理的url") @ApiModelProperty("办理的url")
@JsonIgnore @JsonIgnore
private SysProUrlVo sysProUrlVo; private SysProUrlVo sysProUrlVo;
@ApiModelProperty("流程ID")
private String procDefId;
} }

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

@ -19,8 +19,9 @@ import java.util.Map;
@Data @Data
public class FlowTaskFinishVo implements Vo { public class FlowTaskFinishVo implements Vo {
private static final long serialVersionUID = -5936470750210770833L; private static final long serialVersionUID = -5936470750210770833L;
@ApiModelProperty("流程ID")
@ApiModelProperty(value = "流程id") private String procDefId;
@ApiModelProperty(value = "流程部署id")
private String deployId; private String deployId;
@ApiModelProperty(value = "流程实例id") @ApiModelProperty(value = "流程实例id")
private String procInsId; private String procInsId;

1
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java

@ -89,6 +89,7 @@ public class SysUserVo implements Vo {
private String defaultOrgPathName; private String defaultOrgPathName;
private String defaultDeptName; private String defaultDeptName;
private String defaultDeptSid;
@ApiModelProperty("是否需要更换密码") @ApiModelProperty("是否需要更换密码")
private Boolean needResetPsd; private Boolean needResetPsd;

2
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/OrgList.java

@ -16,4 +16,6 @@ public class OrgList implements Vo {
private String orgPath; private String orgPath;
private String deptName; private String deptName;
private String deptSid;
} }

12
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

@ -390,6 +390,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
if (sysUserDefaultOrg == null) { if (sysUserDefaultOrg == null) {
String orgNamePath = ""; String orgNamePath = "";
String defaultDeptName = ""; String defaultDeptName = "";
String defaultDeptSid = "";
userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath()); userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath());
if (StringUtils.isNotBlank(sysStaffOrg.getOrgSidPath())) { if (StringUtils.isNotBlank(sysStaffOrg.getOrgSidPath())) {
List<String> split = Arrays.asList(sysStaffOrg.getOrgSidPath().split("/")); List<String> split = Arrays.asList(sysStaffOrg.getOrgSidPath().split("/"));
@ -399,15 +400,18 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1));
orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName(); orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName();
defaultDeptName = sysOrganization1.getName(); defaultDeptName = sysOrganization1.getName();
defaultDeptSid = sysOrganization1.getSid();
} else { } else {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0));
orgNamePath = sysOrganization.getName(); orgNamePath = sysOrganization.getName();
defaultDeptName = sysOrganization.getName(); defaultDeptName = sysOrganization.getName();
defaultDeptSid = sysOrganization.getSid();
} }
} }
// userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath()); // userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath());
userInfoOneVo.setDefaultOrgPathName(orgNamePath); userInfoOneVo.setDefaultOrgPathName(orgNamePath);
userInfoOneVo.setDefaultDeptName(defaultDeptName); userInfoOneVo.setDefaultDeptName(defaultDeptName);
userInfoOneVo.setDefaultDeptSid(defaultDeptSid);
} else { } else {
String orgNamePath = ""; String orgNamePath = "";
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid()); List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid());
@ -418,6 +422,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
} }
userInfoOneVo.setDefaultOrgPath(sysUserDefaultOrg.getOrgSidPath()); userInfoOneVo.setDefaultOrgPath(sysUserDefaultOrg.getOrgSidPath());
String defaultDeptName = ""; String defaultDeptName = "";
String defaultDeptSid = "";
if (StringUtils.isNotBlank(sysUserDefaultOrg.getOrgSidPath())) { if (StringUtils.isNotBlank(sysUserDefaultOrg.getOrgSidPath())) {
List<String> split = Arrays.asList(sysUserDefaultOrg.getOrgSidPath().split("/")); List<String> split = Arrays.asList(sysUserDefaultOrg.getOrgSidPath().split("/"));
if (split.size() > 1) { if (split.size() > 1) {
@ -426,14 +431,17 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1)); SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1));
orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName(); orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName();
defaultDeptName = sysOrganization1.getName(); defaultDeptName = sysOrganization1.getName();
defaultDeptSid = sysOrganization1.getSid();
} else { } else {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0));
orgNamePath = sysOrganization.getName(); orgNamePath = sysOrganization.getName();
defaultDeptName = sysOrganization.getName(); defaultDeptName = sysOrganization.getName();
defaultDeptSid = sysOrganization.getSid();
} }
} }
userInfoOneVo.setDefaultOrgPathName(orgNamePath); userInfoOneVo.setDefaultOrgPathName(orgNamePath);
userInfoOneVo.setDefaultDeptName(defaultDeptName); userInfoOneVo.setDefaultDeptName(defaultDeptName);
userInfoOneVo.setDefaultDeptSid(defaultDeptSid);
} }
} }
} }
@ -452,6 +460,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
orgList1.setOrgName(vv.getOrgNamePath()); orgList1.setOrgName(vv.getOrgNamePath());
String orgName = ""; String orgName = "";
String deptName = ""; String deptName = "";
String deptSid = "";
if (StringUtils.isNotBlank(vv.getOrgSidPath())) { if (StringUtils.isNotBlank(vv.getOrgSidPath())) {
List<String> split = Arrays.asList(vv.getOrgSidPath().split("/")); List<String> split = Arrays.asList(vv.getOrgSidPath().split("/"));
if(split.size()>1){ if(split.size()>1){
@ -460,10 +469,12 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size()-1)); SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size()-1));
orgName = sysOrganization.getName()+"/"+sysOrganization1.getName(); orgName = sysOrganization.getName()+"/"+sysOrganization1.getName();
deptName = sysOrganization1.getName(); deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
}else{ }else{
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0)); SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0));
orgName = sysOrganization.getName(); orgName = sysOrganization.getName();
deptName = sysOrganization.getName(); deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
} }
/*String[] split = vv.getOrgSidPath().split("/"); /*String[] split = vv.getOrgSidPath().split("/");
for (int i = 0; i < split.length; i++) { for (int i = 0; i < split.length; i++) {
@ -481,6 +492,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
}*/ }*/
orgList1.setOrgName(orgName); orgList1.setOrgName(orgName);
orgList1.setDeptName(deptName); orgList1.setDeptName(deptName);
orgList1.setDeptSid(deptSid);
} }
orgList.add(orgList1); orgList.add(orgList1);
} }

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundquery/ScmApplyInboundQueryService.java

@ -284,7 +284,7 @@ public class ScmApplyInboundQueryService extends MybatisBaseService<ScmApplyInbo
//批号:FLot //批号:FLot
sf.setFLot(scmApplyInboundVehQueryDetailsVo.getVinNo()); sf.setFLot(scmApplyInboundVehQueryDetailsVo.getVinNo());
//物料编码:FMaterialId (必填项) //物料编码:FMaterialId (必填项)
sf.setFMaterialId(scmApplyInboundVehQueryDetailsVo.getVinNo().substring(scmApplyInboundVehQueryDetailsVo.getVinNo().length() - 8)); sf.setFMaterialId(scmApplyInboundVehQueryDetailsVo.getVinNo());
//仓库:FStockId-目前只分在途和正式两个仓库。 //仓库:FStockId-目前只分在途和正式两个仓库。
//仓库编码 //仓库编码
sf.setFStockId("ARZSCK"); sf.setFStockId("ARZSCK");

11
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/AppFeign.java

@ -1,6 +1,9 @@
package com.yxt.anrui.terminal.api.app; package com.yxt.anrui.terminal.api.app;
import com.yxt.anrui.terminal.api.app.flowable.*; import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordAndCommentVo;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordQuery;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordVo;
import com.yxt.anrui.terminal.api.app.flowable.ProcessComment;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -12,7 +15,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @Author dimengzhe * @Author dimengzhe
@ -41,4 +43,9 @@ public interface AppFeign {
@PostMapping("/addProgressComment") @PostMapping("/addProgressComment")
@ResponseBody @ResponseBody
ResultBean addProgressComment(@RequestBody @Valid ProcessComment processComment); ResultBean addProgressComment(@RequestBody @Valid ProcessComment processComment);
@ApiOperation("分享")
@PostMapping("/shareMessage")
@ResponseBody
ResultBean shareMessage(@Valid @RequestBody ShareMessageQuery shareMessageQuery);
} }

36
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/ShareMessageQuery.java

@ -0,0 +1,36 @@
package com.yxt.anrui.terminal.api.app;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/3/7 13:49
* @Description
*/
@Data
public class ShareMessageQuery implements Query {
private static final long serialVersionUID = 7606857713785882692L;
@NotBlank(message = "参数错误:taskId")
private String taskId;
@NotBlank(message = "taskDefKey")
private String taskDefKey;
@NotBlank(message = "procInsId")
private String procInsId;
@NotBlank(message = "procDefId")
private String procDefId;
@ApiModelProperty("人员")
private List<String> members = new ArrayList<>();
@ApiModelProperty("部门")
private List<String> groups = new ArrayList<>();
@NotBlank(message = "参数错误:userSid")
private String userSid;
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
}

8
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessComment.java

@ -26,16 +26,14 @@
package com.yxt.anrui.terminal.api.app.flowable; package com.yxt.anrui.terminal.api.app.flowable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import java.util.ArrayList;
import java.util.Date; import java.util.List;
/** /**
* Project: processcomment(流程评论) <br/> * Project: processcomment(流程评论) <br/>
@ -67,5 +65,7 @@ public class ProcessComment implements Vo {
private String procInsId; // 评论的流程id private String procInsId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid") @ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid private String processInstSid; // 评论的流程实列的sid
@ApiModelProperty("附件")
private List<String> fileList = new ArrayList<>();
} }

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessCommentVo.java

@ -27,14 +27,13 @@ package com.yxt.anrui.terminal.api.app.flowable;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -66,5 +65,7 @@ public class ProcessCommentVo implements Vo {
@ApiModelProperty(value = "环节的办理人信息") @ApiModelProperty(value = "环节的办理人信息")
@JsonProperty("handleBean") @JsonProperty("handleBean")
private AppUserVo taskUserInfo; private AppUserVo taskUserInfo;
@ApiModelProperty("评论附件")
private List<String> fileList = new ArrayList<>();
} }

16
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppRest.java

@ -3,16 +3,17 @@ package com.yxt.anrui.terminal.biz.app;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.app.AppFeign; import com.yxt.anrui.terminal.api.app.AppFeign;
import com.yxt.anrui.terminal.api.app.flowable.*; import com.yxt.anrui.terminal.api.app.ShareMessageQuery;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordAndCommentVo;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordQuery;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordVo;
import com.yxt.anrui.terminal.api.app.flowable.ProcessComment;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import java.text.ParseException; import java.util.List;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Author dimengzhe * @Author dimengzhe
@ -54,4 +55,9 @@ public class AppRest implements AppFeign {
processComment.setReviewer(sysUserVoResultBean.getData().getName()); processComment.setReviewer(sysUserVoResultBean.getData().getName());
return appService.addProgressComment(processComment); return appService.addProgressComment(processComment);
} }
@Override
public ResultBean shareMessage(ShareMessageQuery shareMessageQuery) {
return appService.shareMessage(shareMessageQuery);
}
} }

52
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java

@ -2,11 +2,14 @@ package com.yxt.anrui.terminal.biz.app;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.FlowableShareQuery;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment; import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo; import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto; import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentFeign; import com.yxt.anrui.flowable.api.processcomment.ProcessCommentFeign;
import com.yxt.anrui.terminal.api.app.ShareMessageQuery;
import com.yxt.anrui.terminal.api.app.flowable.*; import com.yxt.anrui.terminal.api.app.flowable.*;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
@ -29,6 +32,8 @@ public class AppService {
private FlowTaskFeign flowTaskFeign; private FlowTaskFeign flowTaskFeign;
@Autowired @Autowired
private ProcessCommentFeign processCommentFeign; private ProcessCommentFeign processCommentFeign;
@Autowired
private FlowableFeign flowableFeign;
public ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery) { public ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery) {
ResultBean<List<AppFlowableRecordVo>> rb = ResultBean.fireFail(); ResultBean<List<AppFlowableRecordVo>> rb = ResultBean.fireFail();
@ -38,8 +43,8 @@ public class AppService {
ResultBean<FlowRecordVo> resultBean = flowTaskFeign.businessFlowRecord(procInsId); ResultBean<FlowRecordVo> resultBean = flowTaskFeign.businessFlowRecord(procInsId);
List<AppFlowableRecordVo> voList = Optional.ofNullable(resultBean.getData().getFlowList()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), AppFlowableRecordVo.class)).collect(Collectors.toList()); List<AppFlowableRecordVo> voList = Optional.ofNullable(resultBean.getData().getFlowList()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), AppFlowableRecordVo.class)).collect(Collectors.toList());
voList.removeAll(Collections.singleton(null)); voList.removeAll(Collections.singleton(null));
for (int i=0;i<voList.size();i++) { for (int i = 0; i < voList.size(); i++) {
AppFlowableRecordVo vo=voList.get(i); AppFlowableRecordVo vo = voList.get(i);
if (vo.getFinishTime() != null) { if (vo.getFinishTime() != null) {
AppFlowCommentVo commentVo = vo.getComment(); AppFlowCommentVo commentVo = vo.getComment();
//类型 //类型
@ -52,14 +57,14 @@ public class AppService {
if (StringUtils.isNotBlank(stateValue)) { if (StringUtils.isNotBlank(stateValue)) {
String processEndTime = vo.getProcessEndTime(); String processEndTime = vo.getProcessEndTime();
vo.setStateValue(stateValue); vo.setStateValue(stateValue);
if(StringUtils.isNotBlank(processEndTime)&&i==0&&!"6".equals(type)){ if (StringUtils.isNotBlank(processEndTime) && i == 0 && !"6".equals(type)) {
vo.setStateValue("已办结");//流程已办结 vo.setStateValue("已办结");//流程已办结
} }
} }
if (StringUtils.isNotBlank(type)) { if (StringUtils.isNotBlank(type)) {
String processEndTime = vo.getProcessEndTime(); String processEndTime = vo.getProcessEndTime();
vo.setStateKey(type); vo.setStateKey(type);
if(StringUtils.isNotBlank(processEndTime)&&i==0&&!"6".equals(type)){ if (StringUtils.isNotBlank(processEndTime) && i == 0 && !"6".equals(type)) {
vo.setStateKey("8");//流程已办结 vo.setStateKey("8");//流程已办结
} }
@ -68,29 +73,30 @@ public class AppService {
} }
return rb.success().setData(voList); return rb.success().setData(voList);
} }
public ResultBean<List<AppFlowableRecordAndCommentVo>> getProgressAndCommentList(AppFlowableRecordQuery appFlowableRecordQuery) { public ResultBean<List<AppFlowableRecordAndCommentVo>> getProgressAndCommentList(AppFlowableRecordQuery appFlowableRecordQuery) {
ResultBean<List<AppFlowableRecordAndCommentVo>> rb = ResultBean.fireFail(); ResultBean<List<AppFlowableRecordAndCommentVo>> rb = ResultBean.fireFail();
ResultBean<List<AppFlowableRecordVo>> progressdata = getProgressList(appFlowableRecordQuery); ResultBean<List<AppFlowableRecordVo>> progressdata = getProgressList(appFlowableRecordQuery);
ResultBean<List<ProcessCommentVo>> commentList = getCommentList(appFlowableRecordQuery); ResultBean<List<ProcessCommentVo>> commentList = getCommentList(appFlowableRecordQuery);
List<AppFlowableRecordAndCommentVo> list=new ArrayList<>(); List<AppFlowableRecordAndCommentVo> list = new ArrayList<>();
List<AppFlowableRecordVo> progressList = progressdata.getData(); List<AppFlowableRecordVo> progressList = progressdata.getData();
progressList.forEach(f->{ progressList.forEach(f -> {
AppFlowableRecordAndCommentVo a=new AppFlowableRecordAndCommentVo(); AppFlowableRecordAndCommentVo a = new AppFlowableRecordAndCommentVo();
a.setTime(f.getFinishTime()==null?new Date():f.getFinishTime()); a.setTime(f.getFinishTime() == null ? new Date() : f.getFinishTime());
// a.setTime(f.getCreateTime()); // a.setTime(f.getCreateTime());
a.setFlowableRecordVo(f); a.setFlowableRecordVo(f);
a.setState(0+""); a.setState(0 + "");
list.add(a); list.add(a);
}); });
commentList.getData().forEach(f->{ commentList.getData().forEach(f -> {
AppFlowableRecordAndCommentVo a=new AppFlowableRecordAndCommentVo(); AppFlowableRecordAndCommentVo a = new AppFlowableRecordAndCommentVo();
Date time = f.getCreateTime(); Date time = f.getCreateTime();
a.setTime(time); a.setTime(time);
f.setTitle(f.getTaskUserInfo().getAssigneeName()+"添加了评论"); f.setTitle(f.getTaskUserInfo().getAssigneeName() + "添加了评论");
a.setProcessCommentVo(f); a.setProcessCommentVo(f);
a.setState(1+""); a.setState(1 + "");
list.add(a); list.add(a);
}); });
list.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime())); list.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime()));
@ -101,12 +107,12 @@ public class AppService {
ResultBean<List<ProcessCommentVo>> rb = ResultBean.fireFail(); ResultBean<List<ProcessCommentVo>> rb = ResultBean.fireFail();
ResultBean<List<com.yxt.anrui.flowable.api.processcomment.ProcessCommentVo>> commentList = ResultBean<List<com.yxt.anrui.flowable.api.processcomment.ProcessCommentVo>> commentList =
processCommentFeign.getCommentList(appFlowableRecordQuery.getProgressId()); processCommentFeign.getCommentList(appFlowableRecordQuery.getProgressId());
List<ProcessCommentVo> list=new ArrayList<>(); List<ProcessCommentVo> list = new ArrayList<>();
commentList.getData().forEach(f->{ commentList.getData().forEach(f -> {
ProcessCommentVo processCommentVo = new ProcessCommentVo(); ProcessCommentVo processCommentVo = new ProcessCommentVo();
BeanUtil.copyProperties(f,processCommentVo); BeanUtil.copyProperties(f, processCommentVo);
processCommentVo.setCreateTime(f.getTime()); processCommentVo.setCreateTime(f.getTime());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(f.getTime()); String format = sdf.format(f.getTime());
processCommentVo.setTime(format); processCommentVo.setTime(format);
list.add(processCommentVo); list.add(processCommentVo);
@ -115,10 +121,18 @@ public class AppService {
} }
public ResultBean addProgressComment(ProcessComment processComment) { public ResultBean addProgressComment(ProcessComment processComment) {
ProcessCommentDto dto=new ProcessCommentDto(); ProcessCommentDto dto = new ProcessCommentDto();
BeanUtil.copyProperties(processComment,dto); BeanUtil.copyProperties(processComment, dto);
String procInsId = processComment.getProcInsId(); String procInsId = processComment.getProcInsId();
dto.setProcessId(procInsId); dto.setProcessId(procInsId);
return processCommentFeign.save(dto); return processCommentFeign.save(dto);
} }
public ResultBean shareMessage(ShareMessageQuery shareMessageQuery) {
ResultBean rb = ResultBean.fireFail();
FlowableShareQuery flowableShareQuery = new FlowableShareQuery();
BeanUtil.copyProperties(shareMessageQuery, flowableShareQuery);
ResultBean resultBean = flowableFeign.shareFlowable(flowableShareQuery);
return rb.success();
}
} }

Loading…
Cancel
Save