Commit 17992933 authored by 鲁鑫's avatar 鲁鑫

采购申请根据科目分配类别控制成本中心、订单号;财务环节填写订单号和总账科目

parent 8c816fd0
......@@ -39,7 +39,9 @@ function initAufnr(knttp){
columns.some(column => {
if (column.name == "aufnr"){
column.hide = knttp == 'F'? false:true;
column.editor.required = knttp == 'F'? true:false;
if (typeof(getSubProcUnitId) =='function'&&"financeNode" == getSubProcUnitId()){
column.editor.required = knttp == 'F'? true:false;
}
return true;
}
return false;
......@@ -77,7 +79,9 @@ function initItemGrid() {
pstyp: pstyp,
badat: fillinDate,
erdat: fillinDate,
knttp: $("#knttp").val()
knttp: $("#knttp").val(),
ernam: $("#personMemberName").val(),
afnam: $("#personMemberName").val(),
});
}
},
......@@ -93,6 +97,19 @@ function initItemGrid() {
}
});
},
copyHandler: {
id: 'copyHandler', text: '复制', img: 'fa-copy', click: function () {
var row = itemGridManager.getSelectedRow();
if (!row) {
Public.tip("请勾选一条数据");
return;
}
var newRow = JSON.parse(JSON.stringify(row));
newRow.bnfpo = (itemGridManager.getData().length + 1) * 10;
newRow.id = null;
UICtrl.addGridRow(itemGridManager, newRow);
}
}
})
itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(),
......@@ -150,6 +167,126 @@ function initItemGrid() {
function getGridColumns() {
var columns = [];
if (typeof(getSubProcUnitId) =='function'&&"financeNode" == getSubProcUnitId()){
columns.push({
display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string",
},);
columns.push({display: "项次类别", name: "pstyp", width: "100", align: "left", type: "string", hide: true},);
columns.push({
display: "工厂", name: "werks", width: "100", align: "left", type: "string"
},);
columns.push({
display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
});
// columns.push({
// display: "物料编号", name: "matnr", width: "300", align: "left", type: "string",
// editor: {
// required: false, type: "select",
// data: {
// type: 'system',
// name: "sapMaterialSelect",
// getParam: function (item) {
// return {
// filterValue: item.werks
// }
// },
// back: {
// MATNR: "matnr",
// MAKTX: "txz01",
// MATKL: "matkl",
// WGBEZ: "matklName",
// EKGRP: "ekgrp",
// EKNAM: "ekgrpName",
// PEINH: "peinh",
// MEINS: "meins",
// MSEHL: "meinsName",
// LGFSB: "lgort",
// LGOBE: "lgobe"
// }
// },
// }
// });
columns.push({
display: "库存地点", name: "lgort", width: "100", align: "left", type: "string",
},);
columns.push({
display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string",
},);
columns.push({
display: "短文本", name: "txz01", width: "200", align: "left", type: "string",
},);
columns.push({
display: "物料组", name: "matklName", width: "100", align: "left", type: "string",
},);
columns.push({
display: "申购数量", name: "menge", width: 150, minWidth: 60, type: "string", align: "center",
},);
columns.push({
display: "申购数量单位", name: "meinsName", width: 150, minWidth: 60, type: "string", align: "center",
},);
columns.push({
display: "采购组", name: "ekgrpName", width: 150, minWidth: 60, type: "string", align: "center",
},);
columns.push({
display: "批准日期", name: "frgdt", width: "100", align: "left", type: "string",
},);
columns.push({
display: "要求交货日期", name: "lfdat", width: "100", align: "left", type: "string",
},);
columns.push({display: "创建者", name: "ernam", width: "200", align: "left", type: "string"},);
columns.push({
display: "申请人", name: "afnam", width: "90", align: "left", type: "string",
},);
columns.push({
display: "预估单价", name: "preis", width: "100", align: "left", type: "string",
},);
columns.push({
display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string",
},);
columns.push({
display: "币种", name: "waersName", width: "100", align: "left", type: "string",
},);
columns.push({
display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string",
},);
columns.push({
display: "成本中心", name: "kostlName", width: "200", align: "left", type: "string",
},);
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
editor: {type: 'text',required: true}
});
// columns.push({
// display: "审批处理状态", name: "banpr", width: "100", align: "left", type: "string",
// editor: {type: 'text'}
// },);
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {
fieldName: "SAKTO",
filterValue:'6600'
}
},
back: {
SAKNR:'sakto',
}
},
}
},);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
},);
columns.push({
display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
},);
}else {
columns.push({
display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string",
//editor: {type: 'spinner', min: 10, max: 200, mask: 'nnn'}
......@@ -375,7 +512,6 @@ function getGridColumns() {
},);
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
editor: {type: 'text',required: false,}
// editor: {
// required: false, type: "select",
// data: {
......@@ -397,6 +533,25 @@ function getGridColumns() {
// display: "审批处理状态", name: "banpr", width: "100", align: "left", type: "string",
// editor: {type: 'text'}
// },);
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
// editor: {
// required: true, type: "select",
// data: {
// type: 'system',
// name: "dictionary",
// getParam: function (item) {
// return {
// fieldName: "SAKTO",
// filterValue:'6600'
// }
// },
// back: {
// SAKNR:'sakto',
// }
// },
// }
},);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
editor: {required: false, type: "date"}
......@@ -405,6 +560,8 @@ function getGridColumns() {
display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
//editor: {required: false, type: "date"}
},);
}
return columns;
}
......@@ -427,16 +584,20 @@ function getExtendedData(processAction) {
if (!datas) {
return false;
}
if (datas.length == 0 ){
Public.tip("采购项次不能为空");
return false;
}
var checked6 = false;
datas.forEach(data => {
if ("F" == data.knttp && Public.isBlank(data.aufnr)){
checked6 = true;
}
})
if (checked6) {
Public.tip("订单号不能为空")
return false;
}
// if (checked6) {
// Public.tip("订单号不能为空")
// return false;
// }
extendedData.sapPurchaseItems = Public.encodeJSONURI(datas);
}
return extendedData;
......@@ -465,4 +626,21 @@ function getGridData() {
return datas;
}
//UICtrl中校验是否允许编辑
function businessJudgmentUnit() {
var isApply = isApplyProcUnit();
if (isApply) {
return true;
}else {
//财务节点
if (typeof(getSubProcUnitId) =='function'&&"financeNode" === getSubProcUnitId()){
UICtrl.disable("#knttp");
return true;
}
return false;
}
return true;
}
......@@ -17,6 +17,24 @@
<form class="hg-form ui-show" method="post" action="" id="queryMainForm">
<div class="hg-form-row">
<x:inputC name="billCode" label="需求跟踪编号" labelCol="1"/>
<x:inputC name="banfn" label="采购申请编号" labelCol="1"/>
</div>
<div class="hg-form-row">
<div class="col-xs-4 col-sm-1">
<label class="hg-form-label">申请日期起&nbsp;:</label>
</div>
<div class="col-xs-4 col-sm-2 col-white-bg">
<x:input name="fillinBeginDate" required="false" wrapper="date" />
</div>
<div class="col-xs-4 col-sm-1">
<label class="hg-form-label">申请日期止&nbsp;:</label>
</div>
<div class="col-xs-4 col-sm-2 col-white-bg">
<x:input name="fillinEndDate" label="至" required="false" wrapper="date" />
</div>
</div>
<div class="hg-form-row">
<x:checkboxListC name="statusKind" label="common.field.status" list="statusKindsList" labelCol="1" fieldCol="3"/>
</div>
<x:searchButtons/>
</form>
......
......@@ -54,6 +54,19 @@ function initItemGrid() {
}
});
},
copyHandler: {
id: 'copyHandler', text: '复制', img: 'fa-copy', click: function () {
var row = itemGridManager.getSelectedRow();
if (!row) {
Public.tip("请勾选一条数据");
return;
}
var newRow = JSON.parse(JSON.stringify(row));
newRow.bnfpo = (itemGridManager.getData().length + 1) * 10;
newRow.id = null;
UICtrl.addGridRow(itemGridManager, newRow);
}
}
})
itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(),
......@@ -321,6 +334,10 @@ function getExtendedData(processAction) {
if (!datas) {
return false;
}
if (datas.length == 0 ){
Public.tip("采购项次不能为空");
return false;
}
extendedData.sapPurchaseItems = Public.encodeJSONURI(datas);
}
return extendedData;
......
......@@ -36,16 +36,18 @@ function initAufnr(knttp){
knttp = $('#knttp').val();
}
var columns = itemGridManager.columns;
//内部订单
columns.some(column => {
if (column.name == "aufnr"){
column.hide = knttp == 'F'? false:true;
if (isApplyProcUnit()){
if (typeof(getSubProcUnitId) =='function'&&"financeNode" == getSubProcUnitId()){
column.editor.required = knttp == 'F'? true:false;
}
return true;
}
return false;
})
//成本中心
columns.some(column => {
if (column.name == "kostlName"){
//column.hide = knttp == 'F'? false:true;
......@@ -91,7 +93,9 @@ function initItemGrid() {
pstyp: pstyp,
badat: fillinDate,
erdat: fillinDate,
knttp: $("#knttp").val()
knttp: $("#knttp").val(),
ernam: $("#personMemberName").val(),
afnam: $("#personMemberName").val(),
});
}
},
......@@ -107,6 +111,19 @@ function initItemGrid() {
}
});
},
copyHandler: {
id: 'copyHandler', text: '复制', img: 'fa-copy', click: function () {
var row = itemGridManager.getSelectedRow();
if (!row) {
Public.tip("请勾选一条数据");
return;
}
var newRow = JSON.parse(JSON.stringify(row));
newRow.bnfpo = (itemGridManager.getData().length + 1) * 10;
newRow.id = null;
UICtrl.addGridRow(itemGridManager, newRow);
}
}
})
itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(),
......@@ -227,6 +244,7 @@ function getGridColumns() {
//填订单类型是Z01或者Z02的
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
editor: {type: 'text', required: true,}
});
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
......@@ -463,42 +481,25 @@ function getGridColumns() {
},);
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
editor: {type: 'text', required: false,}
});
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
// editor: {
// required: false, type: "select",
// required: true, type: "select",
// data: {
// type: 'system',
// name: "getCompanyOrders",
// name: "dictionary",
// getParam: function (item) {
// return {
// BUKRS: '1000'
// fieldName: "SAKTO",
// filterValue:'6600'
// }
// },
// back: {
// AUFNR: "aufnr",
// KTEXT: "ktext"
// SAKNR:'sakto',
// }
// },
// }
});
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {
fieldName: "SAKTO",
filterValue:'6600'
}
},
back: {
SAKNR:'sakto',
}
},
}
},);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
......@@ -531,16 +532,20 @@ function getExtendedData(processAction) {
if (!datas) {
return false;
}
if (datas.length == 0 ){
Public.tip("采购项次不能为空");
return false;
}
var checked6 = false;
datas.forEach(data => {
if ("F" == data.knttp && Public.isBlank(data.aufnr)){
checked6 = true;
}
})
if (checked6) {
Public.tip("订单号不能为空")
return false;
}
// if (checked6) {
// Public.tip("订单号不能为空")
// return false;
// }
extendedData.sapPurchaseItems = Public.encodeJSONURI(datas);
}
return extendedData;
......
......@@ -23,6 +23,7 @@ import com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseVo;
import com.huigou.topsun.sap.purchase.repository.SapPurchaseRepository;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
import com.huigou.topsun.sap.suppliers.domain.SuppliersInfo;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.fn.CodeGenerator;
import com.huigou.uasp.bmp.operator.OperatorApplication;
......@@ -32,6 +33,7 @@ import com.huigou.uasp.bpm.ProcessStartModel;
import com.huigou.uasp.bpm.engine.application.WorkflowApplication;
import com.huigou.util.ClassHelper;
import com.huigou.util.Constants;
import com.huigou.util.DateUtil;
import com.huigou.util.SDO;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
......@@ -91,6 +93,36 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
}
/**
* 设置任务名称
*/
@Override
protected void setTaskDescription(DelegateTask delegateTask) {
String bizId = delegateTask.getExecution().getProcessBusinessKey();
delegateTask.setDescription(this.getApprovalSubjectName(bizId));
}
/**
* 获取任务标题
*
* @param bizId
* @return
*/
private String getApprovalSubjectName(String bizId) {
SapPurchase sapPurchase = this.sapPurchaseRepository.findOne(bizId);
//查询 单据日期
String fillinDateStr = DateUtil.getDateFormat("yyyy-MM-dd HH:mm:ss", sapPurchase.getFillinDate());
//设置标题
switch (sapPurchase.getBsart()){
case "ZNE1"://固定资产采购申请
return String.format("%s-%s(%s)", "固定资产采购申请", "", fillinDateStr);
case "ZFW"://服务类采购申请
return String.format("%s-%s(%s)", "服务类采购申请", "", fillinDateStr);
case "ZNE2"://非资产类消耗性采购申请
return String.format("%s-%s(%s)", "非资产类消耗性采购申请", "", fillinDateStr);
}
return null;
}
@Override
protected Map<String, Object> getProcessBizParams(String bizId) {
......
......@@ -2,6 +2,7 @@ package com.huigou.topsun.sap.purchase.controller;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.topsun.common.BillStatus;
import com.huigou.topsun.demo.application.LeaveApplication;
import com.huigou.topsun.demo.domain.model.Leave;
import com.huigou.topsun.sap.purchase.application.SapPurchaseApplication;
......@@ -33,6 +34,7 @@ public class SapPurchaseController extends CommonController {
private SapPurchaseApplication sapPurchaseApplication;
public String forwardSapPurchaseList(){
this.putAttribute("statusKindsList", BillStatus.getValidMap());
return forward("sapPurchaseList");
}
......
......@@ -3,6 +3,8 @@ package com.huigou.topsun.sap.purchase.domain.query;
import com.huigou.data.domain.query.QueryAbstractRequest;
import lombok.Data;
import java.util.Date;
/**
* @Auther: xin.lu
* @Date: 2023/12/27/10:45
......@@ -23,4 +25,10 @@ public class SapPurchaseQueryRequest extends QueryAbstractRequest {
* 采购申请编号
*/
private String banfn;
protected Date fillinBeginDate;
protected Date fillinEndDate;
private String statusKind;
}
......@@ -5,6 +5,10 @@
select t.* from sap_purchase t
</sql-query>
<condition column="bill_code" name="billCode" type="java.lang.String" symbol="like" alias="t"/>
<condition column="banfn" name="banfn" type="java.lang.String" symbol="like" alias="t"/>
<condition column="status" name="statusKind" type="java.lang.Integer" symbol="in" alias="t"/>
<condition column="fillin_date" name="fillinBeginDate" type="java.util.Date" symbol="&gt;=" alias="t"/>
<condition column="fillin_date" name="fillinEndDate" type="java.util.Date" symbol="&lt;=" alias="t"/>
</query>
</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