<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<meta charset="utf-8">
<head th:include="include :: header"></head>
<body class="gray-bg">
    <div class="container-div">
		<div class="row">
			<div class="col-sm-12 select-info">
				<form id="inventory-form">
					<div class="select-list">
						<ul>
                            <li>
                                库位编号:<input type="text" name="locationCode"/>
                            </li>
							<li>
								容器编号:<input type="text" name="containerCode"/>
							</li>
							<li>
								存货编码:<input type="text" name="materialCode"/>
							</li>
                            <li>
                                存货代码:<input type="text" name="materialOldCode"/>
                            </li>
							<li>
								物料名称:<input type="text" name="materialName"/>
							</li>
                            <li>
                                物料类别:<select name="materialType" th:with="type=${@dict.getType('materialType')}">
                                <option value="">所有</option>
                                <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
                            </select>
                            </li>
							<li>
								物料规格:<input type="text" name="materialSpec"/>
							</li>
							<li>
								货主:
								<select id="companyCode" name="companyCode" th:with="list=${@companyService.getCode()}">
									<option value="">所有</option>
									<option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['code']}" th:attr = " code = ${item['code']}"></option>
								</select>
							</li>
							<li>
								U8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouseWu.selectList()}">
								<option value="">所有</option>
								<option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select>
							</li>
							<li>
								储货库区:
								<select name="zoneCode" th:with="zone=${@zone.getCode()}">
									<option value="">所有</option>
									<option th:each="e : ${zone}" th:text="${e['name']}" th:value="${e['code']}"></option>
								</select>
							</li>
							<li>
								库存状态:
								<select name="inventorySts" th:with="inventoryStatus=${@dict.getType('inventorySts')}">
									<option value="">所有</option>
									<option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}"
											th:value="${e['dictValue']}">
									</option>
								</select>
							</li>
                            <li>
                                供应商编码:<input type="text" name="supplierCode"/>
                            </li>

                            <li>
                                工作令号:<input type="text" name="moCode"/>
                            </li>
							<li class="time2" style="height:30px">
								<label>创建时间: </label>
								<input type="text" class="time-input" id="startTime" placeholder="开始时间"
									   name="createdBegin"/>
								<span>-</span>
								<input type="text" class="time-input" id="endTime" placeholder="结束时间"
									   name="createdEnd"/>
							</li>
							<!--<li>
								物料规格:<input type="text" name="materialSpec"/>
							</li>-->
							<!--<li>
								物料类型:
								<select name="materialType" th:with="type=${@dict.getType('materialType')}">
									<option value="">所有</option>
									<option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
								</select>
							</li>-->
							<li>
								<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
								<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('inventory-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
								<!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventory:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
							</li>
                        </ul>
					</div>
				</form>
			</div>
		   <div class="btn-group hidden-xs" id="toolbar" role="group">
			   <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:inventory:add">-->
				   <!--<i class="fa fa-plus"></i> 新增-->
			   <!--</a>-->
			   <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventory:remove">-->
				   <!--<i class="fa fa-trash-o"></i> 删除-->
			   <!--</a>-->
			   <a class="btn btn-outline btn-danger btn-rounded" onclick="transfer()"
				  shiro:hasPermission="inventory:inventoryHeader:transfer">
				   <i class="fa fa-exchange"></i> 立库移库
			   </a>
			   <a class="btn btn-outline btn-primary btn-rounded" onclick="checkOut()"
				  shiro:hasPermission="inventory:inventoryHeader:seeOut">
				   <i class="fa fa-eye"></i> 出库查看
			   </a>
			   <a class="btn btn-outline btn-danger btn-rounded" onclick="report()">
				   <i class="fa fa-eye"></i> 打印
			   </a>
			   <a class="btn btn-outline btn-primary btn-rounded" onclick="shipmentHeader()" shiro:hasPermission="inventory:inventory:shipment">
				   <i class="fa fa-eye"></i> 生成出库单
			   </a>
			   <a class="btn btn-outline btn-success btn-rounded" onclick="addLockingWorkOrder()">
				   <i class="fa fa-plus"></i>分配工作令和数量
			   </a>
			   <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="lockWork()">
				   <i class="fa fa-code-fork"></i> 添加工作令
			   </a>
			   <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="lockWork2()">
				   <i class="fa fa-code-fork"></i> 清除工作令
			   </a>
			   <!--<a class="btn btn-outline btn-primary btn-rounded" onclick="shows()" shiro:hasPermission="inventory:inventory:seeOut">-->
				   <!--<i class="fa fa-eye"></i> 演示-->
			   <!--</a>-->
			   <!--<a class="btn btn-outline btn-primary btn-rounded" onclick="stopShow()" shiro:hasPermission="inventory:inventory:seeOut">-->
				   <!--<i class="fa fa-eye"></i> 停止演示-->
			   <!--</a>-->
			   <!--<a class="btn btn-outline btn-primary btn-rounded" onclick="jasperReport()" shiro:hasPermission="inventory:inventory:seeOut">-->
				   <!--<i class="fa fa-eye"></i> 报表-->
			   <!--</a>-->
			   <!--<a class="btn btn-outline btn-primary btn-rounded" onclick="jasperReports()" shiro:hasPermission="inventory:inventory:seeOut">-->
				   <!--<i class="fa fa-eye"></i> 打印-->
			   <!--</a>-->
			   <div class="zkc pull-left" style="margin-left: 300px">
			       <label >总库存:</label>
			       <div class="pull-right">
				       <input id="remainder" name="remainder" class="form-control" type="text" readonly  style="width: 50%">
			       </div>
			   </div>
		   </div>

		   <div class="col-sm-12 select-info">
			   <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
		   </div>
		</div>
    </div>
    <div th:include="include :: footer"></div>
    <script th:inline="javascript">

		var prefix = ctx + "inventory/inventoryHeader";
		var detailPrefix = ctx + "inventory/inventoryDetail";
		var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]];
		var datas = [[${@dict.getType('sys_normal_disable')}]];
		var containerStatus = [[${@dict.getType('containerStatus')}]];
		var zone =[[${@zone.getCode()}]];
		var inventoryStatus = [[${@dict.getType('inventorySts')}]];
		var company =[[${@companyService.getCode()}]];
        $(function() {
            $("select[name='companyCode']").change(function (e) {
                let companyCode=$("select[name='companyCode'] option:selected").val();
                $.ajax({
                    url:prefix1+'/getwarehouse',
                    type:'post',
                    data:{code:companyCode},
                    success:function (response) {
                        if(response.code===200){
                            $("select[name='uWarehouseCode']").children().remove();
                            $("select[name='uWarehouseCode']").append(`<option value="">所有</option>`);
                            for (let item of response.data) {
                                let option=`<option value="${item.uWarehouseCode}">${item.uWarehouseName}</option>`;
                                $("select[name='uWarehouseCode']").append(option);
                            }
                        }
                        else {$.modal.msgError(response.msg)}
                    }
                })
            })

        });

		$("#bootstrap-table").bootstrapTable({
			url: detailPrefix + "/inventoryDetailLook",
			createUrl: detailPrefix + "/add",
			updateUrl: detailPrefix + "/edit/{id}",
			removeUrl: detailPrefix + "/remove",
			contentType: "application/x-www-form-urlencoded",   // 编码类型
			method: 'post',
			iconSize: "outline",
			toolbar: "#toolbar",
			showRefresh: true,//刷新
			showToggle:true, //视图切换
			clickToSelect: true,
			showColumns:true, //列选择
			showExport: true, //导出
			modalName: "",
			sortable: true,                                     // 是否启用排序
			sortStable: true,                                   // 设置为 true 将获得稳定的排序
			sortName: "id",
			sortOrder: "desc",
			sidePagination: "client",
			search: false,
			pagination: true,   // 是否显示分页(*)
			pageNumber: 1,
			pageSize: 10,
			pageList: [10, 25, 50,100,500,3000,5000,'all'],
			sidePagination: "server",                           // 启用服务端分页
			queryParams: function(params) {
				return {
					// 传递参数查询参数
					pageSize:       params.limit,
					pageNum:        params.offset / params.limit + 1,
					searchValue:    params.search,
					sort:           params.sort,
					order:          params.order
				};
			},
			responseHandler: function(res) {
				if (res.code == 200) {
					return { rows: res.data, total: res.total };
				} else {
					$.modal.alertWarning(res.msg);
					return { rows: [], total: 0 };
				}
			},
			onLoadSuccess: function (res) {
				let count = 0;
				if (res.rows.length > 0) {
					res.rows.map(item => {
						count +=item.qty
					});
				}
				$("#remainder").val(count)
			},
			columns: [
				{
					checkbox: true
				},
				{
					field : 'id',
					title : '库存ID',
                    sortable:true
				},

                {
                    field : 'created',
                    title : '入库时间',
                    visible:false
                },
				{
					field : 'locationCode',
					title : '库位编号',
					sortable:true,
				},
				{
					field : 'containerCode',
					title : '容器编号',
					sortable:true
				},
				{
					field : 'materialCode',
					title : '存货编码',
					sortable:true
				},
				{
					field : 'materialOldCode',
					title : '存货代码',
					sortable:true
				},
				{
					field : 'materialName',
					title : '物料名称',
					sortable:true
				},
				{
					field : 'materialSpec',
					title : '物料规格'
				},
				{
					field : 'qty',
					title : '数量',
					sortable:true
				},
				{
					field : 'moCode',
					title : '工作令号',
                    sortable:true
				},
				{
					field : 'lot',
					title : '批号',
                    visible:false
				},
				{
					field : 'companyName',
					title : '货主',
                    visible:false
				},
				{
					field : 'uWarehouseName',
					title : 'U8仓库',
					sortable:true
				},
				{
					field : 'zoneCode',
					title : '储货库区' ,
					sortable:true
				},
				{
					field : 'taskQty',
					title : '预定执行数量',
					visible:false
				},
				{
					field : 'sourceCode',
					title : '上游系统单号',
					visible:false
				},
				{
					field : 'sourceLine',
					title : '上游系统行号',
					visible:false
				},
				{
					field : 'receiptId',
					title : '入库单标识' ,
					visible:false
				},
				{
					field : 'receiptCode',
					title : '入库单编码' ,
					visible:false
				},
				{
					field : 'receiptDetailId',
					title : '入库单明细标识'  ,
					visible:false
				},
				{
					field : 'batch',
					title : '批次' ,
					sortable:false,
					visible:false
				},
				{
					field : 'lot',
					title : '批号' ,
					sortable:false,
					visible:false
				},
				{
					field : 'project',
					title : '项目号' ,
					visible:false
				},
				{
					field : 'supplierName',
					title : '供应商',
					visible:false
				},
				{
					field : 'manufactureDate',
					title : '生产日期' ,
					sortable:true ,
					visible:false
				},
				{
					field : 'expirationDate',
					title : '失效日期' ,
					sortable:true ,
					visible:false
				},
				{
					field:'days',
					title:'库龄',
					visible:true
				},
				{
					field : 'status',
					title : '库存状态' ,
					align: 'center',
					formatter: function(value, row, index) {
						return $.table.selectDictLabel(inventoryStatus, value);
					}
				},

				{
					field : 'costPrice',
					title : '成本' ,
					visible:false
				},
				{
					field : 'listPrice',
					title : '标价' ,
					visible:false
				},
				{
					field : 'netPrice',
					title : '净价' ,
					visible:false
				},
				{
					field : 'createdBy',
					title : '创建用户' ,
				},
				// {
				// 	field : 'lastUpdated',
				// 	title : '最后修改时间',
				// },
				// {
				// 	field : 'lastUpdatedBy',
				// 	title : '更新用户'
				// },
				{
					field : 'userDef1',
					title : '自定义字段1' ,
					visible:false
				},
				{
					field : 'userDef2',
					title : '自定义字段2' ,
					visible:false
				},
				{
					field : 'userDef3',
					title : '自定义字段3' ,
					visible:false
				}
				,
				{
				    title: '操作',
				    align: 'center',
				    formatter: function(value, row, index) {
				    	var actions = [];
				    	if(row.moCode == '' || row.moCode == null) {
                           // actions.push('<a class="btn btn-primary btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-check"></i>工作令锁定</a>');
                        }
				    	return actions.join('');
				    }
				}
			]
		});


		function transfer() {
			var url = prefix + "/transfer";
			$.modal.open("立库移库", url);
		}

		function checkOut() {
			let rows =  $("#bootstrap-table").bootstrapTable('getSelections')
			if (rows.length != 1) {
				$.modal.alertWarning("请选择一条记录");
				return;
			}
			$.modal.open("出库查看", prefix+"/checkOut/"+rows[0].inventoryHeaderId)
		}


		$(document).ready(function () {
			if (localStorage.getItem("locationCode")){
				var params = {query:{locationCode:localStorage.getItem("locationCode")}}
				$("#bootstrap-table").bootstrapTable("refresh",params)
				localStorage.removeItem("locationCode")
			}
		})


		function report() {
			debugger;
			var rows=$("#bootstrap-table").bootstrapTable('getSelections');
			if (rows.length == 0) {
				$.modal.alertWarning("请至少选择一条记录");
				return;
			}
			var ids = "";
			for(var i=0; i<rows.length; i++) {
				ids = ids + rows[i].id + ","
			}
			let url=detailPrefix+'/report/' + ids;
			$.modal.open("库存打印",url);
		}

		//在库质检
		function check() {
			var rows = $("#bootstrap-table").bootstrapTable('getSelections');
			if (rows.length == 0) {
				$.modal.alertWarning("请至少选择一条记录");
				return;
			}
			var url = detailPrefix + "/detailCheckTask";
			var data = {
				"ids": rows[0].id
			};
			localSubmit(url, "post", "json", data);
		}

		function localSubmit(url, type, dataType, data) {
			$.modal.loading("正在处理中,请稍后...");
			var config = {
				url: url, type: type, dataType: dataType, data: data, success: function (result) {
					if (result.code == web_status.SUCCESS) {
						$.modal.msgSuccess(result.msg);
					} else {
						$.modal.alertError(result.msg)
					}
					$.modal.closeLoading()
				}
			};
			$.ajax(config)
		}

		function addLockingWorkOrder() {
			var rows=$("#bootstrap-table").bootstrapTable('getSelections');
			if (rows.length == 0) {
				$.modal.alertWarning("请至少选择一条记录");
				return;
			}
			if (rows.length > 1) {
				$.modal.alertWarning("请选择一条记录");
				return;
			}
			var ids = "";
			for(var i=0; i<rows.length; i++) {
				ids = ids + rows[i].id + ","
			}
			let url=detailPrefix+'/addLockingWorkOrder/' + ids;
			$.modal.open("修改",url);
		}

		function lockWork() {
			var rows=$("#bootstrap-table").bootstrapTable('getSelections');
			if (rows.length == 0) {
				$.modal.alertWarning("请至少选择一条记录");
				return;
			}
			if (rows.length > 1) {
				$.modal.alertWarning("请选择一条记录");
				return;
			}
			var ids = "";
			for(var i=0; i<rows.length; i++) {
				ids = ids + rows[i].id + ","
			}
			let url=detailPrefix+'/lockingWorkOrder/' + ids;
			$.modal.open("修改",url);
		}

		function lockWork2() {
			var rows=$("#bootstrap-table").bootstrapTable('getSelections');
			if (rows.length == 0) {
				$.modal.alertWarning("请至少选择一条记录");
				return;
			}
			if (rows.length > 1) {
				$.modal.alertWarning("请选择一条记录");
				return;
			}
			var ids = "";
			for(var i=0; i<rows.length; i++) {
				ids = ids + rows[i].id + ","
			}
			let url=detailPrefix+'/lockingWorkOrder2';
			var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
			localSubmit(url, "post", "json", data);
		}

		function add() {
			var rows=$("#bootstrap-table").bootstrapTable('getSelections');
			if (rows.length == 0) {
				$.modal.alertWarning("请至少选择一条记录");
				return;
			}
			if (rows.length > 1) {
				$.modal.alertWarning("请选择一条记录");
				return;
			}
			var ids = "";
			for(var i=0; i<rows.length; i++) {
				ids = ids + rows[i].id + ","
			}
			let url=detailPrefix+'/addLockingWorkOrder/' + ids;
			$.modal.open("修改",url);
		}
    </script>
</body>
</html>