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

1

parent a3f773d8
var itemGridManager = null; var itemGridManager = null;
$(function () { $(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() { function getId() {
return $('#id').val(); return $('#id').val();
} }
...@@ -12,3 +72,4 @@ function setId(value) { ...@@ -12,3 +72,4 @@ function setId(value) {
} }
...@@ -25,43 +25,18 @@ ...@@ -25,43 +25,18 @@
<x:hidden name="personMemberId"/> <x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/> <x:hidden name="personMemberName"/>
<x:hidden name="statusId"/> <x:hidden name="statusId"/>
<x:hidden name="bsart"/>
<div class="hg-form-cols"> <div class="hg-form-cols">
<div class="hg-form-row"> <div class="hg-form-row">
<x:inputC name="ebeln" label="采购订单号码" readonly="false" labelCol="1" fieldCol="2" required="false"/> <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="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="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="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="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="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="fillinDate" label="创建日期" readonly="true" wrapper="date" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="retpo" label="退货项目" readonly="false" labelCol="1" fieldCol="2" required="false"/> </div>
<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>
</div> </div>
<div id="maingrid"></div>
</form> </form>
</div> </div>
</body> </body>
\ No newline at end of file
...@@ -15,8 +15,11 @@ public interface SapPurchaseOrderItemApplication { ...@@ -15,8 +15,11 @@ public interface SapPurchaseOrderItemApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/sap/sapPurchaseOrder/sapPurchaseOrderItem.xml"; public static final String QUERY_XML_FILE_PATH = "config/topsun/sap/sapPurchaseOrder/sapPurchaseOrderItem.xml";
void saveSapPurchaseOrderItem(SapPurchaseOrderItem sapPurchaseOrderItem); 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; ...@@ -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.SapPurchaseApprovalApplication;
import com.huigou.topsun.sap.purchaseApproval.application.impl.SapPurchaseApprovalApplicationImpl; import com.huigou.topsun.sap.purchaseApproval.application.impl.SapPurchaseApprovalApplicationImpl;
import com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval; 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.SapPurchaseOrderApplication;
import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication; import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder; import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
...@@ -165,21 +167,26 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -165,21 +167,26 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
String bizId = sapPurchaseApprovalApplication.startProcessInstance(SapPurchaseOrderApplication.PROCESS_DEFINITION_KEY, formData); String bizId = sapPurchaseApprovalApplication.startProcessInstance(SapPurchaseOrderApplication.PROCESS_DEFINITION_KEY, formData);
sapPurchaseOrder.setId(bizId); sapPurchaseOrder.setId(bizId);
sapPurchaseOrder = this.sapPurchaseOrderRepository.save(sapPurchaseOrder); sapPurchaseOrder = this.sapPurchaseOrderRepository.save(sapPurchaseOrder);
purchaseOrderId=sapPurchaseOrder.getId(); purchaseOrderId=sapPurchaseOrder.getId();
}else { }else {
//数据第n次接收覆盖上一次数据 //数据第n次接收覆盖上一次数据
purchaseOrder.setBatxt(sapPurchaseOrderVo.getBatxt()); purchaseOrder.setBatxt(sapPurchaseOrderVo.getBatxt());
purchaseOrder.setBsart(sapPurchaseOrderVo.getBsart()); purchaseOrder.setBsart(sapPurchaseOrderVo.getBsart());
this.sapPurchaseOrderRepository.save(purchaseOrder); 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(); purchaseOrderId=purchaseOrder.getId();
} }
SapPurchaseOrderItem sapPurchaseOrderItem = new SapPurchaseOrderItem();
BeanUtil.copyProperties(sapPurchaseOrderDto.getLtItems().get(0), sapPurchaseOrderItem); List<SapPurchaseOrderItemVo> ltItems = sapPurchaseOrderDto.getLtItems();
sapPurchaseOrderItem.setPurchaseOrderId(purchaseOrderId); List<SapPurchaseOrderItem> purchaseOrderItems = new ArrayList<>();
sapPurchaseOrderItemApplication.saveSapPurchaseOrderItem(sapPurchaseOrderItem); 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 ...@@ -29,25 +29,32 @@ public class SapPurchaseOrderItemApplicationImpl extends BaseApplication impleme
sapPurchaseOrderItemRepository.save(sapPurchaseOrderItem); sapPurchaseOrderItemRepository.save(sapPurchaseOrderItem);
} }
@Override
public void saveSapPurchaseOrderItems(String sapPurchaseOrderId, List<SapPurchaseOrderItem> sapPurchaseOrderItems) {
sapPurchaseOrderItems.forEach(sapPurchaseOrderItem -> {
sapPurchaseOrderItem.setPurchaseOrderId(sapPurchaseOrderId);
});
sapPurchaseOrderItemRepository.save(sapPurchaseOrderItems);
}
@Override @Override
public void deleteById(String id) { public List<SapPurchaseOrderItem> getPurchaseOrderItems(String purchaseOrderId) {
sapPurchaseOrderItemRepository.delete(id); 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 @Override
public SapPurchaseOrderItem getPurchaseOrderItem(String purchaseOrderId) { public void deletePurchaseOrderItems(List<SapPurchaseOrderItem> purchaseOrderItems) {
return sapPurchaseOrderItemRepository.findSapPurchaseOrderItemByPurchaseOrderId(purchaseOrderId); 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; ...@@ -6,10 +6,12 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import com.huigou.context.Operator; import com.huigou.context.Operator;
import com.huigou.context.OrgUnit; import com.huigou.context.OrgUnit;
import com.huigou.topsun.sap.acceptanceFormAck.domain.SapAcceptanceFormAck; 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.SapPurchaseOrderApplication;
import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication; import com.huigou.topsun.sap.purchaseOrder.application.SapPurchaseOrderItemApplication;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder; import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrderItem; 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.query.SapPurchaseOrderQueryRequest;
import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderDto; import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderDto;
import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderVo; import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderVo;
...@@ -54,7 +56,7 @@ public class SapPurchaseOrderController extends CommonController { ...@@ -54,7 +56,7 @@ public class SapPurchaseOrderController extends CommonController {
} }
@SkipAuth @SkipAuth
@RequestMapping( value = "/getSapPurchaseOrder") @RequestMapping( value = "/getSapPurchaseOrder",consumes = "application/json; charset=UTF-8")
@ResponseBody @ResponseBody
public HashMap<String, Object> getSapPurchaseOrder(@RequestBody SapPurchaseOrderDto sapPurchaseOrderDto){ public HashMap<String, Object> getSapPurchaseOrder(@RequestBody SapPurchaseOrderDto sapPurchaseOrderDto){
this.sapPurchaseOrderApplication.saveSapPurchaseOrderDto(sapPurchaseOrderDto); this.sapPurchaseOrderApplication.saveSapPurchaseOrderDto(sapPurchaseOrderDto);
...@@ -81,13 +83,13 @@ public class SapPurchaseOrderController extends CommonController { ...@@ -81,13 +83,13 @@ public class SapPurchaseOrderController extends CommonController {
SDO sdo = this.getSDO(); SDO sdo = this.getSDO();
String id = sdo.getBizId(); String id = sdo.getBizId();
SapPurchaseOrder sapPurchaseOrder = sapPurchaseOrderApplication.loadSapPurchaseOrder(id); SapPurchaseOrder sapPurchaseOrder = sapPurchaseOrderApplication.loadSapPurchaseOrder(id);
SapPurchaseOrderItem purchaseOrderItem = sapPurchaseOrderItemApplication.getPurchaseOrderItem(sapPurchaseOrder.getId()); return forward("sapPurchaseOrderDetail",sapPurchaseOrder);
ObjectMapper objectMapper = new ObjectMapper(); }
//禁止日期类型转换为时间戳
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); public String querySapPurchaseOrderItems(){
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")); SDO sdo = this.getSDO();
Map<String, Object> map = objectMapper.convertValue(sapPurchaseOrder, Map.class); SapPurchaseOrderItemQueryRequest queryRequest = sdo.toQueryRequest(SapPurchaseOrderItemQueryRequest.class);
map.putAll(MyBaseUtil.convertToMap(purchaseOrderItem)); Map<String, Object> map = sapPurchaseOrderItemApplication.querySapPurchaseOrderItems(queryRequest);
return forward("sapPurchaseOrderDetail",map); return toResult(map);
} }
} }
package com.huigou.topsun.sap.purchaseOrder.domain; package com.huigou.topsun.sap.purchaseOrder.domain;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.huigou.data.domain.model.FlowBillAbstractEntity; import com.huigou.data.domain.model.FlowBillAbstractEntity;
import lombok.Data; import lombok.Data;
...@@ -56,17 +57,30 @@ public class SapPurchaseOrder extends FlowBillAbstractEntity { ...@@ -56,17 +57,30 @@ public class SapPurchaseOrder extends FlowBillAbstractEntity {
@Column(name = "WAERS") @Column(name = "WAERS")
private String waers; private String waers;
/** // /**
* 创建日期 // * 创建日期
*/ // */
@Column(name = "AEDAT") // @Column(name = "AEDAT")
private Date aedat; // private Date aedat;
// /**
// * 创建人ID创建人ID
// */
// @Column(name = "ERNAM")
// private String ernam;
//
// /**
// * 创建人姓名
// */
// @Column(name = "NAME_TEXT")
// private String nameText;
@Override @Override
protected String getCodeRuleId() { protected String getCodeRuleId() {
return "sapPurchaseOrder"; return "sapPurchaseOrder";
} }
public void setAedat(String D){
}
} }
\ No newline at end of file
...@@ -3,6 +3,8 @@ package com.huigou.topsun.sap.purchaseOrder.repository; ...@@ -3,6 +3,8 @@ package com.huigou.topsun.sap.purchaseOrder.repository;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrderItem; import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrderItem;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/** /**
* @Auther: xin.lu * @Auther: xin.lu
* @Date: 2024/01/09/19:01 * @Date: 2024/01/09/19:01
...@@ -10,5 +12,6 @@ import org.springframework.data.jpa.repository.JpaRepository; ...@@ -10,5 +12,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
*/ */
public interface SapPurchaseOrderItemRepository extends JpaRepository<SapPurchaseOrderItem,String> { 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