Commit 26982d8a authored by 1650842865's avatar 1650842865

采购订单删除;前端显示字段顺序记忆功能优化;采购订单打印优化

parent 5d413cf9
...@@ -55,15 +55,16 @@ UICtrl.getColumnLocal = function(tableKey, allColumns) { ...@@ -55,15 +55,16 @@ UICtrl.getColumnLocal = function(tableKey, allColumns) {
// 未读取到配置,直接返回默认columns // 未读取到配置,直接返回默认columns
if (!!!localColumns) return allColumns if (!!!localColumns) return allColumns
// 有本地配置,与默认配置进行匹配,
// return allColumns.map(column => {
// return {
// ...column,
// hide: localColumns.find(v => v.name == column.name)?._hide
// }
// })
//先按照配置的字段顺序排序 //先按照配置的字段顺序排序
var newColumns = []; var newColumns = [];
var uniqueToB = getUniqueItems(allColumns, localColumns);
if (uniqueToB.length > 0) {
uniqueToB.forEach(function (item) {
newColumns.push(item);
})
}
for (let i = 0; i < localColumns.length; i++) { for (let i = 0; i < localColumns.length; i++) {
for (let j = 0; j < allColumns.length; j++) { for (let j = 0; j < allColumns.length; j++) {
if (allColumns[j].name === localColumns[i].name) { if (allColumns[j].name === localColumns[i].name) {
...@@ -88,6 +89,19 @@ UICtrl.getColumnLocal = function(tableKey, allColumns) { ...@@ -88,6 +89,19 @@ UICtrl.getColumnLocal = function(tableKey, allColumns) {
} }
} }
// 方法1:使用对象映射提高性能
function getUniqueItems(allColumns, localColumns) {
// 创建localColumns的name映射
var localNames = {};
$.each(localColumns, function(_, item) {
localNames[item.name] = true;
});
return $.grep(allColumns, function(item) {
return !localNames.hasOwnProperty(item.name);
});
}
//查询界面回车执行查询 //查询界面回车执行查询
UICtrl.initKeyDownQueryGrid = function () { UICtrl.initKeyDownQueryGrid = function () {
var form = $('#queryMainForm'); var form = $('#queryMainForm');
......
...@@ -53,8 +53,8 @@ ...@@ -53,8 +53,8 @@
</div> </div>
</div> </div>
<div class="hg-form-row"> <div class="hg-form-row">
<x:inputC name="zepFtamount" required="false" readonly="true" label="申请总金额(本位币)" labelCol="2" fieldCol="2" mask="positiveMoney"/> <x:inputC name="zepFtamount" required="false" readonly="true" label="申请总金额(本位币)" labelCol="2" fieldCol="2" mask="9999999999.99"/>
<x:inputC name="zepFtamount1" required="false" readonly="true" label="申请总金额" labelCol="2" fieldCol="2" mask="positiveMoney"/> <x:inputC name="zepFtamount1" required="false" readonly="true" label="申请总金额" labelCol="2" fieldCol="2" mask="9999999999.99"/>
<x:inputC name="text1" required="false" readonly="true" label="结算方式" labelCol="2" fieldCol="2"/> <x:inputC name="text1" required="false" readonly="true" label="结算方式" labelCol="2" fieldCol="2"/>
</div> </div>
<div class="hg-form-row"> <div class="hg-form-row">
...@@ -66,8 +66,8 @@ ...@@ -66,8 +66,8 @@
<x:hidden name="swift"/> <x:hidden name="swift"/>
<x:inputC name="bankl" required="true" readonly="true" label="BP联行号" labelCol="2" fieldCol="2" /> <x:inputC name="bankl" required="true" readonly="true" label="BP联行号" labelCol="2" fieldCol="2" />
<div id="approvalMoney"> <div id="approvalMoney">
<x:inputC name="zepPtamount" required="false" readonly="true" label="审批总金额(本位币)" labelCol="2" fieldCol="2" mask="positiveMoney"/> <x:inputC name="zepPtamount" required="false" readonly="true" label="审批总金额(本位币)" labelCol="2" fieldCol="2" mask="9999999999.99"/>
<x:inputC name="zepPtamount1" required="false" readonly="true" label="审批总金额" labelCol="2" fieldCol="2" mask="positiveMoney"/> <x:inputC name="zepPtamount1" required="false" readonly="true" label="审批总金额" labelCol="2" fieldCol="2" mask="9999999999.99"/>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -543,6 +543,7 @@ function bindEvent() { ...@@ -543,6 +543,7 @@ function bindEvent() {
//选择了工厂、库存地点、仓库号,带出存储类型和上下架存储类型 //选择了工厂、库存地点、仓库号,带出存储类型和上下架存储类型
bindEvent_lgtyp($('#werks').val(),data.LGORT,$('#lgnum').val()); bindEvent_lgtyp($('#werks').val(),data.LGORT,$('#lgnum').val());
bindEvent_mrp(mtart)
$("#lgpro").val(data.LGORT); $("#lgpro").val(data.LGORT);
$("#lgproName").val(data.LGOBE); $("#lgproName").val(data.LGOBE);
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<x:inputC name="amount" label="金额" labelCol="1" fieldCol="2" readonly="true"/> <x:inputC name="amount" label="金额" labelCol="1" fieldCol="2" readonly="true"/>
</div> </div>
<div class="hg-form-row"> <div class="hg-form-row">
<x:textareaC name="situationDesc" label="情况说明" labelCol="2" fieldCol="10" required="true" rows="3"/> <x:textareaC name="situationDesc" label="情况说明" labelCol="1" fieldCol="11" required="true" rows="3"/>
</div> </div>
</div> </div>
<div class="blank_div clearfix"></div> <div class="blank_div clearfix"></div>
......
...@@ -13,42 +13,42 @@ function initUI() { ...@@ -13,42 +13,42 @@ function initUI() {
function initPurchaseListGrid() { function initPurchaseListGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({ var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: addHandler, addHandler: addHandler,
// revokeApproveHandler: { revokeApproveHandler: {
// id: 'revokeApproveHandler', text: '撤销审批', img: 'fa-trash', click: function () { id: 'revokeApproveHandler', text: '撤销审批', img: 'fa-trash', click: function () {
//
// var row = purchaseGridManager.getSelectedRow(); var row = purchaseGridManager.getSelectedRow();
// if (row.status!=3){ if (row.status!=3){
// Public.tip("请选择一条已完成的数据!"); Public.tip("请选择一条已完成的数据!");
// return; return;
// } }
// var loginId = $("#loginId").val(); var loginId = $("#loginId").val();
// if (row.personMemberId != loginId) { if (row.personMemberId != loginId) {
// Public.tip("只能由创建人撤审!"); Public.tip("只能由创建人撤审!");
// return; return;
// } }
// UICtrl.showAjaxDialog({ UICtrl.showAjaxDialog({
// url: web_app.name + '/sapPurchase/showRevokeDetail.load', url: web_app.name + '/sapPurchase/showRevokeDetail.load',
// param:{id:row.id}, param:{id:row.id},
// title: "撤审", title: "撤审",
// width: 400, width: 400,
// ok: function () { ok: function () {
// Public.ajax(web_app.name + '/sapPurchase/revokeApproval.ajax', {id: row.id,revokeReason: $("#revokeForm #revokeReason").val(),revokeType:$("#revokeType").val()}, function (msg) { Public.ajax(web_app.name + '/sapPurchase/revokeApproval.ajax', {id: row.id,revokeReason: $("#revokeForm #revokeReason").val(),revokeType:$("#revokeType").val()}, function (msg) {
// purchaseGridManager.loadData(); purchaseGridManager.loadData();
// }); });
// } }
// }); });
// // UICtrl.confirm('确定要把当前单据撤销审批吗?',function(){ // UICtrl.confirm('确定要把当前单据撤销审批吗?',function(){
// // Public.ajax(web_app.name+'/sapPurchase/revokeApproval.ajax', {id:rows[0].id}, function(msg) { // Public.ajax(web_app.name+'/sapPurchase/revokeApproval.ajax', {id:rows[0].id}, function(msg) {
// // purchaseGridManager.loadData(); // purchaseGridManager.loadData();
// // }); // });
// // }); // });
// // var newRow = JSON.parse(JSON.stringify(row)); // var newRow = JSON.parse(JSON.stringify(row));
// // newRow.zepItemno = getZepItemNo(); // newRow.zepItemno = getZepItemNo();
// /// newRow.id = null; /// newRow.id = null;
// // UICtrl.addGridRow(item.gridManager, newRow); // UICtrl.addGridRow(item.gridManager, newRow);
//
// } }
// } }
}); });
purchaseGridManager = UICtrl.grid('#purchaseGrid', { purchaseGridManager = UICtrl.grid('#purchaseGrid', {
......
...@@ -60,6 +60,7 @@ function initPurchaseListGrid() { ...@@ -60,6 +60,7 @@ function initPurchaseListGrid() {
{display: "单据编号", name: "billCode", width: 150, minWidth: 60, type: "string", align: "center"}, {display: "单据编号", name: "billCode", width: 150, minWidth: 60, type: "string", align: "center"},
{display: "消息类型", name: "typeTextView", width: 100, minWidth: 60, type: "string", align: "center"}, {display: "消息类型", name: "typeTextView", width: 100, minWidth: 60, type: "string", align: "center"},
{display: "消息文本", name: "message", width: 300, minWidth: 60, type: "string", align: "center"}, {display: "消息文本", name: "message", width: 300, minWidth: 60, type: "string", align: "center"},
{display: "状态标识", name: "flagTextView", width: 100, minWidth: 60, type: "string", align: "center"},
{display: "采购信息记录编号", name: "infnr", width: 130, minWidth: 60, type: "string", align: "center"}, {display: "采购信息记录编号", name: "infnr", width: 130, minWidth: 60, type: "string", align: "center"},
{display: "工厂", name: "werksName", width: "200", align: "left", type: "string"}, {display: "工厂", name: "werksName", width: "200", align: "left", type: "string"},
{display: "采购组织", name: "ekorgName", width: "200", align: "left", type: "string"}, {display: "采购组织", name: "ekorgName", width: "200", align: "left", type: "string"},
...@@ -114,7 +115,7 @@ function initPurchaseListGrid() { ...@@ -114,7 +115,7 @@ function initPurchaseListGrid() {
_tableKey: 'sapPurchaseInfoRecord', _tableKey: 'sapPurchaseInfoRecord',
_local: true, _local: true,
url: web_app.name + '/sapPurchaseInfoRecord/slicedSapPurchaseInfoRecordList.ajax?', url: web_app.name + '/sapPurchaseInfoRecord/slicedSapPurchaseInfoRecordList.ajax?',
parms: {cancelFlag: $("#cancelFlag").val()}, parms: {},
toolbar: toolbarOptions, toolbar: toolbarOptions,
width: '99.8%', width: '99.8%',
height: '100%', height: '100%',
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<div class="col-xs-4 col-sm-2 col-white-bg"> <div class="col-xs-4 col-sm-2 col-white-bg">
<x:input name="fillinEndDate" label="至" required="false" wrapper="date" /> <x:input name="fillinEndDate" label="至" required="false" wrapper="date" />
</div> </div>
<x:selectC name="cancelFlag" label="作废状态" labelCol="1" dictionary="cancelFlag"/> <x:selectC name="flag" label="状态标识" labelCol="1" dictionary="flag"/>
</div> </div>
<div class="hg-form-row"> <div class="hg-form-row">
<x:checkboxListC name="statusKind" label="common.field.status" list="statusKindsList" labelCol="1" fieldCol="3"/> <x:checkboxListC name="statusKind" label="common.field.status" list="statusKindsList" labelCol="1" fieldCol="3"/>
......
...@@ -81,15 +81,15 @@ ...@@ -81,15 +81,15 @@
<table cellspacing="0px" cellpadding="0px" class="tableBorder"> <table cellspacing="0px" cellpadding="0px" class="tableBorder">
<colgroup> <colgroup>
<col width='8%'/> <col width='8%'/>
<col width='68%'/> <col width='100%'/>
<col width="9%"/> <#-- <col width="9%"/>-->
<col width="15%"/> <#-- <col width="15%"/>-->
</colgroup> </colgroup>
<tr> <tr>
<td class="left">交货地点</td> <td class="left">交货地点</td>
<td class="left">${strSuppl?default("")?html}</td> <td class="left">${strSuppl?default("")?html}</td>
<td class="left">仓库</td> <#-- <td class="left">仓库</td>-->
<td class="left">${lgobe?default("")?html}</td> <#-- <td class="left">${lgobe?default("")?html}</td>-->
</tr> </tr>
</table> </table>
<table cellspacing="0px" cellpadding="0px" class="tableBorder"> <table cellspacing="0px" cellpadding="0px" class="tableBorder">
...@@ -132,7 +132,7 @@ ...@@ -132,7 +132,7 @@
<td class="center" >包装费用</td> <td class="center" >包装费用</td>
<td class="center" >总金额</td> <td class="center" >总金额</td>
<td class="center" >外发工序</td> <td class="center" >外发工序</td>
<td class="center" >备注</td> <td class="center" >仓库</td>
</tr> </tr>
<#list materialList as detail> <#list materialList as detail>
<tr> <tr>
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
<td class="center">${detail.kbetr3?default("")?html}</td> <td class="center">${detail.kbetr3?default("")?html}</td>
<td class="center">${detail.amount?default("")?html}</td> <td class="center">${detail.amount?default("")?html}</td>
<td class="center">${detail.outProcess01?default("")?html}</td> <td class="center">${detail.outProcess01?default("")?html}</td>
<td class="center">${detail.remark?default("")?html}</td> <td class="center">${detail.lgortName?default("")?html}</td>
</tr> </tr>
</#list> </#list>
</table> </table>
......
...@@ -81,15 +81,15 @@ ...@@ -81,15 +81,15 @@
<table cellspacing="0px" cellpadding="0px" class="tableBorder"> <table cellspacing="0px" cellpadding="0px" class="tableBorder">
<colgroup> <colgroup>
<col width='8%'/> <col width='8%'/>
<col width='68%'/> <col width='92%'/>
<col width="9%"/> <#-- <col width="9%"/>-->
<col width="15%"/> <#-- <col width="15%"/>-->
</colgroup> </colgroup>
<tr> <tr>
<td class="left">交货地点</td> <td class="left">交货地点</td>
<td class="left">${strSuppl?default("")?html}</td> <td class="left">${strSuppl?default("")?html}</td>
<td class="left">仓库</td> <#-- <td class="left">仓库</td>-->
<td class="left">${lgobe?default("")?html}</td> <#-- <td class="left">${lgobe?default("")?html}</td>-->
</tr> </tr>
</table> </table>
<table cellspacing="0px" cellpadding="0px" class="tableBorder"> <table cellspacing="0px" cellpadding="0px" class="tableBorder">
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
<td class="center" >包装费用</td> <td class="center" >包装费用</td>
<td class="center" >总金额</td> <td class="center" >总金额</td>
<td class="center" >外发工序</td> <td class="center" >外发工序</td>
<td class="center" >备注</td> <td class="center" >仓库</td>
</tr> </tr>
<#list materialList as detail> <#list materialList as detail>
<tr> <tr>
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
<td class="center">${detail.kbetr3?default("")?html}</td> <td class="center">${detail.kbetr3?default("")?html}</td>
<td class="center">${detail.amount?default("")?html}</td> <td class="center">${detail.amount?default("")?html}</td>
<td class="center">${detail.outProcess01?default("")?html}</td> <td class="center">${detail.outProcess01?default("")?html}</td>
<td class="center">${detail.remark?default("")?html}</td> <td class="center">${detail.lgortName?default("")?html}</td>
</tr> </tr>
</#list> </#list>
</table> </table>
......
...@@ -42,6 +42,7 @@ import org.springframework.core.task.TaskExecutor; ...@@ -42,6 +42,7 @@ import org.springframework.core.task.TaskExecutor;
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 java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -368,6 +369,12 @@ public class ProcessOutsourceApplicationImpl extends FlowBroker implements Proce ...@@ -368,6 +369,12 @@ public class ProcessOutsourceApplicationImpl extends FlowBroker implements Proce
String execute = httpClient.executeHttpGetForMes("", "v1/workOrder/saleListByArrangeCode?arrangeCode="+arrangeNo); String execute = httpClient.executeHttpGetForMes("", "v1/workOrder/saleListByArrangeCode?arrangeCode="+arrangeNo);
Map<String,Object> map = JSONObject.parseObject(execute, Map.class); Map<String,Object> map = JSONObject.parseObject(execute, Map.class);
mapList = (List<Map<String,String>>)map.get("rows"); mapList = (List<Map<String,String>>)map.get("rows");
if (!CollectionUtils.isEmpty(mapList)){
mapList.stream().forEach(map1->{
String plnbez = map1.get("PLNBEZ").toString();
});
}
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
......
...@@ -46,7 +46,7 @@ public class SapPurchaseInfoRecordController extends CommonController { ...@@ -46,7 +46,7 @@ public class SapPurchaseInfoRecordController extends CommonController {
private CodeGenerator codeGenerator; private CodeGenerator codeGenerator;
public String forwardSapPurchaseInfoRecordList(){ public String forwardSapPurchaseInfoRecordList(){
this.putAttribute("cancelFlag", "0"); //this.putAttribute("flag", "0");
this.putAttribute("statusKindsList", BillStatus.getValidMap()); this.putAttribute("statusKindsList", BillStatus.getValidMap());
return forward("purchaseInfoRecordList"); return forward("purchaseInfoRecordList");
} }
......
...@@ -37,4 +37,5 @@ public class SapPurchaseInfoRecordQueryRequest extends QueryAbstractRequest { ...@@ -37,4 +37,5 @@ public class SapPurchaseInfoRecordQueryRequest extends QueryAbstractRequest {
private String statusKind; private String statusKind;
private String cancelFlag; private String cancelFlag;
private String flag;
} }
...@@ -19,6 +19,8 @@ import com.huigou.topsun.ep.epApplication.EpVo.EpProductInfoVo; ...@@ -19,6 +19,8 @@ import com.huigou.topsun.ep.epApplication.EpVo.EpProductInfoVo;
import com.huigou.topsun.sap.common.DefaultHttpClient; import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication; import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.common.domain.SapMutualEpLog; import com.huigou.topsun.sap.common.domain.SapMutualEpLog;
import com.huigou.topsun.sap.nonProdApply.domain.SapNonProdApplyDept;
import com.huigou.topsun.sap.nonProdApply.repository.NonProdApplyDeptRepository;
import com.huigou.topsun.sap.permit.application.SapPermitApplication; import com.huigou.topsun.sap.permit.application.SapPermitApplication;
import com.huigou.topsun.sap.permit.vo.SapPermitItemVo; import com.huigou.topsun.sap.permit.vo.SapPermitItemVo;
import com.huigou.topsun.sap.permit.vo.SapPermitVo; import com.huigou.topsun.sap.permit.vo.SapPermitVo;
...@@ -47,6 +49,8 @@ import com.huigou.uasp.bmp.operator.OperatorApplication; ...@@ -47,6 +49,8 @@ import com.huigou.uasp.bmp.operator.OperatorApplication;
import com.huigou.uasp.bmp.opm.application.OrgApplication; import com.huigou.uasp.bmp.opm.application.OrgApplication;
import com.huigou.uasp.bmp.opm.domain.model.org.Org; import com.huigou.uasp.bmp.opm.domain.model.org.Org;
import com.huigou.uasp.bpm.FlowBroker; import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.uasp.bpm.engine.domain.model.RuntimeTaskExtension;
import com.huigou.uasp.bpm.engine.repository.RuntimeTaskExtensionRepository;
import com.huigou.util.*; import com.huigou.util.*;
import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
...@@ -105,6 +109,10 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -105,6 +109,10 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
private ProcessQuotedPriceItemApplication processQuotedPriceItemApplication; private ProcessQuotedPriceItemApplication processQuotedPriceItemApplication;
@Autowired @Autowired
SapMutualEpLogApplication sapMutualEpLogApplication; SapMutualEpLogApplication sapMutualEpLogApplication;
@Autowired
private RuntimeTaskExtensionRepository runtimeTaskExtensionRepository;
@Autowired
private NonProdApplyDeptRepository nonProdApplyDeptRepository;
@Override @Override
protected String saveBizAndApprovalData() { protected String saveBizAndApprovalData() {
...@@ -334,6 +342,7 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -334,6 +342,7 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
List<SapPurchaseOrderItemVo> ltItems = sapPurchaseOrderDto.getLtItems(); List<SapPurchaseOrderItemVo> ltItems = sapPurchaseOrderDto.getLtItems();
List<SapPurchaseOrderItem> purchaseOrderItems = new ArrayList<>(); List<SapPurchaseOrderItem> purchaseOrderItems = new ArrayList<>();
String retpo = "E";//审批要素不能为空,赋值E String retpo = "E";//审批要素不能为空,赋值E
String loekz = "";//删除标识
for (SapPurchaseOrderItemVo approvalItemVo : ltItems) { for (SapPurchaseOrderItemVo approvalItemVo : ltItems) {
SapPurchaseOrderItem sapPurchaseApprovalItem = new SapPurchaseOrderItem(); SapPurchaseOrderItem sapPurchaseApprovalItem = new SapPurchaseOrderItem();
BeanUtil.copyProperties(approvalItemVo, sapPurchaseApprovalItem); BeanUtil.copyProperties(approvalItemVo, sapPurchaseApprovalItem);
...@@ -344,6 +353,9 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -344,6 +353,9 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
if ("X".equals(retpo) && "".equals(approvalItemVo.getRetpo())){ if ("X".equals(retpo) && "".equals(approvalItemVo.getRetpo())){
retpo = "X0";//换货 retpo = "X0";//换货
} }
if ("L".equals(approvalItemVo.getLoekz())){
loekz = "L";
}
sapPurchaseOrder.setKnttp(approvalItemVo.getKnttp()); sapPurchaseOrder.setKnttp(approvalItemVo.getKnttp());
} }
sapPurchaseOrder.setRetpo(retpo); sapPurchaseOrder.setRetpo(retpo);
...@@ -376,6 +388,16 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -376,6 +388,16 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
List<SapPurchaseOrderItem> itemList = sapPurchaseOrderItemApplication.getPurchaseOrderItems(purchaseOrder.getId()); List<SapPurchaseOrderItem> itemList = sapPurchaseOrderItemApplication.getPurchaseOrderItems(purchaseOrder.getId());
sapPurchaseOrderItemApplication.deletePurchaseOrderItems(itemList); sapPurchaseOrderItemApplication.deletePurchaseOrderItems(itemList);
purchaseOrderId = purchaseOrder.getId(); purchaseOrderId = purchaseOrder.getId();
if ("L".equals(loekz)){
purchaseOrder.setStatusId(BizBillStatus.ABORTED.getId());
//删除待办任务
List<String> kindIds = new ArrayList<>();
kindIds.add("task");
List<RuntimeTaskExtension> extensionList = runtimeTaskExtensionRepository.findCoordinationTaskInstances(purchaseOrder.getId(), "process", kindIds);
if (!CollectionUtils.isEmpty(extensionList)){
runtimeTaskExtensionRepository.delete(extensionList);
}
}
} }
this.sapPurchaseOrderRepository.save(purchaseOrder); this.sapPurchaseOrderRepository.save(purchaseOrder);
} }
...@@ -494,6 +516,7 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -494,6 +516,7 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
map.put("eindt",purchaseOrderItems.get(0).getEindt());//交货时间 map.put("eindt",purchaseOrderItems.get(0).getEindt());//交货时间
map.put("telf1",purchaseOrderItems.get(0).getTelf1());//联系电话 map.put("telf1",purchaseOrderItems.get(0).getTelf1());//联系电话
map.put("lgobe",purchaseOrderItems.get(0).getLgobe());//仓库 map.put("lgobe",purchaseOrderItems.get(0).getLgobe());//仓库
map.put("werks",purchaseOrderItems.get(0).getWerks());//工厂
if (!"虚拟库".equals(purchaseOrderItems.get(0).getLgobe())){ if (!"虚拟库".equals(purchaseOrderItems.get(0).getLgobe())){
map.put("strSuppl",purchaseOrderItems.get(0).getStrSuppl());//交货地点 map.put("strSuppl",purchaseOrderItems.get(0).getStrSuppl());//交货地点
} }
...@@ -584,6 +607,8 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -584,6 +607,8 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
List<String> matnrList = new ArrayList<>(purchaseOrderItems List<String> matnrList = new ArrayList<>(purchaseOrderItems
.stream() .stream()
.map(SapPurchaseOrderItem::getMatnr2).collect(Collectors.toSet())); .map(SapPurchaseOrderItem::getMatnr2).collect(Collectors.toSet()));
//
//根据产品和单价合并明细项 //根据产品和单价合并明细项
List<MatnrNetprPair> result = purchaseOrderItems.stream() List<MatnrNetprPair> result = purchaseOrderItems.stream()
.map(item -> new MatnrNetprPair(item.getMatnr2(), item.getNetpr())) .map(item -> new MatnrNetprPair(item.getMatnr2(), item.getNetpr()))
...@@ -608,11 +633,27 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -608,11 +633,27 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
SapPurchaseOrderItem purchaseOrderItem = purchaseOrderItems.get(j); SapPurchaseOrderItem purchaseOrderItem = purchaseOrderItems.get(j);
if (matnrNetprPair.getMatnr2().equals(purchaseOrderItem.getMatnr2())){ if (matnrNetprPair.getMatnr2().equals(purchaseOrderItem.getMatnr2())){
detailMap.put("matnr2",matnrNetprPair.getMatnr2().replaceFirst("^0*", "")); detailMap.put("matnr2",matnrNetprPair.getMatnr2().replaceFirst("^0*", ""));
//查询仓库
String matnr2 = matnrNetprPair.getMatnr2();
List<SapNonProdApplyDept> deptList = nonProdApplyDeptRepository.findByMatnrAndWerks(matnr2, purchaseOrderItem.getWerks());
if (!CollectionUtils.isEmpty(deptList)){
SapNonProdApplyDept sapNonProdApplyDept = deptList
.stream()
.filter(item -> StringUtil.isNotBlank(item.getLgortName()))
.collect(Collectors.toList())
.get(0);
detailMap.put("lgortName",sapNonProdApplyDept.getLgortName());
}
detailMap.put("maktx",purchaseOrderItem.getTxz01()); detailMap.put("maktx",purchaseOrderItem.getTxz01());
detailMap.put("msehl",purchaseOrderItem.getMsehl()); detailMap.put("msehl",purchaseOrderItem.getMsehl());
number = number.add(new BigDecimal(purchaseOrderItem.getMenge())); number = number.add(new BigDecimal(purchaseOrderItem.getMenge()));
//计算总额 = (含税单价+运输费)* 成品数量 //计算总额 = (含税单价+运输费)* 成品数量
BigDecimal netpr = purchaseOrderItem.getNetpr();//含税单价 BigDecimal netpr = purchaseOrderItem.getNetpr();//含税单价
Integer peinh = purchaseOrderItem.getPeinh();//价格基数
if (peinh > 1){
netpr = netpr.divide(BigDecimal.valueOf(peinh),4, RoundingMode.HALF_UP);
}
BigDecimal kbetr2 = purchaseOrderItem.getKbetr2() == null ? BigDecimal.ZERO:purchaseOrderItem.getKbetr2();//运输费 BigDecimal kbetr2 = purchaseOrderItem.getKbetr2() == null ? BigDecimal.ZERO:purchaseOrderItem.getKbetr2();//运输费
BigDecimal kbetr3 = purchaseOrderItem.getKbetr3() == null ? BigDecimal.ZERO:purchaseOrderItem.getKbetr3();//包装费 BigDecimal kbetr3 = purchaseOrderItem.getKbetr3() == null ? BigDecimal.ZERO:purchaseOrderItem.getKbetr3();//包装费
amount = amount.add(netpr.add(kbetr2).add(kbetr3).multiply(purchaseOrderItem.getKwmeng())); amount = amount.add(netpr.add(kbetr2).add(kbetr3).multiply(purchaseOrderItem.getKwmeng()));
...@@ -692,6 +733,18 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -692,6 +733,18 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
ProcessOutsourceOrderItem outsourceOrderItem = outsourceOrderItemList.get(j); ProcessOutsourceOrderItem outsourceOrderItem = outsourceOrderItemList.get(j);
if (productKey.getProductCode().equals(outsourceOrderItem.getProductCode()) && productKey.getKbetr().equals(outsourceOrderItem.getKbetr())){ if (productKey.getProductCode().equals(outsourceOrderItem.getProductCode()) && productKey.getKbetr().equals(outsourceOrderItem.getKbetr())){
detailMap.put("matnr2",outsourceOrderItem.getProductCode().replaceFirst("^0*", "")); detailMap.put("matnr2",outsourceOrderItem.getProductCode().replaceFirst("^0*", ""));
//查询仓库
String matnr2 = outsourceOrderItem.getProductCode();
List<SapNonProdApplyDept> deptList = nonProdApplyDeptRepository.findByMatnrAndWerks(matnr2, map.get("werks").toString());
if (!CollectionUtils.isEmpty(deptList)){
SapNonProdApplyDept sapNonProdApplyDept = deptList
.stream()
.filter(item -> StringUtil.isNotBlank(item.getLgortName()))
.collect(Collectors.toList())
.get(0);
detailMap.put("lgortName",sapNonProdApplyDept.getLgortName());
}
detailMap.put("maktx",outsourceOrderItem.getProductName()); detailMap.put("maktx",outsourceOrderItem.getProductName());
detailMap.put("msehl",outsourceOrderItem.getMeinsName()); detailMap.put("msehl",outsourceOrderItem.getMeinsName());
detailMap.put("outProcess01",outsourceOrderItem.getWempf()); detailMap.put("outProcess01",outsourceOrderItem.getWempf());
...@@ -700,16 +753,29 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu ...@@ -700,16 +753,29 @@ public class SapPurchaseOrderApplicationImpl extends FlowBroker implements SapPu
loss = loss.add(outsourceOrderItem.getPrintLoss() != null ? outsourceOrderItem.getPrintLoss() : BigDecimal.ZERO);//印张LOSS数改为LOSS数 loss = loss.add(outsourceOrderItem.getPrintLoss() != null ? outsourceOrderItem.getPrintLoss() : BigDecimal.ZERO);//印张LOSS数改为LOSS数
//查询工序报价 //查询工序报价
ProcessQuotedPriceItemNumber quotedPriceItemNumber = processQuotedPriceItemApplication.findQuotedPriceByProductAndProcess(outsourceOrderItem.getProductCode(), outsourceOrderItem.getWempf(), outsourceOrderItem.getMenge(), outsourceOrderItem.getLifnr()); ProcessQuotedPriceItemNumber quotedPriceItemNumber = processQuotedPriceItemApplication.findQuotedPriceByProductAndProcess(outsourceOrderItem.getProductCode(), outsourceOrderItem.getWempf(), outsourceOrderItem.getMenge(), outsourceOrderItem.getLifnr());
detailMap.put("netpr",productKey.getKbetr());//含税单价 BigDecimal freight = quotedPriceItemNumber.getFreight();//运输费
detailMap.put("kbetr2",quotedPriceItemNumber.getFreight());//运输费 BigDecimal packMoney = quotedPriceItemNumber.getPackMoney();//包装费
detailMap.put("kbetr3",quotedPriceItemNumber.getPackMoney());//包装费
BigDecimal priceAmount = productKey.getKbetr(); BigDecimal priceAmount = productKey.getKbetr();
if (quotedPriceItemNumber.getFreight() != null){ BigDecimal kbetr = productKey.getKbetr();
priceAmount = priceAmount.add(quotedPriceItemNumber.getFreight()); if (freight != null){
kbetr = kbetr.subtract(quotedPriceItemNumber.getFreight());
}
if (packMoney != null){
kbetr = kbetr.subtract(quotedPriceItemNumber.getPackMoney());
} }
if (quotedPriceItemNumber.getPackMoney() != null){ BigDecimal priceUnit = quotedPriceItemNumber.getPriceUnit();//价格单位
priceAmount = priceAmount.add(quotedPriceItemNumber.getPackMoney()); if (priceUnit != null && priceUnit.compareTo(BigDecimal.ONE) > 0){
kbetr = kbetr.divide(priceUnit,4, RoundingMode.HALF_UP);
freight = freight.divide(priceUnit,4, RoundingMode.HALF_UP);
packMoney = packMoney.divide(priceUnit,4, RoundingMode.HALF_UP);
priceAmount = priceAmount.divide(priceUnit,4, RoundingMode.HALF_UP);
} }
detailMap.put("netpr",kbetr);//含税单价
detailMap.put("kbetr2",freight);
detailMap.put("kbetr3",packMoney);
detailMap.put("priceAmount",priceAmount);//合计单价 detailMap.put("priceAmount",priceAmount);//合计单价
amount = amount.add(priceAmount.multiply(outsourceOrderItem.getMenge()));//合计金额 amount = amount.add(priceAmount.multiply(outsourceOrderItem.getMenge()));//合计金额
String aufnr = outsourceOrderItem.getAufnr(); String aufnr = outsourceOrderItem.getAufnr();
......
...@@ -285,4 +285,10 @@ public class SapPurchaseOrderItem extends AbstractEntity { ...@@ -285,4 +285,10 @@ public class SapPurchaseOrderItem extends AbstractEntity {
*/ */
@Column(name = "LTEXT") @Column(name = "LTEXT")
private String ltext; private String ltext;
/**
* 删除标识
*/
@Column(name = "LOEKZ")
private String loekz;
} }
\ No newline at end of file
...@@ -187,4 +187,10 @@ public class SapPurchaseOrderItemVo { ...@@ -187,4 +187,10 @@ public class SapPurchaseOrderItemVo {
@JsonProperty("LTEXT") @JsonProperty("LTEXT")
private String ltext; private String ltext;
/**
* 删除标识
*/
@JsonProperty("LOEKZ")
private String loekz;
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<query-mappings> <query-mappings>
<query name="sapPurchaseInfoRecordList" label="SAP采购信息记录维护申请" table="sap_purchase_info_record"> <query name="sapPurchaseInfoRecordList" label="SAP采购信息记录维护申请" table="sap_purchase_info_record">
<sql-query> <sql-query>
select t.bill_code,t.person_member_name,t.dept_name,t.status,t.full_id,t.fillin_date,i.* select t.bill_code,t.person_member_name,t.dept_name,t.status,t.full_id,t.fillin_date,t.flag,i.*
from sap_purchase_info_record t from sap_purchase_info_record t
left join sap_purchase_info_record_item i left join sap_purchase_info_record_item i
on t.id = i.sap_purchase_info_record_id on t.id = i.sap_purchase_info_record_id
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<condition column="person_member_name" name="personMemberName" type="java.lang.String" symbol="like" alias="t"/> <condition column="person_member_name" name="personMemberName" type="java.lang.String" symbol="like" alias="t"/>
<condition column="status" name="statusKind" type="java.lang.Integer" symbol="in" alias="t"/> <condition column="status" name="statusKind" type="java.lang.Integer" symbol="in" alias="t"/>
<condition column="matkl_name" name="matklName" type="java.lang.String" symbol="like" alias="i"/> <condition column="matkl_name" name="matklName" type="java.lang.String" symbol="like" alias="i"/>
<condition column="cancel_flag" name="cancelFlag" type="java.lang.String" symbol="=" alias="i"/> <condition column="flag" name="flag" type="java.lang.String" symbol="=" alias="t"/>
</query> </query>
</query-mappings> </query-mappings>
\ No newline at end of file
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