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

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

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