增加 盘点

master
wangh 8 months ago
parent 83a7227358
commit 4a595afb9c

@ -2,6 +2,7 @@ package com.ruoyi.api.controller;
import com.ruoyi.api.domain.InStoreDto;
import com.ruoyi.api.domain.OutStoreDto;
import com.ruoyi.api.domain.StockDto;
import com.ruoyi.api.service.impl.ApiService;
import com.ruoyi.common.core.domain.AjaxResult;
@ -12,10 +13,7 @@ import com.ruoyi.manage.domain.BaseManufacturer;
import com.ruoyi.manage.service.IBaseLocationService;
import com.ruoyi.manage.service.IBaseManufacturerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
@ -77,4 +75,18 @@ public class ApiController {
return success();
}
@PostMapping("/storecheck/select")
public AjaxResult storeCheckSelect(){
List<StockDto> list=apiService.storeCheckSelect();
if (list==null||list.isEmpty()){
return error("库存为空");
}
return success(list);
}
@PostMapping("/storecheck/submit")
public AjaxResult storeCheckSubmit(@RequestBody List<StockDto> list, @RequestParam("user") String user){
System.out.println(list.toString());
return success();
}
}

@ -0,0 +1,49 @@
package com.ruoyi.api.domain;
/**
* @author wanghao
* @date 2024/1/19 13:45
*/
public class StockDto {
private int index;
private String epcCode;
private String locationCode;
private String state;
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String getEpcCode() {
return epcCode;
}
public void setEpcCode(String epcCode) {
this.epcCode = epcCode;
}
public String getLocationCode() {
return locationCode;
}
public void setLocationCode(String locationCode) {
this.locationCode = locationCode;
}
@Override
public String toString() {
return "StockDto{" + "index=" + index + ", epcCode='" + epcCode + '\'' + ", locationCode='" + locationCode + '\'' + ", state='" + state + '\'' + '}';
}
}

@ -2,6 +2,7 @@ package com.ruoyi.api.mapper;
import com.ruoyi.api.domain.InStoreDto;
import com.ruoyi.api.domain.OutStoreDto;
import com.ruoyi.api.domain.StockDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -14,9 +15,12 @@ import java.util.List;
@Repository
public interface ApiMapper {
int submintInsertRecordIn(@Param("inStore") InStoreDto inStore);
int submintInsertLedger(@Param("inStore") InStoreDto inStore);
int submitInsertRecordOut(@Param("outStoreDto") OutStoreDto outStoreDto);
int updataLedger(@Param("outStoreDto")OutStoreDto outStoreDto);
int updataLedger(@Param("outStoreDto") OutStoreDto outStoreDto);
List<StockDto> storeCheckSelect();
}

@ -2,10 +2,13 @@ package com.ruoyi.api.service.impl;
import com.ruoyi.api.domain.InStoreDto;
import com.ruoyi.api.domain.OutStoreDto;
import com.ruoyi.api.domain.StockDto;
import com.ruoyi.api.mapper.ApiMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author wanghao
* @date 2024/1/17 14:26
@ -30,4 +33,8 @@ public class ApiService {
public int updataLedger(OutStoreDto outStoreDto) {
return mapper.updataLedger(outStoreDto);
}
public List<StockDto> storeCheckSelect() {
return mapper.storeCheckSelect();
}
}

@ -3,7 +3,8 @@
<mapper namespace="com.ruoyi.api.mapper.ApiMapper">
<insert id="submintInsertRecordIn">
INSERT ignore into bg_wheel_chocks.record_in (epc_code, batch_code, location_code,manufacturer_id, manufacturer_Name,
INSERT ignore into bg_wheel_chocks.record_in (epc_code, batch_code, location_code,manufacturer_id,
manufacturer_Name,
create_by,create_time)
VALUES
<foreach collection="inStore.epclist" item="item" separator=",">
@ -30,12 +31,22 @@
<update id="updataLedger">
UPDATE bg_wheel_chocks.ledger_rfid
SET
location_type = '2',
location_code = #{outStoreDto.areaCode},
update_time = now()
location_type = '2',
location_code = #{outStoreDto.areaCode},
update_time = now()
WHERE rifd_code in
<foreach collection="outStoreDto.epcList" item="epc" separator="," open="(" close=")">
#{epc}
#{epc}
</foreach>
</update>
<select id="storeCheckSelect" resultType="com.ruoyi.api.domain.StockDto">
select row_number() over (order by location_code) as 'index',
rifd_code as epcCode,
location_code as locationCode,
'N' as state
from ledger_rfid
where location_type = 1
and is_scrap = 1
</select>
</mapper>

@ -0,0 +1,127 @@
package com.ruoyi.manage.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.manage.domain.RecordStoreCheck;
import com.ruoyi.manage.service.IRecordStoreCheckService;
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 wangh
* @date 2024-01-19
*/
@Controller
@RequestMapping("/manage/record_store_check")
public class RecordStoreCheckController extends BaseController
{
private String prefix = "manage/record_store_check";
@Autowired
private IRecordStoreCheckService recordStoreCheckService;
@RequiresPermissions("manage:record_store_check:view")
@GetMapping()
public String record_store_check()
{
return prefix + "/record_store_check";
}
/**
*
*/
@RequiresPermissions("manage:record_store_check:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(RecordStoreCheck recordStoreCheck)
{
startPage();
List<RecordStoreCheck> list = recordStoreCheckService.selectRecordStoreCheckList(recordStoreCheck);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("manage:record_store_check:export")
@Log(title = "盘点记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(RecordStoreCheck recordStoreCheck)
{
List<RecordStoreCheck> list = recordStoreCheckService.selectRecordStoreCheckList(recordStoreCheck);
ExcelUtil<RecordStoreCheck> util = new ExcelUtil<RecordStoreCheck>(RecordStoreCheck.class);
return util.exportExcel(list, "盘点记录数据");
}
/**
*
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("manage:record_store_check:add")
@Log(title = "盘点记录", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(RecordStoreCheck recordStoreCheck)
{
return toAjax(recordStoreCheckService.insertRecordStoreCheck(recordStoreCheck));
}
/**
*
*/
@RequiresPermissions("manage:record_store_check:edit")
@GetMapping("/edit/{checkId}")
public String edit(@PathVariable("checkId") Long checkId, ModelMap mmap)
{
RecordStoreCheck recordStoreCheck = recordStoreCheckService.selectRecordStoreCheckByCheckId(checkId);
mmap.put("recordStoreCheck", recordStoreCheck);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("manage:record_store_check:edit")
@Log(title = "盘点记录", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(RecordStoreCheck recordStoreCheck)
{
return toAjax(recordStoreCheckService.updateRecordStoreCheck(recordStoreCheck));
}
/**
*
*/
@RequiresPermissions("manage:record_store_check:remove")
@Log(title = "盘点记录", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(recordStoreCheckService.deleteRecordStoreCheckByCheckIds(ids));
}
}

@ -0,0 +1,96 @@
package com.ruoyi.manage.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
/**
* record_store_check
*
* @author wangh
* @date 2024-01-19
*/
public class RecordStoreCheck extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long checkId;
/** 盘点时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "盘点时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date checkTime;
/** 盘点人 */
@Excel(name = "盘点人")
private String checkUser;
/** 盘点条数 */
@Excel(name = "盘点条数")
private Long checkNumber;
/** 盘点说明 */
@Excel(name = "盘点说明")
private String checkRemack;
public void setCheckId(Long checkId)
{
this.checkId = checkId;
}
public Long getCheckId()
{
return checkId;
}
public void setCheckTime(Date checkTime)
{
this.checkTime = checkTime;
}
public Date getCheckTime()
{
return checkTime;
}
public void setCheckUser(String checkUser)
{
this.checkUser = checkUser;
}
public String getCheckUser()
{
return checkUser;
}
public void setCheckNumber(Long checkNumber)
{
this.checkNumber = checkNumber;
}
public Long getCheckNumber()
{
return checkNumber;
}
public void setCheckRemack(String checkRemack)
{
this.checkRemack = checkRemack;
}
public String getCheckRemack()
{
return checkRemack;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("checkId", getCheckId())
.append("checkTime", getCheckTime())
.append("checkUser", getCheckUser())
.append("checkNumber", getCheckNumber())
.append("checkRemack", getCheckRemack())
.toString();
}
}

@ -0,0 +1,62 @@
package com.ruoyi.manage.mapper;
import java.util.List;
import com.ruoyi.manage.domain.RecordStoreCheck;
import org.springframework.stereotype.Repository;
/**
* Mapper
*
* @author wangh
* @date 2024-01-19
*/
@Repository
public interface RecordStoreCheckMapper
{
/**
*
*
* @param checkId
* @return
*/
public RecordStoreCheck selectRecordStoreCheckByCheckId(Long checkId);
/**
*
*
* @param recordStoreCheck
* @return
*/
public List<RecordStoreCheck> selectRecordStoreCheckList(RecordStoreCheck recordStoreCheck);
/**
*
*
* @param recordStoreCheck
* @return
*/
public int insertRecordStoreCheck(RecordStoreCheck recordStoreCheck);
/**
*
*
* @param recordStoreCheck
* @return
*/
public int updateRecordStoreCheck(RecordStoreCheck recordStoreCheck);
/**
*
*
* @param checkId
* @return
*/
public int deleteRecordStoreCheckByCheckId(Long checkId);
/**
*
*
* @param checkIds
* @return
*/
public int deleteRecordStoreCheckByCheckIds(String[] checkIds);
}

@ -0,0 +1,61 @@
package com.ruoyi.manage.service;
import java.util.List;
import com.ruoyi.manage.domain.RecordStoreCheck;
/**
* Service
*
* @author wangh
* @date 2024-01-19
*/
public interface IRecordStoreCheckService
{
/**
*
*
* @param checkId
* @return
*/
public RecordStoreCheck selectRecordStoreCheckByCheckId(Long checkId);
/**
*
*
* @param recordStoreCheck
* @return
*/
public List<RecordStoreCheck> selectRecordStoreCheckList(RecordStoreCheck recordStoreCheck);
/**
*
*
* @param recordStoreCheck
* @return
*/
public int insertRecordStoreCheck(RecordStoreCheck recordStoreCheck);
/**
*
*
* @param recordStoreCheck
* @return
*/
public int updateRecordStoreCheck(RecordStoreCheck recordStoreCheck);
/**
*
*
* @param checkIds
* @return
*/
public int deleteRecordStoreCheckByCheckIds(String checkIds);
/**
*
*
* @param checkId
* @return
*/
public int deleteRecordStoreCheckByCheckId(Long checkId);
}

@ -3,22 +3,8 @@ package com.ruoyi.manage.service.impl;
import java.util.List;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.manage.mapper.RecordOutMapper;
@ -67,14 +53,9 @@ public class RecordOutServiceImpl implements IRecordOutService {
*/
@Override
public int insertRecordOut(RecordOut recordOut) {
recordOut.setCreateBy(ShiroUtils.getLoginName());
recordOut.setCreateTime(DateUtils.getNowDate());
return recordOutMapper.insertRecordOut(recordOut);
recordOut.setCreateBy(ShiroUtils.getLoginName());
recordOut.setCreateTime(DateUtils.getNowDate());
return recordOutMapper.insertRecordOut(recordOut);
}
/**

@ -0,0 +1,112 @@
package com.ruoyi.manage.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.manage.mapper.RecordStoreCheckMapper;
import com.ruoyi.manage.domain.RecordStoreCheck;
import com.ruoyi.manage.service.IRecordStoreCheckService;
import com.ruoyi.common.core.text.Convert;
/**
* Service
*
* @author wangh
* @date 2024-01-19
*/
@Service
public class RecordStoreCheckServiceImpl implements IRecordStoreCheckService {
@Autowired
private RecordStoreCheckMapper recordStoreCheckMapper;
/**
*
*
* @param checkId
* @return
*/
@Override
public RecordStoreCheck selectRecordStoreCheckByCheckId(Long checkId) {
return recordStoreCheckMapper.selectRecordStoreCheckByCheckId(checkId);
}
/**
*
*
* @param recordStoreCheck
* @return
*/
@Override
public List<RecordStoreCheck> selectRecordStoreCheckList(RecordStoreCheck recordStoreCheck) {
return recordStoreCheckMapper.selectRecordStoreCheckList(recordStoreCheck);
}
/**
*
*
* @param recordStoreCheck
* @return
*/
@Override
public int insertRecordStoreCheck(RecordStoreCheck recordStoreCheck) {
return recordStoreCheckMapper.insertRecordStoreCheck(recordStoreCheck);
}
/**
*
*
* @param recordStoreCheck
* @return
*/
@Override
public int updateRecordStoreCheck(RecordStoreCheck recordStoreCheck) {
return recordStoreCheckMapper.updateRecordStoreCheck(recordStoreCheck);
}
/**
*
*
* @param checkIds
* @return
*/
@Override
public int deleteRecordStoreCheckByCheckIds(String checkIds) {
return recordStoreCheckMapper.deleteRecordStoreCheckByCheckIds(Convert.toStrArray(checkIds));
}
/**
*
*
* @param checkId
* @return
*/
@Override
public int deleteRecordStoreCheckByCheckId(Long checkId) {
return recordStoreCheckMapper.deleteRecordStoreCheckByCheckId(checkId);
}
}

@ -0,0 +1,22 @@
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('盘点记录', '2026', '1', '/manage/record_store_check', 'C', '0', 'manage:record_store_check:view', '#', 'admin', sysdate(), '', null, '盘点记录菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('盘点记录查询', @parentId, '1', '#', 'F', '0', 'manage:record_store_check:list', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('盘点记录新增', @parentId, '2', '#', 'F', '0', 'manage:record_store_check:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('盘点记录修改', @parentId, '3', '#', 'F', '0', 'manage:record_store_check:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('盘点记录删除', @parentId, '4', '#', 'F', '0', 'manage:record_store_check:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('盘点记录导出', @parentId, '5', '#', 'F', '0', 'manage:record_store_check:export', '#', 'admin', sysdate(), '', null, '');

@ -0,0 +1,70 @@
<?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.manage.mapper.RecordStoreCheckMapper">
<resultMap type="RecordStoreCheck" id="RecordStoreCheckResult">
<result property="checkId" column="check_id" />
<result property="checkTime" column="check_time" />
<result property="checkUser" column="check_user" />
<result property="checkNumber" column="check_number" />
<result property="checkRemack" column="check_remack" />
</resultMap>
<sql id="selectRecordStoreCheckVo">
select check_id, check_time, check_user, check_number, check_remack from record_store_check
</sql>
<select id="selectRecordStoreCheckList" parameterType="RecordStoreCheck" resultMap="RecordStoreCheckResult">
<include refid="selectRecordStoreCheckVo"/>
<where>
<if test="checkTime != null "> and check_time = #{checkTime}</if>
<if test="checkUser != null and checkUser != ''"> and check_user = #{checkUser}</if>
</where>
</select>
<select id="selectRecordStoreCheckByCheckId" parameterType="Long" resultMap="RecordStoreCheckResult">
<include refid="selectRecordStoreCheckVo"/>
where check_id = #{checkId}
</select>
<insert id="insertRecordStoreCheck" parameterType="RecordStoreCheck" useGeneratedKeys="true" keyProperty="checkId">
insert into record_store_check
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="checkTime != null">check_time,</if>
<if test="checkUser != null">check_user,</if>
<if test="checkNumber != null">check_number,</if>
<if test="checkRemack != null">check_remack,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="checkTime != null">#{checkTime},</if>
<if test="checkUser != null">#{checkUser},</if>
<if test="checkNumber != null">#{checkNumber},</if>
<if test="checkRemack != null">#{checkRemack},</if>
</trim>
</insert>
<update id="updateRecordStoreCheck" parameterType="RecordStoreCheck">
update record_store_check
<trim prefix="SET" suffixOverrides=",">
<if test="checkTime != null">check_time = #{checkTime},</if>
<if test="checkUser != null">check_user = #{checkUser},</if>
<if test="checkNumber != null">check_number = #{checkNumber},</if>
<if test="checkRemack != null">check_remack = #{checkRemack},</if>
</trim>
where check_id = #{checkId}
</update>
<delete id="deleteRecordStoreCheckByCheckId" parameterType="Long">
delete from record_store_check where check_id = #{checkId}
</delete>
<delete id="deleteRecordStoreCheckByCheckIds" parameterType="String">
delete from record_store_check where check_id in
<foreach item="checkId" collection="array" open="(" separator="," close=")">
#{checkId}
</foreach>
</delete>
</mapper>

@ -0,0 +1,60 @@
<!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-record_store_check-add">
<div class="form-group">
<label class="col-sm-3 control-label">盘点时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="checkTime" 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 class="form-group">
<label class="col-sm-3 control-label">盘点人:</label>
<div class="col-sm-8">
<input name="checkUser" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">盘点条数:</label>
<div class="col-sm-8">
<input name="checkNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">盘点说明:</label>
<div class="col-sm-8">
<input name="checkRemack" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "manage/record_store_check"
$("#form-record_store_check-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-record_store_check-add').serialize());
}
}
$("input[name='checkTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

@ -0,0 +1,61 @@
<!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-record_store_check-edit" th:object="${recordStoreCheck}">
<input name="checkId" th:field="*{checkId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">盘点时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="checkTime" th:value="${#dates.format(recordStoreCheck.checkTime, '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 class="form-group">
<label class="col-sm-3 control-label">盘点人:</label>
<div class="col-sm-8">
<input name="checkUser" th:field="*{checkUser}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">盘点条数:</label>
<div class="col-sm-8">
<input name="checkNumber" th:field="*{checkNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">盘点说明:</label>
<div class="col-sm-8">
<input name="checkRemack" th:field="*{checkRemack}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "manage/record_store_check";
$("#form-record_store_check-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-record_store_check-edit').serialize());
}
}
$("input[name='checkTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

@ -0,0 +1,102 @@
<!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" class="time-input" placeholder="请选择盘点时间" name="checkTime"/>
</li>
<li>
<label>盘点人:</label>
<input type="text" name="checkUser"/>
</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()"><i class="fa fa-refresh"></i>&nbsp;重置</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="manage:record_store_check:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="manage:record_store_check:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="manage:record_store_check:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="manage:record_store_check: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('manage:record_store_check:edit')}]];
var removeFlag = [[${@permission.hasPermi('manage:record_store_check:remove')}]];
var prefix = ctx + "manage/record_store_check";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "盘点记录",
columns: [{
checkbox: true
},
{
field: 'checkId',
title: '主键',
visible: false
},
{
field: 'checkTime',
title: '盘点时间'
},
{
field: 'checkUser',
title: '盘点人'
},
{
field: 'checkNumber',
title: '盘点条数'
},
{
field: 'checkRemack',
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.checkId + '\')"><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.checkId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
Loading…
Cancel
Save