Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 3 years ago
parent
commit
00df338b97
  1. 23
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleBuyBlank.java
  2. 18
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  3. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  4. 39
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleOutLibrary.java
  5. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleoffer/BusVehicleOfferDetailVo.java
  6. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commonappendix/CommonAttachTypeEnum.java
  7. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml
  8. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  9. 20
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  10. 20
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  11. 69
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  12. 17
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleoffer/BusVehicleOfferService.java
  13. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  14. 7
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  15. 33
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  16. 2
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempDto.java
  17. 44
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicleDemandOrderVo.java
  18. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java
  19. 5
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java
  20. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java
  21. 17
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml
  22. 5
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java
  23. 9
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java
  24. 1
      anrui-fin/anrui-fin-biz/pom.xml
  25. 40
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignService.java
  26. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeSaveSKD.java
  27. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata2.json
  28. 38
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_FEntityDetail2.json
  29. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_data.json
  30. 48
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_model.json
  31. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundQuery.java
  32. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleexamine/AppScmVehicleExaminePageVo.java
  33. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleexamine/ScmVehicleExamine.java
  34. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouseQuery.java
  35. 12
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/flow/FlowableMapper.java
  36. 5
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/flow/FlowableMapper.xml
  37. 97
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/flow/FlowableService.java
  38. 27
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  39. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineMapper.xml
  40. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java
  41. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmwarehouse/ScmWarehouseService.java
  42. 241
      anrui-scm/anrui-scm-ui/src/components/uploadFile/upload_jianchabiao.vue
  43. 35
      anrui-scm/anrui-scm-ui/src/views/anruiscm/scmwarehouse/scmwarehouse.vue
  44. 60
      anrui-scm/anrui-scm-ui/src/views/anruiscm/scmwarehouse/scmwarehouseAdd.vue
  45. 77
      anrui-scm/anrui-scm-ui/src/views/anruiscm/scmwarehouse/scmwarehouseInfo.vue
  46. 14
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue
  47. 2
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue
  48. 29
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/vehiclechecklist.vue
  49. 5
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliAdd.vue
  50. 7
      anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliInfo.vue
  51. 4
      anrui-system-ui/src/views/Home/Home.vue
  52. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehicleexamine/AppExaminePageVo.java

23
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleBuyBlank.java

@ -0,0 +1,23 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Description 车辆台账买断
*/
@Data
public class BaseVehicleBuyBlank implements Vo {
@ApiModelProperty(value = "车辆sid")
private List<String> vehicleSid;
@ApiModelProperty(value = "买断日期")
private String solidDate;
@ApiModelProperty(value = "买断附件信息")
private CommonAppendix commonAppendix;
}

18
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -70,6 +70,24 @@ public interface BaseVehicleFeign {
@PostMapping("/saveAll")
public ResultBean saveAll(@Valid @RequestBody List<BaseVehicleDto> dto);
/**
* 车辆台账出库
*
* @return
*/
@ApiOperation("车辆台账出库")
@PostMapping("/vehicleOutLibrary")
public ResultBean vehicleOutLibrary(@RequestBody BaseVehicleOutLibrary baseVehicleOutLibrary);
/**
* 车辆台账买断
*
* @return
*/
@ApiOperation("车辆台账买断")
@PostMapping("/vehicleBuyBreak")
public ResultBean vehicleBuyBreak(@RequestBody BaseVehicleBuyBlank baseVehicleBuyBlank);
/**
* 修改保存
*

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java

@ -46,6 +46,16 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null;
}
@Override
public ResultBean vehicleOutLibrary(BaseVehicleOutLibrary baseVehicleOutLibrary) {
return null;
}
@Override
public ResultBean vehicleBuyBreak(BaseVehicleBuyBlank baseVehicleBuyBlank) {
return null;
}
@Override
public ResultBean update(BaseVehicleDto dto, String sid) {
return ResultBean.fireFail().setMsg("接口anrui-base/basevehicle/update无法访问");

39
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleOutLibrary.java

@ -0,0 +1,39 @@
package com.yxt.anrui.base.api.basevehicle;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description 车辆台账出库
*/
@Data
public class BaseVehicleOutLibrary implements Vo {
@ApiModelProperty(value = "车辆sid")
private String vehicleSid;
@ApiModelProperty(value = "库存状态value")
private String vehicleStateValue;
@ApiModelProperty(value = "出库类型value")
private String outLibraryValue;
@ApiModelProperty(value = "userSid")
private String userSid;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty(value = "成交价")
private String salePrice;
@ApiModelProperty(value = "客户类型key")
private String customerTypeKey;
@ApiModelProperty(value = "客户类型value")
private String customerType;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "手机号码")
private String mobile;
@ApiModelProperty(value = "身份证号码")
private String IDNumber;
@ApiModelProperty(value = "联系地址")
private String address;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleoffer/BusVehicleOfferDetailVo.java

@ -197,6 +197,10 @@ public class BusVehicleOfferDetailVo implements Vo {
private String salePrice;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("换装配置")
private String replacementConfig;
@ApiModelProperty("选装配置")
private String optionalConfig;
@ApiModelProperty("创建组织sid")
private String createOrgSid;

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commonappendix/CommonAttachTypeEnum.java

@ -51,7 +51,8 @@ public enum CommonAttachTypeEnum {
MANUFACTOR_RETWARE("0014", "厂家退库车辆附件"),
SHUNTINGINVOICINAPPLY("0015", "调车开票附件"),
OUTSOURCINGAPPLY("0016", "外采申请附件"),
INBOUNDAPPLY("0017", "入账申请附件");
INBOUNDAPPLY("0017", "入账申请附件"),
VEHBUYBLANK("0018", "车辆买断附件");
/**
* 附件类型
*/

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml

@ -588,7 +588,7 @@
bmc.independentSources,
bmc.fuelTank,
bmc.multimedia,
bv.guidedPrice,
-- bv.salePrice as price,
bmc.otherConfig
FROM base_vehicle bv
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.sid

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

@ -418,4 +418,8 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
IPage<AppScmWarehouseVinVo> getPcVinByWarehouseSid(IPage<VinByWarehouseQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppScmWarehouseVinVo> qw, @Param("warehouseSid") String warehouseSid);
ExiCarConfigDetailVo selectExiCarConfigByVehModelConfigSid(@Param("vehModelConfigSid") String vehModelConfigSid);
void updateVehicleOutLibrary(@Param("sid") String sid,@Param("vehicleState") String vehicleState,@Param("vehicleStateValue") String vehicleStateValue,@Param("salesDate") String salesDate,@Param("salePrice") String salePrice,@Param("remarks") String remarks);
void updateVehicleBuyBreak(@Param("sid") String sid,@Param("solidDate") String solidDate,@Param("settlementStatus") String settlementStatus,@Param("settlementStatusValue") String settlementStatusValue);
}

20
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -961,4 +961,24 @@
and bv.location = #{warehouseSid}
</where>
</select>
<update id="updateVehicleOutLibrary">
UPDATE
base_vehicle
SET vehicleState = #{vehicleState},
vehicleStateValue = #{vehicleStateValue},
salesDate = #{salesDate},
salePrice = #{salePrice},
remarks = #{remarks}
WHERE sid = #{sid}
</update>
<update id="updateVehicleBuyBreak">
UPDATE
base_vehicle
SET solidDate = #{solidDate},
settlementStatus = #{settlementStatus},
settlementStatusValue = #{settlementStatusValue}
WHERE sid = #{sid}
</update>
</mapper>

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

@ -108,13 +108,19 @@ public class BaseVehicleRest implements BaseVehicleFeign {
BaseVehicle baseVehicle = new BaseVehicle();
dto.fillEntity(baseVehicle);
//锁定状态
String lockedStateKey = VehicleState.LockEnum.UN_LOCK.getCode();
/*String lockedStateKey = VehicleState.LockEnum.UN_LOCK.getCode();
String lockedStateValue = VehicleState.LockEnum.UN_LOCK.getRemarks();
baseVehicle.setLockedState(lockedStateKey);
baseVehicle.setLockedStateValue(lockedStateValue);
baseVehicle.setVehicleState(VehicleState.StockEnum.STOCK.getCode());
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.STOCK.getRemarks());
baseVehicle.setSettlementStatus(VehicleState.BuyoutEnum.UN_BUYOUT.getCode());
baseVehicle.setSettlementStatus(VehicleState.BuyoutEnum.UN_BUYOUT.getCode());*/
baseVehicle.setLockedState(dto.getLockedState());
baseVehicle.setLockedStateValue(dto.getLockedStateValue());
baseVehicle.setVehicleState(dto.getVehicleState());
baseVehicle.setVehicleStateValue(dto.getVehicleStateValue());
baseVehicle.setSettlementStatus(dto.getSettlementStatus());
baseVehicle.setSettlementStatusValue(dto.getSettlementStatusValue());
boolean isSave = baseVehicleService.save(baseVehicle);
BaseVehicleCertificate baseVehicleCertificate = new BaseVehicleCertificate();
if (StringUtils.isNotBlank(dto.getVinNo())){
@ -140,6 +146,16 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return rb.success().setMsg("保存成功");
}
@Override
public ResultBean vehicleOutLibrary(BaseVehicleOutLibrary baseVehicleOutLibrary) {
return baseVehicleService.vehicleOutLibrary(baseVehicleOutLibrary);
}
@Override
public ResultBean vehicleBuyBreak(BaseVehicleBuyBlank baseVehicleBuyBlank) {
return baseVehicleService.vehicleBuyBreak(baseVehicleBuyBlank);
}
@Override
public ResultBean update(BaseVehicleDto dto, String sid) {
ResultBean rb = ResultBean.fireFail();

69
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -1,5 +1,6 @@
package com.yxt.anrui.base.biz.basevehicle;
import cn.hutool.core.date.DateUtil;
import com.alibaba.nacos.api.config.filter.IFilterConfig;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -10,6 +11,9 @@ import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService;
import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService;
import com.yxt.anrui.base.biz.basevehiclecertificate.BaseVehicleCertificateService;
@ -20,9 +24,15 @@ import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.buscenter.api.busmaindeposit.pc.PcBusMainDepositFeign;
import com.yxt.anrui.buscenter.api.busmaindeposit.pc.PcBusMainDepositVehicleQuery;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempDto;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
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.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils;
@ -63,9 +73,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
@Autowired
private BaseModelConfigService baseModelConfigService;
@Autowired
private BaseVehicleModelService baseVehicleModelService;
@Autowired
private CommonAppendixService commonAppendixService;
private SysUserFeign sysUserFeign;
@Autowired
private BaseVehicleAppendixService baseVehicleAppendixService;
@Autowired
@ -78,6 +86,10 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
private BaseVehicleModelAppendixService baseVehicleModelAppendixService;
@Autowired
private BaseVehinstallService baseVehinstallService;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private CommonAppendixService commonAppendixService;
/**
* 车辆信息分页列表
@ -1277,7 +1289,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (params.getVinNoList().size() > 0) {
qw.notIn("bv.vinNo", params.getVinNoList());
}
//结算状态:0买断
//结算状态:0买断
qw.eq("bv.settlementStatus", VehicleState.BuyoutEnum.UN_BUYOUT.getCode());
//车辆状态:现车
qw.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode());
@ -1614,4 +1626,53 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
return iPage;
}
@Transactional
public ResultBean vehicleOutLibrary(BaseVehicleOutLibrary baseVehicleOutLibrary) {
ResultBean rb = ResultBean.fireFail();
String vehicleSid = baseVehicleOutLibrary.getVehicleSid();
String vehicleStateValue = baseVehicleOutLibrary.getVehicleStateValue();
if (!vehicleStateValue.equals(VehicleState.StockEnum.STOCK.getRemarks())) {
return rb.setMsg("该车辆台账不是库存车辆,请重新选择");
}
String userSid = baseVehicleOutLibrary.getUserSid();
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid);
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
StringBuffer remarks = new StringBuffer();
String outLibraryValue = baseVehicleOutLibrary.getOutLibraryValue();
String contractNo = baseVehicleOutLibrary.getContractNo();
if (StringUtils.isNotBlank(outLibraryValue)) {
remarks.append(outLibraryValue).append(" ");
}
if (StringUtils.isNotBlank(contractNo)) {
remarks.append(contractNo);
}
String salePrice = baseVehicleOutLibrary.getSalePrice();
baseMapper.updateVehicleOutLibrary(vehicleSid,VehicleState.StockEnum.OUT_STOCK.getCode(),VehicleState.StockEnum.OUT_STOCK.getRemarks(), DateUtil.today(),salePrice,remarks.toString());
CrmCustomerTempDto crmCustomerTempDto = new CrmCustomerTempDto();
crmCustomerTempDto.setCustomerTypeKey(baseVehicleOutLibrary.getCustomerTypeKey());
crmCustomerTempDto.setCustomerType(baseVehicleOutLibrary.getCustomerType());
crmCustomerTempDto.setName(baseVehicleOutLibrary.getCustomerName());
crmCustomerTempDto.setMobile(baseVehicleOutLibrary.getMobile());
crmCustomerTempDto.setIDNumber(baseVehicleOutLibrary.getIDNumber());
crmCustomerTempDto.setAddress(baseVehicleOutLibrary.getAddress());
crmCustomerTempDto.setStaffSid(userVoResultBean.getData().getStaffSid());
crmCustomerTempFeign.save(crmCustomerTempDto);
return rb.success().setMsg("出库成功");
}
public ResultBean vehicleBuyBreak(BaseVehicleBuyBlank baseVehicleBuyBlank) {
ResultBean rb = ResultBean.fireFail();
List<String> vehicleSid = baseVehicleBuyBlank.getVehicleSid();
String solidDate = baseVehicleBuyBlank.getSolidDate();
CommonAppendix commonAppendix = baseVehicleBuyBlank.getCommonAppendix();
for (String s : vehicleSid) {
baseMapper.updateVehicleBuyBreak(s,solidDate,VehicleState.BuyoutEnum.BUYOUT.getCode(),VehicleState.BuyoutEnum.BUYOUT.getRemarks());
commonAppendix.setLinkSid(s);
commonAppendix.setAttachType(CommonAttachTypeEnum.VEHBUYBLANK.getAttachType());
commonAppendixService.save(commonAppendix);
}
return rb.success().setMsg("买断成功");
}
}

17
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleoffer/BusVehicleOfferService.java

@ -138,18 +138,23 @@ public class BusVehicleOfferService extends MybatisBaseService<BusVehicleOfferMa
busVehicleOfferDetailVo.setVehModelConfigSid(busVehicleInquiry.getVehModelConfigSid());
busVehicleOfferDetailVo.setVehModelConfig(busVehicleInquiry.getVehModelConfig());
busVehicleOfferDetailVo.setMoreConfig(busVehicleInquiry.getMoreConfig());
List<String> stringList = baseVehmodelOptionService.selByVehModelSid(busVehicleInquiry.getVehModelSid());
String repInstr = "";
for (String s : stringList) {
repInstr += s + ",";
//List<String> stringList = baseVehmodelOptionService.selByVehModelSid(busVehicleInquiry.getVehModelSid());
StringBuffer repInstr = new StringBuffer();
String optionalConfig = busVehicleInquiry.getOptionalConfig();
String replacementConfig = busVehicleInquiry.getReplacementConfig();
if (StringUtils.isNotBlank(optionalConfig)) {
repInstr.append(optionalConfig).append(" ");
}
if (StringUtils.isNotBlank(repInstr)){
busVehicleOfferDetailVo.setRepInstr(repInstr.substring(0,repInstr.length()-1));
if (StringUtils.isNotBlank(replacementConfig)){
repInstr.append(replacementConfig);
}
busVehicleOfferDetailVo.setRepInstr(repInstr.toString());
busVehicleOfferDetailVo.setOtherConfig(busVehicleInquiry.getOtherConfig());
busVehicleOfferDetailVo.setVehicleAlias(busVehicleInquiry.getVehModel());
busVehicleOfferDetailVo.setBrandSid(busVehicleInquiry.getBrandSid());
busVehicleOfferDetailVo.setBrandName(busVehicleInquiry.getBrandName());
busVehicleOfferDetailVo.setReplacementConfig(busVehicleInquiry.getReplacementConfig());
busVehicleOfferDetailVo.setOptionalConfig(busVehicleInquiry.getOptionalConfig());
BaseVehicleModel baseVehicleModel = baseVehicleModelService.fetchBySid(busVehicleInquiry.getVehModelSid());
if (baseVehicleModel == null) {
return rb.setMsg("该车型不存在");

3
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml

@ -39,7 +39,8 @@
if(length(bd.nodeState) > 0, nodeState, '待提交') as contractState,
if(length(bd.nodeState) > 0, false, true) as showUpdata,
bd.contractNo as contractId,
bd.applyName as `name`,
bd.applyName,
bd.name as customerName,
DATE_FORMAT(bd.applyDate, '%Y-%m-%d') as `date`
FROM bus_delivered_apply bd
<where>

7
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -49,6 +49,7 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -89,6 +90,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BusDeliveredService busDeliveredService;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@ -714,10 +717,10 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
public ResultBean saveRetrievalApplyInfo(AppDeliveredApplyDto appDeliveredApplyDto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = appDeliveredApplyDto.getSid();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(appDeliveredApplyDto.getUserSid()).getData();
if (StringUtils.isBlank(dtoSid)) {
BusDeliveredApply busDeliveredApply = new BusDeliveredApply();
BeanUtil.copyProperties(appDeliveredApplyDto, busDeliveredApply, "sid");
save(busDeliveredApply);
List<AppCarListDto> carList = appDeliveredApplyDto.getCarList();
if (carList.size() > 0) {
busDeliveredApplyDetailsService.appSaveList(carList, busDeliveredApply.getSid());
@ -727,6 +730,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
if (stringResultBean.getSuccess()) {
busDeliveredApply.setOrgSid(stringResultBean.getData());
}
busDeliveredApply.setApplySid(sysUserVo.getSid());
busDeliveredApply.setApplyName(sysUserVo.getName());
save(busDeliveredApply);
} else {
BusDeliveredApply busDeliveredApply = fetchBySid(dtoSid);

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

@ -61,8 +61,10 @@ import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsurance
import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDto;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDto;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmitDto;
@ -82,6 +84,8 @@ import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleServ
import com.yxt.anrui.buscenter.biz.bussalesvehicleorder.BusSalesVehicleOrderService;
import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempInfoVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicleDemandOrderVo;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTask;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -186,6 +190,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BaseVehicleModelAppendixFeign baseVehicleModelAppendixFeign;
@Autowired
private CrmVehicledemandFeign crmVehicledemandFeign;
/**
* 构造查询条件
@ -1268,6 +1274,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
AppCrmCustomerTempInfoVo customerTempInfoVo = crmCustomerTempInfoVoResultBean.getData();
//挂靠公司填写类型:1选择,0手写
String affiliatedType = dto.getAffiliatedType();
//新增销售订单
if (StringUtils.isBlank(dto.getSid())) {
BusSalesOrder busSalesOrder = new BusSalesOrder();
BeanUtil.copyProperties(dto, busSalesOrder, "sid");
@ -1292,7 +1299,33 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return rb.setMsg("保存失败");
}
sid = busSalesOrder.getSid();
//判断意向车型sid是否存在
String intentionSid = dto.getIntentionSid();
if (StringUtils.isNotBlank(intentionSid)) {
//查询意向车型sid查询车型信息并保存车型:品牌sid、品牌、车型sid、配置sid、车型名称、车型配置名称、常用配置、更多配置、特殊配置说明、单台指导价、单台成交价
//意向车型可以查询的:品牌sid、品牌、车型sid、配置sid、车型名称、车型配置、其他配置说明、数量、换选装内容为特殊配置说明、销售参考价
ResultBean<CrmVehicleDemandOrderVo> orderVoResultBean = crmVehicledemandFeign.getInfo(intentionSid);
if (!orderVoResultBean.getSuccess()) {
CrmVehicleDemandOrderVo crmVehicleDemandOrderVo = orderVoResultBean.getData();
BusSalesOrderModel busSalesOrderModel = new BusSalesOrderModel();
busSalesOrderModel.setSalesOrderSid(sid);
busSalesOrderModel.setBrandSid(crmVehicleDemandOrderVo.getBrandSid());
busSalesOrderModel.setBrandName(crmVehicleDemandOrderVo.getBrandName());
busSalesOrderModel.setModelSid(crmVehicleDemandOrderVo.getModelSid());
busSalesOrderModel.setModelConfigSid(crmVehicleDemandOrderVo.getComonConfigSid());
busSalesOrderModel.setModelConfig(crmVehicleDemandOrderVo.getSketChconfiguration());
busSalesOrderModel.setGuildPrice(new BigDecimal(crmVehicleDemandOrderVo.getSaleReferencePrice()));
busSalesOrderModel.setMoreConfig(crmVehicleDemandOrderVo.getOtherConfig());
busSalesOrderModel.setSpecialConfig(crmVehicleDemandOrderVo.getChangeOptions());
busSalesOrderModelService.insert(busSalesOrderModel);
BusSalesOrderPrice busSalesOrderPrice = new BusSalesOrderPrice();
busSalesOrderPrice.setQuantity(crmVehicleDemandOrderVo.getNumber());
busSalesOrderModel.setGuildPrice(new BigDecimal(crmVehicleDemandOrderVo.getSaleReferencePrice()));
busSalesOrderPriceService.insert(busSalesOrderPrice);
}
}
} else {
//修改销售订单
BusSalesOrder busSalesOrder = fetchBySid(dto.getSid());
if (busSalesOrder == null) {
return rb.setMsg("该销售订单不存在");

2
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempDto.java

@ -127,6 +127,8 @@ public class CrmCustomerTempDto implements Dto {
private String customerClassKey;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty("业务人员sid")
private String staffSid;
//运营信息
@ApiModelProperty(value = "运营信息")

44
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicleDemandOrderVo.java

@ -0,0 +1,44 @@
package com.yxt.anrui.crm.api.crmvehicledemand;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/7/29 13:39
* @Description
*/
@Data
public class CrmVehicleDemandOrderVo implements Vo {
private static final long serialVersionUID = -3596812906988379555L;
//品牌sid、品牌、车型sid、配置sid、车型名称、车型配置、其他配置说明、数量、换选装内容为特殊配置说明、销售参考价
@ApiModelProperty(value = "品牌sid")
private String brandSid;
@ApiModelProperty(value = "品牌")
private String brandName;
@ApiModelProperty(value = "车型sid")
private String modelSid;
@ApiModelProperty(value = "车型配置sid")
private String comonConfigSid;
@ApiModelProperty(value = "车型名称")
private String modelName;
@ApiModelProperty(value = "车型配置")
private String sketChconfiguration;
@ApiModelProperty(value = "其他配置说明")
private String otherConfig;
@ApiModelProperty(value = "数量")
private Integer number;
@ApiModelProperty(value = "换选装内容")
private String changeOptions;
@ApiModelProperty(value = "销售指导价")
@JsonSerialize(using = ToStringSerializer.class)
private String saleReferencePrice;
}

4
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java

@ -150,4 +150,8 @@ public interface CrmVehicledemandFeign {
@PostMapping("/init/wantCarList")
ResultBean<PagerVo<AppOrderCrmVehicleDemandVo>> getWantCarList(@RequestBody PagerQuery<AppCrmOrderVehicleDemandQuery> pagerQuery);
@ApiOperation("根据意向车型sid")
@GetMapping("/getInfo/{intentionSid}")
ResultBean<CrmVehicleDemandOrderVo> getInfo(@PathVariable("intentionSid") String intentionSid);
}

5
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java

@ -94,6 +94,11 @@ public class CrmVehicledemandFeignFallback implements CrmVehicledemandFeign {
return null;
}
@Override
public ResultBean<CrmVehicleDemandOrderVo> getInfo(String intentionSid) {
return null;
}
//app

2
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.java

@ -110,4 +110,6 @@ public interface CrmVehicledemandMapper extends BaseMapper<CrmVehicledemand> {
void updateByPrice(@Param("sid") String sid);
CrmVehicledemand selectOneBySid(String vehicSid);
CrmVehicleDemandOrderVo getInfo(String intentionSid);
}

17
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml

@ -99,7 +99,7 @@
cv.modelName AS model,
cv.brandSid,
cv.brandName AS brand,
cv.saleReferencePrice AS guidancePrice,
convert(cv.saleReferencePrice/10000,decimal(10,2)) AS guidancePrice,
cv.vehicleModelOffer AS price,
cv.comonConfigSid AS configSid,
cv.remarks,
@ -168,4 +168,19 @@
where sid = #{vehicSid}
and length(financePlan) > 0
</select>
<select id="getInfo" resultType="com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicleDemandOrderVo">
select brandSid,
brandName,
modelSid,
modelName,
comonConfigSid,
sketChconfiguration,
otherConfig,
number,
changeOptions,
saleReferencePrice
from crm_vehicledemand
where sid = #{intentionSid}
</select>
</mapper>

5
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java

@ -192,4 +192,9 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign {
PagerVo<AppOrderCrmVehicleDemandVo> pv = crmVehicledemandService.getWantCarList(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean<CrmVehicleDemandOrderVo> getInfo(String intentionSid) {
return crmVehicledemandService.getInfo(intentionSid);
}
}

9
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java

@ -478,4 +478,13 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
public CrmVehicledemand selectOneBySid(String vehicSid) {
return baseMapper.selectOneBySid(vehicSid);
}
public ResultBean<CrmVehicleDemandOrderVo> getInfo(String intentionSid) {
ResultBean<CrmVehicleDemandOrderVo> rb = ResultBean.fireFail();
CrmVehicleDemandOrderVo crmVehicleDemandOrderVo = baseMapper.getInfo(intentionSid);
if (crmVehicleDemandOrderVo == null) {
return rb.setData(new CrmVehicleDemandOrderVo());
}
return rb.success().setData(crmVehicleDemandOrderVo);
}
}

1
anrui-fin/anrui-fin-biz/pom.xml

@ -121,6 +121,7 @@
<directory>src/main/java</directory>
<includes>
<include>**/*Mapper.xml</include>
<include>**/*.json</include>
</includes>
</resource>
<resource>

40
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignService.java

@ -1,7 +1,11 @@
package com.yxt.anrui.fin.biz.kingdee;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.io.FileUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.kingdeedata.Data;
@ -26,8 +30,15 @@ public class FinKingDeeFeignService {
public String readJsonFile(String filename) { //#传文件的路径
String jsonStr = "";
try {
File file = new File(filename) ;
String content = FileUtils.readFileToString(file,"UTF-8");
BufferedReader br=FileUtil.getUtf8Reader(filename);
StringBuffer sb = new StringBuffer();
String data = null;
while((data = br.readLine()) != null) {
sb.append((String) data);
}
log.info(sb.toString());
/*File file = new File(filename) ;
String content = FileUtils.readFileToString(file,"UTF-8");*/
/* File file = ResourceUtils.getFile("classpath:"+Filename);
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
@ -41,7 +52,7 @@ public class FinKingDeeFeignService {
br.close();
isr.close();
fis.close();*/
return content;
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
@ -54,14 +65,27 @@ public class FinKingDeeFeignService {
*/
public ResultBean draftEntryBill(APPayable aPPayable) {
ResultBean rb=ResultBean.fireFail();
String readJsonFile = readJsonFile("src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata.json");
String fEntityDetail_ = readJsonFile("src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_FEntityDetail.json");
String fEntityPlan_ = readJsonFile("src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_FEntityPlan.json");
String readJsonFile = readJsonFile("com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata2.json");
String fEntityData_ = readJsonFile("com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_data.json");
String fEntityModel_ = readJsonFile("com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_model.json");
String fEntityDetail_ = readJsonFile("com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_FEntityDetail2.json");
// String fEntityPlan_ = readJsonFile("com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_FEntityPlan.json");
Map<String,Object> map=new HashMap<>();
map.put("@KD_FDATE",aPPayable.getApplicationDate());
APPayable.cloneKingDeeParams(map,readJsonFile,fEntityDetail_,fEntityPlan_);
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);
JSONArray jsonfEntityDetail_= JSONArray.parseArray(fEntityDetail_);
jsonFEntityModel_.put("FEntityDetail",jsonfEntityDetail_);
jsonFEntityData_.put("Model",jsonFEntityModel_);
// JSONObject fEntityData_= JSONObject.parseObject(fEntityData_);
jsonObj.put("data",jsonFEntityData_.toJSONString());
// readJsonFile= readJsonFile.replace("@KD_data",fEntityData_);
//readJsonFile= readJsonFile.replace("@KD_FEntityDetail",fEntityDetail_);
String j= jsonObj.toString();
// readJsonFile=APPayable.cloneKingDeeParams(map,readJsonFile,fEntityDetail_,fEntityPlan_);
try {
return saveBill(KingDeeBillId.AP_PAYABLE.getID(),readJsonFile);
return saveBill(KingDeeBillId.AP_PAYABLE.getID(),j);
} catch (Exception e) {
e.printStackTrace();
}

11
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeSaveSKD.java

@ -130,14 +130,10 @@ public class KingDeeSaveSKD {
URI save_uri = new URI(Save_URL);
HttpPost method = new HttpPost(save_uri);
//采购入库单保存参数
//String ff="{\"formId\":\"AP_Payable\",\"data\":\"{ \\\"Creator\\\": \\\"zs\\\", \\\"NeedUpDateFields\\\": [], \\\"NeedReturnFields\\\": [], \\\"IsDeleteEntry\\\": \\\"True\\\", \\\"SubSystemId\\\": \\\"\\\", \\\"IsVerifyBaseDataField\\\": \\\"false\\\", \\\"IsEntryBatchFill\\\": \\\"True\\\", \\\"ValidateFlag\\\": \\\"True\\\", \\\"NumberSearch\\\": \\\"True\\\", \\\"InterationFlags\\\": \\\"\\\", \\\"Model\\\": { \\\"FID\\\": 0, \\\"FBillTypeID\\\": { \\\"FNUMBER\\\": \\\"YFD01_SYS\\\" }, \\\"FBillNo\\\": \\\"121a11221aa3123\\\", \\\"FISINIT\\\": false, \\\"FDATE\\\": \\\"2022-07-29 00:00:00\\\", \\\"FENDDATE_H\\\": \\\"2022-07-29 00:00:00\\\", \\\"FDOCUMENTSTATUS\\\": \\\"Z\\\", \\\"FSUPPLIERID\\\": { \\\"FNumber\\\": \\\"010001\\\" }, \\\"FCURRENCYID\\\": { \\\"FNumber\\\": \\\"PRE001\\\" }, \\\"FPayConditon\\\": { \\\"FNumber\\\": \\\"FKTJ01_SYS\\\" }, \\\"FISPRICEEXCLUDETAX\\\": true, \\\"FBUSINESSTYPE\\\": \\\"CG\\\", \\\"FISTAX\\\": true, \\\"FSETTLEORGID\\\": { \\\"FNumber\\\": \\\"101\\\" }, \\\"FPAYORGID\\\": { \\\"FNumber\\\": \\\"101\\\" }, \\\"FSetAccountType\\\": \\\"2\\\", \\\"FISTAXINCOST\\\": false, \\\"FAP_Remark\\\": \\\"1231\\\", \\\"FISHookMatch\\\": false, \\\"FPURCHASEDEPTID\\\": { \\\"FNumber\\\": \\\"01\\\" }, \\\"FCancelStatus\\\": \\\"A\\\", \\\"FISBYIV\\\": false, \\\"FISGENHSADJ\\\": false, \\\"FISINVOICEARLIER\\\": false, \\\"F_PAEZ_Text\\\": \\\"231231231231\\\", \\\"F_PMZC_Assistant1\\\": { \\\"FNumber\\\": \\\"00\\\" }, \\\"FsubHeadSuppiler\\\": { \\\"FORDERID\\\": { \\\"FNumber\\\": \\\"010001\\\" }, \\\"FTRANSFERID\\\": { \\\"FNumber\\\": \\\"010001\\\" }, \\\"FChargeId\\\": { \\\"FNumber\\\": \\\"010001\\\" } }, \\\"FsubHeadFinc\\\": { \\\"FACCNTTIMEJUDGETIME\\\": \\\"2022-07-29 00:00:00\\\", \\\"FMAINBOOKSTDCURRID\\\": { \\\"FNumber\\\": \\\"PRE001\\\" }, \\\"FEXCHANGETYPE\\\": { \\\"FNumber\\\": \\\"HLTX01_SYS\\\" }, \\\"FExchangeRate\\\": 1.0, \\\"FTaxAmountFor\\\": 0.98, \\\"FNoTaxAmountFor\\\": 98.02 }, \\\"FEntityDetail\\\": [ { \\\"FMATERIALID\\\": { \\\"FNumber\\\": \\\"&12\\\" }, \\\"FMaterialDesc\\\": \\\"@KD_FMaterialDesc\\\", \\\"FPRICEUNITID\\\": { \\\"FNumber\\\": \\\"ba\\\" }, \\\"FPrice\\\": 99.01, \\\"FPriceQty\\\": 1.0, \\\"FTaxPrice\\\": 100.0, \\\"FPriceWithTax\\\": 99.0, \\\"FEntryTaxRate\\\": 1.0, \\\"F_PMZC_Assistant\\\": { \\\"FNumber\\\": \\\"1904110789\\\" }, \\\"F_PMZC_Base\\\": { \\\"FNUMBER\\\": \\\"0001F\\\" }, \\\"F_PMZC_Base1\\\": { \\\"FNUMBER\\\": \\\"01.001\\\" }, \\\"FEntryDiscountRate\\\": 1.0, \\\"FDISCOUNTAMOUNTFOR\\\": 1.0, \\\"FNoTaxAmountFor_D\\\": 98.02, \\\"FTAXAMOUNTFOR_D\\\": 0.98, \\\"FALLAMOUNTFOR_D\\\": 99.0, \\\"FINCLUDECOST\\\": false, \\\"FISOUTSTOCK\\\": false, \\\"FIsFree\\\": false, \\\"FStockUnitId\\\": { \\\"FNumber\\\": \\\"ba\\\" }, \\\"FStockQty\\\": 1.0, \\\"FStockBaseQty\\\": 1.0, \\\"FPriceBaseDen\\\": 1.0, \\\"FStockBaseNum\\\": 1.0 } ], \\\"FEntityPlan\\\": [ { \\\"FENDDATE\\\": \\\"2022-07-29 00:00:00\\\", \\\"FPAYAMOUNTFOR\\\": 99.0, \\\"FPAYRATE\\\": 100.0 } ] }}\"}";
System.out.println(jsonParam.getData());
// String ss = "{\"formid\":\"SAL_OUTSTOCK\", \"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"XSCKD01_SYS\\\"},\\\"FDate\\\":\\\"2021-12-31 00:00:00\\\",\\\"FSaleOrgId\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FCustomerID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FSaleDeptID\\\":{\\\"FNumber\\\":\\\"03\\\"},\\\"FStockOrgId\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FReceiverID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FSettleID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FPayerID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FOwnerTypeIdHead\\\":\\\"BD_OwnerOrg\\\",\\\"FIsTotalServiceOrCost\\\":false,\\\"F_PAEZ_Assistant\\\":{\\\"FNumber\\\":\\\"00\\\"},\\\"SubHeadEntity\\\":{\\\"FSettleCurrID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FSettleOrgID\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FIsIncludedTax\\\":true,\\\"FLocalCurrID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FExchangeTypeID\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FExchangeRate\\\":1.0,\\\"FIsPriceExcludeTax\\\":true},\\\"FEntity\\\":[{\\\"FRowType\\\":\\\"Standard\\\",\\\"FMaterialID\\\":{\\\"FNumber\\\":\\\" JX064673\\\"},\\\"Flot\\\":{\\\"FNumber\\\":\\\"11111djz\\\"},\\\"FUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FRealQty\\\":1.0,\\\"FIsFree\\\":false,\\\"FOwnerTypeID\\\":\\\"BD_OwnerOrg\\\",\\\"FOwnerID\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FStockID\\\":{\\\"FNumber\\\":\\\"CK002\\\"},\\\"FStockStatusID\\\":{\\\"FNumber\\\":\\\"KCZT01_SYS\\\"},\\\"FSalUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FSALUNITQTY\\\":1.0,\\\"FSALBASEQTY\\\":1.0,\\\"FPRICEBASEQTY\\\":1.0,\\\"FOUTCONTROL\\\":false,\\\"FIsOverLegalOrg\\\":false,\\\"FARNOTJOINQTY\\\":1.0}],\\\"FOutStockTrace\\\":[{\\\"FLogComId\\\":{\\\"FCODE\\\":\\\"a2u\\\"},\\\"FDelTime\\\":\\\"2021-12-31 00:00:00\\\",\\\"FCarryBillNo\\\":\\\"2121122112\\\"}]}}\\n\"}";
// String ff= "{\"formid\":\"AR_receivable\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"YSD01_SYS\\\"},\\\"FDATE\\\":\\\"2022-01-07 00:00:00\\\",\\\"FISINIT\\\":false,\\\"FENDDATE_H\\\":\\\"2022-01-07 00:00:00\\\",\\\"FCUSTOMERID\\\":{\\\"FNumber\\\":\\\" JXYXB\\\"},\\\"FCURRENCYID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FISPRICEEXCLUDETAX\\\":true,\\\"FSETTLEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPAYORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSALEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FISTAX\\\":true,\\\"FCancelStatus\\\":\\\"A\\\",\\\"FBUSINESSTYPE\\\":\\\"BZ\\\",\\\"FSetAccountType\\\":\\\"1\\\",\\\"FISHookMatch\\\":false,\\\"FISINVOICEARLIER\\\":false,\\\"F_PMZC_Assistant2\\\":{\\\"FNumber\\\":\\\"01\\\"},\\\"FsubHeadSuppiler\\\":{\\\"FORDERID\\\":{\\\"fNumber\\\":\\\" JXYXB\\\"},\\\"FTRANSFERID\\\":{\\\"fNumber\\\":\\\" JXYXB\\\"},\\\"FChargeId\\\":{\\\"fNumber\\\":\\\" JXYXB\\\"}},\\\"FsubHeadFinc\\\":{\\\"FACCNTTIMEJUDGETIME\\\":\\\"2022-01-07 00:00:00\\\",\\\"FMAINBOOKSTDCURRID\\\":{\\\"fNumber\\\":\\\"PRE001\\\"},\\\"FEXCHANGETYPE\\\":{\\\"fNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FExchangeRate\\\":1.0},\\\"FEntityDetail\\\":[{\\\"FMATERIALID\\\":{\\\"FNumber\\\":\\\" JX091054\\\"},\\\"FMaterialDesc\\\":\\\"X牵引6*4-550超\\\",\\\"FPRICEUNITID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FDeliveryControl\\\":false,\\\"FStockUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FIsFree\\\":false,\\\"FSalUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FPriceBaseDen\\\":1.0,\\\"FSalBaseNum\\\":1.0,\\\"FStockBaseNum\\\":1.0}]}}\"}";
// String s = "{\"data\":\"\"{\\\"Creator\\\":\\\"\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"IsDeleteEntry\\\":true,\\\"IsEntryBatchFill\\\":true,\\\"IsVerifyBaseDataField\\\":false,\\\"Model\\\":{\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"XSCKD01_SYS\\\"},\\\"FDate\\\":\\\"2021-12-30 00:00:00\\\",\\\"FDeliveryDeptID\\\":{\\\"FNumber\\\":\\\"\\\"},\\\"FEntity\\\":[{\\\"FARNOTJOINQTY\\\":1,\\\"FEntrynote\\\":\\\"\\\",\\\"FIsFree\\\":false,\\\"FIsOverLegalOrg\\\":false,\\\"FMaterialID\\\":{\\\"FNumber\\\":\\\" JX064673\\\"},\\\"FOUTCONTROL\\\":false,\\\"FOwnerID\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FOwnerTypeID\\\":\\\"BD_OwnerOrg\\\",\\\"FPRICEBASEQTY\\\":1,\\\"FPrice\\\":0,\\\"FRealQty\\\":1,\\\"FRowType\\\":\\\"Standard\\\",\\\"FSALBASEQTY\\\":1,\\\"FSALUNITQTY\\\":1,\\\"FSalUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FStockID\\\":{\\\"FNumber\\\":\\\"CK002\\\"},\\\"FStockStatusID\\\":{\\\"FNumber\\\":\\\"KCZT01_SYS\\\"},\\\"FTaxPrice\\\":0,\\\"FUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"F_PAEZ_Decimal\\\":0,\\\"F_PAEZ_Decimal3\\\":0,\\\"F_PAEZ_Decimal4\\\":0,\\\"Flot\\\":{\\\"FNumber\\\":\\\"111\\\"}}],\\\"FID\\\":0,\\\"FIsTotalServiceOrCost\\\":false,\\\"FOutStockTrace\\\":[{\\\"FCarryBillNo\\\":\\\"1111111\\\",\\\"FDelTime\\\":1640933876112,\\\"FLogComId\\\":{\\\"FCODE\\\":\\\"a2u\\\"}}],\\\"FOwnerTypeIdHead\\\":\\\"BD_OwnerOrg\\\",\\\"FPayerID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FReceiverID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FSaleOrgId\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FSettleID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FStockOrgId\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"F_PAEZ_Assistant\\\":{\\\"FNumber\\\":\\\"00\\\"},\\\"F_PAEZ_Base\\\":{},\\\"F_PAEZ_Base1\\\":{},\\\"F_PAEZ_Date\\\":1640933876112,\\\"F_PAEZ_Decimal1\\\":0,\\\"F_PAEZ_Decimal2\\\":1,\\\"F_PAEZ_Text\\\":\\\"\\\",\\\"SubHeadEntity\\\":{\\\"FExchangeRate\\\":1,\\\"FExchangeTypeID\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FIsIncludedTax\\\":true,\\\"FIsPriceExcludeTax\\\":true,\\\"FLocalCurrID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FSettleCurrID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FSettleOrgID\\\":{\\\"FNumber\\\":\\\"100\\\"}}},\\\"NeedReturnFields\\\":[],\\\"NeedUpDateFields\\\":[],\\\"NumberSearch\\\":true,\\\"SubSystemId\\\":\\\"\\\",\\\"ValidateFlag\\\":true}\"\",\"formid\":\"SAL_OUTSTOCK\"}";
// System.out.println(ss);
// System.out.println(ff);
String ss="{\"formId\":\"AP_Payable\",\"data\":\"{ \\\"Creator\\\":\\\"zs\\\", \\\"NeedUpDateFields\\\":[], \\\"NeedReturnFields\\\":[], \\\"IsDeleteEntry\\\":\\\"True\\\", \\\"SubSystemId\\\":\\\"\\\", \\\"IsVerifyBaseDataField\\\":\\\"false\\\", \\\"IsEntryBatchFill\\\":\\\"True\\\", \\\"ValidateFlag\\\":\\\"True\\\", \\\"NumberSearch\\\":\\\"True\\\", \\\"InterationFlags\\\":\\\"\\\", \\\"Model\\\":{ \\\"FID\\\":0, \\\"FBillTypeID\\\":{ \\\"FNUMBER\\\":\\\"YFD01_SYS\\\" }, \\\"FBillNo\\\":\\\"123123\\\", \\\"FISINIT\\\":false, \\\"FDATE\\\":\\\"2022-07-22 00:00:00\\\", \\\"FENDDATE_H\\\":\\\"2022-07-22 00:00:00\\\", \\\"FDOCUMENTSTATUS\\\":\\\"Z\\\", \\\"FSUPPLIERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FCURRENCYID\\\":{ \\\"FNumber\\\":\\\"PRE001\\\" }, \\\"FPayConditon\\\":{ \\\"FNumber\\\":\\\"FKTJ01_SYS\\\" }, \\\"FISPRICEEXCLUDETAX\\\":true, \\\"FBUSINESSTYPE\\\":\\\"CG\\\", \\\"FISTAX\\\":true, \\\"FSETTLEORGID\\\":{ \\\"FNumber\\\":\\\"101\\\" }, \\\"FPAYORGID\\\":{ \\\"FNumber\\\":\\\"101\\\" }, \\\"FSetAccountType\\\":\\\"2\\\", \\\"FISTAXINCOST\\\":false, \\\"FAP_Remark\\\":\\\"1231\\\", \\\"FISHookMatch\\\":false, \\\"FPURCHASEDEPTID\\\":{ \\\"FNumber\\\":\\\"01\\\" }, \\\"FCancelStatus\\\":\\\"A\\\", \\\"FISBYIV\\\":false, \\\"FISGENHSADJ\\\":false, \\\"FISINVOICEARLIER\\\":false, \\\"F_PAEZ_Text\\\":\\\"231231231231\\\", \\\"F_PMZC_Assistant1\\\":{ \\\"FNumber\\\":\\\"00\\\" }, \\\"FsubHeadSuppiler\\\":{ \\\"FORDERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FTRANSFERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FChargeId\\\":{ \\\"FNumber\\\":\\\"010001\\\" } }, \\\"FsubHeadFinc\\\":{ \\\"FACCNTTIMEJUDGETIME\\\":\\\"2022-07-22 00:00:00\\\", \\\"FMAINBOOKSTDCURRID\\\":{ \\\"FNumber\\\":\\\"PRE001\\\" }, \\\"FEXCHANGETYPE\\\":{ \\\"FNumber\\\":\\\"HLTX01_SYS\\\" }, \\\"FExchangeRate\\\":1.0, \\\"FTaxAmountFor\\\":0.98, \\\"FNoTaxAmountFor\\\":98.02 }, \\\"FEntityDetail\\\":[ { \\\"FMATERIALID\\\":{ \\\"FNumber\\\":\\\"&12\\\" }, \\\"FMaterialDesc\\\":\\\"@KD_FMaterialDesc\\\", \\\"FPRICEUNITID\\\":{ \\\"FNumber\\\":\\\"ba\\\" }, \\\"FPrice\\\":99.01, \\\"FPriceQty\\\":1.0, \\\"FTaxPrice\\\":100.0, \\\"FPriceWithTax\\\":99.0, \\\"FEntryTaxRate\\\":1.0, \\\"F_PMZC_Assistant\\\":{ \\\"FNumber\\\":\\\"1904110789\\\" }, \\\"F_PMZC_Base\\\":{ \\\"FNUMBER\\\":\\\"0001F\\\" }, \\\"F_PMZC_Base1\\\":{ \\\"FNUMBER\\\":\\\"01.001\\\" }, \\\"FEntryDiscountRate\\\":1.0, \\\"FDISCOUNTAMOUNTFOR\\\":1.0, \\\"FNoTaxAmountFor_D\\\":98.02, \\\"FTAXAMOUNTFOR_D\\\":0.98, \\\"FALLAMOUNTFOR_D\\\":99.0, \\\"FINCLUDECOST\\\":false, \\\"FISOUTSTOCK\\\":false, \\\"FIsFree\\\":false, \\\"FStockUnitId\\\":{ \\\"FNumber\\\":\\\"ba\\\" }, \\\"FStockQty\\\":1.0, \\\"FStockBaseQty\\\":1.0, \\\"FPriceBaseDen\\\":1.0, \\\"FStockBaseNum\\\":1.0 } ], \\\"FEntityPlan\\\":[ { \\\"FENDDATE\\\":\\\"2022-07-22 00:00:00\\\", \\\"FPAYAMOUNTFOR\\\":99.0, \\\"FPAYRATE\\\":100.0 } ] }}}";
//String dd="{\"formId\":\"AP_Payable\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"YFD01_SYS\\\"},\\\"FBillNo\\\":\\\"222124564322123\\\",\\\"FISINIT\\\":false,\\\"FDATE\\\":\\\"2022-07-29 00:00:00\\\",\\\"FENDDATE_H\\\":\\\"2022-07-29 00:00:00\\\",\\\"FDOCUMENTSTATUS\\\":\\\"Z\\\",\\\"FSUPPLIERID\\\":{\\\"FNumber\\\":\\\"010001\\\"},\\\"FCURRENCYID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FISPRICEEXCLUDETAX\\\":true,\\\"FBUSINESSTYPE\\\":\\\"CG\\\",\\\"FISTAX\\\":true,\\\"FSETTLEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPAYORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSetAccountType\\\":\\\"2\\\",\\\"FISTAXINCOST\\\":false,\\\"FISHookMatch\\\":false,\\\"FPURCHASEDEPTID\\\":{\\\"FNumber\\\":\\\"01\\\"},\\\"FCancelStatus\\\":\\\"A\\\", \\\"FISBYIV\\\":false,\\\"FISGENHSADJ\\\":false,\\\"FISINVOICEARLIER\\\":false,\\\"FEntityDetail\\\":[{\\\"FMaterialDesc\\\":\\\"@KD_FMaterialDesc\\\",\\\"FNoTaxAmountFor_D\\\":98.02,\\\"FIsFree\\\":false,\\\"FALLAMOUNTFOR_D\\\":99.0,\\\"FEntryTaxRate\\\":1.0,\\\"FDISCOUNTAMOUNTFOR\\\":1.0,\\\"FStockUnitId\\\":{\\\"FNumber\\\":\\\"ba\\\"},\\\"FMATERIALID\\\":{\\\"FNumber\\\":\\\"&12\\\"},\\\"FPRICEUNITID\\\":{\\\"FNumber\\\":\\\"ba\\\"},\\\"FEntryDiscountRate\\\":1.0,\\\"FStockBaseQty\\\":1.0,\\\"FPrice\\\":99.01,\\\"FTAXAMOUNTFOR_D\\\":0.98,\\\"FISOUTSTOCK\\\":false,\\\"F_PMZC_Base1\\\":{\\\"FNUMBER\\\":\\\"01.001\\\"},\\\"FTaxPrice\\\":100.0,\\\"F_PMZC_Base\\\":{\\\"FNUMBER\\\":\\\"0001F\\\"},\\\"FPriceWithTax\\\":99.0,\\\"FPriceBaseDen\\\":1.0,\\\"FPriceQty\\\":1.0,\\\"FStockBaseNum\\\":1.0,\\\"FINCLUDECOST\\\":false,\\\"F_PMZC_Assistant\\\":{\\\"FNumber\\\":\\\"1904110789\\\"},\\\"FStockQty\\\":1.0}],\\\"FsubHeadSuppiler\\\":{},\\\"FsubHeadFinc\\\":{\\\"FMAINBOOKSTDCURRID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FACCNTTIMEJUDGETIME\\\":\\\"2022-07-29 00:00:00\\\",\\\"FEXCHANGETYPE\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FExchangeRate\\\":1.0}}}\"}";
//String ss="{\"formId\":\"AP_Payable\",\"data\":\"{\\\"Creator\\\":\\\"zs\\\", \\\"NeedUpDateFields\\\":[], \\\"NeedReturnFields\\\":[], \\\"IsDeleteEntry\\\":\\\"True\\\", \\\"SubSystemId\\\":\\\"\\\", \\\"IsVerifyBaseDataField\\\":\\\"false\\\", \\\"IsEntryBatchFill\\\":\\\"True\\\", \\\"ValidateFlag\\\":\\\"True\\\", \\\"NumberSearch\\\":\\\"True\\\", \\\"InterationFlags\\\":\\\"\\\", \\\"Model\\\":{ \\\"FID\\\":0, \\\"FBillTypeID\\\":{ \\\"FNUMBER\\\":\\\"YFD01_SYS\\\" }, \\\"FBillNo\\\":\\\"2221211223123\\\", \\\"FISINIT\\\":false, \\\"FDATE\\\":\\\"2022-07-29 00:00:00\\\", \\\"FENDDATE_H\\\":\\\"2022-07-29 00:00:00\\\", \\\"FDOCUMENTSTATUS\\\":\\\"Z\\\", \\\"FSUPPLIERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FCURRENCYID\\\":{ \\\"FNumber\\\":\\\"PRE001\\\" }, \\\"FPayConditon\\\":{ \\\"FNumber\\\":\\\"FKTJ01_SYS\\\" }, \\\"FISPRICEEXCLUDETAX\\\":true, \\\"FBUSINESSTYPE\\\":\\\"CG\\\", \\\"FISTAX\\\":true, \\\"FSETTLEORGID\\\":{ \\\"FNumber\\\":\\\"101\\\" }, \\\"FPAYORGID\\\":{ \\\"FNumber\\\":\\\"101\\\" }, \\\"FSetAccountType\\\":\\\"2\\\", \\\"FISTAXINCOST\\\":false, \\\"FAP_Remark\\\":\\\"1231\\\", \\\"FISHookMatch\\\":false, \\\"FPURCHASEDEPTID\\\":{ \\\"FNumber\\\":\\\"01\\\" }, \\\"FCancelStatus\\\":\\\"A\\\", \\\"FISBYIV\\\":false, \\\"FISGENHSADJ\\\":false, \\\"FISINVOICEARLIER\\\":false, \\\"F_PAEZ_Text\\\":\\\"231231231231\\\", \\\"F_PMZC_Assistant1\\\":{ \\\"FNumber\\\":\\\"00\\\" }, \\\"FsubHeadSuppiler\\\":{ \\\"FORDERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FTRANSFERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FChargeId\\\":{ \\\"FNumber\\\":\\\"010001\\\" } }, \\\"FsubHeadFinc\\\":{ \\\"FACCNTTIMEJUDGETIME\\\":\\\"2022-07-29 00:00:00\\\", \\\"FMAINBOOKSTDCURRID\\\":{ \\\"FNumber\\\":\\\"PRE001\\\" }, \\\"FEXCHANGETYPE\\\":{ \\\"FNumber\\\":\\\"HLTX01_SYS\\\" }, \\\"FExchangeRate\\\":1.0, \\\"FTaxAmountFor\\\":0.98, \\\"FNoTaxAmountFor\\\":98.02 }, \\\"FEntityDetail\\\":[ { \\\"FMATERIALID\\\":{ \\\"FNumber\\\":\\\"&12\\\" }, \\\"FMaterialDesc\\\":\\\"@KD_FMaterialDesc\\\", \\\"FPRICEUNITID\\\":{ \\\"FNumber\\\":\\\"ba\\\" }, \\\"FPrice\\\":99.01, \\\"FPriceQty\\\":1.0, \\\"FTaxPrice\\\":100.0, \\\"FPriceWithTax\\\":99.0, \\\"FEntryTaxRate\\\":1.0, \\\"F_PMZC_Assistant\\\":{ \\\"FNumber\\\":\\\"1904110789\\\" }, \\\"F_PMZC_Base\\\":{ \\\"FNUMBER\\\":\\\"0001F\\\" }, \\\"F_PMZC_Base1\\\":{ \\\"FNUMBER\\\":\\\"01.001\\\" }, \\\"FEntryDiscountRate\\\":1.0, \\\"FDISCOUNTAMOUNTFOR\\\":1.0, \\\"FNoTaxAmountFor_D\\\":98.02, \\\"FTAXAMOUNTFOR_D\\\":0.98, \\\"FALLAMOUNTFOR_D\\\":99.0, \\\"FINCLUDECOST\\\":false, \\\"FISOUTSTOCK\\\":false, \\\"FIsFree\\\":false, \\\"FStockUnitId\\\":{ \\\"FNumber\\\":\\\"ba\\\" }, \\\"FStockQty\\\":1.0, \\\"FStockBaseQty\\\":1.0, \\\"FPriceBaseDen\\\":1.0, \\\"FStockBaseNum\\\":1.0 } ], \\\"FEntityPlan\\\":[ { \\\"FENDDATE\\\":\\\"2022-07-29 00:00:00\\\", \\\"FPAYAMOUNTFOR\\\":99.0, \\\"FPAYRATE\\\":100.0 } ] }}\"}";
StringEntity entity = new StringEntity(jsonParam.getData(), "utf-8");
//StringEntity entity = new StringEntity(JSON.toJSONString( jsonParam), "utf-8");
System.out.println(JSON.toJSON(entity));
@ -166,7 +162,6 @@ public class KingDeeSaveSKD {
} catch (Exception e) {
System.out.println("post请求提交失败:" + e);
}
return null;
/********** 保存采购入库单End************************/
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata2.json

@ -0,0 +1,4 @@
{
"formId": "AP_Payable",
"data": "@KD_data"
}

38
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_FEntityDetail2.json

@ -0,0 +1,38 @@
[{
"FMATERIALID": {
"FNumber": "&12"
},
"FMaterialDesc": "@KD_FMaterialDesc",
"FPRICEUNITID": {
"FNumber": "ba"
},
"FPrice": 99.01,
"FPriceQty": 1.0,
"FTaxPrice": 100.0,
"FPriceWithTax": 99.0,
"FEntryTaxRate": 1.0,
"F_PMZC_Assistant": {
"FNumber": "1904110789"
},
"F_PMZC_Base": {
"FNUMBER": "0001F"
},
"F_PMZC_Base1": {
"FNUMBER": "01.001"
},
"FEntryDiscountRate": 1.0,
"FDISCOUNTAMOUNTFOR": 1.0,
"FNoTaxAmountFor_D": 98.02,
"FTAXAMOUNTFOR_D": 0.98,
"FALLAMOUNTFOR_D": 99.0,
"FINCLUDECOST": false,
"FISOUTSTOCK": false,
"FIsFree": false,
"FStockUnitId": {
"FNumber": "ba"
},
"FStockQty": 1.0,
"FStockBaseQty": 1.0,
"FPriceBaseDen": 1.0,
"FStockBaseNum": 1.0
}]

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {}
}

48
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/entrybill/entrybilldata_model.json

@ -0,0 +1,48 @@
{
"FID": 0,
"FBillTypeID": {
"FNUMBER": "YFD01_SYS"
},
"FBillNo": "22996688aassddff",
"FISINIT": false,
"FDATE": "2022-07-29 00:00:00",
"FENDDATE_H": "2022-07-29 00:00:00",
"FDOCUMENTSTATUS": "Z",
"FSUPPLIERID": {
"FNumber": "010001"
},
"FCURRENCYID": {
"FNumber": "PRE001"
},
"FISPRICEEXCLUDETAX": true,
"FBUSINESSTYPE": "CG",
"FISTAX": true,
"FSETTLEORGID": {
"FNumber": "101"
},
"FPAYORGID": {
"FNumber": "101"
},
"FSetAccountType": "2",
"FISTAXINCOST": false,
"FISHookMatch": false,
"FPURCHASEDEPTID":{
"FNumber":"01"
},
"FCancelStatus": "A",
"FISBYIV": false,
"FISGENHSADJ": false,
"FISINVOICEARLIER": false,
"FsubHeadSuppiler": {},
"FsubHeadFinc": {
"FACCNTTIMEJUDGETIME": "2022-07-29 00:00:00",
"FMAINBOOKSTDCURRID": {
"FNumber": "PRE001"
},
"FEXCHANGETYPE": {
"FNumber": "HLTX01_SYS"
},
"FExchangeRate": 1.0
},
"FEntityDetail": []
}

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundQuery.java

@ -29,4 +29,7 @@ public class ScmApplyInboundQuery implements Query {
@ApiModelProperty("车型")
private String modelName;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
}

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleexamine/AppScmVehicleExaminePageVo.java

@ -36,5 +36,8 @@ public class AppScmVehicleExaminePageVo implements Vo {
@ApiModelProperty("是否验车 未验车 1 以验车2")
private String inspectedType;
@ApiModelProperty("保存状态(默认为0 未操作 1 已保存)")
private int saveStatus;
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleexamine/ScmVehicleExamine.java

@ -94,5 +94,7 @@ public class ScmVehicleExamine extends BaseEntity {
private String modelDifferenceExplain; // 车型配置差异说明
@ApiModelProperty("保修卡卡号")
private String guaranteeCardNo; // 保修卡卡号
@ApiModelProperty("保存状态(默认为0 未操作 1 已保存)")
private int saveStatus;
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouseQuery.java

@ -64,6 +64,6 @@ public class ScmWarehouseQuery implements Query {
@ApiModelProperty("负责人及电话")
private String warehouseContract; // 负责人及电话
@ApiModelProperty("分组")
private String warehouseGroup; // 分组
@ApiModelProperty("分组key")
private String warehouseGroupKey; // 分组key
}

12
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/flow/FlowableMapper.java

@ -1,12 +0,0 @@
package com.yxt.anrui.scm.biz.flow;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.buscenter.api.flow.Flowable;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
@Mapper
public interface FlowableMapper extends BaseMapper<Flowable> {
}

5
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/flow/FlowableMapper.xml

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.scm.biz.flow.FlowableMapper">
</mapper>

97
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/flow/FlowableService.java

@ -1,97 +0,0 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.scm.biz.flow;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.buscenter.api.flow.*;
import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTask;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.utils.ProcessStateEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskParam;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.flowable.sqloperationsymbol.SQLOperationSymbol;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.*;
/**
* Project: anrui-parent <br/>
* File: FlowableService.java <br/>
* Class: com.yxt.anrui.scm.biz.flow.FlowableService <br/>
* Description: <描述类的功能>. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021/10/23 上午11:14 <br/>
*
* @author popo
* @version 1.0
* @since 1.0
*/
@Service
public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable> {
@Autowired
private FlowDefinitionFeign flowDefinitionFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
public ResultBean businessStart(@ApiParam(value = "流程定义id") @PathVariable(value = "procDefId") String procDefId,
@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ApiParam(value = "变量集合,json对象") @RequestBody Map<String, Object> variables) {
variables.put("procDefId",procDefId);
variables.put("userSid",userSid);
BusinessVariables bv= BusinessVariables.builder().build();
bv.setFormVariables(variables);
ResultBean<FlowTask> rb = flowDefinitionFeign.businessStart(bv);
if (!rb.getSuccess()) {
return rb;
}
String procId = rb.getData().getProcInsId();
List<LatestTaskVo> list = flowTaskFeign.getLatestTasks(procId).getData();
String nodeState = list.get(0).getName_();
String task_def_key_ = list.get(0).getTask_def_key_();
Map<String, String> map = new HashMap<>();
map.put("sid", variables.get("businessSid").toString());
map.put("nodeState", nodeState);
map.put("procInsId", rb.getData().getProcInsId());
map.put("taskDefKey", task_def_key_);
return new ResultBean().success().setData(map);
}
}

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

@ -1,24 +1,18 @@
package com.yxt.anrui.scm.biz.scmapplyinbound;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.SubmitBaseOutSourcingApplicationDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcessStateEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
@ -27,17 +21,13 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmapplyinbound.*;
import com.yxt.anrui.scm.api.scmapplyinbound.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmapplyinbound.flow.ScmApplyInBoundCompleteDto;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicle;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleDto;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleVo;
import com.yxt.anrui.scm.api.scmfile.ScmFileDto;
import com.yxt.anrui.scm.api.scmfile.ScmFileVo;
import com.yxt.anrui.scm.api.scmvehicleexamine.AppScmVehicleExamineDto;
import com.yxt.anrui.scm.api.scmvehicleexamine.ScmEntryVehicleExamineDto;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto;
import com.yxt.anrui.scm.api.scmvehinspectitem.ScmVehinspectItemDto;
import com.yxt.anrui.scm.biz.flow.FlowableService;
import com.yxt.anrui.scm.biz.scmapplyinboundvehicle.ScmApplyInboundVehicleService;
import com.yxt.anrui.scm.biz.scmfile.ScmFileService;
import com.yxt.anrui.scm.biz.scmvehicleexamine.ScmVehicleExamineService;
@ -115,6 +105,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ScmApplyInbound> qw = new QueryWrapper<>();
qw.eq("useOrgSid", query.getCreateOrgSid());
if (StringUtils.isNotBlank(query.getPurchaseOrderNo())) {
qw.like("purchaseOrderNo", query.getPurchaseOrderNo());
}
@ -456,16 +447,16 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
baseVehicleDto.setConfigName(booad.getConfigName());
baseVehicleDto.setInsideCode(booad.getInsideCode());
baseVehicleDto.setOrderingNo(booad.getPurchaseOrderNo());
baseVehicleDto.setSettlementStatus("0");
baseVehicleDto.setSettlementStatusValue("未买断");
baseVehicleDto.setLockedState("0");
baseVehicleDto.setLockedStateValue("未锁定");
baseVehicleDto.setVehicleState("0003");
baseVehicleDto.setVehicleStateValue("在途");
baseVehicleDto.setSettlementStatus(VehicleState.BuyoutEnum.UN_BUYOUT.getCode());
baseVehicleDto.setSettlementStatusValue(VehicleState.BuyoutEnum.UN_BUYOUT.getRemarks());
baseVehicleDto.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode());
baseVehicleDto.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks());
baseVehicleDto.setVehicleState(VehicleState.StockEnum.ING_STOCK.getCode());
baseVehicleDto.setVehicleStateValue(VehicleState.StockEnum.ING_STOCK.getRemarks());
baseVehicleDto.setManPurOrderTypeKey("001");
baseVehicleDto.setManPurOrderTypeValue("排产订单");
baseVehicleDto.setContractPrice(Integer.parseInt(booad.getContractPrice().toString()));
baseVehicleDto.setFreight(Integer.parseInt(booad.getOnceFreight().subtract(booad.getSecondaryFreight()).toString()));
baseVehicleDto.setFreight(Integer.parseInt(booad.getOnceFreight().add(booad.getSecondaryFreight()).toString()));
baseVehicleDto.setCostPrice(Integer.parseInt(booad.getCostPrice().toString()));
baseVehicleDto.setPriceDate(booad.getPriceDate());
baseVehicleDto.setDepartureDate(booad.getDepartureDate());

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineMapper.xml

@ -24,7 +24,8 @@
sve.purchaseType,
sve.inspection as inspectedName,
sve.inspectionDate as inspectedDate,
sve.inspectionResult as inspectedType
sve.inspectionResult as inspectedType,
sve.saveStatus
FROM scm_vehicle_examine sve
<where>
${ew.sqlSegment}

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

@ -355,6 +355,7 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
if (StringUtils.isNotBlank(dto.getInspectedSid())) {
ScmVehicleExamine scmVehicleExamine = fetchBySid(dto.getInspectedSid());
if ("1".equals(scmVehicleExamine.getInspectionResult())) {
scmVehicleExamine.setSaveStatus(1);
scmVehicleExamine.setVinNo(dto.getVin());
scmVehicleExamine.setPurchaseTypeKey(dto.getPurchaseKey());
scmVehicleExamine.setModelName(dto.getModel());

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmwarehouse/ScmWarehouseService.java

@ -81,8 +81,8 @@ public class ScmWarehouseService extends MybatisBaseService<ScmWarehouseMapper,
qw.like("warehouseContract", query.getWarehouseContract());
}
if (StringUtils.isNotBlank(query.getWarehouseGroup())) {
qw.eq("warehouseGroup", query.getWarehouseGroup());
if (StringUtils.isNotBlank(query.getWarehouseGroupKey())) {
qw.eq("warehouseGroupKey", query.getWarehouseGroupKey());
}
return qw;
}

241
anrui-scm/anrui-scm-ui/src/components/uploadFile/upload_jianchabiao.vue

@ -0,0 +1,241 @@
<template>
<div>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
<el-upload class="upload-demo" :headers="accessToken" :action="uploadFile" :accept="accept" :data="uploadData"
:on-success="uploadImgSuccess_FuJian" :on-remove="handleRemove" :file-list="fileList_FuJian"
:on-preview="handlePictureCardPreview">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
</template>
<script>
import { uploadFile } from '@/api/portal/Upload.js'
import { getStorage } from '@/utils/auth.js' //token
import { mapGetters } from 'vuex'
export default {
model: {
prop: 'name',
event: 'change'
},
props: {
placeholder: {
type: String,
default: ''
},
bucket: {
type: String,
default: 'abc'
},
//
width: {
type: String,
default: '270px'
},
limit: {
type: Number,
default: 1
},
accept: {
type: String,
default:
'.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,'
},
//
name: {
type: Array,
required: true
},
uploadData: {
type: Object,
default: {}
}
},
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
accessToken: null,
uploadFile: uploadFile,
fileList_FuJian: [],
enclosure: '',
file_add: '',
file_catch: '',
files: [],
files_list: [],
filedUrl: '',
// fileUrl: fileUrl,
// showpicture:false,
isview: false,
nameArr: '',
loadding: false,
stateName: ''
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token'
])
},
watch: {
name: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
console.log('aaaa1', newVal)
this.files = newVal
// if (this.stateName = 'xunidingjinAdd') {
// if (this.files.length > 1) {
// this.files.splice(0, 1)
// }
// }
console.log('aaaa2', this.files)
}
}
},
mounted() {
this.$nextTick(() => {
this.Init()
})
},
created() {
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage()
}
},
methods: {
showImg(imgList) {
this.stateName = 'xunidingjinAdd'
this.files = imgList
console.log('回显图片', this.files)
},
view() {
// window.open(this.filedUrl)
},
//
Init() {
if (this.name !== undefined) {
this.files = []
for (var i = 0; i < this.name.length; i++) {
this.files.push({
name: this.name[i],
url: this.name[i]
})
}
}
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
console.log('您选择的file:', file)
if (file.response.code === '200') {
this.loadding = false
//
this.filedUrl = this.fileUrl + file.response.data
// var uid = file.response.data
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
size: file.response.data.size
})
this.$emit('change', this.files)
this.$emit('eett', this.files)
}
},
removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1)
const imgFiles = []
this.files.forEach((o) => {
imgFiles.push(o.url)
})
this.$emit('fileChange', this.files)
},
handleRemove(file, fileList) {
console.log('file:' + JSON.stringify(file))
console.log('fileList:' + JSON.stringify(fileList))
this.enclosure = ''
// 1. id(this.file_add)
this.getNewFileId(fileList)
// 2. id(this.file_catch)
this.getCatchFileId(file)
// 3. id
this.getFileId()
// 4. id
this.$emit('change', this.enclosure)
},
// this.file_add(id)
getNewFileId(fileList) {
// debugger
this.file_add = ''
for (var i = 0; i < fileList.length; i++) {
if (fileList[i].response && fileList[i].response.code === '200') {
this.file_add = this.file_add + fileList[i].response.data + ','
}
}
if (this.file_add !== '') {
this.file_add = this.file_add.substring(0, this.file_add.length - 1)
}
// console.log('1. this.file_add: ' + this.file_add)
},
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== '') {
// 1. id
if (this.files_list[i].name === file.name) {
// 2. file_catchfils_arry
var fils_arry = this.file_catch.split(',')
// 3. fils_arry this.files_list[i].id
var arry = []
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element)
}
})
// 4. file_catch
this.file_catch = arry.join(',')
}
}
}
// console.log('2. this.file_catch:' + this.file_catch)
},
// id
getFileId() {
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
if (this.file_catch !== '') {
if (this.file_add !== '') {
this.enclosure = this.file_catch + ',' + this.file_add
} else {
this.enclosure = this.file_catch
}
} else {
this.enclosure = this.file_add
}
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
},
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
}
}
}
}
</script>
<style lang="scss" scoped></style>

35
anrui-scm/anrui-scm-ui/src/views/anruiscm/scmwarehouse/scmwarehouse.vue

@ -35,8 +35,8 @@
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="dosearch">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="dosearch">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -173,9 +173,9 @@ export default {
},
created() {
// this.loadList()
this.getType()
this.getUseOrg()
this.getListOrgAll()
this.getType()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
@ -343,8 +343,8 @@ export default {
</script>
<style scoped>
/deep/ .el-collapse {
border-top: 0px solid #e6ebf5;
border-bottom: 0px solid #e6ebf5;
border-top: 0 solid #e6ebf5;
border-bottom: 0 solid #e6ebf5;
}
/deep/ .el-collapse-item__content {
@ -353,31 +353,10 @@ export default {
}
/deep/ .el-collapse-item__wrap {
border-bottom: 0px solid #ebeef5;
border-bottom: 0 solid #ebeef5;
}
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
}
.searchbtn {
border: #2cab69 1px solid;
color: #2cab69;
}
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
background: white;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
border-bottom: 0 solid #e6ebf5;
}
</style>

60
anrui-scm/anrui-scm-ui/src/views/anruiscm/scmwarehouse/scmwarehouseAdd.vue

@ -17,8 +17,8 @@
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="titwu"><span>存放地点</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="300px" class="formadd">
<div class="wlInfo"><span>存放地点</span></div>
<!-- <el-row>-->
<!-- <el-col :span="18" class="specialCol">-->
<!-- <span>使用组织</span>-->
@ -29,7 +29,7 @@
<el-col :span="3" class="tleftb row_first">
<el-form-item><span slot="label"><span class="icon">*</span>使用组织</span></el-form-item>
</el-col>
<el-col :span="6" class="trightb row_first">
<el-col :span="9" class="trightb row_first">
<el-form-item prop="">
<el-input v-model="formobj.useOrg" placeholder="使用组织" class="addinputw" :disabled="true"/>
</el-form-item>
@ -37,7 +37,7 @@
<el-col :span="3" class="tleftb row_first">
<el-form-item><span slot="label"><span class="icon">*</span>名称</span></el-form-item>
</el-col>
<el-col :span="6" class="trightb row_first">
<el-col :span="9" class="trightb row_first">
<el-form-item prop="warehouseName">
<el-input v-model="formobj.warehouseName" placeholder="名称" class="addinputw" clearable/>
</el-form-item>
@ -47,7 +47,7 @@
<el-col :span="3" class="tleftb">
<el-form-item><span slot="label"><span class="icon">*</span>负责人及电话</span></el-form-item>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="9" class="trightb">
<el-form-item prop="warehouseContract">
<el-input v-model="formobj.warehouseContract" placeholder="负责人及电话" class="addinputw" clearable/>
</el-form-item>
@ -55,7 +55,7 @@
<el-col :span="3" class="tleftb">
<el-form-item><span slot="label"><span class="icon">*</span>分组</span></el-form-item>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="9" class="trightb">
<el-form-item prop="warehouseGroupKey">
<el-select v-model="formobj.warehouseGroupKey" placeholder="请选择" @change="changeWarehouseGroup" clearable
class="addinputw">
@ -69,7 +69,7 @@
<el-col :span="3" class="tleftb">
<el-form-item><span slot="label"><span class="icon">*</span>详细地址</span></el-form-item>
</el-col>
<el-col :span="15" class="trightb">
<el-col :span="21" class="trightb">
<el-form-item prop="warehouseAttribute">
<el-input v-model="formobj.warehouseAttribute" placeholder="详细地址" class="addinputw" clearable/>
</el-form-item>
@ -323,7 +323,8 @@ export default {
_this.formobj.warehouseAttribute = vdata.warehouseAttribute //
_this.formobj.warehouseContract = vdata.warehouseContract //
_this.formobj.warehouseContractSid = vdata.warehouseContractSid // sid
_this.formobj.warehouseGroup = vdata.warehouseGroup //
_this.formobj.warehouseGroupKey = vdata.warehouseGroupKey //
_this.formobj.warehouseGroupValue = vdata.warehouseGroupValue //
})
.catch(e => {
this.formobj = row
@ -377,51 +378,22 @@ export default {
<style scoped>
.listconadd {
padding: 60px 48px 33px 48px;
}
/deep/ .el-form-item__label {
padding: 0 !important;
}
/deep/ .headInfo {
margin-left: -14px;
margin-right: -14px;
}
.row_first {
border-top: 1px solid #e0e3eb !important;
}
.wlInfo {
width: 100%;
height: 100%;
padding: 60px 0;
font-size: 24px;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.formadd {
padding: 0;
}
.formadd /deep/ .el-row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
justify-content: center;
border-left: 0 !important;
}
.tleftb {
text-align: right;
border-left: 1px solid #e0e3eb;
}
/*.formadd /deep/ .el-row {*/
/* display: -webkit-box;*/
/* display: -ms-flexbox;*/
/* display: flex;*/
/* -ms-flex-wrap: wrap;*/
/* justify-content: center;*/
/* border-left: 0 !important;*/
/*}*/
/deep/ .tab-headerg {
height: 35px;

77
anrui-scm/anrui-scm-ui/src/views/anruiscm/scmwarehouse/scmwarehouseInfo.vue

@ -12,8 +12,8 @@
</div>
<!--标题按钮部分结束-->
<div class="listconadd">
<div class="titwu"><span>存放地点</span></div>
<el-form ref="form_obj" :model="formobj" label-position="top" label-width="300px" class="formadd">
<div class="wlInfo"><span>存放地点</span></div>
<!-- <el-row>-->
<!-- <el-col :span="18" class="specialCol">-->
<!-- <span>使用组织</span>-->
@ -24,7 +24,7 @@
<el-col :span="3" class="tleftb row_first">
<el-form-item><span slot="label">使用组织</span></el-form-item>
</el-col>
<el-col :span="6" class="trightb row_first">
<el-col :span="9" class="trightb row_first">
<el-form-item prop="">
<span>{{ formobj.useOrg }}</span>
</el-form-item>
@ -32,7 +32,7 @@
<el-col :span="3" class="tleftb row_first">
<el-form-item><span slot="label">名称</span></el-form-item>
</el-col>
<el-col :span="6" class="trightb row_first">
<el-col :span="9" class="trightb row_first">
<el-form-item prop="warehouseName">
<span>{{ formobj.warehouseName }}</span>
</el-form-item>
@ -42,7 +42,7 @@
<el-col :span="3" class="tleftb">
<el-form-item><span slot="label">负责人及电话</span></el-form-item>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="9" class="trightb">
<el-form-item prop="warehouseContract">
<span>{{ formobj.warehouseContract }}</span>
</el-form-item>
@ -50,9 +50,9 @@
<el-col :span="3" class="tleftb">
<el-form-item><span slot="label">分组</span></el-form-item>
</el-col>
<el-col :span="6" class="trightb">
<el-col :span="9" class="trightb">
<el-form-item prop="warehouseGroup">
<span>{{ formobj.warehouseGroup }}</span>
<span>{{ formobj.warehouseGroupValue }}</span>
</el-form-item>
</el-col>
</el-row>
@ -60,7 +60,7 @@
<el-col :span="3" class="tleftb">
<el-form-item><span slot="label">详细地址</span></el-form-item>
</el-col>
<el-col :span="15" class="trightb">
<el-col :span="21" class="trightb">
<el-form-item prop="warehouseAttribute">
<span>{{ formobj.warehouseAttribute }}</span>
</el-form-item>
@ -72,6 +72,8 @@
</template>
<script>
import req from '@/api/anruiscm/scmwarehouse'
export default {
name: 'ScmWarehouseInfo',
data() {
@ -86,53 +88,46 @@
},
showInfo(row) {
this.formobj = row
const _this = this
req
.fetchBySid(row.sid)
.then(resp => {
const vdata = resp.data
_this.formobj.id = vdata.id
_this.formobj.sid = vdata.sid // SID
_this.formobj.useOrg = vdata.useOrg // 使
_this.formobj.warehouseName = vdata.warehouseName //
_this.formobj.warehouseAttribute = vdata.warehouseAttribute //
_this.formobj.warehouseContract = vdata.warehouseContract //
_this.formobj.warehouseContractSid = vdata.warehouseContractSid // sid
_this.formobj.warehouseGroupKey = vdata.warehouseGroupKey //
_this.formobj.warehouseGroupValue = vdata.warehouseGroupValue //
})
.catch(e => {
this.formobj = row
})
}
}
}
</script>
<style scoped>
.listconadd {
padding: 60px 48px 33px 48px;
}
/deep/ .headInfo {
margin-left: -14px;
margin-right: -14px;
}
/deep/ .el-form-item__label {
padding: 0 !important;
}
.row_first {
border-top: 1px solid #e0e3eb !important;
}
.wlInfo {
width: 100%;
height: 100%;
padding: 60px 0;
font-size: 24px;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.formadd {
padding: 0;
}
.formadd /deep/ .el-row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
justify-content: center;
border-left: 0 !important;
}
.tleftb {
text-align: right;
border-left: 1px solid #e0e3eb;
}
/*.formadd /deep/ .el-row {*/
/* display: -webkit-box;*/
/* display: -ms-flexbox;*/
/* display: flex;*/
/* -ms-flex-wrap: wrap;*/
/* justify-content: center;*/
/* border-left: 0 !important;*/
/*}*/
/deep/ .tab-headerg {
height: 35px;

14
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue

@ -169,6 +169,20 @@ export default {
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'doChuku',
btnLabel: '出库'
},
{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'doMaiduan',
btnLabel: '买断'
},
{
type: 'success',
size: 'small',

2
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue

@ -142,7 +142,7 @@
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="handleGetCheck(scope.row)">查看</el-button>
<div class="upload_img">
<upload ref="uploadMoreImg" v-model="imgList" :limit="1" bucket="map" @eett="getList"
<upload ref="uploadMoreImg" v-model="scope.row.imgList" :limit="1" bucket="map" @eett="getList"
:upload-data="{type:'0001',modelSid: scope.row.sid}"></upload>
</div>
</template>

29
anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/vehiclechecklist.vue

@ -21,9 +21,9 @@
</template>
</el-table-column>
<el-table-column label="检查内容" header-align="center" align="left" width="550">
<template slot-scope="scope">
<div :class="{btn: scope.row.itemDetailVoList.length - 1 > 0}" v-for="item in scope.row.itemDetailVoList">
<span>{{ item.itemContent }}</span>
<template slot-scope="scope"> <!-- 暂时不删除 :class="{btn: scope.row.itemDetailVoList.length - 1 > 0}" -->
<div class="con_style" v-for="(item, index) in scope.row.itemDetailVoList">
<span>{{index + 1}}{{ item.itemContent }}</span>
</div>
</template>
</el-table-column>
@ -38,7 +38,7 @@
<el-input v-model="scope.row.remarks" clearable placeholder="" resize="none" type="textarea" :autosize="{ minRows: 2, maxRows: 8 }"></el-input>
</template>
</el-table-column>
<el-table-column label="操作" header-align="center" align="left">
<el-table-column label="操作" header-align="center" align="left" width="360">
<template slot-scope="scope">
<div v-if="scope.row.itemImgVoList.length > 0">
<div class="operate" v-for="item in scope.row.itemImgVoList">
@ -46,9 +46,9 @@
<span>{{ item.imgTitle }}</span>
</div>
<div>
<el-button type="primary" size="small">查看</el-button>
<el-button type="primary" size="small">上传</el-button>
<el-button type="primary" size="small">图片示例</el-button>
<el-button type="primary" size="small" @click="handleLookImg">查看</el-button>
<el-button type="primary" size="small" @click="handleUpload">上传</el-button>
<el-button type="primary" size="small" @click="handleExample">图片示例</el-button>
</div>
</div>
</div>
@ -62,6 +62,7 @@
<script>
import { getVehinspectItemInfo } from '@/api/supplychain/yancheguanli'
import upload from '@/components/uploadFile/upload'
export default {
name: 'cheliangjianchabiao',
@ -87,7 +88,16 @@ export default {
this.tableData = resp.data
}
})
}
},
handleLookImg(){
},
handleUpload(){
},
handleExample(){
},
// arraySpanMethod({ row, column, rowIndex, columnIndex }) {
// console.log(rowIndex, columnIndex)
// if (columnIndex === 0 || columnIndex === 1 || columnIndex === 3 || columnIndex === 4 || columnIndex === 5) {
@ -115,4 +125,7 @@ export default {
align-items: center;
padding-top: 5px;
}
.con_style{
padding: 2px 0;
}
</style>

5
anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliAdd.vue

@ -72,7 +72,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="10">
<el-form-item prop="price" label="洗车费:">
<el-input
v-model="temp.price"
@ -83,6 +83,9 @@
/>
</el-form-item>
</el-col>
<el-col :span="2">
<!-- <el-button type="primary" size="small" @click="handleChecklist()">车辆检查表</el-button>-->
</el-col>
</el-row>
</div>
<div class="title">验车相关照片</div>

7
anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanliInfo.vue

@ -43,11 +43,16 @@
<span>{{ temp.guaranteeCardNo }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="10">
<el-form-item prop="price" label="洗车费:">
<span>{{ temp.price }}</span>
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item>
<!-- <el-button type="primary" size="small" @click="handleChecklist()">车辆检查表</el-button>-->
</el-form-item>
</el-col>
</el-row>
</div>
<div class="title">验车相关照片</div>

4
anrui-system-ui/src/views/Home/Home.vue

@ -264,8 +264,8 @@
} else if (index == '8') {
let myPopup = window.open('http://120.46.131.15/message/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '1') {
let myPopup = window.open('http://120.46.131.15/scm/#/' + '?token=' + getStorage(), '_blank')
// let myPopup = window.open('http://127.0.0.1:9531/scm/#/' + '?token=' + getStorage(), '_blank')
//let myPopup = window.open('http://120.46.131.15/scm/#/' + '?token=' + getStorage(), '_blank')
let myPopup = window.open('http://127.0.0.1:9531/scm/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '4') {
let myPopup = window.open('http://120.46.131.15/fin/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '5') {

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehicleexamine/AppExaminePageVo.java

@ -33,4 +33,7 @@ public class AppExaminePageVo implements Vo {
@ApiModelProperty("是否验车 key 未验车 1 以验车2")
private String inspectedType;
@ApiModelProperty("保存状态(默认为0 未操作 1 已保存)")
private int saveStatus;
}

Loading…
Cancel
Save