Compare commits

..

No commits in common. "c3f1d39a7a215f7467cb52651b482fe3cb375759" and "a118d193a6d7304bde95a541dbf511cc196ccdf0" have entirely different histories.

16 changed files with 83 additions and 140 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -16,7 +16,7 @@ public class RuoYiApplication
{ {
// System.setProperty("spring.devtools.restart.enabled", "false"); // System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args); SpringApplication.run(RuoYiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ Application Start Completely ლ(´ڡ`ლ)゙ \n" + System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" + " .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" + " | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" + " | ( ' ) | \\ _. / ' \n" +

Binary file not shown.

View File

@ -6,7 +6,7 @@ spring:
druid: druid:
# 主库数据源 # 主库数据源
master: master:
url: jdbc:mysql://121.199.168.157:3306/unis_pms?useUnicode=true&rewriteBatchedStatements=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:mysql://121.199.168.157:3306/unis_pms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root username: root
password: unis@db password: unis@db
# 从库数据源 # 从库数据源

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

View File

@ -3,8 +3,8 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>登录应用管理系统</title> <title>登录若依系统</title>
<meta name="description" content="紫光汇智应用管理系统"> <meta name="description" content="若依后台管理框架">
<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/> <link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/> <link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
<link href="../static/css/style.min.css" th:href="@{/css/style.min.css}" rel="stylesheet"/> <link href="../static/css/style.min.css" th:href="@{/css/style.min.css}" rel="stylesheet"/>
@ -26,10 +26,10 @@
<div class="col-sm-7"> <div class="col-sm-7">
<div class="signin-info"> <div class="signin-info">
<div class="logopanel m-b"> <div class="logopanel m-b">
<h1><img alt="[ 紫光汇智 ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1> <h1><img alt="[ 若依 ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1>
</div> </div>
<div class="m-b"></div> <div class="m-b"></div>
<h4>欢迎使用 <strong>紫光汇智 应用管理系统</strong></h4> <h4>欢迎使用 <strong>若依 后台管理系统</strong></h4>
<ul class="m-b"> <ul class="m-b">
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li> <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li> <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>

View File

@ -1,82 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>登录若依系统</title>
<meta name="description" content="若依后台管理框架">
<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
<link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
<link href="../static/css/style.min.css" th:href="@{/css/style.min.css}" rel="stylesheet"/>
<link href="../static/css/login.min.css" th:href="@{/css/login.min.css}" rel="stylesheet"/>
<link href="../static/ruoyi/css/ry-ui.css" th:href="@{/ruoyi/css/ry-ui.css?v=4.8.0}" rel="stylesheet"/>
<!-- 360浏览器急速模式 -->
<meta name="renderer" content="webkit">
<!-- 避免IE使用兼容模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="shortcut icon" href="../static/favicon.ico" th:href="@{favicon.ico}"/>
<style type="text/css">label.error { position:inherit; }</style>
<script>
if(window.top!==window.self){alert('未登录或登录超时。请重新登录');window.top.location=window.location};
</script>
</head>
<body class="signin">
<div class="signinpanel">
<div class="row">
<div class="col-sm-7">
<div class="signin-info">
<div class="logopanel m-b">
<h1><img alt="[ 若依 ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1>
</div>
<div class="m-b"></div>
<h4>欢迎使用 <strong>若依 后台管理系统</strong></h4>
<ul class="m-b">
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Shiro</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Thymeleaf</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Bootstrap</li>
</ul>
<strong th:if="${isAllowRegister}">还没有账号? <a th:href="@{/register}">立即注册&raquo;</a></strong>
</div>
</div>
<div class="col-sm-5">
<form id="signupForm" autocomplete="off">
<h4 class="no-margins">登录:</h4>
<p class="m-t-md">你若不离不弃,我必生死相依</p>
<input type="text" name="username" class="form-control uname" placeholder="用户名" value="admin" />
<input type="password" name="password" class="form-control pword" placeholder="密码" value="admin@123" />
<div class="row m-t" th:if="${captchaEnabled==true}">
<div class="col-xs-6">
<input type="text" name="validateCode" class="form-control code" placeholder="验证码" maxlength="5" />
</div>
<div class="col-xs-6">
<a href="javascript:void(0);" title="点击更换验证码">
<img th:src="@{/captcha/captchaImage(type=${captchaType})}" class="imgcode" width="85%"/>
</a>
</div>
</div>
<div class="checkbox-custom" th:if="${isRemembered}" th:classappend="${captchaEnabled==false} ? 'm-t'">
<input type="checkbox" id="rememberme" name="rememberme"> <label for="rememberme">记住我</label>
</div>
<button class="btn btn-success btn-block" id="btnSubmit" data-loading="正在验证登录,请稍候...">登录</button>
</form>
</div>
</div>
<div class="signup-footer">
<div class="pull-left">
Copyright © 2018-2025 ruoyi.vip All Rights Reserved. <br>
</div>
</div>
</div>
<script th:inline="javascript"> var ctx = [[@{/}]]; var captchaType = [[${captchaType}]]; var captchaEnabled = [[${captchaEnabled}]];</script>
<!--[if lte IE 8]><script>window.location.href=ctx+'html/ie.html';</script><![endif]-->
<!-- 全局js -->
<script src="../static/js/jquery.min.js" th:src="@{/js/jquery.min.js}"></script>
<script src="../static/ajax/libs/validate/jquery.validate.min.js" th:src="@{/ajax/libs/validate/jquery.validate.min.js}"></script>
<script src="../static/ajax/libs/layer/layer.min.js" th:src="@{/ajax/libs/layer/layer.min.js}"></script>
<script src="../static/ajax/libs/blockUI/jquery.blockUI.js" th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
<script src="../static/ruoyi/js/ry-ui.js" th:src="@{/ruoyi/js/ry-ui.js?v=4.8.0}"></script>
<script src="../static/ruoyi/login.js" th:src="@{/ruoyi/login.js}"></script>
</body>
</html>

View File

@ -128,10 +128,14 @@
</div> </div>
<h4 class="form-header h4">合同清单列表</h4> <h4 class="form-header h4">合同清单列表</h4>
<div class="row"> <div class="row">
<div class="col-sm-12">
<button type="button" class="btn btn-white btn-sm" onclick="addRow()"><i class="fa fa-plus"> 增加</i></button>
<button type="button" class="btn btn-white btn-sm" onclick="sub.delRow()"><i class="fa fa-minus"> 删除</i></button>
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
</div> </div>
</div> </div>
</div>
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
@ -199,17 +203,15 @@
showColumns: false, showColumns: false,
sidePagination: "client", sidePagination: "client",
columns: [{ columns: [{
checkbox: false checkbox: true
}, },
{ {
field: 'index', field: 'index',
align: 'center', align: 'center',
title: "序号", title: "序号",
formatter: function (value, row, index) { formatter: function (value, row, index) {
// var columnIndex = $.common.sprintf("<input type='hidden' name='index' value='%s'>", $.table.serialNumber(index)); var columnIndex = $.common.sprintf("<input type='hidden' name='index' value='%s'>", $.table.serialNumber(index));
//var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].id' value='%s'>", index, value); return columnIndex + $.table.serialNumber(index);
var html = $.common.sprintf("<input type='hidden' name='orderListList[%s].id' value='%s'>", index, value);
return html+$.table.serialNumber(index);
} }
}, },
{ {
@ -217,16 +219,7 @@
align: 'center', align: 'center',
title: 'BOM编码', title: 'BOM编码',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var html = $.common.sprintf("<p class='form-control-static'>%s</p>", value); var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].productCode' value='%s'>", index, value);
return html;
}
},
{
field: 'productName',
align: 'center',
title: '产品名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<p class='form-control-static'>%s</p>", value);
return html; return html;
} }
}, },
@ -241,6 +234,16 @@
} }
}, },
{
field: 'price',
align: 'center',
title: '单价',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].price' value='%s'>", index, value);
return html;
}
},
{ {
field: 'amount', field: 'amount',
align: 'center', align: 'center',
@ -259,10 +262,35 @@
var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].remark' value='%s'>", index, value); var html = $.common.sprintf("<input class='form-control' type='text' name='orderListList[%s].remark' value='%s'>", index, value);
return html; return html;
} }
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var value = $.common.isNotEmpty(row.index) ? row.index : $.table.serialNumber(index);
return '<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="sub.delRowByIndex(\'' + value + '\')"><i class="fa fa-remove"></i>删除</a>';
}
}] }]
}; };
$.table.init(options); $.table.init(options);
}); });
function addRow() {
var count = $("#" + table.options.id).bootstrapTable('getData').length;
var row = {
index: $.table.serialNumber(count),
productId: "",
quantity: "",
price: "",
amount: "",
remark: "",
createdAt: "",
updatedAt: "",
deletedAt: "",
}
sub.addRow(row);
}
</script> </script>
</body> </body>
</html> </html>

View File

@ -26,12 +26,9 @@ public class OrderList extends BaseEntity
private Long orderId; private Long orderId;
/** 产品编码,关联产品编码表 */ /** 产品编码,关联产品编码表 */
@Excel(name = "BOM编码") @Excel(name = "产品编码,关联产品编码表")
private String productCode; private String productCode;
@Excel(name = "产品名称")
private String productName;
/** 数量 */ /** 数量 */
@Excel(name = "数量") @Excel(name = "数量")
private Long quantity; private Long quantity;
@ -45,6 +42,7 @@ public class OrderList extends BaseEntity
private BigDecimal amount; private BigDecimal amount;
private String operateFlag;
/** 创建时间 */ /** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
@ -87,10 +85,6 @@ public class OrderList extends BaseEntity
{ {
return productCode; return productCode;
} }
public String getProductName()
{
return productName;
}
public void setQuantity(Long quantity) public void setQuantity(Long quantity)
{ {
this.quantity = quantity; this.quantity = quantity;
@ -146,6 +140,13 @@ public class OrderList extends BaseEntity
return deletedAt; return deletedAt;
} }
public String getOperateFlag() {
return operateFlag;
}
public void setOperateFlag(String operateFlag) {
this.operateFlag = operateFlag;
}
@Override @Override
public String toString() { public String toString() {
@ -153,7 +154,6 @@ public class OrderList extends BaseEntity
.append("id", getId()) .append("id", getId())
.append("orderId", getOrderId()) .append("orderId", getOrderId())
.append("productCode", getProductCode()) .append("productCode", getProductCode())
.append("productName", getProductName())
.append("quantity", getQuantity()) .append("quantity", getQuantity())
.append("price", getPrice()) .append("price", getPrice())
.append("amount", getAmount()) .append("amount", getAmount())

View File

@ -99,12 +99,8 @@ public class OrderInfoServiceImpl implements IOrderInfoService
// //
// orderInfoMapper.logicRemoveListById(deleteList); // orderInfoMapper.logicRemoveListById(deleteList);
// } // }
// orderInfoMapper.deleteOrderListByOrderId(orderInfo.getId()); orderInfoMapper.deleteOrderListByOrderId(orderInfo.getId());
// insertOrderList(orderInfo); insertOrderList(orderInfo);
List<OrderList> orderListList = orderInfo.getOrderListList();
if (orderListList!=null && !orderListList.isEmpty()){
orderInfoMapper.updateListBatch(orderListList);
}
return orderInfoMapper.updateOrderInfo(orderInfo); return orderInfoMapper.updateOrderInfo(orderInfo);
} }

View File

@ -105,21 +105,19 @@
</select> </select>
<select id="selectOrderListList" resultMap="OrderListResult"> <select id="selectOrderListList" resultMap="OrderListResult">
select t1.id, select id,
t1.order_id, order_id,
t1.product_code, product_code,
t2.product_name, quantity,
t1.quantity, price,
t1.price, amount,
t1.amount, remark,
t1.remark, created_at,
t1.created_at, updated_at,
t1.updated_at, deleted_at
t1.deleted_at from order_list
from order_list t1 where order_id = #{order_id}
left join product_info t2 on t1.product_code=t2.product_code and status=0
where t1.order_id = #{order_id}
and t1.status=0
</select> </select>
<select id="listOrderListByDeliveryId" resultMap="OrderListResult"> <select id="listOrderListByDeliveryId" resultMap="OrderListResult">
select id, select id,
@ -221,9 +219,12 @@
<foreach item="item" index="index" collection="list" separator=";"> <foreach item="item" index="index" collection="list" separator=";">
update order_list update order_list
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="item.quantity != null ">quantity = #{item.quantity},</if> <if test="productCode != null">product_code = #{productCode},</if>
<if test="item.amount != null">amount = #{item.amount},</if> <if test="quantity != null ">quantity = #{quantity},</if>
<if test="item.remark != null and item.remark!=''">remark = #{item.remark},</if> <if test="price != null">price = #{price},</if>
<if test="amount != null">amount = #{amount},</if>
<if test="remark != null and remark!=''">remark = #{remark},</if>
updated_at = NOW(), updated_at = NOW(),
</trim> </trim>
where id = #{item.id} where id = #{item.id}