Commit 0d10dd35 authored by 王航's avatar 王航

1

parent a3f773d8
var itemGridManager = null;
$(function () {
initItemGrid();
bindEvent();
});
function bindEvent() {
}
function initItemGrid() {
itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(),
dataAction: 'server',
url: web_app.name + '/sapPurchaseOrder/querySapPurchaseOrderItems.ajax',
parms: {sapPurchaseOrderId: getId()},
height: '99.6%',
heightDiff: -4,
sortName: 'id',
sortOrder: 'asc',
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
}
);
UICtrl.setSearchAreaToggle(itemGridManager);
}
function getGridColumns() {
return [
{display: "项目编号", name: "ebelp", width: "100", align: "left", type: "string"},
{display: "项目类别", name: "pstyp", width: "100", align: "left", type: "string"},
{display: "项目类别描述", name: "knttp", width: "100", align: "left", type: "string"},
{display: "科目分配类别描述", name: "knttx", width: "100", align: "left", type: "string"},
{display: "物料号", name: "matnr", width: "100", align: "left", type: "string"},
{display: "物料描述", name: "txz01", width: "100", align: "left", type: "string"},
{display: "物料组", name: "matkl", width: "100", align: "left", type: "string"},
{display: "物料组描述", name: "wgbez", width: "100", align: "left", type: "string"},
{display: "采购订单数量", name: "menge", width: "100", align: "left", type: "string"},
{display: "采购订单计量单位", name: "meins", width: "100", align: "left", type: "string"},
{display: "单位描述", name: "msehl", width: "100", align: "left", type: "string"},
{display: "要求交货日期", name: "eindt", width: "100", align: "left", type: "string"},
{display: "工厂", name: "werks", width: "100", align: "left", type: "string"},
{display: "名称", name: "name1", width: "100", align: "left", type: "string"},
{display: "库存地点", name: "lgort", width: "100", align: "left", type: "string"},
{display: "库存地点的描述", name: "lgobe", width: "100", align: "left", type: "string"},
{display: "价格", name: "netpr", width: "100", align: "left", type: "string"},
{display: "价格单位", name: "peinh", width: "100", align: "left", type: "string"},
{display: "税码", name: "mwskz", width: "100", align: "left", type: "string"},
{display: "总价", name: "netwr", width: "100", align: "left", type: "string"},
{display: "退货项目", name: "retpo", width: "100", align: "left", type: "string"},
{display: "总账科目", name: "sakto", width: "100", align: "left", type: "string"},
{display: "成本中心", name: "kostl", width: "100", align: "left", type: "string"},
{display: "主资产号", name: "anln1", width: "100", align: "left", type: "string"},
{display: "资产次级编号", name: "anln2", width: "100", align: "left", type: "string"}
]
}
function getId() {
return $('#id').val();
}
......@@ -12,3 +72,4 @@ function setId(value) {
}
......@@ -25,43 +25,18 @@
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<x:hidden name="statusId"/>
<x:hidden name="bsart"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="ebeln" label="采购订单号码" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="bsart" label="采购订单类型" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="batxt" label="采购订单类型描述" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="purchaseOrderId" label="id" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="ebelp" label="项目编号" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="pstyp" label="项目类别" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="ptext" label="项目类别描述" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="knttp" label="科目分配类别" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="knttx" label="科目分配类别描述" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="matnr" label="物料号" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="matkl" label="物料组" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="wgbez" label="物料组描述" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="menge" label="采购订单数量" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="meins" label="采购订单计量单位" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="msehl" label="单位描述" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="eindt" label="要求交货日期" readonly="false" wrapper="date" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="werks" label="工厂" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="name1" label="名称" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="lgort" label="库存地点" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="lgobe" label="库存地点的描述" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="ekgrp" label="采购组" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="eknam" label="采购组描述" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="netpr" label="价格" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="peinh" label="价格单位" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="mwskz" label="税码" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="waers" label="币种" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="netwr" label="总价" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="retpo" label="退货项目" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="sakto" label="总账科目" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="kostl" label="成本中心" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="anln1" label="主资产号" readonly="false" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="anln2" label="资产次级编号" readonly="false" labelCol="1" fieldCol="2" required="false"/>
</div>
<x:inputC name="fillinDate" label="创建日期" readonly="true" wrapper="date" labelCol="1" fieldCol="2" required="false"/>
</div>
</div>
<div id="maingrid"></div>
</form>
</div>
</body>
\ No newline at end of file
......@@ -15,8 +15,11 @@ public interface SapPurchaseOrderItemApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/sap/sapPurchaseOrder/sapPurchaseOrderItem.xml";
void saveSapPurchaseOrderItem(SapPurchaseOrderItem sapPurchaseOrderItem);
void deleteById(String id);
void saveSapPurchaseOrderItems(String sapPurchaseOrderId, List<SapPurchaseOrderItem> sapPurchaseOrderItems);
List<SapPurchaseOrderItem> getPurchaseOrderItems(String purchaseOrderId);
SapPurchaseOrderItem getPurchaseOrderItem(String purchaseOrderId);
Map<String, Object> querySapPurchaseOrderItems(SapPurchaseOrderItemQueryRequest queryRequest);
void deletePurchaseOrderItems(List<SapPurchaseOrderItem> purchaseOrderItems);
}
......@@ -12,6 +12,8 @@ import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.purchaseApproval.application.SapPurchaseApprovalApplication;
import com.huigou.topsun.sap.purchaseApproval.application.impl.SapPurchaseApprovalApplicationImpl;
import com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval;
import com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApprovalItem;
import com.huigou.topsun.sap.purchaseApproval.domain.vo.SapPurchaseApprovalItemVo;
import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderApplication;
import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
......@@ -165,21 +167,26 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
String bizId = sapPurchaseApprovalApplication.startProcessInstance(SapPurchaseOrderApplication.PROCESS_DEFINITION_KEY, formData);
sapPurchaseOrder.setId(bizId);
sapPurchaseOrder = this.sapPurchaseOrderRepository.save(sapPurchaseOrder);
purchaseOrderId=sapPurchaseOrder.getId();
}else {
//数据第n次接收覆盖上一次数据
purchaseOrder.setBatxt(sapPurchaseOrderVo.getBatxt());
purchaseOrder.setBsart(sapPurchaseOrderVo.getBsart());
this.sapPurchaseOrderRepository.save(purchaseOrder);
SapPurchaseOrderItem purchaseOrderItem = sapPurchaseOrderItemApplication.getPurchaseOrderItem(purchaseOrder.getId());
sapPurchaseOrderItemApplication.deleteById(purchaseOrderItem.getId());
List<SapPurchaseOrderItem> purchaseOrderItems = sapPurchaseOrderItemApplication.getPurchaseOrderItems(purchaseOrder.getId());
sapPurchaseOrderItemApplication.deletePurchaseOrderItems(purchaseOrderItems);
purchaseOrderId=purchaseOrder.getId();
}
SapPurchaseOrderItem sapPurchaseOrderItem = new SapPurchaseOrderItem();
BeanUtil.copyProperties(sapPurchaseOrderDto.getLtItems().get(0), sapPurchaseOrderItem);
sapPurchaseOrderItem.setPurchaseOrderId(purchaseOrderId);
sapPurchaseOrderItemApplication.saveSapPurchaseOrderItem(sapPurchaseOrderItem);
List<SapPurchaseOrderItemVo> ltItems = sapPurchaseOrderDto.getLtItems();
List<SapPurchaseOrderItem> purchaseOrderItems = new ArrayList<>();
ltItems.forEach(approvalItemVo->{
SapPurchaseOrderItem sapPurchaseApprovalItem = new SapPurchaseOrderItem();
BeanUtil.copyProperties(approvalItemVo,sapPurchaseApprovalItem);
purchaseOrderItems.add(sapPurchaseApprovalItem);
});
sapPurchaseOrderItemApplication.saveSapPurchaseOrderItems(purchaseOrderId,purchaseOrderItems);
}
......
......@@ -29,25 +29,32 @@ public class SapPurchaseOrderItemApplicationImpl extends BaseApplication impleme
sapPurchaseOrderItemRepository.save(sapPurchaseOrderItem);
}
@Override
public void saveSapPurchaseOrderItems(String sapPurchaseOrderId, List<SapPurchaseOrderItem> sapPurchaseOrderItems) {
sapPurchaseOrderItems.forEach(sapPurchaseOrderItem -> {
sapPurchaseOrderItem.setPurchaseOrderId(sapPurchaseOrderId);
});
sapPurchaseOrderItemRepository.save(sapPurchaseOrderItems);
}
@Override
public void deleteById(String id) {
sapPurchaseOrderItemRepository.delete(id);
public List<SapPurchaseOrderItem> getPurchaseOrderItems(String purchaseOrderId) {
return sapPurchaseOrderItemRepository.findAllByPurchaseOrderId(purchaseOrderId);
}
@Override
public Map<String, Object> querySapPurchaseOrderItems(SapPurchaseOrderItemQueryRequest queryRequest) {
Map<String, Object> map = new HashMap<>();
if (StringUtil.isNotBlank(queryRequest.getSapPurchaseOrderId())){
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapPurchaseOrderItems");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
}
return map;
}
@Override
public SapPurchaseOrderItem getPurchaseOrderItem(String purchaseOrderId) {
return sapPurchaseOrderItemRepository.findSapPurchaseOrderItemByPurchaseOrderId(purchaseOrderId);
public void deletePurchaseOrderItems(List<SapPurchaseOrderItem> purchaseOrderItems) {
sapPurchaseOrderItemRepository.delete(purchaseOrderItems);
}
// @Override
// public Map<String, Object> querySapPurchaseOrderItems(SapPurchaseOrderItemQueryRequest queryRequest) {
// Map<String, Object> map = new HashMap<>();
// if (StringUtil.isNotBlank(queryRequest.getSapPurchaseOrderId())){
// QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapPurchaseOrderItems");
// QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
// map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
// }
// return map;
// }
}
......@@ -6,10 +6,12 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.topsun.sap.acceptanceFormAck.domain.SapAcceptanceFormAck;
import com.huigou.topsun.sap.purchaseApproval.domain.query.SapPurchaseApprovalItemQueryRequest;
import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderApplication;
import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrderItem;
import com.huigou.topsun.sap.purchaseOrder.domain.query.SapPurchaseOrderItemQueryRequest;
import com.huigou.topsun.sap.purchaseOrder.domain.query.SapPurchaseOrderQueryRequest;
import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderDto;
import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderVo;
......@@ -54,7 +56,7 @@ public class SapPurchaseOrderController extends CommonController {
}
@SkipAuth
@RequestMapping( value = "/getSapPurchaseOrder")
@RequestMapping( value = "/getSapPurchaseOrder",consumes = "application/json; charset=UTF-8")
@ResponseBody
public HashMap<String, Object> getSapPurchaseOrder(@RequestBody SapPurchaseOrderDto sapPurchaseOrderDto){
this.sapPurchaseOrderApplication.saveSapPurchaseOrderDto(sapPurchaseOrderDto);
......@@ -81,13 +83,13 @@ public class SapPurchaseOrderController extends CommonController {
SDO sdo = this.getSDO();
String id = sdo.getBizId();
SapPurchaseOrder sapPurchaseOrder = sapPurchaseOrderApplication.loadSapPurchaseOrder(id);
SapPurchaseOrderItem purchaseOrderItem = sapPurchaseOrderItemApplication.getPurchaseOrderItem(sapPurchaseOrder.getId());
ObjectMapper objectMapper = new ObjectMapper();
//禁止日期类型转换为时间戳
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"));
Map<String, Object> map = objectMapper.convertValue(sapPurchaseOrder, Map.class);
map.putAll(MyBaseUtil.convertToMap(purchaseOrderItem));
return forward("sapPurchaseOrderDetail",map);
return forward("sapPurchaseOrderDetail",sapPurchaseOrder);
}
public String querySapPurchaseOrderItems(){
SDO sdo = this.getSDO();
SapPurchaseOrderItemQueryRequest queryRequest = sdo.toQueryRequest(SapPurchaseOrderItemQueryRequest.class);
Map<String, Object> map = sapPurchaseOrderItemApplication.querySapPurchaseOrderItems(queryRequest);
return toResult(map);
}
}
package com.huigou.topsun.sap.purchaseOrder.domain;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.huigou.data.domain.model.FlowBillAbstractEntity;
import lombok.Data;
......@@ -56,17 +57,30 @@ public class SapPurchaseOrder extends FlowBillAbstractEntity {
@Column(name = "WAERS")
private String waers;
/**
* 创建日期
*/
@Column(name = "AEDAT")
private Date aedat;
// /**
// * 创建日期
// */
// @Column(name = "AEDAT")
// private Date aedat;
// /**
// * 创建人ID创建人ID
// */
// @Column(name = "ERNAM")
// private String ernam;
//
// /**
// * 创建人姓名
// */
// @Column(name = "NAME_TEXT")
// private String nameText;
@Override
protected String getCodeRuleId() {
return "sapPurchaseOrder";
}
public void setAedat(String D){
}
}
\ No newline at end of file
......@@ -3,6 +3,8 @@ package com.huigou.topsun.sap.purchaseOrder.repository;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrderItem;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/01/09/19:01
......@@ -10,5 +12,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
*/
public interface SapPurchaseOrderItemRepository extends JpaRepository<SapPurchaseOrderItem,String> {
SapPurchaseOrderItem findSapPurchaseOrderItemByPurchaseOrderId(String POId);
List<SapPurchaseOrderItem> findAllByPurchaseOrderId(String POId);
}
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