
68 changed files with 3255 additions and 1645 deletions
@ -0,0 +1,16 @@ |
|||||
|
package com.yxt.anrui.base.api.basevehicleout; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author Administrator |
||||
|
* @description |
||||
|
* @date 2023/8/31 16:04 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class BaseSalesReturnVo { |
||||
|
|
||||
|
private String mainSid; |
||||
|
private String customerNo; |
||||
|
private String materialCode; |
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
package com.yxt.anrui.buscenter.api.bussalesreturnorders; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
import com.yxt.common.core.domain.BaseEntity; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author Administrator |
||||
|
* @description |
||||
|
* @date 2023/8/31 11:52 |
||||
|
*/ |
||||
|
@Data |
||||
|
@TableName("bus_sales_return_orders") |
||||
|
public class BusSalesReturnOrders extends BaseEntity { |
||||
|
|
||||
|
@ApiModelProperty("车架号") |
||||
|
private String vinNo; |
||||
|
@ApiModelProperty("车辆sid") |
||||
|
private String vinSid; |
||||
|
@ApiModelProperty("客户编码") |
||||
|
private String customerNo; |
||||
|
@ApiModelProperty("单据编号") |
||||
|
private String billNo; |
||||
|
@ApiModelProperty("物料编码") |
||||
|
private String materialCode; |
||||
|
@ApiModelProperty("应退数量") |
||||
|
private String mustQty; |
||||
|
@ApiModelProperty("实退数量") |
||||
|
private String realQty; |
||||
|
@ApiModelProperty("销售组织编码") |
||||
|
private String saleOrgId; |
||||
|
@ApiModelProperty("是否赠品") |
||||
|
private String isFree; |
||||
|
@ApiModelProperty("组织全路径") |
||||
|
private String orgSidPath; |
||||
|
} |
@ -0,0 +1,34 @@ |
|||||
|
package com.yxt.anrui.buscenter.api.bussalesreturnorders; |
||||
|
|
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author Administrator |
||||
|
* @description |
||||
|
* @date 2023/8/31 16:28 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class BusSalesReturnOrdersDto implements Dto { |
||||
|
@ApiModelProperty("车架号") |
||||
|
private String vinNo; |
||||
|
@ApiModelProperty("车辆sid") |
||||
|
private String vinSid; |
||||
|
@ApiModelProperty("客户编码") |
||||
|
private String customerNo; |
||||
|
@ApiModelProperty("单据编号") |
||||
|
private String billNo; |
||||
|
@ApiModelProperty("物料编码") |
||||
|
private String materialCode; |
||||
|
@ApiModelProperty("应退数量") |
||||
|
private String mustQty; |
||||
|
@ApiModelProperty("实退数量") |
||||
|
private String realQty; |
||||
|
@ApiModelProperty("销售组织编码") |
||||
|
private String saleOrgId; |
||||
|
@ApiModelProperty("是否赠品") |
||||
|
private String isFree; |
||||
|
@ApiModelProperty("组织全路径") |
||||
|
private String orgSidPath; |
||||
|
} |
@ -0,0 +1,71 @@ |
|||||
|
/********************************************************* |
||||
|
********************************************************* |
||||
|
******************** ******************* |
||||
|
************* ************ |
||||
|
******* _oo0oo_ ******* |
||||
|
*** o8888888o *** |
||||
|
* 88" . "88 * |
||||
|
* (| -_- |) * |
||||
|
* 0\ = /0 * |
||||
|
* ___/`---'\___ * |
||||
|
* .' \\| |// '. *
|
||||
|
* / \\||| : |||// \ *
|
||||
|
* / _||||| -:- |||||- \ * |
||||
|
* | | \\\ - /// | | *
|
||||
|
* | \_| ''\---/'' |_/ | * |
||||
|
* \ .-\__ '-' ___/-. / * |
||||
|
* ___'. .' /--.--\ `. .'___ * |
||||
|
* ."" '< `.___\_<|>_/___.' >' "". * |
||||
|
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
||||
|
* \ \ `_. \_ __\ /__ _/ .-` / / * |
||||
|
* =====`-.____`.___ \_____/___.-`___.-'===== * |
||||
|
* `=---=' * |
||||
|
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
||||
|
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
||||
|
*********************************************************/ |
||||
|
package com.yxt.anrui.buscenter.api.bussalesreturnorders; |
||||
|
|
||||
|
import com.yxt.anrui.buscenter.api.bussealapply.*; |
||||
|
import com.yxt.anrui.buscenter.api.busvehicleinformationhandover.BusVehicleInformationHandoverDto; |
||||
|
import com.yxt.anrui.buscenter.api.flow.FlowTaskVo; |
||||
|
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 io.swagger.annotations.ApiParam; |
||||
|
import org.springframework.cloud.openfeign.FeignClient; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import javax.validation.Valid; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* Project: bus_seal_apply(盖章申请管理) <br/> |
||||
|
* File: BusSealApplyFeign.java <br/> |
||||
|
* Class: com.yxt.anrui.buscenter.api.bussealapply.BusSealApplyFeign <br/> |
||||
|
* Description: 盖章申请表. <br/> |
||||
|
* Copyright: Copyright (c) 2011 <br/> |
||||
|
* Company: https://gitee.com/liuzp315 <br/>
|
||||
|
* Makedate: 2022-04-24 13:45:23 <br/> |
||||
|
* |
||||
|
* @author liupopo |
||||
|
* @version 1.0 |
||||
|
* @since 1.0 |
||||
|
*/ |
||||
|
@Api(tags = "销售退货单表") |
||||
|
@FeignClient( |
||||
|
contextId = "anrui-buscenter-BusSalesReturnOrders", |
||||
|
name = "anrui-buscenter", |
||||
|
path = "v1/bussalesreturnorders", |
||||
|
fallback = BusSealApplyFeignFallback.class) |
||||
|
public interface BusSalesReturnOrdersFeign { |
||||
|
|
||||
|
@ApiOperation("新增") |
||||
|
@PostMapping("/saveReturnOrders") |
||||
|
@ResponseBody |
||||
|
public ResultBean<String> saveReturnOrders(@RequestBody BusSalesReturnOrdersDto dto); |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
/********************************************************* |
||||
|
********************************************************* |
||||
|
******************** ******************* |
||||
|
************* ************ |
||||
|
******* _oo0oo_ ******* |
||||
|
*** o8888888o *** |
||||
|
* 88" . "88 * |
||||
|
* (| -_- |) * |
||||
|
* 0\ = /0 * |
||||
|
* ___/`---'\___ * |
||||
|
* .' \\| |// '. *
|
||||
|
* / \\||| : |||// \ *
|
||||
|
* / _||||| -:- |||||- \ * |
||||
|
* | | \\\ - /// | | *
|
||||
|
* | \_| ''\---/'' |_/ | * |
||||
|
* \ .-\__ '-' ___/-. / * |
||||
|
* ___'. .' /--.--\ `. .'___ * |
||||
|
* ."" '< `.___\_<|>_/___.' >' "". * |
||||
|
* | | : `- \`.;`\ _ /`;.`/ - ` : | | * |
||||
|
* \ \ `_. \_ __\ /__ _/ .-` / / * |
||||
|
* =====`-.____`.___ \_____/___.-`___.-'===== * |
||||
|
* `=---=' * |
||||
|
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * |
||||
|
*********__佛祖保佑__永无BUG__验收通过__钞票多多__********* |
||||
|
*********************************************************/ |
||||
|
package com.yxt.anrui.buscenter.api.bussalesreturnorders; |
||||
|
|
||||
|
|
||||
|
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; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* Project: anrui-buscenter(业务管理) <br/> |
||||
|
* File: BusSalesOrderVehicleFeignFallback.java <br/> |
||||
|
* Class: com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeignFallback <br/> |
||||
|
* Description: 销售订单-车辆信息. <br/> |
||||
|
* Copyright: Copyright (c) 2011 <br/> |
||||
|
* Company: https://gitee.com/liuzp315 <br/>
|
||||
|
* Makedate: 2022-04-27 13:39:04 <br/> |
||||
|
* |
||||
|
* @author liupopo |
||||
|
* @version 1.0 |
||||
|
* @since 1.0 |
||||
|
*/ |
||||
|
@Component |
||||
|
public class BusSalesReturnOrdersFeignFallback implements BusSalesReturnOrdersFeign { |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public ResultBean<String> saveReturnOrders(BusSalesReturnOrdersDto dto) { |
||||
|
return null; |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
package com.yxt.anrui.buscenter.biz.bussalesreturnorders; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrders; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author Administrator |
||||
|
* @description |
||||
|
* @date 2023/5/16 13:53 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface BusSalesReturnOrdersMapper extends BaseMapper<BusSalesReturnOrders> { |
||||
|
|
||||
|
int selectNum(String bill); |
||||
|
} |
@ -0,0 +1,10 @@ |
|||||
|
<?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.buscenter.biz.bussalesreturnorders.BusSalesReturnOrdersMapper"> |
||||
|
|
||||
|
<select id="selectNum" resultType="java.lang.Integer"> |
||||
|
select IFNULL(CAST(REPLACE(MAX(billNo), #{bill}, '') AS SIGNED), 0) as code |
||||
|
from bus_sales_return_orders |
||||
|
where billNo LIKE concat(#{bill}, '%') |
||||
|
</select> |
||||
|
</mapper> |
@ -0,0 +1,29 @@ |
|||||
|
package com.yxt.anrui.buscenter.biz.bussalesreturnorders; |
||||
|
|
||||
|
import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrdersDto; |
||||
|
import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrdersFeign; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author Administrator |
||||
|
* @description |
||||
|
* @date 2023/5/16 13:54 |
||||
|
*/ |
||||
|
@Api(tags = "销售退货单") |
||||
|
@RestController("com.yxt.anrui.buscenter.biz.bussalesreturnorders.BusSalesReturnOrdersRest") |
||||
|
@RequestMapping("v1/bussalesreturnorders") |
||||
|
public class BusSalesReturnOrdersRest implements BusSalesReturnOrdersFeign { |
||||
|
|
||||
|
@Autowired |
||||
|
private BusSalesReturnOrdersService busSalesReturnOrdersService; |
||||
|
@Override |
||||
|
public ResultBean<String> saveReturnOrders(BusSalesReturnOrdersDto dto) { |
||||
|
return busSalesReturnOrdersService.saveReturnOrders(dto); |
||||
|
} |
||||
|
} |
@ -0,0 +1,61 @@ |
|||||
|
package com.yxt.anrui.buscenter.biz.bussalesreturnorders; |
||||
|
|
||||
|
import cn.hutool.core.bean.BeanUtil; |
||||
|
import com.yxt.anrui.base.common.enums.BillTypeEnum; |
||||
|
import com.yxt.anrui.base.common.utils.Rule; |
||||
|
import com.yxt.anrui.base.common.utils.domain.BillNo; |
||||
|
import com.yxt.anrui.buscenter.api.bushandoverprepare.HandoverInformationIntemVo; |
||||
|
import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrders; |
||||
|
import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrdersDto; |
||||
|
import com.yxt.anrui.buscenter.api.busvehicleinformation.BusVehicleInformation; |
||||
|
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.common.base.service.MybatisBaseService; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author Administrator |
||||
|
* @description |
||||
|
* @date 2023/5/16 13:53 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class BusSalesReturnOrdersService extends MybatisBaseService<BusSalesReturnOrdersMapper, BusSalesReturnOrders> { |
||||
|
|
||||
|
@Autowired |
||||
|
private SysOrganizationFeign sysOrganizationFeign; |
||||
|
|
||||
|
@Autowired |
||||
|
private SysStaffOrgFeign sysStaffOrgFeign; |
||||
|
|
||||
|
public ResultBean<String> saveReturnOrders(BusSalesReturnOrdersDto dto) { |
||||
|
ResultBean<String> rb = ResultBean.fireFail(); |
||||
|
BusSalesReturnOrders busSalesReturnOrders = new BusSalesReturnOrders(); |
||||
|
BeanUtil.copyProperties(dto, busSalesReturnOrders, "id", "sid"); |
||||
|
baseMapper.insert(busSalesReturnOrders); |
||||
|
return rb.success().setData(busSalesReturnOrders.getSid()); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 生成交销售退货单单据编号 |
||||
|
* |
||||
|
* @param orgSid |
||||
|
* @return |
||||
|
*/ |
||||
|
public String getApplyCode(String orgSid) { |
||||
|
//获取分公司sid
|
||||
|
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); |
||||
|
String orgCode = resultBean1.getData().getOrgCode(); |
||||
|
BillNo b = new BillNo(); |
||||
|
b.setOrgCode(orgCode); |
||||
|
b.setBillType(BillTypeEnum.XXTHS.getBillType()); |
||||
|
String bill = Rule.getBill(b); |
||||
|
int i = baseMapper.selectNum(bill); |
||||
|
String billNo = Rule.getBillNo(bill, i); |
||||
|
return billNo; |
||||
|
} |
||||
|
} |
@ -0,0 +1,54 @@ |
|||||
|
package com.yxt.anrui.fin.api.kingdee.salesreturn; |
||||
|
|
||||
|
import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable; |
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author Administrator |
||||
|
* @description |
||||
|
* @date 2023/8/31 10:48 |
||||
|
*/ |
||||
|
|
||||
|
/** |
||||
|
* 销售退货单 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class SalesReturn { |
||||
|
@ApiModelProperty("单据类型") |
||||
|
public String billType = "XSTHD01_SYS"; |
||||
|
@ApiModelProperty("退货客户编码") |
||||
|
public String customerNo; |
||||
|
@ApiModelProperty("库存组织编码") |
||||
|
public String FStockOrgId; |
||||
|
@ApiModelProperty("单据编号") |
||||
|
public String billNo; |
||||
|
@ApiModelProperty("币别") |
||||
|
public String currency = "PRE001"; |
||||
|
@ApiModelProperty("日期") |
||||
|
public String FDate; |
||||
|
@ApiModelProperty("销售组织编码") |
||||
|
public String FSaleOrgId; |
||||
|
@ApiModelProperty("收款明细") |
||||
|
public List<SalesReturn.SalesReturnDetailDto> salesReturnDetails; |
||||
|
|
||||
|
@Data |
||||
|
public static class SalesReturnDetailDto implements Dto { |
||||
|
|
||||
|
@ApiModelProperty("物料编码") |
||||
|
public String FMaterialId; |
||||
|
@ApiModelProperty("库存单位") |
||||
|
public String FUnitID; |
||||
|
@ApiModelProperty("应退数量") |
||||
|
public String FMustQty; |
||||
|
@ApiModelProperty("实退数量") |
||||
|
public String FRealQty; |
||||
|
@ApiModelProperty("退货日期") |
||||
|
public String FDeliveryDate; |
||||
|
@ApiModelProperty("是否赠品") |
||||
|
public String FIsFree; |
||||
|
} |
||||
|
} |
@ -0,0 +1,59 @@ |
|||||
|
package com.yxt.anrui.fin.biz.kingdee.salesreturn; |
||||
|
|
||||
|
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.biz.kingdee.KingDeeUtils; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 封装转换的类 |
||||
|
*/ |
||||
|
public class SalesReturnOrdersCastToKingDeeBillFields { |
||||
|
/** |
||||
|
* 构造金蝶需要的数据结构 并对字段赋值 |
||||
|
* |
||||
|
* @param map_fEntityModel_ |
||||
|
* @param vehicleList |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String getKingDeeData(Map<String, String> map_fEntityModel_, List<Map<String, String>> vehicleList) { |
||||
|
/** |
||||
|
* 取模板 |
||||
|
*/ |
||||
|
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/salesreturn/data.json"); |
||||
|
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/salesreturn/data_data.json"); |
||||
|
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/salesreturn/data_model.json"); |
||||
|
|
||||
|
//模板字符创转json
|
||||
|
JSONObject jsonObj = JSONObject.parseObject(readJsonFile, Feature.OrderedField); |
||||
|
JSONObject jsonFEntityData_ = JSONObject.parseObject(fEntityData_, Feature.OrderedField); |
||||
|
fEntityModel_ = KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_); |
||||
|
JSONObject jsonFEntityModel_ = JSONObject.parseObject(fEntityModel_, Feature.OrderedField); |
||||
|
|
||||
|
List<JSONObject> list_fEntity_ = new ArrayList<>(); |
||||
|
|
||||
|
//对模板字段赋值 根据传递进来的map数据的集合进行赋值
|
||||
|
for (int i = 0; i < vehicleList.size(); i++) { |
||||
|
String fEntity_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/salesreturn/data_FEntity.json"); |
||||
|
Map<String, String> params = vehicleList.get(i); |
||||
|
Map<String, String> map_fEntity_ = new HashMap<>(); |
||||
|
for (Map.Entry<String, String> entry : params.entrySet()) { |
||||
|
map_fEntity_.put(entry.getKey(), entry.getValue()); |
||||
|
} |
||||
|
fEntity_ = KingDeeUtils.replaceTemplateParams(fEntity_, map_fEntity_); |
||||
|
list_fEntity_.add(JSONObject.parseObject(fEntity_, Feature.OrderedField)); |
||||
|
} |
||||
|
|
||||
|
jsonFEntityModel_.put("FEntity", JSONArray.parseArray(JSON.toJSONString(list_fEntity_))); |
||||
|
jsonFEntityData_.put("Model", JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_), Feature.OrderedField)); |
||||
|
jsonObj.put("data", jsonFEntityData_.toJSONString()); |
||||
|
|
||||
|
return jsonObj.toJSONString(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,97 @@ |
|||||
|
package com.yxt.anrui.fin.biz.kingdee.salesreturn; |
||||
|
|
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; |
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; |
||||
|
import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable; |
||||
|
import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn; |
||||
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
||||
|
import com.yxt.common.base.utils.StringUtils; |
||||
|
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; |
||||
|
|
||||
|
@Service |
||||
|
public class SalesReturnOrdersService extends FinKingDeeService { |
||||
|
|
||||
|
/** |
||||
|
* 生成的销售退货单的数据,推送到金蝶的平台中 |
||||
|
* |
||||
|
* @param salesReturn |
||||
|
* @return |
||||
|
*/ |
||||
|
public ResultBean salesReturnOrdersService(SalesReturn salesReturn) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
//业务表的主表数据集合
|
||||
|
Map<String, String> map_fEntityModel_ = new HashMap<>(); |
||||
|
//客户
|
||||
|
if (StringUtils.isBlank(salesReturn.getCustomerNo())) { |
||||
|
return rb.setMsg("客户编码不能为空"); |
||||
|
} |
||||
|
map_fEntityModel_.put("FRetcustId", salesReturn.getCustomerNo()); |
||||
|
//库存组织
|
||||
|
if (StringUtils.isBlank(salesReturn.getFStockOrgId())) { |
||||
|
return rb.setMsg("库存组织不能为空"); |
||||
|
} |
||||
|
map_fEntityModel_.put("FStockOrgId", salesReturn.getFStockOrgId()); |
||||
|
//单据编号
|
||||
|
if (StringUtils.isBlank(salesReturn.getBillNo())) { |
||||
|
return rb.setMsg("单据编号不能为空"); |
||||
|
} |
||||
|
map_fEntityModel_.put("FBillNo", salesReturn.getBillNo()); |
||||
|
//业务日期
|
||||
|
if (StringUtils.isBlank(salesReturn.getFDate())) { |
||||
|
return rb.setMsg("业务日期不能为空"); |
||||
|
} |
||||
|
map_fEntityModel_.put("FDate", salesReturn.getFDate()); |
||||
|
//销售组织
|
||||
|
if (StringUtils.isBlank(salesReturn.getFSaleOrgId())) { |
||||
|
return rb.setMsg("销售组织不能为空"); |
||||
|
} |
||||
|
map_fEntityModel_.put("FSaleOrgId", salesReturn.getFSaleOrgId()); |
||||
|
|
||||
|
List<SalesReturn.SalesReturnDetailDto> salesReturnDetailDtos = salesReturn.getSalesReturnDetails() == null ? new ArrayList<>() : salesReturn.getSalesReturnDetails(); |
||||
|
//准备 物料列表的数据
|
||||
|
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForReceivableBill(salesReturnDetailDtos); |
||||
|
if (!vehicleListMap.getSuccess()) { |
||||
|
return rb.setMsg(vehicleListMap.getMsg()); |
||||
|
} |
||||
|
String kingDeeData = SalesReturnOrdersCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData()); |
||||
|
try { |
||||
|
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.SAL_RETURNSTOCK.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); |
||||
|
if (!resultBean1.getSuccess()) { |
||||
|
log.info("销售退货单保存失败!"); |
||||
|
return rb.setMsg("销售退货单保存失败!"); |
||||
|
} |
||||
|
log.info("销售退货单保存成功!"); |
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
return rb; |
||||
|
} |
||||
|
|
||||
|
public ResultBean<List<Map<String, String>>> createVehicleListsForReceivableBill(List<SalesReturn.SalesReturnDetailDto> collectionDetails) { |
||||
|
ResultBean<List<Map<String, String>>> rb = ResultBean.fireFail(); |
||||
|
List<Map<String, String>> collectionDetailMap = new ArrayList<>(); |
||||
|
for (int i = 0; i < collectionDetails.size(); i++) { |
||||
|
SalesReturn.SalesReturnDetailDto c = collectionDetails.get(i); |
||||
|
Map<String, String> m = new HashMap<>(); |
||||
|
if (StringUtils.isBlank(c.getFMaterialId())) { |
||||
|
return rb.setMsg("物料编码不能为空"); |
||||
|
} |
||||
|
if (StringUtils.isBlank(c.getFUnitID())) { |
||||
|
return rb.setMsg("库存单位不能为空"); |
||||
|
} |
||||
|
m.put("FMaterialId", c.getFMaterialId()); |
||||
|
m.put("FUnitID", c.getFUnitID()); |
||||
|
m.put("FRealQty", c.getFRealQty()); |
||||
|
m.put("FDeliveryDate", c.getFDeliveryDate()); |
||||
|
m.put("FIsFree", c.getFIsFree()); |
||||
|
collectionDetailMap.add(m); |
||||
|
} |
||||
|
return rb.success().setData(collectionDetailMap); |
||||
|
} |
||||
|
} |
@ -0,0 +1,4 @@ |
|||||
|
{ |
||||
|
"formId": "SAL_RETURNSTOCK", |
||||
|
"data": "@KD_data" |
||||
|
} |
@ -0,0 +1,142 @@ |
|||||
|
{ |
||||
|
"FENTRYID": "0", |
||||
|
"FRowType": "", |
||||
|
"FMapId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FMaterialId": { |
||||
|
"FNumber": "@KD_FMaterialId" |
||||
|
}, |
||||
|
"FAuxpropId": { |
||||
|
"FAUXPROPID__FF100001": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FAUXPROPID__FF100005": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FAUXPROPID__FF100002": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FAUXPROPID__FF100004": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FAUXPROPID__FF100006": { |
||||
|
"FNumber": "" |
||||
|
} |
||||
|
}, |
||||
|
"FUnitID": { |
||||
|
"FNumber": "@KD_FUnitID" |
||||
|
}, |
||||
|
"FInventoryQty": "0", |
||||
|
"FRealQty": "@KD_FRealQty", |
||||
|
"FParentMatId": { |
||||
|
"FNUMBER": "" |
||||
|
}, |
||||
|
"FPrice": "0", |
||||
|
"FTaxPrice": "0", |
||||
|
"FIsFree": "@KD_FIsFree", |
||||
|
"FTaxCombination": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FEntryTaxRate": "0", |
||||
|
"FBOMId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FReturnType": { |
||||
|
"FNumber": "THLX01_SYS" |
||||
|
}, |
||||
|
"FOwnerTypeId": "", |
||||
|
"FOwnerId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FProduceDate": "", |
||||
|
"FExpiryDate": "", |
||||
|
"FStockId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FStocklocId": { |
||||
|
"FSTOCKLOCID__FF100001": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100002": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100003": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100004": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100005": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100006": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100007": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100008": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100009": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSTOCKLOCID__FF100010": { |
||||
|
"FNumber": "" |
||||
|
} |
||||
|
}, |
||||
|
"FStockstatusId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FDeliveryDate": "@KD_FDeliveryDate", |
||||
|
"FMtoNo": "", |
||||
|
"FNote": "", |
||||
|
"FDiscountRate": "0", |
||||
|
"FPriceDiscount": "0", |
||||
|
"FAuxUnitQty": "0", |
||||
|
"FExtAuxUnitId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FExtAuxUnitQty": "0", |
||||
|
"FSalCostPrice": "0", |
||||
|
"FISCONSUMESUM": "", |
||||
|
"FLot": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSalUnitID": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSalUnitQty": "0", |
||||
|
"FSalBaseQty": "0", |
||||
|
"FPriceBaseQty": "0", |
||||
|
"FProjectNo": "", |
||||
|
"FQualifyType": "", |
||||
|
"FEOwnerSupplierId": { |
||||
|
"FNUMBER": "" |
||||
|
}, |
||||
|
"FIsOverLegalOrg": "false", |
||||
|
"FESettleCustomerId": { |
||||
|
"FNUMBER": "" |
||||
|
}, |
||||
|
"FThirdEntryId": "", |
||||
|
"FSOEntryId": "0", |
||||
|
"FPriceListEntry": { |
||||
|
"FNUMBER": "" |
||||
|
}, |
||||
|
"FARNOTJOINQTY": "0", |
||||
|
"FIsReturnCheck": "false", |
||||
|
"FTaxDetailSubEntity": [ |
||||
|
{ |
||||
|
"FDetailID": "0", |
||||
|
"FTaxRate": "0" |
||||
|
} |
||||
|
], |
||||
|
"FSerialSubEntity": [ |
||||
|
{ |
||||
|
"FDetailID": "0", |
||||
|
"FSerialNo": "", |
||||
|
"FSerialNote": "" |
||||
|
} |
||||
|
] |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
{ |
||||
|
"Creator": "", |
||||
|
"NeedUpDateFields": [], |
||||
|
"NeedReturnFields": [], |
||||
|
"IsDeleteEntry": "True", |
||||
|
"SubSystemId": "", |
||||
|
"IsVerifyBaseDataField": "false", |
||||
|
"IsEntryBatchFill": "True", |
||||
|
"ValidateFlag": "True", |
||||
|
"NumberSearch": "True", |
||||
|
"InterationFlags": "", |
||||
|
"Model": {} |
||||
|
} |
@ -0,0 +1,112 @@ |
|||||
|
{ |
||||
|
"FID": "0", |
||||
|
"FBillTypeID": { |
||||
|
"FNUMBER": "XSTHD01_SYS" |
||||
|
}, |
||||
|
"FBillNo": "@KD_FBillNo", |
||||
|
"FDate": "@KD_FDate", |
||||
|
"FSaleOrgId": { |
||||
|
"FNumber": "@KD_FSaleOrgId" |
||||
|
}, |
||||
|
"FRetcustId": { |
||||
|
"FNumber": "@KD_FRetcustId" |
||||
|
}, |
||||
|
"FSaledeptid": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FReturnReason": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FHeadLocId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FCorrespondOrgId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FTransferBizType": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSaleGroupId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSalesManId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FStockOrgId": { |
||||
|
"FNumber": "@KD_FStockOrgId" |
||||
|
}, |
||||
|
"FStockDeptId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FStockerGroupId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FStockerId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FHeadNote": "", |
||||
|
"FReceiveCustId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FReceiveAddress": "", |
||||
|
"FSettleCustId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FReceiveCusContact": { |
||||
|
"FNAME": "" |
||||
|
}, |
||||
|
"FPayCustId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FOwnerTypeIdHead": "", |
||||
|
"FOwnerIdHead": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FScanBox": "", |
||||
|
"FCDateOffsetUnit": "", |
||||
|
"FCDateOffsetValue": "0", |
||||
|
"FIsTotalServiceOrCost": "false", |
||||
|
"F_PAEZ_Assistant": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"SubHeadEntity": { |
||||
|
"FEntryId": "0", |
||||
|
"FSettleCurrId": { |
||||
|
"FNumber": "PRE001" |
||||
|
}, |
||||
|
"FThirdBillNo": "", |
||||
|
"FThirdBillId": "", |
||||
|
"FThirdSrcType": "", |
||||
|
"FSettleOrgId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FSettleTypeId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FChageCondition": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FPriceListId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FDiscountListId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FLocalCurrId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FExchangeTypeId": { |
||||
|
"FNumber": "" |
||||
|
}, |
||||
|
"FExchangeRate": "0", |
||||
|
"FBuyerNick": "", |
||||
|
"FReceiverAddress": "", |
||||
|
"FReceiverName": "", |
||||
|
"FReceiverMobile": "", |
||||
|
"FReceiverCountry": "", |
||||
|
"FReceiverState": "", |
||||
|
"FReceiverCity": "", |
||||
|
"FReceiverDistrict": "", |
||||
|
"FReceiverPhone": "" |
||||
|
} |
||||
|
} |
@ -0,0 +1,208 @@ |
|||||
|
一、请求参数说明: |
||||
|
1.formid:业务对象表单Id,字符串类型(必录) |
||||
|
2.data:Json格式数据(详情参考Json格式数据)(必录) |
||||
|
2.1.Creator:创建者内码(非必录) |
||||
|
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key) |
||||
|
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key) |
||||
|
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录) |
||||
|
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录) |
||||
|
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录) |
||||
|
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录) |
||||
|
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录) |
||||
|
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录) |
||||
|
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult) |
||||
|
2.11.Model:表单数据包,Json类型(必录) |
||||
|
|
||||
|
字段说明: |
||||
|
关联应收金额:FARJOINAMOUNT |
||||
|
累计应收数量(销售基本):FBASEARQTY |
||||
|
业务流程:FBFLowId |
||||
|
累计应收金额:FARAMOUNT |
||||
|
订单类型:FSOBILLTYPEID |
||||
|
源单编号:FSrcBillNo |
||||
|
销售成本价:FSalCostPrice |
||||
|
关联应收数量(计价基本):FBaseARJoinQty |
||||
|
价税合计:FAllAmount |
||||
|
税额(本位币):FTaxAmount_LC |
||||
|
税额:FEntryTaxAmount |
||||
|
价税合计(本位币):FAllAmount_LC |
||||
|
退货日期:FDeliveryDate (必填项) |
||||
|
净价:FTaxNetPrice |
||||
|
是否赠品:FIsFree |
||||
|
序列号单位:FSNUnitID |
||||
|
销售数量:FSalUnitQty |
||||
|
销售单位:FSalUnitID |
||||
|
计价基本数量:FPriceBaseQty |
||||
|
销售基本数量:FSalBaseQty |
||||
|
库存基本分母:FStockBaseDen |
||||
|
销售基本分子:FSalBaseNum |
||||
|
质量类型:FQualifyType |
||||
|
当前库存:FInventoryQty |
||||
|
项目编号:FProjectNo |
||||
|
计划跟踪号:FMtoNo |
||||
|
序列号单位数量:FSNQty |
||||
|
拒收标志:FRefuseFlag |
||||
|
实退数量(辅单位):FExtAuxUnitQty |
||||
|
辅单位:FExtAuxUnitId |
||||
|
消耗汇总:FISCONSUMESUM |
||||
|
金额(本位币):FAmount_LC |
||||
|
仓位:FStocklocId |
||||
|
保质期:FExpPeriod |
||||
|
保质期单位:FExpUnit |
||||
|
客户物料编码:FMapId |
||||
|
退货类型:FReturnType (必填项) |
||||
|
批号:FLot |
||||
|
客户物料名称:FMapName |
||||
|
源单类型:FSrcBillTypeID |
||||
|
(作废)关联开票数量(基本单位):FBaseInvoicedQty |
||||
|
关联应收数量(计价):FInvoicedQty |
||||
|
备注:FNote |
||||
|
累计应收数量(销售):FSumInvoicedQty |
||||
|
库存更新标示:FStockFlag |
||||
|
累计收款金额:FSumRecievedAmt |
||||
|
累计开票金额:FSumInvoicedAmt |
||||
|
(作废)累计开票数量(基本单位):FBaseSumInvoicedQty |
||||
|
折前金额:FBefDisAmt |
||||
|
最低限价:FLimitDownPrice |
||||
|
系统定价:FSysPrice |
||||
|
折前价税合计:FBefDisAllAmt |
||||
|
金额:FAmount |
||||
|
折扣额:FDiscount |
||||
|
折扣率%:FDiscountRate |
||||
|
价格系数:FPriceCoefficient |
||||
|
计价数量:FPriceUnitQty |
||||
|
计价单位:FPriceUnitId |
||||
|
总成本(本位币):FCostAmount_LC |
||||
|
单价:FPrice |
||||
|
税率%:FEntryTaxRate |
||||
|
税组合:FTaxCombination |
||||
|
含税单价:FTaxPrice |
||||
|
第三方单据编号:FThirdBillNo |
||||
|
第三方单据内码:FThirdBillId |
||||
|
第三方系统来源:FThirdSrcType |
||||
|
会员名称:FBuyerNick |
||||
|
收货人国家:FReceiverCountry |
||||
|
收货人地址:FReceiverAddress |
||||
|
收货人:FReceiverName |
||||
|
价外税:FIsPriceExcludeTax |
||||
|
价目表:FPriceListId |
||||
|
是否含税:FIsIncludedTax |
||||
|
税额:FBillTaxAmount |
||||
|
折扣表:FDiscountListId |
||||
|
跨组织结算生成:FISGENFORIOS |
||||
|
货主供应商:FOwnerSupplierID |
||||
|
结算组织客户:FSETTLECustomerID |
||||
|
收货人城市:FReceiverCity |
||||
|
卖方代扣代缴:FSellerWithholding |
||||
|
增值税:FVAT |
||||
|
计入成本金额:FCostAmount |
||||
|
买方代扣代缴:FBuyerWithholding |
||||
|
备注:FSerialNote |
||||
|
序列号:FSerialId |
||||
|
序列号:FSerialNo |
||||
|
计入成本比例%:FCostPercent |
||||
|
收货人省份:FReceiverState |
||||
|
收货人地区:FReceiverDistrict |
||||
|
收货人手机:FReceiverMobile |
||||
|
收货人电话:FReceiverPhone |
||||
|
税额:FTaxAmount |
||||
|
税率%:FTaxRate |
||||
|
税率名称:FTaxRateId |
||||
|
金额:FBillAmount |
||||
|
产品类型:FRowType |
||||
|
退货检验:FIsReturnCheck |
||||
|
销售订单EntryId:FSOEntryId |
||||
|
父项产品:FParentMatId |
||||
|
第三方单据分录ID:FThirdEntryId |
||||
|
父项标识:FParentRowId |
||||
|
行标识:FRowId |
||||
|
未关联应收数量(计价单位):FARNOTJOINQTY |
||||
|
明细货主供应商:FEOwnerSupplierId |
||||
|
携带的主业务单位:FSRCBIZUNITID |
||||
|
关联应收数量(库存基本):FStockBaseARJoinQty |
||||
|
组织间结算跨法人标识:FIsOverLegalOrg |
||||
|
行价目表:FPriceListEntry |
||||
|
关联应收数量(销售基本):FSalBaseARJoinQty |
||||
|
明细结算组织客户:FESettleCustomerId |
||||
|
单价折扣:FPriceDiscount |
||||
|
汇率精度:FPrecision |
||||
|
总成本(本位币):FBillCostAmount_LC |
||||
|
总成本:FBillCostAmount |
||||
|
价税合计(本位币):FBillAllAmount_LC |
||||
|
价税合计:FBillAllAmount |
||||
|
税额(本位币):FBillTaxAmount_LC |
||||
|
金额(本位币):FBillAmount_LC |
||||
|
汇率:FExchangeRate |
||||
|
收款条件:FChageCondition |
||||
|
结算方式:FSettleTypeId |
||||
|
车辆类型:F_PAEZ_BaseProperty |
||||
|
结算组织:FSettleOrgId (必填项) |
||||
|
汇率类型:FExchangeTypeId |
||||
|
本位币:FLocalCurrId |
||||
|
结算币别:FSettleCurrId (必填项) |
||||
|
单据类型:FBillTypeIDFBillTypeID (必填项) |
||||
|
收货方:FReceiveCustId |
||||
|
货主:FOwnerIdHead |
||||
|
货主类型:FOwnerTypeIdHead |
||||
|
销售部门:FSaledeptid |
||||
|
销售组:FSaleGroupId |
||||
|
库存部门:FStockDeptId |
||||
|
销售员:FSalesManId |
||||
|
创建人:FCreatorId |
||||
|
付款方:FPayCustId |
||||
|
结算方:FSettleCustId |
||||
|
仓管员:FStockerId |
||||
|
销售组织:FSaleOrgId (必填项) |
||||
|
单据状态:FDocumentStatus |
||||
|
单据编号:FBillNo |
||||
|
日期:FDate (必填项) |
||||
|
库存组:FStockerGroupId |
||||
|
退货客户:FRetcustId (必填项) |
||||
|
库存组织:FStockOrgId (必填项) |
||||
|
创建日期:FCreateDate |
||||
|
审核人:FApproverId |
||||
|
最后修改日期:FModifyDate |
||||
|
最后修改人:FModifierId |
||||
|
审核日期:FApproveDate |
||||
|
作废状态:FCancelStatus |
||||
|
作废日期:FCancelDate |
||||
|
作废人:FCancellerId |
||||
|
物料类别:FMaterialType |
||||
|
规格型号:FMaterialModel |
||||
|
物料名称:FMaterialName |
||||
|
库存单位:FUnitID (必填项) |
||||
|
仓库:FStockId |
||||
|
实退数量:FRealQty |
||||
|
应退数量:FMustqty |
||||
|
物料编码:FMaterialId (必填项) |
||||
|
创建日期偏移量:FCDateOffsetValue |
||||
|
创建日期偏移单位:FCDateOffsetUnit |
||||
|
备注:FHeadNote |
||||
|
项目类别:F_PAEZ_Assistant |
||||
|
整单服务标识:FIsTotalServiceOrCost |
||||
|
库存状态:FStockstatusId |
||||
|
库存辅单位:FAuxUnitId |
||||
|
库存基本数量:FBaseunitQty |
||||
|
基本单位:FBaseunitId |
||||
|
库存辅单位数量:FAuxUnitQty |
||||
|
订单单号:FOrderNo |
||||
|
总成本:FEntryCostAmount |
||||
|
成本价(本位币):FCostPrice |
||||
|
有效期至:FExpiryDate |
||||
|
保管者类型:FKeeperTypeId |
||||
|
货主:FOwnerId (必填项) |
||||
|
货主类型:FOwnerTypeId |
||||
|
保管者:FKeeperId |
||||
|
生产日期:FProduceDate |
||||
|
辅助属性:FAuxpropId |
||||
|
BOM版本:FBOMId |
||||
|
对应组织:FCorrespondOrgId |
||||
|
跨组织业务类型:FTransferBizType |
||||
|
收货方地址:FReceiveAddress |
||||
|
退货原因:FReturnReason |
||||
|
业务类型:FBussinessType |
||||
|
交货地点:FHeadLocId |
||||
|
信用检查结果:FCreditCheckResult |
||||
|
组织间结算跨法人标识:FIsInterLegalPerson |
||||
|
收货方联系人:FReceiveCusContact |
||||
|
序列号上传:FScanBox |
Loading…
Reference in new issue