Commit 273906e90d83a208f62394d3bef9cc2942e924ef

Authored by mahuandong
2 parents 52bd74f7 1ab95b62

Merge remote-tracking branch 'origin/develop' into develop

Showing 30 changed files with 1134 additions and 1596 deletions
.idea/compiler.xml
... ... @@ -6,8 +6,8 @@
6 6 <sourceOutputDir name="target/generated-sources/annotations" />
7 7 <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
8 8 <outputRelativeToContentRoot value="true" />
9   - <module name="huaheng" />
10 9 <module name="wms2" />
  10 + <module name="huaheng" />
11 11 </profile>
12 12 </annotationProcessing>
13 13 </component>
... ...
doc/说明 0 → 100644
  1 +
  2 +
  3 +mybatis plus框架封装方法
  4 +
  5 +le小于等于
  6 +eq等于
... ...
src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java 0 → 100644
  1 +package com.huaheng.pc.inventory.inventoryDetail.controller;
  2 +
  3 +import com.huaheng.common.utils.StringUtils;
  4 +import com.huaheng.framework.aspectj.lang.annotation.Log;
  5 +import com.huaheng.framework.aspectj.lang.constant.BusinessType;
  6 +import com.huaheng.framework.web.controller.BaseController;
  7 +import com.huaheng.framework.web.domain.AjaxResult;
  8 +import com.huaheng.framework.web.page.TableDataInfo;
  9 +import com.huaheng.pc.general.material.service.MaterialServiceImpl;
  10 +import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService;
  11 +import org.apache.shiro.authz.annotation.RequiresPermissions;
  12 +import org.springframework.stereotype.Controller;
  13 +import org.springframework.web.bind.annotation.GetMapping;
  14 +import org.springframework.web.bind.annotation.PostMapping;
  15 +import org.springframework.web.bind.annotation.RequestMapping;
  16 +import org.springframework.web.bind.annotation.ResponseBody;
  17 +
  18 +import javax.annotation.Resource;
  19 +
  20 +/**
  21 + * 库存明细控制层
  22 + *
  23 + */
  24 +@Controller
  25 +@RequestMapping("/inventory/inventoryHeader")
  26 +public class InventoryDetailController extends BaseController
  27 +{
  28 + private String prefix = "inventoryHeader/inventoryHeader";
  29 +
  30 + @Resource
  31 + private MaterialServiceImpl materialService;
  32 + @Resource
  33 + private InventoryHeaderService inventoryHeaderService;
  34 +
  35 +
  36 +
  37 + @RequiresPermissions("inventoryHeader:inventoryHeader:view")
  38 + @GetMapping()
  39 + public String inventory()
  40 + {
  41 + return prefix + "/inventoryHeader";
  42 + }
  43 +
  44 + /**
  45 + * 查询库存列表
  46 + */
  47 + @RequiresPermissions("inventoryHeader:inventoryHeader:list")
  48 + @Log(title = "库存-库存查看",operating = "查看库存列表", action = BusinessType.GRANT)
  49 + @PostMapping("/inventoryLook")
  50 + @ResponseBody
  51 + public TableDataInfo list()
  52 + {
  53 +
  54 + return null;
  55 + }
  56 +
  57 + @GetMapping("/transfer")
  58 + public String transfer(){
  59 + return prefix + "/transfer";
  60 + }
  61 +
  62 + /**移库*/
  63 + @RequiresPermissions("inventoryHeader:inventoryHeader:transfer")
  64 + @PostMapping("/transfer")
  65 + @ResponseBody
  66 + public AjaxResult transfer(String sourceLocation, String destinationLocation, Integer companyId, String companyCode){
  67 + return null;
  68 + //inventoryHeaderService.transfer(sourceLocation,destinationLocation,companyId,companyCode);
  69 + }
  70 +
  71 + /**出库查看*/
  72 + @RequiresPermissions("inventoryHeader:inventoryHeader:seeOut")
  73 + @PostMapping("/createCheckOutTask")
  74 + @ResponseBody
  75 + public AjaxResult createCheckOutTask(String ids){
  76 + if(StringUtils.isEmpty(ids)){
  77 + return AjaxResult.error("ids不能为空");
  78 + }
  79 + return null;
  80 + //taskService.createCheckOutTask(ids.split(","));
  81 + }
  82 +
  83 +}
... ...
src/main/java/com/huaheng/pc/inventory/inventoryDetail/domain/InventoryDetail.java
... ... @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
5 5 import com.baomidou.mybatisplus.annotation.TableId;
6 6 import com.baomidou.mybatisplus.annotation.TableName;
7 7 import java.io.Serializable;
8   -import java.math.BigDecimal;
9 8 import java.util.Date;
10 9 import lombok.Data;
11 10  
... ... @@ -18,6 +17,12 @@ public class InventoryDetail implements Serializable {
18 17 @TableId(value = "id", type = IdType.AUTO)
19 18 private Integer id;
20 19  
  20 + /**
  21 + * 库存头ID
  22 + * */
  23 + @TableField(value = "inventoryHeaderId")
  24 + private Integer inventoryHeaderId;
  25 +
21 26 /**
22 27 * 仓库
23 28 */
... ... @@ -70,19 +75,19 @@ public class InventoryDetail implements Serializable {
70 75 * 在库数量
71 76 */
72 77 @TableField(value = "qty")
73   - private BigDecimal qty;
  78 + private Integer qty;
74 79  
75 80 /**
76 81 * 任务数量
77 82 */
78 83 @TableField(value = "taskQty")
79   - private BigDecimal taskQty;
  84 + private Integer taskQty;
80 85  
81 86 /**
82 87 * 冻结数量
83 88 */
84 89 @TableField(value = "lockedQty")
85   - private BigDecimal lockedQty;
  90 + private Integer lockedQty;
86 91  
87 92 /**
88 93 * 库存状态
... ... @@ -247,36 +252,6 @@ public class InventoryDetail implements Serializable {
247 252 private String userDef3;
248 253  
249 254 /**
250   - * 自定义字段4
251   - */
252   - @TableField(value = "userDef4")
253   - private String userDef4;
254   -
255   - /**
256   - * 自定义字段5
257   - */
258   - @TableField(value = "userDef5")
259   - private String userDef5;
260   -
261   - /**
262   - * 自定义字段6
263   - */
264   - @TableField(value = "userDef6")
265   - private String userDef6;
266   -
267   - /**
268   - * 自定义字段7
269   - */
270   - @TableField(value = "userDef7")
271   - private String userDef7;
272   -
273   - /**
274   - * 自定义字段8
275   - */
276   - @TableField(value = "userDef8")
277   - private String userDef8;
278   -
279   - /**
280 255 * 处理标记
281 256 */
282 257 @TableField(value = "processStamp")
... ... @@ -284,6 +259,8 @@ public class InventoryDetail implements Serializable {
284 259  
285 260 private static final long serialVersionUID = 1L;
286 261  
  262 + public static final String COL_INVENTORYHEADERID = "inventoryHeaderId";
  263 +
287 264 public static final String COL_WAREHOUSECODE = "warehouseCode";
288 265  
289 266 public static final String COL_COMPANYCODE = "companyCode";
... ... @@ -360,15 +337,5 @@ public class InventoryDetail implements Serializable {
360 337  
361 338 public static final String COL_USERDEF3 = "userDef3";
362 339  
363   - public static final String COL_USERDEF4 = "userDef4";
364   -
365   - public static final String COL_USERDEF5 = "userDef5";
366   -
367   - public static final String COL_USERDEF6 = "userDef6";
368   -
369   - public static final String COL_USERDEF7 = "userDef7";
370   -
371   - public static final String COL_USERDEF8 = "userDef8";
372   -
373 340 public static final String COL_PROCESSSTAMP = "processStamp";
374 341 }
375 342 \ No newline at end of file
... ...
src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java 0 → 100644
  1 +package com.huaheng.pc.inventory.inventoryHeader.controller;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.metadata.IPage;
  5 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  6 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7 +import com.huaheng.common.utils.StringUtils;
  8 +import com.huaheng.common.utils.security.ShiroUtils;
  9 +import com.huaheng.framework.aspectj.lang.annotation.Log;
  10 +import com.huaheng.framework.aspectj.lang.constant.BusinessType;
  11 +import com.huaheng.framework.web.controller.BaseController;
  12 +import com.huaheng.framework.web.domain.AjaxResult;
  13 +import com.huaheng.framework.web.page.PageDomain;
  14 +import com.huaheng.framework.web.page.TableDataInfo;
  15 +import com.huaheng.framework.web.page.TableSupport;
  16 +import com.huaheng.pc.general.material.service.MaterialServiceImpl;
  17 +import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
  18 +import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService;
  19 +import org.apache.shiro.authz.annotation.RequiresPermissions;
  20 +import org.springframework.stereotype.Controller;
  21 +import org.springframework.web.bind.annotation.*;
  22 +import javax.annotation.Resource;
  23 +import java.util.List;
  24 +
  25 +/**
  26 + * 库存控制层
  27 + *
  28 + */
  29 +@Controller
  30 +@RequestMapping("/inventory/inventoryHeader")
  31 +public class InventoryHeaderController extends BaseController
  32 +{
  33 + private String prefix = "inventoryHeader/inventoryHeader";
  34 +
  35 + @Resource
  36 + private MaterialServiceImpl materialService;
  37 + @Resource
  38 + private InventoryHeaderService inventoryHeaderService;
  39 +
  40 +
  41 + @RequiresPermissions("inventoryHeader:inventoryHeader:view")
  42 + @GetMapping()
  43 + public String inventoryHeader()
  44 + {
  45 + return prefix + "/inventoryHeader";
  46 + }
  47 +
  48 + /**
  49 + * 查询库存列表
  50 + */
  51 + @RequiresPermissions("inventoryHeader:inventoryHeader:list")
  52 + @Log(title = "库存-库存查看",operating = "查看库存列表", action = BusinessType.GRANT)
  53 + @PostMapping("/inventoryLook")
  54 + @ResponseBody
  55 + public TableDataInfo list(InventoryHeader inventoryHeader,String createdBegin, String createdEnd)
  56 + {
  57 + LambdaQueryWrapper<InventoryHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
  58 + PageDomain pageDomain = TableSupport.buildPageRequest();
  59 + Integer pageNum = pageDomain.getPageNum();
  60 + Integer pageSize = pageDomain.getPageSize();
  61 +
  62 + lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),InventoryHeader::getCreated, createdBegin)
  63 + .le(StringUtils.isNotEmpty(createdEnd), InventoryHeader::getCreated, createdEnd)//创建时间范围
  64 + .eq(InventoryHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())//仓库
  65 + .eq(StringUtils.isNotEmpty(inventoryHeader.getLocationCode()),InventoryHeader::getLocationCode,inventoryHeader.getLocationCode()) //库位
  66 + .eq(StringUtils.isNotEmpty(inventoryHeader.getContainerCode()),InventoryHeader::getContainerCode,inventoryHeader.getContainerCode())//容器
  67 + .eq(StringUtils.isNotEmpty(inventoryHeader.getCompanyCode()), InventoryHeader::getCompanyCode,inventoryHeader.getCompanyCode())//货主
  68 + .eq(StringUtils.isNotEmpty(inventoryHeader.getBatchs()), InventoryHeader::getBatchs, inventoryHeader.getBatchs())//批次
  69 + .eq(StringUtils.isNotEmpty(inventoryHeader.getLots()),InventoryHeader::getLots,inventoryHeader.getLots())//批号
  70 + .orderByDesc(InventoryHeader::getId);
  71 +
  72 + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
  73 + //分页查询
  74 + Page<InventoryHeader> page = new Page<>(pageNum, pageSize);
  75 + IPage<InventoryHeader> iPage = inventoryHeaderService.page(page, lambdaQueryWrapper);
  76 + return getMpDataTable(iPage.getRecords(),iPage.getTotal());
  77 + } else {
  78 + List<InventoryHeader> list = inventoryHeaderService.list(lambdaQueryWrapper);
  79 + return getDataTable(list);
  80 + }
  81 +
  82 + }
  83 + /**
  84 + * 移库页面
  85 + * */
  86 + @GetMapping("/transfer")
  87 + public String transfer(){
  88 + return prefix + "/transfer";
  89 + }
  90 +
  91 + /**移库*/
  92 + @RequiresPermissions("inventoryHeader:inventoryHeader:transfer")
  93 + @PostMapping("/transfer")
  94 + @ResponseBody
  95 + public AjaxResult transfer(String sourceLocation, String destinationLocation, Integer companyId, String companyCode){
  96 + return null;
  97 + //inventoryHeaderService.transfer(sourceLocation,destinationLocation,companyId,companyCode);
  98 + }
  99 +
  100 + /**出库查看*/
  101 + @RequiresPermissions("inventoryHeader:inventoryHeader:seeOut")
  102 + @PostMapping("/createCheckOutTask")
  103 + @ResponseBody
  104 + public AjaxResult createCheckOutTask(String ids){
  105 + if(StringUtils.isEmpty(ids)){
  106 + return AjaxResult.error("ids不能为空");
  107 + }
  108 + return null;
  109 + //taskService.createCheckOutTask(ids.split(","));
  110 + }
  111 +
  112 +}
... ...
src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java
... ... @@ -2,7 +2,12 @@ package com.huaheng.pc.inventory.inventoryHeader.service;
2 2  
3 3 import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
4 4 import com.baomidou.mybatisplus.extension.service.IService;
  5 +import org.springframework.stereotype.Service;
  6 +
  7 +@Service
5 8 public interface InventoryHeaderService extends IService<InventoryHeader>{
6 9  
7 10  
  11 +
  12 +
8 13 }
... ...
src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java
... ... @@ -10,7 +10,7 @@ import java.io.Serializable;
10 10 import java.util.Date;
11 11 import lombok.Data;
12 12  
13   -@ApiModel(value="com.huaheng.pc.inventory.inventoryTransaction.domain.InventoryTransaction")
  13 +@ApiModel(value="com.huaheng.pc.inventoryHeader.inventoryTransaction.domain.InventoryTransaction")
14 14 @Data
15 15 @TableName(value = "inventory_transaction")
16 16 public class InventoryTransaction implements Serializable {
... ...
src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
... ... @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 4 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6 6 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7   -import com.huaheng.common.support.Convert;
8 7 import com.huaheng.common.utils.StringUtils;
9 8 import com.huaheng.common.utils.security.ShiroUtils;
10 9 import com.huaheng.framework.aspectj.lang.annotation.Log;
... ... @@ -14,8 +13,6 @@ import com.huaheng.framework.web.domain.AjaxResult;
14 13 import com.huaheng.framework.web.page.PageDomain;
15 14 import com.huaheng.framework.web.page.TableDataInfo;
16 15 import com.huaheng.framework.web.page.TableSupport;
17   -import com.huaheng.pc.config.zone.domain.Zone;
18   -import com.huaheng.pc.general.material.domain.Material;
19 16 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
20 17 import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService;
21 18 import org.apache.shiro.authz.annotation.RequiresPermissions;
... ... @@ -68,7 +65,6 @@ public class ShipmentDetailController extends BaseController
68 65  
69 66 lambdaQueryWrapper
70 67 .eq(ShipmentDetail::getWarehouseCode,ShiroUtils.getWarehouseCode())
71   - .eq(ShipmentDetail::getEnable,true)
72 68 .eq(StringUtils.isNotEmpty(shipmentDetail.getShipmentCode()),ShipmentDetail::getShipmentCode,shipmentDetail.getShipmentCode())
73 69 .orderByAsc(ShipmentDetail::getId);
74 70  
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
... ... @@ -356,42 +356,6 @@ public class ShipmentHeader implements Serializable {
356 356 @TableField(value = "userDef3")
357 357 @ApiModelProperty(value = "自定义字段3")
358 358 private String userDef3;
359   -
360   - /**
361   - * 自定义字段4
362   - */
363   - @TableField(value = "userDef4")
364   - @ApiModelProperty(value = "自定义字段4")
365   - private String userDef4;
366   -
367   - /**
368   - * 自定义字段5
369   - */
370   - @TableField(value = "userDef5")
371   - @ApiModelProperty(value = "自定义字段5")
372   - private String userDef5;
373   -
374   - /**
375   - * 自定义字段6
376   - */
377   - @TableField(value = "userDef6")
378   - @ApiModelProperty(value = "自定义字段6")
379   - private String userDef6;
380   -
381   - /**
382   - * 自定义字段7
383   - */
384   - @TableField(value = "userDef7")
385   - @ApiModelProperty(value = "自定义字段7")
386   - private String userDef7;
387   -
388   - /**
389   - * 自定义字段8
390   - */
391   - @TableField(value = "userDef8")
392   - @ApiModelProperty(value = "自定义字段8")
393   - private String userDef8;
394   -
395 359 /**
396 360 * 处理标记
397 361 */
... ... @@ -502,16 +466,6 @@ public class ShipmentHeader implements Serializable {
502 466  
503 467 public static final String COL_USERDEF3 = "userDef3";
504 468  
505   - public static final String COL_USERDEF4 = "userDef4";
506   -
507   - public static final String COL_USERDEF5 = "userDef5";
508   -
509   - public static final String COL_USERDEF6 = "userDef6";
510   -
511   - public static final String COL_USERDEF7 = "userDef7";
512   -
513   - public static final String COL_USERDEF8 = "userDef8";
514   -
515 469 public static final String COL_PROCESSSTAMP = "processStamp";
516 470  
517 471 public static final String COL_DELETED = "deleted";
... ...
src/main/java/com/huaheng/pc/system/user/controller/IndexController.java
... ... @@ -73,7 +73,7 @@ public class IndexController extends BaseController
73 73 pie.itemStyle().emphasis().setShadowBlur(10);
74 74 pie.itemStyle().emphasis().setShadowOffsetX(0);
75 75 pie.itemStyle().emphasis().setShadowColor("rgba(0, 0, 0, 0.4)");
76   - String sql = "SELECT d.dictLabel '状态', i.qty '库存' FROM (SELECT status ,SUM(qty) qty FROM inventory WHERE warehouseCode = " + ShiroUtils.getWarehouseCode() + " GROUP BY status) i INNER JOIN sys_dict_data d ON i.status= d.dictValue AND d.warehouseCode = ' " + ShiroUtils.getWarehouseCode()+"' ;";
  76 + String sql = "SELECT d.dictLabel '状态', i.qty '库存' FROM (SELECT status ,SUM(qty) qty FROM inventoryHeader WHERE warehouseCode = " + ShiroUtils.getWarehouseCode() + " GROUP BY status) i INNER JOIN sys_dict_data d ON i.status= d.dictValue AND d.warehouseCode = ' " + ShiroUtils.getWarehouseCode()+"' ;";
77 77 List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql);
78 78 for(LinkedHashMap<String, Object> item : results){
79 79 ChartData chartData = new ChartData();
... ... @@ -211,7 +211,7 @@ public class IndexController extends BaseController
211 211 @GetMapping("index/getInventoryProp")
212 212 @ResponseBody
213 213 public String getInventoryProp(){
214   - String sql = "SELECT m.`name`,sum(i.qty) as total from inventory i join material m on i.materialCode = m.`code` and i.warehouseId = m.warehouseId AND i.warehouseCode = "+ShiroUtils.getWarehouseCode()+" \n" +
  214 + String sql = "SELECT m.`name`,sum(i.qty) as total from inventoryHeader i join material m on i.materialCode = m.`code` and i.warehouseId = m.warehouseId AND i.warehouseCode = "+ShiroUtils.getWarehouseCode()+" \n" +
215 215 "GROUP BY m.`name` ORDER BY total desc;";
216 216 List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql);
217 217  
... ...
src/main/resources/mybatis/inventory/InventoryDetailMapper.xml
... ... @@ -4,6 +4,7 @@
4 4 <resultMap id="BaseResultMap" type="com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail">
5 5 <!--@mbg.generated-->
6 6 <id column="id" jdbcType="INTEGER" property="id" />
  7 + <result column="inventoryHeaderId" jdbcType="INTEGER" property="inventoryHeaderId" />
7 8 <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
8 9 <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
9 10 <result column="locationCode" jdbcType="VARCHAR" property="locationCode" />
... ... @@ -42,16 +43,11 @@
42 43 <result column="userDef1" jdbcType="VARCHAR" property="userDef1" />
43 44 <result column="userDef2" jdbcType="VARCHAR" property="userDef2" />
44 45 <result column="userDef3" jdbcType="VARCHAR" property="userDef3" />
45   - <result column="userDef4" jdbcType="VARCHAR" property="userDef4" />
46   - <result column="userDef5" jdbcType="VARCHAR" property="userDef5" />
47   - <result column="userDef6" jdbcType="VARCHAR" property="userDef6" />
48   - <result column="userDef7" jdbcType="VARCHAR" property="userDef7" />
49   - <result column="userDef8" jdbcType="VARCHAR" property="userDef8" />
50 46 <result column="processStamp" jdbcType="VARCHAR" property="processStamp" />
51 47 </resultMap>
52 48 <sql id="Base_Column_List">
53 49 <!--@mbg.generated-->
54   - id, warehouseCode, companyCode, locationCode, containerCode, materialCode, materialName,
  50 + id,inventoryHeaderId , warehouseCode, companyCode, locationCode, containerCode, materialCode, materialName,
55 51 materialSpec, materialUnit, qty, taskQty, lockedQty, inventorySts, referCode, referId,
56 52 referDetailId, batch, lot, projectNo, qcCheck, weight, manufactureDate, expirationDate,
57 53 agingDate, attributeId, attribute1, attribute2, attribute3, attribute4, lockCode,
... ...
src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml
... ... @@ -26,17 +26,12 @@
26 26 <result column="userDef1" jdbcType="VARCHAR" property="userDef1" />
27 27 <result column="userDef2" jdbcType="VARCHAR" property="userDef2" />
28 28 <result column="userDef3" jdbcType="VARCHAR" property="userDef3" />
29   - <result column="userDef4" jdbcType="VARCHAR" property="userDef4" />
30   - <result column="userDef5" jdbcType="VARCHAR" property="userDef5" />
31   - <result column="userDef6" jdbcType="VARCHAR" property="userDef6" />
32   - <result column="userDef7" jdbcType="VARCHAR" property="userDef7" />
33   - <result column="userDef8" jdbcType="VARCHAR" property="userDef8" />
34 29 </resultMap>
35 30 <sql id="Base_Column_List">
36 31 <!--@mbg.generated-->
37 32 id, warehouseCode, locationCode, containerCode, containerStatus, companyCode, weight,
38 33 materialSkuQty, totalQty, totalLines, projectNos, batchs, lots, lastCycleCountDate,
39 34 `enable`, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2,
40   - userDef3, userDef4, userDef5, userDef6, userDef7, userDef8
  35 + userDef3,
41 36 </sql>
42 37 </mapper>
43 38 \ No newline at end of file
... ...
src/main/resources/templates/admin/inventory/inventory.html
... ... @@ -67,7 +67,7 @@
67 67 </li>
68 68 <li>
69 69 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
70   - <!--<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>-->
  70 + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
71 71 </li>
72 72 </ul>
73 73 </div>
... ...
src/main/resources/templates/admin/inventoryTransaction/inventoryTransaction.html
... ... @@ -56,7 +56,7 @@
56 56 </li>
57 57 <li>
58 58 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
59   - <!--<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>-->
  59 + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
60 60 </li>
61 61 </ul>
62 62 </div>
... ... @@ -64,10 +64,10 @@
64 64 </div>
65 65 <!--
66 66 <div class="btn-group hidden-xs" id="toolbar" role="group">
67   - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:inventoryTransaction:add">
  67 + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventoryHeader:inventoryTransaction:add">
68 68 <i class="fa fa-plus"></i> 新增
69 69 </a>
70   - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventoryTransaction:remove">
  70 + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventoryHeader:inventoryTransaction:remove">
71 71 <i class="fa fa-trash-o"></i> 删除
72 72 </a>
73 73 </div>
... ... @@ -84,7 +84,7 @@
84 84 </div>
85 85 <div th:include="include :: footer"></div>
86 86 <script th:inline="javascript">
87   - var editFlag = [[${@permission.hasPermi('inventory:inventoryTransaction:edit')}]];
  87 + var editFlag = [[${@permission.hasPermi('inventoryHeader:inventoryTransaction:edit')}]];
88 88 var prefix = ctx + "admin/inventoryTransaction";
89 89 var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
90 90 var inventoryTransactionType = [[${@dict.getType('inventoryTransactionType')}]];
... ...
src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html
... ... @@ -64,7 +64,7 @@
64 64 </form>
65 65 </div>
66 66 <!--<div class="btn-group hidden-xs" id="toolbar" role="group">
67   - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:cycleCount:insert">
  67 + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventoryHeader:cycleCount:insert">
68 68 <i class="fa fa-plus"></i> 新增
69 69 </a>
70 70 </div>-->
... ... @@ -79,8 +79,8 @@
79 79 <div th:include="include :: footer"></div>
80 80 <script th:inline="javascript">
81 81 var prefix = ctx + "inventory/cyclecountAdjust";
82   - var upload = [[${@permission.hasPermi('inventory:cyclecountAdjust:upload')}]];
83   - var report =[[${@permission.hasPermi('inventory:cyclecountAdjust:report')}]];
  82 + var upload = [[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:upload')}]];
  83 + var report =[[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:report')}]];
84 84 var datas = [[${@dict.getType('sys_normal_disable')}]];
85 85 var status2 = [[${@dict.getType('adjustType')}]];
86 86  
... ...
src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html
... ... @@ -57,11 +57,11 @@
57 57 <i class="fa fa-vcard"></i>差异调整
58 58 </a>
59 59 <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()"
60   - shiro:hasPermission="inventory:cyclecountDetail:cyclecountRepeat">
  60 + shiro:hasPermission="inventoryHeader:cyclecountDetail:cyclecountRepeat">
61 61 <i class="fa fa-vcard"></i> 差异复盘
62 62 </a>-->
63 63 <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="adjust()"
64   - shiro:hasPermission="inventory:cyclecountDetail:adjust">
  64 + shiro:hasPermission="inventoryHeader:cyclecountDetail:adjust">
65 65 <i class="fa fa-vcard"></i> 差异库存调整
66 66 </a>-->
67 67 <a class="btn btn-outline btn-success btn-rounded" onclick="update()">
... ...
src/main/resources/templates/inventory/cyclecountDetail/add.html
... ... @@ -58,7 +58,7 @@
58 58 </li>
59 59 <li>
60 60 <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
61   - <!--<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>-->
  61 + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
62 62 </li>
63 63 </ul>
64 64 </div>
... ... @@ -75,8 +75,8 @@
75 75 <div th:include="include::footer"></div>
76 76  
77 77 <script th:inline="javascript">
78   - var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]];
79   - // var removeFlag = [[${@permission.hasPermi('inventory:inventory:remove')}]];
  78 + var addFlag = [[${@permission.hasPermi('inventoryHeader:cyclecountDetail:add')}]];
  79 + // var removeFlag = [[${@permission.hasPermi('inventoryHeader:inventoryHeader:remove')}]];
80 80 var prefix = ctx + "inventory/inventory";
81 81 var prefix_cycleDetails = ctx + "inventory/cyclecountDetail";
82 82 var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
... ...
src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html
... ... @@ -57,11 +57,11 @@
57 57 <i class="fa fa-plus"></i> 新增
58 58 </a>
59 59 <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="comfirmAllWithNoGapQty()"
60   - shiro:hasPermission="inventory:cyclecountDetail:confirmAll">
  60 + shiro:hasPermission="inventoryHeader:cyclecountDetail:confirmAll">
61 61 <i class="fa fa-vcard"></i> 全部无差异确认
62 62 </a>
63 63 <a class="btn btn-outline btn-danger btn-rounded" onclick="comfirmRemainWithNoGapQty()"
64   - shiro:hasPermission="inventory:cyclecountDetail:confirmRemain">
  64 + shiro:hasPermission="inventoryHeader:cyclecountDetail:confirmRemain">
65 65 <i class="fa fa-vcard"></i> 剩余无差异确认
66 66 </a>-->
67 67 <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()"
... ... @@ -85,10 +85,10 @@
85 85 </div>
86 86 <div th:include="include :: footer"></div>
87 87 <script th:inline="javascript">
88   - var editFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:edit')}]];
89   - var removeFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:remove')}]];
90   - var confirmFlag=[[${@permission.hasPermi('inventory:cyclecountDetail:confirm')}]];
91   - var createTaskFalg=[[${@permission.hasPermi('inventory:cyclecountDetail:createTask')}]];
  88 + var editFlag = [[${@permission.hasPermi('inventoryHeader:cyclecountDetail:edit')}]];
  89 + var removeFlag = [[${@permission.hasPermi('inventoryHeader:cyclecountDetail:remove')}]];
  90 + var confirmFlag=[[${@permission.hasPermi('inventoryHeader:cyclecountDetail:confirm')}]];
  91 + var createTaskFalg=[[${@permission.hasPermi('inventoryHeader:cyclecountDetail:createTask')}]];
92 92 var prefix = ctx + "inventory/cyclecountDetail";
93 93 var prefix_head = ctx + "inventory/cyclecountHeader";
94 94 var remove_url= prefix + "/remove";
... ...
src/main/resources/templates/inventory/cyclecountHeader/cyclecountHeader.html
... ... @@ -82,10 +82,10 @@
82 82 </div>
83 83 <div th:include="include :: footer"></div>
84 84 <script th:inline="javascript">
85   - var reportFlag = [[${@permission.hasPermi('inventory:cycleCount:report')}]];
86   - var editFlag = [[${@permission.hasPermi('inventory:cycleCount:edit')}]];
87   - var addAdjust = [[${@permission.hasPermi('inventory:cyclecountHead:addAdjust')}]];
88   - var removeFlag = [[${@permission.hasPermi('inventory:cycleCount:remove')}]];
  85 + var reportFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:report')}]];
  86 + var editFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:edit')}]];
  87 + var addAdjust = [[${@permission.hasPermi('inventoryHeader:cyclecountHead:addAdjust')}]];
  88 + var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:remove')}]];
89 89 var prefix = ctx + "inventory/cyclecountHeader";
90 90 var datas = [[${@dict.getType('sys_normal_disable')}]];
91 91 var types = [[${@dict.getType('cyclecountType')}]];
... ...
src/main/resources/templates/inventory/inventory/add.html deleted
1   -<!DOCTYPE HTML>
2   -<html lang="zh" xmlns:th="http://www.thymeleaf.org">
3   -<meta charset="utf-8">
4   -<head th:include="include :: header"></head>
5   -<body class="white-bg">
6   - <div class="wrapper wrapper-content animated fadeInRight ibox-content">
7   - <form class="form-horizontal m" id="form-inventory-add">
8   - <div class="form-group">
9   - <label class="col-sm-3 control-label">仓库Id:</label>
10   - <div class="col-sm-8">
11   - <input id="warehouseId" name="warehouseId" class="form-control" type="text">
12   - </div>
13   - </div>
14   - <div class="form-group">
15   - <label class="col-sm-3 control-label">仓库:</label>
16   - <div class="col-sm-8">
17   - <input id="warehouseCode" name="warehouseCode" class="form-control" type="text">
18   - </div>
19   - </div>
20   - <div class="form-group">
21   - <label class="col-sm-3 control-label">库位id:</label>
22   - <div class="col-sm-8">
23   - <input id="locationId" name="locationId" class="form-control" type="text">
24   - </div>
25   - </div>
26   - <div class="form-group">
27   - <label class="col-sm-3 control-label">库位编号:</label>
28   - <div class="col-sm-8">
29   - <input id="locationCode" name="locationCode" class="form-control" type="text">
30   - </div>
31   - </div>
32   - <div class="form-group">
33   - <label class="col-sm-3 control-label">上游系统单号:</label>
34   - <div class="col-sm-8">
35   - <input id="sourceCode" name="sourceCode" class="form-control" type="text">
36   - </div>
37   - </div>
38   - <div class="form-group">
39   - <label class="col-sm-3 control-label">上游系统行号:</label>
40   - <div class="col-sm-8">
41   - <input id="sourceLine" name="sourceLine" class="form-control" type="text">
42   - </div>
43   - </div>
44   - <div class="form-group">
45   - <label class="col-sm-3 control-label">公司id:</label>
46   - <div class="col-sm-8">
47   - <input id="companyId" name="companyId" class="form-control" type="text">
48   - </div>
49   - </div>
50   - <div class="form-group">
51   - <label class="col-sm-3 control-label">公司编码:</label>
52   - <div class="col-sm-8">
53   - <input id="companyCode" name="companyCode" class="form-control" type="text">
54   - </div>
55   - </div>
56   - <div class="form-group">
57   - <label class="col-sm-3 control-label">物料Id:</label>
58   - <div class="col-sm-8">
59   - <input id="materialId" name="materialId" class="form-control" type="text">
60   - </div>
61   - </div>
62   - <div class="form-group">
63   - <label class="col-sm-3 control-label">存货编码:</label>
64   - <div class="col-sm-8">
65   - <input id="materialCode" name="materialCode" class="form-control" type="text">
66   - </div>
67   - </div>
68   - <div class="form-group">
69   - <label class="col-sm-3 control-label">:</label>
70   - <div class="col-sm-8">
71   - <input id="materialName" name="materialName" class="form-control" type="text">
72   - </div>
73   - </div>
74   - <div class="form-group">
75   - <label class="col-sm-3 control-label">入库单id:</label>
76   - <div class="col-sm-8">
77   - <input id="receiptId" name="receiptId" class="form-control" type="text">
78   - </div>
79   - </div>
80   - <div class="form-group">
81   - <label class="col-sm-3 control-label">入库单编码:</label>
82   - <div class="col-sm-8">
83   - <input id="receiptCode" name="receiptCode" class="form-control" type="text">
84   - </div>
85   - </div>
86   - <div class="form-group">
87   - <label class="col-sm-3 control-label">入库单明细id:</label>
88   - <div class="col-sm-8">
89   - <input id="receiptDetailId" name="receiptDetailId" class="form-control" type="text">
90   - </div>
91   - </div>
92   - <div class="form-group">
93   - <label class="col-sm-3 control-label">批次:</label>
94   - <div class="col-sm-8">
95   - <input id="batch" name="batch" class="form-control" type="text">
96   - </div>
97   - </div>
98   - <div class="form-group">
99   - <label class="col-sm-3 control-label">批号:</label>
100   - <div class="col-sm-8">
101   - <input id="lot" name="lot" class="form-control" type="text">
102   - </div>
103   - </div>
104   - <div class="form-group">
105   - <label class="col-sm-3 control-label">项目号:</label>
106   - <div class="col-sm-8">
107   - <input id="project" name="project" class="form-control" type="text">
108   - </div>
109   - </div>
110   - <div class="form-group">
111   - <label class="col-sm-3 control-label">生产日期:</label>
112   - <div class="col-sm-8">
113   - <input id="manufactureDate" name="manufactureDate" class="form-control" type="text">
114   - </div>
115   - </div>
116   - <div class="form-group">
117   - <label class="col-sm-3 control-label">失效日期:</label>
118   - <div class="col-sm-8">
119   - <input id="expirationDate" name="expirationDate" class="form-control" type="text">
120   - </div>
121   - </div>
122   - <div class="form-group">
123   - <label class="col-sm-3 control-label">库存状态:</label>
124   - <div class="col-sm-8">
125   - <input id="status" name="status" class="form-control" type="text">
126   - </div>
127   - </div>
128   - <div class="form-group">
129   - <label class="col-sm-3 control-label">数量:</label>
130   - <div class="col-sm-8">
131   - <input id="qty" name="qty" class="form-control" type="text">
132   - </div>
133   - </div>
134   - <div class="form-group">
135   - <label class="col-sm-3 control-label">执行预定数量:</label>
136   - <div class="col-sm-8">
137   - <input id="taskQty" name="taskQty" class="form-control" type="text">
138   - </div>
139   - </div>
140   - <div class="form-group">
141   - <label class="col-sm-3 control-label">成本:</label>
142   - <div class="col-sm-8">
143   - <input id="costPrice" name="costPrice" class="form-control" type="text">
144   - </div>
145   - </div>
146   - <div class="form-group">
147   - <label class="col-sm-3 control-label">标价:</label>
148   - <div class="col-sm-8">
149   - <input id="listPrice" name="listPrice" class="form-control" type="text">
150   - </div>
151   - </div>
152   - <div class="form-group">
153   - <label class="col-sm-3 control-label">净价:</label>
154   - <div class="col-sm-8">
155   - <input id="netPrice" name="netPrice" class="form-control" type="text">
156   - </div>
157   - </div>
158   - <div class="form-group">
159   - <label class="col-sm-3 control-label">创建时间(入库时间):</label>
160   - <div class="col-sm-8">
161   - <input id="created" name="created" class="form-control" type="text">
162   - </div>
163   - </div>
164   - <div class="form-group">
165   - <label class="col-sm-3 control-label">创建用户:</label>
166   - <div class="col-sm-8">
167   - <input id="createdBy" name="createdBy" class="form-control" type="text">
168   - </div>
169   - </div>
170   - <div class="form-group">
171   - <label class="col-sm-3 control-label">最后修改时间:</label>
172   - <div class="col-sm-8">
173   - <input id="lastUpdated" name="lastUpdated" class="form-control" type="text">
174   - </div>
175   - </div>
176   - <div class="form-group">
177   - <label class="col-sm-3 control-label">更新用户:</label>
178   - <div class="col-sm-8">
179   - <input id="lastUpdatedBy" name="lastUpdatedBy" class="form-control" type="text">
180   - </div>
181   - </div>
182   - <div class="form-group">
183   - <label class="col-sm-3 control-label">自定义字段1:</label>
184   - <div class="col-sm-8">
185   - <input id="userDef1" name="userDef1" class="form-control" type="text">
186   - </div>
187   - </div>
188   - <div class="form-group">
189   - <label class="col-sm-3 control-label">自定义字段2:</label>
190   - <div class="col-sm-8">
191   - <input id="userDef2" name="userDef2" class="form-control" type="text">
192   - </div>
193   - </div>
194   - <div class="form-group">
195   - <label class="col-sm-3 control-label">自定义字段3:</label>
196   - <div class="col-sm-8">
197   - <input id="userDef3" name="userDef3" class="form-control" type="text">
198   - </div>
199   - </div>
200   - <div class="form-group">
201   - <div class="form-control-static col-sm-offset-9">
202   - <button type="submit" class="btn btn-primary">提交</button>
203   - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
204   - </div>
205   - </div>
206   - </form>
207   - </div>
208   - <div th:include="include::footer"></div>
209   - <script type="text/javascript">
210   - var prefix = ctx + "inventory/inventory"
211   - $("#form-inventory-add").validate({
212   - rules:{
213   - xxxx:{
214   - required:true,
215   - },
216   - },
217   - submitHandler: function(form) {
218   - $.operate.save(prefix + "/add", $('#form-inventory-add').serialize());
219   - }
220   - });
221   - </script>
222   -</body>
223   -</html>
src/main/resources/templates/inventory/inventory/edit.html deleted
1   -<!DOCTYPE HTML>
2   -<html lang="zh" xmlns:th="http://www.thymeleaf.org">
3   -<meta charset="utf-8">
4   -<head th:include="include :: header"></head>
5   -<body class="white-bg">
6   - <div class="wrapper wrapper-content animated fadeInRight ibox-content">
7   - <form class="form-horizontal m" id="form-inventory-edit" th:object="${inventory}">
8   - <input id="id" name="id" th:field="*{id}" type="hidden">
9   - <div class="form-group">
10   - <label class="col-sm-3 control-label">仓库Id:</label>
11   - <div class="col-sm-8">
12   - <input id="warehouseId" name="warehouseId" th:field="*{warehouseId}" class="form-control" type="text">
13   - </div>
14   - </div>
15   - <div class="form-group">
16   - <label class="col-sm-3 control-label">仓库:</label>
17   - <div class="col-sm-8">
18   - <input id="warehouseCode" name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text">
19   - </div>
20   - </div>
21   - <div class="form-group">
22   - <label class="col-sm-3 control-label">库位id:</label>
23   - <div class="col-sm-8">
24   - <input id="locationId" name="locationId" th:field="*{locationId}" class="form-control" type="text">
25   - </div>
26   - </div>
27   - <div class="form-group">
28   - <label class="col-sm-3 control-label">库位编号:</label>
29   - <div class="col-sm-8">
30   - <input id="locationCode" name="locationCode" th:field="*{locationCode}" class="form-control" type="text">
31   - </div>
32   - </div>
33   - <div class="form-group">
34   - <label class="col-sm-3 control-label">上游系统单号:</label>
35   - <div class="col-sm-8">
36   - <input id="sourceCode" name="sourceCode" th:field="*{sourceCode}" class="form-control" type="text">
37   - </div>
38   - </div>
39   - <div class="form-group">
40   - <label class="col-sm-3 control-label">上游系统行号:</label>
41   - <div class="col-sm-8">
42   - <input id="sourceLine" name="sourceLine" th:field="*{sourceLine}" class="form-control" type="text">
43   - </div>
44   - </div>
45   - <div class="form-group">
46   - <label class="col-sm-3 control-label">公司id:</label>
47   - <div class="col-sm-8">
48   - <input id="companyId" name="companyId" th:field="*{companyId}" class="form-control" type="text">
49   - </div>
50   - </div>
51   - <div class="form-group">
52   - <label class="col-sm-3 control-label">公司编码:</label>
53   - <div class="col-sm-8">
54   - <input id="companyCode" name="companyCode" th:field="*{companyCode}" class="form-control" type="text">
55   - </div>
56   - </div>
57   - <div class="form-group">
58   - <label class="col-sm-3 control-label">物料Id:</label>
59   - <div class="col-sm-8">
60   - <input id="materialId" name="materialId" th:field="*{materialId}" class="form-control" type="text">
61   - </div>
62   - </div>
63   - <div class="form-group">
64   - <label class="col-sm-3 control-label">存货编码:</label>
65   - <div class="col-sm-8">
66   - <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
67   - </div>
68   - </div>
69   - <div class="form-group">
70   - <label class="col-sm-3 control-label">:</label>
71   - <div class="col-sm-8">
72   - <input id="materialName" name="materialName" th:field="*{materialName}" class="form-control" type="text">
73   - </div>
74   - </div>
75   - <div class="form-group">
76   - <label class="col-sm-3 control-label">入库单id:</label>
77   - <div class="col-sm-8">
78   - <input id="receiptId" name="receiptId" th:field="*{receiptId}" class="form-control" type="text">
79   - </div>
80   - </div>
81   - <div class="form-group">
82   - <label class="col-sm-3 control-label">入库单编码:</label>
83   - <div class="col-sm-8">
84   - <input id="receiptCode" name="receiptCode" th:field="*{receiptCode}" class="form-control" type="text">
85   - </div>
86   - </div>
87   - <div class="form-group">
88   - <label class="col-sm-3 control-label">入库单明细id:</label>
89   - <div class="col-sm-8">
90   - <input id="receiptDetailId" name="receiptDetailId" th:field="*{receiptDetailId}" class="form-control" type="text">
91   - </div>
92   - </div>
93   - <div class="form-group">
94   - <label class="col-sm-3 control-label">批次:</label>
95   - <div class="col-sm-8">
96   - <input id="batch" name="batch" th:field="*{batch}" class="form-control" type="text">
97   - </div>
98   - </div>
99   - <div class="form-group">
100   - <label class="col-sm-3 control-label">批号:</label>
101   - <div class="col-sm-8">
102   - <input id="lot" name="lot" th:field="*{lot}" class="form-control" type="text">
103   - </div>
104   - </div>
105   - <div class="form-group">
106   - <label class="col-sm-3 control-label">项目号:</label>
107   - <div class="col-sm-8">
108   - <input id="project" name="project" th:field="*{project}" class="form-control" type="text">
109   - </div>
110   - </div>
111   - <div class="form-group">
112   - <label class="col-sm-3 control-label">生产日期:</label>
113   - <div class="col-sm-8">
114   - <input id="manufactureDate" name="manufactureDate" th:field="*{manufactureDate}" class="form-control" type="text">
115   - </div>
116   - </div>
117   - <div class="form-group">
118   - <label class="col-sm-3 control-label">失效日期:</label>
119   - <div class="col-sm-8">
120   - <input id="expirationDate" name="expirationDate" th:field="*{expirationDate}" class="form-control" type="text">
121   - </div>
122   - </div>
123   - <div class="form-group">
124   - <label class="col-sm-3 control-label">库存状态:</label>
125   - <div class="col-sm-8">
126   - <input id="status" name="status" th:field="*{status}" class="form-control" type="text">
127   - </div>
128   - </div>
129   - <div class="form-group">
130   - <label class="col-sm-3 control-label">数量:</label>
131   - <div class="col-sm-8">
132   - <input id="qty" name="qty" th:field="*{qty}" class="form-control" type="text">
133   - </div>
134   - </div>
135   - <div class="form-group">
136   - <label class="col-sm-3 control-label">执行预定数量:</label>
137   - <div class="col-sm-8">
138   - <input id="taskQty" name="taskQty" th:field="*{taskQty}" class="form-control" type="text">
139   - </div>
140   - </div>
141   - <div class="form-group">
142   - <label class="col-sm-3 control-label">成本:</label>
143   - <div class="col-sm-8">
144   - <input id="costPrice" name="costPrice" th:field="*{costPrice}" class="form-control" type="text">
145   - </div>
146   - </div>
147   - <div class="form-group">
148   - <label class="col-sm-3 control-label">标价:</label>
149   - <div class="col-sm-8">
150   - <input id="listPrice" name="listPrice" th:field="*{listPrice}" class="form-control" type="text">
151   - </div>
152   - </div>
153   - <div class="form-group">
154   - <label class="col-sm-3 control-label">净价:</label>
155   - <div class="col-sm-8">
156   - <input id="netPrice" name="netPrice" th:field="*{netPrice}" class="form-control" type="text">
157   - </div>
158   - </div>
159   - <div class="form-group">
160   - <label class="col-sm-3 control-label">创建时间(入库时间):</label>
161   - <div class="col-sm-8">
162   - <input id="created" name="created" th:field="*{created}" class="form-control" type="text">
163   - </div>
164   - </div>
165   - <div class="form-group">
166   - <label class="col-sm-3 control-label">创建用户:</label>
167   - <div class="col-sm-8">
168   - <input id="createdBy" name="createdBy" th:field="*{createdBy}" class="form-control" type="text">
169   - </div>
170   - </div>
171   - <div class="form-group">
172   - <label class="col-sm-3 control-label">最后修改时间:</label>
173   - <div class="col-sm-8">
174   - <input id="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" class="form-control" type="text">
175   - </div>
176   - </div>
177   - <div class="form-group">
178   - <label class="col-sm-3 control-label">更新用户:</label>
179   - <div class="col-sm-8">
180   - <input id="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" class="form-control" type="text">
181   - </div>
182   - </div>
183   - <div class="form-group">
184   - <label class="col-sm-3 control-label">自定义字段1:</label>
185   - <div class="col-sm-8">
186   - <input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text">
187   - </div>
188   - </div>
189   - <div class="form-group">
190   - <label class="col-sm-3 control-label">自定义字段2:</label>
191   - <div class="col-sm-8">
192   - <input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text">
193   - </div>
194   - </div>
195   - <div class="form-group">
196   - <label class="col-sm-3 control-label">自定义字段3:</label>
197   - <div class="col-sm-8">
198   - <input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text">
199   - </div>
200   - </div>
201   - <div class="form-group">
202   - <div class="form-control-static col-sm-offset-9">
203   - <button type="submit" class="btn btn-primary">提交</button>
204   - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
205   - </div>
206   - </div>
207   - </form>
208   - </div>
209   - <div th:include="include::footer"></div>
210   - <script type="text/javascript">
211   - var prefix = ctx + "inventory/inventory"
212   - $("#form-inventory-edit").validate({
213   - rules:{
214   - xxxx:{
215   - required:true,
216   - },
217   - },
218   - submitHandler: function(form) {
219   - $.operate.save(prefix + "/edit", $('#form-inventory-edit').serialize());
220   - }
221   - });
222   - </script>
223   -</body>
224   -</html>
src/main/resources/templates/inventory/inventory/inventory.html deleted
1   -<!DOCTYPE HTML>
2   -<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
3   -<meta charset="utf-8">
4   -<head th:include="include :: header"></head>
5   -<body class="gray-bg">
6   - <div class="container-div">
7   - <div class="row">
8   - <div class="col-sm-12 select-info">
9   - <form id="inventory-form">
10   - <div class="select-list">
11   - <ul>
12   - <li>
13   - 库位编号:<input type="text" name="locationCode"/>
14   - </li>
15   - <li>
16   - 容器编号:<input type="text" name="containerCode"/>
17   - </li>
18   - <li>
19   - U8仓库:<select name="uWarehouseCode" th:with="warehouse=${@warehouse.selectList()}">
20   - <option value="">所有</option>
21   - <option th:each="e : ${warehouse}" th:text="${e['uWarehouseName']}" th:value="${e['uWarehouseCode']}"></option></select>
22   - </li>
23   - <li>
24   - 储货库区:<input type="text" name="zoneCode"/>
25   - </li>
26   - <li>
27   - 存货编码:<input type="text" name="materialCode"/>
28   - </li>
29   - <li>
30   - 存货代码:<input type="text" name="materialOldCode"/>
31   - </li>
32   - <li>
33   - 物料名称:<input type="text" name="materialName"/>
34   - </li>
35   - <li>
36   - 库存状态:
37   - <select name="status" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
38   - <option value="">所有</option>
39   - <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
40   - </select>
41   - </li>
42   - <li>
43   - 供应商编码:<input type="text" name="supplierCode"/>
44   - </li>
45   -
46   - <li>
47   - 项 目 号:<input type="text" name="project"/>
48   - </li>
49   - <li>
50   - 物料规格:<input type="text" name="materialSpec"/>
51   - </li>
52   - <li class="time" style="height:30px">
53   - <label>创建时间: </label>
54   - <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/>
55   - <span>-</span>
56   - <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/>
57   - </li>
58   - <!--<li>
59   - 物料规格:<input type="text" name="materialSpec"/>
60   - </li>-->
61   - <!--<li>
62   - 物料类型:
63   - <select name="materialType" th:with="type=${@dict.getType('materialType')}">
64   - <option value="">所有</option>
65   - <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
66   - </select>
67   - </li>-->
68   - <li>
69   - <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
70   - <!--<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>-->
71   - </li>
72   - </ul>
73   - </div>
74   - </form>
75   - </div>
76   - <div class="btn-group hidden-xs" id="toolbar" role="group">
77   - <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:inventory:add">-->
78   - <!--<i class="fa fa-plus"></i> 新增-->
79   - <!--</a>-->
80   - <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventory:remove">-->
81   - <!--<i class="fa fa-trash-o"></i> 删除-->
82   - <!--</a>-->
83   - <a class="btn btn-outline btn-danger btn-rounded" onclick="transfer()" shiro:hasPermission="inventory:inventory:transfer">
84   - <i class="fa fa-exchange"></i> 立库移库
85   - </a>
86   - <a class="btn btn-outline btn-primary btn-rounded" onclick="checkOut()" shiro:hasPermission="inventory:inventory:seeOut">
87   - <i class="fa fa-eye"></i> 出库查看
88   - </a>
89   - </div>
90   -
91   - <div class="col-sm-12 select-info">
92   - <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
93   - </div>
94   - </div>
95   - </div>
96   - <div th:include="include :: footer"></div>
97   - <script th:inline="javascript">
98   - var editFlag = [[${@permission.hasPermi('inventory:inventory:edit')}]];
99   - var removeFlag = [[${@permission.hasPermi('inventory:inventory:remove')}]];
100   - var prefix = ctx + "inventory/inventory"
101   - var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
102   - $(function() {
103   - var options = {
104   - url: prefix + "/list",
105   - createUrl: prefix + "/add",
106   - updateUrl: prefix + "/edit/{id}",
107   - removeUrl: prefix + "/remove",
108   - modalName: "库存",
109   - sortable: true, // 是否启用排序
110   - sortStable: true, // 设置为 true 将获得稳定的排序
111   - sortName: "id",
112   - sortOrder: "desc",
113   - search: false,
114   - columns: [{
115   - checkbox: true
116   - },
117   - {
118   - field : 'id',
119   - title : '库存ID',
120   - sortable:true
121   - },
122   - /*{
123   - field : 'locationId',
124   - title : '库位Id' ,
125   - visible:false
126   - },*/
127   - {
128   - field : 'locationCode',
129   - title : '库位编号'
130   - },
131   - {
132   - field : 'containerCode',
133   - title : '容器编号'
134   - },
135   - {
136   - field : 'zoneCode',
137   - title : '储货库区' ,
138   - },
139   - {
140   - field : 'materialCode',
141   - title : '存货编码'
142   - },
143   - {
144   - field : 'materialOldCode',
145   - title : '存货代码'
146   - },
147   - {
148   - field : 'materialName',
149   - title : '物料名称'
150   - },
151   - {
152   - field : 'materialSpec',
153   - title : '物料规格'
154   - },
155   - {
156   - field : 'qty',
157   - title : '数量'
158   - },
159   - {
160   - field : 'taskQty',
161   - title : '预定执行数量'
162   - },
163   - // {
164   - // field : 'zoneCode',
165   - // title : '物料库区',
166   - // visible:true
167   - // },
168   - {
169   - field : 'sourceCode',
170   - title : '上游系统单号',
171   - visible:true
172   - },
173   - {
174   - field : 'uWarehouseCode',
175   - title : 'u8仓库',
176   - visible:true
177   - },
178   - {
179   - field : 'sourceLine',
180   - title : '上游系统行号',
181   - visible:true
182   - },
183   - /*{
184   - field : 'companyId',
185   - title : '货主Id',
186   - visible:false
187   - },*/
188   - {
189   - field : 'companyCode',
190   - title : '货主编码'
191   - },
192   -
193   - {
194   - field : 'receiptId',
195   - title : '入库单标识' ,
196   - visible:false
197   - },
198   - {
199   - field : 'receiptCode',
200   - title : '入库单编码'
201   - },
202   - {
203   - field : 'receiptDetailId',
204   - title : '入库单明细标识' ,
205   - visible:false
206   - },
207   - {
208   - field : 'batch',
209   - title : '批次' ,
210   - sortable:false,
211   - visible:false
212   - },
213   - {
214   - field : 'lot',
215   - title : '批号' ,
216   - sortable:false,
217   - visible:false
218   - },
219   - {
220   - field : 'project',
221   - title : '项目号' ,
222   - sortable:true
223   - },
224   - {
225   - field : 'supplierCode',
226   - title : '供应商编码',
227   - visible:true
228   - },
229   - {
230   - field : 'manufactureDate',
231   - title : '生产日期' ,
232   - sortable:true ,
233   - visible:false
234   - },
235   - {
236   - field : 'expirationDate',
237   - title : '失效日期' ,
238   - sortable:true ,
239   - visible:false
240   - },
241   - {
242   - field : 'status',
243   - title : '库存状态' ,
244   - align: 'center',
245   - formatter: function(value, row, index) {
246   - return $.table.selectDictLabel(inventoryStatus, value);
247   - }
248   - },
249   -
250   - {
251   - field : 'costPrice',
252   - title : '成本' ,
253   - visible:false
254   - },
255   - {
256   - field : 'listPrice',
257   - title : '标价' ,
258   - visible:false
259   - },
260   - {
261   - field : 'netPrice',
262   - title : '净价' ,
263   - visible:false
264   - },
265   - {
266   - field : 'created',
267   - title : '入库时间',
268   - sortable:true
269   - },
270   - {
271   - field : 'createdBy',
272   - title : '创建用户' ,
273   - visible:false
274   - },
275   - {
276   - field : 'lastUpdated',
277   - title : '最后修改时间',
278   - sortable:true
279   - },
280   - {
281   - field : 'lastUpdatedBy',
282   - title : '更新用户'
283   - },
284   - {
285   - field : 'userDef1',
286   - title : '自定义字段1' ,
287   - visible:false
288   - },
289   - {
290   - field : 'userDef2',
291   - title : '自定义字段2' ,
292   - visible:false
293   - },
294   - {
295   - field : 'userDef3',
296   - title : '自定义字段3' ,
297   - visible:false
298   - }
299   - // ,
300   - // {
301   - // title: '操作',
302   - // align: 'center',
303   - // formatter: function(value, row, index) {
304   - // var actions = [];
305   - // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
306   - // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
307   - // return actions.join('');
308   - // }
309   - // }
310   - ]
311   - };
312   - $.table.init(options);
313   - });
314   -
315   - function transfer() {
316   - var url = prefix+"/transfer";
317   - $.modal.open("立库移库",url);
318   - }
319   -
320   - function checkOut() {
321   - var rows=$("#bootstrap-table").bootstrapTable('getSelections');
322   - if (rows.length == 0) {
323   - $.modal.alertWarning("请至少选择一条记录");
324   - return;
325   - }
326   - var url = prefix + "/createCheckOutTask";
327   - var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
328   - localSubmit(url, "post", "json", data);
329   - }
330   - function localSubmit (url, type, dataType, data) {
331   - $.modal.loading("正在处理中,请稍后...");
332   - var config = {
333   - url: url, type: type, dataType: dataType, data: data, success: function (result) {
334   - if (result.code == web_status.SUCCESS) {
335   - $.modal.msgSuccess(result.msg);
336   - } else {
337   - $.modal.alertError(result.msg)
338   - }
339   - $.modal.closeLoading()
340   - }
341   - };
342   - $.ajax(config)
343   - }
344   -
345   - </script>
346   -</body>
347   -</html>
348 0 \ No newline at end of file
src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html 0 → 100644
  1 +<!DOCTYPE HTML>
  2 +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
  3 +<meta charset="utf-8">
  4 +<head th:include="include :: header"></head>
  5 +<style>
  6 + .btn-default {
  7 + color: #333;
  8 + background-color: #fff;
  9 + border-color: #ccc
  10 + }
  11 +</style>
  12 +<body class="gray-bg">
  13 +<div class="container-div">
  14 + <div class="row">
  15 + <div class="col-sm-12 select-info">
  16 + <ul id="myTab" class="nav nav-tabs">
  17 + <li class="active"><a href="#tabHeader" data-toggle="tab">主表</a></li>
  18 + <li><a href="#tabDetail" data-toggle="tab">明细</a></li>
  19 + </ul>
  20 + <div id="myTabContent" class="tab-content">
  21 + <div class="tab-pane fade in active" id="tabHeader">
  22 + <div class="col-sm-12 select-info">
  23 + <form id="receiptHeader-form">
  24 + <div class="select-list">
  25 + <ul>
  26 + <li>
  27 + 出库单号:<input type="text" name="code"/>
  28 + </li>
  29 + <li>
  30 + <!--入库类型:<input type="text" name="sourceCode"/>-->
  31 + 出库类型:<select name="shipmentType" th:with="shipmentType=${@dict.getType('shipmentType')}">
  32 + <option value="">所有</option>
  33 + <option th:each="e : ${shipmentType}" th:text="${e['dictLabel']}"
  34 + th:value="${e['dictValue']}"></option>
  35 + </select>
  36 + </li>
  37 + <li>
  38 + erp单号:<input type="text" name="referCode"/>
  39 + </li>
  40 + <li>
  41 + erp订单类型:<input type="text" name="referCodeType"/>
  42 + </li>
  43 + <li>
  44 + 客户编码:<input type="text" name="sourceCode"/>
  45 + </li>
  46 + <li>
  47 + <!--头 状 态:<input type="text" name="firstStatus"/>-->
  48 + 头 状 态:<select name="firstStatus"
  49 + th:with="firstStatus=${@dict.getType('shipmentHeaderStatus')}">
  50 + <option value="">所有</option>
  51 + <option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}"
  52 + th:value="${e['dictValue']}"></option>
  53 + </select>
  54 + </li>
  55 + <li>
  56 + <!--尾 状 态:<input type="text" name="lastStatus"/>-->
  57 + 尾 状 态:<select name="lastStatus"
  58 + th:with="lastStatus=${@dict.getType('shipmentHeaderStatus')}">
  59 + <option value="">所有</option>
  60 + <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}"
  61 + th:value="${e['dictValue']}"></option>
  62 + </select>
  63 + </li>
  64 + <li class="time">
  65 + <label>创建时间: </label>
  66 + <input type="text" class="time-input" id="startTime" placeholder="开始时间"
  67 + name="createdBegin"/>
  68 + <span>-</span>
  69 + <input type="text" class="time-input" id="endTime" placeholder="结束时间"
  70 + name="createdEnd"/>
  71 + </li>
  72 + <li>
  73 + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
  74 + class="fa fa-search"></i>&nbsp;搜索</a>
  75 + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="receipt:receiptHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
  76 + </li>
  77 + </ul>
  78 + </div>
  79 + </form>
  80 + </div>
  81 + <div class="btn-group hidden-xs" id="toolbar" role="group">
  82 + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()"
  83 + shiro:hasPermission="shipment:bill:add">
  84 + <i class="fa fa-plus"></i> 新增
  85 + </a>
  86 + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()"
  87 + shiro:hasPermission="shipment:bill:remove">
  88 + <i class="fa fa-trash-o"></i> 删除
  89 + </a>
  90 + </div>
  91 + <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
  92 + </div>
  93 + <div class="tab-pane fade" id="tabDetail">
  94 + <div class="col-sm-12 select-info">
  95 + <form id = "shipmentHeadForm" >
  96 + <ul id="tabHead" class="nav nav-tabs">
  97 + <li class="active"><a href="#tabBase" data-toggle="tab">基础数据</a></li>
  98 + <li role="presentation" ><a href="#tabCustomer" data-toggle="tab">客户信息</a></li>
  99 + <li><a href="#tabExcute" data-toggle="tab">执行信息</a></li>
  100 + <li><a href="#tabOther" data-toggle="tab">其他信息</a></li>
  101 + <li><a href="#tabSystem" data-toggle="tab">系统信息</a></li>
  102 + </ul>
  103 + <div class="tab-content">
  104 + <div class="tab-pane fade in active" id="tabBase">
  105 + <div class="select-list">
  106 + <ul>
  107 + <li>出库单id:<input type="text" name="shipmentId" id="shipmentId"><li>
  108 + <li>出库单号:<input type="text" name="shipmentCode" id="shipmentCode"></li>
  109 + <input type="hidden" name="shipmentWarehouseId" id = "shipmentWarehouseId">
  110 + <li>仓库编码:<input type="text" name="shipmentWarehouseCode" id="shipmentWarehouseCode"></li>
  111 + <input type="hidden" name="shipmentCompanyId" id="shipmentCompanyId">
  112 + <li>货主:<input type="text" name="shipmentCompanyCode" id="shipmentCompanyCode"></li>
  113 + <li>上游系统单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li>
  114 + <li>上游平台:<input type="text" name="shipmentSourcePlatform" id="shipmentSourcePlatform"></li>
  115 + <li>出库单类型:<input type="text" name="shipmentType" id = "shipmentType"></li>
  116 + <li>总数量:<input type="text" name="shipmentTotalQty" id="shipmentTotalQty"></li>
  117 + <li>总行数:<input type="text" name="shipmentTotalLines" id="shipmentTotalLines"></li>
  118 + <li>单据头状态:<input type="text" name="shipmentFirstStatus" id="shipmentFirstStatus"></li>
  119 + <li>单据尾状态:<input type="text" name="shipmentLastStatus" id="shipmentLastStatus"></li>
  120 + </ul>
  121 + </div>
  122 + </div>
  123 + <div class="tab-pane fade" id="tabCustomer">
  124 + <div class="select-list">
  125 + <ul>
  126 + <li>客户编码:<input type="text" name="shipmentShipTo" id="shipmentShipTo"></li>
  127 + <li>发货预约时间:<input type="text" name="shipmentAppointmentTime" id="shipmentAppointmentTime"></li>
  128 + </ul>
  129 + </div>
  130 + </div>
  131 + <div class="tab-pane fade" id="tabExcute">
  132 + <div class="select-list">
  133 + <ul>
  134 + <li>优先级:<input type="text" name="shipmentPriority" id="shipmentPriority"></li>
  135 + <li>发货站台:<input type="text" name="shipmentStation" id="shipmentStation"></li>
  136 + <li></li>
  137 + </ul>
  138 + </div>
  139 + </div>
  140 + <div class="tab-pane fade" id="tabOther">
  141 + <div class="select-list">
  142 + <ul>
  143 + <li>备注:<input type="text" name="shipmentRemark" id="shipmentRemark"></li>
  144 + <li>扩展属性1:<input type="text" name="shipmentUserDef1" id="shipmentUserDef1"></li>
  145 + <li>扩展属性2:<input type="text" name="shipmentUserDef2" id="shipmentUserDef2"></li>
  146 + <li>扩展属性3:<input type="text" name="shipmentUserDef3" id="shipmentUserDef3"></li>
  147 +
  148 + </ul>
  149 + </div>
  150 + </div>
  151 + <div class="tab-pane fade" id="tabSystem">
  152 + <div class="select-list">
  153 + <ul>
  154 + <li>上传备注:<input type="text" name="shipmentUploadremark" id="shipmentUploadremark"></li>
  155 + <li>上传时间:<input type="text" name="shipmentUploadTime" id="shipmentUploadTime"></li>
  156 + <li>上传状态:<input type="text" name="shipmentUploadStatus" id="shipmentUploadStatus"></li>
  157 + <li>创建时间:<input type="text" name="shipmentCreated" id="shipmentCreated"></li>
  158 + <li>创建用户:<input type="text" name="shipmentCreatedBy" id="shipmentCreatedBy"></li>
  159 + <li>最后修改时间:<input type="text" name="shipmentLastUpdated" id="shipmentLastUpdated"></li>
  160 + <li>更新用户:<input type="text" name=" shipmentLastUpdatedBy" id="shipmentLastUpdatedBy"></li>
  161 + <li>是否有效:<input type="text" name="shipmentEnable" id="shipmentEnable"></li>
  162 + <li>是否删除:<input type="text" name="shipmentDeleted" id="shipmentDeleted"></li>
  163 + </ul>
  164 + </div>
  165 + </div>
  166 + </div>
  167 + </form>
  168 + </div>
  169 + <div class="btn-group hidden-xs" id="toolbar-detail" role="group" style="padding:20px 0;">
  170 +
  171 + <a class="btn btn-outline btn-success btn-rounded" onclick="add()" shiro:hasPermission="shipment:bill:add">
  172 + <i class="fa fa-plus"></i> 新增
  173 + </a>
  174 + <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" shiro:hasPermission="shipment:bill:remove">
  175 + <i class="fa fa-trash-o"></i> 删除
  176 + </a>
  177 + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.edit(shipmentId)" shiro:hasPermission="shipment:bill:edit">
  178 + <i class="fa fa-edit"></i> 编辑主单据
  179 + </a>
  180 + <a class="btn btn-outline btn-default btn-rounded" onclick="loadDetail()">
  181 + <i class="fa fa-refresh"></i> 刷新
  182 + </a>
  183 + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="autoZone()" shiro:hasPermission="shipment:bill:add">-->
  184 + <!--<i class="fa fa-plus"></i> 自动分配库区-->
  185 + <!--</a>-->
  186 + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="addzone()" shiro:hasPermission="shipment:bill:add">-->
  187 + <!--<i class="fa fa-plus"></i> 分配库区-->
  188 + <!--</a>-->
  189 + <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="Toshipping(false)" shiro:hasPermission="shipment:shippingCombination:combination">
  190 + <i class="fa fa-hand-lizard-o"></i> 手动组盘
  191 + </a>
  192 + <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="Toshipping(true)" shiro:hasPermission="shipment:shippingCombination:combination">
  193 + <i class="fa fa-code-fork"></i> 自动组盘
  194 + </a>
  195 + </div>
  196 + <table id="bootstrap-table-detail" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
  197 + </div>
  198 + </div>
  199 + </div>
  200 + </div>
  201 +</div>
  202 +<div th:include="include :: footer"></div>
  203 +<script th:inline="javascript">
  204 + var printFlag = [[${@permission.hasPermi('shipment:bill:report')}]]; //打印
  205 + var editFlag = [[${@permission.hasPermi('shipment:bill:edit')}]];
  206 + var removeFlag = [[${@permission.hasPermi('shipment:bill:remove')}]];
  207 + var prefix = ctx + "shipment/shipmentHeader";
  208 + var prefix_detail = ctx + "shipment/shipmentDetail";
  209 + var datas = [[${@dict.getType('sys_normal_disable')}]];
  210 + var shipmentTypes=[[${@dict.getType('shipmentType')}]];
  211 + var shipmentHeaderStatus=[[${@dict.getType('shipmentHeaderStatus')}]];
  212 + var stations = [[${@dict.getType('station')}]];
  213 + var uploadStatus=[[${@dict.getType('uploadStatus')}]];
  214 + var detailCreateUrl=prefix_detail+"/add";
  215 + var detailRemoveUrl=prefix_detail+"/remove";
  216 + var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
  217 + var rossDoccking = [[${@permission.hasPermi('shipment:bill:rossDoccking')}]];
  218 + var rossDocckingUrl =prefix_detail+"/rossDoccking";
  219 + var shipmentId = "";
  220 + var shipmentCode="";
  221 +
  222 + $(function () {
  223 + var options = {
  224 + url: prefix + "/list",
  225 + createUrl: prefix + "/add",
  226 + updateUrl: prefix + "/edit/{id}",
  227 + removeUrl: prefix + "/remove",
  228 + modalName: "出库单",
  229 + sortName: "created",
  230 + sortOrder: "desc",
  231 + search: false,
  232 + columns: [
  233 + {
  234 + checkbox: true
  235 + },
  236 + {
  237 + field: 'id',
  238 + title: '出库单id'
  239 + },
  240 + {
  241 + field: 'code',
  242 + title: '出库单号',
  243 + sortable:true
  244 + },
  245 + {
  246 + field: 'companyCode',
  247 + title: '货主',
  248 + sortable:true
  249 + },
  250 + {
  251 + field: 'referCode',
  252 + title: 'erp订单号',
  253 + sortable:true
  254 + },
  255 + {
  256 + field: 'referCodeType',
  257 + title: 'erp订单内部号',
  258 + sortable:true,
  259 + visible:false
  260 + },
  261 + {
  262 + field: 'shipmentType',
  263 + title: '类型',
  264 + align: 'center',
  265 + formatter: function(value, row, index) {
  266 + return $.table.selectDictLabel(shipmentTypes, value);
  267 + },
  268 + sortable:true
  269 +
  270 + },
  271 + {
  272 + field: 'customerCode',
  273 + title: '客户编码',
  274 + sortable:true
  275 + },
  276 + {
  277 + field: 'priority',
  278 + title: '优先级'
  279 + },
  280 + {
  281 + field: 'route',
  282 + title: '路线',
  283 + sortable:true
  284 + },
  285 + {
  286 + field: 'totalQty',
  287 + title: '总数量'
  288 + },
  289 + {
  290 + field: 'totalLines',
  291 + title: '总行数'
  292 + },
  293 + {
  294 + field: 'firstStatus',
  295 + title: '头状态',
  296 + formatter: function(value, row, index) {
  297 + return $.table.selectDictLabel(shipmentHeaderStatus, value);
  298 + },
  299 + sortable:true
  300 + },
  301 + {
  302 + field: 'lastStatus',
  303 + title: '尾状态',
  304 + formatter: function(value, row, index) {
  305 + return $.table.selectDictLabel(shipmentHeaderStatus, value);
  306 + },
  307 + sortable:true
  308 + },
  309 + {
  310 + field: 'created',
  311 + title: '创建时间',
  312 + sortable: true
  313 + },
  314 + {
  315 + field: 'createdBy',
  316 + title: '创建用户'
  317 + },
  318 + {
  319 + field: 'lastUpdated',
  320 + title: '最后修改时间',
  321 + visible:false
  322 + },
  323 + {
  324 + field: 'lastUpdatedBy',
  325 + title: '更新用户',
  326 + visible:false
  327 + },
  328 + {
  329 + title: '操作',
  330 + align: 'center',
  331 + formatter: function (value, row, index) {
  332 + var actions = [];
  333 + actions.push('<a id="table_edit" class="btn btn-success btn-xs ' + printFlag + '" href="#" onclick="receiptPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> ');
  334 + // actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>列表</a> ');
  335 + if (row.firstStatus < 100){
  336 + actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
  337 + }
  338 + if (row.firstStatus < 120){
  339 + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
  340 + }
  341 + return actions.join('');
  342 + }
  343 + }]
  344 + };
  345 + $.table.init(options);
  346 + });
  347 +
  348 + $("#bootstrap-table-detail").bootstrapTable(
  349 + {
  350 + /*url: prefix_detail + "/list",*/
  351 + createUrl: prefix_detail + "/add",
  352 + updateUrl: prefix_detail + "/edit/{id}",
  353 + removeUrl: prefix_detail + "/remove",
  354 + // queryParams: queryParams,
  355 + sortable: true, //排序
  356 + // showRefresh: true, //刷新
  357 + modalName: "出库明细",
  358 + search: false,
  359 + clickToSelect: true,
  360 + sortName: "lastUpdated",
  361 + sortOrder: "desc",
  362 + pagination: true, // 是否显示分页(*)
  363 + pageNumber: 1, // 初始化加载第一页,默认第一页
  364 + pageSize: 10, // 每页的记录行数(*)
  365 + pageList: [10, 25, 50], // 可供选择的每页的行数(*)
  366 + columns: [{
  367 + checkbox: true
  368 + },
  369 + {
  370 + field: 'id',
  371 + title: '明细id'
  372 + },
  373 + {
  374 + field: 'zoneCode',
  375 + title: '库区'
  376 + },
  377 +
  378 + /* {
  379 + field: 'shipmentId',
  380 + title: '出库单Id'
  381 + },*/
  382 + {
  383 + field: 'materialCode',
  384 + title: '存货编码'
  385 + },
  386 + {
  387 + field: 'materialName',
  388 + title: '物料名称'
  389 + },
  390 + {
  391 + field: 'specification',
  392 + title: '物料规格'
  393 + },
  394 + {
  395 + field: 'batch',
  396 + title: '批次',
  397 + visible:false
  398 + },
  399 + {
  400 + field: 'lot',
  401 + title: '批号',
  402 + visible:false
  403 + },
  404 + {
  405 + field: 'project',
  406 + title: '项目号'
  407 + },
  408 + /*{
  409 + field: 'status',
  410 + title: '明细状态',
  411 + formatter: function(value, row, index) {
  412 + return $.table.selectDictLabel(shipmentHeaderStatus, value);
  413 + },
  414 + visible:true
  415 + },*/
  416 + {
  417 + field: 'manufactureDate',
  418 + title: '生产日期',
  419 + visible:false
  420 + },
  421 + {
  422 + field: 'expirationDate',
  423 + title: '失效日期',
  424 + visible:false
  425 + },
  426 + {
  427 + field: 'agingDate',
  428 + title: '入库日期',
  429 + visible:false
  430 + },
  431 + {
  432 + field: 'inventoryStatus',
  433 + title: '库存状态',
  434 + formatter: function(value, row, index) {
  435 + return $.table.selectDictLabel(inventoryStatus, value);
  436 + },
  437 + },
  438 + {
  439 + field: 'qty',
  440 + title: '发货数量'
  441 + },
  442 + {
  443 + field: 'qtyCompleted',
  444 + title: '已出数量'
  445 + },
  446 + {
  447 + field : 'inventoryQty',
  448 + title : '库存数量'
  449 + },
  450 + {
  451 + field : 'status',
  452 + title : '明细状态',
  453 + align: 'center',
  454 + formatter: function(value, row, index) {
  455 + return $.table.selectDictLabel(shipmentHeaderStatus, value);
  456 + }
  457 + },
  458 + {
  459 + field: 'price',
  460 + title: '物料单价',
  461 + visible:false
  462 + },
  463 + {
  464 + field: 'created',
  465 + title: '创建时间',
  466 + },
  467 + {
  468 + field: 'createdBy',
  469 + title: '创建用户'
  470 + },
  471 + {
  472 + field: 'lastUpdated',
  473 + title: '最后修改时间'
  474 + },
  475 + {
  476 + field: 'lastUpdatedBy',
  477 + title: '更新用户'
  478 + },
  479 + {
  480 + title: '操作',
  481 + align: 'center',
  482 + formatter: function (value, row, index) {
  483 + var actions = [];
  484 + actions.push('<a style="background-color: #f59e00;border: #f59e00" class="btn btn-default btn-xs ' + rossDoccking + '" href="#" onclick="Doccking(\''+ row.id + '\')"><i class="fa fa-send"></i>越库</a> ');
  485 + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
  486 + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
  487 + return actions.join('');
  488 + }
  489 + }]
  490 + }
  491 + );
  492 +
  493 +
  494 + /* 越库 */
  495 + function Doccking(id) {
  496 + // var url = rossDocckingUrl.replace("{id}", id);
  497 + let url=rossDocckingUrl;
  498 + var data = { "id": id };
  499 + submit(url, "post", "json", data);
  500 + }
  501 +
  502 + function submit(url, type, dataType, data,content) {
  503 + $.modal.loading("正在处理中,请稍后...");
  504 + var config = {
  505 + url: url,
  506 + type: type,
  507 + dataType: dataType,
  508 + data: data,
  509 + contentType: content,
  510 + success: function(result) {
  511 + if (result.code == web_status.SUCCESS) {
  512 + if (result.data !== null) {
  513 + layer.open({
  514 + title: ''
  515 + ,content: result.data,
  516 + closeBtn:false
  517 + });
  518 + $("body").focus();
  519 + }
  520 + else {
  521 + $.modal.msg(result.msg);
  522 + }
  523 +
  524 + }
  525 + else {
  526 + $.modal.alertError(result.msg);
  527 + }
  528 + $("#list-btn").click();
  529 + $.modal.closeLoading();
  530 + }
  531 + };
  532 + $.ajax(config)
  533 + }
  534 +
  535 +
  536 +
  537 +
  538 + /*入库单列表-详细*/
  539 + function detail(id, code) {
  540 + shipmentId = id;
  541 + shipmentCode=code;
  542 + $("#myTab li").removeClass("active");
  543 + $("#tabHeader").removeClass("in active");
  544 + $("#myTab li:eq(1)").addClass("active");
  545 + $("#tabDetail").addClass("in active");
  546 +
  547 + loadDetail();
  548 + }
  549 +
  550 + /** 载入明细 */
  551 + function loadDetail() {
  552 + $.ajax({
  553 + url:ctx + 'shipment/shipmentDetail/list',
  554 + type: 'post',
  555 + data:{
  556 + shipmentId:shipmentId
  557 + },
  558 + success : function (value) {
  559 + $("#bootstrap-table-detail").bootstrapTable('load',value.data);
  560 + }
  561 + })
  562 + $.ajax({
  563 + url:"shipmentHeader/getShipmentHeader",
  564 + type:"post",
  565 + data:{
  566 + id:shipmentId
  567 + },
  568 + success:function (value) {
  569 + $('#shipmentId').val(value.data.id);
  570 + $('#shipmentCode').val(value.data.code);
  571 + $('#shipmentWarehouseId').val(value.data.warehouseId);
  572 + $('#shipmentWarehouseCode').val(value.data.warehouseCode);
  573 + $('#shipmentCompanyId').val(value.data.companyId);
  574 + $('#shipmentCompanyCode').val(value.data.companyCode);
  575 + $('#shipmentSourceCode').val(value.data.sourceCode);
  576 + $('#shipmentSourcePlatform').val(value.data.sourcePlatform);
  577 + $('#shipmentType').val(shipmentTypes.filter(function(a){return a.dictValue==value.data.type})[0].dictLabel);
  578 + $('#shipmentShipTo').val(value.data.shipTo);
  579 + $('#shipmentPriority').val(value.data.priority);
  580 + $('#shipmentStation').val(value.data.station);
  581 + $('#shipmentTotalQty').val(value.data.totalQty);
  582 + $('#shipmentTotalLines').val(value.data.totalLines);
  583 + $('#shipmentRemark').val(value.data.remark);
  584 + $('#shipmentUploadremark').val(value.data.uploadremark);
  585 + $('#shipmentUploadTime').val(value.data.uploadTime);
  586 + $('#shipmentAppointmentTime').val(value.data.appointmentTime);
  587 + $('#shipmentFirstStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.firstStatus})[0].dictLabel);
  588 + $('#shipmentLastStatus').val(shipmentHeaderStatus.filter(function(a){return a.dictValue==value.data.lastStatus})[0].dictLabel);
  589 + $('#shipmentUploadStatus').val(uploadStatus.filter(function (a) {return a.dictValue==value.data.uploadStatus})[0].dictLabel);
  590 + $('#shipmentCreated').val(value.data.created);
  591 + $('#shipmentCreatedBy').val(value.data.createdBy);
  592 + $('#shipmentLastUpdated').val(value.data.lastUpdated);
  593 + $('#shipmentLastUpdatedBy').val(value.data.lastUpdatedBy);
  594 + //$('#shipmentEnable').val(value.data.enable);
  595 + if(value.data.enable==true){
  596 + $('#shipmentEnable').val('是')
  597 + }else{
  598 + $('#shipmentEnable').val('否')
  599 + };
  600 + //$('#shipmentDeleted').val(value.data.deleted);
  601 + if(value.data.deleted==false){
  602 + $('#shipmentDeleted').val('否')
  603 + }else{
  604 + $('#shipmentDeleted').val('是')
  605 + };
  606 + $('#shipmentUserDef1').val(value.data.userDef1);
  607 + $('#shipmentUserDef2').val(value.data.userDef2);
  608 + $('#shipmentUserDef3').val(value.data.userDef3);
  609 +
  610 +
  611 + }
  612 + })
  613 + }
  614 +
  615 + /* 添加主单据 */
  616 + function add() {
  617 + if (shipmentId == '') {
  618 + $.modal.open("未选择出库单" , "404.html");
  619 + }
  620 + else {
  621 + var url = detailCreateUrl + "?shipmentId=" + $('#shipmentId').val()
  622 + + "&shipmentCode=" + $('#shipmentCode').val()
  623 + + "&companyId=" + $('#shipmentCompanyId').val()
  624 + + "&companyCode=" + $('#shipmentCompanyCode').val();
  625 + + "&sourceCode=" + $('#shipmentSourceCode').val();
  626 + $.modal.open("添加" , url);
  627 + }
  628 + }
  629 +
  630 + /* 打印 */
  631 + function receiptPrint(id) {
  632 + var url = prefix + "/report/" + id;
  633 + $.modal.open("出库单打印" , url);
  634 + }
  635 +
  636 + /* 编辑明细单据 */
  637 + function edit(id) {
  638 + if (shipmentId == '') {
  639 + $.modal.open("未选择出库单" , "404.html");
  640 + }
  641 + else {
  642 + var url = prefix_detail + "/edit/" + id ;
  643 + $.modal.open("编辑明细" , url);
  644 + }
  645 + }
  646 +
  647 + /* 单个删除 */
  648 + function remove(id) {
  649 + $.modal.confirm("确定删除该条出库单明细信息吗?", function() {
  650 + var url = $.common.isEmpty(id) ? detailRemoveUrl : detailRemoveUrl.replace("{id}", id);
  651 + var data = { "ids": id };
  652 + localSubmit(url, "post", "json", data);
  653 + });
  654 + }
  655 +
  656 + /* 批量删除 */
  657 + function batRemove() {
  658 + var rows=$("#bootstrap-table-detail").bootstrapTable('getSelections');
  659 + // console.log(rows);
  660 + // var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id);
  661 + if (rows.length == 0) {
  662 + $.modal.alertWarning("请至少选择一条记录");
  663 + return;
  664 + }
  665 + $.modal.confirm("确认要删除选中的" + rows.length + "条数据吗?", function() {
  666 + var url = detailRemoveUrl;
  667 + var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
  668 + localSubmit(url, "post", "json", data);
  669 + });
  670 + }
  671 +
  672 + function localSubmit (url, type, dataType, data) {
  673 + $.modal.loading("正在处理中,请稍后...");
  674 + var config = {
  675 + url: url, type: type, dataType: dataType, data: data, success: function (result) {
  676 + if (result.code == web_status.SUCCESS) {
  677 + $.modal.msgSuccess(result.msg);
  678 + loadDetail(shipmentId, shipmentCode)
  679 + } else {
  680 + $.modal.alertError(result.msg)
  681 + }
  682 + $.modal.closeLoading()
  683 + }
  684 + };
  685 + $.ajax(config)
  686 + }
  687 +
  688 + /* 出库组盘 */
  689 + function Toshipping(auto) {
  690 + let storage=window.localStorage;
  691 + if (auto) {
  692 + $(".auto-shipment").attr("disabled",true).css("pointer-events","none");
  693 + storage.auto = auto;
  694 + let url = ctx + "shipment/shippingCombination";
  695 + createMenuItem(url, "出库自动组盘");
  696 + storage.shipmentCode=shipmentCode;
  697 + parent.$('.tabReload').click();
  698 + $(".auto-shipment").attr("disabled",false).css("pointer-events","auto");
  699 + }
  700 + else {
  701 + var rows=$("#bootstrap-table-detail").bootstrapTable('getSelections');
  702 + if (rows.length == 0) {
  703 + $.modal.alertWarning("请至少选择一条记录");
  704 + return;
  705 + }
  706 + let data = { "ids": rows.map(function(v){return v.id;}).join(',') };
  707 + $(".to-receive").attr("disabled",true).css("pointer-events","none");
  708 + let url = ctx + "shipment/shippingCombination";
  709 + createMenuItem(url, "出库组盘");
  710 + storage.shipids=data.ids;
  711 + storage.shipmentCode=shipmentCode;
  712 + parent.$('.tabReload').click();
  713 + $(".to-receive").attr("disabled",false).css("pointer-events","auto");
  714 + }
  715 +
  716 + }
  717 +
  718 + /* 点击明细面板 */
  719 + $("#myTab li:eq(1)").click(function () {
  720 + if (shipmentId == '') {
  721 + shipmentId = $("#bootstrap-table tr:eq(1) td:eq(1)").text();
  722 + }
  723 + detail(shipmentId, "");
  724 + });
  725 +
  726 + /* 点击主表面板 */
  727 + $("#myTab li:eq(0)").click(function () {
  728 + $.ajax({
  729 + url: prefix + "/list",
  730 + type:"post",
  731 + success:function (value) {
  732 + $("#bootstrap-table").bootstrapTable('refresh', value.data);
  733 + }
  734 + })
  735 + });
  736 +
  737 + // function addzone() {
  738 + // let url=prefix_detail+'/addZoneCode?ids=';
  739 + // let rows=$("#bootstrap-table-detail").bootstrapTable('getSelections');
  740 + // if (rows.length === 0) {
  741 + // $.modal.msgWarning("请至少选择一条记录");
  742 + // }
  743 + // else {
  744 + // let ids = "";
  745 + // for(let i=0; i<rows.length; i++) {
  746 + // ids = ids + rows[i].id + ","
  747 + // }
  748 + // ids = ids.substring(0, ids.length-1);
  749 + // url=url+ids;
  750 + // $.modal.open("分配库区",url,800,250)
  751 + // }
  752 + // }
  753 + //
  754 + // //自动分配库区
  755 + // function autoZone() {
  756 + // let code=$("#shipmentCode").val();
  757 + // $.ajax({
  758 + // url:prefix_detail+'/addZones',
  759 + // type:'post',
  760 + // data:{
  761 + // code:code
  762 + // },
  763 + // success:function (res) {
  764 + // if (res.code === 200) {
  765 + // $.modal.msgSuccess(res.msg);
  766 + // loadDetail();
  767 + // }
  768 + // else{
  769 + // $.modal.msgError(res.msg);
  770 + // }
  771 + // }
  772 + // })
  773 + // }
  774 +
  775 +</script>
  776 +</body>
  777 +</html>
0 778 \ No newline at end of file
... ...
src/main/resources/templates/inventory/inventory/transfer.html renamed to src/main/resources/templates/inventory/inventoryHeader/transfer.html
... ... @@ -10,13 +10,6 @@
10 10 <!--</ul>-->
11 11 <!--<div id="myTabContent" class="tab-content">-->
12 12 <!--<div class="tab-pane fade in active" id="tab1">-->
13   -
14   - <!--</div>-->
15   - <!--<div class="tab-pane fade" id="tabDetail">-->
16   - <!--此版本-->
17   - <!--</div>-->
18   - <!--</div>-->
19   -
20 13 <!--</div>-->
21 14 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
22 15 <form class="form-horizontal m" id="form-inventory-transfer">
... ...
src/main/resources/templates/inventory/inventoryTransaction/add.html deleted
1   -<!DOCTYPE HTML>
2   -<html lang="zh" xmlns:th="http://www.thymeleaf.org">
3   -<meta charset="utf-8">
4   -<head th:include="include :: header"></head>
5   -<body class="white-bg">
6   - <div class="wrapper wrapper-content animated fadeInRight ibox-content">
7   - <form class="form-horizontal m" id="form-inventoryTransaction-add">
8   - <div class="form-group">
9   - <label class="col-sm-3 control-label">仓库Id:</label>
10   - <div class="col-sm-8">
11   - <input id="warehouseId" name="warehouseId" class="form-control" type="text">
12   - </div>
13   - </div>
14   - <div class="form-group">
15   - <label class="col-sm-3 control-label">仓库:</label>
16   - <div class="col-sm-8">
17   - <input id="warehouseCode" name="warehouseCode" class="form-control" type="text">
18   - </div>
19   - </div>
20   - <div class="form-group">
21   - <label class="col-sm-3 control-label">库位id:</label>
22   - <div class="col-sm-8">
23   - <input id="locationId" name="locationId" class="form-control" type="text">
24   - </div>
25   - </div>
26   - <div class="form-group">
27   - <label class="col-sm-3 control-label">库位编号:</label>
28   - <div class="col-sm-8">
29   - <input id="locationCode" name="locationCode" class="form-control" type="text">
30   - </div>
31   - </div>
32   - <div class="form-group">
33   - <label class="col-sm-3 control-label">上游系统单号:</label>
34   - <div class="col-sm-8">
35   - <input id="sourceCode" name="sourceCode" class="form-control" type="text">
36   - </div>
37   - </div>
38   - <div class="form-group">
39   - <label class="col-sm-3 control-label">上游系统行号:</label>
40   - <div class="col-sm-8">
41   - <input id="sourceLine" name="sourceLine" class="form-control" type="text">
42   - </div>
43   - </div>
44   - <div class="form-group">
45   - <label class="col-sm-3 control-label">交易类型:</label>
46   - <div class="col-sm-8">
47   - <input id="type" name="type" class="form-control" type="text">
48   - </div>
49   - </div>
50   - <div class="form-group">
51   - <label class="col-sm-3 control-label">公司id:</label>
52   - <div class="col-sm-8">
53   - <input id="companyId" name="companyId" class="form-control" type="text">
54   - </div>
55   - </div>
56   - <div class="form-group">
57   - <label class="col-sm-3 control-label">物料Id:</label>
58   - <div class="col-sm-8">
59   - <input id="materialId" name="materialId" class="form-control" type="text">
60   - </div>
61   - </div>
62   - <div class="form-group">
63   - <label class="col-sm-3 control-label">存货编码:</label>
64   - <div class="col-sm-8">
65   - <input id="materialCode" name="materialCode" class="form-control" type="text">
66   - </div>
67   - </div>
68   - <div class="form-group">
69   - <label class="col-sm-3 control-label">单头:</label>
70   - <div class="col-sm-8">
71   - <input id="billId" name="billId" class="form-control" type="text">
72   - </div>
73   - </div>
74   - <div class="form-group">
75   - <label class="col-sm-3 control-label">单编码:</label>
76   - <div class="col-sm-8">
77   - <input id="billCode" name="billCode" class="form-control" type="text">
78   - </div>
79   - </div>
80   - <div class="form-group">
81   - <label class="col-sm-3 control-label">单明细id:</label>
82   - <div class="col-sm-8">
83   - <input id="billDetailId" name="billDetailId" class="form-control" type="text">
84   - </div>
85   - </div>
86   - <div class="form-group">
87   - <label class="col-sm-3 control-label">批次:</label>
88   - <div class="col-sm-8">
89   - <input id="batch" name="batch" class="form-control" type="text">
90   - </div>
91   - </div>
92   - <div class="form-group">
93   - <label class="col-sm-3 control-label">批号:</label>
94   - <div class="col-sm-8">
95   - <input id="lot" name="lot" class="form-control" type="text">
96   - </div>
97   - </div>
98   - <div class="form-group">
99   - <label class="col-sm-3 control-label">项目号:</label>
100   - <div class="col-sm-8">
101   - <input id="project" name="project" class="form-control" type="text">
102   - </div>
103   - </div>
104   - <div class="form-group">
105   - <label class="col-sm-3 control-label">生产日期:</label>
106   - <div class="col-sm-8">
107   - <input id="manufactureDate" name="manufactureDate" class="form-control" type="text">
108   - </div>
109   - </div>
110   - <div class="form-group">
111   - <label class="col-sm-3 control-label">失效日期:</label>
112   - <div class="col-sm-8">
113   - <input id="expirationDate" name="expirationDate" class="form-control" type="text">
114   - </div>
115   - </div>
116   - <div class="form-group">
117   - <label class="col-sm-3 control-label">库存状态:</label>
118   - <div class="col-sm-8">
119   - <input id="status" name="status" class="form-control" type="text">
120   - </div>
121   - </div>
122   - <div class="form-group">
123   - <label class="col-sm-3 control-label">数量:</label>
124   - <div class="col-sm-8">
125   - <input id="qty" name="qty" class="form-control" type="text">
126   - </div>
127   - </div>
128   - <div class="form-group">
129   - <label class="col-sm-3 control-label">执行预定数量:</label>
130   - <div class="col-sm-8">
131   - <input id="taskQty" name="taskQty" class="form-control" type="text">
132   - </div>
133   - </div>
134   - <div class="form-group">
135   - <label class="col-sm-3 control-label">成本:</label>
136   - <div class="col-sm-8">
137   - <input id="costPrice" name="costPrice" class="form-control" type="text">
138   - </div>
139   - </div>
140   - <div class="form-group">
141   - <label class="col-sm-3 control-label">标价:</label>
142   - <div class="col-sm-8">
143   - <input id="listPrice" name="listPrice" class="form-control" type="text">
144   - </div>
145   - </div>
146   - <div class="form-group">
147   - <label class="col-sm-3 control-label">净价:</label>
148   - <div class="col-sm-8">
149   - <input id="netPrice" name="netPrice" class="form-control" type="text">
150   - </div>
151   - </div>
152   - <div class="form-group">
153   - <label class="col-sm-3 control-label">创建时间(入库时间):</label>
154   - <div class="col-sm-8">
155   - <input id="created" name="created" class="form-control" type="text">
156   - </div>
157   - </div>
158   - <div class="form-group">
159   - <label class="col-sm-3 control-label">创建用户:</label>
160   - <div class="col-sm-8">
161   - <input id="createdBy" name="createdBy" class="form-control" type="text">
162   - </div>
163   - </div>
164   - <div class="form-group">
165   - <label class="col-sm-3 control-label">最后修改时间:</label>
166   - <div class="col-sm-8">
167   - <input id="lastUpdated" name="lastUpdated" class="form-control" type="text">
168   - </div>
169   - </div>
170   - <div class="form-group">
171   - <label class="col-sm-3 control-label">更新用户:</label>
172   - <div class="col-sm-8">
173   - <input id="lastUpdatedBy" name="lastUpdatedBy" class="form-control" type="text">
174   - </div>
175   - </div>
176   - <div class="form-group">
177   - <label class="col-sm-3 control-label">自定义字段1:</label>
178   - <div class="col-sm-8">
179   - <input id="userDef1" name="userDef1" class="form-control" type="text">
180   - </div>
181   - </div>
182   - <div class="form-group">
183   - <label class="col-sm-3 control-label">自定义字段2:</label>
184   - <div class="col-sm-8">
185   - <input id="userDef2" name="userDef2" class="form-control" type="text">
186   - </div>
187   - </div>
188   - <div class="form-group">
189   - <label class="col-sm-3 control-label">自定义字段3:</label>
190   - <div class="col-sm-8">
191   - <input id="userDef3" name="userDef3" class="form-control" type="text">
192   - </div>
193   - </div>
194   - <div class="form-group">
195   - <div class="form-control-static col-sm-offset-9">
196   - <button type="submit" class="btn btn-primary">提交</button>
197   - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
198   - </div>
199   - </div>
200   - </form>
201   - </div>
202   - <div th:include="include::footer"></div>
203   - <script type="text/javascript">
204   - var prefix = ctx + "inventory/inventoryTransaction"
205   - $("#form-inventoryTransaction-add").validate({
206   - rules:{
207   - xxxx:{
208   - required:true,
209   - },
210   - },
211   - submitHandler: function(form) {
212   - $.operate.save(prefix + "/add", $('#form-inventoryTransaction-add').serialize());
213   - }
214   - });
215   - </script>
216   -</body>
217   -</html>
src/main/resources/templates/inventory/inventoryTransaction/edit.html deleted
1   -<!DOCTYPE HTML>
2   -<html lang="zh" xmlns:th="http://www.thymeleaf.org">
3   -<meta charset="utf-8">
4   -<head th:include="include :: header"></head>
5   -<body class="white-bg">
6   - <div class="wrapper wrapper-content animated fadeInRight ibox-content">
7   - <form class="form-horizontal m" id="form-inventoryTransaction-edit" th:object="${inventoryTransaction}">
8   - <input id="id" name="id" th:field="*{id}" type="hidden">
9   - <div class="form-group">
10   - <label class="col-sm-3 control-label">仓库Id:</label>
11   - <div class="col-sm-8">
12   - <input id="warehouseId" name="warehouseId" th:field="*{warehouseId}" class="form-control" type="text">
13   - </div>
14   - </div>
15   - <div class="form-group">
16   - <label class="col-sm-3 control-label">仓库:</label>
17   - <div class="col-sm-8">
18   - <input id="warehouseCode" name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text">
19   - </div>
20   - </div>
21   - <div class="form-group">
22   - <label class="col-sm-3 control-label">库位id:</label>
23   - <div class="col-sm-8">
24   - <input id="locationId" name="locationId" th:field="*{locationId}" class="form-control" type="text">
25   - </div>
26   - </div>
27   - <div class="form-group">
28   - <label class="col-sm-3 control-label">库位编号:</label>
29   - <div class="col-sm-8">
30   - <input id="locationCode" name="locationCode" th:field="*{locationCode}" class="form-control" type="text">
31   - </div>
32   - </div>
33   - <div class="form-group">
34   - <label class="col-sm-3 control-label">上游系统单号:</label>
35   - <div class="col-sm-8">
36   - <input id="sourceCode" name="sourceCode" th:field="*{sourceCode}" class="form-control" type="text">
37   - </div>
38   - </div>
39   - <div class="form-group">
40   - <label class="col-sm-3 control-label">上游系统行号:</label>
41   - <div class="col-sm-8">
42   - <input id="sourceLine" name="sourceLine" th:field="*{sourceLine}" class="form-control" type="text">
43   - </div>
44   - </div>
45   - <div class="form-group">
46   - <label class="col-sm-3 control-label">交易类型:</label>
47   - <div class="col-sm-8">
48   - <input id="type" name="type" th:field="*{type}" class="form-control" type="text">
49   - </div>
50   - </div>
51   - <div class="form-group">
52   - <label class="col-sm-3 control-label">公司id:</label>
53   - <div class="col-sm-8">
54   - <input id="companyId" name="companyId" th:field="*{companyId}" class="form-control" type="text">
55   - </div>
56   - </div>
57   - <div class="form-group">
58   - <label class="col-sm-3 control-label">物料Id:</label>
59   - <div class="col-sm-8">
60   - <input id="materialId" name="materialId" th:field="*{materialId}" class="form-control" type="text">
61   - </div>
62   - </div>
63   - <div class="form-group">
64   - <label class="col-sm-3 control-label">存货编码:</label>
65   - <div class="col-sm-8">
66   - <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
67   - </div>
68   - </div>
69   - <div class="form-group">
70   - <label class="col-sm-3 control-label">单头:</label>
71   - <div class="col-sm-8">
72   - <input id="billId" name="billId" th:field="*{billId}" class="form-control" type="text">
73   - </div>
74   - </div>
75   - <div class="form-group">
76   - <label class="col-sm-3 control-label">单编码:</label>
77   - <div class="col-sm-8">
78   - <input id="billCode" name="billCode" th:field="*{billCode}" class="form-control" type="text">
79   - </div>
80   - </div>
81   - <div class="form-group">
82   - <label class="col-sm-3 control-label">单明细id:</label>
83   - <div class="col-sm-8">
84   - <input id="billDetailId" name="billDetailId" th:field="*{billDetailId}" class="form-control" type="text">
85   - </div>
86   - </div>
87   - <div class="form-group">
88   - <label class="col-sm-3 control-label">批次:</label>
89   - <div class="col-sm-8">
90   - <input id="batch" name="batch" th:field="*{batch}" class="form-control" type="text">
91   - </div>
92   - </div>
93   - <div class="form-group">
94   - <label class="col-sm-3 control-label">批号:</label>
95   - <div class="col-sm-8">
96   - <input id="lot" name="lot" th:field="*{lot}" class="form-control" type="text">
97   - </div>
98   - </div>
99   - <div class="form-group">
100   - <label class="col-sm-3 control-label">项目号:</label>
101   - <div class="col-sm-8">
102   - <input id="project" name="project" th:field="*{project}" class="form-control" type="text">
103   - </div>
104   - </div>
105   - <div class="form-group">
106   - <label class="col-sm-3 control-label">生产日期:</label>
107   - <div class="col-sm-8">
108   - <input id="manufactureDate" name="manufactureDate" th:field="*{manufactureDate}" class="form-control" type="text">
109   - </div>
110   - </div>
111   - <div class="form-group">
112   - <label class="col-sm-3 control-label">失效日期:</label>
113   - <div class="col-sm-8">
114   - <input id="expirationDate" name="expirationDate" th:field="*{expirationDate}" class="form-control" type="text">
115   - </div>
116   - </div>
117   - <div class="form-group">
118   - <label class="col-sm-3 control-label">库存状态:</label>
119   - <div class="col-sm-8">
120   - <input id="status" name="status" th:field="*{status}" class="form-control" type="text">
121   - </div>
122   - </div>
123   - <div class="form-group">
124   - <label class="col-sm-3 control-label">数量:</label>
125   - <div class="col-sm-8">
126   - <input id="qty" name="qty" th:field="*{qty}" class="form-control" type="text">
127   - </div>
128   - </div>
129   - <div class="form-group">
130   - <label class="col-sm-3 control-label">执行预定数量:</label>
131   - <div class="col-sm-8">
132   - <input id="taskQty" name="taskQty" th:field="*{taskQty}" class="form-control" type="text">
133   - </div>
134   - </div>
135   - <div class="form-group">
136   - <label class="col-sm-3 control-label">成本:</label>
137   - <div class="col-sm-8">
138   - <input id="costPrice" name="costPrice" th:field="*{costPrice}" class="form-control" type="text">
139   - </div>
140   - </div>
141   - <div class="form-group">
142   - <label class="col-sm-3 control-label">标价:</label>
143   - <div class="col-sm-8">
144   - <input id="listPrice" name="listPrice" th:field="*{listPrice}" class="form-control" type="text">
145   - </div>
146   - </div>
147   - <div class="form-group">
148   - <label class="col-sm-3 control-label">净价:</label>
149   - <div class="col-sm-8">
150   - <input id="netPrice" name="netPrice" th:field="*{netPrice}" class="form-control" type="text">
151   - </div>
152   - </div>
153   - <div class="form-group">
154   - <label class="col-sm-3 control-label">创建时间(入库时间):</label>
155   - <div class="col-sm-8">
156   - <input id="created" name="created" th:field="*{created}" class="form-control" type="text">
157   - </div>
158   - </div>
159   - <div class="form-group">
160   - <label class="col-sm-3 control-label">创建用户:</label>
161   - <div class="col-sm-8">
162   - <input id="createdBy" name="createdBy" th:field="*{createdBy}" class="form-control" type="text">
163   - </div>
164   - </div>
165   - <div class="form-group">
166   - <label class="col-sm-3 control-label">最后修改时间:</label>
167   - <div class="col-sm-8">
168   - <input id="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" class="form-control" type="text">
169   - </div>
170   - </div>
171   - <div class="form-group">
172   - <label class="col-sm-3 control-label">更新用户:</label>
173   - <div class="col-sm-8">
174   - <input id="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" class="form-control" type="text">
175   - </div>
176   - </div>
177   - <div class="form-group">
178   - <label class="col-sm-3 control-label">自定义字段1:</label>
179   - <div class="col-sm-8">
180   - <input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text">
181   - </div>
182   - </div>
183   - <div class="form-group">
184   - <label class="col-sm-3 control-label">自定义字段2:</label>
185   - <div class="col-sm-8">
186   - <input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text">
187   - </div>
188   - </div>
189   - <div class="form-group">
190   - <label class="col-sm-3 control-label">自定义字段3:</label>
191   - <div class="col-sm-8">
192   - <input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text">
193   - </div>
194   - </div>
195   - <div class="form-group">
196   - <div class="form-control-static col-sm-offset-9">
197   - <button type="submit" class="btn btn-primary">提交</button>
198   - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
199   - </div>
200   - </div>
201   - </form>
202   - </div>
203   - <div th:include="include::footer"></div>
204   - <script type="text/javascript">
205   - var prefix = ctx + "inventory/inventoryTransaction"
206   - $("#form-inventoryTransaction-edit").validate({
207   - rules:{
208   - xxxx:{
209   - required:true,
210   - },
211   - },
212   - submitHandler: function(form) {
213   - $.operate.save(prefix + "/edit", $('#form-inventoryTransaction-edit').serialize());
214   - }
215   - });
216   - </script>
217   -</body>
218   -</html>
src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
... ... @@ -53,22 +53,12 @@
53 53 </li>
54 54 <li>
55 55 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
56   - <!--<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>-->
  56 + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
57 57 </li>
58 58 </ul>
59 59 </div>
60 60 </form>
61 61 </div>
62   - <!--
63   - <div class="btn-group hidden-xs" id="toolbar" role="group">
64   - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventory:inventoryTransaction:add">
65   - <i class="fa fa-plus"></i> 新增
66   - </a>
67   - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="inventory:inventoryTransaction:remove">
68   - <i class="fa fa-trash-o"></i> 删除
69   - </a>
70   - </div>
71   - -->
72 62 <div class="col-sm-12 select-info">
73 63 <div class="btn-group hidden-xs" id="toolbar" role="group">
74 64 <a class="btn btn-outline btn-success btn-rounded" onclick="report()">
... ... @@ -81,7 +71,7 @@
81 71 </div>
82 72 <div th:include="include :: footer"></div>
83 73 <script th:inline="javascript">
84   - var editFlag = [[${@permission.hasPermi('inventory:inventoryTransaction:edit')}]];
  74 + var editFlag = [[${@permission.hasPermi('inventoryHeader:inventoryTransaction:edit')}]];
85 75 var prefix = ctx + "inventory/inventoryTransaction";
86 76 var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
87 77 var inventoryTransactionType = [[${@dict.getType('inventoryTransactionType')}]];
... ...
src/main/resources/templates/shipment/shippingCombination/combination.html
... ... @@ -47,7 +47,7 @@
47 47 </li>
48 48 <li>
49 49 <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
50   - <!--<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>-->
  50 + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
51 51 </li>
52 52  
53 53 <!--<li>-->
... ...
src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
... ... @@ -55,6 +55,10 @@
55 55 <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
56 56 </div>
57 57 <div class="col-sm-12 select-info table-striped-right">
  58 + <ul class="select-list">
  59 + <li style="display: none">id:<input type="text" id="detailId" /></li>
  60 + <li>出货数量:<input type="text" id="receiveNum" /></li>
  61 + </ul>
58 62 <table id="bootstrap-table1" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
59 63 </div>
60 64 </div>
... ... @@ -64,52 +68,35 @@
64 68 var addFlag = [[${@permission.hasPermi('shipment:shippingCombination:combination')}]];
65 69 var cancelFlag = [[${@permission.hasPermi('shipment:shippingCombination:remove')}]];
66 70 var taskTypeReal=[[${@dict.getType('taskType')}]];
67   - var containerHeaderStatus = [[${@dict.getType('shipmentContainerHeaderStatus')}]]
68   - var inventoryStatus = [[${@dict.getType('inventoryStatus')}]]
  71 + var containerHeaderStatus = [[${@dict.getType('shipmentContainerHeaderStatus')}]];
  72 + var inventoryStatus = [[${@dict.getType('inventoryStatus')}]];
69 73  
70 74 var prefix = ctx + "shipment/shippingCombination";
71 75  
72 76 var list_select=function(code) {
73 77 $("#bootstrap-table1").bootstrapTable('removeAll');
74 78 $("#bootstrap-table").bootstrapTable('removeAll');
75   - let ids=null;
76   - let id=localStorage.getItem('shipids');
77   - if(id){
78   - ids=id;
79   - }
80   - // console.log(code);
81 79 $.ajax({
82   - url: prefix + "/listShipmentDetail?code="+code+"&ids="+ids,
  80 + url: prefix + "/listShipmentDetail?code="+code,
83 81 type: 'get',
84   - // datatype: 'json',
85   - // data: {
86   - // code: code
87   - // },
88 82 success: function (value) {
89   - // $("#bootstrap-table").bootstrapTable('load', value.data);
90   - // console.log(value);
91   - // $("#bootstrap-table1").bootstrapTable('removeAll');
92   - // $("#bootstrap-table").bootstrapTable('removeAll');
93   - var qty_shipment=0;
94   - var qtyCompleted_shipment=0;
95   -
96   - for (var i=0;i<value.data.length;i++){
97   - if(value.data[i].qty>value.data[i].qtyCompleted){
  83 + let qty_shipment=0;
  84 + let qtyCompleted_shipment=0;
  85 + for (let i=0;i<value.data.length;i++){
  86 + if(value.data[i].shipQty>value.data[i].requestQty){
98 87 $("#bootstrap-table").bootstrapTable('insertRow',{index:0,row:{id:value.data[i].id,
99   - project:value.data[i].project,
100   - //name:value.data[i].name,
101   - receiptId:value.data[i].receiptId,
102   - receiptCode:value.data[i].receiptCode,
  88 + shipmentId:value.data[i].shipmentId,
  89 + shipmentCode:value.data[i].shipmentCode,
103 90 materialCode:value.data[i].materialCode,
104 91 materialName:value.data[i].materialName,
105   - specification:value.data[i].specification,
106   - qty:value.data[i].qty,
107   - qtyCompleted:value.data[i].qtyCompleted,
108   - inventoryStatus:value.data[i].inventoryStatus,
109   - unit:value.data[i].unit}});
  92 + materialSpec:value.data[i].materialSpec,
  93 + shipQty:value.data[i].shipQty,
  94 + requestQty:value.data[i].requestQty,
  95 + inventorySts:value.data[i].inventorySts,
  96 + materialUnit:value.data[i].materialUnit}});
110 97 }
111   - qty_shipment = qty_shipment + value.data[i].qty;
112   - qtyCompleted_shipment = qtyCompleted_shipment + value.data[i].qtyCompleted;
  98 + qty_shipment = qty_shipment + value.data[i].shipQty;
  99 + qtyCompleted_shipment = qtyCompleted_shipment + value.data[i].requestQty;
113 100  
114 101 }
115 102 $("#shipment_length").text(value.data.length);
... ... @@ -117,44 +104,10 @@
117 104 $("#qtyCompleted_length").text(qtyCompleted_shipment);
118 105 }
119 106 });
120   - $.ajax({
121   - url: prefix + "/listCombinationDetail?code="+code,
122   - type: 'get',
123   - // datatype: 'json',
124   - // data: {
125   - // code: code
126   - // },
127   - success: function (value) {
128   - $("#bootstrap-table1").bootstrapTable('load', value.data);
129   - // for (var i=0;i<value.data.length;i++){
130   - //
131   - // $("#bootstrap-table1").bootstrapTable('insertRow',{index:0,
132   - // row:{
133   - // id:value.data[i].id,
134   - // headId:value.data[i].headId,
135   - // containerCode:value.data[i].containerCode,
136   - // locationCode:value.data[i].locationCode,
137   - // status:value.data[i].status,
138   - // materialName:value.data[i].materialName,
139   - // shipmentCode:value.data[i].shipmentCode,
140   - // taskType:value.data[i].taskType,
141   - // shipmentDetailId:value.data[i].shipmentDetailId,
142   - // materialCode:value.data[i].materialCode,
143   - // qty:value.data[i].qty,
144   - // userName:value.data[i].userName
145   - // }});
146   - // }
147   - }
148   - })
149   - localStorage.removeItem('shipids');
150 107 };
151 108  
152 109  
153 110 $("#bootstrap-table").bootstrapTable({
154   - // url: prefix + "/list",
155   - createUrl: prefix + "/add",
156   - updateUrl: prefix + "/edit/{id}",
157   - removeUrl: prefix + "/remove",
158 111 contentType: "application/x-www-form-urlencoded",
159 112 // search: true, //搜索
160 113 // showRefresh: true,//刷新
... ... @@ -164,25 +117,29 @@
164 117 // detailView:true,
165 118 // showExport: true, //导出
166 119 // exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据
167   - modalName: "库组盘头",
  120 + modalName: "库组盘头",
168 121 // sidePagination: "server",
169 122 pagination: true, // 是否显示分页(*)
170 123 pageNumber: 1, // 初始化加载第一页,默认第一页
171   - pageSize: 10, // 每页的记录行数(*)
172   - pageList: [10, 25, 50],
173   - columns: [
174   - {
175   - field:'work',
176   - title: '操作',
177   - align: 'center',
178   - events: "operateEvents",
179   - formatter: function(value, row, index) {
180   - var actions = [];
181   - actions.push('<a id="qty" class="btn btn-success btn-xs ' + addFlag + '" href="#" onclick="" ><i class="fa fa-edit"></i>组盘</a>');
182   - // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
183   - return actions.join('');
  124 + pageSize: 50, // 每页的记录行数(*)
  125 + pageList: [10, 25, 50,100],
  126 + onClickRow:function(row,ele,field){
  127 + let code=$("#code").val();
  128 + $("#detailId").val(row.id);
  129 + $("#receiveNum").val(row.shipQty-row.requestQty);
  130 + $.ajax({
  131 + url:prefix+'/getInventory',
  132 + type:'post',
  133 + data:{
  134 + code:code,
  135 + id:row.id
  136 + },
  137 + success:res=>{
  138 + $("#bootstrap-table1").bootstrapTable('load',res.data)
184 139 }
185   - },
  140 + })
  141 + },
  142 + columns: [
186 143 {
187 144 field : 'id',
188 145 title : '明细id'
... ... @@ -196,155 +153,122 @@
196 153 title:"物料名称"
197 154 },
198 155 {
199   - field:'specification',
  156 + field:'materialSpec',
200 157 title:"物料规格"
201 158 },
202 159 {
203   - field : 'qty',
  160 + field : 'shipQty',
204 161 title : '单据数量'
205 162 },
206 163 {
207   - field : 'qtyCompleted',
  164 + field : 'requestQty',
208 165 title : '已出数量'
209 166 },
210 167 {
211   - field : 'inventoryStatus',
  168 + field : 'inventorySts',
212 169 title : '库存状态',
213 170 formatter: function(value, row, index) {
214 171 return $.table.selectDictLabel(inventoryStatus, value);
215 172 },
216 173 },
217 174 {
218   - field : 'project',
219   - title : '项目号'
220   - },
221   -
222   - {
223   - field : 'unit',
  175 + field : 'materialUnit',
224 176 title : '单位'
225 177 },
226 178 ]
227 179 });
228 180  
229 181 $("#bootstrap-table1").bootstrapTable({
230   - // url: prefix + "/list",
231   - createUrl: prefix + "/add",
232   - updateUrl: prefix + "/edit/{id}",
233   - removeUrl: prefix + "/remove",
234   - // search: true, //搜索
235   - showRefresh: true, //刷新
236   - showToggle:true, //视图切换
237 182 clickToSelect: true,
238 183 showColumns:true, //列选择
239   - // detailView:true,
240   - showExport: true, //导出
241   - exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据
242   - modalName: "入库组盘头",
  184 + modalName: "库存",
243 185 iconSize: "outline",
244 186 toolbar: "#toolbar",
245 187 contentType: "application/x-www-form-urlencoded",
246   - // sidePagination: "server",
247 188 pagination: true, // 是否显示分页(*)
248 189 pageNumber: 1, // 初始化加载第一页,默认第一页
249 190 pageSize: 10, // 每页的记录行数(*)
250 191 pageList: [10, 25, 50],
251   - onRefresh: function(){
252   - list_select($("#code").val());
253   - },
254 192 columns: [
255 193 {
256   - field : 'id',
257   - title : '组盘明细id',
258   - visible:false
  194 + title: '操作',
  195 + align: 'center',
  196 + events:'operateEvents',
  197 + formatter: function(value, row, index) {
  198 + let actions = [];
  199 + actions.push('<a id="cancel" class="btn btn-success btn-xs" style="background-color: #ac2925" href="#" onclick="Combination(\'' + row.id + '\')"><i class="fa fa-edit"></i>组盘</a> ');
  200 + return actions.join('');
  201 + }
259 202 },
260 203 {
261   - field : 'headId',
262   - title : '组盘头id'
  204 + field : 'id',
  205 + title : 'id'
263 206 },
264 207 {
265   - field : 'containerCode',
266   - title : '容器编号'
  208 + field : 'companyCode',
  209 + title : '货主'
267 210 },
268 211 {
269 212 field : 'locationCode',
270 213 title : '库位编号'
271 214 },
272   - // {
273   - // field : 'shipmentCode',
274   - // title : '出库单号'
275   - // },
276   - {
277   - field : 'materialCode',
278   - title : '存货编码'
279   - },
280 215 {
281   - field:"materialName",
282   - title:"物料名称"
283   - },
284   - {
285   - field : 'taskTypeReal',
286   - title : '预期任务类型',
287   - formatter: function(value, row, index) {
288   - return $.table.selectDictLabel(taskTypeReal, value);
289   - },
  216 + field : 'containerCode',
  217 + title : '容器编号'
290 218 },
291 219 {
292 220 field : 'qty',
293   - title : '配盘数量'
  221 + title : '数量'
294 222 },
295 223 {
296   - field : 'status',
297   - title : '状态',
298   - formatter: function(value, row, index) {
299   - return $.table.selectDictLabel(containerHeaderStatus, value);
300   - },
  224 + field : 'materialCode',
  225 + title : '存货编码'
301 226 },
302 227 {
303   - field : 'project',
304   - title : '项目号'
  228 + field : 'materialName',
  229 + title : '物料名称'
305 230 },
306 231 {
307   - field : 'shipmentDetailId',
308   - title : '出库单明细id'
  232 + field : 'materialSpec',
  233 + title : '物料规格'
309 234 },
310 235 {
311   - field : 'userName',
312   - title : '操作人'
  236 + field : 'supplierCode',
  237 + title : '供应商编码',
  238 + visible:false
313 239 },
314 240 {
315   - title: '操作',
  241 + field : 'inventorySts',
  242 + title : '库存状态' ,
316 243 align: 'center',
317   - events:'operateEvents',
318 244 formatter: function(value, row, index) {
319   - var actions = [];
320   - if (row.status == 0) {
321   - actions.push('<a id="cancel" class="btn btn-danger btn-xs ' + cancelFlag + '" href="#" onclick="cancelCombination(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消</a> ');
322   - }
323   - return actions.join('');
  245 + return $.table.selectDictLabel(inventoryStatus, value);
324 246 }
325   - }
  247 + },
326 248 ]
327 249 });
328 250  
329   - window.operateEvents = {
330   - 'click #qty': function (e, value, row, index) {
331   - var url = prefix + '/combination?';
332   - jQuery.each(row, function(key, val) {
333   - url = url + key + "=" + encodeURI(val) + "&";
334   - });
335   - open("添加出库组盘", url);
336   - }
337   - };
338   -
339   - function cancelCombination(id) {
340   - $.modal.confirm("确定删除该组盘?", function() {
341   - var url = prefix + "/cancelCombination";
342   - var type = "post";
343   - var dataType = "json";
344   - var data = JSON.stringify([id]);
345   - var contentType="application/json";
346   - submit(url,type,dataType, data,contentType);
347   - });
  251 + function Combination(id) {
  252 + let num=$("#receiveNum").val();
  253 + let shipmentDetailId=$("#detailId").val();
  254 + $.ajax({
  255 + url:ctx + "shipment/shippingCombination/Addcombination",
  256 + type:'post',
  257 + data:{
  258 + shipmentDetailId:shipmentDetailId,
  259 + inventoryId:id,
  260 + shipQty:num,
  261 + },
  262 + success:function (response) {
  263 + if(response.code===200){
  264 + $.modal.msgSuccess('成功');
  265 + $("#list-btn").click();
  266 + }
  267 + else {
  268 + $.modal.msg(response.msg)
  269 + }
  270 + }
  271 + })
348 272 }
349 273  
350 274 function submit(url, type, dataType, data,content) {
... ... @@ -368,46 +292,15 @@
368 292 $.ajax(config)
369 293 }
370 294  
371   - function open(title, url, width, height){
372   - if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {
373   - width = 'auto';
374   - height = 'auto';
375   - }
376   - if (title==null){
377   - title = false;
378   - }
379   - if (url==null){
380   - url="404.html";
381   - }
382   - if ($.common.isEmpty(width)) {
383   - width = 800;
384   - // width = ($(window).width() - 100);
385   - }
386   - if ($.common.isEmpty(height)) {
387   - height = ($(window).height() - 50);
388   - }
389   - layer.open({
390   - type: 2,
391   - area: [width + 'px', height + 'px'],
392   - fix: false,
393   - //不固定
394   - maxmin: true,
395   - shade: 0.3,
396   - title: title,
397   - content: url
398   - // shadeClose: true, //点击遮罩关闭层
399   - })
400   - }
401   -
402 295 function initPage() {
403   - var auto = localStorage.getItem("auto");
404   - var shipmentCode = localStorage.getItem("shipmentCode");
  296 + let auto = localStorage.getItem("auto");
  297 + let shipmentCode = localStorage.getItem("shipmentCode");
405 298 $("#code").val(shipmentCode);
406 299 if (auto == "true") {
407   - var url = prefix + "/autoCombination";
408   - var type = "post";
409   - var dataType = "json";
410   - var data = {"shipmentCode" : shipmentCode};
  300 + let url = prefix + "/autoCombination";
  301 + let type = "post";
  302 + let dataType = "json";
  303 + let data = {"shipmentCode" : shipmentCode};
411 304 submit(url,type,dataType, data);
412 305 }
413 306 else{
... ... @@ -421,7 +314,7 @@
421 314  
422 315 $("#list-btn").click(function () {
423 316 list_select($("#code").val());
424   - })
  317 + });
425 318  
426 319 initPage();
427 320 });
... ...
src/test/java/com.huaheng.test/CreateCode.java
... ... @@ -1155,12 +1155,12 @@ public class CreateCode {
1155 1155 packages.put("container","com.huaheng.pc.general.container.Container");
1156 1156 packages.put("container_type","com.huaheng.pc.config.containerType.ContainerType");
1157 1157 packages.put("customer","com.huaheng.pc.general.customer.Customer");
1158   - packages.put("cyclecount_adjust","com.huaheng.pc.inventory.cyclecountAdjust.CyclecountAdjust");
1159   - packages.put("cyclecount_adjustdetail","com.huaheng.pc.inventory.cyclecountAdjustDetail.CyclecountAdjustDetail");
1160   - packages.put("cyclecount_detail","com.huaheng.pc.inventory.cyclecountDetail.CyclecountDetail");
1161   - packages.put("cyclecount_header","com.huaheng.pc.inventory.cyclecountHeader.CyclecountHeader");
1162   - packages.put("inventory","com.huaheng.pc.inventory.inventory.Inventory");
1163   - packages.put("inventory_transaction","com.huaheng.pc.inventory.inventoryTransaction.InventoryTransaction");
  1158 + packages.put("cyclecount_adjust","com.huaheng.pc.inventoryHeader.cyclecountAdjust.CyclecountAdjust");
  1159 + packages.put("cyclecount_adjustdetail","com.huaheng.pc.inventoryHeader.cyclecountAdjustDetail.CyclecountAdjustDetail");
  1160 + packages.put("cyclecount_detail","com.huaheng.pc.inventoryHeader.cyclecountDetail.CyclecountDetail");
  1161 + packages.put("cyclecount_header","com.huaheng.pc.inventoryHeader.cyclecountHeader.CyclecountHeader");
  1162 + packages.put("inventory","com.huaheng.pc.inventoryHeader.inventoryHeader.Inventory");
  1163 + packages.put("inventory_transaction","com.huaheng.pc.inventoryHeader.inventoryTransaction.InventoryTransaction");
1164 1164 packages.put("location","com.huaheng.pc.general.location.Location");
1165 1165 packages.put("location_type","com.huaheng.pc.config.locationType.LocationType");
1166 1166 packages.put("material","com.huaheng.pc.general.material.Material");
... ...