Commit f53c9246 authored by 鲁鑫's avatar 鲁鑫

删除不必要的功能

parent 694145e3
var gridManager = null;
$(document).ready(function () {
initializateUI();
loadCodeRuleListGrid();
});
function initializateUI() {
UICtrl.layout("#layout", {leftWidth: 50});
}
function loadCodeRuleListGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
addHandler();
},
updateHandler: function () {
updateHandler();
},
disableHandler: disableHandler,
enableHandler: enableHandler,
// 转变为正式产品
changeHandler: {
id: 'ConversionToOfficialProducts', text: '转为正式产品', img: 'fa-modx', className: 'btn-gray',
click: function () {
var rows = gridManager.getSelectedRows();
var ids = [];
rows.forEach(row=>{
ids.push(row.productId);
})
var url = web_app.name + '/product/ConversionToOfficialProducts.ajax';
Public.ajax(url, {ids:$.toJSON(ids)}, function () {
reloadGrid();
});
}
}
});
gridManager = UICtrl.grid("#productListGrid", {
columns: [
{display: "产品名称", name: "productName", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "产品类别", name: "productCategoryName", width: 120, minWidth: 60, type: "string", align: "left"},
{
display: "状态", name: "productStatus", width: 60, minWidth: 60, type: "string", align: "center",
render: function (item) {
return UICtrl.getStatusInfo(item.productStatus);
}
},
{display: "产品数量", name: "productNumber", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "产品计量单位", name: "productUnit", width: 100, minWidth: 60, type: "string", align: "left"},
{
display: "BOM有效起始日期",
name: "productDatuy",
width: 100,
minWidth: 60,
type: "datetime",
align: "left"
},
{display: "ECN号", name: "productAennr", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "样品编号", name: "productSampleCode", width: 150, minWidth: 60, type: "string", align: "left"},
{display: "品牌名称", name: "brandName", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "产品类型", name: "productType", width: 140, minWidth: 60, type: "string", align: "left"}
],
dataType: "server",
url: web_app.name + '/product/findProduct.ajax',
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
enabledEdit: true,
width: "91.9%",
height: "100%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
onDblClickRow: function (data, rowindex, rowobj) {
updateHandler(data);
}
});
UICtrl.setSearchAreaToggle(gridManager);
}
// parms: {
// page: 0,
// size: 30
// },
function updateHandler(data) {
var id = data.productId;
if (!id) {
id = DataUtil.getUpdateRowId(gridManager);
if (!id) {
return;
}
}
var url = DataUtil.composeURLByParam('/product/forwardProductDetail2.do', {productId: id});
UICtrl.addTabItem({tabid: 'viewFlowChart' + id, text: "产品信息", url: url});
}
function addHandler() {
let data = {};
var url = DataUtil.composeURLByParam('/product/forwardProductDetail.do', {});
UICtrl.addTabItem({tabid: 'addProduct' + new Date().getTime(), text: "新增产品", url: url});
}
//启用
function enableHandler() {
DataUtil.updateById({
action: 'product/updateAProductStatus.ajax',
gridManager: gridManager, idFieldName: 'productId', param: {status: 1},
message: 'common.confirm.enable',
onSuccess: function () {
reloadGrid();
}
});
}
//禁用
function disableHandler() {
DataUtil.updateById({
action: 'product/updateAProductStatus.ajax',
gridManager: gridManager, idFieldName: 'productId', param: {status: 0},
message: 'common.confirm.disable',
onSuccess: function () {
reloadGrid();
}
});
}
<%--
Created by IntelliJ IDEA.
User: qinzhenguan
Date: 2023/11/29
Time: 17:18
To change this template use File | Settings | File Templates.
--%>
<%@ 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>
<title>Title</title>
<x:base include="layout,dialog,grid,tree,combox,commonTree" />
<x:script src='/system/opm/js/OpmUtil.js'/>
<x:script src='/biz/topsun/common/purchaseCommon.js'/>
<x:script src='/biz/topsun/product/product.js'/>
</head>
<body>
<div position="center" title="产品管理">
<div id="productListGrid" style="margin: 2px;"></div>
</div>
</body>
</html>
<%-- <div position="top">--%>
<%-- <form class="hg-form" method="post" action="" id="submitForm">--%>
<%-- <div class="hg-form-cols">--%>
<%-- <x:hidden name="id" id="functionsId"/>--%>
<%-- <div class="hg-form-row">--%>
<%-- <x:inputC name="code" required="true" label="tech.field.resourceCode" maxLength="64" match="englishCode"/>--%>
<%-- <x:inputC name="name" required="true" label="common.field.name" maxLength="32"/>--%>
<%-- <x:inputC name="checkBeanName" required="false" label="权限校验Bean" maxLength="64" match="englishCode"/>--%>
<%-- </div>--%>
<%-- <div class="hg-form-row">--%>
<%-- <x:textareaC name="remark" required="false" label="common.field.remark" maxLength="128" rows="2" labelCol="2" fieldCol="10"/>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- <div class="hg-form-row" style="text-align: right;padding-top:5px;">--%>
<%-- <x:button value="保 存" icon="fa-save" onclick="doSaveMain(this.form)"/>&nbsp;&nbsp;--%>
<%-- <x:button value="预 览" icon="fa-list-alt" onclick="doView(this.form)"/>&nbsp;&nbsp;--%>
<%-- <x:button value="关 闭" icon="fa-times" onclick="doClose()"/>&nbsp;&nbsp;--%>
<%-- </div>--%>
<%-- <div class="clearfix"></div>--%>
<%-- </form>--%>
<%-- </div>--%>
var gridManager = null;
$(document).ready(function () {
initializateUI();
loadSizeGroupListGrid();
});
function initializateUI(){
UICtrl.layout("#layout", {leftWidth: 3});
}
function loadSizeGroupListGrid() {
// 获取默认工具选项
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
addHandler();
},
updateHandler: function () {
updateHandler();
},
deleteHandler: deleteHandler,
});
gridManager = UICtrl.grid("#sizeGroupListGrid", {
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: "sizeGroupTypeTextView", width: 120, minWidth: 60, type: "string", align: "left"},
{
display: "创建人",
name: "createdByName",
width: 100,
minWidth: 60,
type: "string",
align: "left"
},
{display: "创建时间", name: "sizeGroupName", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "修改人", name: "sizeGroupName", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "修改时间", name: "sizeGroupName", width: 120, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/sizeGroup/findSizeGroupList.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: 'sizeGroupDetail',
text: "新增尺码组",
url: web_app.name + '/sizeGroup/addSizeGroupDetail.do'
})
}
function updateHandler(row) {
if (!row) {
row = DataUtil.getUpdateRow(gridManager);
if (!row) {
return;
}
}
UICtrl.addTabItem({
tabid: 'sizeGroupDetail',
text: "修改尺码组",
url: web_app.name + '/sizeGroup/showSizeGroupDetail.do?sizeGroupId='+row.sizeGroupId
})
}
//删除按钮
function deleteHandler() {
DataUtil.del({
action: 'sizeGroup/deleteSizeGroupById.ajax',
gridManager: gridManager, idFieldName: 'sizeGroupId',
onSuccess: function () {
reloadGrid();
}
});
}
function getProcessList() {
var processList = null;
var processManager = UICtrl.getGridManager('#sizeGroupItemListGrid');
if (processManager) {
processList = DataUtil.getGridData({
gridManager: processManager,
isAllData: true
});
processList = Public.encodeJSONURI(processList);
}
return processList;
}
\ No newline at end of file
<%--
Created by IntelliJ IDEA.
User: zht
Date: 2023/12/8
Time: 16:30
--%>
<%@ 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"/>
<x:script src='/biz/topsun/product/sizeGroup.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 posinset="center" title="尺码组管理">
<x:title title="common.button.search" hideTable="queryMainForm" isHide="true" />
<form class="hg-form ui-hide" method="post" action="" id="queryMainForm">
<x:inputC name="ruleKind" required="false" label="尺码组名称" labelCol="1"/>
<x:searchButtons />
</form>
<div class="blank_div clearfix"></div>
<div id="sizeGroupListGrid" style="margin: 2px;"></div>
</div>
</div>
</div>
</body>
</html>
var sizeGroupGridManager = null;
$(document).ready(function () {
initializateUI();
loadSizeGroupListGrid();
//bindQueryEvent();
bindEvent();
});
function initializateUI() {
UICtrl.layout("#layout", {leftWidth: 3});
}
// 加载页码表格
function loadSizeGroupListGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
// 添加一行表格
addHandler: function () {
UICtrl.addGridRow(sizeGroupGridManager);
},
// 删除选中的尺码信息
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#sizeGroupItemListGrid');
DataUtil.delSelectedRows({
action: 'sizeGroup/deleteSizeGroupItemById.ajax',
param: {},
gridManager: _grid,
idFieldName: 'sizeGroupItemId',
onSuccess: function () {
reloadGrid();
}
});
}
});
// 表格
sizeGroupGridManager = UICtrl.grid("#sizeGroupItemListGrid", {
gridManager: null,
columns: [
{
display: "尺码名称",
name: "sizeGroupItemName",
width: 100,
minWidth: 60,
type: "String",
align: "left",
editor: {
type: 'text',
required: true
}
},
{
display: "显示顺序",
name: "sizeGroupItemSequence",
width: 100,
minWidth: 60,
type: "String",
align: "left",
editor: {
type: 'text',
mask: 'nnn',
required: true
}
},
{
display: "备注",
name: "sizeGroupItemRemark",
width: 100,
minWidth: 60,
type: "String",
align: "left",
editor: {
type: 'text',
required: true
}
},
],
dataAction: "server",
url: web_app.name + '/sizeGroup/slicedSizeGroupItemList.ajax',
parms: {sizeGroupId: getId},
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
enabledEdit: true,
width: "98%",
height: "100%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
});
UICtrl.setSearchAreaToggle(sizeGroupGridManager);
}
function bindQueryEvent() {
$('#sizeGroupItemName').searchbox({
type: "sizeGroupItem", name: "sizeGroupItemCode",
onChange: function (value, data) {
$('#sizeGroupItemId').val(data.sizeGroupItemId);
$('#sizeGroupItemName').val(data.sizeGroupItemName);
}
});
}
// 定义点击事件
function bindEvent() {
$("#save").click(function () {
saveData("save");
})
$("#submit").click(function () {
saveData("submit");
})
$("#close").click(function () {//关闭
closeDispatchTabItem();
})
}
function getSizeGroupItemDetail(sizeGroupAction) {
//采购订单保存时数据不进行必填验证,提交时数据才进行必填验证
var op = {};
var check = true;
var sizeGroupItemList = [];
if (sizeGroupAction == "save") {
check = false;
}
op = {check: check};
var sizeGroup = $('#submitForm').formToJSON(op);
if (!sizeGroup) {
return false;
}
sizeGroupItemList = DataUtil.getGridData({
gridManager: sizeGroupGridManager, isAllData: true, onCheck: check})
if (!sizeGroupItemList) {
return false;
}
sizeGroup.sizeGroupItemList = $.toJSON(sizeGroupItemList);
return sizeGroup;
}
// 保存数据
function saveData(action) {
var sizeGroupItemDetail = getSizeGroupItemDetail("submit");
if (!sizeGroupItemDetail) {
return;
}
Public.ajax(web_app.name + '/sizeGroup/saveSizeGroup.ajax?code=' + action,sizeGroupItemDetail,
function (data) {
setId(data.sizeGroupId);
Public.successTip("数据保存成功");
sizeGroupGridManager.setParm('sizeGroupId', data.sizeGroupId);
sizeGroupGridManager.loadData();
}
);
}
// 关闭
function closeDispatchTabItem() {
UICtrl.closeCurrentTab();
}
function setId(value) {
$('#sizeGroupId').val(value);
}
function getId() {
return $("#sizeGroupId").val();
}
/**
* 刷新表格
*/
function reloadGrid(obj) {
sizeGroupGridManager.loadData();
}
<%--
Created by IntelliJ IDEA.
User: zht
Date: 2023/12/11
Time: 14:36
--%>
<%@ 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" />
<x:script src='/biz/topsun/product/sizeGroupDetail.js'/></head>
<body>
<x:billTitle title="尺码组详情" needStatus="false" needPerson="true"/>
<div class="blank_div clearfix"></div>
<button class="btn btn-default" type="button" id="close" style="left: 200px;float:right;bottom: 10px;">关闭</button>
<button class="btn btn-warning" type="button" id="submit" style="left: 200px;float:right;bottom: 10px;">提交</button>
<button class="btn btn-success" type="button" id="save" style="left: 200px;float:right;bottom: 10px;">保存</button>
<form class="hg-form" method="post" action="" id="submitForm">
<x:hidden name="sizeGroupId" />
<x:hidden name="sizeGroupItemId"/>
<div class="hg-form-row">
<x:inputC name="sizeGroupCode" required="true" label="尺码组编码" labelCol="2" maxLength="64" fieldCol="4" />
<x:inputC name="sizeGroupName" required="true" label="尺码组名称" labelCol="2" maxLength="64" fieldCol="4" />
<x:selectC name="sizeGroupType" label="SIZE类型" labelCol="2" dictionary="sizeGroupType" fieldCol="4" />
</div>
<div class="blank_div clearfix"></div>
<x:title title="尺码设置" name="group" hideTable="#info" />
<div id="sizeGroupItemListGrid" style="margin: 2px;"></div>
</form>
</body>
</html>
var bomGridManager = null, technologyGridManager = null;
$(document).ready(function () {
initializateUI();
initializateBomGrid();
//initializateTechnologyGrid();
});
function initializateUI() {
UICtrl.layout("#layout", {leftWidth: 3});
appendTaskinstRelations(null);
}
function initializateBomGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function(){
UICtrl.addGridRow(bomGridManager,{ sequence: bomGridManager.getData().length + 1 });
},
deleteHandler: function (){
var _grid = UICtrl.getGridManager('#bomGrid');
DataUtil.delSelectedRows({
action: 'quotationItem/deleteQuotationItem.ajax',
param: {},
gridManager: _grid,
idFieldName: 'quotationItemId',
onSuccess: function () {
reloadGrid();
}
});
},
});
bomGridManager = UICtrl.grid("#bomGrid", {
columns: [
{display: "序号", name: "sequence", width: 80, minWidth: 60, type: "string", align: "left",
editor: { type: 'spinner', min: 1, max: 100, mask: 'nnn'}
},
{
display: "名称", name: "productName", width: 140, minWidth: 60, type: "string", align: "left",
editor: {
data: {
type: 'system',
name: "productChoose",
back: {
productId: "productId",
//productCode: "productCode",
productName: "productName",
//productUnit: "productUnit",
}
},
required: false,
type: "select"
}
},
{display: "产品代号", name: "productCodeName", width: 120, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text'
}
},
{display: "图片", name: "picture", width: 120, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text'
}
},
{
display: "产品参数", name: "productParameter", width: 300, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text'
}
},
{
display: "含13%增值税&含运费单价(RMB/张)", name: "taxPrice", width: 250, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text',
mask: '9999999.99'
}
},
{
display: "出厂价单价(USD/张)", name: "price", width: 200, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text',
mask: '9999999.99'
}
},
{
display: "MOQ(最小起订量)", name: "moq", width: 120, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text',
mask: '9999999.99'
}
},
{
display: "备注", name: "remark", width: 200, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text'
}
},
],
dataAction: "server",
url: web_app.name + '/quotationItem/queryQuotationItemList.ajax',
parms: {quotationId: getId()},
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
enabledEdit: true,
width: "100%",
height: "90%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
onDblClickRow: function (data, rowindex, rowobj) {
updateHandler(data.proofingMakeId);
},
onAfterShowData: function (currentData) {
setTimeout(function () {
//加载工艺
//reloadTechnologyGrid();
},200)
},
onAfterEdit:function (item) {
//加载工艺
if (item.column.name == "productCode") {
//reloadTechnologyGrid();
}
}
});
UICtrl.setSearchAreaToggle(bomGridManager);
}
function initializateTechnologyGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({});
technologyGridManager = UICtrl.grid("#technologyGrid", {
columns: [
//{display: "工艺", name: "technologyName", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "工序", name: "processName", width: 120, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text'
}
},
{display: "资源", name: "resourceName", width: 120, minWidth: 60, type: "string", align: "left",
editor: {
required: false,
type: 'text'
}
},
],
dataAction: "server",
url: web_app.name + '/technology/queryTechnologyByProduct.ajax',
//parms: {productId: getId()},
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
width: "100%",
height: "400",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
onDblClickRow: function (data, rowindex, rowobj) {
updateHandler(data.proofingMakeId);
}
});
UICtrl.setSearchAreaToggle(technologyGridManager);
}
function reloadGrid() {
bomGridManager.loadData();
}
function reloadTechnologyGrid(){
var datas = bomGridManager.rows;
var productIdList=[];
if (datas.length >0){
datas.forEach(data=>{
var productId = data.productId;
if (productId != null && productId !== ""){
productIdList.push(productId);
}
})
if (productIdList.length > 0){
var param = {ids:$.toJSON(productIdList)};
$('#technologyGrid').ligerGetGridManager().options.url =web_app.name + '/technology/queryTechnologyByProduct.ajax';
_grid = UICtrl.getGridManager('#technologyGrid');
UICtrl.gridSearch(_grid, param);
}
}
}
//获取数据保存的参数
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('#bomGrid');
if (_grid) {
var datas = DataUtil.getGridData({
gridManager: _grid,
isAllData: isAllData
});
if (!datas) {
return false;
}
extendedData.quotationItems = Public.encodeJSONURI(datas);
}
return extendedData;
}
function getId() {
return $("#quotationId").val() || "";
}
function setId(value) {
$("#quotationId").val(value);
var _grid=UICtrl.getGridManager('#bomGrid');
_grid.options.parms.quotationId = value;
}
<%@ 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="date,layout,grid,combox,tree,comboDialog,attachment"/>
<x:script src="/biz/topsun/quotation/quotationDetail.js"/>
</head>
<body>
<div class="container-fluid">
<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" id="quotationId"/>
<x:hidden name="productIds"/>
<x:hidden name="billCode"/>
<x:hidden name="fillinDate"/>
<x:hidden name="fullId"/>
<x:hidden name="organId"/>
<x:hidden name="organName"/>
<x:hidden name="deptId"/>
<x:hidden name="deptName"/>
<x:hidden name="positionId"/>
<x:hidden name="positionName"/>
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:selectC name="quotationType" label="报价单类型" dictionary="quotationType" labelCol="1" fieldCol="2"/>
<x:inputC name="quotationNo" label="报价单号" readonly="true" maxLength="32" labelCol="1" fieldCol="2"/>
<x:inputC name="customerManagerId" label="客户名称" labelCol="1" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:textareaC rows="3" name="quotationRemark" label="备注" labelCol="1" fieldCol="8"/>
</div>
</div>
<x:title title="BOM信息" name="group" hideTable="#info" />
<div id="bomGrid" style="margin: 2px;"></div>
<%--<x:title title="工艺信息" name="group" hideTable="#info" />
<div id="technologyGrid" style="margin: 2px;"></div>--%>
</form>
</div>
</body>
</html>
\ No newline at end of file
var gridManager = null;
$(document).ready(function () {
initializateUI();
loadQuotationListGrid();
});
function initializateUI() {
UICtrl.layout("#layout", {leftWidth: 3});
}
function loadQuotationListGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
addHandler();
},
printHandler :function(){
printHandler();
}
/*updateHandler: function(){
updateHandler();
},
deleteHandler: deleteHandler,*/
});
gridManager = UICtrl.grid("#quotationListGrid", {
columns: [
{
display: "报价单类型",
name: "quotationTypeTextView",
width: 140,
minWidth: 60,
type: "string",
align: "left"
},
{
display: "客户名称",
name: "customerManagerId",
width: 120,
minWidth: 60,
type: "string",
align: "left"
},
{display: "报价日期", name: "quotationDate", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "报价单号", name: "quotationNo", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "客户是否签回", name: "customerSignBackTextView", width: 100, minWidth: 60, type: "string", align: "left"},
{display: "创建人", name: "personMemberName", width: 100, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/quotation/slicedQuotationList.ajax',
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
width: "100%",
height: "100%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
onDblClickRow: function (data, rowindex, rowobj) {
viewHandler(data);
}
});
UICtrl.setSearchAreaToggle(gridManager);
}
function addHandler(){
UICtrl.addTabItem({
tabid: 'addQuotation',
text: "新增报价需求单",
url: web_app.name + '/quotation/forwardAddQuotation.job'
});
}
function viewHandler(data){
UICtrl.addTabItem({
tabid: 'addQuotation' + data.quotationId,
text: "查看报价需求单",
url: web_app.name + '/quotation/showQuotation.job?bizId='+data.quotationId
});
}
function printHandler(){
var row = DataUtil.getUpdateRow(gridManager);
if (!row) {
return;
}
if (row.status != 3){
Public.tip("请审批完成再打印!");
return;
}
Public.openPostWindow(web_app.name+'/quotation/print.load',{quotationId :row.quotationId});
}
function query(obj) {
var param = $(obj).formToJSON();
UICtrl.gridSearch(gridManager, param);
}
function reloadGrid() {
gridManager.loadData();
}
function resetForm(obj) {
$(obj).formClean();
}
<%@ 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/quotation/quotationList.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">
<x:inputC name="quotationNo" required="false" label="报价单号" labelCol="1"/>
<x:searchButtons />
</form>
<div class="blank_div clearfix"></div>
<div id="quotationListGrid" style="margin: 2px;"></div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
...@@ -26,6 +26,10 @@ function loadCostCenterListGrid() { ...@@ -26,6 +26,10 @@ function loadCostCenterListGrid() {
if (!row) { if (!row) {
return; return;
} }
if (row.isEnable == 0){
Public.errorTip("该成本中心已冻结,不能重复操作");
return;
}
UICtrl.addTabItem({ UICtrl.addTabItem({
tabid: 'CostCenterDetail', tabid: 'CostCenterDetail',
text: "冻结成本中心", text: "冻结成本中心",
......
...@@ -2,7 +2,6 @@ package com.huigou.topsun.base.dictionary.controller; ...@@ -2,7 +2,6 @@ package com.huigou.topsun.base.dictionary.controller;
import com.huigou.topsun.base.dictionary.GlobalCode; import com.huigou.topsun.base.dictionary.GlobalCode;
import com.huigou.topsun.base.dictionary.application.DictionaryImportApplication; import com.huigou.topsun.base.dictionary.application.DictionaryImportApplication;
import com.huigou.topsun.technology.domain.query.ProcessQueryRequest;
import com.huigou.uasp.annotation.ControllerMapping; import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.easysearch.EasySearch; import com.huigou.uasp.bmp.common.easysearch.EasySearch;
import com.huigou.uasp.bmp.common.easysearch.domain.model.EasySearchParse; import com.huigou.uasp.bmp.common.easysearch.domain.model.EasySearchParse;
......
...@@ -2,8 +2,6 @@ package com.huigou.topsun.controller; ...@@ -2,8 +2,6 @@ package com.huigou.topsun.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.huigou.cache.DictUtil; import com.huigou.cache.DictUtil;
import com.huigou.topsun.product.application.ColorApplication;
import com.huigou.topsun.product.domain.query.ColorQueryRequest;
import com.huigou.topsun.sap.dictionary.application.SapDictionaryApplication; import com.huigou.topsun.sap.dictionary.application.SapDictionaryApplication;
import com.huigou.uasp.annotation.ControllerMapping; import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.easysearch.EasySearch; import com.huigou.uasp.bmp.common.easysearch.EasySearch;
...@@ -27,43 +25,9 @@ import java.util.*; ...@@ -27,43 +25,9 @@ import java.util.*;
@Controller @Controller
@ControllerMapping("/resourceNameGroup") @ControllerMapping("/resourceNameGroup")
public class ResourceSearchController { public class ResourceSearchController {
@Resource
private ColorApplication colorApplication;
@Resource @Resource
private SapDictionaryApplication sapDictionaryApplication; private SapDictionaryApplication sapDictionaryApplication;
@EasySearch(queryName = "productChoose")
public Map<String, Object> productChoose(SDO sdo){
Integer intPage = sdo.getInteger("intPage", 1);
Integer pageSize = sdo.getInteger("pageSize",10);
PageRequest pageRequest = new PageRequest(intPage - 1, pageSize);
List<QuerySchemeField> fields =
Arrays.asList(new QuerySchemeField("productId", "productId", "hidden"),
new QuerySchemeField("产品编码", "productCode", "string", 200L),
new QuerySchemeField("产品名称", "productName", "hidden", 200L),
new QuerySchemeField("计量单位", "productUnit", "string", 100L)
);
EasySearchParse easySearchParse = new EasySearchParse();
easySearchParse.setFields(fields);
easySearchParse.setWidth(450L);
Map<String ,Object> map = new HashMap<>();
map.put("productId","1");
map.put("productCode","1");
map.put("productName","测试");
map.put("productUnit","张");
Map<String ,Object> map2 = new HashMap<>();
map2.put("productId","2");
map2.put("productCode","2");
map2.put("productName","测试2");
map2.put("productUnit","张");
List<Map<String,Object>> mapList = new ArrayList<>();
mapList.add(map);
mapList.add(map2);
MemEasySearcher<Map<String, Object>> memEasySearcher = new MemEasySearcherImpl<>();
Map<String, Object> model = memEasySearcher.search(mapList, easySearchParse, pageRequest, null);
return model;
}
@EasySearch(queryName = "sapMaterialSelect") @EasySearch(queryName = "sapMaterialSelect")
public Map<String, Object> sapMaterialSelect(SDO sdo){ public Map<String, Object> sapMaterialSelect(SDO sdo){
Integer intPage = sdo.getInteger("intPage", 1); Integer intPage = sdo.getInteger("intPage", 1);
...@@ -132,29 +96,6 @@ public class ResourceSearchController { ...@@ -132,29 +96,6 @@ public class ResourceSearchController {
return model; return model;
} }
@EasySearch(queryName = "queryColor")
public Map<String, Object> queryColor(SDO sdo){
Integer intPage = sdo.getInteger("intPage", 1);
Integer pageSize = sdo.getInteger("pageSize",10);
PageRequest pageRequest = new PageRequest(intPage - 1, pageSize);
List<QuerySchemeField> fields =
Arrays.asList(new QuerySchemeField("colorId", "colorId", "hidden"),
new QuerySchemeField("颜色编码", "colorCode", "string", 100L),
new QuerySchemeField("颜色名称", "colorName", "string", 200L)
);
EasySearchParse easySearchParse = new EasySearchParse();
easySearchParse.setFields(fields);
easySearchParse.setWidth(450L);
String colorName = sdo.getString("paramValue");
ColorQueryRequest queryRequest = sdo.toQueryRequest(ColorQueryRequest.class);
queryRequest.setColorName(colorName);
Map<String, Object> map = colorApplication.slicedColorList(queryRequest);
List<Map<String, Object>> mapList = (List<Map<String, Object>>)map.get("Rows");
MemEasySearcher<Map<String, Object>> memEasySearcher = new MemEasySearcherImpl<>();
Map<String, Object> model = memEasySearcher.search(mapList, easySearchParse, pageRequest, null);
return model;
}
@EasySearch(queryName = "dictionary") @EasySearch(queryName = "dictionary")
public Map<String, Object> queryDictionary(SDO sdo) throws IOException { public Map<String, Object> queryDictionary(SDO sdo) throws IOException {
String fieldName = sdo.getString("paramValue"); String fieldName = sdo.getString("paramValue");
......
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.Brand;
import java.util.ArrayList;
import java.util.Map;
/**
* @author 16508
* @description 针对表【brand(品牌)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface BrandApplication {
Map<String, Object> querySelectableInFactoryName();
ArrayList<Brand> findAll();
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.query.ColorQueryRequest;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【color(颜色)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ColorApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/product/color.xml";
Map<String, Object> slicedColorList(ColorQueryRequest queryRequest);
}
package com.huigou.topsun.product.application;
/**
* @author 16508
* @description 针对表【factory(生产工厂)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface FactoryApplication {
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.*;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import com.huigou.topsun.product.domain.vo.ProductAllDataVo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【product(产品)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/product/product.xml";
/**
* description 查询产品列表
* @param page 当前页
* @param size 页大小
* @return org.springframework.data.domain.Page<com.huigou.topsun.product.domain.Product>
* @author qinzhenguan
* @createDate 2023/11/29 9:34
*/
ArrayList<Map<String, Object>> findProductPage(int page, int size);
/**
* description 获取产品所有信息
* @param product 产品
* @return java.util.Map<java.lang.String, java.lang.Object>
* @author qinzhenguan
* @createDate 2023/11/29 9:33
*/
Map<String, Object> queryDetailAll(Product product);
/**
* description 对比所有对象,并保存更改的数据。
*
* @param newData 更新数据
* @return java.util.HashMap<java.lang.String, java.lang.Object>
* @author qinzhenguan
* @createDate 2023/12/8 17:19
*/
HashMap<String, Object> saveOrUpdataOnAllDetail(HashMap<String, Object> newData);
HashMap<String, Object> queryProductList();
/**
* 保存产品基本信息
* @param product
* @return
*/
Product saveProduct(Product product);
ProductAllDataVo findProductAllData(String productId);
Map<String, Object> saveProductAllData(Product product, ProductDetail productDetail, ProductFace productFace, ProductLooked productLooked, ProductPublishedConf productPublishedConf, ProductTechnology productTechnology, List<ProductLoss> lossList, List<ProductProcess> processList, List<ProductFaceColor> frontFaceColorList, List<ProductFaceColor> backFaceColorList, List<ProductMaterial> productMaterialList);
Map<String,Object> slicedProductList(ProductQueryRequest queryRequest);
void updateAProductStatus(List<String> ids, String status);
void ConversionToOfficialProducts(String ids);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductCategory;
/**
* @author 16508
* @description 针对表【product_category(产品类别)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductCategoryApplication {
ProductCategory getProductCategoryById(String id);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductDetail;
/**
* @author 16508
* @description 针对表【product_detail(产品详细信息)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductDetailApplication {
ProductDetail saveProductDetail(String productId,ProductDetail productDetail);
ProductDetail findByProductId(String productId);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductFace;
/**
* @author 16508
* @description 针对表【product_face(产品版面信息)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductFaceApplication {
ProductFace saveProductFace(String productId,ProductFace productFace);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductFaceColor;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【product_face_color(产品版面颜色)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductFaceColorApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/product/productFaceColor.xml";
void saveProductFaceColorList(String productId, List<ProductFaceColor> productFaceColorList);
Map<String,Object> slicedProductFaceColorList(ProductQueryRequest queryRequest);
void deleteFaceColor(List<String> ids);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductLooked;
/**
* @author 16508
* @description 针对表【product_looked(产品外观)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductLookedApplication {
/**
* 根据productLooked对象实体拼接条件获取productLooked对象
* @param productLooked
* @return
*/
ProductLooked getProductLookedByEntity(ProductLooked productLooked);
ProductLooked saveProductLooked(String productId,ProductLooked productLooked);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductLoss;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【product_loss(产品loss配置)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductLossApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/product/productLoss.xml";
void saveProductLossList(String productId, List<ProductLoss> productLossList);
Map<String,Object> slicedProductLossList(ProductQueryRequest queryRequest);
void deleteProductLoss(List<String> ids);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductMaterial;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【product_material(产品物料组成)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductMaterialApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/product/productMaterial.xml";
Map<String,Object> slicedProductBom(String productId);
void saveProductMaterial(String productId, List<ProductMaterial> productMaterialList);
Map<String,Object> slicedProductMaterialList(ProductQueryRequest queryRequest);
void deleteProductMaterial(List<String> ids);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductProcess;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
@author YourUserName
*/
public interface ProductProcessApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/product/productProcess.xml";
List<ProductProcess> queryProcessbyTechnologyId(String technologyId);
void saveProductProcessList(String productTechnologyId,List<ProductProcess> productProcessList);
Map<String,Object> slicedProductProcessList(ProductQueryRequest productQueryRequest);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductPublishedConf;
/**
* @author 16508
* @description 针对表【product_published_conf(产品打样排版参数配置)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductPublishedConfApplication {
ProductPublishedConf saveProductPublishedConf(String productId,ProductPublishedConf productPublishedConf);
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.ProductTechnology;
/**
* @Auther: xin.lu
* @Date: 2024/01/05/10:43
* @Description:
*/
public interface ProductTechnologyApplication {
ProductTechnology saveProductTechnology(String productId,ProductTechnology productTechnology);
}
package com.huigou.topsun.product.application;
/**
* @author 16508
* @description 针对表【product_typeset_conf(产品排版配置ID)】的数据库操作Service
* @createDate 2023-11-22 10:24:31
*/
public interface ProductTypesetConfApplication {
}
package com.huigou.topsun.product.application;
import com.huigou.topsun.product.domain.query.SizeGroupQueryRequest;
import com.huigou.topsun.product.domain.vo.SizeGroupItemVo;
import com.huigou.topsun.product.domain.vo.SizeGroupVo;
import java.util.List;
import java.util.Map;
/**
* title: 尺码组相关业务
* author:ZHT
* date:2023/12/8
* description:
* 关于尺码组相关业务的service实现
* 表: size_group
*/
public interface SizeGroupApplication {
public static final String QUERY_XML_FILE_PATH = "config/topsun/product/sizeGroup.xml";
/**
* 获取页码组列表
*/
Map<String,Object> getSizeGroupList(SizeGroupQueryRequest queryRequest);
SizeGroupVo saveSizeGroup(SizeGroupVo sizeGroupVo, List<SizeGroupItemVo> sizeGroupItemList);
void updateSizeGroup(SizeGroupVo sizeGroupVo, List<SizeGroupItemVo> sizeGroupItemList);
SizeGroupVo findSIzeGroupBySizeGroupId(String sizeGroupId);
void deleteSizeGroup(List<String> ids);
// Object slicedSizeGroupItemList(String sizeGroupId);
Object findBySizeGroupId(String sizeGroupId);
void deleteSizeGroupItemById(List<String> ids);
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.BrandApplication;
import com.huigou.topsun.product.domain.Brand;
import com.huigou.topsun.product.repository.BrandRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author 16508
* @description 针对表【brand(品牌)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class BrandApplicationImpl implements BrandApplication {
@Autowired
private BrandRepository brandRepository;
@Override
public Map<String, Object> querySelectableInFactoryName() {
ArrayList<Brand> brands = this.findAll();
Map<String, Brand> map = brands.stream().collect(Collectors.toMap(Brand::getBrandName, (b) -> b));
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("map", map);
resultMap.put("list", brands);
return resultMap;
}
@Override
public ArrayList<Brand> findAll() {
return (ArrayList<Brand>) brandRepository.findAll();
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.cache.DictUtil;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.product.application.ColorApplication;
import com.huigou.topsun.product.domain.query.ColorQueryRequest;
import com.huigou.topsun.technology.domain.query.ProcessQueryRequest;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【color(颜色)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ColorApplicationImpl extends BaseApplication implements ColorApplication {
@Override
public Map<String, Object> slicedColorList(ColorQueryRequest queryRequest) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "colorList");
return this.sqlExecutorDao.executeSlicedQuery(queryDescriptor,queryRequest);
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.FactoryApplication;
import org.springframework.stereotype.Service;
/**
* @author 16508
* @description 针对表【factory(生产工厂)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class FactoryApplicationImpl implements FactoryApplication {
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.ProductCategoryApplication;
import com.huigou.topsun.product.domain.ProductCategory;
import com.huigou.topsun.product.repository.ProductCategoryRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author 16508
* @description 针对表【product_category(产品类别)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductCategoryApplicationImpl implements ProductCategoryApplication {
@Autowired
ProductCategoryRepository productCategoryRepository;
@Override
public ProductCategory getProductCategoryById(String id) {
return productCategoryRepository.findOne(id);
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.ProductDetailApplication;
import com.huigou.topsun.product.domain.ProductDetail;
import com.huigou.topsun.product.repository.ProductDetailRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author 16508
* @description 针对表【product_detail(产品详细信息)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductDetailApplicationImpl extends BaseApplication implements ProductDetailApplication {
@Resource
private ProductDetailRepository productDetailRepository;
@Override
public ProductDetail saveProductDetail(String productId, ProductDetail productDetail) {
productDetail.setProductId(productId);
return productDetailRepository.save(productDetail);
}
@Override
public ProductDetail findByProductId(String productId) {
return productDetailRepository.findByProductId(productId);
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.ProductFaceApplication;
import com.huigou.topsun.product.domain.ProductFace;
import com.huigou.topsun.product.repository.ProductFaceRepository;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author 16508
* @description 针对表【product_face(产品版面信息)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductFaceApplicationImpl implements ProductFaceApplication {
@Resource
private ProductFaceRepository productFaceRepository;
@Override
public ProductFace saveProductFace(String productId, ProductFace productFace) {
productFace.setProductId(productId);
return productFaceRepository.save(productFace);
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.cache.DictUtil;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.product.application.ProductFaceColorApplication;
import com.huigou.topsun.product.domain.ProductFaceColor;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import com.huigou.topsun.product.repository.ProductFaceColorRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.util.StringUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【product_face_color(产品版面颜色)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductFaceColorApplicationImpl extends BaseApplication implements ProductFaceColorApplication {
@Resource
private ProductFaceColorRepository productFaceColorRepository;
@Override
public void saveProductFaceColorList(String productId, List<ProductFaceColor> productFaceColorList) {
productFaceColorList.forEach(productFaceColor -> {
productFaceColor.setProductId(productId);
productFaceColorRepository.save(productFaceColor);
});
}
@Override
public Map<String, Object> slicedProductFaceColorList(ProductQueryRequest queryRequest) {
Map<String, Object> map = new HashMap<>();
if (StringUtil.isNotBlank(queryRequest.getProductId())){
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "productFaceColorList");
QueryModel model = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
map = this.sqlExecutorDao.executeSlicedQuery(model);
}
return map;
}
@Override
public void deleteFaceColor(List<String> ids) {
ids.forEach(id->{
productFaceColorRepository.delete(id);
});
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.ProductLookedApplication;
import com.huigou.topsun.product.domain.ProductLooked;
import com.huigou.topsun.product.domain.ProductLoss;
import com.huigou.topsun.product.repository.ProductLookedRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.stereotype.Service;
/**
* @author 16508
* @description 针对表【product_looked(产品外观)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductLookedApplicationImpl implements ProductLookedApplication {
@Autowired
ProductLookedRepository productLookedRepository;
@Override
public ProductLooked getProductLookedByEntity(ProductLooked productLooked) {
ExampleMatcher matcher = ExampleMatcher.matching();
// 构建 Example 对象
Example<ProductLooked> example = Example.of(productLooked, matcher);
return productLookedRepository.findOne(example);
}
@Override
public ProductLooked saveProductLooked(String productId, ProductLooked productLooked) {
productLooked.setProductId(productId);
return productLookedRepository.save(productLooked);
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.product.application.ProductLossApplication;
import com.huigou.topsun.product.domain.ProductLoss;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import com.huigou.topsun.product.repository.ProductLossRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.util.StringUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【product_loss(产品loss配置)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductLossApplicationImpl extends BaseApplication implements ProductLossApplication {
@Resource
private ProductLossRepository productLossRepository;
@Override
public void saveProductLossList(String productId, List<ProductLoss> productLossList) {
productLossList.forEach(productLoss -> {
productLoss.setProductId(productId);
productLossRepository.save(productLoss);
});
}
@Override
public Map<String, Object> slicedProductLossList(ProductQueryRequest queryRequest) {
Map<String,Object> map = new HashMap<>();
if (StringUtil.isNotBlank(queryRequest.getProductId())){
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "productLossList");
QueryModel model = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
map = this.sqlExecutorDao.executeSlicedQuery(model);
}
return map;
}
@Override
public void deleteProductLoss(List<String> ids) {
ids.forEach(id->{
productLossRepository.delete(id);
});
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.product.application.ProductMaterialApplication;
import com.huigou.topsun.product.domain.ProductMaterial;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import com.huigou.topsun.product.repository.ProductMaterialRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.util.StringUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 16508
* @description 针对表【product_material(产品物料组成)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductMaterialApplicationImpl extends BaseApplication implements ProductMaterialApplication {
@Resource
private ProductMaterialRepository productMaterialRepository;
@Override
public Map<String, Object> slicedProductBom(String productId) {
Map<String, Object> map = new HashMap<>();
List<ProductMaterial> byProductId = productMaterialRepository.findByProductId(productId);
ArrayList<HashMap<String, Object>> productBoms = new ArrayList<>();
for (ProductMaterial productMaterial : byProductId) {
HashMap<String, Object> rowMap = new HashMap<>();
rowMap.put("ALPGR", productMaterial.getMaterialAlpgr());
rowMap.put("materialName", productMaterial.getMaterialName());
rowMap.put("materialNumber", productMaterial.getMaterialNumber());
rowMap.put("AUSCH", productMaterial.getMaterialAusch());
rowMap.put("POTX1", productMaterial.getMaterialPotx1());
rowMap.put("materialJson", productMaterial.getMaterialJson());
rowMap.put("ALPRF", productMaterial.getMaterialAlprf());
rowMap.put("ALPST", productMaterial.getMaterialAlpst());
rowMap.put("EWAHR", productMaterial.getMaterialEwahr());
rowMap.put("materialId", productMaterial.getMaterialId());
rowMap.put("materialUnit", productMaterial.getMaterialUnit());
rowMap.put("bomId", productMaterial.getProductMaterialId());
rowMap.put("primaryKey", productMaterial.getProductId());
rowMap.put("ITEM_NUMBRE",productMaterial.getMaterialItemNumber());
rowMap.put("CATEGORY",productMaterial.getMaterialCategory());
rowMap.put("PROCURE",productMaterial.getMaterialProcure());
rowMap.put("NOTE",productMaterial.getMaterialNote());
productBoms.add(rowMap);
}
map.put("Total", byProductId.size());
map.put("page", 1);
map.put("Rows", productBoms);
return map;
}
@Override
public void saveProductMaterial(String productId, List<ProductMaterial> productMaterialList) {
productMaterialList.forEach(productMaterial -> {
productMaterial.setProductId(productId);
productMaterialRepository.save(productMaterial);
});
}
@Override
public Map<String, Object> slicedProductMaterialList(ProductQueryRequest queryRequest) {
Map<String, Object> map = new HashMap<>();
if (StringUtil.isNotBlank(queryRequest.getProductId())) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "productMaterialList");
QueryModel model = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
map = this.sqlExecutorDao.executeSlicedQuery(model);
}
return map;
}
@Override
public void deleteProductMaterial(List<String> ids) {
ids.forEach(id -> {
productMaterialRepository.delete(id);
});
}
}
package com.huigou.topsun.product.application.impl;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.product.application.ProductProcessApplication;
import com.huigou.topsun.product.domain.ProductProcess;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import com.huigou.topsun.product.repository.ProductProcessRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.util.StringUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@author qinzhenguan
*/
@Service
@RequiredArgsConstructor
public class ProductProcessApplicationImpl extends BaseApplication implements ProductProcessApplication {
private final ProductProcessRepository processRepository;
private final ObjectMapper objectMapper;
@Override
public List<ProductProcess> queryProcessbyTechnologyId(String technologyId) {
ArrayList<ProductProcess> processList = new ArrayList<>();
if(technologyId != null) {
processList = (ArrayList<ProductProcess>) processRepository.findByProductTechnologyId(technologyId);
}
if(processList.size() == 0) {
ProductProcess fc = new ProductProcess();
fc.setProductTechnologyId("556");
fc.setProductProcessId("111");
fc.setProductionSequence(1);
processList .add(fc);
}
return processList;
}
@Override
public void saveProductProcessList(String productTechnologyId, List<ProductProcess> productProcessList) {
//先删除在保存
List<ProductProcess> processList = processRepository.findByProductTechnologyId(productTechnologyId);
processRepository.delete(processList);
productProcessList.forEach(productProcess -> {
productProcess.setProductTechnologyId(productTechnologyId);
processRepository.save(productProcess);
});
}
@Override
public Map<String, Object> slicedProductProcessList(ProductQueryRequest queryRequest) {
Map<String,Object> map = new HashMap<>();
if (StringUtil.isNotBlank(queryRequest.getProductTechnologyId())){
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "productProcessList");
QueryModel model = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
map = this.sqlExecutorDao.executeSlicedQuery(model);
}
return map;
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.ProductPublishedConfApplication;
import com.huigou.topsun.product.domain.ProductPublishedConf;
import com.huigou.topsun.product.repository.ProductPublishedConfRepository;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @author 16508
* @description 针对表【product_published_conf(产品打样排版参数配置)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductPublishedConfApplicationImpl implements ProductPublishedConfApplication {
@Resource
private ProductPublishedConfRepository productPublishedConfRepository;
@Override
public ProductPublishedConf saveProductPublishedConf(String productId, ProductPublishedConf productPublishedConf) {
productPublishedConf.setProductId(productId);
return productPublishedConfRepository.save(productPublishedConf);
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.ProductTechnologyApplication;
import com.huigou.topsun.product.domain.ProductTechnology;
import com.huigou.topsun.product.repository.ProductTechnologyRepository;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @Auther: xin.lu
* @Date: 2024/01/05/10:43
* @Description:
*/
@Service
public class ProductTechnologyApplicationImpl implements ProductTechnologyApplication {
@Resource
private ProductTechnologyRepository productTechnologyRepository;
@Override
public ProductTechnology saveProductTechnology(String productId, ProductTechnology productTechnology) {
productTechnology.setProductId(productId);
return productTechnologyRepository.save(productTechnology);
}
}
package com.huigou.topsun.product.application.impl;
import com.huigou.topsun.product.application.ProductTypesetConfApplication;
import org.springframework.stereotype.Service;
/**
* @author 16508
* @description 针对表【product_typeset_conf(产品排版配置ID)】的数据库操作Service实现
* @createDate 2023-11-22 10:24:31
*/
@Service
public class ProductTypesetConfApplicationImpl implements ProductTypesetConfApplication {
}
package com.huigou.topsun.product.application.impl;
import com.huigou.cache.DictUtil;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.product.application.SizeGroupApplication;
import com.huigou.topsun.product.domain.SizeGroup;
import com.huigou.topsun.product.domain.SizeGroupItem;
import com.huigou.topsun.product.domain.query.SizeGroupQueryRequest;
import com.huigou.topsun.product.domain.vo.SizeGroupItemVo;
import com.huigou.topsun.product.domain.vo.SizeGroupVo;
import com.huigou.topsun.product.repository.SizeGroupItemRepository;
import com.huigou.topsun.product.repository.SizeGroupRepository;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* title:
* author:ZHT
* date:2023/12/8
* description:
*/
@Service
public class SizeGroupApplicationImpl extends BaseApplication implements SizeGroupApplication {
@Autowired
private SizeGroupRepository sizeGroupRepository;
@Autowired
private SizeGroupItemRepository sizeGroupItemRepository;
@Override
public Map<String, Object> getSizeGroupList(SizeGroupQueryRequest queryRequest) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sizeGroup");
QueryModel model = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
model.putDictionary("sizeGroupType", DictUtil.getDictionary("sizeGroupType"));
return this.sqlExecutorDao.executeSlicedQuery(model);
}
/**
* 保存尺码组信息及尺码信息
*
* @param sizeGroupVo 尺码组信息
* @param sizeGroupItemList 尺码列表
* @return
*/
@Override
public SizeGroupVo saveSizeGroup(SizeGroupVo sizeGroupVo, List<SizeGroupItemVo> sizeGroupItemList) {
// 获取尺码组对象
SizeGroup sizeGroup = SizeGroupVo.getSizeGroup(sizeGroupVo);
// 封装时间信息
// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long timestamp = System.currentTimeMillis();
sizeGroup.setCreatedDate(new Date(timestamp));
sizeGroup = save(sizeGroupItemList, sizeGroup);
sizeGroupVo.setSizeGroupId(sizeGroup.getSizeGroupId());
return sizeGroupVo;
}
/**
* 修改尺码组信息
*
* @param sizeGroupVo
* @param sizeGroupItemList
*/
@Override
public void updateSizeGroup(SizeGroupVo sizeGroupVo, List<SizeGroupItemVo> sizeGroupItemList) {
// 获取尺码组对象
SizeGroup sizeGroup = SizeGroupVo.getSizeGroup(sizeGroupVo);
// 封装时间信息
// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long timestamp = System.currentTimeMillis();
sizeGroup.setLastModifiedDate(new Date(timestamp));
// 获取原有信息
SizeGroup old = sizeGroupRepository.findOne(sizeGroup.getSizeGroupId());
// 封装原有创建人信息到VO对象中
sizeGroup.setCreatedById(old.getCreatedById());
sizeGroup.setCreatedByName(old.getCreatedByName());
sizeGroup.setCreatedDate(old.getCreatedDate());
// 保存修改的信息
save(sizeGroupItemList, sizeGroup);
}
/**
* 根据sizeGroupId获取尺码组信息
* @param sizeGroupId
* @return
*/
@Override
public SizeGroupVo findSIzeGroupBySizeGroupId(String sizeGroupId) {
SizeGroup sizeGroup = sizeGroupRepository.findOne(sizeGroupId);
return SizeGroupVo.getSizeGroupVo(sizeGroup);
}
/**
* 删除尺码组信息及相关尺码
* @param ids
*/
@Override
public void deleteSizeGroup(List<String> ids) {
ids.forEach(sizeGroupId->{
List<SizeGroupItem> sizeGroupItemList = findBySizeGroupId(sizeGroupId);
List<String> sizeGroupItemIds = sizeGroupItemList
.stream()
.map(SizeGroupItem::getSizeGroupItemId)
.collect(Collectors.toList());
//删除尺码组相关的尺码信息
deleteBySizeGroupItemIds(sizeGroupItemIds);
//删除尺码组
sizeGroupRepository.delete(sizeGroupId);
});
}
// @Override
// public Object slicedSizeGroupItemList(String sizeGroupId) {
// QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "slicedTechnologyProcessList");
// String sql = queryDescriptor.getSql();
// return this.sqlExecutorDao.queryToListMap(sql,sizeGroupId);
// return findBySizeGroupId(sizeGroupId);
// }
/**
* 提取方法--保存尺码组信息、尺码列表信息到数据库
*/
private SizeGroup save(List<SizeGroupItemVo> sizeGroupItemList, SizeGroup sizeGroup) {
// 保存
sizeGroup = sizeGroupRepository.saveAndFlush(sizeGroup);
// 保存尺码信息
if (!sizeGroupItemList.isEmpty()) {
// 尺码信息不为空,保存尺码列表
String sizeGroupId = sizeGroup.getSizeGroupId();
for (SizeGroupItemVo sizeGroupItemVo : sizeGroupItemList) {
SizeGroupItem sizeGroupItem = SizeGroupItemVo.getSizeGroupItem(sizeGroupItemVo);
sizeGroupItem.setSizeGroupId(sizeGroupId);
sizeGroupItemRepository.saveAndFlush(sizeGroupItem);
}
}
return sizeGroup;
}
/**
* 删除尺码列表
*/
public void deleteBySizeGroupItemIds(List<String> sizeGroupItemIds) {
List<SizeGroupItem> sizeGroupItemList = sizeGroupItemRepository.findAll(sizeGroupItemIds);
sizeGroupItemRepository.delete(sizeGroupItemList);
}
/**
* 查找尺码组下的尺码列表
*/
@Override
public List<SizeGroupItem> findBySizeGroupId(String sizeGroupId) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "findBySizeGroupId");
String sql = queryDescriptor.getSql();
return this.sqlExecutorDao.queryToList(sql,SizeGroupItem.class,sizeGroupId);
// return sizeGroupItemRepository.findBySizeGroupId(sizeGroupId);
}
@Override
public void deleteSizeGroupItemById(List<String> ids) {
for (String id : ids) {
sizeGroupItemRepository.delete(id);
}
}
}
package com.huigou.topsun.product.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.context.Operator;
import com.huigou.topsun.product.application.*;
import com.huigou.topsun.product.domain.*;
import com.huigou.topsun.product.domain.query.ProductQueryRequest;
import com.huigou.topsun.product.domain.vo.ProductAllDataVo;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.annotation.SkipAuth;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import com.huigou.util.StringUtil;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* ProductController
*
* @author qinzhenguan
* @createDate 2023/11/27 11:19
**/
@Controller
@ControllerMapping("/product")
public class ProductController extends CommonController {
@Resource
private ProductApplication productService;
@Resource
private ProductProcessApplication processService;
@Resource
private ObjectMapper objectMapper;
@Resource
private ProductLossApplication productLossApplication;
@Resource
private ProductProcessApplication productProcessApplication;
@Resource
private ProductFaceColorApplication productFaceColorApplication;
@Resource
private ProductMaterialApplication productMaterialApplication;
@Override
protected String getPagePath() {
return "/biz/topsun/product/";
}
/**
* description
*
* @return null
* @author qinzhenguan
* @createDate 2023/11/27 11:49
*/
public String findProduct() {//需要特定类型返回值
ArrayList<Map<String, Object>> productPage = productService.findProductPage(0, 30);
HashMap<Object, Object> map = new HashMap<>(3);
map.put("Rows", productPage);
return toResult(map);
}
public String slicedProductList() {
SDO sdo = this.getSDO();
ProductQueryRequest queryRequest = sdo.toQueryRequest(ProductQueryRequest.class);
return toResult(productService.slicedProductList(queryRequest));
}
public String forwardProduct() {
return forward("product");
}
public String forwardProductDetail() {
ObjectMapper objectMapper = new ObjectMapper();
SDO sdo = this.getSDO();
String str = sdo.getString("data");
HashMap<String, Object> param = new HashMap<>();
if (StringUtil.isNotBlank(str)) {
try {
param = objectMapper.readValue(str, new TypeReference<HashMap<String, Object>>() {
});
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
return forward("productDetail2", param);
}
public String forwardProductDetail2() {
SDO sdo = this.getSDO();
String productId = sdo.getString("productId");
ProductAllDataVo productAllDataVo = productService.findProductAllData(productId);
return forward("productDetail2", productAllDataVo);
}
public String loadProductDetail() {
SDO sdo = this.getSDO();
Product product = new Product();
String data = sdo.getString("data");
if (StringUtil.isNotBlank(data)) {
try {
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
product = objectMapper.readValue(data + "", Product.class);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
Map<String, Object> resultMap = new HashMap<>();
if (product.getProductId() != null) {
resultMap = productService.queryDetailAll(product);
}
return toResult(resultMap);
}
public String saveOrUpdateOnAllDetail() throws JsonProcessingException {
SDO sdo = this.getSDO();
String productId = sdo.getString("productId");
HashMap<String, Object> newData;
try {
newData = objectMapper.readValue(sdo.getString("data"), new TypeReference<HashMap<String, Object>>() {
});
newData.put("productId", productId);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
HashMap<String, Object> resultMap = productService.saveOrUpdataOnAllDetail(newData);
return success(resultMap);
}
public String queryProcessbyTechnologyId() {
SDO sdo = this.getSDO();
String technologyId = sdo.getString("productTechnologyId");
List<ProductProcess> list = processService.queryProcessbyTechnologyId(technologyId);
return success(list);
}
@SkipAuth
public String queryProductList() {
HashMap<String, Object> aa = productService.queryProductList();
String json = "";
try {
json = objectMapper.writeValueAsString(aa);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
return success(json);
}
public String saveProduct() {
SDO sdo = this.getSDO();
Product product = sdo.toObject(Product.class);
ProductDetail productDetail = sdo.toObject(ProductDetail.class);
ProductFace productFace = sdo.toObject(ProductFace.class);
ProductLooked productLooked = sdo.toObject(ProductLooked.class);
ProductPublishedConf productPublishedConf = sdo.toObject(ProductPublishedConf.class);
ProductTechnology productTechnology = sdo.toObject(ProductTechnology.class);
List<ProductLoss> lossList = sdo.getList("lossList", ProductLoss.class);
List<ProductProcess> processList = sdo.getList("processList", ProductProcess.class);
List<ProductFaceColor> frontFaceColorList = sdo.getList("frontFaceColorList", ProductFaceColor.class);
List<ProductFaceColor> backFaceColorList = sdo.getList("backFaceColorList", ProductFaceColor.class);
List<ProductMaterial> productMaterialList = sdo.getList("productMaterialList", ProductMaterial.class);
Map<String, Object> map = productService.saveProductAllData(product, productDetail, productFace, productLooked, productPublishedConf, productTechnology,
lossList, processList, frontFaceColorList, backFaceColorList, productMaterialList);
return success(map);
}
public String slicedFrontColorList() {
SDO sdo = this.getSDO();
ProductQueryRequest queryRequest = sdo.toQueryRequest(ProductQueryRequest.class);
return toResult(productFaceColorApplication.slicedProductFaceColorList(queryRequest));
}
public String slicedProductProcessList() {
SDO sdo = this.getSDO();
ProductQueryRequest queryRequest = sdo.toQueryRequest(ProductQueryRequest.class);
return toResult(productProcessApplication.slicedProductProcessList(queryRequest));
}
public String slicedProductLossList() {
SDO sdo = this.getSDO();
ProductQueryRequest queryRequest = sdo.toQueryRequest(ProductQueryRequest.class);
return toResult(productLossApplication.slicedProductLossList(queryRequest));
}
public String slicedProductMaterialList() {
SDO sdo = this.getSDO();
ProductQueryRequest queryRequest = sdo.toQueryRequest(ProductQueryRequest.class);
return toResult(productMaterialApplication.slicedProductMaterialList(queryRequest));
}
public String deleteFaceColor() {
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
productFaceColorApplication.deleteFaceColor(ids);
return success();
}
public String deleteProductLoss() {
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
productLossApplication.deleteProductLoss(ids);
return success();
}
public String deleteProductMaterial() {
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
productMaterialApplication.deleteProductMaterial(ids);
return success();
}
public String updateAProductStatus() {
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
String status = sdo.getString("status");
productService.updateAProductStatus(ids,status);
return success();
}
public String ConversionToOfficialProducts(){
SDO sdo = this.getSDO();
String ids = sdo.getString("ids");
productService.ConversionToOfficialProducts(ids);
return success();
}
}
//// 通过此方法可以查看系统配置的 字典 的数据结构
// DictUtil.getDictionaryList("technologyType");
// Map<String, Object> map4 = new HashMap<>(10);
// map4.put("六六六", "666");
// map4.put("七七七", "777");
// map4.put("八八八", "888");
\ No newline at end of file
package com.huigou.topsun.product.controller;
import com.huigou.cache.DictUtil;
import com.huigou.topsun.product.application.SizeGroupApplication;
import com.huigou.topsun.product.domain.query.SizeGroupQueryRequest;
import com.huigou.topsun.product.domain.vo.SizeGroupItemVo;
import com.huigou.topsun.product.domain.vo.SizeGroupVo;
import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO;
import com.huigou.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import java.util.List;
import java.util.Map;
/**
* title: 尺码组相关业务
* author:ZHT
* date:2023/12/8
* description:
*/
@Controller
@ControllerMapping("/sizeGroup")
public class SizeGroupController extends CommonController {
@Autowired
private SizeGroupApplication sizeGroupApplication;
@Override
protected String getPagePath() {
return "/biz/topsun/product/";
}
/**
* 跳转到尺码组页面
*/
public String forwardSizeGroupList() {
Map<String, String> processType = DictUtil.getDictionary("processType");
this.putAttribute("processType", processType);
return forward("sizeGroup");
}
/**
* 跳转到尺码组添加/修改/明细页面
*/
public String addSizeGroupDetail(){
return forward("sizeGroupDetail");
}
/**
* 获取尺码组列表(分页)
*/
public String findSizeGroupList() {
SDO sdo = this.getSDO();
SizeGroupQueryRequest sizeGroupQueryRequest = sdo.toQueryRequest(SizeGroupQueryRequest.class);
return toResult(sizeGroupApplication.getSizeGroupList(sizeGroupQueryRequest));
}
/**
* 添加新的尺码组信息
*/
public String saveSizeGroup() {
SDO sdo = this.getSDO();
SizeGroupVo sizeGroupVo = sdo.toObject(SizeGroupVo.class);
List<SizeGroupItemVo> sizeGroupItemList = sdo.getList("sizeGroupItemList", SizeGroupItemVo.class);
// 获取操作人信息
String personMemberId = sdo.getOperator().getPersonMemberId();
String personMemberName = sdo.getOperator().getPersonMemberName();
if (StringUtil.isNotBlank(sizeGroupVo.getSizeGroupId())) {
// 封装修改人信息
sizeGroupVo.setLastModifiedById(personMemberId);
sizeGroupVo.setLastModifiedByName(personMemberName);
// 修改尺码组信息和尺码信息
sizeGroupApplication.updateSizeGroup(sizeGroupVo, sizeGroupItemList);
} else {
// 封装创建人信息
sizeGroupVo.setCreatedById(personMemberId);
sizeGroupVo.setCreatedByName(personMemberName);
sizeGroupVo = sizeGroupApplication.saveSizeGroup(sizeGroupVo, sizeGroupItemList);
}
return success(sizeGroupVo);
}
/**
* 编辑选中的尺码组信息
*/
// public String updateSizeGroup() {
// return "";
// }
/**
* 删除选中的尺码组
*/
public String deleteSizeGroupById() {
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
sizeGroupApplication.deleteSizeGroup(ids);
return success();
}
/**
* 根据尺码组id获取尺码列表
*/
public String findSizeGroupItemByGroupId() {
return "";
}
/**
* 添加尺码
*/
public String saveSizeGroupItem() {
return "";
}
/**
* 修改尺码
*/
public String updateSizeGroupItem() {
return "";
}
/**
* 删除尺码
*/
public String deleteSizeGroupItemById() {
SDO sdo = this.getSDO();
List<String> ids = sdo.getIds();
sizeGroupApplication.deleteSizeGroupItemById(ids);
return success();
}
/**
* 查看尺码组明细
*/
public String showSizeGroupDetail() {
SDO sdo = this.getSDO();
String sizeGroupId = sdo.getString("sizeGroupId");
// this.putAttribute("productName", "1");
SizeGroupVo sizeGroupVo = sizeGroupApplication.findSIzeGroupBySizeGroupId(sizeGroupId);
return forward("sizeGroupDetail", sizeGroupVo);
}
public String slicedSizeGroupItemList(){
SDO sdo = this.getSDO();
String sizeGroupId = sdo.getString("sizeGroupId");
return packGridDataAndResult(sizeGroupApplication.findBySizeGroupId(sizeGroupId));
}
}
package com.huigou.topsun.product.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huigou.topsun.common.NumberToStringSerializer;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author YourUserName
* 品牌
*/
@JsonInclude(JsonInclude.Include.ALWAYS)
@JsonIgnoreProperties(ignoreUnknown = true)
@Entity
@Table(name = "brand")
public class Brand implements Serializable {
/**
* 品牌ID
*/
@Id
//@JsonSerialize(using = NumberToStringSerializer.class)
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "guid")
@Column(name = "brand_id")
private String brandId;
/**
* 品牌名称
*/
@Column(name = "brand_name", nullable = false, length = 128)
private String brandName;
/**
* 品牌编码
*/
@Column(name = "brand_code", nullable = true, length = 32)
private String brandCode;
/**
* 品牌备注
*/
@Column(name = "brand_remark", nullable = true, length = 1024)
private String brandRemark;
public String getBrandId() {
return this.brandId;
}
public void setBrandId (String brandId) {
this.brandId = brandId;
}
public String getBrandName() {
return this.brandName;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public String getBrandCode() {
return this.brandCode;
}
public void setBrandCode(String brandCode) {
this.brandCode = brandCode;
}
public String getBrandRemark() {
return this.brandRemark;
}
public void setBrandRemark(String brandRemark) {
this.brandRemark = brandRemark;
}
}
package com.huigou.topsun.product.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huigou.topsun.common.NumberToStringSerializer;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author YourUserName
* 颜色
*/
@JsonInclude(JsonInclude.Include.ALWAYS)
@JsonIgnoreProperties(ignoreUnknown = true)
@Entity
@Table(name = "color")
public class Color implements Serializable {
/**
* 颜色ID
*/
@Id
//@JsonSerialize(using = NumberToStringSerializer.class)
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "guid")
@Column(name = "color_id", nullable = false)
private String colorId;
/**
* 颜色名称
*/
@Column(name = "color_name", nullable = true, length = 128)
private String colorName;
/**
* 颜色编码
*/
@Column(name = "color_code", nullable = true, length = 32)
private String colorCode;
/**
* 备注
*/
@Column(name = "color_remark", nullable = true, length = 255)
private String colorRemark;
public String getColorId() {
return this.colorId;
}
public void setColorId (String colorId) {
this.colorId = colorId;
}
public String getColorName() {
return this.colorName;
}
public void setColorName(String colorName) {
this.colorName = colorName;
}
public String getColorCode() {
return this.colorCode;
}
public void setColorCode(String colorCode) {
this.colorCode = colorCode;
}
public String getColorRemark() {
return this.colorRemark;
}
public void setColorRemark(String colorRemark) {
this.colorRemark = colorRemark;
}
}
package com.huigou.topsun.product.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huigou.topsun.common.NumberToStringSerializer;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author YourUserName
* 生产工厂
*/
@JsonInclude(JsonInclude.Include.ALWAYS)
@JsonIgnoreProperties(ignoreUnknown = true)
@Entity
@Table(name = "factory")
public class Factory implements Serializable {
/**
* 工厂ID
*/
@Id
//@JsonSerialize(using = NumberToStringSerializer.class)
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "guid")
@Column(name = "factory_id", nullable = false)
private String factoryId;
/**
* 工厂名称
*/
@Column(name = "factory_name", nullable = true, length = 255)
private String factoryName;
/**
* 工厂编码
*/
@Column(name = "factory_code", nullable = true, length = 32)
private String factoryCode;
public String getFactoryId() {
return this.factoryId;
}
public void setFactoryId (String factoryId) {
this.factoryId = factoryId;
}
public String getFactoryName() {
return this.factoryName;
}
public void setFactoryName(String factoryName) {
this.factoryName = factoryName;
}
public String getFactoryCode() {
return this.factoryCode;
}
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
}
package com.huigou.topsun.product.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huigou.topsun.common.NumberToStringSerializer;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author YourUserName
* 产品类别
*/
@JsonInclude(JsonInclude.Include.ALWAYS)
@JsonIgnoreProperties(ignoreUnknown = true)
@Entity
@Table(name = "product_category")
public class ProductCategory implements Serializable {
/**
* 产品类别ID
*/
@Id
//@JsonSerialize(using = NumberToStringSerializer.class)
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "guid")
@Column(name = "product_category_id", nullable = false)
private String productCategoryId;
/**
* 产品类别名称
*/
@Column(name = "product_category_name", nullable = true, length = 128)
private String productCategoryName;
/**
* 产品类别状态(product_category_status)
*/
@Column(name = "product_category_status", nullable = true, length = 32)
private String productCategoryStatus;
/**
* 产品编码
*/
@Column(name = "product_category_code", nullable = true, length = 32)
private String productCategoryCode;
public String getProductCategoryId() {
return this.productCategoryId;
}
public void setProductCategoryId (String productCategoryId) {
this.productCategoryId = productCategoryId;
}
public String getProductCategoryName() {
return this.productCategoryName;
}
public void setProductCategoryName(String productCategoryName) {
this.productCategoryName = productCategoryName;
}
public String getProductCategoryStatus() {
return this.productCategoryStatus;
}
public void setProductCategoryStatus(String productCategoryStatus) {
this.productCategoryStatus = productCategoryStatus;
}
public String getProductCategoryCode() {
return this.productCategoryCode;
}
public void setProductCategoryCode(String productCategoryCode) {
this.productCategoryCode = productCategoryCode;
}
}
package com.huigou.topsun.product.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huigou.topsun.common.NumberToStringSerializer;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author YourUserName
* 产品版面信息
*/
@JsonInclude(JsonInclude.Include.ALWAYS)
@JsonIgnoreProperties(ignoreUnknown = true)
@Entity
@Table(name = "product_face")
public class ProductFace implements Serializable {
/**
* 产品版面ID
*/
@Id
//@JsonSerialize(using = NumberToStringSerializer.class)
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "guid")
@Column(name = "product_face_id", nullable = false)
private String productFaceId;
/**
* 产品版面图片
*/
@Column(name = "product_image", nullable = true, length = 512)
private String productImage;
@Transient
private Boolean isBack;
@Column(name = "product_id")
private String productId;
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ProductFace that = (ProductFace) o;
return new EqualsBuilder().append(productFaceId, that.productFaceId).append(productImage, that.productImage).isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37).append(productFaceId).append(productImage).toHashCode();
}
public String getProductFaceId() {
return this.productFaceId;
}
public void setProductFaceId (String productFaceId) {
this.productFaceId = productFaceId;
}
public String getProductImage() {
return this.productImage;
}
public void setProductImage(String productImage) {
this.productImage = productImage;
}
public Boolean getBack() {
return isBack;
}
public void setBack(Boolean back) {
isBack = back;
}
}
package com.huigou.topsun.product.domain;
import java.io.Serializable;
import javax.persistence.*;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
/**
* 尺码组尺码明细
* @TableName size_group_item
*/
@Table(name="size_group_item")
@Entity
@Data
public class SizeGroupItem implements Serializable {
/**
* 尺码id
*/
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "guid")
@Column(name = "size_group_item_id")
private String sizeGroupItemId;
/**
* 尺码组id
*/
@Column(name = "size_group_id")
private String sizeGroupId;
/**
* 尺码名称
*/
@Column(name = "size_group_item_name")
private String sizeGroupItemName;
/**
* 显示顺序
*/
@Column(name = "size_group_item_sequence")
private Integer sizeGroupItemSequence;
/**
* 备注
*/
@Column(name = "size_group_item_remark")
private String sizeGroupItemRemark;
private static final long serialVersionUID = 1L;
}
\ 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