Commit e95a1f5a authored by 鲁鑫's avatar 鲁鑫

SAP源发的采购申请审批接口

parent 757220f6
......@@ -39,7 +39,7 @@ function initItemGrid() {
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: true,
enabledEdit: false,
fixedCellHeight: true,
selectRowButtonOnly: true,
//autoApplyNextEditor:false,
......
......@@ -28,8 +28,8 @@
<x:hidden name="bsart"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="banfn" label="采购申请号" readonly="false" labelCol="1" fieldCol="2" required="true"/>
<x:inputC name="batxt" label="采购申请类型描述" readonly="false" labelCol="1" fieldCol="2" required="true"/>
<x:inputC name="banfn" label="采购申请号" readonly="true" labelCol="1" fieldCol="2" required="true"/>
<x:inputC name="batxt" label="采购申请类型描述" readonly="true" labelCol="1" fieldCol="2" required="false"/>
</div>
</div>
<div id="maingrid"></div>
......
......@@ -11,7 +11,7 @@ function initUI() {
function initPurchaseListGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: addHandler,
//addHandler: addHandler,
});
purchaseApprovalGridManager = UICtrl.grid('#purchaseApprovalGrid', {
columns: [
......@@ -20,6 +20,8 @@ function initPurchaseListGrid() {
, {display: "需求跟踪编号", name: "billCode", width: 150, minWidth: 60, type: "string", align: "center"}
, {display: "采购申请类型描述", name: "batxt", width: 150, minWidth: 60, type: "string", align: "center"}
, {display: "采购申请编号", name: "banfn", width: 150, minWidth: 60, type: "string", align: "center"}
, {display: "消息类型", name: "type", width: 100, minWidth: 60, type: "string", align: "center"}
, {display: "消息文本", name: "message", width: 200, minWidth: 60, type: "string", align: "center"}
],
dataAction: 'server',
url: web_app.name + '/sapPurchaseApproval/slicedSapPurchaseApprovalList.ajax?',
......@@ -72,7 +74,7 @@ function viewHandler(id) {
UICtrl.addTabItem({
tabid: 'viewPurchase' + id,
text: '查看采购申请',
url: web_app.name + '/sapPurchaseApproval/showSapPurchaseApprovalDetail.job?bizId=' + id
url: web_app.name + '/sapPurchaseApproval/showSapPurchaseApprovalDetail.job?isReadOnly=true&bizId=' + id
});
}
......
......@@ -2,6 +2,7 @@ package com.huigou.topsun.sap.purchaseApproval.application;
import com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval;
import com.huigou.topsun.sap.purchaseApproval.domain.query.SapPurchaseApprovalQueryRequest;
import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalDto;
import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalVo;
import java.util.Map;
......@@ -20,5 +21,5 @@ public interface SapPurchaseApprovalApplication {
SapPurchaseApproval loadSapPurchaseApproval(String id);
void saveSapPurchaseApprovalVo(SapPurchaseApprovalVo sapPurchaseApprovalVo);
void saveSapPurchaseApprovalVo(SapPurchaseApprovalDto sapPurchaseApprovalDto);
}
......@@ -14,6 +14,7 @@ import com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalIte
import com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval;
import com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApprovalItem;
import com.huigou.topsun.sap.purchaseApproval.domain.query.SapPurchaseApprovalQueryRequest;
import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalDto;
import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalItemVo;
import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalVo;
import com.huigou.topsun.sap.purchaseApproval.repository.SapPurchaseApprovalRepository;
......@@ -24,9 +25,7 @@ import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.uasp.bpm.ProcessAction;
import com.huigou.uasp.bpm.ProcessStartModel;
import com.huigou.uasp.bpm.engine.application.WorkflowApplication;
import com.huigou.util.ClassHelper;
import com.huigou.util.Constants;
import com.huigou.util.SDO;
import com.huigou.util.*;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.runtime.ProcessInstance;
......@@ -35,10 +34,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Auther: xin.lu
......@@ -158,9 +156,9 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
@Override
@Transactional
public void saveSapPurchaseApprovalVo(SapPurchaseApprovalVo sapPurchaseApprovalVo) {
public void saveSapPurchaseApprovalVo(SapPurchaseApprovalDto sapPurchaseApprovalDto) {
SapPurchaseApproval sapPurchaseApproval = new SapPurchaseApproval();
BeanUtil.copyProperties(sapPurchaseApprovalVo,sapPurchaseApproval);
BeanUtil.copyProperties(sapPurchaseApprovalDto.getLsDeader(),sapPurchaseApproval);
//初始化用户信息
String createdById = "5EEB2DC861694A65933CB4CE9A8D870A@C18E23AAAA6940E09DF7C122332C51E0";
Operator operator = operatorApplication.createOperatorByPersonMemberId(createdById);
......@@ -171,11 +169,28 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
sapPurchaseApproval.setId(bizId);
sapPurchaseApproval = this.sapPurchaseApprovalRepository.save(sapPurchaseApproval);
List<SapPurchaseApprovalItemVo> approvalItemVoList = sapPurchaseApprovalVo.getItemVos();
List<SapPurchaseApprovalItemVo> approvalItemVoList = sapPurchaseApprovalDto.getItems();
List<SapPurchaseApprovalItem> sapPurchaseApprovalItems = new ArrayList<>();
approvalItemVoList.forEach(approvalItemVo->{
SapPurchaseApprovalItem sapPurchaseApprovalItem = new SapPurchaseApprovalItem();
BeanUtil.copyProperties(approvalItemVo,sapPurchaseApprovalItem);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
if (StringUtil.isNotBlank(approvalItemVo.getLfdat())){
try {
Date parse = dateFormat.parse(approvalItemVo.getLfdat());
sapPurchaseApprovalItem.setLfdat(parse);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
if (StringUtil.isNotBlank(approvalItemVo.getBadat())){
try {
Date parse = dateFormat.parse(approvalItemVo.getBadat());
sapPurchaseApprovalItem.setBadat(parse);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
sapPurchaseApprovalItems.add(sapPurchaseApprovalItem);
});
sapPurchaseApprovalItemApplication.saveSapPurchaseApprovalItems(sapPurchaseApproval.getId(),sapPurchaseApprovalItems);
......@@ -236,6 +251,9 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
if (!"S".equals(resultMap.get("TYPE"))) {
throw new RuntimeException("数据传输失败,请稍后手动重试!"+resultMap.get("MESSAGE"));
}
sapPurchaseApproval.setType((String) resultMap.get("TYPE"));
sapPurchaseApproval.setMessage((String) resultMap.get("MESSAGE"));
sapPurchaseApprovalRepository.save(sapPurchaseApproval);
} catch (Exception e) {
throw new RuntimeException("数据传输失败请检查数据后重试!"+e.getMessage());
}
......
......@@ -2,9 +2,11 @@ package com.huigou.topsun.sap.purchaseApproval.controller;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalApplication;
import com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval;
import com.huigou.topsun.sap.purchaseApproval.domain.query.SapPurchaseApprovalQueryRequest;
import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalDto;
import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalVo;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.annotation.SkipAuth;
......@@ -12,6 +14,8 @@ import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.JSONUtil;
import com.huigou.util.SDO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
......@@ -28,6 +32,7 @@ import java.util.Map;
@Controller
@ControllerMapping("/sapPurchaseApproval")
public class SapPurchaseApprovalController extends CommonController {
private final static Logger LOG = LoggerFactory.getLogger(SapPurchaseApprovalController.class);
@Resource
private SapPurchaseApprovalApplication sapPurchaseApprovalApplication;
@Override
......@@ -38,12 +43,18 @@ public class SapPurchaseApprovalController extends CommonController {
@SkipAuth
@RequestMapping( value = "/getSapPurchaseApproval")
@ResponseBody
public HashMap<String, Object> getSapPurchaseApproval(@RequestBody SapPurchaseApprovalVo sapPurchaseApprovalVo){
public HashMap<String, Object> getSapPurchaseApproval(@RequestBody SapPurchaseApprovalDto sapPurchaseApprovalDto){
//SDO sdo = this.getSDO();
this.sapPurchaseApprovalApplication.saveSapPurchaseApprovalVo(sapPurchaseApprovalVo);
HashMap<String, Object> messageMap = new HashMap<>();
messageMap.put("Message_Status","S");
messageMap.put("Message_Text","成功");
LOG.info("SAP采购申请审批数据=={}",sapPurchaseApprovalDto);
try {
this.sapPurchaseApprovalApplication.saveSapPurchaseApprovalVo(sapPurchaseApprovalDto);
}catch (RuntimeException e){
messageMap.put("Message_Status","E");
messageMap.put("Message_Text",e);
}
return messageMap;
}
......
......@@ -32,6 +32,17 @@ public class SapPurchaseApproval extends FlowBillAbstractEntity {
@Column(name = "BATXT")
private String batxt;
/**
* 消息类型
*/
@Column(name = "TYPE")
private String type;
/**
* 消息内容
*/
@Column(name = "MESSAGE")
private String message;
private static final long serialVersionUID = 1L;
@Override
......
package com.huigou.topsun.sap.purchaseApproval.domain.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/03/07/15:04
* @Description:
*/
@Data
public class SapPurchaseApprovalDto implements Serializable {
@JsonProperty("LS_HEADER")
private SapPurchaseApprovalVo lsDeader;
@JsonProperty("LT_ITEMS")
private List<SapPurchaseApprovalItemVo> items;
}
package com.huigou.topsun.sap.purchaseApproval.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
......@@ -16,132 +19,158 @@ public class SapPurchaseApprovalItemVo {
/**
* 项目编号(已删除(EBAN-LOEKZ=X)者不传EP;已结清(EBAN-EBAKZ=X)者也不传(结清指已全部转为采购订单))
*/
@JsonProperty("BNFPO")
private String bnfpo;
/**
* 项目类别
*/
@JsonProperty("PSTYP")
private String pstyp;
/**
* 项目类别描述
*/
@JsonProperty("PTEXT")
private String ptext;
/**
* 科目分配类别
*/
@JsonProperty("KNTTP")
private String knttp;
/**
* 科目分配类别描述
*/
@JsonProperty("KNTTX")
private String knttx;
/**
* 物料号
*/
@JsonProperty("MATNR")
private String matnr;
/**
* 物料描述
*/
@JsonProperty("TXZ01")
private String txz01;
/**
* 物料组
*/
@JsonProperty("MATKL")
private String matkl;
/**
* 物料组描述
*/
@JsonProperty("WGBEZ")
private String wgbez;
/**
* 采购申请数量
*/
@JsonProperty("MENGE")
private BigDecimal menge;
/**
* 采购申请计量单位
*/
@JsonProperty("MEINS")
private String meins;
/**
* 单位描述
*/
@JsonProperty("MSEHL")
private String msehl;
/**
* 要求交货日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date lfdat;
@JsonProperty("LFDAT")
private String lfdat;
/**
* 工厂
*/
@JsonProperty("WERKS")
private String werks;
/**
* 名称
*/
@JsonProperty("NAME1")
private String name1;
/**
* 库存地点
*/
@JsonProperty("LGORT")
private String lgort;
/**
* 库存地点的描述
*/
@JsonProperty("LGOBE")
private String lgobe;
/**
* 采购组
*/
@JsonProperty("EKGRP")
private String ekgrp;
/**
* 采购组描述
*/
@JsonProperty("EKNAM")
private String eknam;
/**
* 评估价格
*/
@JsonProperty("PREIS")
private BigDecimal preis;
/**
* 价格单位
*/
@JsonProperty("PEINH")
private String peinh;
/**
* 币种
*/
@JsonProperty("WAERS")
private String waers;
/**
* 评估金额
*/
@JsonProperty("RLWRT")
private BigDecimal rlwrt;
/**
* 0需求(请求)日期
*/
private Date badat;
@JsonProperty("BADAT")
//@JsonFormat(pattern = "yyyy-MM-dd")
private String badat;
/**
* 负责创建对象的人员姓名
*/
@JsonProperty("ERNAM")
private String ernam;
/**
* 完整的人员名称
*/
@JsonProperty("NAME_TEXT")
private String nameText;
}
\ No newline at end of file
package com.huigou.topsun.sap.purchaseApproval.domain.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
......@@ -13,17 +14,20 @@ import java.util.List;
*/
@Data
public class SapPurchaseApprovalVo implements Serializable {
@JsonProperty("BANFN")
private String banfn;
/**
* 采购申请类型(只传输四种:NB、ZNB1、ZNB2和ZSTR)
*/
@JsonProperty("BSART")
private String bsart;
/**
* 采购申请类型描述
*/
@JsonProperty("BATXT")
private String batxt;
private List<SapPurchaseApprovalItemVo> itemVos;
//private List<SapPurchaseApprovalItemVo> itemVos;
}
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