Commit 1a847e99 authored by 鲁鑫's avatar 鲁鑫

物料导入;采购订单审批优化;采购申请审批优化

parent 6b061492
......@@ -104,7 +104,7 @@ function doView(id) {
// function next(){
// UICtrl.addTabItem({
// tabid: 'showNonProdApplyNext',
// text: "非产品/非成品类物料主数据维护申请详情",
// text: "非产品/非成品类物料主数据维护申请详情",
// url: web_app.name + '/sapNonProdApply/forwardNonProdApplyNext.do?isDetailPage=true'
// });
// }
\ No newline at end of file
......@@ -64,7 +64,8 @@ function loadNonProdApplyListGrid() {
}
extendedHandler(result.id,result.matnr);;
}
}
},
impExcelDataHandler:{id:'impExcelData',img:'fa-table',text:'导入数据',click:impExcelDataHandler},
/* publishHandler: {id: 'publishData', text: '数据发布', img: 'fa-map', className: 'btn-gray',
click: function () {
......@@ -250,10 +251,17 @@ function publishDatas(message, id) {
});
}
//从EXCEL导入数据
function impExcelDataHandler(){
ExcelImpManager.showImpDialog('导入', 'materialData',new Date().getTime(), function (){
reloadGrid();
});
}
// function next(){
// UICtrl.addTabItem({
// tabid: 'showNonProdApplyNext',
// text: "非产品/非成品类物料主数据维护申请详情",
// text: "非产品/非成品类物料主数据维护申请详情",
// url: web_app.name + '/sapNonProdApply/forwardNonProdApplyNext.do?isDetailPage=true'
// });
// }
\ No newline at end of file
......@@ -3,7 +3,8 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<x:base include="layout,dialog,grid,tree,combox,commonTree"/>
<x:base include="layout,dialog,grid,tree,combox,commonTree,date,attachment"/>
<x:script src="/system/excelimport/AssignCodeImp.js"/>
<x:script src='/biz/topsun/sap/nonProdApply/nonProdApplyList.js'/>
</head>
<body>
......
......@@ -18,7 +18,7 @@
<div class="container-fluid" style="padding: 10px;">
<c:if test="${applyType==0||applyType==3}">
<x:billTitle title="非产品/非成品类物料基本信息维护" needStatus="false" needPerson="true"/>
<x:billTitle title="非产品/非成品类物料基本信息维护" needStatus="false" needPerson="true"/>
</c:if>
<c:if test="${applyType==1}">
<x:billTitle title="非产品/非半成品类物料变更基本信息维护" needStatus="false" needPerson="true"/>
......
......@@ -27,7 +27,7 @@ function loadSuppliersDataListGrid() {
UICtrl.addTabItem({
tabid: 'showNonProdApplyNext'+result.id,
text: "非产品/非成品类物料主数据维护申请详情",
text: "非产品/非成品类物料主数据维护申请详情",
url: web_app.name + '/sapNonProdApplyNext/forwardNonProdApplyNext.do?bizId='+result.id
});
}
......@@ -210,7 +210,7 @@ function showUpdateDialog(id) {
// function next(){
// UICtrl.addTabItem({
// tabid: 'showNonProdApplyNext',
// text: "非产品/非成品类物料主数据维护申请详情",
// text: "非产品/非成品类物料主数据维护申请详情",
// url: web_app.name + '/sapNonProdApply/forwardNonProdApplyNext.do?isDetailPage=true'
// });
// }
......
......@@ -323,7 +323,10 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
String result = defaultHttpClient.execute(mapList, url);
List<Map<String, Object>> resultList = objectMapper.readValue(result, new TypeReference<List<Map<String, Object>>>() {
});
Map<String, Object> returnMap = resultList.get(1);
Map<String, Object> returnMap = resultList.get(0);
if ("2".equals(returnMap.get("TYPE"))){
returnMap = resultList.get(1);
}
mapCopy(backMap,returnMap);
// resultMap.put("businessType", busiType);
// resultMap.put("parameter", JSON.toJSONString(map));
......
package com.huigou.topsun.sap.nonProdApply.application.impl;
import com.huigou.topsun.sap.nonProdApply.domain.TmpNonProdMaterialDataImport;
import com.huigou.topsun.sap.nonProdApply.repository.TmpNonProdMaterialDataImportRepository;
import com.huigou.uasp.tool.dataimport.application.ExcelImportInterface;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("nonProdMaterialDataExcelImport")
public class NonProdMaterialDataExcelImport implements ExcelImportInterface {
@Autowired
private TmpNonProdMaterialDataImportRepository tmpNonProdMaterialDataImportRepository;
@Override
public void executeImport(String batchNumber) {
List<TmpNonProdMaterialDataImport> dataImportList = tmpNonProdMaterialDataImportRepository.findByBatchNumber(batchNumber);
}
}
......@@ -10,7 +10,7 @@ import javax.persistence.*;
import java.util.Date;
/**
* 非产品/非成品类物料主数据维护申请基础表
* 非产品/非成品类物料主数据维护申请基础表
* @TableName non_prod_apply_base_info
*/
@Table(name="sap_non_prod_apply_base_info")
......
package com.huigou.topsun.sap.nonProdApply.repository;
import com.huigou.topsun.sap.nonProdApply.domain.TmpNonProdMaterialDataImport;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/06/17/14:54
* @Description:
*/
public interface TmpNonProdMaterialDataImportRepository extends JpaRepository<TmpNonProdMaterialDataImport,String> {
List<TmpNonProdMaterialDataImport> findByBatchNumber(String batchNumber);
}
......@@ -45,11 +45,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Auther: xin.lu
......@@ -226,7 +228,8 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
public void saveSapPurchaseApprovalVo(SapPurchaseApprovalDto sapPurchaseApprovalDto) {
// SapPurchaseApproval sapPurchaseApprovalVo = new SapPurchaseApproval();
SapPurchaseApprovalVo purchaseApprovalVo = sapPurchaseApprovalDto.getLsDeader();
SapPurchaseApproval purchaseApproval=sapPurchaseApprovalRepository.findAllByBanfn(purchaseApprovalVo.getBanfn());
List<SapPurchaseApproval> purchaseApprovalList = sapPurchaseApprovalRepository.findAllByBanfn(purchaseApprovalVo.getBanfn());
String purchaseApprovalId = "";
SapPurchaseApproval sapPurchaseApproval = new SapPurchaseApproval();
//根据SAP传过来的创建人编码,映射流程发起人
String ernam = purchaseApprovalVo.getErnam();
......@@ -280,18 +283,32 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
// sapPurchaseApproval.setBillCode(nextCode);
// sapPurchaseApproval = mannualStartWorkflow(sapPurchaseApproval);
// purchaseOrderId = sapPurchaseApproval.getId();
String pId=mannualStartWorkApplication.startWorkflow(sapPurchaseApproval,PROCESS_DEFINITION_KEY,"sapPurchaseApproval");
sapPurchaseApproval=this.sapPurchaseApprovalRepository.findOne(pId);
if (purchaseApproval == null) {
if (CollectionUtils.isEmpty(purchaseApprovalList)) {
purchaseApprovalId=mannualStartWorkApplication.startWorkflow(sapPurchaseApproval,PROCESS_DEFINITION_KEY,"sapPurchaseApproval");
} else{
for (SapPurchaseApproval purchaseApproval : purchaseApprovalList) {
//将存在的作废掉 05.11 lxh
//终止状态不管
//审批完成的,SAP撤审触发,终止审批完成的,并发起新的流程
if (purchaseApproval.getStatusId() == BizBillStatus.COMPLETED.getId()){
purchaseApproval.setStatusId(BizBillStatus.ABORTED.getId());
this.sapPurchaseApprovalRepository.save(purchaseApproval);
purchaseApprovalId=mannualStartWorkApplication.startWorkflow(sapPurchaseApproval,PROCESS_DEFINITION_KEY,"sapPurchaseApproval");
}
sapPurchaseApprovalItemApplication.saveSapPurchaseApprovalItems(sapPurchaseApproval.getId(),sapPurchaseApprovalItems);
//在审批中,更新明细数据的(先删除,再新增)
if (purchaseApproval.getStatusId() == BizBillStatus.APPROVING.getId()){
List<SapPurchaseApprovalItem> itemList = sapPurchaseApprovalItemApplication.querySapPurchaseApprovalItems(purchaseApproval.getId());
List<String> collect = itemList.stream().map(SapPurchaseApprovalItem::getId).collect(Collectors.toList());
sapPurchaseApprovalItemApplication.deleteByIds(collect);
purchaseApprovalId = purchaseApproval.getId();
}
this.sapPurchaseApprovalRepository.save(purchaseApproval);
}
}
sapPurchaseApprovalItemApplication.saveSapPurchaseApprovalItems(purchaseApprovalId,sapPurchaseApprovalItems);
}
/*public String startProcessInstance(String processDefinitionKey,Map<String, Object> formData){
......
......@@ -49,7 +49,7 @@ public class SapPurchaseApprovalController extends CommonController {
messageMap.put("Message_Status","S");
messageMap.put("Message_Text","成功");
messageMap.put("NUMBER",sapPurchaseApprovalDto.getLsDeader().getBanfn());
LOG.info("SAP采购申请审批数据=={}",sapPurchaseApprovalDto);
LOG.info("SAP采购申请审批数据=={}",JSONUtil.toString(sapPurchaseApprovalDto));
try {
this.sapPurchaseApprovalApplication.saveSapPurchaseApprovalVo(sapPurchaseApprovalDto);
}catch (RuntimeException e){
......
......@@ -4,6 +4,8 @@ import com.huigou.topsun.sap.purchaseApproval.domain.SapPurchaseApproval;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/01/09/19:00
......@@ -11,5 +13,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
*/
public interface SapPurchaseApprovalRepository extends JpaRepository<SapPurchaseApproval,String> {
SapPurchaseApproval findAllByBanfn(String banfn);
List<SapPurchaseApproval> findAllByBanfn(String banfn);
}
......@@ -47,6 +47,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
......@@ -205,7 +206,7 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
@Transactional
public void saveSapPurchaseOrderDto(SapPurchaseOrderDto sapPurchaseOrderDto) {
SapPurchaseOrderVo sapPurchaseOrderVo = sapPurchaseOrderDto.getLsHeader();
SapPurchaseOrder purchaseOrder = sapPurchaseOrderRepository.findAllByEbeln(sapPurchaseOrderVo.getEbeln());
List<SapPurchaseOrder> purchaseOrders = sapPurchaseOrderRepository.findAllByEbeln(sapPurchaseOrderVo.getEbeln());
String purchaseOrderId = "";
//数据第一次接收,创建流程任务
SapPurchaseOrder sapPurchaseOrder = new SapPurchaseOrder();
......@@ -247,18 +248,28 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
// String nextCode = codeGenerator.getNextCode("sapPurchaseOrder");
// sapPurchaseOrder.setBillCode(nextCode);
// sapPurchaseOrder =mannualStartWorkflow(sapPurchaseOrder);
String pId=mannualStartWorkApplication.startWorkflow(sapPurchaseOrder,PROCESS_DEFINITION_KEY,"sapPurchaseOrder");
sapPurchaseOrder=this.sapPurchaseOrderRepository.findOne(pId);
purchaseOrderId = sapPurchaseOrder.getId();
// sapPurchaseOrder = this.sapPurchaseOrderRepository.save(sapPurchaseOrder);
// purchaseOrderId = sapPurchaseOrder.getId();
if (purchaseOrder == null) { //存在也新建 04.28注释的 05.11 把存在的作废掉
if (CollectionUtils.isEmpty(purchaseOrders)) {
//存在也新建 04.28注释的 05.11 把存在的作废掉
purchaseOrderId=mannualStartWorkApplication.startWorkflow(sapPurchaseOrder,PROCESS_DEFINITION_KEY,"sapPurchaseOrder");
} else {
//将存在的作废掉 05.11 lxh
for (SapPurchaseOrder purchaseOrder : purchaseOrders) {
//终止状态不管
//审批完成的,SAP撤审触发,终止审批完成的,并发起新的流程
if (purchaseOrder.getStatusId() == BizBillStatus.COMPLETED.getId()){
purchaseOrder.setStatusId(BizBillStatus.ABORTED.getId());
purchaseOrderId=mannualStartWorkApplication.startWorkflow(sapPurchaseOrder,PROCESS_DEFINITION_KEY,"sapPurchaseOrder");
}
//在审批中,更新明细数据的(先删除,再新增)
if (purchaseOrder.getStatusId() == BizBillStatus.APPROVING.getId()){
List<SapPurchaseOrderItem> itemList = sapPurchaseOrderItemApplication.getPurchaseOrderItems(purchaseOrder.getId());
sapPurchaseOrderItemApplication.deletePurchaseOrderItems(itemList);
purchaseOrderId = purchaseOrder.getId();
}
this.sapPurchaseOrderRepository.save(purchaseOrder);
}
//数据第n次接收覆盖上一次数据
/* BeanUtil.copyProperties(sapPurchaseOrderVo, purchaseOrder);
......
......@@ -9,6 +9,7 @@ import com.huigou.topsun.sap.purchaseOrder.domain.vo.SapPurchaseOrderDto;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.annotation.SkipAuth;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.JSONUtil;
import com.huigou.util.SDO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -43,7 +44,7 @@ public class SapPurchaseOrderController extends CommonController {
@RequestMapping( value = "/getSapPurchaseOrder",consumes = "application/json; charset=UTF-8", produces = "application/json; charset=UTF-8")
@ResponseBody
public HashMap<String, Object> getSapPurchaseOrder(@RequestBody SapPurchaseOrderDto sapPurchaseOrderDto){
LOG.info("SAP采购订单审批数据=={}",sapPurchaseOrderDto);
LOG.info("SAP采购订单审批数据=={}", JSONUtil.toString(sapPurchaseOrderDto));
//System.out.println(sapPurchaseOrderDto);
HashMap<String, Object> messageMap = new HashMap<>();
messageMap.put("Message_Status","S");
......
......@@ -3,6 +3,8 @@ package com.huigou.topsun.sap.purchaseOrder.repository;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
/**
* @Auther: xin.lu
* @Date: 2024/01/09/19:00
......@@ -10,5 +12,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
*/
public interface SapPurchaseOrderRepository extends JpaRepository<SapPurchaseOrder,String> {
SapPurchaseOrder findAllByEbeln(String ebeln);
List<SapPurchaseOrder> findAllByEbeln(String ebeln);
}
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