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. 21
      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. 68
      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. 48
      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. 62
      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. 53
      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. 49
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java
  38. 51
      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);
}
}

21
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());
@ -298,7 +301,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
//更新车辆的结算状态为预买断
//结算状态设置为预买断
List<BaseVehicleActualDetailsDto> detailsList = dto.getDetailsList();
for (BaseVehicleActualDetailsDto f : detailsList){
for (BaseVehicleActualDetailsDto f : detailsList) {
BaseVehicle baseVehicle = baseVehicleService.selectByVinNo(f.getVinNo());
baseVehicle.setVinNo(f.getVinNo());
baseVehicle.setSettlementStatus(VehicleState.BuyoutEnum.PRE_BUYOUT.getCode());
@ -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);
}

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

@ -3,7 +3,7 @@
<mapper namespace="com.yxt.anrui.base.biz.commoncontract.CommonContractMapper">
<insert id="saveList">
INSERT INTO common_contract(sid, contractNo, contractType, partyA, partyB, partyC, createBySid,
createDate, address, deposit,contractAmount,remarks)
createDate, address, deposit, contractAmount, remarks)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(UUID(),<!--sid-->
@ -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,23 +38,23 @@
AND createDate = #{createDate}
</select>
<select id="listExcel" resultType="com.yxt.anrui.base.api.commoncontract.CommonContractExportVo">
SELECT
cc.`contractNo`,
cc.`contractType`,
cc.`partyA`,
cc.`partyB`,
cc.`partyC`,
suser.`userName` creatName,
cc.`createDate`,
cc.`address`,
cc.`deposit`,
cc.`contractAmount`,
cc.`remarks`
FROM
common_contract cc
LEFT JOIN anrui_portal.`sys_user` suser
ON cc.createBySid = suser.`sid`
<where>${ew.sqlSegment}</where>
SELECT cc.`contractNo`,
cc.`contractType`,
cc.`partyA`,
cc.`partyB`,
cc.`partyC`,
suser.`userName` creatName,
cc.`createDate`,
cc.`address`,
cc.`deposit`,
cc.`contractAmount`,
cc.`remarks`
FROM common_contract cc
LEFT JOIN anrui_portal.`sys_user` suser
ON cc.createBySid = suser.`sid`
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectCreatSidByName" resultType="java.lang.String">
SELECT sid
@ -65,16 +68,17 @@
</select>
<select id="getContractList" resultType="com.yxt.anrui.base.api.commoncontract.AppCommonContractPageVo">
SELECT
sid AS contractSid,
contractNo AS contractId,
contractTypeKey AS contractType,
partyB,
handler,
contractAmount AS contractPrice,
nodeState
SELECT sid AS contractSid,
contractNo AS contractId,
contractTypeKey AS contractType,
partyB,
handler,
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"

48
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,9 +1977,13 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
ResultBean<List<AppBaseVehicleOrderVo>> orderVoResultBean = baseVehicleFeign.selectAppList(modelSid, configSid, orgSid);
if (orderVoResultBean.getSuccess()) {
List<AppBaseVehicleOrderVo> voList = orderVoResultBean.getData();
for (AppBaseVehicleOrderVo vehicleOrderVo : voList) {
vinNoList.add(vehicleOrderVo.getVin());
voList.removeAll(Collections.singleton(null));
if(!voList.isEmpty()){
for (AppBaseVehicleOrderVo vehicleOrderVo : voList) {
vinNoList.add(vehicleOrderVo.getVin());
}
}
}
//该销售订单所选择的现车的列表
List<AppNowCarListVo> nowCarList = busSalesOrderVehicleService.selectAppDetailsVoBySaleOrderSid(sid);
@ -2020,27 +2023,30 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
ResultBean<List<AppBusVehicleApplyListVo>> applyListResultBean = busVehicleApplyDetailFeign.getAppApplyList(modelSid, configSid);
if (applyListResultBean.getSuccess()) {
List<AppBusVehicleApplyListVo> applyListVos = applyListResultBean.getData();
for (AppBusVehicleApplyListVo applyListVo : applyListVos) {
AppReadyCarVo appReadyCarVo = new AppReadyCarVo();
BeanUtil.copyProperties(applyListVo, appReadyCarVo);
if (StringUtils.isNotBlank(applyListVo.getTotalNum())) {
//总数量
int totalNum = Integer.parseInt(applyListVo.getTotalNum());
if (StringUtils.isNotBlank(applyListVo.getLockingNum())) {
//锁定数量
int lockNum = Integer.parseInt(applyListVo.getLockingNum());
//可使用数量
int canUseNum = totalNum - lockNum;
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum));
applyListVos.removeAll(Collections.singleton(null));
if(!applyListVos.isEmpty()){
for (AppBusVehicleApplyListVo applyListVo : applyListVos) {
AppReadyCarVo appReadyCarVo = new AppReadyCarVo();
BeanUtil.copyProperties(applyListVo, appReadyCarVo);
if (StringUtils.isNotBlank(applyListVo.getTotalNum())) {
//总数量
int totalNum = Integer.parseInt(applyListVo.getTotalNum());
if (StringUtils.isNotBlank(applyListVo.getLockingNum())) {
//锁定数量
int lockNum = Integer.parseInt(applyListVo.getLockingNum());
//可使用数量
int canUseNum = totalNum - lockNum;
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum));
} else {
appReadyCarVo.setCanUseNum(String.valueOf(totalNum));
}
} else {
appReadyCarVo.setCanUseNum(String.valueOf(totalNum));
appReadyCarVo.setCanUseNum("0");
}
} else {
appReadyCarVo.setCanUseNum("0");
//将每个采购订单的编号及可使用数量放入map集合中用来对比车型信息是否发生了变化
map.put(applyListVo.getOrderId(), appReadyCarVo.getCanUseNum());
appReadyCar.add(appReadyCarVo);
}
//将每个采购订单的编号及可使用数量放入map集合中用来对比车型信息是否发生了变化
map.put(applyListVo.getOrderId(), appReadyCarVo.getCanUseNum());
appReadyCar.add(appReadyCarVo);
}
appCarInfo.setReadyCar(appReadyCar);
//销售订单下的所选择的采购订单列表

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>

62
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-input size="small" v-model="dialogList.comment" placeholder="审批意见" clearable ></el-input>
<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,9 +200,17 @@ export default {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
this.handleReject()
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
this.handleStop()
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
}
},
/** 同意任务 */
@ -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;
}
/**
* 调用金蝶接口的数据格式
*/

53
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();
//业务表的主表数据集合
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());
}
}
//准备 物料列表的数据 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 {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(apPayBill);//createMapParams(stringObjectMap);
//准备 物料列表的数据 ForEntryBill
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);
}
}

49
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();
//业务表的主表数据集合
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());
}
}
//准备 物料列表的数据 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 {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(salOutStock);
//准备 物料列表的数据 ForEntryBill
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);
}
}

51
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();
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
//业务日期
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(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 {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(stkInStock);
List<StkInStock.FInStockEntry> fInStockEntry = stkInStock.getFInStockEntry();
//准备 物料列表的数据 ForEntryBill
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