Commit b1ef2823 authored by 鲁鑫's avatar 鲁鑫

免费订单的审批流程

parent e4ff5fd8
......@@ -6,6 +6,9 @@ $(document).ready(function () {
bindEvent();
});
function initialize(){
var orderTypeName = $("#orderTypeName").val();
$('#jobBizBillBody .subject').html(orderTypeName);
UICtrl.setDisable($("#submitForm"));
UICtrl.layout("#layout", {leftWidth: 3});
}
......@@ -137,7 +140,7 @@ function loadGrid() {
usePager: true,
parms:{epSaleOrderId:getId()},
toolbar: toolbarOptions,
enabledEdit: true,
enabledEdit: false,
width: "100%",
height: "100%",
heightDiff: -8,
......
......@@ -21,6 +21,8 @@
<x:hidden name="positionName"/>
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<x:hidden name="orderType"/>
<x:hidden name="orderTypeName"/>
<x:hidden name="status"/>
<div class="hg-form-cols">
<div class="hg-form-row">
......
......@@ -21,6 +21,8 @@ function loadGrid() {
{display: "联系电话长号", name: "telPhoneLong", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "联系电话短号", name: "telPhoneShort", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "售达方", name: "kunnr", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "状态码", name: "code", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "消息", name: "msg", width: 200, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/epSaleOrder/slicedEpSaleOrderList.ajax',
......
......@@ -28,7 +28,5 @@ public interface EpSaleOrderApplication {
Map<String, Object> slicedEpSaleOrderList(EpSaleOrderQueryRequest queryRequest);
public void sendEpSaleOrderData(EpSaleOrder costCenter);
void saveEpSaleOrderVo(EpSaleOrderVo epSaleOrderVo);
void saveEpSaleOrderVo(List<EpSaleOrderVo> epSaleOrderVos);
}
package com.huigou.topsun.ep.order.application.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.context.ThreadLocalUtil;
......@@ -15,6 +17,9 @@ import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.ep.order.application.EpSaleOrderItemApplication;
import com.huigou.topsun.ep.order.domain.EpSaleOrder;
import com.huigou.topsun.ep.order.domain.query.EpSaleOrderQueryRequest;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.common.domain.EpResult;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.operator.OperatorApplication;
import com.huigou.uasp.bpm.FlowBroker;
......@@ -31,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.*;
/**
......@@ -50,6 +56,8 @@ public class EpSaleOrderApplicationImpl extends FlowBroker implements EpSaleOrde
private WorkflowApplication workflowApplication;
@Resource
private OperatorApplication operatorApplication;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Override
protected String saveBizAndApprovalData() {
......@@ -80,18 +88,7 @@ public class EpSaleOrderApplicationImpl extends FlowBroker implements EpSaleOrde
EpSaleOrder epSaleOrder = epSaleOrderRepository.findOne(bizId);
epSaleOrder.setStatusId(status.getId());
epSaleOrderRepository.save(epSaleOrder);
/*try {
String url = SystemCache.getParameter("sap.purchase.url", String.class);
String execute = httpClient.execute(epSaleOrder, url);
List<SapResult> resultList = JSONObject.parseArray(execute, SapResult.class);
SapResult sapResult = resultList.get(0);
if (!"S".equals(sapResult.getTYPE())){
throw new RuntimeException("数据传输失败,"+ sapResult.getMESSAGE());
}
epSaleOrderRepository.save(epSaleOrder);
} catch (IOException e) {
throw new RuntimeException(e);
}*/
this.feedBackSaleOrder(epSaleOrder);
}
@Override
......@@ -150,12 +147,8 @@ public class EpSaleOrderApplicationImpl extends FlowBroker implements EpSaleOrde
}
@Override
public void sendEpSaleOrderData(EpSaleOrder costCenter) {
}
@Override
public void saveEpSaleOrderVo(EpSaleOrderVo epSaleOrderVo) {
public void saveEpSaleOrderVo(List<EpSaleOrderVo> epSaleOrderVos) {
for (EpSaleOrderVo epSaleOrderVo : epSaleOrderVos) {
EpSaleOrder epSaleOrder = new EpSaleOrder();
BeanUtil.copyProperties(epSaleOrderVo,epSaleOrder);
......@@ -167,7 +160,7 @@ public class EpSaleOrderApplicationImpl extends FlowBroker implements EpSaleOrde
Map<String, Object> formData = BeanUtil.beanToMap(epSaleOrder);
String bizId = this.startProcessInstance(EpSaleOrderApplication.PROCESS_DEFINITION_KEY, formData);
epSaleOrder.setId(bizId);
epSaleOrder.setStatusId(BizBillStatus.APPLYING.getId());
epSaleOrder = epSaleOrderRepository.save(epSaleOrder);
List<EpSaleOrderItemVo> epSaleOrderItemVos = epSaleOrderVo.getEpSaleOrderItemVos();
......@@ -179,6 +172,7 @@ public class EpSaleOrderApplicationImpl extends FlowBroker implements EpSaleOrde
});
this.epSaleOrderItemApplication.saveEpSaleOrderItems(epSaleOrder.getId(),epSaleOrderItems);
}
}
public String startProcessInstance(String processDefinitionKey,Map<String, Object> formData){
Map<String, Object> variables = new HashMap();
......@@ -209,4 +203,37 @@ public class EpSaleOrderApplicationImpl extends FlowBroker implements EpSaleOrde
localSdo.setOperator(operator);
return localSdo;
}
public void feedBackSaleOrder(EpSaleOrder epSaleOrder){
List<EpSaleOrderItem> orderItemList = epSaleOrderItemApplication.findByEpSaleOrderId(epSaleOrder.getId());
Map<String,Object> map = new HashMap<>();
map.put("state",1);
Set<String> saleOrderNos = new HashSet<>();
for (EpSaleOrderItem epSaleOrderItem : orderItemList) {
saleOrderNos.add(epSaleOrderItem.getVbeln());
}
map.put("saleOrderNos",saleOrderNos);
//日志记录
Map<String, Object> resultMap = new HashMap<>();
try {
String execute = httpClient.executeByJsonForEp(map, "od/saleOrder/auditedResult");
EpResult epResult = JSONObject.parseObject(execute, EpResult.class);
resultMap.put("type", epResult.getCode());
resultMap.put("message", epResult.getMsg());
if (!"200".equals(epResult.getCode())){
throw new RuntimeException("数据传输失败,"+ epResult.getMsg());
}
epSaleOrder.setCode(epResult.getCode());
epSaleOrder.setMsg(epResult.getMsg());
epSaleOrderRepository.save(epSaleOrder);
} catch (IOException e) {
throw new RuntimeException(e);
}finally {
resultMap.put("businessType", epSaleOrder.getOrderTypeName());
resultMap.put("businessId", epSaleOrder.getId());
resultMap.put("parameter", JSON.toJSONString(map));
resultMap.put("sequence", resultMap.get("row"));
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
}
}
}
......@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -77,14 +78,14 @@ public class EpSaleOrderController extends CommonController {
@SkipAuth
@RequestMapping( value = "/getEpSaleOrder")
@ResponseBody
public HashMap<String, Object> getEpSaleOrder(@RequestBody EpSaleOrderVo epSaleOrderVo){
public HashMap<String, Object> getEpSaleOrder(@RequestBody List<EpSaleOrderVo> epSaleOrderVos){
//SDO sdo = this.getSDO();
HashMap<String, Object> messageMap = new HashMap<>();
messageMap.put("Message_Status","S");
messageMap.put("Message_Text","成功");
LOG.info("EP销售订单审批数据=={}",epSaleOrderVo);
LOG.info("EP销售订单审批数据=={}",epSaleOrderVos);
try {
this.epSaleOrderApplication.saveEpSaleOrderVo(epSaleOrderVo);
this.epSaleOrderApplication.saveEpSaleOrderVo(epSaleOrderVos);
}catch (RuntimeException e){
messageMap.put("Message_Status","E");
messageMap.put("Message_Text",e);
......
......@@ -16,6 +16,18 @@ import javax.persistence.Table;
@Entity
@Table(name = "ep_sale_order")
public class EpSaleOrder extends FlowBillAbstractEntity {
/**
* 订单类型
*/
@Column(name = "order_type")
private String orderType;
/**
* 订单类型描述
*/
@Column(name = "order_type_name")
private String orderTypeName;
/**
* 联系电话长号
*/
......@@ -34,6 +46,12 @@ public class EpSaleOrder extends FlowBillAbstractEntity {
@Column(name = "KUNNR")
private String kunnr;
@Column(name = "code")
private String code;
@Column(name = "msg")
private String msg;
@Override
protected String getCodeRuleId() {
......
......@@ -41,6 +41,12 @@ public class EpSaleOrderItem extends AbstractEntity {
@Column(name = "NETWR")
private BigDecimal netwr;
/**
* 总额
*/
@Column(name = "amount")
private BigDecimal amount;
/**
* 客户采购单号
*/
......
......@@ -36,6 +36,9 @@ public class EpSaleOrderItemVo implements Serializable {
@JsonProperty("netwr")
private BigDecimal netwr;
@JsonProperty("amount")
private BigDecimal amount;
/**
* 客户采购单号
*/
......@@ -63,7 +66,7 @@ public class EpSaleOrderItemVo implements Serializable {
/**
* 订单数量
*/
@JsonProperty("vrkme")
@JsonProperty("kwmeng")
private BigDecimal kwmeng;
/**
......
......@@ -13,6 +13,18 @@ import java.util.List;
*/
@Data
public class EpSaleOrderVo implements Serializable {
/**
* 订单类型
*/
@JsonProperty("orderType")
private String orderType;
/**
* 订单类型描述
*/
@JsonProperty("orderTypeName")
private String orderTypeName;
/**
* 联系电话长号
*/
......
......@@ -90,4 +90,49 @@ public class DefaultHttpClient extends BaseApplication implements HttpClient {
return responseText;
}
@Override
public String executeByJsonForEp(Object param,String url) throws IOException {
//系统接口地址
// ip地址
String ip = SystemCache.getParameter("ep.service.ip", String.class);
// 上下文
String applicationContext = SystemCache.getParameter("ep.service.application.context", String.class);
// 用户名
// password = SystemCache.getParameter("ep.service.password", String.class);
// 密码
//String username = SystemCache.getParameter("ep.service.username", String.class);
// 客户端
//String client = SystemCache.getParameter("ep.service.client", String.class);
//String serverUrl = "http://192.168.23.15:8080/api/od/saleOrder/auditedResult.ajax";
StringBuffer serverUrl = new StringBuffer();
serverUrl
.append(ip)
.append(applicationContext)
.append(url);
HttpPost post = new HttpPost(serverUrl.toString());
post.setHeader("Content-type", "application/json;charset=utf-8");
//String usernameAndPassword = username + ":" + password;
//post.addHeader("Authorization", "Basic " + Base64.getEncoder().encodeToString(usernameAndPassword.getBytes()));
String paramJson = new ObjectMapper().writeValueAsString(param);
LOG.info("requestText={}", paramJson);
post.setEntity(new StringEntity(paramJson, ContentType.APPLICATION_JSON));
LOG.info("post={}", post);
HttpResponse response;
String responseText = "";
try {
response = http.execute(post);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusLine.getStatusCode() < HttpStatus.SC_OK || statusLine.getStatusCode() >= HttpStatus.SC_MULTIPLE_CHOICES) {
throw new IOException(String.format("调用EP系统出错,statusCode=%s, %s", statusCode, statusLine.getReasonPhrase()));
}
responseText = EntityUtils.toString(response.getEntity(), "UTF-8");
LOG.info("responseText={}", responseText);
LOG.info("----------->> 调用EP接口 {} 成功 <<-----------", serverUrl);
}finally {
post.releaseConnection();
}
return responseText;
}
}
......@@ -22,4 +22,6 @@ public interface HttpClient {
String execute(Object param,String url) throws IOException;
public String executeByJson(String param,String url) throws IOException;
public String executeByJsonForEp(Object param,String url) throws IOException;
}
package com.huigou.topsun.sap.common.domain;
import lombok.Data;
import java.io.Serializable;
/**
* @Auther: xin.lu
* @Date: 2024/03/16/10:06
* @Description:
*/
@Data
public class EpResult implements Serializable {
private String code;
private String msg;
}
package com.huigou.topsun.sap.purchaseInfoRecord.domain;
package com.huigou.topsun.sap.common.domain;
import lombok.Data;
......
......@@ -194,8 +194,9 @@ public class NonProdApplyApplicationImpl extends FlowBroker implements NonProdA
List<Map<String, Object>> resultList = objectMapper.readValue(result, new TypeReference<List<Map<String, Object>>>() {
});
resultMap = resultList.get(0);
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
if ("S".equals(resultMap.get("TYPE"))) {
resultMap.put("type", "S");
resultMap.put("message", resultMap.get("MESSAGE"));
applyDept.setMatnr((String) map.get("MESSAGE_V1"));
nonProdApplyDeptApplication.save(applyDept);
} else {
......@@ -204,8 +205,10 @@ public class NonProdApplyApplicationImpl extends FlowBroker implements NonProdA
} catch (Exception e) {
resultMap.put("type", "E");
resultMap.put("message", e.getMessage());
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
//sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
throw new RuntimeException("数据传输失败请检查数据后重试!" + e.getMessage());
} finally {
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
}
}
}
\ No newline at end of file
......@@ -2,8 +2,6 @@ package com.huigou.topsun.sap.purchase.application.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.cache.SystemCache;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
......@@ -16,7 +14,7 @@ import com.huigou.topsun.sap.purchase.domain.query.SapPurchaseQueryRequest;
import com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseItemVo;
import com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseVo;
import com.huigou.topsun.sap.purchase.repository.SapPurchaseRepository;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapResult;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
......
......@@ -10,11 +10,10 @@ import com.huigou.topsun.sap.purchaseInfoRecord.application.SapPurchaseInfoRecor
import com.huigou.topsun.sap.purchaseInfoRecord.application.SapPurchaseInfoRecordItemApplication;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapPurchaseInfoRecord;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapPurchaseInfoRecordItem;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapResult;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.query.SapPurchaseInfoRecordQueryRequest;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.vo.SapPurchaseInfoRecordItemVo;
import com.huigou.topsun.sap.purchaseInfoRecord.repository.SapPurchaseInfoRecordRepository;
import com.huigou.topsun.sap.statsIndicators.domain.SapStatsIndicatorsResult;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
......@@ -26,10 +25,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Auther: xin.lu
......
......@@ -3,7 +3,7 @@ package com.huigou.topsun.sap.sapApplication.application.impl;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapResult;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.sapApplication.domain.query.SapDialogQuery;
import com.huigou.topsun.sap.sapApplication.application.SapMaterialApplication;
import com.huigou.topsun.sap.sapApplication.domain.vo.SapMaterialVo;
......
......@@ -4,9 +4,8 @@ import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapResult;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.sapApplication.application.SapPaymentApplication;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......
......@@ -2,12 +2,11 @@ package com.huigou.topsun.sap.wasteSale.application.impl;
import cn.hutool.core.bean.BeanUtil;
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.purchaseInfoRecord.domain.SapResult;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.wasteSale.domain.WasteSale;
import com.huigou.topsun.sap.wasteSale.domain.WasteSaleItem;
import com.huigou.topsun.sap.wasteSale.application.WasteSaleApplication;
......@@ -20,7 +19,6 @@ import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
import com.huigou.util.DateUtil;
import com.huigou.util.StringUtil;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.springframework.beans.factory.annotation.Autowired;
......
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