AfterSigningSynchronizeRuleRZ添加两个字段 合同编号和项目名称
This commit is contained in:
parent
5a869f91ab
commit
de301e47d6
|
@ -34,33 +34,34 @@ import java.util.List;
|
||||||
* @Created by ame
|
* @Created by ame
|
||||||
*/
|
*/
|
||||||
public class AfterSigningSynchronizeRuleRZ implements IRule<SaleOutVO> {
|
public class AfterSigningSynchronizeRuleRZ implements IRule<SaleOutVO> {
|
||||||
private static Log log=Log.getInstance("rzmomlog");
|
private static Log log = Log.getInstance("rzmomlog");
|
||||||
|
|
||||||
private static BaseDAO dao = new BaseDAO();
|
private static BaseDAO dao = new BaseDAO();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(SaleOutVO[] saleOutVOS) {
|
public void process(SaleOutVO[] saleOutVOS) {
|
||||||
if(ArrayUtil.isEmpty(saleOutVOS)){
|
if (ArrayUtil.isEmpty(saleOutVOS)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try{
|
try {
|
||||||
//检查并筛选销售出库单据为互感器公司
|
//检查并筛选销售出库单据为互感器公司
|
||||||
List<SaleOutVO> newSaleOutVOS= checkAndFilterBillSrcOrg(saleOutVOS);
|
List<SaleOutVO> newSaleOutVOS = checkAndFilterBillSrcOrg(saleOutVOS);
|
||||||
if(newSaleOutVOS==null||newSaleOutVOS.size()<1){
|
if (newSaleOutVOS == null || newSaleOutVOS.size() < 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
pushToRZMOM(newSaleOutVOS.toArray(new SaleOutVO[0]));
|
pushToRZMOM(newSaleOutVOS.toArray(new SaleOutVO[0]));
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
log.error("同步销售出库到锐制系统失败: " + e.getMessage(), e);
|
log.error("同步销售出库到锐制系统失败: " + e.getMessage(), e);
|
||||||
ExceptionUtils.wrappException(e);
|
ExceptionUtils.wrappException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<SaleOutVO> checkAndFilterBillSrcOrg(SaleOutVO[] saleOutVOS) throws BusinessException {
|
private List<SaleOutVO> checkAndFilterBillSrcOrg(SaleOutVO[] saleOutVOS) throws BusinessException {
|
||||||
List<SaleOutVO> aggvoList=new ArrayList<>();
|
List<SaleOutVO> aggvoList = new ArrayList<>();
|
||||||
for(SaleOutVO aggvo:saleOutVOS){
|
for (SaleOutVO aggvo : saleOutVOS) {
|
||||||
String pkOrg = aggvo.getHead().getPk_org();
|
String pkOrg = aggvo.getHead().getPk_org();
|
||||||
String orgCode = transferCodeByPk(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
|
String orgCode = transferCodeByPk(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg);
|
||||||
if("C022".equals(orgCode)&& aggvo.getBodys()!=null && aggvo.getBodys().length>0){
|
if ("C022".equals(orgCode) && aggvo.getBodys() != null && aggvo.getBodys().length > 0) {
|
||||||
aggvoList.add(aggvo);
|
aggvoList.add(aggvo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,26 +75,26 @@ public class AfterSigningSynchronizeRuleRZ implements IRule<SaleOutVO> {
|
||||||
JSONObject dataIn = new JSONObject();
|
JSONObject dataIn = new JSONObject();
|
||||||
JSONObject dataIn2 = new JSONObject();
|
JSONObject dataIn2 = new JSONObject();
|
||||||
JSONArray details = new JSONArray();
|
JSONArray details = new JSONArray();
|
||||||
jsonObject.put("dataflow","用友BIP→RZMOMv6");
|
jsonObject.put("dataflow", "用友BIP→RZMOMv6");
|
||||||
jsonObject.put("actionCode","cpfhtzdb");
|
jsonObject.put("actionCode", "cpfhtzdb");
|
||||||
//单笔/批量按明细传
|
//单笔/批量按明细传
|
||||||
for (SaleOutVO saleOutVO : saleOutVOS) {
|
for (SaleOutVO saleOutVO : saleOutVOS) {
|
||||||
SaleOutHeadVO head = saleOutVO.getHead();
|
SaleOutHeadVO head = saleOutVO.getHead();
|
||||||
SaleOutBodyVO[] bodys = saleOutVO.getBodys();
|
SaleOutBodyVO[] bodys = saleOutVO.getBodys();
|
||||||
// 构建需要同步的数据
|
// 构建需要同步的数据
|
||||||
buildSyncData(head, bodys,details);
|
buildSyncData(head, bodys, details);
|
||||||
}
|
}
|
||||||
dataIn2.put("Details",details);
|
dataIn2.put("Details", details);
|
||||||
dataIn.put("Data",dataIn2);
|
dataIn.put("Data", dataIn2);
|
||||||
data.put("data",dataIn);
|
data.put("data", dataIn);
|
||||||
jsonObject.put("data",data);
|
jsonObject.put("data", data);
|
||||||
log.error("销售出库签字推送锐制请求报文:"+jsonObject.toJSONString());
|
log.error("销售出库签字推送锐制请求报文:" + jsonObject.toJSONString());
|
||||||
String result = ThirdPartyPostRequestUtil.sendPostRequest(rzwmsip, jsonObject.toJSONString());
|
String result = ThirdPartyPostRequestUtil.sendPostRequest(rzwmsip, jsonObject.toJSONString());
|
||||||
JSONObject resultObj = JSONObject.parseObject(result);
|
JSONObject resultObj = JSONObject.parseObject(result);
|
||||||
if("false".equals(resultObj.getString("success"))){
|
if ("false".equals(resultObj.getString("success"))) {
|
||||||
throw new BusinessException("RZMOM同步失败,原因:"+resultObj.getString("msg"));
|
throw new BusinessException("RZMOM同步失败,原因:" + resultObj.getString("msg"));
|
||||||
}else{
|
} else {
|
||||||
log.error("RZMOM同步成功,返回参数【"+resultObj.toJSONString()+"】");
|
log.error("RZMOM同步成功,返回参数【" + resultObj.toJSONString() + "】");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +105,7 @@ public class AfterSigningSynchronizeRuleRZ implements IRule<SaleOutVO> {
|
||||||
//部门
|
//部门
|
||||||
// String cdptCode =transferCodeByPk(DeptVO.getDefaultTableName(), DeptVO.CODE,DeptVO.PK_DEPT,head.getCdptid());
|
// String cdptCode =transferCodeByPk(DeptVO.getDefaultTableName(), DeptVO.CODE,DeptVO.PK_DEPT,head.getCdptid());
|
||||||
|
|
||||||
for(SaleOutBodyVO body:bodys){
|
for (SaleOutBodyVO body : bodys) {
|
||||||
JSONObject singleObj = new JSONObject();
|
JSONObject singleObj = new JSONObject();
|
||||||
String cgeneralhid = body.getCgeneralhid();//表头主键
|
String cgeneralhid = body.getCgeneralhid();//表头主键
|
||||||
String cgeneralbid = body.getCgeneralbid();//表体主键
|
String cgeneralbid = body.getCgeneralbid();//表体主键
|
||||||
|
@ -113,47 +114,49 @@ public class AfterSigningSynchronizeRuleRZ implements IRule<SaleOutVO> {
|
||||||
String casscustid = body.getCasscustid();//客户
|
String casscustid = body.getCasscustid();//客户
|
||||||
String cbodywarehouseid = body.getCbodywarehouseid();//仓库
|
String cbodywarehouseid = body.getCbodywarehouseid();//仓库
|
||||||
UFDate dbizdate = body.getDbizdate();//出库日期
|
UFDate dbizdate = body.getDbizdate();//出库日期
|
||||||
singleObj.put("wbid",cgeneralhid+"_"+cgeneralbid+"_"+vtrantypecode);//第三方系统主键id
|
singleObj.put("wbid", cgeneralhid + "_" + cgeneralbid + "_" + vtrantypecode);//第三方系统主键id
|
||||||
singleObj.put("wbpid",cgeneralhid);//第三方系统分组id
|
singleObj.put("wbpid", cgeneralhid);//第三方系统分组id
|
||||||
singleObj.put("operate",1);//operate int 操作状态 必填 1新增/修改、2删除(删除时只需上传wbid)
|
singleObj.put("operate", 1);//operate int 操作状态 必填 1新增/修改、2删除(删除时只需上传wbid)
|
||||||
singleObj.put("djly",1013);//djly varchar(20) 来源单据
|
singleObj.put("djly", 1013);//djly varchar(20) 来源单据
|
||||||
singleObj.put("djbh_id",cgeneralhid);//单据id
|
singleObj.put("djbh_id", cgeneralhid);//单据id
|
||||||
singleObj.put("djbh",vbillcode);//单据编号
|
singleObj.put("djbh", vbillcode);//单据编号
|
||||||
singleObj.put("djxh",crowno);//单据序号
|
singleObj.put("djxh", crowno);//单据序号
|
||||||
singleObj.put("djrq",dbizdate.toString());//单据日期--出库日期
|
singleObj.put("djrq", dbizdate.toString());//单据日期--出库日期
|
||||||
|
|
||||||
|
|
||||||
//第三方系统物料名称id--编码
|
//第三方系统物料名称id--编码
|
||||||
singleObj.put("wlbm_wbid",cmaterialvid);
|
singleObj.put("wlbm_wbid", cmaterialvid);
|
||||||
|
|
||||||
//单据数量
|
//单据数量
|
||||||
singleObj.put("djsl",body.getNshouldassistnum().getDouble());
|
singleObj.put("djsl", body.getNshouldassistnum().getDouble());
|
||||||
|
|
||||||
//第三方系统客户id--编码
|
//第三方系统客户id--编码
|
||||||
singleObj.put("khbh_wbid",casscustid);
|
singleObj.put("khbh_wbid", casscustid);
|
||||||
//订单编号
|
//订单编号
|
||||||
singleObj.put("ddbh",body.getVsourcebillcode());
|
singleObj.put("ddbh", body.getVsourcebillcode());
|
||||||
//订单序号
|
//订单序号
|
||||||
singleObj.put("ddxh",body.getVsourcerowno());
|
singleObj.put("ddxh", body.getVsourcerowno());
|
||||||
//送达地点-code
|
//送达地点-code
|
||||||
singleObj.put("sddd",cbodywarehouseid);
|
singleObj.put("sddd", cbodywarehouseid);
|
||||||
//第三方系统仓库id -code
|
//第三方系统仓库id -code
|
||||||
singleObj.put("ckbh_wbid",cbodywarehouseid);
|
singleObj.put("ckbh_wbid", cbodywarehouseid);
|
||||||
//部门
|
//部门
|
||||||
singleObj.put("bzsm",head.getCdptid());
|
singleObj.put("bzsm", head.getCdptid());
|
||||||
|
|
||||||
|
// 添加两个字段 项目号 和 项目名称 使用 vbdef1 和 vbdef10
|
||||||
|
singleObj.put("wlzdycs06", body.getVbdef1());
|
||||||
|
singleObj.put("wlzdycs11", body.getVbdef10());
|
||||||
//签发标记
|
//签发标记
|
||||||
singleObj.put("qfbj",1);
|
singleObj.put("qfbj", 1);
|
||||||
|
|
||||||
|
|
||||||
//操作状态 1新增/修改、2删除(删除时只需上传wbid)
|
//操作状态 1新增/修改、2删除(删除时只需上传wbid)
|
||||||
singleObj.put("operate",1);
|
singleObj.put("operate", 1);
|
||||||
details.add(singleObj);
|
details.add(singleObj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String transferCodeByPk(String tableName, String selectField, String pkField, String pk) throws BusinessException {
|
private String transferCodeByPk(String tableName, String selectField, String pkField, String pk) throws BusinessException {
|
||||||
if(StringUtils.isEmpty(pk)){
|
if (StringUtils.isEmpty(pk)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
SqlBuilder sqlBuilder = new SqlBuilder();
|
SqlBuilder sqlBuilder = new SqlBuilder();
|
||||||
|
|
Loading…
Reference in New Issue