feat(sip): 新增订单管理功能
- 添加订单管理相关的 HTML 模板文件 - 实现订单管理的前端页面,包括列表、添加和编辑功能 - 新增订单管理的后端接口和实现类 - 在项目信息中集成订单管理功能,增加生成订单的判断逻辑master
parent
1b4f6e3c93
commit
8675eb4f0e
|
@ -53,6 +53,10 @@
|
|||
{
|
||||
field: 'orderCode',
|
||||
title: '合同编号'
|
||||
},
|
||||
{
|
||||
field: 'versionCode',
|
||||
title: '版本号'
|
||||
},
|
||||
{
|
||||
field: 'orderName',
|
||||
|
|
|
@ -0,0 +1,213 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
||||
<head>
|
||||
<th:block th:include="include :: header('新增订单管理')" />
|
||||
<th:block th:include="include :: datetimepicker-css" />
|
||||
</head>
|
||||
<body class="white-bg">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-order-add">
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label is-required">项目主键:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="projectId" class="form-control" type="text" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">地市:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="city" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">进货商商务接口人姓名:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="businessPerson" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">邮箱:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="businessEmail" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">电话:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="businessPhone" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">合同编号:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="orderCode" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">出货金额:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="shipmentAmount" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">实际进货金额:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="actualPurchaseAmount" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">执行单有效截止时间:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group date">
|
||||
<input name="orderEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">要求到货时间:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group date">
|
||||
<input name="deliveryTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">公司直发:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="companyDelivery" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">通知人:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="notifier" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">通知人邮箱:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="notifierEmail" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">通知人电话:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="notifierPhone" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">责任人:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="duty" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">责任人邮箱:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="dutyEmail" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">责任人电话:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="dutyPhone" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">下单通路:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="orderChannel" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">进货商:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="partnerCode" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">供货商:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="supplier" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">其它特别说明:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="remark" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
<th:block th:include="include :: datetimepicker-js" />
|
||||
<script th:inline="javascript">
|
||||
var prefix = ctx + "project/order"
|
||||
$("#form-order-add").validate({
|
||||
focusCleanup: true
|
||||
});
|
||||
|
||||
function submitHandler() {
|
||||
if ($.validate.form()) {
|
||||
$.operate.save(prefix + "/add", $('#form-order-add').serialize());
|
||||
}
|
||||
}
|
||||
|
||||
$("input[name='orderEndTime']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true
|
||||
});
|
||||
|
||||
$("input[name='deliveryTime']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,214 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
||||
<head>
|
||||
<th:block th:include="include :: header('修改订单管理')" />
|
||||
<th:block th:include="include :: datetimepicker-css" />
|
||||
</head>
|
||||
<body class="white-bg">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-order-edit" th:object="${projectOrderInfo}">
|
||||
<input name="id" th:field="*{id}" type="hidden">
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label is-required">项目主键:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="projectId" th:field="*{projectId}" class="form-control" type="text" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">地市:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="city" th:field="*{city}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">进货商商务接口人姓名:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="businessPerson" th:field="*{businessPerson}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">邮箱:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="businessEmail" th:field="*{businessEmail}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">电话:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="businessPhone" th:field="*{businessPhone}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">合同编号:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="orderCode" th:field="*{orderCode}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">出货金额:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="shipmentAmount" th:field="*{shipmentAmount}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">实际进货金额:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="actualPurchaseAmount" th:field="*{actualPurchaseAmount}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">执行单有效截止时间:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group date">
|
||||
<input name="orderEndTime" th:value="${#dates.format(projectOrderInfo.orderEndTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">要求到货时间:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group date">
|
||||
<input name="deliveryTime" th:value="${#dates.format(projectOrderInfo.deliveryTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
|
||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">公司直发:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="companyDelivery" th:field="*{companyDelivery}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">通知人:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="notifier" th:field="*{notifier}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">通知人邮箱:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="notifierEmail" th:field="*{notifierEmail}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">通知人电话:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="notifierPhone" th:field="*{notifierPhone}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">责任人:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="duty" th:field="*{duty}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">责任人邮箱:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="dutyEmail" th:field="*{dutyEmail}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">责任人电话:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="dutyPhone" th:field="*{dutyPhone}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">下单通路:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="orderChannel" th:field="*{orderChannel}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">进货商:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="partnerCode" th:field="*{partnerCode}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">供货商:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="supplier" th:field="*{supplier}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">其它特别说明:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="remark" th:field="*{remark}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
<th:block th:include="include :: datetimepicker-js" />
|
||||
<script th:inline="javascript">
|
||||
var prefix = ctx + "project/order";
|
||||
$("#form-order-edit").validate({
|
||||
focusCleanup: true
|
||||
});
|
||||
|
||||
function submitHandler() {
|
||||
if ($.validate.form()) {
|
||||
$.operate.save(prefix + "/edit", $('#form-order-edit').serialize());
|
||||
}
|
||||
}
|
||||
|
||||
$("input[name='orderEndTime']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true
|
||||
});
|
||||
|
||||
$("input[name='deliveryTime']").datetimepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
minView: "month",
|
||||
autoclose: true
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,250 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
||||
<head>
|
||||
<th:block th:include="include :: header('订单管理列表')" />
|
||||
</head>
|
||||
<body class="gray-bg">
|
||||
<div class="container-div">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 search-collapse">
|
||||
<form id="formId">
|
||||
<div class="select-list">
|
||||
<ul>
|
||||
<li>
|
||||
<label>项目主键:</label>
|
||||
<input type="text" name="projectId"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>地市:</label>
|
||||
<input type="text" name="city"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>进货商商务接口人姓名:</label>
|
||||
<input type="text" name="businessPerson"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>邮箱:</label>
|
||||
<input type="text" name="businessEmail"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>电话:</label>
|
||||
<input type="text" name="businessPhone"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>合同编号:</label>
|
||||
<input type="text" name="orderCode"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>出货金额:</label>
|
||||
<input type="text" name="shipmentAmount"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>实际进货金额:</label>
|
||||
<input type="text" name="actualPurchaseAmount"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>执行单有效截止时间:</label>
|
||||
<input type="text" class="time-input" placeholder="请选择执行单有效截止时间" name="orderEndTime"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>要求到货时间:</label>
|
||||
<input type="text" class="time-input" placeholder="请选择要求到货时间" name="deliveryTime"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>公司直发:</label>
|
||||
<input type="text" name="companyDelivery"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>通知人:</label>
|
||||
<input type="text" name="notifier"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>通知人邮箱:</label>
|
||||
<input type="text" name="notifierEmail"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>通知人电话:</label>
|
||||
<input type="text" name="notifierPhone"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>责任人:</label>
|
||||
<input type="text" name="duty"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>责任人邮箱:</label>
|
||||
<input type="text" name="dutyEmail"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>责任人电话:</label>
|
||||
<input type="text" name="dutyPhone"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>下单通路:</label>
|
||||
<input type="text" name="orderChannel"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>进货商:</label>
|
||||
<input type="text" name="partnerCode"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>供货商:</label>
|
||||
<input type="text" name="supplier"/>
|
||||
</li>
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
||||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="btn-group-sm" id="toolbar" role="group">
|
||||
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="product:order:add">
|
||||
<i class="fa fa-plus"></i> 添加
|
||||
</a>
|
||||
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="product:order:edit">
|
||||
<i class="fa fa-edit"></i> 修改
|
||||
</a>
|
||||
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="product:order:remove">
|
||||
<i class="fa fa-remove"></i> 删除
|
||||
</a>
|
||||
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="product:order:export">
|
||||
<i class="fa fa-download"></i> 导出
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-12 select-table table-striped">
|
||||
<table id="bootstrap-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
<script th:inline="javascript">
|
||||
var editFlag = [[${@permission.hasPermi('product:order:edit')}]];
|
||||
var removeFlag = [[${@permission.hasPermi('product:order:remove')}]];
|
||||
var prefix = ctx + "project/order";
|
||||
|
||||
$(function() {
|
||||
var options = {
|
||||
url: prefix + "/list",
|
||||
createUrl: prefix + "/add",
|
||||
updateUrl: prefix + "/edit/{id}",
|
||||
removeUrl: prefix + "/remove",
|
||||
exportUrl: prefix + "/export",
|
||||
modalName: "订单管理",
|
||||
columns: [{
|
||||
checkbox: true
|
||||
},
|
||||
{
|
||||
field: 'id',
|
||||
title: '',
|
||||
visible: false
|
||||
},
|
||||
{
|
||||
field: 'projectId',
|
||||
title: '项目主键'
|
||||
},
|
||||
{
|
||||
field: 'city',
|
||||
title: '地市'
|
||||
},
|
||||
{
|
||||
field: 'businessPerson',
|
||||
title: '进货商商务接口人姓名'
|
||||
},
|
||||
{
|
||||
field: 'businessEmail',
|
||||
title: '邮箱'
|
||||
},
|
||||
{
|
||||
field: 'businessPhone',
|
||||
title: '电话'
|
||||
},
|
||||
{
|
||||
field: 'orderCode',
|
||||
title: '合同编号'
|
||||
},
|
||||
{
|
||||
field: 'currencyType',
|
||||
title: '币种'
|
||||
},
|
||||
{
|
||||
field: 'shipmentAmount',
|
||||
title: '出货金额'
|
||||
},
|
||||
{
|
||||
field: 'actualPurchaseAmount',
|
||||
title: '实际进货金额'
|
||||
},
|
||||
{
|
||||
field: 'orderEndTime',
|
||||
title: '执行单有效截止时间'
|
||||
},
|
||||
{
|
||||
field: 'deliveryTime',
|
||||
title: '要求到货时间'
|
||||
},
|
||||
{
|
||||
field: 'companyDelivery',
|
||||
title: '公司直发'
|
||||
},
|
||||
{
|
||||
field: 'notifier',
|
||||
title: '通知人'
|
||||
},
|
||||
{
|
||||
field: 'notifierEmail',
|
||||
title: '通知人邮箱'
|
||||
},
|
||||
{
|
||||
field: 'notifierPhone',
|
||||
title: '通知人电话'
|
||||
},
|
||||
{
|
||||
field: 'duty',
|
||||
title: '责任人'
|
||||
},
|
||||
{
|
||||
field: 'dutyEmail',
|
||||
title: '责任人邮箱'
|
||||
},
|
||||
{
|
||||
field: 'dutyPhone',
|
||||
title: '责任人电话'
|
||||
},
|
||||
{
|
||||
field: 'orderChannel',
|
||||
title: '下单通路'
|
||||
},
|
||||
{
|
||||
field: 'partnerCode',
|
||||
title: '进货商'
|
||||
},
|
||||
{
|
||||
field: 'supplier',
|
||||
title: '供货商'
|
||||
},
|
||||
{
|
||||
field: 'remark',
|
||||
title: '其它特别说明'
|
||||
},
|
||||
{
|
||||
field: 'orderStatus',
|
||||
title: '订单状态'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
formatter: function(value, row, index) {
|
||||
var actions = [];
|
||||
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
|
||||
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
|
||||
return actions.join('');
|
||||
}
|
||||
}]
|
||||
};
|
||||
$.table.init(options);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,128 @@
|
|||
package com.ruoyi.sip.controller;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.sip.domain.ProjectOrderInfo;
|
||||
import com.ruoyi.sip.service.IProjectOrderInfoService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 订单管理Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-05-30
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/project/order")
|
||||
public class ProjectOrderInfoController extends BaseController
|
||||
{
|
||||
private String prefix = "project/order";
|
||||
|
||||
@Autowired
|
||||
private IProjectOrderInfoService projectOrderInfoService;
|
||||
|
||||
@RequiresPermissions("project:order:view")
|
||||
@GetMapping()
|
||||
public String order()
|
||||
{
|
||||
return prefix + "/order";
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询订单管理列表
|
||||
*/
|
||||
@RequiresPermissions("project:order:list")
|
||||
@PostMapping("/list")
|
||||
@ResponseBody
|
||||
public TableDataInfo list(ProjectOrderInfo projectOrderInfo)
|
||||
{
|
||||
startPage();
|
||||
List<ProjectOrderInfo> list = projectOrderInfoService.selectProjectOrderInfoList(projectOrderInfo);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出订单管理列表
|
||||
*/
|
||||
@RequiresPermissions("project:order:export")
|
||||
@Log(title = "订单管理", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
@ResponseBody
|
||||
public AjaxResult export(ProjectOrderInfo projectOrderInfo)
|
||||
{
|
||||
List<ProjectOrderInfo> list = projectOrderInfoService.selectProjectOrderInfoList(projectOrderInfo);
|
||||
ExcelUtil<ProjectOrderInfo> util = new ExcelUtil<ProjectOrderInfo>(ProjectOrderInfo.class);
|
||||
return util.exportExcel(list, "订单管理数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增订单管理
|
||||
*/
|
||||
@RequiresPermissions("project:order:add")
|
||||
@GetMapping("/add")
|
||||
public String add()
|
||||
{
|
||||
return prefix + "/add";
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保存订单管理
|
||||
*/
|
||||
@RequiresPermissions("project:order:add")
|
||||
@Log(title = "订单管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/add")
|
||||
@ResponseBody
|
||||
public AjaxResult addSave(ProjectOrderInfo projectOrderInfo)
|
||||
{
|
||||
return toAjax(projectOrderInfoService.insertProjectOrderInfo(projectOrderInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改订单管理
|
||||
*/
|
||||
@RequiresPermissions("project:order:edit")
|
||||
@GetMapping("/edit/{id}")
|
||||
public String edit(@PathVariable("id") Long id, ModelMap mmap)
|
||||
{
|
||||
ProjectOrderInfo projectOrderInfo = projectOrderInfoService.selectProjectOrderInfoById(id);
|
||||
mmap.put("projectOrderInfo", projectOrderInfo);
|
||||
return prefix + "/edit";
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保存订单管理
|
||||
*/
|
||||
@RequiresPermissions("project:order:edit")
|
||||
@Log(title = "订单管理", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/edit")
|
||||
@ResponseBody
|
||||
public AjaxResult editSave(ProjectOrderInfo projectOrderInfo)
|
||||
{
|
||||
return toAjax(projectOrderInfoService.updateProjectOrderInfo(projectOrderInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除订单管理
|
||||
*/
|
||||
@RequiresPermissions("project:order:remove")
|
||||
@Log(title = "订单管理", businessType = BusinessType.DELETE)
|
||||
@PostMapping( "/remove")
|
||||
@ResponseBody
|
||||
public AjaxResult remove(String ids)
|
||||
{
|
||||
return toAjax(projectOrderInfoService.deleteProjectOrderInfoByIds(ids));
|
||||
}
|
||||
}
|
|
@ -87,11 +87,17 @@ public class ProjectInfo extends BaseEntity
|
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name = "预计下单时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date estimatedOrderTime;
|
||||
private Date estimatedOrderTimeStart;
|
||||
private Date estimatedOrderTimeEnd;
|
||||
|
||||
/** 预计发货时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name = "预计发货时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date estimatedDeliverTime;
|
||||
private Date estimatedDeliverTimeStart;
|
||||
private Date estimatedDeliverTimeEnd;
|
||||
private Date updateTimeStart;
|
||||
private Date updateTimeEnd;
|
||||
|
||||
/** 竞争对手 */
|
||||
@Excel(name = "竞争对手")
|
||||
|
@ -113,6 +119,7 @@ public class ProjectInfo extends BaseEntity
|
|||
@Excel(name = "项目描述")
|
||||
private String projectDesc;
|
||||
private Boolean highlight;
|
||||
private Boolean canGenerate;
|
||||
/** 软件项目产品信息 */
|
||||
private List<ProjectProductInfo> softwareProjectProductInfoList;
|
||||
/** 硬件项目产品信息 */
|
||||
|
|
|
@ -0,0 +1,170 @@
|
|||
package com.ruoyi.sip.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 订单管理对象 project_order_info
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-05-30
|
||||
*/
|
||||
@Data
|
||||
public class ProjectOrderInfo extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目主键
|
||||
*/
|
||||
|
||||
private Long projectId;
|
||||
private String projectCode;
|
||||
private String projectName;
|
||||
private String customerName;
|
||||
private String industryType;
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 地市
|
||||
*/
|
||||
@Excel(name = "地市")
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 进货商商务接口人姓名
|
||||
*/
|
||||
@Excel(name = "进货商商务接口人姓名")
|
||||
private String businessPerson;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Excel(name = "邮箱")
|
||||
private String businessEmail;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@Excel(name = "电话")
|
||||
private String businessPhone;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
@Excel(name = "合同编号")
|
||||
private String orderCode;
|
||||
|
||||
/**
|
||||
* 币种
|
||||
*/
|
||||
@Excel(name = "币种")
|
||||
private String currencyType;
|
||||
|
||||
/**
|
||||
* 出货金额
|
||||
*/
|
||||
@Excel(name = "出货金额")
|
||||
private BigDecimal shipmentAmount;
|
||||
|
||||
/**
|
||||
* 实际进货金额
|
||||
*/
|
||||
@Excel(name = "实际进货金额")
|
||||
private BigDecimal actualPurchaseAmount;
|
||||
|
||||
/**
|
||||
* 执行单有效截止时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name = "执行单有效截止时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date orderEndTime;
|
||||
|
||||
/**
|
||||
* 要求到货时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
@Excel(name = "要求到货时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date deliveryTime;
|
||||
|
||||
/**
|
||||
* 公司直发
|
||||
*/
|
||||
@Excel(name = "公司直发")
|
||||
private String companyDelivery;
|
||||
|
||||
/**
|
||||
* 通知人
|
||||
*/
|
||||
@Excel(name = "通知人")
|
||||
private String notifier;
|
||||
|
||||
/**
|
||||
* 通知人邮箱
|
||||
*/
|
||||
@Excel(name = "通知人邮箱")
|
||||
private String notifierEmail;
|
||||
|
||||
/**
|
||||
* 通知人电话
|
||||
*/
|
||||
@Excel(name = "通知人电话")
|
||||
private String notifierPhone;
|
||||
|
||||
/**
|
||||
* 责任人
|
||||
*/
|
||||
@Excel(name = "责任人")
|
||||
private String duty;
|
||||
|
||||
/**
|
||||
* 责任人邮箱
|
||||
*/
|
||||
@Excel(name = "责任人邮箱")
|
||||
private String dutyEmail;
|
||||
|
||||
/**
|
||||
* 责任人电话
|
||||
*/
|
||||
@Excel(name = "责任人电话")
|
||||
private String dutyPhone;
|
||||
|
||||
/**
|
||||
* 下单通路
|
||||
*/
|
||||
@Excel(name = "下单通路")
|
||||
private String orderChannel;
|
||||
|
||||
/**
|
||||
* 进货商
|
||||
*/
|
||||
@Excel(name = "进货商")
|
||||
private String partnerCode;
|
||||
private String partnerName;
|
||||
private String level;
|
||||
|
||||
|
||||
/**
|
||||
* 供货商
|
||||
*/
|
||||
@Excel(name = "供货商")
|
||||
private String supplier;
|
||||
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
@Excel(name = "订单状态")
|
||||
private String orderStatus;
|
||||
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
package com.ruoyi.sip.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.sip.domain.ProjectOrderInfo;
|
||||
|
||||
/**
|
||||
* 订单管理Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-05-30
|
||||
*/
|
||||
public interface ProjectOrderInfoMapper
|
||||
{
|
||||
/**
|
||||
* 查询订单管理
|
||||
*
|
||||
* @param id 订单管理主键
|
||||
* @return 订单管理
|
||||
*/
|
||||
public ProjectOrderInfo selectProjectOrderInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询订单管理列表
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 订单管理集合
|
||||
*/
|
||||
public List<ProjectOrderInfo> selectProjectOrderInfoList(ProjectOrderInfo projectOrderInfo);
|
||||
|
||||
/**
|
||||
* 新增订单管理
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertProjectOrderInfo(ProjectOrderInfo projectOrderInfo);
|
||||
|
||||
/**
|
||||
* 修改订单管理
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateProjectOrderInfo(ProjectOrderInfo projectOrderInfo);
|
||||
|
||||
/**
|
||||
* 删除订单管理
|
||||
*
|
||||
* @param id 订单管理主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteProjectOrderInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除订单管理
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteProjectOrderInfoByIds(String[] ids);
|
||||
|
||||
List<ProjectOrderInfo> selectProjectOrderInfoByProjectId(List<Long> projectId);
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
package com.ruoyi.sip.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.sip.domain.ProjectOrderInfo;
|
||||
|
||||
/**
|
||||
* 订单管理Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-05-30
|
||||
*/
|
||||
public interface IProjectOrderInfoService
|
||||
{
|
||||
/**
|
||||
* 查询订单管理
|
||||
*
|
||||
* @param id 订单管理主键
|
||||
* @return 订单管理
|
||||
*/
|
||||
public ProjectOrderInfo selectProjectOrderInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询订单管理列表
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 订单管理集合
|
||||
*/
|
||||
public List<ProjectOrderInfo> selectProjectOrderInfoList(ProjectOrderInfo projectOrderInfo);
|
||||
|
||||
/**
|
||||
* 新增订单管理
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertProjectOrderInfo(ProjectOrderInfo projectOrderInfo);
|
||||
|
||||
/**
|
||||
* 修改订单管理
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateProjectOrderInfo(ProjectOrderInfo projectOrderInfo);
|
||||
|
||||
/**
|
||||
* 批量删除订单管理
|
||||
*
|
||||
* @param ids 需要删除的订单管理主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteProjectOrderInfoByIds(String ids);
|
||||
|
||||
/**
|
||||
* 删除订单管理信息
|
||||
*
|
||||
* @param id 订单管理主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteProjectOrderInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 根据projectId查询订单信息
|
||||
* @param projectId
|
||||
* @return java.util.List<com.ruoyi.sip.domain.ProjectOrderInfo>
|
||||
* @author ch
|
||||
* @date 2025/05/30 16:13
|
||||
*/
|
||||
|
||||
List< ProjectOrderInfo> selectProjectOrderInfoByProjectId(List<Long> projectId);
|
||||
}
|
|
@ -3,15 +3,13 @@ package com.ruoyi.sip.service.impl;
|
|||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.DictUtils;
|
||||
import com.ruoyi.common.utils.ShiroUtils;
|
||||
import com.ruoyi.sip.domain.*;
|
||||
import com.ruoyi.sip.mapper.ProjectInfoMapper;
|
||||
import com.ruoyi.sip.service.IProjectInfoService;
|
||||
import com.ruoyi.sip.service.IProjectOperateLogService;
|
||||
import com.ruoyi.sip.service.IProjectProductInfoService;
|
||||
import com.ruoyi.sip.service.IProjectWorkProgressService;
|
||||
import com.ruoyi.sip.service.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -20,6 +18,7 @@ import java.time.LocalDate;
|
|||
import java.time.Period;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
|
@ -41,6 +40,8 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
|||
@Autowired
|
||||
private IProjectOperateLogService operateLogService;
|
||||
|
||||
@Autowired
|
||||
private IProjectOrderInfoService orderInfoService;
|
||||
private static final String PROJECT_CODE_PREFIX = "V";
|
||||
private static final Integer PROJECT_CODE_LENGTH = 5;
|
||||
|
||||
|
@ -80,13 +81,17 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
|||
*/
|
||||
@Override
|
||||
public List<ProjectInfo> selectProjectInfoList(ProjectInfo projectInfo) {
|
||||
//todo 生成订单按钮置灰查询
|
||||
List<ProjectInfo> projectInfos = projectInfoMapper.selectProjectInfoList(projectInfo);
|
||||
|
||||
List<Long> idList = projectInfos.stream().map(ProjectInfo::getId).collect(Collectors.toList());
|
||||
List<ProjectOrderInfo> projectOrderInfos = orderInfoService.selectProjectOrderInfoByProjectId(idList);
|
||||
Map<Long, ProjectOrderInfo> orderInfoMap = projectOrderInfos.stream().collect(Collectors.toMap(ProjectOrderInfo::getProjectId, Function.identity(), (v1, v2) -> v1));
|
||||
LocalDate now = LocalDate.now();
|
||||
for (ProjectInfo info : projectInfos) {
|
||||
LocalDate localDate = info.getUpdateTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||
Period between = Period.between(localDate, now);
|
||||
info.setHighlight(between.getMonths() >= 2);
|
||||
info.setCanGenerate(orderInfoMap.get(info.getId()) == null);
|
||||
}
|
||||
return projectInfos;
|
||||
}
|
||||
|
@ -161,7 +166,11 @@ public class ProjectInfoServiceImpl implements IProjectInfoService {
|
|||
ProjectInfo oldProjectInfo = this.selectProjectInfoById(projectInfo.getId());
|
||||
//变更属地校验
|
||||
if (!projectInfo.getProvince().equals(oldProjectInfo.getProvince())) {
|
||||
//todo 查询订单信息 如果有抛出异常
|
||||
//查询订单信息 如果有抛出异常
|
||||
List<ProjectOrderInfo> projectOrderInfos = orderInfoService.selectProjectOrderInfoByProjectId(Collections.singletonList(projectInfo.getId()));
|
||||
if (CollUtil.isNotEmpty(projectOrderInfos)) {
|
||||
throw new ServiceException("该项目存在订单流转,无法更改属地");
|
||||
}
|
||||
//如果没有 变更编码 是否考虑高并发加锁
|
||||
setProjectCode(projectInfo);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
package com.ruoyi.sip.service.impl;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.sip.mapper.ProjectOrderInfoMapper;
|
||||
import com.ruoyi.sip.domain.ProjectOrderInfo;
|
||||
import com.ruoyi.sip.service.IProjectOrderInfoService;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
|
||||
/**
|
||||
* 订单管理Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-05-30
|
||||
*/
|
||||
@Service
|
||||
public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
|
||||
@Autowired
|
||||
private ProjectOrderInfoMapper projectOrderInfoMapper;
|
||||
|
||||
/**
|
||||
* 查询订单管理
|
||||
*
|
||||
* @param id 订单管理主键
|
||||
* @return 订单管理
|
||||
*/
|
||||
@Override
|
||||
public ProjectOrderInfo selectProjectOrderInfoById(Long id) {
|
||||
return projectOrderInfoMapper.selectProjectOrderInfoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询订单管理列表
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 订单管理
|
||||
*/
|
||||
@Override
|
||||
public List<ProjectOrderInfo> selectProjectOrderInfoList(ProjectOrderInfo projectOrderInfo) {
|
||||
return projectOrderInfoMapper.selectProjectOrderInfoList(projectOrderInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增订单管理
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertProjectOrderInfo(ProjectOrderInfo projectOrderInfo) {
|
||||
projectOrderInfo.setCreateTime(DateUtils.getNowDate());
|
||||
return projectOrderInfoMapper.insertProjectOrderInfo(projectOrderInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改订单管理
|
||||
*
|
||||
* @param projectOrderInfo 订单管理
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateProjectOrderInfo(ProjectOrderInfo projectOrderInfo) {
|
||||
projectOrderInfo.setUpdateTime(DateUtils.getNowDate());
|
||||
return projectOrderInfoMapper.updateProjectOrderInfo(projectOrderInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除订单管理
|
||||
*
|
||||
* @param ids 需要删除的订单管理主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteProjectOrderInfoByIds(String ids) {
|
||||
return projectOrderInfoMapper.deleteProjectOrderInfoByIds(Convert.toStrArray(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除订单管理信息
|
||||
*
|
||||
* @param id 订单管理主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteProjectOrderInfoById(Long id) {
|
||||
return projectOrderInfoMapper.deleteProjectOrderInfoById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProjectOrderInfo> selectProjectOrderInfoByProjectId(List<Long> projectId) {
|
||||
if (CollUtil.isNotEmpty(projectId)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return projectOrderInfoMapper.selectProjectOrderInfoByProjectId(projectId);
|
||||
}
|
||||
}
|
|
@ -58,7 +58,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="estimatedAmount != null "> and estimated_amount = #{estimatedAmount}</if>
|
||||
<if test="currencyType != null and currencyType != ''"> and currency_type = #{currencyType}</if>
|
||||
<if test="estimatedOrderTime != null "> and estimated_order_time = #{estimatedOrderTime}</if>
|
||||
<if test="estimatedOrderTimeStart != null or estimatedOrderTimeEnd != null">
|
||||
<choose>
|
||||
<when test="estimatedOrderTimeStart != null">
|
||||
and estimated_order_time <![CDATA[ >= ]]> #{estimatedOrderTimeStart}
|
||||
</when>
|
||||
<when test="estimatedOrderTimeEnd != null">
|
||||
and estimated_order_time <![CDATA[ <= ]]> #{estimatedOrderTimeEnd}
|
||||
</when>
|
||||
<otherwise>
|
||||
and estimated_order_time between #{estimatedOrderTimeStart} and #{estimatedOrderTimeEnd}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="estimatedDeliverTime != null "> and estimated_deliver_time = #{estimatedDeliverTime}</if>
|
||||
<if test="estimatedDeliverTimeStart != null or estimatedDeliverTimeEnd != null">
|
||||
<choose>
|
||||
<when test="estimatedDeliverTimeStart != null">
|
||||
and estimated_deliver_time <![CDATA[ >= ]]> #{estimatedDeliverTimeStart}
|
||||
</when>
|
||||
<when test="estimatedDeliverTimeEnd != null">
|
||||
and estimated_deliver_time <![CDATA[ <= ]]> #{estimatedDeliverTimeEnd}
|
||||
</when>
|
||||
<otherwise>
|
||||
and estimated_deliver_time between #{estimatedDeliverTimeStart} and #{estimatedDeliverTimeEnd}
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
</if>
|
||||
<if test="updateTimeStart != null or updateTimeEnd != null">
|
||||
<choose>
|
||||
<when test="updateTimeStart != null">
|
||||
and update_time <![CDATA[ >= ]]> #{updateTimeStart}
|
||||
</when>
|
||||
<when test="updateTimeEnd != null">
|
||||
and update_time <![CDATA[ <= ]]> #{updateTimeEnd}
|
||||
</when>
|
||||
<otherwise>
|
||||
and update_time between #{updateTimeStart} and #{updateTimeEnd}
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
</if>
|
||||
<if test="competitor != null and competitor != ''"> and competitor = #{competitor}</if>
|
||||
<if test="countryProduct != null and countryProduct != ''"> and country_product = #{countryProduct}</if>
|
||||
<if test="serverConfiguration != null and serverConfiguration != ''"> and server_configuration = #{serverConfiguration}</if>
|
||||
|
|
|
@ -0,0 +1,204 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.sip.mapper.ProjectOrderInfoMapper">
|
||||
|
||||
<resultMap type="ProjectOrderInfo" id="ProjectOrderInfoResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="projectId" column="project_id" />
|
||||
<result property="city" column="city" />
|
||||
<result property="businessPerson" column="business_person" />
|
||||
<result property="businessEmail" column="business_email" />
|
||||
<result property="businessPhone" column="business_phone" />
|
||||
<result property="orderCode" column="order_code" />
|
||||
<result property="currencyType" column="currencyType" />
|
||||
<result property="shipmentAmount" column="shipment_amount" />
|
||||
<result property="actualPurchaseAmount" column="actual_purchase_amount" />
|
||||
<result property="orderEndTime" column="order_end_time" />
|
||||
<result property="deliveryTime" column="delivery_time" />
|
||||
<result property="companyDelivery" column="company_delivery" />
|
||||
<result property="notifier" column="notifier" />
|
||||
<result property="notifierEmail" column="notifier_email" />
|
||||
<result property="notifierPhone" column="notifier_phone" />
|
||||
<result property="duty" column="duty" />
|
||||
<result property="dutyEmail" column="duty_email" />
|
||||
<result property="dutyPhone" column="duty_phone" />
|
||||
<result property="orderChannel" column="order_channel" />
|
||||
<result property="partnerCode" column="partner_code" />
|
||||
<result property="supplier" column="supplier" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="orderStatus" column="order_status" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectProjectOrderInfoVo">
|
||||
select id, project_id, city, business_person, business_email, business_phone, order_code, currencyType,
|
||||
shipment_amount, actual_purchase_amount, order_end_time, delivery_time, company_delivery, notifier,
|
||||
notifier_email, notifier_phone, duty, duty_email, duty_phone, order_channel, partner_code, supplier,
|
||||
remark, order_status, create_by, create_time, update_by, update_time from project_order_info t1
|
||||
</sql>
|
||||
<sql id="selectProjectOrderInfoRelationVo">
|
||||
select t1.id, t1.project_id, t1.city, t1.business_person, t1.business_email, t1.business_phone, t1.order_code, t1.currencyType,
|
||||
t1.shipment_amount, t1.actual_purchase_amount, t1.order_end_time, t1.delivery_time, t1.company_delivery, t1.notifier,
|
||||
t1.notifier_email, t1.notifier_phone, t1.duty, t1.duty_email, t1.duty_phone, t1.order_channel, t1.partner_code, t1.supplier,
|
||||
t1.remark, t1.order_status, t1.create_by, t1.create_time, t1.update_by, t1.update_time
|
||||
,t2.project_code,t2.project_name,t2.province,t2.customer_name,t2.industry_type
|
||||
,t3.partner_name,t3.level
|
||||
from project_order_info t1
|
||||
left join project_info t2 on t1.project_id = t2.id
|
||||
left join partner_info t3 on t1.partner_code=t3.partner_code
|
||||
</sql>
|
||||
|
||||
<select id="selectProjectOrderInfoList" parameterType="ProjectOrderInfo" resultMap="ProjectOrderInfoResult">
|
||||
<include refid="selectProjectOrderInfoRelationVo"/>
|
||||
<where>
|
||||
<if test="projectId != null "> and t1.project_id = #{projectId}</if>
|
||||
<if test="city != null and city != ''"> and t1.city = #{city}</if>
|
||||
<if test="businessPerson != null and businessPerson != ''"> and t1.business_person = #{businessPerson}</if>
|
||||
<if test="businessEmail != null and businessEmail != ''"> and t1.business_email = #{businessEmail}</if>
|
||||
<if test="businessPhone != null and businessPhone != ''"> and t1.business_phone = #{businessPhone}</if>
|
||||
<if test="orderCode != null and orderCode != ''"> and t1.order_code = #{orderCode}</if>
|
||||
<if test="currencyType != null and currencyType != ''"> and t1.currencyType = #{currencyType}</if>
|
||||
<if test="shipmentAmount != null "> and t1.shipment_amount = #{shipmentAmount}</if>
|
||||
<if test="actualPurchaseAmount != null "> and t1.actual_purchase_amount = #{actualPurchaseAmount}</if>
|
||||
<if test="orderEndTime != null "> and t1.order_end_time = #{orderEndTime}</if>
|
||||
<if test="deliveryTime != null "> and t1.delivery_time = #{deliveryTime}</if>
|
||||
<if test="companyDelivery != null and companyDelivery != ''"> and t1.company_delivery = #{companyDelivery}</if>
|
||||
<if test="notifier != null and notifier != ''"> and t1.notifier = #{notifier}</if>
|
||||
<if test="notifierEmail != null and notifierEmail != ''"> and t1.notifier_email = #{notifierEmail}</if>
|
||||
<if test="notifierPhone != null and notifierPhone != ''"> and t1.notifier_phone = #{notifierPhone}</if>
|
||||
<if test="duty != null and duty != ''"> and t1.duty = #{duty}</if>
|
||||
<if test="dutyEmail != null and dutyEmail != ''"> and t1.duty_email = #{dutyEmail}</if>
|
||||
<if test="dutyPhone != null and dutyPhone != ''"> and t1.duty_phone = #{dutyPhone}</if>
|
||||
<if test="orderChannel != null and orderChannel != ''"> and t1.order_channel = #{orderChannel}</if>
|
||||
<if test="partnerCode != null and partnerCode != ''"> and t1.partner_code = #{partnerCode}</if>
|
||||
<if test="supplier != null and supplier != ''"> and t1.supplier = #{supplier}</if>
|
||||
<if test="orderStatus != null and orderStatus != ''"> and t1.order_status = #{orderStatus}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectProjectOrderInfoById" parameterType="Long" resultMap="ProjectOrderInfoResult">
|
||||
<include refid="selectProjectOrderInfoRelationVo"/>
|
||||
where t1.id = #{id}
|
||||
</select>
|
||||
<select id="selectProjectOrderInfoByProjectId" resultType="com.ruoyi.sip.domain.ProjectOrderInfo">
|
||||
<include refid="selectProjectOrderInfoVo"/>
|
||||
where t1.project_id in (
|
||||
<foreach item="item" collection="list" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
|
||||
<insert id="insertProjectOrderInfo" parameterType="ProjectOrderInfo" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into project_order_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="projectId != null">project_id,</if>
|
||||
<if test="city != null">city,</if>
|
||||
<if test="businessPerson != null">business_person,</if>
|
||||
<if test="businessEmail != null">business_email,</if>
|
||||
<if test="businessPhone != null">business_phone,</if>
|
||||
<if test="orderCode != null">order_code,</if>
|
||||
<if test="currencyType != null">currencyType,</if>
|
||||
<if test="shipmentAmount != null">shipment_amount,</if>
|
||||
<if test="actualPurchaseAmount != null">actual_purchase_amount,</if>
|
||||
<if test="orderEndTime != null">order_end_time,</if>
|
||||
<if test="deliveryTime != null">delivery_time,</if>
|
||||
<if test="companyDelivery != null">company_delivery,</if>
|
||||
<if test="notifier != null">notifier,</if>
|
||||
<if test="notifierEmail != null">notifier_email,</if>
|
||||
<if test="notifierPhone != null">notifier_phone,</if>
|
||||
<if test="duty != null">duty,</if>
|
||||
<if test="dutyEmail != null">duty_email,</if>
|
||||
<if test="dutyPhone != null">duty_phone,</if>
|
||||
<if test="orderChannel != null">order_channel,</if>
|
||||
<if test="partnerCode != null">partner_code,</if>
|
||||
<if test="supplier != null">supplier,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="orderStatus != null">order_status,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="projectId != null">#{projectId},</if>
|
||||
<if test="city != null">#{city},</if>
|
||||
<if test="businessPerson != null">#{businessPerson},</if>
|
||||
<if test="businessEmail != null">#{businessEmail},</if>
|
||||
<if test="businessPhone != null">#{businessPhone},</if>
|
||||
<if test="orderCode != null">#{orderCode},</if>
|
||||
<if test="currencyType != null">#{currencyType},</if>
|
||||
<if test="shipmentAmount != null">#{shipmentAmount},</if>
|
||||
<if test="actualPurchaseAmount != null">#{actualPurchaseAmount},</if>
|
||||
<if test="orderEndTime != null">#{orderEndTime},</if>
|
||||
<if test="deliveryTime != null">#{deliveryTime},</if>
|
||||
<if test="companyDelivery != null">#{companyDelivery},</if>
|
||||
<if test="notifier != null">#{notifier},</if>
|
||||
<if test="notifierEmail != null">#{notifierEmail},</if>
|
||||
<if test="notifierPhone != null">#{notifierPhone},</if>
|
||||
<if test="duty != null">#{duty},</if>
|
||||
<if test="dutyEmail != null">#{dutyEmail},</if>
|
||||
<if test="dutyPhone != null">#{dutyPhone},</if>
|
||||
<if test="orderChannel != null">#{orderChannel},</if>
|
||||
<if test="partnerCode != null">#{partnerCode},</if>
|
||||
<if test="supplier != null">#{supplier},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="orderStatus != null">#{orderStatus},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateProjectOrderInfo" parameterType="ProjectOrderInfo">
|
||||
update project_order_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="projectId != null">project_id = #{projectId},</if>
|
||||
<if test="city != null">city = #{city},</if>
|
||||
<if test="businessPerson != null">business_person = #{businessPerson},</if>
|
||||
<if test="businessEmail != null">business_email = #{businessEmail},</if>
|
||||
<if test="businessPhone != null">business_phone = #{businessPhone},</if>
|
||||
<if test="orderCode != null">order_code = #{orderCode},</if>
|
||||
<if test="currencyType != null">currencyType = #{currencyType},</if>
|
||||
<if test="shipmentAmount != null">shipment_amount = #{shipmentAmount},</if>
|
||||
<if test="actualPurchaseAmount != null">actual_purchase_amount = #{actualPurchaseAmount},</if>
|
||||
<if test="orderEndTime != null">order_end_time = #{orderEndTime},</if>
|
||||
<if test="deliveryTime != null">delivery_time = #{deliveryTime},</if>
|
||||
<if test="companyDelivery != null">company_delivery = #{companyDelivery},</if>
|
||||
<if test="notifier != null">notifier = #{notifier},</if>
|
||||
<if test="notifierEmail != null">notifier_email = #{notifierEmail},</if>
|
||||
<if test="notifierPhone != null">notifier_phone = #{notifierPhone},</if>
|
||||
<if test="duty != null">duty = #{duty},</if>
|
||||
<if test="dutyEmail != null">duty_email = #{dutyEmail},</if>
|
||||
<if test="dutyPhone != null">duty_phone = #{dutyPhone},</if>
|
||||
<if test="orderChannel != null">order_channel = #{orderChannel},</if>
|
||||
<if test="partnerCode != null">partner_code = #{partnerCode},</if>
|
||||
<if test="supplier != null">supplier = #{supplier},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="orderStatus != null">order_status = #{orderStatus},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteProjectOrderInfoById" parameterType="Long">
|
||||
delete from project_order_info where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteProjectOrderInfoByIds" parameterType="String">
|
||||
delete from project_order_info where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue