Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 3 years ago
parent
commit
1854142725
  1. 28
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/AppBaseVehicleActualDetailsVo.java
  2. 34
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/AppBaseVehicleActualSalesVo.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeign.java
  4. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeignFallback.java
  5. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java
  6. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java
  7. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  8. 39
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CommonContractEnum.java
  9. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsMapper.java
  10. 13
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsMapper.xml
  11. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsService.java
  12. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.java
  13. 12
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.xml
  14. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesRest.java
  15. 19
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  16. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java
  17. 30
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml
  18. 63
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  19. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  20. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  21. 18
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/chooseVinNo.vue
  22. 31
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expense.vue
  23. 31
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expenseAdd.vue
  24. 15
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expenseInfo.vue
  25. 18
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/chooseVinNo.vue
  26. 56
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongDaiBanInfo.vue
  27. 32
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongEdit.vue
  28. 22
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongYiBanInfo.vue
  29. 1
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  30. 52
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java
  31. 46
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java
  32. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  33. 73
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  34. 51
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java
  35. 23
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java
  36. 53
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbService.java
  37. 47
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java
  38. 47
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java
  39. 18
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/appversion/AppVersionFeign.java
  40. 10
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/appversion/AppVersionFeignFallback.java
  41. 15
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/appversion/AppVersionRest.java
  42. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceDto.java
  43. 96
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeign.java
  44. 96
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeignFallback.java
  45. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModPriceCompleteDto.java
  46. 43
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModPriceTaskQuery.java
  47. 40
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceDetailVo.java
  48. 73
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceDto.java
  49. 74
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelDto.java
  50. 34
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelVo.java
  51. 24
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceQuery.java
  52. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/SubmitModelModPriceDto.java
  53. 33
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutDetailsListVo.java
  54. 57
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutFeign.java
  55. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutFeignFallback.java
  56. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutVo.java
  57. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/flowable/UnsoldBuyoutDto.java
  58. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/flowable/UnsoldBuyoutQuery.java
  59. 47
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/flowable/UnsoldBuyoutTaskQuery.java
  60. 102
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/modelAdjust/AppBaseModelModpriceRest.java
  61. 197
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/modelAdjust/AppBaseModelModpriceService.java
  62. 56
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/unsoldBuyout/UnsoldBuyoutRest.java
  63. 139
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/unsoldBuyout/UnsoldBuyoutService.java

28
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/AppBaseVehicleActualDetailsVo.java

@ -0,0 +1,28 @@
package com.yxt.anrui.base.api.basevehicleactualdetails;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/8/19 16:21
* @Description
*/
@Data
public class AppBaseVehicleActualDetailsVo implements Vo {
private static final long serialVersionUID = -6237072988523435649L;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("入库日期")
private String inboundDate;
@ApiModelProperty("入库价")
private String inboundPrice;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
}

34
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/AppBaseVehicleActualSalesVo.java

@ -0,0 +1,34 @@
package com.yxt.anrui.base.api.basevehicleactualsales;
import com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetailsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/8/19 16:20
* @Description
*/
@Data
public class AppBaseVehicleActualSalesVo implements Vo {
private static final long serialVersionUID = -6036087210697416311L;
@ApiModelProperty("未售买断sid")
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请日期")
private String date;
@ApiModelProperty("买断原因")
private String reason;
private List<AppBaseVehicleActualDetailsVo> records;
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeign.java

@ -79,4 +79,9 @@ public interface BaseVehicleActualSalesFeign {
@PostMapping(value = "/breakProcess")
@ResponseBody
public ResultBean breakProcess(@Valid @RequestBody BaseActualSalesTaskQuery query);
@ApiOperation(value = "app移动端未售买断详情")
@GetMapping(value = "/getUnsoldBuyout/{sid}")
@ResponseBody
ResultBean<AppBaseVehicleActualSalesVo> getUnsoldBuyout(@PathVariable("sid") String sid);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesFeignFallback.java

@ -69,4 +69,9 @@ public class BaseVehicleActualSalesFeignFallback implements BaseVehicleActualSal
public ResultBean breakProcess(BaseActualSalesTaskQuery query) {
return null;
}
@Override
public ResultBean<AppBaseVehicleActualSalesVo> getUnsoldBuyout(String sid) {
return null;
}
}

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java

@ -86,7 +86,8 @@ public class CommonContract extends BaseEntity {
@ApiModelProperty("身份证信息附件")
private String idImagesUrl;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("台数")

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java

@ -41,4 +41,7 @@ public class PrintConfirmDto implements Dto {
@ApiModelProperty("是否在保险公司购买保险:1是0否")
private String insuranceKey;
@ApiModelProperty("用户sid")
private String userSid;
}

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java

@ -19,6 +19,7 @@ public enum BillTypeEnum {
KCDDBGSQ("KCDDBG","库存地点变更申请"),
JYDDDJSQ("JYDDDJSQ","简易订单订金收取"),
JYDDCLYD("JYDDCLYD","简易订单车辆预定"),
XSDD("XSDD","销售订单"),
;
private String billType;

39
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CommonContractEnum.java

@ -0,0 +1,39 @@
package com.yxt.anrui.base.common.enums;
import lombok.Getter;
/**
* @Author dimengzhe
* @Date 2022/8/19 14:18
* @Description
*/
public class CommonContractEnum {
@Getter
public static enum contractType {
/**
* 新车买卖合同
*/
XC_CONTRACT("001", "新车买卖合同(订车、现车、欠款)");
/**
* code值
*/
private final String code;
/**
* 备注
*/
private final String remarks;
/**
* 构造器
*
* @param code code值
* @param remarks 备注
*/
private contractType(String code, String remarks) {
this.code = code;
this.remarks = remarks;
}
}
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsMapper.java

@ -1,9 +1,11 @@
package com.yxt.anrui.base.biz.basevehicleactualdetails;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetailsVo;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -42,4 +44,6 @@ public interface BaseVehicleActualDetailsMapper extends BaseMapper<BaseVehicleAc
* @return
*/
int deleteByActualSid(String s);
List<AppBaseVehicleActualDetailsVo> getList(@Param("sid") String sid, @Param("orgSid") String orgSid);
}

13
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsMapper.xml

@ -30,4 +30,17 @@
from base_vehicle_actual_details
where vehicleActualSid = #{s}
</delete>
<select id="getList" resultType="com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetailsVo">
select bd.modelName,
bd.vinNo,
DATE_FORMAT(bd.inboundDate, '%Y-%m-%d') as inboundDate,
bd.inboundPrice,
bv.modelSid,
bv.modelConfigSid as configSid
from base_vehicle_actual_details bd
left join base_vehicle bv on bv.vinNo = bd.vinNo
where bd.vehicleActualSid = #{sid}
and bv.createOrgSid = #{orgSid}
</select>
</mapper>

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsService.java

@ -1,5 +1,6 @@
package com.yxt.anrui.base.biz.basevehicleactualdetails;
import com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetailsVo;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsDto;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo;
@ -95,4 +96,8 @@ public class BaseVehicleActualDetailsService extends MybatisBaseService<BaseVehi
baseMapper.deleteByActualSid(stringList.get(i));
}
}
public List<AppBaseVehicleActualDetailsVo> getList(String sid,String orgSid) {
return baseMapper.getList(sid,orgSid);
}
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basevehicleactualsales.AppBaseVehicleActualSalesVo;
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSales;
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesDetailsVo;
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesVo;
@ -40,4 +41,6 @@ public interface BaseVehicleActualSalesMapper extends BaseMapper<BaseVehicleActu
int selectBySid(String list);
int updateFlowFiled(Map<String, Object> map);
AppBaseVehicleActualSalesVo getUnsoldBuyout(String sid);
}

12
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.xml

@ -49,4 +49,16 @@
</if>
WHERE sid = #{sid}
</update>
<select id="getUnsoldBuyout" resultType="com.yxt.anrui.base.api.basevehicleactualsales.AppBaseVehicleActualSalesVo">
select sid,
createBySid as userSid,
taskId,
procInstId as procInsId,
applicationName as applyName,
DATE_FORMAT(createTime, '%Y-%m-%d') as date,
reason
from base_vehicle_actual_sales
where sid = #{sid}
</select>
</mapper>

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesRest.java

@ -87,4 +87,9 @@ public class BaseVehicleActualSalesRest implements BaseVehicleActualSalesFeign {
public ResultBean breakProcess(BaseActualSalesTaskQuery query) {
return baseVehicleActualSalesService.breakProcess(query);
}
@Override
public ResultBean<AppBaseVehicleActualSalesVo> getUnsoldBuyout(String sid) {
return baseVehicleActualSalesService.getUnsoldBuyout(sid);
}
}

19
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -5,8 +5,8 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleUpdateQuery;
import com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetailsVo;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsDto;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo;
@ -283,6 +283,9 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setOrgSidPath(orgSidPath);
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getUserSid());
@ -527,4 +530,18 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean<AppBaseVehicleActualSalesVo> getUnsoldBuyout(String sid) {
ResultBean<AppBaseVehicleActualSalesVo> rb = ResultBean.fireFail();
AppBaseVehicleActualSalesVo vo = baseMapper.getUnsoldBuyout(sid);
if (vo == null) {
return rb.setMsg("未售买断信息不存在");
}
//查询分公司sid
String orgSid = sysStaffOrgFeign.getPathSidByUserSid(vo.getUserSid()).getData();
//查询未售买断的车辆信息
List<AppBaseVehicleActualDetailsVo> records = baseVehicleActualDetailsService.getList(sid, orgSid);
vo.setRecords(records);
return rb.success().setData(vo);
}
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java

@ -5,13 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelExportVo;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.common.core.result.ResultBean;
import org.apache.ibatis.annotations.*;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(安瑞基础) <br/>
@ -80,4 +77,6 @@ public interface CommonContractMapper extends BaseMapper<CommonContract> {
* @return
*/
AppCommonContractInitVo getContractInfo(@Param("contractSid") String contractSid, @Param("staffSid") String staffSid);
int selectNum(String bill);
}

30
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml

@ -23,8 +23,11 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.base.api.commoncontract.CommonContractVo">
SELECT * FROM common_contract
<where>${ew.sqlSegment}</where>
SELECT *
FROM common_contract
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectCountByTypeAndOrgAndCreateDate" resultType="int">
@ -35,8 +38,7 @@
AND createDate = #{createDate}
</select>
<select id="listExcel" resultType="com.yxt.anrui.base.api.commoncontract.CommonContractExportVo">
SELECT
cc.`contractNo`,
SELECT cc.`contractNo`,
cc.`contractType`,
cc.`partyA`,
cc.`partyB`,
@ -47,11 +49,12 @@
cc.`deposit`,
cc.`contractAmount`,
cc.`remarks`
FROM
common_contract cc
FROM common_contract cc
LEFT JOIN anrui_portal.`sys_user` suser
ON cc.createBySid = suser.`sid`
<where>${ew.sqlSegment}</where>
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectCreatSidByName" resultType="java.lang.String">
SELECT sid
@ -65,8 +68,7 @@
</select>
<select id="getContractList" resultType="com.yxt.anrui.base.api.commoncontract.AppCommonContractPageVo">
SELECT
sid AS contractSid,
SELECT sid AS contractSid,
contractNo AS contractId,
contractTypeKey AS contractType,
partyB,
@ -74,7 +76,9 @@
contractAmount AS contractPrice,
nodeState
FROM common_contract
<where>${ew.sqlSegment}</where>
<where>
${ew.sqlSegment}
</where>
</select>
<!--移动端-初始化合同审核-->
@ -102,4 +106,10 @@
#{item}
</foreach>
</delete>
<select id="selectNum" resultType="int">
select IFNULL(CAST(REPLACE(MAX(contractNo), #{bill}, '') AS SIGNED),0) as code
from common_contract
where contractNo LIKE concat(#{bill}, '%')
</select>
</mapper>

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

@ -11,6 +11,10 @@ import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService;
import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService;
import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.CommonContractEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.busdeposit.BusDepositFeign;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousFeign;
@ -26,6 +30,7 @@ import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -49,6 +54,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.math.BigDecimal;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.*;
@ -1186,6 +1192,9 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
map.put("priceRemarks", priceRemarks);
map.put("depositTotal", depositTotal);
map.put("address", address);
//生成合同编号
String contractNo = getApplyCode(dto.getUserSid());
map.put("contractNo", contractNo);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
@ -1219,11 +1228,63 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
printConfirmVo.setDownloadUrl(future2.get());
list.add(printConfirmVo);
}
//生成合同数据
Future<String> future3 = pool.submit(() -> {
//新增合同信息
CommonContract commonContract = new CommonContract();
//合同编号
commonContract.setContractNo(contractNo);
//合同类型
commonContract.setContractTypeKey(CommonContractEnum.contractType.XC_CONTRACT.getCode());
commonContract.setContractType(CommonContractEnum.contractType.XC_CONTRACT.getRemarks());
//客户sid
commonContract.setCustomerSid(appOrderDetailsVo.getCustomerSid());
//业务员sid、业务员
commonContract.setStaffSid(appOrderDetailsVo.getUserSid());
commonContract.setStaffName(appOrderDetailsVo.getSellerName());
//分公司sid
commonContract.setOrgSid(appOrderDetailsVo.getOrgSid());
//业务表sid
commonContract.setBusSid(dto.getBusSid());
//甲方名称、乙方名称、其他方名称、
commonContract.setPartyA(createOrgName);
commonContract.setPartyB(customerName);
//签订日期、签订地点
//订金、合同金额
commonContract.setDeposit(new BigDecimal(depositTotal));
//合同附件
//身份证信息附件
//车型sid
commonContract.setModelSid(appOrderModelInfoVo.getModelSid());
//车型名称
commonContract.setModelName(appOrderModelInfoVo.getModelName());
//车辆台数
commonContract.setNum(Integer.valueOf(num).intValue());
//车辆单价
commonContract.setPrice(new BigDecimal(transactionPrice));
//单台订金
commonContract.setOneDeposit(new BigDecimal(depositInfo.getDeposit()));
save(commonContract);
return commonContract.getSid();
});
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("生成文件失败");
}
return rb.success().setData(list);
}
public String getApplyCode(String userSid) {
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.XSDD.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
}

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -74,6 +74,7 @@
, '%')
</if>
</where>
order by bo.id
</select>
<!--根据销售订单sid查询车型信息-->
<select id="selectModelInfoByOrderSid"

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -1153,7 +1153,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
qw.eq("bo.staffSid", query.getStaffSid());
}
}
qw.orderByDesc("bo.id");
return qw;
}
@ -1978,10 +1977,14 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
ResultBean<List<AppBaseVehicleOrderVo>> orderVoResultBean = baseVehicleFeign.selectAppList(modelSid, configSid, orgSid);
if (orderVoResultBean.getSuccess()) {
List<AppBaseVehicleOrderVo> voList = orderVoResultBean.getData();
voList.removeAll(Collections.singleton(null));
if(!voList.isEmpty()){
for (AppBaseVehicleOrderVo vehicleOrderVo : voList) {
vinNoList.add(vehicleOrderVo.getVin());
}
}
}
//该销售订单所选择的现车的列表
List<AppNowCarListVo> nowCarList = busSalesOrderVehicleService.selectAppDetailsVoBySaleOrderSid(sid);
nowCarList.removeAll(Collections.singleton(null));
@ -2020,6 +2023,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
ResultBean<List<AppBusVehicleApplyListVo>> applyListResultBean = busVehicleApplyDetailFeign.getAppApplyList(modelSid, configSid);
if (applyListResultBean.getSuccess()) {
List<AppBusVehicleApplyListVo> applyListVos = applyListResultBean.getData();
applyListVos.removeAll(Collections.singleton(null));
if(!applyListVos.isEmpty()){
for (AppBusVehicleApplyListVo applyListVo : applyListVos) {
AppReadyCarVo appReadyCarVo = new AppReadyCarVo();
BeanUtil.copyProperties(applyListVo, appReadyCarVo);
@ -2042,6 +2047,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
map.put(applyListVo.getOrderId(), appReadyCarVo.getCanUseNum());
appReadyCar.add(appReadyCarVo);
}
}
appCarInfo.setReadyCar(appReadyCar);
//销售订单下的所选择的采购订单列表
List<AppReadyCarListVo> appReadyCarList = busSalesVehicleOrderService.selectAppDetailsVoBySaleOrderSid(sid);

18
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/chooseVinNo.vue

@ -18,8 +18,8 @@
</el-form-item>
</el-form>
<div class="btn" style="text-align: center">
<el-button type="primary" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" size="small" @click="handresetting">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handresetting">重置</el-button>
</div>
</div>
</div>
@ -166,18 +166,4 @@ export default {
}
</script>
<style scoped>
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
</style>

31
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expense.vue

@ -39,8 +39,8 @@
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" @click="handleReset" size="small">重置</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
@ -355,31 +355,4 @@ export default {
}
</script>
<style scoped>
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
.listtop {
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

31
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expenseAdd.vue

@ -10,9 +10,9 @@
</div>
</div>
<div class="listconadd">
<div class="titwu"><span>费用申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
@ -60,7 +60,7 @@
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
<el-input v-model="formobj.remarks" placeholder="更多配置" class="addinputw" style="margin-left: 105px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
@ -86,7 +86,7 @@
<el-button type="danger" style="margin-left: 5px" icon="el-icon-close" circle size="mini" @click="handledel(index)"></el-button>
</div>
</div>
<el-button type="primary" class="btnSelect" @click="handleSelect">选择</el-button>
<el-button type="primary" class="btnSelect" size="small" @click="handleSelect">选择</el-button>
</el-form-item>
</el-col>
</el-row>
@ -170,15 +170,14 @@ export default {
this.formobj.createTime = year + '-' + month + '-' + day
},
UpNumber(e) {
e.target.value = e.target.value.replace(/[^\d.-]/g, '') // ."-"
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/\-{2,}/g, '-') // -
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
e.target.value = e.target.value.replace(/[^\d]/g, '') // ."-"
e.target.value = e.target.value.replace(/^00/, '0') // 0
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
console.log(e.target.value)
e.target.value = parseFloat(e.target.value)
}
this.formobj.cost = e.target.value
},
showAdd() {
this.DataDictionary()
@ -346,25 +345,13 @@ export default {
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
margin-left: 105px !important;
width: 30% !important;
}
/deep/ .el-form-item__error {
margin-left: 120px;
}
.headline{
height: 40px;
padding: 0px 15px;

15
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expenseInfo.vue

@ -7,9 +7,9 @@
</div>
</div>
<div class="listconadd">
<div class="titwu"><span>费用申请</span></div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-row style="border-top: 1px solid #e0e3eb;">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
@ -97,20 +97,11 @@ export default {
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
margin-left: 105px !important;
}
.headline{
height: 40px;

18
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/chooseVinNo.vue

@ -18,8 +18,8 @@
</el-form-item>
</el-form>
<div class="btn" style="text-align: center">
<el-button type="primary" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" size="small" @click="handresetting">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handresetting">重置</el-button>
</div>
</div>
</div>
@ -166,18 +166,4 @@ export default {
}
</script>
<style scoped>
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
</style>

56
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongDaiBanInfo.vue

@ -3,15 +3,15 @@
<div class="tab-header webtop">
<div>费用详情</div>
<div>
<el-button type="primary" @click="openAgree('同意')"> </el-button>
<el-button type="danger" @click="openReject('驳回')"> </el-button>
<el-button type="danger" @click="openStop('终止')"> </el-button>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="">
<div class="titwu"><span>费用申请</span></div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
@ -68,16 +68,18 @@
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row v-show="currentLink">
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">当前环节</el-col>
<el-col :span="20" class="trightb">
<el-col :span="20">
<el-form-item prop="purchasingUnitName"><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-row :class="{ rowClass:!currentLink }">
<el-col :span="4" class="tleftb">意见</el-col>
<el-col :span="20" class="trightb">
<el-col :span="20">
<el-form-item>
<el-input size="small" v-model="dialogList.comment" placeholder="审批意见" clearable ></el-input>
</el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
@ -130,9 +132,7 @@ export default {
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
console.log(window.sessionStorage.getItem('orgSidPath'), 99999999)
this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
console.log(window.sessionStorage.getItem('userSid'), 99999999)
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
@ -145,7 +145,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
data: document.body.scrollHeight + 5 + 'px'
}
}, '*')
},
@ -165,7 +165,7 @@ export default {
openAgree(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
@ -200,10 +200,18 @@ export default {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
}
},
/** 同意任务 */
handleAgree() {
@ -301,14 +309,10 @@ export default {
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.spanOneWidth {
width: 110px !important;
@ -316,13 +320,6 @@ export default {
.addinputwOne {
margin-left: 120px !important;
}
.tleftb {
text-align: right;
font-size: 14px;
color: #606266;
line-height: 40px!important;
font-weight: 600;
}
.headline{
height: 40px;
padding: 10px;
@ -332,4 +329,7 @@ export default {
text-align: left;
color: #ffffff;
}
.rowClass {
border-top: 1px solid #e0e3eb;
}
</style>

32
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongEdit.vue

@ -9,9 +9,9 @@
</div>
</div>
<div class="">
<div class="titwu"><span>费用申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
@ -59,7 +59,7 @@
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
<el-input v-model="formobj.remarks" placeholder="更多配置" class="addinputw" style="margin-left: 105px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
@ -85,7 +85,7 @@
<el-button type="danger" style="margin-left: 5px" icon="el-icon-close" circle size="mini" @click="handledel(index)"></el-button>
</div>
</div>
<el-button type="primary" class="btnSelect" @click="handleSelect">选择</el-button>
<el-button type="primary" size="small" class="btnSelect" @click="handleSelect">选择</el-button>
</el-form-item>
</el-col>
</el-row>
@ -329,29 +329,18 @@ export default {
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
margin-left: 105px !important;
width: 30% !important;
}
.icon {
color: #e84026;
margin-right: 4px;
}
/deep/ .el-form-item__error {
margin-left: 120px;
}
.headline{
height: 40px;
padding: 0px 15px;
@ -361,9 +350,6 @@ export default {
color: #ffffff;
border: 1px solid #e0e3eb;
}
.btn_style {
color: #FFFFFF;
}
.linkNoSty {
display: inline-block;
padding-right: 10px;

22
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongYiBanInfo.vue

@ -3,13 +3,13 @@
<div class="tab-header webtop">
<div>费用详情</div>
<div>
<el-button type="danger" @click="openRevoke()"> </el-button>
<el-button type="danger" size="small" @click="openRevoke()"> </el-button>
</div>
</div>
<div class="">
<div class="titwu"><span>费用申请</span></div>
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
@ -107,7 +107,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
data: document.body.scrollHeight + 5 + 'px'
}
}, '*')
},
@ -171,20 +171,16 @@ export default {
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
margin-left: 105px !important;
}
.headline{
height: 40px;

1
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java

@ -64,4 +64,5 @@ public interface FinKingDeeFeign {
@PostMapping("/draftBdMaterial")
@ResponseBody
public ResultBean draftBdMaterial(@RequestBody BdMaterial bdMaterial) ;
}

52
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/purmrb/PurMrb.java

@ -21,57 +21,57 @@ public class PurMrb {
*/
@NotBlank
@JsonProperty("FDate")
private String FDate;
public String FDate;
/**
* 退料组织:FStockOrgId (必填项)
*/@NotBlank
@JsonProperty("FStockOrgId")
private String FStockOrgId;
public String FStockOrgId;
/**
* 需求组织:FRequireOrgId (必填项)
*/@NotBlank
@JsonProperty("FRequireOrgId")
private String FRequireOrgId;
public String FRequireOrgId;
/**
* 采购组织:FPurchaseOrgId (必填项)
*/@NotBlank
@JsonProperty("FPurchaseOrgId")
private String FPurchaseOrgId;
public String FPurchaseOrgId;
/**
* 供应商:FSupplierID (必填项)
*/@NotBlank
@JsonProperty("FSupplierID")
private String FSupplierID;
public String FSupplierID;
/**
* 接收方:FACCEPTORID
*/@NotBlank
@JsonProperty("FACCEPTORID")
private String FACCEPTORID;
public String FACCEPTORID;
/**
* 结算方:FSettleId
*/@NotBlank
@JsonProperty("FSettleId")
private String FSettleId;
public String FSettleId;
/**
* 收款方:FCHARGEID
*/@NotBlank
@JsonProperty("FCHARGEID")
private String FCHARGEID;
public String FCHARGEID;
/**
* 货主:FOwnerIdHead (必填项)
*/@NotBlank
@JsonProperty("FOwnerIdHead")
private String FOwnerIdHead;
public String FOwnerIdHead;
/**
* 结算组织:FSettleOrgId (必填项)
*/@NotBlank
@JsonProperty("FSettleOrgId")
private String FSettleOrgId;
public String FSettleOrgId;
/**
* 物料列表
*/@NotBlank
@JsonProperty("FPURMRBENTRY")
private List<FPURMRBENTRY> FPURMRBENTRY=new ArrayList<>();
public List<FPURMRBENTRY> FPURMRBENTRY=new ArrayList<>();
@Data
@ -80,76 +80,76 @@ public class PurMrb {
* 物料编码:FMATERIALID (必填项)
*/@NotBlank
@JsonProperty("FMATERIALID")
private String FMATERIALID;
public String FMATERIALID;
/**
* 物料说明:FMaterialDesc
*/@NotBlank
@JsonProperty("FMaterialDesc")
private String FMaterialDesc;
public String FMaterialDesc;
/**
* 库存单位:FUnitID (必填项)
*/@NotBlank
@JsonProperty("FUnitID")
private String FUnitID;
public String FUnitID;
/**
* 批号:FLot
*/@NotBlank
@JsonProperty("FLot")
private String FLot;
public String FLot;
/**
* 实退数量:FRMREALQTY
*/@NotBlank
@JsonProperty("FRMREALQTY")
private double FRMREALQTY;
public double FRMREALQTY;
/**
* 补料数量:FREPLENISHQTY
*/@NotBlank
@JsonProperty("FREPLENISHQTY")
private double FREPLENISHQTY;
public double FREPLENISHQTY;
/**
* 扣款数量:FKEAPAMTQTY
*/@NotBlank
@JsonProperty("FKEAPAMTQTY")
private double FKEAPAMTQTY;
public double FKEAPAMTQTY;
/**
* 计价单位:FPRICEUNITID (必填项)
*/@NotBlank
@JsonProperty("FPRICEUNITID")
private String FPRICEUNITID;
public String FPRICEUNITID;
/**
* 仓库:FSTOCKID
*/@NotBlank
@JsonProperty("FSTOCKID")
private String FSTOCKID;
public String FSTOCKID;
/**
* 库存状态:FStockStatusId
*/@NotBlank
@JsonProperty("FStockStatusId")
private String FStockStatusId;
public String FStockStatusId;
/**
* 计价基本数量:FPriceBaseQty
*/@NotBlank
@JsonProperty("FPriceBaseQty")
private double FPriceBaseQty;
public double FPriceBaseQty;
/**
* 采购单位:FCarryUnitId (必填项)
*/@NotBlank
@JsonProperty("FCarryUnitId")
private String FCarryUnitId;
public String FCarryUnitId;
/**
* 采购数量:FCarryQty
*/@NotBlank
@JsonProperty("FCarryQty")
private double FCarryQty;
public double FCarryQty;
/**
* 采购基本数量:FCarryBaseQty
*/@NotBlank
@JsonProperty("FCarryBaseQty")
private double FCarryBaseQty;
public double FCarryBaseQty;
}
private final static PurMrb purMrb = new PurMrb();
public final static PurMrb purMrb = new PurMrb();
static {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

46
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java

@ -14,78 +14,78 @@ import java.util.List;
*/
@Data
public class StkInStock {
private String sid;
public String sid;
/**
* //采购组织:FPurchaseOrgId (必填项)
*/@JsonProperty("FPurchaseOrgId")
@NotBlank
private String FPurchaseOrgId;
public String FPurchaseOrgId;
/**
* // 收料组织:FStockOrgId (必填项)
*/@JsonProperty("FStockOrgId")
@NotBlank
private String FStockOrgId;
public String FStockOrgId;
/**
* // 采购部门:FPurchaseDeptId (必填项)
*/@JsonProperty("FPurchaseDeptId")
@NotBlank
private String FPurchaseDeptId;
public String FPurchaseDeptId;
/**
* // 供应商:FSupplierId (必填项)
*/@JsonProperty("FSupplierId")
@NotBlank
private String FSupplierId;
public String FSupplierId;
/**
* // 入库日期:FDate (必填项)
*/@JsonProperty("FDate")
@NotBlank
private String FDate;
public String FDate;
/**
* // 货主:FOwnerIdHead (必填项)
*/@JsonProperty("FOwnerIdHead")
@NotBlank
private String FOwnerIdHead;
public String FOwnerIdHead;
/**
* // 单据类型:FBillTypeID (必填项)
*/@JsonProperty("FBillTypeID")
@NotBlank
private String FBillTypeID="RKD01_SYS";
public String FBillTypeID="RKD01_SYS";
/**
* // 货主类型:FOwnerTypeIdHead (必填项)
*/@JsonProperty("FOwnerTypeIdHead")
@NotBlank
private String FOwnerTypeIdHead;
public String FOwnerTypeIdHead;
/**
* // 定价时点:FPriceTimePoint (必填项)
*/@JsonProperty("FPriceTimePoint")
@NotBlank
private String FPriceTimePoint;
public String FPriceTimePoint;
/**
* // 结算币别:FSettleCurrId (必填项)
*/@JsonProperty("FSettleCurrId")
@NotBlank
private String FSettleCurrId;
public String FSettleCurrId;
/**
* // 结算组织:FSettleOrgId (必填项)
*/@JsonProperty("FSettleOrgId")
@NotBlank
private String FSettleOrgId;
public String FSettleOrgId;
/**
* // 物料列表:FInStockEntry (必填项)
*/@JsonProperty("FInStockEntry")
@NotBlank
private List<FInStockEntry> FInStockEntry=new ArrayList<>();
public List<FInStockEntry> FInStockEntry=new ArrayList<>();
@Data
public static class FInStockEntry{
@ -94,58 +94,58 @@ public class StkInStock {
* // 物料编码:FMaterialId (必填项)
*/@JsonProperty("FMaterialId")
@NotBlank
private String FMaterialId;
public String FMaterialId;
/**
* // 库存单位:FUnitID (必填项)
*/@JsonProperty("FUnitID")
@NotBlank
private String FUnitID;
public String FUnitID;
/**
* // 实收数量:FRealQty
*/@JsonProperty("FRealQty")
@NotBlank
private double FRealQty;
public double FRealQty;
/**
* // 计价数量:FPriceUnitQty
*/@JsonProperty("FPriceUnitQty")
@NotBlank
private String FPriceUnitQty;
public String FPriceUnitQty;
/**
* // 采购数量:FRemainInStockQty
*/@JsonProperty("FRemainInStockQty")
@NotBlank
private double FRemainInStockQty;
public double FRemainInStockQty;
/**
* // 批号:FLot
*/@JsonProperty("FLot")
@NotBlank
private String FLot;
public String FLot;
/**
* // 仓库:FStockId
*/@JsonProperty("FStockId")
@NotBlank
private String FStockId;
public String FStockId;
/**
* // 计价单位:FPriceUnitID (必填项)
*/@JsonProperty("FPriceUnitID")
@NotBlank
private String FPriceUnitID;
public String FPriceUnitID;
/**
* // 采购单位:FRemainInStockUnitId (必填项)
*/@JsonProperty("FRemainInStockUnitId")
@NotBlank
private String FRemainInStockUnitId;
public String FRemainInStockUnitId;
}
private final static StkInStock stkInStock = new StkInStock();
public final static StkInStock stkInStock = new StkInStock();
static {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -111,5 +111,4 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
public ResultBean draftBdMaterial(@RequestBody BdMaterial bdMaterial) {
return bdMaterialService.draftBdMaterial(bdMaterial);
}
}

73
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java

@ -7,7 +7,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 转换业务数据到金蝶的接口上
@ -16,14 +20,12 @@ import java.util.List;
public class FinKingDeeService {
public static final Logger log = LoggerFactory.getLogger(FinKingDeeService.class);
/**
* 调用金蝶的接口
* 调用金蝶的保存接口
* @param data
* @return
*/
public ResultBean<List<KingDeeResult>> saveBill(String formId,String data) throws Exception {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.SavePurRKD(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
@ -35,10 +37,8 @@ public class FinKingDeeService {
* @param data
* @return
*/
public ResultBean<List<KingDeeResult>> submitKingDeeBillData(String formId,String data) throws Exception {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
public ResultBean<List<KingDeeResult>> submitKingDeeBillData(String formId,String data) {
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.submitKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
@ -50,10 +50,8 @@ public class FinKingDeeService {
* @param data
* @return
*/
public ResultBean<List<KingDeeResult>> auditKingDeeBillData(String formId,String data) throws Exception {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
public ResultBean<List<KingDeeResult>> auditKingDeeBillData(String formId,String data) {
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.auditKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
@ -66,14 +64,59 @@ public class FinKingDeeService {
* @return
*/
public ResultBean<List<KingDeeResult>> allocateKingDeeBillData(String formId, String data) {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.allocateKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
private KingDeeParams getKingDeeParams(String formId, String data) {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
return kdp;
}
/**
* 构造map参数
* @param stringObjectMap
*/
public static Map<String, String> createMapParams(Map<String, Object> stringObjectMap) {
Map<String, String> map_fEntityModel_=new HashMap<>();
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
log.info("String key:{},value:{}",entry.getKey(),(String) entry.getValue());
map_fEntityModel_.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
log.info("Double key:{},value:{}",entry.getKey(),entry.getValue());
map_fEntityModel_.put(entry.getKey(), entry.getValue().toString());
}
}
return map_fEntityModel_;
}
public static Map<String,String> object2Map(Object obj) throws IllegalAccessException {
Map<String,String> map = new HashMap<String, String>();
Field[] fields = obj.getClass().getDeclaredFields();
for(Field field:fields){
log.info("key:{},value:{}",field.getName(),field.get(obj));
field.setAccessible(true);
if (field.get(obj)!=null && field.get(obj) instanceof String) {
map.put(field.getName(), (String) field.get(obj));
}else if(field.get(obj)!=null && field.get(obj) instanceof Double ){
map.put(field.getName(), field.get(obj).toString());
}
}
return map;
}
public static <T> List<Map<String, String>> createVehicleLists(List<T> objectList) throws IllegalAccessException {
ArrayList<Map<String, String>> resultList = new ArrayList<>();
for (T t : objectList) {
resultList.add(object2Map(t));
}
return resultList;
}
/**
* 调用金蝶接口的数据格式
*/

51
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java

@ -7,6 +7,7 @@ import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -23,57 +24,17 @@ public class ApPayBillService extends FinKingDeeService {
public ResultBean draftApPayBill(ApPayBill apPayBill) {
// apPayBill=ApPayBill.createApPayBill();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(apPayBill);
List<ApPayBill.FPAYBILLENTRY> fpaybillentrYs = apPayBill.getFPAYBILLENTRY();
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
map_fEntityModel_.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
map_fEntityModel_.put(entry.getKey(), entry.getValue().toString());
}
}
Map<String,String> map_fEntityModel_= object2Map(apPayBill);//createMapParams(stringObjectMap);
//准备 物料列表的数据 ForEntryBill
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForApPayBill(fpaybillentrYs);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = ApPayBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
List<ApPayBill.FPAYBILLENTRY> fpaybillentrYs = apPayBill.getFPAYBILLENTRY();
List<Map<String, String>> vehicleListMap = createVehicleLists(fpaybillentrYs);
String kingDeeData = ApPayBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return saveBill(KingDeeBillId.AP_PAYBILL.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 准备 物料列表的数据 ApPayBill
*/
private ResultBean<List<Map<String, String>>>
createVehicleListsForApPayBill(List<ApPayBill.FPAYBILLENTRY> vehicleList) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
//物料的数组集合
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
ApPayBill.FPAYBILLENTRY f= vehicleList.get(i);
Map<String,String> m=new HashMap<>();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(f);
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
log.info("String key:{},value:{}",entry.getKey(),(String) entry.getValue());
m.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
log.info("Double key:{},value:{}",entry.getKey(),entry.getValue());
m.put(entry.getKey(), entry.getValue().toString());
}
}
vehicleListMap.add(m);
}
return rb.success().setData(vehicleListMap);
}
}

23
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java

@ -20,7 +20,7 @@ import java.util.Map;
*/
@Service
public class BdMaterialService extends FinKingDeeService {
private static Logger log= LoggerFactory.getLogger("BdMaterialService");
private static Logger log= LoggerFactory.getLogger(BdMaterialService.class);
/**
* 保存采购出库单
* @param bdMaterial
@ -29,17 +29,10 @@ public class BdMaterialService extends FinKingDeeService {
public ResultBean draftBdMaterial(BdMaterial bdMaterial) {
// bdMaterial=BdMaterial.createBdMaterial();
ResultBean rb=ResultBean.fireFail();
Map<String,String> map_fEntityModel_=new HashMap<>();
//物料信息转map参数
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(bdMaterial);
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
//物料信息转map参数 需要按照不同的字段类型进行处理
if (entry.getValue() instanceof String) {
map_fEntityModel_.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
map_fEntityModel_.put(entry.getKey(), entry.getValue().toString());
}
}
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=createMapParams(stringObjectMap);
String kingDeeData = BdMaterialCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
try {
ResultBean<List<KingDeeResult>> resultBean = saveBill(KingDeeBillId.BD_MATERIAL.getID(), kingDeeData);
@ -63,12 +56,6 @@ public class BdMaterialService extends FinKingDeeService {
return rb.setMsg("物料审核失败!");
}
log.info("物料审核成功!");
String tOrgIds = bdMaterial.getTOrgIds();
if(StringUtils.isBlank(tOrgIds)){
//没有分配目标的组织架构的内码 不再调用分配的接口
return resultBean2;
}
String allocate = getAllocate(resultBean1,bdMaterial.getTOrgIds());
ResultBean<List<KingDeeResult>> resultBean3 = allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
@ -101,7 +88,6 @@ public class BdMaterialService extends FinKingDeeService {
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
//
return "{\"formId\":\"BD_MATERIAL\",\"data\":\"{\\\"PkIds\\\":\\\""+s+"\\\",\\\"TOrgIds\\\":\\\""+tOrgIds+"\\\",\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
}
@ -143,7 +129,4 @@ public class BdMaterialService extends FinKingDeeService {
return "{\"formId\":\"BD_MATERIAL\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\"}\"}";
}
}

53
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbService.java

@ -1,15 +1,11 @@
package com.yxt.anrui.fin.biz.kingdee.purmrb;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -25,55 +21,16 @@ public class PurMrbService extends FinKingDeeService {
// purMrb=PurMrb.createPurMrb();
ResultBean rb=ResultBean.fireFail();
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(purMrb);
List<PurMrb.FPURMRBENTRY> fpurmrbentry = purMrb.getFPURMRBENTRY();
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
map_fEntityModel_.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
map_fEntityModel_.put(entry.getKey(), entry.getValue().toString());
}
}
//准备 物料列表的数据 ForEntryBill
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForPurMrb(fpurmrbentry);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = PurMrbCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
Map<String,String> map_fEntityModel_=object2Map(purMrb);
//准备 物料列表的数据 ForEntryBill
List<PurMrb.FPURMRBENTRY> fpurmrbentry = purMrb.getFPURMRBENTRY();
List<Map<String, String>> vehicleListMap = createVehicleLists(fpurmrbentry);
String kingDeeData = PurMrbCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return saveBill(KingDeeBillId.PUR_MRB.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 准备 物料列表的数据 StkInStock
*/
private ResultBean<List<Map<String, String>>>
createVehicleListsForPurMrb( List<PurMrb.FPURMRBENTRY> vehicleList) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
//物料的数组集合
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
PurMrb.FPURMRBENTRY f= vehicleList.get(i);
Map<String,String> m=new HashMap<>();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(f);
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
log.info("String key:{},value:{}",entry.getKey(),(String) entry.getValue());
m.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
log.info("Double key:{},value:{}",entry.getKey(),entry.getValue());
m.put(entry.getKey(), entry.getValue().toString());
}
}
vehicleListMap.add(m);
}
return rb.success().setData(vehicleListMap);
}
}

47
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java

@ -26,55 +26,18 @@ public class SalOutStockService extends FinKingDeeService {
public ResultBean draftSalOutStock(SalOutStock salOutStock) {
// salOutStock=SalOutStock.createSalOutStock();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(salOutStock);
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity();
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
map_fEntityModel_.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
map_fEntityModel_.put(entry.getKey(), entry.getValue().toString());
}
}
Map<String,String> map_fEntityModel_= object2Map(salOutStock);
//准备 物料列表的数据 ForEntryBill
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsFEntity(fEntity);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = SalOutStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity();
List<Map<String, String>> vehicleListMap = createVehicleLists(fEntity);
String kingDeeData = SalOutStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return saveBill(KingDeeBillId.SAL_OUTSTOCK.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 准备 物料列表的数据 StkInStock
*/
private ResultBean<List<Map<String, String>>>
createVehicleListsFEntity(List<SalOutStock.FEntity> vehicleList) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
//物料的数组集合
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
SalOutStock.FEntity f= vehicleList.get(i);
Map<String,String> m=new HashMap<>();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(f);
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
log.info("String key:{},value:{}",entry.getKey(),(String) entry.getValue());
m.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
log.info("Double key:{},value:{}",entry.getKey(),entry.getValue());
m.put(entry.getKey(), entry.getValue().toString());
}
}
vehicleListMap.add(m);
}
return rb.success().setData(vehicleListMap);
}
}

47
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java

@ -24,56 +24,17 @@ public class STKInStockService extends FinKingDeeService {
public ResultBean draftStkInStock(StkInStock stkInStock) {
// stkInStock=StkInStock.createStkInStock();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(stkInStock);
Map<String,String> map_fEntityModel_= object2Map(stkInStock);
List<StkInStock.FInStockEntry> fInStockEntry = stkInStock.getFInStockEntry();
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
map_fEntityModel_.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
map_fEntityModel_.put(entry.getKey(), entry.getValue().toString());
}
}
//准备 物料列表的数据 ForEntryBill
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForStkInStock(fInStockEntry);
if(!vehicleListMap.getSuccess()){
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData =STKInStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
List<Map<String, String>> vehicleListMap = createVehicleLists(fInStockEntry);
String kingDeeData =STKInStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return saveBill(KingDeeBillId.STK_INSTOCK.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 准备 物料列表的数据 StkInStock
*/
private ResultBean<List<Map<String, String>>>
createVehicleListsForStkInStock(List<StkInStock.FInStockEntry> vehicleList) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
//物料的数组集合
List<Map<String,String>> vehicleListMap=new ArrayList<>();
for(int i = 0; i< vehicleList.size(); i++){
StkInStock.FInStockEntry f= vehicleList.get(i);
Map<String,String> m=new HashMap<>();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(f);
for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) {
if (entry.getValue() instanceof String) {
log.info("String key:{},value:{}",entry.getKey(),(String) entry.getValue());
m.put(entry.getKey(), (String) entry.getValue());
}else if(entry.getValue() instanceof Double){
log.info("Double key:{},value:{}",entry.getKey(),entry.getValue());
m.put(entry.getKey(), entry.getValue().toString());
}
}
vehicleListMap.add(m);
}
return rb.success().setData(vehicleListMap);
}
}

18
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/appversion/AppVersionFeign.java

@ -1,15 +1,16 @@
package com.yxt.anrui.portal.api.appversion;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-portal(门户建设) <br/>
@ -35,7 +36,7 @@ public interface AppVersionFeign {
@ApiOperation(value = "获取最新版本")
@ResponseBody
@GetMapping("/selectNewAppVersion")
public ResultBean selectNewAppVersion();
public ResultBean<Map<String, Object>> selectNewAppVersion();
@ApiOperation("更新主框架")
@ResponseBody
@ -44,4 +45,9 @@ public interface AppVersionFeign {
@RequestParam("upgradeInfo") String upgradeInfo,
@RequestParam("iconUrl") String iconUrl);
@ApiOperation(value = "二维码下载地址")
@ResponseBody
@GetMapping("/selectCodeImg")
ResultBean<String> selectCodeImg();
}

10
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/appversion/AppVersionFeignFallback.java

@ -7,6 +7,7 @@ import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-portal(门户建设) <br/>
@ -26,12 +27,17 @@ public class AppVersionFeignFallback implements AppVersionFeign {
@Override
public ResultBean selectNewAppVersion() {
return ResultBean.fireFail().setMsg("接口anrui-portal/appversion/selectNewAppVersion无法访问");
public ResultBean<Map<String, Object>> selectNewAppVersion() {
return new ResultBean<Map<String, Object>>().fail().setMsg("接口anrui-portal/appversion/selectNewAppVersion无法访问");
}
@Override
public ResultBean save(MultipartFile multipartFile, String upgradeInfo, String iconUrl){
return ResultBean.fireFail().setMsg("接口anrui-portal/appversion/save无法访问");
}
@Override
public ResultBean<String> selectCodeImg() {
return null;
}
}

15
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/appversion/AppVersionRest.java

@ -5,6 +5,7 @@ import com.yxt.anrui.portal.api.appversion.*;
import com.yxt.anrui.portal.biz.sysuser.SysUserService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.JPushServer;
import com.yxt.common.base.utils.QRCodeUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import com.yxt.messagecenter.api.message.AppMessageDto;
@ -20,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -67,7 +69,7 @@ public class AppVersionRest implements AppVersionFeign {
private FileUploadComponent fileUploadComponent;
@Override
public ResultBean selectNewAppVersion() {
public ResultBean<Map<String, Object>> selectNewAppVersion() {
AppVersionVo appVersionVo = appVersionService.selectNewAppVersion();
Map<String, Object> map = new HashMap<String, Object>();
if(appVersionVo != null){
@ -109,6 +111,17 @@ public class AppVersionRest implements AppVersionFeign {
return ResultBean.fireSuccess().setMsg(resultBean.getMsg());
}
@Override
public ResultBean<String> selectCodeImg() {
ResultBean<String> rb = ResultBean.fireFail();
ResultBean<Map<String,Object>> resultBean = selectNewAppVersion();
String url = fileUploadComponent.getUrlPrefix()+"安瑞APP下载.png";
File file = new File(fileUploadComponent.getUploadPath());
AppVersionVo appVersionVo = (AppVersionVo) resultBean.getData().get("appVersionVo");
QRCodeUtil.createCodeToFile(appVersionVo.getUpdateUrl(),file,"安瑞APP下载.png");
return rb.success().setData(url);
}
public ResultBean save2(AppVersionDto appVersionDto) {
AppVersion appVersion = new AppVersion();
appVersionDto.fillEntity(appVersion);

9
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/insurance/InsuranceDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -14,9 +15,15 @@ public class InsuranceDto implements Dto {
private static final long serialVersionUID = -5257658534230972125L;
@ApiModelProperty("业务表sid")
private String businessSid;
@JsonProperty("businessSid")
private String busSid;
@ApiModelProperty("是否优惠,1是,0否")
private String discountKey;
@ApiModelProperty("是否有保险:1是,0否")
private String insuranceKey;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("合同sid")
private String contractSid;
}

96
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeign.java

@ -0,0 +1,96 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.yxt.anrui.base.api.basemodelmodprice.*;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.flowable.GressionQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* Project: anrui-base(车型调价申请) <br/>
* File: BaseModelModpriceFeign.java <br/>
* Class: com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceFeign <br/>
* Description: 车型调价申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-15 09:11:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "车型调价申请表")
@FeignClient(
contextId = "anrui-base-BaseModelModprice",
name = "anrui-terminal",
path = "/supplychain/v1/modelAdjust",
fallback = AppBaseModelModpriceFeignFallback.class)
public interface AppBaseModelModpriceFeign {
@ApiOperation("获取车型调车详情")
@GetMapping("/getModelAdjust/{sid}")
public ResultBean<ModelModpriceDetailVo> getModelAdjust(@PathVariable("sid") String sid);
/*****************************车型调价流程****************************************************/
@ApiOperation("提交车型调价流程")
@PostMapping("/submitModelAdjustInfo")
public ResultBean submitModelAdjustInfo(@Valid @RequestBody SubmitModelModPriceDto dto);
@ApiOperation(value = "办理(同意)")
@PutMapping("/agreeModelAdjustInfo")
public ResultBean agreeModelAdjustInfo(@Valid @RequestBody ModelModPriceCompleteDto query);
@ApiOperation(value = "驳回任务")
@PutMapping(value = "/rejectModelAdjustInfo")
public ResultBean rejectModelAdjustInfo(@Valid @RequestBody ModelModPriceTaskQuery query);
@ApiOperation(value = "撤回流程")
@PutMapping(value = "/recallModelAdjustInfo")
public ResultBean recallModelAdjustInfo(@Valid @RequestBody ModelModPriceTaskQuery query);
@ApiOperation(value = "终止任务")
@PutMapping(value = "/stopModelAdjustInfo")
public ResultBean stopModelAdjustInfo(@Valid @RequestBody ModelModPriceTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap ModelModpriceQuery query);
}

96
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeignFallback.java

@ -0,0 +1,96 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.yxt.anrui.base.api.basemodelmodprice.*;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.flowable.GressionQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
/**
* Project: anrui-base(车型调价申请) <br/>
* File: BaseModelModpriceFeignFallback.java <br/>
* Class: com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceFeignFallback <br/>
* Description: 车型调价申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-15 09:11:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class AppBaseModelModpriceFeignFallback implements AppBaseModelModpriceFeign {
@Override
public ResultBean<ModelModpriceDetailVo> getModelAdjust(String sid) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("/getModelAdjust无法访问");
}
@Override
public ResultBean submitModelAdjustInfo(SubmitModelModPriceDto dto) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("/submitModelAdjustInfo无法访问");
}
@Override
public ResultBean agreeModelAdjustInfo(ModelModPriceCompleteDto query) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("/agreeModelAdjustInfo无法访问");
}
@Override
public ResultBean rejectModelAdjustInfo(ModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("/rejectModelAdjustInfo无法访问");
}
@Override
public ResultBean recallModelAdjustInfo(ModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("/recallModelAdjustInfo无法访问");
}
@Override
public ResultBean stopModelAdjustInfo(ModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("/stopModelAdjustInfo无法访问");
}
@Override
public ResultBean<String> getFlowOperateTitle(ModelModpriceQuery query) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("/getFlowOperateTitle无法访问");
}
}

39
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModPriceCompleteDto.java

@ -0,0 +1,39 @@
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
@Data
public class ModelModPriceCompleteDto implements Dto {
private static final long serialVersionUID = 3688203427193836060L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
@NotBlank(message = "参数错误:orgSidPath")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
@NotBlank(message = "参数错误:comment")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "暂不确定是不是需要前端传的:还是有分支的时候传??")
private Map<String, Object> formVariables;
}

43
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModPriceTaskQuery.java

@ -0,0 +1,43 @@
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ModelModPriceTaskQuery implements Query {
private static final long serialVersionUID = 4925904324021287070L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

40
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceDetailVo.java

@ -0,0 +1,40 @@
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class ModelModpriceDetailVo implements Vo {
private static final long serialVersionUID = -2797496175043705271L;
@ApiModelProperty("sid")
private String sid; // sid
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@JsonProperty("date")
private Date createTime; // 申请日期
@ApiModelProperty("申请人姓名")
@JsonProperty("applyName")
private String applyPeoName; // 申请人姓名
@ApiModelProperty("调价原因")
@JsonProperty("reason")
private String modpriceReason; // 调价原因
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty(value = "流程实例id")
@JsonProperty("procInsId")
private String procInstId;
@ApiModelProperty(value = "创建人sid")
@JsonProperty("userSid")
private String createBySid;
@ApiModelProperty("调价申请车型列表")
private List<ModelModpriceModelVo> baseModelModpriceModels; // 调价申请车型列表
}

73
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceDto.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-base(车型调价申请) <br/>
* File: BaseModelModpriceDto.java <br/>
* Class: com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceDto <br/>
* Description: 车型调价申请表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-15 09:11:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "车型调价申请表 数据传输对象", description = "车型调价申请表 数据传输对象")
@Data
public class ModelModpriceDto implements Dto {
private static final long serialVersionUID = -4989265293886127927L;
@ApiModelProperty("sid")
private String sid; // sid
@ApiModelProperty("创建人sid")
@JsonProperty("userSid")
private String createBySid; // 创建人sid
@ApiModelProperty("申请人姓名")
@JsonProperty("applyName")
private String applyPeoName; // 申请人姓名
@ApiModelProperty("调价原因")
@JsonProperty("reason")
private String modpriceReason; // 调价原因
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("调价申请车型列表")
private List<ModelModpriceModelDto> baseModelModpriceModels; // 调价申请车型列表
}

74
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelDto.java

@ -0,0 +1,74 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(车型调价申请) <br/>
* File: BaseModelModpriceModelDto.java <br/>
* Class: com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelDto <br/>
* Description: 车型调价申请车型表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-15 09:11:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "车型调价申请车型表 数据传输对象", description = "车型调价申请车型表 数据传输对象")
@Data
public class ModelModpriceModelDto implements Dto {
private static final long serialVersionUID = -6330872454593364594L;
@ApiModelProperty("车型调价申请sid")
private String mainSid; // 车型调价申请sid
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型别名")
@JsonProperty("modelName")
private String vehicleAlias; // 车型别名
@ApiModelProperty("常用配置sid")
private String configSid; // 常用配置sid
@ApiModelProperty("常用配置名称")
private String configName; // 常用配置名称
@ApiModelProperty("成本价")
private String costPrice; // 成本价
@ApiModelProperty("现销售指导价")
@JsonProperty("guidancePrice")
private String guidedPrice; // 现销售指导价
@ApiModelProperty("价格增减数额")
@JsonProperty("adjustPrice")
private String incOrDecInPrice; // 价格增减数额
@ApiModelProperty("备注")
private String remarks; // 备注
}

34
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelVo.java

@ -0,0 +1,34 @@
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ModelModpriceModelVo implements Vo {
private static final long serialVersionUID = -6413746700501795794L;
@ApiModelProperty("车型调价申请sid")
private String mainSid; // 车型调价申请sid
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型别名")
@JsonProperty("modelName")
private String vehicleAlias; // 车型别名
@ApiModelProperty("常用配置sid")
private String configSid; // 常用配置sid
@ApiModelProperty("常用配置名称")
private String configName; // 常用配置名称
@ApiModelProperty("成本价")
private String costPrice; // 成本价
@ApiModelProperty("现销售指导价")
@JsonProperty("guidancePrice")
private String guidedPrice; // 现销售指导价
@ApiModelProperty("价格增减数额")
@JsonProperty("adjustPrice")
private String incOrDecInPrice; // 价格增减数额
@ApiModelProperty("备注")
private String remarks; // 备注
}

24
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceQuery.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author dimengzhe
* @Date 2022/7/28 10:48
* @Description
*/
@Data
public class ModelModpriceQuery implements Query {
private static final long serialVersionUID = -668333972696058522L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/SubmitModelModPriceDto.java

@ -0,0 +1,19 @@
package com.yxt.anrui.terminal.api.supplychain.modelAdjust;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SubmitModelModPriceDto extends ModelModpriceDto {
private static final long serialVersionUID = 3006301640675668128L;
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

33
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutDetailsListVo.java

@ -0,0 +1,33 @@
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/8/19 17:01
* @Description
*/
@Data
public class UnsoldBuyoutDetailsListVo implements Vo {
private static final long serialVersionUID = -7849966997033501394L;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("车架号")
@JsonProperty("vin")
private String vinNo;
@ApiModelProperty("入库日期")
@JsonProperty("date")
private String inboundDate;
@ApiModelProperty("入库价")
@JsonProperty("costPrice")
private String inboundPrice;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
}

57
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutFeign.java

@ -0,0 +1,57 @@
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutDto;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutQuery;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @Author dimengzhe
* @Date 2022/8/19 16:13
* @Description
*/
@Api(tags = "未售买断")
@FeignClient(
contextId = "terminal-UnsoldBuyout",
name = "anrui-terminal",
path = "/supplychain/v1/unsoldBuyout",
fallback = UnsoldBuyoutFeignFallback.class)
public interface UnsoldBuyoutFeign {
@ApiOperation("未售买断详情")
@GetMapping("/getUnsoldBuyout/{sid}")
@ResponseBody
ResultBean<UnsoldBuyoutVo> getUnsoldBuyout(@PathVariable("sid") String sid);
@ApiOperation("办理")
@PutMapping("/agreeUnsoldBuyoutInfo")
@ResponseBody
ResultBean agreeUnsoldBuyoutInfo(@RequestBody UnsoldBuyoutDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectUnsoldBuyoutInfo")
@ResponseBody
ResultBean rejectUnsoldBuyoutInfo(@RequestBody UnsoldBuyoutTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallUnsoldBuyoutInfo")
@ResponseBody
ResultBean recallUnsoldBuyoutInfo(@RequestBody UnsoldBuyoutTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopUnsoldBuyoutInfo")
@ResponseBody
ResultBean stopUnsoldBuyoutInfo(@RequestBody UnsoldBuyoutTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap UnsoldBuyoutQuery query);
}

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout;
import org.springframework.stereotype.Component;
/**
* @Author dimengzhe
* @Date 2022/8/19 16:14
* @Description
*/
@Component
public class UnsoldBuyoutFeignFallback {
}

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutVo.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout;
import com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetailsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/8/19 16:14
* @Description
*/
@Data
public class UnsoldBuyoutVo implements Vo {
private static final long serialVersionUID = -6067264614659846824L;
@ApiModelProperty("未售买断sid")
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请日期")
private String date;
@ApiModelProperty("买断原因")
private String reason;
private List<AppBaseVehicleActualDetailsVo> records;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/flowable/UnsoldBuyoutDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/19 17:49
* @Description
*/
@Data
public class UnsoldBuyoutDto implements Dto {
private static final long serialVersionUID = 942787097361510999L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/flowable/UnsoldBuyoutQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author dimengzhe
* @Date 2022/8/19 17:49
* @Description
*/
@Data
public class UnsoldBuyoutQuery implements Query {
private static final long serialVersionUID = -8255233815307830327L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

47
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/flowable/UnsoldBuyoutTaskQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/19 17:49
* @Description
*/
@Data
public class UnsoldBuyoutTaskQuery implements Query {
private static final long serialVersionUID = 1167747530537116956L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

102
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/modelAdjust/AppBaseModelModpriceRest.java

@ -0,0 +1,102 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.supplychain.modelAdjust;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basemodelmodprice.*;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.terminal.api.supplychain.modelAdjust.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
* Project: anrui-base(车型调价申请) <br/>
* File: BaseModelModpriceFeignFallback.java <br/>
* Class: com.yxt.anrui.base.biz.basemodelmodprice.BaseModelModpriceRest <br/>
* Description: 车型调价申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-15 09:11:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "车型调价申请表")
@Controller
@RequestMapping("/supplychain/v1/modelAdjust")
public class AppBaseModelModpriceRest implements AppBaseModelModpriceFeign {
@Autowired
private AppBaseModelModpriceService appBaseModelModpriceService;
@Override
public ResultBean<ModelModpriceDetailVo> getModelAdjust(String sid) {
return appBaseModelModpriceService.getModelAdjust(sid);
}
@Override
public ResultBean submitModelAdjustInfo(SubmitModelModPriceDto dto) {
return appBaseModelModpriceService.submitModelAdjustInfo(dto);
}
@Override
public ResultBean agreeModelAdjustInfo(ModelModPriceCompleteDto query) {
return appBaseModelModpriceService.agreeModelAdjustInfo(query);
}
@Override
public ResultBean rejectModelAdjustInfo(ModelModPriceTaskQuery query) {
return appBaseModelModpriceService.rejectModelAdjustInfo(query);
}
@Override
public ResultBean recallModelAdjustInfo(ModelModPriceTaskQuery query) {
return appBaseModelModpriceService.recallModelAdjustInfo(query);
}
@Override
public ResultBean stopModelAdjustInfo(ModelModPriceTaskQuery query) {
return appBaseModelModpriceService.stopModelAdjustInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(ModelModpriceQuery query) {
return appBaseModelModpriceService.getFlowOperateTitle(query);
}
}

197
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/modelAdjust/AppBaseModelModpriceService.java

@ -0,0 +1,197 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.supplychain.modelAdjust;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceDetailVo;
import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceFeign;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmvehiclegression.flowable.GetNodeVo;
import com.yxt.anrui.terminal.api.supplychain.modelAdjust.*;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleenterlibrary.AppEnterlibraryInfoVo;
import com.yxt.common.core.result.ResultBean;
import org.omg.CORBA.BAD_CONTEXT;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-base(车型调价申请) <br/>
* File: BaseModelModpriceService.java <br/>
* Class: com.yxt.anrui.base.biz.basemodelmodprice.BaseModelModpriceService <br/>
* Description: 车型调价申请表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-15 09:11:09 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AppBaseModelModpriceService {
@Autowired
BaseModelModpriceFeign baseModelModpriceFeign;
/**
* 获取车型调车详情
*
* @param sid
* @return
*/
public ResultBean<ModelModpriceDetailVo> getModelAdjust(String sid) {
ResultBean<ModelModpriceDetailVo> rb = ResultBean.fireFail();
ModelModpriceDetailVo vo = new ModelModpriceDetailVo();
ResultBean<BaseModelModpriceDetailVo> resultBean = baseModelModpriceFeign.fetchBySid(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
BaseModelModpriceDetailVo baseModelModpriceDetailVo = resultBean.getData();
BeanUtil.copyProperties(baseModelModpriceDetailVo, vo);
return rb.success().setData(vo);
}
/**
* 提交提交接口
*
* @param dto
* @return
*/
public ResultBean submitModelAdjustInfo(SubmitModelModPriceDto dto) {
ResultBean rb = ResultBean.fireFail();
SubmitBaseModelModPriceDto submitBaseModelModPriceDto = new SubmitBaseModelModPriceDto();
BeanUtil.copyProperties(dto, submitBaseModelModPriceDto);
ResultBean resultBean = baseModelModpriceFeign.submitBaseModelModPrice(submitBaseModelModPriceDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
/**
* 同意
*
* @param query
* @return
*/
public ResultBean agreeModelAdjustInfo(ModelModPriceCompleteDto query) {
ResultBean rb = ResultBean.fireFail();
BaseModelModPriceCompleteDto baseModelModPriceCompleteDto = new BaseModelModPriceCompleteDto();
BeanUtil.copyProperties(query, baseModelModPriceCompleteDto);
ResultBean resultBean = baseModelModpriceFeign.complete(baseModelModPriceCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
/**
* 驳回任务
*
* @param query
* @return
*/
public ResultBean rejectModelAdjustInfo(ModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseModelModPriceTaskQuery baseModelModPriceTaskQuery = new BaseModelModPriceTaskQuery();
BeanUtil.copyProperties(query, baseModelModPriceTaskQuery);
ResultBean resultBean = baseModelModpriceFeign.taskReject(baseModelModPriceTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
/**
* 撤回流程
*
* @param query
* @return
*/
public ResultBean recallModelAdjustInfo(ModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseModelModPriceTaskQuery baseModelModPriceTaskQuery = new BaseModelModPriceTaskQuery();
BeanUtil.copyProperties(query, baseModelModPriceTaskQuery);
ResultBean resultBean = baseModelModpriceFeign.revokeProcess(baseModelModPriceTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
/**
* 终止任务
*
* @param query
* @return
*/
public ResultBean stopModelAdjustInfo(ModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseModelModPriceTaskQuery baseModelModPriceTaskQuery = new BaseModelModPriceTaskQuery();
BeanUtil.copyProperties(query, baseModelModPriceTaskQuery);
ResultBean resultBean = baseModelModpriceFeign.breakProcess(baseModelModPriceTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean<String> getFlowOperateTitle(ModelModpriceQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
GetNodeQuery getNodeQuery = new GetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<GetNodeVo>> getPreviousNodesForReject = baseModelModpriceFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<GetNodeVo>> getNextNodesForSubmit = baseModelModpriceFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}

56
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/unsoldBuyout/UnsoldBuyoutRest.java

@ -0,0 +1,56 @@
package com.yxt.anrui.terminal.biz.supplychain.unsoldBuyout;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.UnsoldBuyoutFeign;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.UnsoldBuyoutVo;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutDto;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutQuery;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author dimengzhe
* @Date 2022/8/19 17:10
* @Description
*/
@Api(tags = "未售买断")
@Controller
@RequestMapping("/supplychain/v1/unsoldBuyoutRest")
public class UnsoldBuyoutRest implements UnsoldBuyoutFeign {
@Autowired
private UnsoldBuyoutService unsoldBuyoutService;
@Override
public ResultBean<UnsoldBuyoutVo> getUnsoldBuyout(String sid) {
return unsoldBuyoutService.getUnsoldBuyout(sid);
}
@Override
public ResultBean agreeUnsoldBuyoutInfo(UnsoldBuyoutDto dto) {
return unsoldBuyoutService.agreeUnsoldBuyoutInfo(dto);
}
@Override
public ResultBean rejectUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) {
return unsoldBuyoutService.rejectUnsoldBuyoutInfo(query);
}
@Override
public ResultBean recallUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) {
return unsoldBuyoutService.recallUnsoldBuyoutInfo(query);
}
@Override
public ResultBean stopUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) {
return unsoldBuyoutService.stopUnsoldBuyoutInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(UnsoldBuyoutQuery query) {
return unsoldBuyoutService.getFlowOperateTitle(query);
}
}

139
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/unsoldBuyout/UnsoldBuyoutService.java

@ -0,0 +1,139 @@
package com.yxt.anrui.terminal.biz.supplychain.unsoldBuyout;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basevehicleactualsales.AppBaseVehicleActualSalesVo;
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesFeign;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeQuery;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeVo;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesCompleteDto;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesTaskQuery;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.UnsoldBuyoutVo;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutDto;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutQuery;
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/8/19 17:13
* @Description
*/
@Service
public class UnsoldBuyoutService {
@Autowired
private BaseVehicleActualSalesFeign baseVehicleActualSalesFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<UnsoldBuyoutVo> getUnsoldBuyout(String sid) {
ResultBean<UnsoldBuyoutVo> rb = ResultBean.fireFail();
ResultBean<AppBaseVehicleActualSalesVo> resultBean = baseVehicleActualSalesFeign.getUnsoldBuyout(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
AppBaseVehicleActualSalesVo vo = resultBean.getData();
UnsoldBuyoutVo unsoldBuyoutVo = new UnsoldBuyoutVo();
BeanUtil.copyProperties(vo, unsoldBuyoutVo);
return rb.success().setData(unsoldBuyoutVo);
}
public ResultBean agreeUnsoldBuyoutInfo(UnsoldBuyoutDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
BaseActualSalesCompleteDto baseActualSalesCompleteDto = new BaseActualSalesCompleteDto();
BeanUtil.copyProperties(dto, baseActualSalesCompleteDto);
baseActualSalesCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = baseVehicleActualSalesFeign.complete(baseActualSalesCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseActualSalesTaskQuery baseActualSalesTaskQuery = new BaseActualSalesTaskQuery();
BeanUtil.copyProperties(query, baseActualSalesTaskQuery);
ResultBean resultBean = baseVehicleActualSalesFeign.taskReject(baseActualSalesTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseActualSalesTaskQuery baseActualSalesTaskQuery = new BaseActualSalesTaskQuery();
BeanUtil.copyProperties(query, baseActualSalesTaskQuery);
ResultBean resultBean = baseVehicleActualSalesFeign.revokeProcess(baseActualSalesTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseActualSalesTaskQuery baseActualSalesTaskQuery = new BaseActualSalesTaskQuery();
BeanUtil.copyProperties(query, baseActualSalesTaskQuery);
ResultBean resultBean = baseVehicleActualSalesFeign.breakProcess(baseActualSalesTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(UnsoldBuyoutQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
ActualGetNodeQuery getNodeQuery = new ActualGetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<ActualGetNodeVo>> getPreviousNodesForReject = baseVehicleActualSalesFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<ActualGetNodeVo>> getNextNodesForSubmit = baseVehicleActualSalesFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}
Loading…
Cancel
Save