Commit bf730840 authored by 赵汉亭's avatar 赵汉亭

价格主数据查询、新增接口完成

parent 4b45e918
......@@ -27,7 +27,7 @@ function loadSizeGroupListGrid() {
columns: [
{display: "尺码组编码", name: "sizeGroupCode", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "尺码组名称", name: "sizeGroupName", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "SIZR类型", name: "sizeGroupType", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "SIZR类型", name: "sizeGroupTypeTextView", width: 120, minWidth: 60, type: "string", align: "left"},
{
display: "创建人",
name: "createdByName",
......@@ -72,24 +72,6 @@ function resetForm(obj) {
}
function addHandler() {
/*UICtrl.showAjaxDialog({
url: web_app.name + '/technology/addTechnologyDetail.load',
title: "新增工艺设置",
width: 1000,
ok: function (div) {
var _self = this;
$('#submitForm', div).ajaxSubmit({
url: web_app.name + '/technology/saveTechnology.ajax',
param: {
processList: getProcessList(),
},
success: function () {
_self.close();
reloadGrid();
}
});
}
});*/
UICtrl.addTabItem({
tabid: 'sizeGroupDetail',
text: "新增尺码组",
......@@ -104,25 +86,6 @@ function updateHandler(row) {
return;
}
}
/*UICtrl.showAjaxDialog({
url: web_app.name + '/technology/showTechnologyDetail.load',
title: "修改工艺设置",
width: 1000,
param: {technologyId: row.technologyId},
ok: function (div) {
var _self = this;
$('#submitForm', div).ajaxSubmit({
url: web_app.name + '/technology/updateTechnology.ajax',
param: {
processList: getProcessList(),
},
success: function () {
_self.close();
reloadGrid();
}
});
}
});*/
UICtrl.addTabItem({
tabid: 'sizeGroupDetail',
text: "修改尺码组",
......
......@@ -41,6 +41,7 @@
<x:inputC name="verak" required="true" label="负责人" labelCol="2" maxLength="64" fieldCol="4"/>
<x:selectC name="prctr" required="true" label="利润中心" labelCol="2" dictionary="PRCTR" fieldCol="4"/>
<x:selectC name="formType" required="true" label="业务类型" labelCol="2" dictionary="formType" fieldCol="4"/>
<x:inputC name="telePhone" required="true" label="联系方式" labelCol="2" maxLength="64" fieldCol="4"/>
<x:inputC name="reason" required="true" label="原因" labelCol="2" maxLength="255" fieldCol="4"/>
</div>
<div class="blank_div clearfix"></div>
......
var sapPriceMasterDataGridManager = null;
$(document).ready(function () {
initializateUI();
loadPriceMasterDataListGrid();
});
function initializateUI() {
UICtrl.layout("#layout", {leftWidth: 3});
}
// 加载页码表格
function loadPriceMasterDataListGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
// 添加一行表格
addHandler: function () {
UICtrl.addGridRow(sapPriceMasterDataGridManager,
{
// 行号加一
sequence: sapPriceMasterDataGridManager.getData().length + 1
}
);
},
// 删除选中的尺码信息
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#sapPriceMasterDataListGrid');
DataUtil.delSelectedRows({
action: 'sapPriceMasterData/deletePriceMasterDataById.ajax',
param: {},
gridManager: _grid,
idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
}
});
// 表格
sapPriceMasterDataGridManager = UICtrl.grid("#sapPriceMasterDataListGrid", {
gridManager: null,
columns: [
{
display: "行号", name: "sequence", width: 100, minWidth: 60, type: "String", align: "left",
editor: {type: 'spinner', min: 1, max: 100, mask: 'nnn'}
},
{
display: "产品物料", name: "matnr", width: 100, minWidth: 60, type: "String", align: "left",
editor: {type: 'text', required: true}
},
{
display: "价格", name: "kbetr", width: 100, minWidth: 60, type: "String", align: "left",
editor: {type: 'text', required: true, mask: '99999999999.99'}
},
{
display: "币别", name: "konwaTextView", width: 120, minWidth: 60, type: "String", align: "left",
editor: {
type: 'dictionary',
data: {name: 'currency'},
textField: 'konwaTextView',
valueField: 'konwa',
required: true,
render: function (item) {
return item.konwaTextView;
}
},
},
{
display: "条件单位", name: "kmein", width: 100, minWidth: 60, type: "String", align: "left",
editor: {type: 'text', required: true}
},
{
display: "有限期自", name: "datab", width: 100, minWidth: 60, type: "data", align: "left",
editor: {type: 'date', required: true}
},
{
display: "有限截止日", name: "datbi", width: 100, minWidth: 60, type: "data", align: "left",
editor: {
type: 'date', required: true,
render: function (data) {
if (data.datbi == null) {
data.datbi = '9999-12-31'
}
return data.datbi;
}
},
},
],
dataAction: "server",
url: web_app.name + '/sapPriceMasterData/slicedPriceMasterDataItemList.ajax',
parms: {priceMasterDataId: getId},
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
enabledEdit: true,
width: "98%",
height: "100%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
});
UICtrl.setSearchAreaToggle(sapPriceMasterDataGridManager);
}
//获取数据保存的参数
function getExtendedData(processAction) {
//回退、打回、转交时,不需要验证必填项是否已经填写;
if (processAction == ProcessAction.BACK
|| processAction == ProcessAction.REPLENISH
|| processAction == ProcessAction.TRANSMIT) {
//不验证
$('#submitForm').attr('check', false);
}
const isAllData = $('#oldId') || !getId();
var extendedData = {};
var _grid = UICtrl.getGridManager('#sapPriceMasterDataListGrid');
if (_grid) {
var datas = DataUtil.getGridData({
gridManager: _grid,
isAllData: isAllData
});
if (!datas) {
return false;
}
extendedData.priceMasterDataItem = Public.encodeJSONURI(datas);
}
return extendedData;
}
function setId(value) {
$('#id').val(value);
var _grid = UICtrl.getGridManager('#sapPriceMasterDataListGrid');
_grid.options.parms.id = value;
}
function getId() {
if ($("#id").val() == null)
return 0;
else
return $("#id").val();
}
/**
* 刷新表格
*/
function reloadGrid(obj) {
sapPriceMasterDataGridManager.loadData();
}
<%--
User: zht
Date: 2023/12/25
Time: 18:55
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="/WEB-INF/taglib.tld" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<x:base include="layout,dialog,grid,tree,combox,commonTree,date"/>
<x:script src='/biz/topsun/sap/priceMasterData/sapPriceMasterDataDetail.js'/></head>
<body>
<x:billTitle title="价格主数据维护" needStatus="false" needPerson="true"/>
<div class="blank_div clearfix"></div>
<form class="hg-form" method="post" action="" id="submitForm">
<x:hidden name="id"/>
<x:hidden name="productIds"/>
<x:hidden name="fullId"/>
<x:hidden name="organId"/>
<x:hidden name="organName"/>
<x:hidden name="deptId"/>
<x:hidden name="positionId"/>
<x:hidden name="positionName"/>
<x:hidden name="personMemberId"/>
<div class="hg-form-row">
<x:inputC name="billCode" required="false" label="申请单号" labelCol="1" maxLength="64" fieldCol="2"/>
<x:inputC name="telePhone" required="false" label="联系方式" labelCol="1" maxLength="64" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="personMemberName" required="false" label="申请人" labelCol="1" maxLength="64" fieldCol="2"/>
<x:inputC name="fillinDate" required="false" label="申请日期" labelCol="1" maxLength="64" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="deptName" required="false" label="申请部门" labelCol="1" maxLength="64" fieldCol="2"/>
<x:selectC name="kschl" required="false" label="条件类型" labelCol="1" dictionary="kschl" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:selectC name="vkorg" required="false" label="销售组织" labelCol="1" dictionary="vkorg" fieldCol="2"/>
<x:selectC name="vtweg" required="false" label="分销渠道" labelCol="1" dictionary="vtweg" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="kunnr" required="false" label="客戶" labelCol="1" maxLength="64" fieldCol="2"/>
</div>
<div class="blank_div clearfix"></div>
<%-- <x:title title="尺码设置" name="group" hideTable="#info" />--%>
<div id="sapPriceMasterDataListGrid" style="margin: 2px;"></div>
</form>
</body>
</html>
var gridManager = null;
$(document).ready(function () {
initializateUI();
loadTechnologyListGrid();
});
function initializateUI() {
UICtrl.layout("#layout", {leftWidth: 3});
}
function loadTechnologyListGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
addHandler();
},
updateHandler: function () {
updateHandler();
},
deleteHandler: deleteHandler,
});
gridManager = UICtrl.grid("#sapPriceMasterDataListGrid", {
columns: [
{display: "行号", name: "sequence", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "产品物料", name: "matnr", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "价格", name: "kbetr", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "币别", name: "konwaTextView", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "条件单位", name: "kmein", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "有限期自", name: "datab", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "有限截止日", name: "datbi", width: 120, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/sapPriceMasterData/slicedPriceMasterDataList.ajax',
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
width: "100%",
height: "100%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
onDblClickRow: function (data, rowindex, rowobj) {
updateHandler(data);
}
});
UICtrl.setSearchAreaToggle(gridManager);
}
function query(obj) {
var param = $(obj).formToJSON();
UICtrl.gridSearch(gridManager, param);
}
function reloadGrid() {
gridManager.loadData();
}
function resetForm(obj) {
$(obj).formClean();
}
function addHandler() {
UICtrl.addTabItem({
tabid: 'sapPriceMasterDataDetail',
text: "价格主数据维护",
url: web_app.name + '/sapPriceMasterData/forwardPriceMasterDataDetail.job'
})
}
function updateHandler(row) {
if (!row) {
row = DataUtil.getUpdateRow(gridManager);
if (!row) {
return;
}
}
UICtrl.addTabItem({
tabid: 'sapPriceMasterDataDetail' + row.id,
text: "价格主数据维护",
url: web_app.name + '/sapPriceMasterData/showPriceMasterDataDetail.do?id=' + row.id
})
}
//删除按钮
function deleteHandler() {
DataUtil.del({
action: 'sapPriceMasterData/deletePriceMasterDataById.ajax',
gridManager: gridManager, idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
}
<%--
User: zht
Date: 2023/12/25
Time: 18:54
--%>
<%@ page language="java" contentType="text/html; charset=utf-8" %>
<%@taglib uri="/WEB-INF/taglib.tld" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<x:base include="layout,dialog,grid,tree,combox,commonTree"/>
<x:script src='/biz/topsun/sap/priceMasterData/sapPriceMasterDataList.js'/>
</head>
<body>
<div class="container-fluid">
<div class="ui-hide">
<%-- <x:select name="processType" dictionary="processType" />--%>
<%-- <x:select name="yesorno" dictionary="yesorno" />--%>
</div>
<div id="layout">
<div position="center" title="价格主数据查询">
<x:title title="common.button.search" hideTable="queryMainForm" isHide="true"/>
<form class="hg-form ui-hide" method="post" action="" id="queryMainForm">
<div class="hg-form-row">
<x:selectC name="kschl" required="false" label="条件类型" labelCol="1" dictionary="kschl"
fieldCol="2"/>
<x:selectC name="vkorg" required="false" label="销售组织" labelCol="1" dictionary="vkorg"
fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:selectC name="vtweg" required="false" label="分销渠道" labelCol="1" dictionary="vtweg"
fieldCol="2"/>
<x:inputC name="kunnr" required="false" label="客戶" labelCol="1" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="matnr" required="false" label="产品物料" labelCol="1" fieldCol="2"/>
</div>
<x:searchButtons/>
</form>
<div class="blank_div clearfix"></div>
<div id="sapPriceMasterDataListGrid" style="margin: 2px;"></div>
</div>
</div>
</div>
</body>
</html>
......@@ -64,7 +64,7 @@ public class SapFixedAssetsController extends CommonController {
*/
Operator operator = getOperator();
sapFixedAssets.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
return forward("sapFixedAssetsDetail");
return forward("sapFixedAssetsDetail",sapFixedAssets);
}
/**
......
package com.huigou.topsun.sap.priceMasterData.application;
import com.huigou.topsun.sap.priceMasterData.domain.query.SapPriceMasterDataItemQueryRequest;
import com.huigou.topsun.sap.priceMasterData.domain.query.SapPriceMasterDataQueryRequest;
import com.huigou.topsun.sap.priceMasterData.domain.vo.SapPriceMasterDataVo;
import java.util.List;
import java.util.Map;
/**
* title:
* author:ZHT
* date:2023/12/25
* description:
*/
public interface SapPriceMasterDataApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/sap/priceMasterData/priceMasterData.xml";
String PROCESS_DEFINITION_KEY = "sapPriceMasterDataProc";
SapPriceMasterDataVo getPriceMasterDataById(String id);
Map<String, Object> queryPriceMasterDataList(SapPriceMasterDataQueryRequest queryRequest);
void deletePriceMasterDataById(List<String> ids);
Map<String, Object> queryPriceMasterDataItemList(SapPriceMasterDataItemQueryRequest queryRequest);
}
package com.huigou.topsun.sap.priceMasterData.controller;
import com.huigou.context.Operator;
import com.huigou.context.OrgUnit;
import com.huigou.topsun.sap.fixedAssets.domain.vo.SapFixedAssetsVo;
import com.huigou.topsun.sap.priceMasterData.application.SapPriceMasterDataApplication;
import com.huigou.topsun.sap.priceMasterData.domain.SapPriceMasterData;
import com.huigou.topsun.sap.priceMasterData.domain.query.SapPriceMasterDataItemQueryRequest;
import com.huigou.topsun.sap.priceMasterData.domain.query.SapPriceMasterDataQueryRequest;
import com.huigou.topsun.sap.priceMasterData.domain.vo.SapPriceMasterDataVo;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import java.util.List;
/**
* title:
* author:ZHT
* date:2023/12/25
* description:
*/
@Controller
@ControllerMapping("sapPriceMasterData")
public class SapPriceMasterDataController extends CommonController {
@Autowired
private SapPriceMasterDataApplication sapPriceMasterDataApplication;
@Override
protected String getPagePath() {
return "/biz/topsun/sap/priceMasterData/";
}
/**
* 跳转到价格主数据查询界面
*/
public String forwardPriceMasterList(){
return forward("sapPriceMasterDataList");
}
/**
* 跳转到价格主数据维护界面
*/
public String forwardPriceMasterDataDetail(){
this.putAttribute("processDefinitionKey", sapPriceMasterDataApplication.PROCESS_DEFINITION_KEY);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this.putAttribute("procUnitId", "Apply");
SapPriceMasterData sapPriceMasterData = new SapPriceMasterData();
sapPriceMasterData.setStatusId(BizBillStatus.APPLYING.getId());
/*
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
Operator operator = getOperator();
sapPriceMasterData.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
// 填充数据
// sapPriceMasterData.setBillCode(sapPriceMasterData.getBillCode());
return forward("sapPriceMasterDataDetail",sapPriceMasterData);
}
/**
* 跳转到价格主数据维护界面
*/
public String showPriceMasterData() {
SDO sdo = this.getSDO();
String id = sdo.getBizId();
SapPriceMasterDataVo sapPriceMasterDataVo = sapPriceMasterDataApplication.getPriceMasterDataById(id);
return forward("sapPriceMasterDataDetail", sapPriceMasterDataVo);
}
/**
* 价格主数据查询
*/
public String slicedPriceMasterDataList(){
SDO sdo = this.getSDO();
SapPriceMasterDataQueryRequest queryRequest = sdo.toQueryRequest(SapPriceMasterDataQueryRequest.class);
return toResult(sapPriceMasterDataApplication.queryPriceMasterDataList(queryRequest));
}
/**
* 查询ItemList
*/
public String slicedPriceMasterDataItemList(){
SDO sdo = this.getSDO();
SapPriceMasterDataItemQueryRequest queryRequest = sdo.toQueryRequest(SapPriceMasterDataItemQueryRequest.class);
return toResult(sapPriceMasterDataApplication.queryPriceMasterDataItemList(queryRequest));
}
/**
* 根据id获取价格主数据
*/
public String showPriceMasterDataDetail(){
String id = this.getSDO().getString("id");
SapPriceMasterDataVo priceMasterDataById = sapPriceMasterDataApplication.getPriceMasterDataById(id);
return success("sapPriceMasterDataDetail", priceMasterDataById);
}
/**
* 根据id删除价格主数据
*/
public String deletePriceMasterDataById(){
List<String> ids = this.getSDO().getIds();
sapPriceMasterDataApplication.deletePriceMasterDataById(ids);
return success();
}
}
package com.huigou.topsun.sap.priceMasterData.domain;
import com.huigou.data.domain.model.FlowBillAbstractEntity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
/**
* @TableName sap_price_master_data
*/
@Table(name = "sap_price_master_data")
@Data
@Entity
public class SapPriceMasterData extends FlowBillAbstractEntity {
// @OneToMany
// private SapPriceMasterDataItem sapPriceMasterDataItem;
/**
* KSCHL-条件类型(可选)
* 通过选择相应的条件类型维护不同的价格
* PR01-工厂价格;
* ZPR1-品牌价格
*/
@Column(name = "KSCHL")
private String kschl;
/**
* VKORG-销售组织(可选)
* 目前只能选择1000-广州科技销售组织,其它销售组织隐藏
* 1000-广州科技销售组织;
* 2000-广州金库销售组织;
*/
@Column(name = "VKORG")
private String vkorg;
/**
* VTWEG-分销渠道(可选)
* 10-内销;
* 20-外销;
* 80-集团内
*/
@Column(name = "VTWEG")
private String vtweg;
/**
* KUNNR-客户(可选)
* 通过调用客户主数据查询接口,搜索到相应的客户编号与描述
*/
@Column(name = "KUNNR")
private String kunnr;
/**
* 联系方式
*/
@Column(name = "tele_phone")
private String telePhone;
private static final long serialVersionUID = 1L;
@Override
protected String getCodeRuleId() {
return "sapPriceMasterData";
}
}
\ No newline at end of file
package com.huigou.topsun.sap.priceMasterData.domain;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* title:
* author:ZHT
* date:2023/12/27
* description:
*/
@Data
@Entity
@Table(name = "sap_price_master_data_item")
public class SapPriceMasterDataItem implements Serializable {
/**
* id
*/
@Id
@GeneratedValue(
generator = "system-uuid"
)
@GenericGenerator(
name = "system-uuid",
strategy = "guid"
)
private String id;
/**
* 所属价格主数据id
*/
@Column(name = "price_master_data_id")
private String priceMasterDataId;
/**
* MATNR-产品物料(可选)
* 通过调用物料主数据查询接口,搜索到相应的物料主数据编号与描述
*/
@Column(name = "MATNR")
private String matnr;
/**
* KBETR-价格(必输)
* 手工输入
* 11位长度,6位小数点
*/
@Column(name = "KBETR")
private BigDecimal kbetr;
/**
* 币别(必输)
*/
@Column(name = "KONWA")
private String konwa;
/**
* 条件单位(必输)
* 通过数据字典的形式存储基本计量单位
*/
@Column(name = "KMEIN")
private String kmein;
/**
* 有效期自(必输)
*/
@Column(name = "DATAB")
private Date datab;
/**
* 有效期至(必输)
*/
@Column(name = "DATBI")
private Date datbi;
/**
* 行号
*/
@Column(name = "sequence")
private String sequence;
}
package com.huigou.topsun.sap.priceMasterData.domain.query;
import com.huigou.data.domain.query.QueryAbstractRequest;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* title:
* author:ZHT
* date:2023/12/25
* description:
*/
@Data
public class SapPriceMasterDataItemQueryRequest extends QueryAbstractRequest {
/**
* id
*/
private String id;
/**
* 父id
*/
private String priceMasterDataId;
/**
* MATNR-产品物料(可选)
*/
private String matnr;
/**
* KBETR-价格(必输)
*/
private BigDecimal kbetr;
/**
* 币别(必输)
*/
private String konwa;
/**
* 条件单位(必输)
*/
private String kmein;
/**
* 有效期自(必输)
*/
private Date datab;
/**
* 有效期至(必输)
*/
private Date datbi;
/**
* 行号
*/
private String sequence;
}
package com.huigou.topsun.sap.priceMasterData.domain.query;
import com.huigou.data.domain.query.QueryAbstractRequest;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* title:
* author:ZHT
* date:2023/12/25
* description:
*/
@Data
public class SapPriceMasterDataQueryRequest extends QueryAbstractRequest {
/**
* 主键id
*/
private String id;
/**
* KSCHL-条件类型(可选)
通过选择相应的条件类型维护不同的价格
PR01-工厂价格;
ZPR1-品牌价格
*/
private String kschl;
/**
* VKORG-销售组织(可选)
目前只能选择1000-广州科技销售组织,其它销售组织隐藏
1000-广州科技销售组织;
2000-广州金库销售组织;
*/
private String vkorg;
/**
* VTWEG-分销渠道(可选)
10-内销;
20-外销;
80-集团内
*/
private String vtweg;
/**
* KUNNR-客户(可选)
通过调用客户主数据查询接口,搜索到相应的客户编号与描述
*/
private String kunnr;
/**
* 版本号
*/
private Long version;
/**
* 申请日期
*/
private Date fillinDate;
/**
* 流程状态
*/
private Integer status;
/**
* 申请人组织机构全路径id
*/
private String fullId;
/**
* 组织机构id
*/
private String organId;
/**
* 组织机构名称
*/
private String organName;
/**
* 部门id
*/
private String deptId;
/**
* 申请部门名称
*/
private String deptName;
/**
* 岗位id
*/
private String positionId;
/**
* 岗位名称
*/
private String positionName;
/**
* 人员id
*/
private String personMemberId;
/**
* 申请人员名称
*/
private String personMemberName;
/**
* 单据编号
*/
private String billCode;
/**
* 联系方式
*/
private String telePhone;
}
[
{
"bill_code": "JG2023-00048",
"person_member_name": "绯荤粺绠$悊鍛�",
"dept_name": "娴嬭瘯浣跨敤閮ㄩ棬",
"fillin_date": 1703692800000,
"tele_phone": "",
"KSCHL": "",
"VKORG": "",
"VTWEG": "",
"KUNNR": "",
"MATNR": "1",
"KBETR": 111,
"KONWA": "ARS",
"KMEIN": "1",
"DATAB": "20231227",
"DATBI": "20231227"
}
]
package com.huigou.topsun.sap.priceMasterData.domain.vo;
import com.alibaba.fastjson.JSON;
import com.huigou.topsun.sap.priceMasterData.domain.SapPriceMasterDataItem;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* title:
* author:ZHT
* date:2023/12/27
* description:
*/
@Data
public class SapPriceMasterDataItemVo implements Serializable {
/**
* id
*/
private String id;
/**
* 父id
*/
private String priceMasterDataId;
/**
* MATNR-产品物料(可选)
*/
private String matnr;
/**
* KBETR-价格(必输)
*/
private BigDecimal kbetr;
/**
* 币别(必输)
*/
private String konwa;
/**
* 条件单位(必输)
*/
private String kmein;
/**
* 有效期自(必输)
*/
private Date datab;
/**
* 有效期至(必输)
*/
private Date datbi;
/**
* 行号
*/
private String sequence;
public static SapPriceMasterDataItem getSapPriceMasterDataItem(SapPriceMasterDataItemVo sapPriceMasterDataItemVo) {
return JSON.parseObject(JSON.toJSONString(sapPriceMasterDataItemVo), SapPriceMasterDataItem.class);
}
public static SapPriceMasterDataItemVo getSapPriceMasterDataItemVo(SapPriceMasterDataItem sapPriceMasterDataItem) {
return JSON.parseObject(JSON.toJSONString(sapPriceMasterDataItem), SapPriceMasterDataItemVo.class);
}
}
package com.huigou.topsun.sap.priceMasterData.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* title:
* author:ZHT
* date:2023/12/27
* description:
*/
@JsonIgnoreProperties
public class SapPriceMasterDataReturnVo {
/**
* 单据编号
*/
@JsonProperty("bill_code")
private String billCode;
/**
* 申请人员名称
*/
@JsonProperty("person_member_name")
private String personMemberName;
/**
* 申请部门名称
*/
@JsonProperty("dept_name")
private String deptName;
/**
* 申请日期
*/
@JsonProperty("fillin_date")
private Date fillinDate;
/**
* 联系方式
*/
@JsonProperty("tele_phone")
private String telePhone;
/**
* KSCHL-条件类型(可选)
* 通过选择相应的条件类型维护不同的价格
* PR01-工厂价格;
* ZPR1-品牌价格
*/
@JsonProperty(value = "KSCHL", required = true)
private String KSCHL;
/**
* VKORG-销售组织(可选)
* 目前只能选择1000-广州科技销售组织,其它销售组织隐藏
* 1000-广州科技销售组织;
* 2000-广州金库销售组织;
*/
@JsonProperty(value = "VKORG", required = true)
private String VKORG;
/**
* VTWEG-分销渠道(可选)
* 10-内销;
* 20-外销;
* 80-集团内
*/
@JsonProperty(value = "VTWEG", required = true)
private String VTWEG;
/**
* KUNNR-客户(可选)
* 通过调用客户主数据查询接口,搜索到相应的客户编号与描述
*/
@JsonProperty(value = "KUNNR", required = true)
private String KUNNR;
/**
* MATNR-产品物料(可选)
*/
@JsonProperty(value = "MATNR", required = true)
private String MATNR;
/**
* KBETR-价格(必输)
*/
@JsonProperty("KBETR")
private BigDecimal KBETR;
/**
* 币别(必输)
*/
@JsonProperty("KONWA")
private String KONWA;
/**
* 条件单位(必输)
*/
@JsonProperty("KMEIN")
private String KMEIN;
/**
* 有效期自(必输)
*/
@JsonProperty("DATAB")
@JsonFormat(pattern = "yyyyMMdd", timezone = "GTM-8")
private Date DATAB;
/**
* 有效期至(必输)
*/
@JsonProperty("DATBI")
@JsonFormat(pattern = "yyyyMMdd", timezone = "GTM-8")
private Date DATBI;
public void setBillCode(String billCode) {
this.billCode = billCode;
}
public void setPersonMemberName(String personMemberName) {
this.personMemberName = personMemberName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public void setFillinDate(Date fillinDate) {
this.fillinDate = fillinDate;
}
public void setTelePhone(String telePhone) {
this.telePhone = telePhone;
}
public void setKSCHL(String KSCHL) {
this.KSCHL = KSCHL;
}
public void setVKORG(String VKORG) {
this.VKORG = VKORG;
}
public void setVTWEG(String VTWEG) {
this.VTWEG = VTWEG;
}
public void setKUNNR(String KUNNR) {
this.KUNNR = KUNNR;
}
public void setMATNR(String MATNR) {
this.MATNR = MATNR;
}
public void setKBETR(BigDecimal KBETR) {
this.KBETR = KBETR;
}
public void setKONWA(String KONWA) {
this.KONWA = KONWA;
}
public void setKMEIN(String KMEIN) {
this.KMEIN = KMEIN;
}
public void setDATAB(Date DATAB) {
this.DATAB = DATAB;
}
public void setDATBI(Date DATBI) {
this.DATBI = DATBI;
}
}
package com.huigou.topsun.sap.priceMasterData.domain.vo;
import com.alibaba.fastjson.JSON;
import com.huigou.topsun.sap.priceMasterData.domain.SapPriceMasterData;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* title:
* author:ZHT
* date:2023/12/25
* description:
*/
@Data
public class SapPriceMasterDataVo implements Serializable {
/**
* 主键id
*/
private String id;
/**
* KSCHL-条件类型(可选)
* 通过选择相应的条件类型维护不同的价格
* PR01-工厂价格;
* ZPR1-品牌价格
*/
private String kschl;
/**
* VKORG-销售组织(可选)
* 目前只能选择1000-广州科技销售组织,其它销售组织隐藏
* 1000-广州科技销售组织;
* 2000-广州金库销售组织;
*/
private String vkorg;
/**
* VTWEG-分销渠道(可选)
* 10-内销;
* 20-外销;
* 80-集团内
*/
private String vtweg;
/**
* KUNNR-客户(可选)
* 通过调用客户主数据查询接口,搜索到相应的客户编号与描述
*/
private String kunnr;
/**
* 版本号
*/
private Long version;
/**
* 申请日期
*/
private Date fillinDate;
/**
* 流程状态
*/
private Integer status;
/**
* 申请人组织机构全路径id
*/
private String fullId;
/**
* 组织机构id
*/
private String organId;
/**
* 组织机构名称
*/
private String organName;
/**
* 部门id
*/
private String deptId;
/**
* 申请部门名称
*/
private String deptName;
/**
* 岗位id
*/
private String positionId;
/**
* 岗位名称
*/
private String positionName;
/**
* 人员id
*/
private String personMemberId;
/**
* 申请人员名称
*/
private String personMemberName;
/**
* 单据编号
*/
private String billCode;
/**
* 联系方式
*/
private String telePhone;
public static SapPriceMasterDataVo getSapPriceMasterDataVo(SapPriceMasterData sapPriceMasterData) {
return JSON.parseObject(JSON.toJSONString(sapPriceMasterData), SapPriceMasterDataVo.class);
}
public static SapPriceMasterData getSapPriceMasterData(SapPriceMasterDataVo sapPriceMasterDataVo) {
return JSON.parseObject(JSON.toJSONString(sapPriceMasterDataVo), SapPriceMasterData.class);
}
}
package com.huigou.topsun.sap.priceMasterData.repository;
import com.huigou.topsun.sap.priceMasterData.domain.SapPriceMasterDataItem;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* title:
* author:ZHT
* date:2023/12/25
* description:
*/
public interface SapPriceMasterDataItemRepository extends JpaRepository<SapPriceMasterDataItem, String> {
}
package com.huigou.topsun.sap.priceMasterData.repository;
import com.huigou.topsun.sap.priceMasterData.domain.SapPriceMasterData;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* title:
* author:ZHT
* date:2023/12/25
* description:
*/
public interface SapPriceMasterDataRepository extends JpaRepository<SapPriceMasterData, String> {
}
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<process id="sapPriceMasterDataProc" name="价格主数据" isExecutable="true">
<extensionElements>
<activiti:executionListener event="start" delegateExpression="#{sapPriceMasterDataApplication}"></activiti:executionListener>
<activiti:executionListener event="end" delegateExpression="#{sapPriceMasterDataApplication}"></activiti:executionListener>
</extensionElements>
<startEvent id="startevent1" name="Start"></startEvent>
<endEvent id="endevent1" name="End"></endEvent>
<userTask id="Apply" name="价格主数据维护申请" activiti:formKey="sapPriceMasterData/showPriceMasterData.job">
<extensionElements>
<activiti:taskListener event="all" delegateExpression="#{sapPriceMasterDataApplication}"></activiti:taskListener>
<activiti:taskListener event="saveBizData" delegateExpression="#{sapPriceMasterDataApplication}"></activiti:taskListener>
</extensionElements>
</userTask>
<userTask id="Approve" name="价格主数据维护审批" activiti:assignee="${assignee} " activiti:formKey="sapPriceMasterData/showPriceMasterData.job">
<extensionElements>
<activiti:taskListener event="all" delegateExpression="#{sapPriceMasterDataApplication}"></activiti:taskListener>
<activiti:taskListener event="saveBizData" delegateExpression="#{sapPriceMasterDataApplication}"></activiti:taskListener>
</extensionElements>
<multiInstanceLoopCharacteristics isSequential="false" activiti:collection="handlerList" activiti:elementVariable="assignee">
<completionCondition>${chiefApprovePassed}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
<sequenceFlow id="flow1" sourceRef="startevent1" targetRef="Apply"></sequenceFlow>
<sequenceFlow id="flow2" sourceRef="Apply" targetRef="Approve"></sequenceFlow>
<exclusiveGateway id="ApproveFinished" name="审批结束"></exclusiveGateway>
<sequenceFlow id="flow3" name="审批通过" sourceRef="ApprovePassed" targetRef="ApproveFinished">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approvePassed}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow4" name="审批结束" sourceRef="ApproveFinished" targetRef="endevent1">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${approveFinished}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow5" name="审批未结束" sourceRef="ApproveFinished" targetRef="Approve">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${!approveFinished}]]></conditionExpression>
</sequenceFlow>
<exclusiveGateway id="ApprovePassed" name="审批通过"></exclusiveGateway>
<sequenceFlow id="flow6" sourceRef="Approve" targetRef="ApprovePassed"></sequenceFlow>
<sequenceFlow id="flow9" name="审批未通过" sourceRef="ApprovePassed" targetRef="Apply">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${!approvePassed}]]></conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_sapPriceMasterDataProc">
<bpmndi:BPMNPlane bpmnElement="sapPriceMasterDataProc" id="BPMNPlane_sapPriceMasterDataProc">
<bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
<omgdc:Bounds height="35.0" width="35.0" x="355.0" y="50.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
<omgdc:Bounds height="35.0" width="35.0" x="355.0" y="550.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Apply" id="BPMNShape_Apply">
<omgdc:Bounds height="55.0" width="161.0" x="292.0" y="140.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="Approve" id="BPMNShape_Approve">
<omgdc:Bounds height="55.0" width="161.0" x="292.0" y="240.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="ApproveFinished" id="BPMNShape_ApproveFinished">
<omgdc:Bounds height="40.0" width="40.0" x="352.0" y="440.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="ApprovePassed" id="BPMNShape_ApprovePassed">
<omgdc:Bounds height="40.0" width="40.0" x="352.0" y="349.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
<omgdi:waypoint x="372.0" y="85.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="140.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
<omgdi:waypoint x="372.0" y="195.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="240.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
<omgdi:waypoint x="372.0" y="389.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="440.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="48.0" x="320.0" y="396.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
<omgdi:waypoint x="372.0" y="480.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="550.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="48.0" x="382.0" y="489.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
<omgdi:waypoint x="392.0" y="460.0"></omgdi:waypoint>
<omgdi:waypoint x="519.0" y="459.0"></omgdi:waypoint>
<omgdi:waypoint x="519.0" y="317.0"></omgdi:waypoint>
<omgdi:waypoint x="519.0" y="267.0"></omgdi:waypoint>
<omgdi:waypoint x="489.0" y="267.0"></omgdi:waypoint>
<omgdi:waypoint x="453.0" y="267.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="60.0" x="459.0" y="411.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
<omgdi:waypoint x="372.0" y="295.0"></omgdi:waypoint>
<omgdi:waypoint x="372.0" y="349.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
<omgdi:waypoint x="352.0" y="369.0"></omgdi:waypoint>
<omgdi:waypoint x="231.0" y="369.0"></omgdi:waypoint>
<omgdi:waypoint x="231.0" y="167.0"></omgdi:waypoint>
<omgdi:waypoint x="292.0" y="167.0"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="60.0" x="257.0" y="376.0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query name="costCenter" label="成本中心表" table="cost_center">
<query name="costCenter" label="成本中心表" table="sap_cost_center">
<sql-query>
select t.* from sap_cost_center t
</sql-query>
</query>
<query name="slicedCostCenterList" label="成本中心表" table="cost_center">
<query name="slicedCostCenterList" label="成本中心表" table="sap_cost_center">
<sql-query>
select
t.id,
......
<?xml version="1.0" encoding="UTF-8" ?>
<query-mappings>
<query name="priceMasterData" label="价格主数据表" table="sap_price_master_data">
<sql-query>
select t.* from sap_price_master_data t
</sql-query>
</query>
<query name="slicedPriceMasterDataItemList" label="价格主数据成员表" table="sap_price_master_data_item">
<sql-query>
select t.*
from sap_price_master_data_item t
</sql-query>
<condition column="price_master_data_id" name="priceMasterDataId" type="java.lang.String" symbol="=" 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