Commit 92d656fc authored by 刘学辉's avatar 刘学辉

采购信息记录 调整, 物料主数据的销售视图的品牌改为从EP获取

parent f753bcb6
......@@ -66,7 +66,7 @@
<x:inputC name="material" label="材质" labelCol="1" fieldCol="2"/>
<x:inputC name="design" label="版式" labelCol="1" fieldCol="2"/>
<x:inputC name="size" label="尺码" labelCol="1" fieldCol="2"/>
<x:inputC name="brand" label="品牌" labelCol="1" fieldCol="2"/>
<x:inputC name="brand" label="品牌" labelCol="1" fieldCol="2" />
<x:selectC name="itemAttributes" label="物品属性" labelCol="1" fieldCol="2" dictionary="suppliesType"/>
<x:inputC name="materialUsage" label="用途" labelCol="1" fieldCol="8"/>
......@@ -98,7 +98,7 @@
<%--<x:selectC name="prodh" label="产品层级" labelCol="1" fieldCol="2" dictionary="productLevels"/>--%>
<x:inputC name="prodh" label="产品层级" labelCol="1" fieldCol="2"/>
<x:inputC name="mvgr1" label="版式" labelCol="1" fieldCol="2"/>
<x:inputC name="mvgr2" label="品牌" labelCol="1" fieldCol="2"/>
<x:inputC name="mvgr2" label="品牌" labelCol="1" fieldCol="2" disabled="true"/>
<x:inputC name="mvgr3" label="用途" labelCol="1" fieldCol="2"/>
<x:inputC name="mvgr4" label="备用" labelCol="1" fieldCol="2"/>
<x:inputC name="mvgr5" label="备用" labelCol="1" fieldCol="2"/>
......
......@@ -207,7 +207,7 @@ function getGridColumns() {
// editor: {required: false, type: "text"}
// },
{display: "净价", name: "netpr", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99'}
editor: {required: true,type: 'text', mask: '9999999.99'}
},
{display: "货币码", name: "waersTextView", width: "100", align: "left", type: "string",
editor: {
......@@ -245,7 +245,7 @@ function getGridColumns() {
},
{display: "基本计量单位", name: "meinsName", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
......@@ -271,7 +271,7 @@ function getGridColumns() {
data: {name: 'mwskz'},
textField: 'mwskzTextView',
valueField: 'mwskz',
required: false,
required: true,
render: function (item) {
return item.mwskzTextView;
}
......@@ -344,10 +344,10 @@ function getGridColumns() {
editor: {required: false, type: "text"}
},
{display: "最小采购订单数量", name: "minbm", width: "120", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99'}
editor: { required: true,type: 'text', mask: '9999999.99'}
},
{display: "计划交货时间(天)", name: "aplfz", width: "150", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99'}
editor: {required: true,type: 'text', mask: '9999999.99'}
},
// {display: "业务标识", name: "zflag", width: 150, minWidth: 60, type: "string", align: "center",
......@@ -359,7 +359,7 @@ function getGridColumns() {
data: {name: 'webre'},
textField: 'webreTextView',
valueField: 'webre',
required: false,
required: true,
render: function (item) {
return item.webreTextView;
}
......
......@@ -13,4 +13,5 @@ import java.io.Serializable;
public class EpResult implements Serializable {
private String code;
private String msg;
private EpResultValue data;
}
package com.huigou.topsun.sap.common.domain;
import lombok.Data;
@Data
public class EpResultValue {
private String code;
private String name;
}
......@@ -17,7 +17,7 @@ import com.huigou.topsun.base.bsnMessage.domain.BsnMessageExecute;
import com.huigou.topsun.base.bsnMessage.domain.BsnMessageSponsor;
import com.huigou.topsun.base.bsnMessage.repository.BsnMessageExecuteRepository;
import com.huigou.topsun.base.bsnMessage.repository.BsnMessageSponsorRepository;
import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
import com.huigou.topsun.sap.nonProdApply.application.NonProdApplyApplication;
......@@ -63,8 +63,7 @@ public class NonProdApplyApplicationImpl extends FlowBroker implements NonProdA
BsnMessageSponsorRepository bsnMessageSponsorRepository;
@Autowired
com.huigou.topsun.base.bsnMessage.repository.BsnMessageExecuteRepository bsnMessageExecuteRepository;
@Autowired
DefaultHttpClient defaultHttpClient;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Resource
......@@ -462,6 +461,7 @@ public class NonProdApplyApplicationImpl extends FlowBroker implements NonProdA
SapNonProdApplyDept sapNonProdApplyDept = new SapNonProdApplyDept();
ClassHelper.copyProperties(prodApplyFromSapVO, nonProdApplyBaseInfo);
nonProdApplyBaseInfo.setCreatedDate(new Date());
nonProdApplyBaseInfo.setStatusId(BizBillStatus.COMPLETED.getId());
nonProdApplyBaseInfo.setApprover(operator.getPersonMemberName());
nonProdApplyBaseInfo.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
......
......@@ -79,10 +79,14 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
nonProdApplyBaseInfo.setDesign(sdo.getString("design"));
nonProdApplyBaseInfo.setSize(sdo.getString("size"));
// nonProdApplyBaseInfo.setGenericName(sdo.getString("brand"));
nonProdApplyBaseInfo.setBrand(sdo.getString("brand"));
nonProdApplyBaseInfo.setMaterialUsage(sdo.getString("materialUsage"));
nonProdApplyBaseInfo.setItemAttributes(sdo.getString("itemAttributes"));
}
if ("V".equals(businessCode)) { //销售视图
nonProdApplyBaseInfo.setBrand(sdo.getString("brand"));
nonProdApplyBaseInfo.setBrand(sdo.getString("brandName"));
}
nonProdApplyBaseInfoRepository.save(nonProdApplyBaseInfo);
NonProdApplyDeptVo deptVo=null;
......
package com.huigou.topsun.sap.nonProdApply.controller;
import com.alibaba.fastjson.JSONObject;
import com.huigou.cache.DictUtil;
import com.huigou.topsun.base.bsnMessage.appliction.BsnMessageApplication;
import com.huigou.topsun.base.bsnMessage.domain.ActiveStatus;
......@@ -9,6 +10,9 @@ import com.huigou.topsun.base.bsnMessage.domain.BsnMessageReject;
import com.huigou.topsun.base.bsnMessage.domain.BsnMessageSponsor;
import com.huigou.topsun.base.bsnMessage.repository.BsnMessageExecuteRepository;
import com.huigou.topsun.base.bsnMessage.repository.BsnMessageSponsorRepository;
import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.domain.EpResult;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.nonProdApply.application.NonProdApplyApplication;
import com.huigou.topsun.sap.nonProdApply.application.NonProdApplyDeptApplication;
import com.huigou.topsun.sap.nonProdApply.domain.NonProdApplyBaseInfo;
......@@ -20,10 +24,13 @@ import com.huigou.uasp.bmp.opm.domain.model.org.Org;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import com.huigou.util.StringUtil;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import javax.persistence.Transient;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
......@@ -47,6 +54,8 @@ public class NonProdApplyNextController extends CommonController {
BsnMessageExecuteRepository bsnMessageExecuteRepository;
@Autowired
OrgApplication orgApplication;
@Autowired
DefaultHttpClient defaultHttpClient;
public String forwardNonProdApplyNext() {
SDO sdo = this.getSDO();
......@@ -283,6 +292,24 @@ public class NonProdApplyNextController extends CommonController {
case "C":
return forward("nonProdApplyClass", nonProdApplyDept);
case "V": //销售
if (StringUtils.isNotBlank(nonProdApplyDept.getMatnr())) {
String url = "/md/mditem/queryBrandByItemCode?sapItemcode=" + nonProdApplyDept.getMatnr();
Map map = new HashMap();
try {
//{msg:"","code":"",data:{"code":"","name":}}
String result = defaultHttpClient.executeForEp(map, url);
EpResult epResult = JSONObject.parseObject(result, EpResult.class);
if ("".equals(epResult.getMsg())) {
nonProdApplyDept.setBrand(epResult.getData().getCode());
nonProdApplyDept.setBrandName(epResult.getData().getName());
nonProdApplyDept.setMvgr2(epResult.getData().getCode());
} else {
throw new RuntimeException("从EP查询品牌错误:" + epResult.getMsg());
}
} catch (IOException e) {
throw new RuntimeException("EP服务器无响应请稍后手动重试!error:" + e.getMessage());
}
}
return forward("nonProdApplySale", nonProdApplyDept);
case "E":
return forward("nonProdApplyPurchase", nonProdApplyDept);
......@@ -330,6 +357,8 @@ public void getBaseInfoAttrs(NonProdApplyBaseInfo baseInfo,SapNonProdApplyDept n
nonProdApplyDept.setDesign(baseInfo.getDesign());
nonProdApplyDept.setSize(baseInfo.getSize());
nonProdApplyDept.setBrand(baseInfo.getBrand());
nonProdApplyDept.setBrandName(baseInfo.getBrandName());
nonProdApplyDept.setMaterialUsage(baseInfo.getMaterialUsage());
nonProdApplyDept.setItemAttributes(baseInfo.getItemAttributes());
nonProdApplyDept.setDistribute(baseInfo.getDistribute());
......
......@@ -83,7 +83,11 @@ public class NonProdApplyBaseInfo extends FlowBillAbstractEntity {
* 品牌
*/
private String brand;
/**
* 品牌名称
*/
@Column(name = "brand_name")
private String brandName;
/**
* 用途
*/
......
......@@ -885,6 +885,8 @@ public class SapNonProdApplyDept implements Serializable {
@Transient
private String brand;
@Transient
private String brandName;
@Transient
private String materialUsage;
@Transient
private String itemAttributes;
......
package com.huigou.topsun.sap.purchase.application.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huigou.cache.SystemCache;
import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
import com.huigou.topsun.sap.purchase.application.SapPurchaseApplication;
import com.huigou.topsun.sap.purchase.application.SapPurchaseItemApplication;
......@@ -22,6 +24,7 @@ import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
......@@ -29,10 +32,7 @@ import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @Auther: xin.lu
......@@ -47,6 +47,8 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
private SapPurchaseItemApplication sapPurchaseItemApplication;
@Resource
private HttpClient httpClient;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Override
protected String saveBizAndApprovalData() {
super.saveBizAndApprovalData();
......@@ -128,8 +130,11 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
SapPurchase sapPurchase = sapPurchaseRepository.findOne(bizId);
sapPurchase.setStatusId(status.getId());
sapPurchase.setFrgdt(new Date());
SapPurchaseVo sapPurchaseVo = this.getSapPurchaseVoJson(sapPurchase);
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("businessType", "采购申请创建");
resultMap.put("businessId", bizId);
resultMap.put("parameter", JSON.toJSONString(sapPurchaseVo));
try {
String url = SystemCache.getParameter("sap.purchase.url", String.class);
String execute = httpClient.execute(sapPurchaseVo, url);
......@@ -137,11 +142,18 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
SapResult sapResult = resultList.get(0);
if (!"S".equals(sapResult.getTYPE())){
throw new RuntimeException("数据传输失败,"+ sapResult.getMESSAGE());
} else {
resultMap.put("type", sapResult.getTYPE());
resultMap.put("MESSAGE", sapResult.getMESSAGE());
}
sapPurchase.setBanfn(sapResult.getMESSAGE_V1());//SAP采购申请编号
sapPurchaseRepository.save(sapPurchase);
} catch (IOException e) {
resultMap.put("type", "E");
resultMap.put("MESSAGE", e.getMessage());
throw new RuntimeException(e);
}finally {
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
}
}
......
package com.huigou.topsun.sap.purchaseApproval.application.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.context.Operator;
......@@ -10,6 +11,7 @@ import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
import com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalApplication;
import com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalItemApplication;
......@@ -58,7 +60,8 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
private OperatorApplication operatorApplication;
@Autowired
DefaultHttpClient defaultHttpClient;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Override
protected String saveBizAndApprovalData() {
super.saveBizAndApprovalData();
......@@ -132,7 +135,7 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
SapPurchaseApproval sapPurchaseApproval = sapPurchaseApprovalRepository.findOne(bizId);
sapPurchaseApproval.setStatusId(status.getId());
sapPurchaseApprovalRepository.save(sapPurchaseApproval);
sendSapDate(sapPurchaseApproval,"Y");
sendSapData(sapPurchaseApproval,"Y");
}
/**
......@@ -180,7 +183,7 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
SapPurchaseApproval sapPurchaseApproval = sapPurchaseApprovalRepository.findOne(bizId);
sapPurchaseApproval.setStatusId(BizBillStatus.APPLYING.getId());
sapPurchaseApprovalRepository.save(sapPurchaseApproval);
sendSapDate(sapPurchaseApproval,"N");
sendSapData(sapPurchaseApproval,"N");
//终止
//workflowApplication.abortProcessInstance(delegateTask.getProcessInstanceId());
}
......@@ -274,7 +277,7 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
/**
* 远程调用sap接口,传递数据
*/
public void sendSapDate(SapPurchaseApproval sapPurchaseApproval, String flag) {
public void sendSapData(SapPurchaseApproval sapPurchaseApproval, String flag) {
List<SapPurchaseApprovalItem> approvalItemList = sapPurchaseApprovalItemApplication.querySapPurchaseApprovalItems(sapPurchaseApproval.getId());
List<Map<String,Object>> paramList= new ArrayList<>();
for (SapPurchaseApprovalItem sapPurchaseApprovalItem : approvalItemList) {
......@@ -293,18 +296,29 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
ObjectMapper objectMapper = new ObjectMapper();
String url = "pass_approval/approval";
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("businessType", "采购审批");
resultMap.put("businessId", sapPurchaseApproval.getId());
resultMap.put("parameter", JSON.toJSONString(param));
try {
String result = defaultHttpClient.execute(param, url);
List<Map<String, Object>> resultList = objectMapper.readValue(result, new TypeReference<List<Map<String, Object>>>() {});
Map<String, Object> resultMap = resultList.get(0);
if (!"S".equals(resultMap.get("TYPE"))) {
throw new RuntimeException("数据传输失败,请稍后手动重试!"+resultMap.get("MESSAGE"));
Map<String, Object> backMap = resultList.get(0);
if (!"S".equals(backMap.get("TYPE"))) {
throw new RuntimeException("数据传输失败,请稍后手动重试!"+backMap.get("MESSAGE"));
} else {
resultMap.put("type", backMap.get("TYPE"));
resultMap.put("MESSAGE", backMap.get("MESSAGE"));
}
sapPurchaseApproval.setType((String) resultMap.get("TYPE"));
sapPurchaseApproval.setMessage((String) resultMap.get("MESSAGE"));
sapPurchaseApproval.setType((String) backMap.get("TYPE"));
sapPurchaseApproval.setMessage((String) backMap.get("MESSAGE"));
sapPurchaseApprovalRepository.save(sapPurchaseApproval);
} catch (Exception e) {
resultMap.put("type", "E");
resultMap.put("MESSAGE", e.getMessage());
throw new RuntimeException("数据传输失败请检查数据后重试!"+e.getMessage());
}finally {
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
}
}
}
package com.huigou.topsun.sap.purchaseInfoRecord.application.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huigou.cache.DictUtil;
import com.huigou.cache.SystemCache;
......@@ -8,6 +9,7 @@ import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
import com.huigou.topsun.sap.purchaseInfoRecord.application.SapPurchaseInfoRecordApplication;
import com.huigou.topsun.sap.purchaseInfoRecord.application.SapPurchaseInfoRecordItemApplication;
......@@ -30,6 +32,7 @@ import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -47,6 +50,8 @@ public class SapPurchaseInfoRecordApplicationImpl extends FlowBroker implements
private SapPurchaseInfoRecordItemApplication sapPurchaseInfoRecordItemApplication;
@Resource
private HttpClient httpClient;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Transactional
@Override
......@@ -143,6 +148,10 @@ public class SapPurchaseInfoRecordApplicationImpl extends FlowBroker implements
if ("0".equals(sapPurchaseInfoRecordItemVo.getLoekz())){
sapPurchaseInfoRecordItemVo.setLoekz("");
}
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("businessType", "采购信息记录维护");
resultMap.put("businessId", sapPurchaseInfoRecord.getId());
resultMap.put("parameter", JSON.toJSONString(sapPurchaseInfoRecordItemVo));
try {
String url = SystemCache.getParameter("sap.PurchaseInfoRecord.url", String.class);
String execute = httpClient.execute(sapPurchaseInfoRecordItemVo, url);
......@@ -150,12 +159,19 @@ public class SapPurchaseInfoRecordApplicationImpl extends FlowBroker implements
SapResult sapResult = resultList.get(0);
if (!"S".equals(sapResult.getTYPE())){
throw new RuntimeException("数据传输失败,"+ sapResult.getMESSAGE());
} else {
resultMap.put("type", sapResult.getTYPE());
resultMap.put("MESSAGE", sapResult.getMESSAGE());
}
sapPurchaseInfoRecordItem.setTYPE(sapResult.getTYPE());
sapPurchaseInfoRecordItem.setMESSAGE(sapResult.getMESSAGE());
sapPurchaseInfoRecordItemApplication.save(sapPurchaseInfoRecordItem);
} catch (IOException e) {
resultMap.put("type", "E");
resultMap.put("MESSAGE", e.getMessage());
throw new RuntimeException(e);
}finally {
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
}
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment