Commit c1154eaf86a302861ce6765620420d9019ae733a

Authored by xqs
2 parents 14c892f1 532cf712

Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop

Showing 19 changed files with 166 additions and 505 deletions
src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
... ... @@ -131,16 +131,10 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
131 131 @Override
132 132 public List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail, String sqll, ShipmentPreference shipmentPreference) {
133 133 if(shipmentPreference.getAllowQcCheckResult() == false) {
134   - sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" +
135   - "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" +
136   - "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" +
137   - "and inventorySts='" + shipmentDetail.getInventorySts() + "'\n"+ sqll;
  134 + sql = sql +"'" + shipmentDetail.getId() + "' \n"+ sqll;
138 135 }else {
139   - sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" +
140   - "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" +
141   - "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" +
142   - "and inventorySts='" + shipmentDetail.getInventorySts() + "'\n"+
143   - "and qcCheck=1\n"+ sqll;
  136 + sql = sql +"'" + shipmentDetail.getId() + "' \n"+
  137 + "and i.qcCheck=1\n"+ sqll;
144 138 }
145 139 return inventoryDetailMapper.selectBysql(sql);
146 140 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
... ... @@ -9,6 +9,8 @@ import com.huaheng.common.utils.security.ShiroUtils;
9 9 import com.huaheng.framework.web.domain.AjaxResult;
10 10 import com.huaheng.pc.check.checkHeader.domain.CheckHeader;
11 11 import com.huaheng.pc.check.checkHeader.service.CheckHeaderService;
  12 +import com.huaheng.pc.config.configValue.domain.ConfigValue;
  13 +import com.huaheng.pc.config.configValue.service.ConfigValueService;
12 14 import com.huaheng.pc.config.material.domain.Material;
13 15 import com.huaheng.pc.config.material.service.MaterialService;
14 16 import com.huaheng.pc.config.materialType.domain.MaterialType;
... ... @@ -21,6 +23,7 @@ import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
21 23 import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
22 24 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
23 25 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
  26 +import com.huaheng.pc.system.config.domain.Config;
24 27 import com.huaheng.pc.system.dict.domain.DictData;
25 28 import com.huaheng.pc.system.dict.service.IDictDataService;
26 29 import org.aspectj.weaver.loadtime.Aj;
... ... @@ -52,6 +55,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
52 55 private IDictDataService dictDataService;
53 56 @Resource
54 57 private CheckHeaderService checkHeaderService;
  58 + @Resource
  59 + private ConfigValueService configValueService;
55 60  
56 61 /**
57 62 * 新增入库明细
... ... @@ -233,9 +238,14 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
233 238 }
234 239 return receiptDetail;
235 240 } else {
  241 + //查询系统参数配置中绑定的入库首选项A
  242 + LambdaQueryWrapper<ConfigValue> lambdaQueryWrapper = Wrappers.lambdaQuery();
  243 + lambdaQueryWrapper.eq(ConfigValue::getModuleType, "receipt");
  244 + ConfigValue configValue = configValueService.getOne(lambdaQueryWrapper);
  245 +
236 246 //以上都没有的情况下查询入库首选项中的入库流程
237 247 LambdaQueryWrapper<ReceiptPreference> lambda = Wrappers.lambdaQuery();
238   - lambda.last("Limit 1");
  248 + lambda.eq(ReceiptPreference::getCode, configValue.getValue());
239 249 ReceiptPreference receiptPreference = receiptPreferenceService.getOne(lambda);
240 250 List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptPreference.getReceivingFlow());
241 251 String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp());
... ...
src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
... ... @@ -161,7 +161,7 @@ public class ReceiptHeaderController extends BaseController {
161 161 * 审核入库单
162 162 */
163 163 @ApiOperation(value="审核入库单", notes="审核入库单", httpMethod = "POST")
164   - @RequiresPermissions("receipt:receiptHeader:approval")
  164 + @RequiresPermissions("receipt:receiptHeader:review")
165 165 @Log(title = "入库-入库单 ",operating = "审核入库单 ", action = BusinessType.UPDATE)
166 166 @PostMapping("/approval")
167 167 @ResponseBody
... ... @@ -303,4 +303,19 @@ public class ReceiptHeaderController extends BaseController {
303 303 }
304 304 return AjaxResult.success(receiptHeaderService.arrivalNotice(id));
305 305 }
  306 +
  307 + /**
  308 + * 加入订单池
  309 + */
  310 + @ApiOperation(value="加入订单池 ", notes="加入订单池 ", httpMethod = "POST")
  311 + @RequiresPermissions("receipt:receiptHeader:addPool")
  312 + @Log(title = "入库-入库单 ",operating = "加入订单池 ", action = BusinessType.OTHER)
  313 + @PostMapping("/addPool")
  314 + @ResponseBody
  315 + public AjaxResult addPool(String ids) {
  316 + if (StringUtils.isEmpty(ids)){
  317 + return AjaxResult.error("id不能为空");
  318 + }
  319 + return AjaxResult.success(receiptHeaderService.addPool(ids));
  320 + }
306 321 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
... ... @@ -28,6 +28,7 @@ import org.springframework.stereotype.Service;
28 28 import javax.annotation.Resource;
29 29 import java.lang.ref.WeakReference;
30 30 import java.text.SimpleDateFormat;
  31 +import java.util.Arrays;
31 32 import java.util.Date;
32 33 import java.util.List;
33 34  
... ... @@ -253,4 +254,34 @@ public class ReceiptHeaderService extends ServiceImpl&lt;ReceiptHeaderMapper, Recei
253 254 }
254 255 return AjaxResult.success("");
255 256 }
  257 +
  258 + /**
  259 + * 加入订单池
  260 + * @param ids 头表id字符串
  261 + * @return
  262 + */
  263 + public AjaxResult addPool(String ids){
  264 + List<Integer> idList = Arrays.asList(Convert.toIntArray(ids));
  265 + for (Integer id : idList){
  266 + LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
  267 + lambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id);
  268 + List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper);
  269 + if (list.size() != 0){
  270 + for (ReceiptDetail receiptDetail : list){
  271 + if (Integer.parseInt(receiptDetail.getProcessStamp()) < 100){
  272 + receiptDetail.setProcessStamp("100");
  273 + ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail);
  274 + if (!receiptDetailService.updateById(receiptDetail1)){
  275 + throw new ServiceException("更新入库明细状态失败");
  276 + }
  277 + } else {
  278 + throw new ServiceException("已有入库明细进入订单池");
  279 + }
  280 + }
  281 + }
  282 + //更新头表状态
  283 + receiptDetailService.updateReceiptHeaderLastStatus(id);
  284 + }
  285 + return AjaxResult.success("");
  286 + }
256 287 }
... ...
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
... ... @@ -481,6 +481,11 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
481 481 if (shipmentDetailList.size() < 1 || shipmentDetailList == null) {
482 482 return AjaxResult.error("找不到子单链");
483 483 }
  484 + for(ShipmentDetail shipmentDetail: shipmentDetailList){
  485 + if(shipmentDetail.getWaveId() != 0){
  486 + return AjaxResult.error(shipmentCode+"单号已加入波次"+shipmentDetail.getWaveId()+",无法自动组盘");
  487 + }
  488 + }
484 489 return this.autoCombination(shipmentDetailList);
485 490 }
486 491  
... ...
src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
... ... @@ -4,6 +4,7 @@ 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;
7 8 import com.huaheng.common.utils.StringUtils;
8 9 import com.huaheng.common.utils.security.ShiroUtils;
9 10 import com.huaheng.framework.aspectj.lang.annotation.Log;
... ... @@ -144,6 +145,9 @@ public class ShipmentDetailController extends BaseController
144 145 @ResponseBody
145 146 public AjaxResult editSave(ShipmentDetail shipmentDetail)
146 147 {
  148 + if(shipmentDetail.getStatus()>100 ){
  149 + return AjaxResult.error("超过订单池,出库明细不能修改");
  150 + }
147 151 if(shipmentDetailService.saveOrUpdate(shipmentDetail)==false){
148 152 return AjaxResult.error("出库明细修改失败");
149 153 }else {
... ... @@ -160,6 +164,18 @@ public class ShipmentDetailController extends BaseController
160 164 @ResponseBody
161 165 public AjaxResult remove(String ids)
162 166 {
  167 + if (StringUtils.isEmpty(ids))
  168 + return AjaxResult.error("id不能为空");
  169 + for (Integer id : Convert.toIntArray(ids))
  170 + {
  171 + ShipmentDetail shipmentDetail=shipmentDetailService.getById(id);
  172 + if(shipmentDetail == null){
  173 + return AjaxResult.error("id为"+id+"的单据明细找不到");
  174 + }
  175 + if(shipmentDetail.getStatus()>100 && shipmentDetail.getStatus()<500){
  176 + return AjaxResult.error("此单据状态在订单池和拣货完成之间,无法删除");
  177 + }
  178 + }
163 179 AjaxResult result = shipmentDetailService.deleteDetail(ids);
164 180 return result;
165 181 }
... ...
src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
... ... @@ -133,7 +133,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl&lt;ShipmentDetailMapper,
133 133 if (list.size() > 1) {
134 134 return AjaxResult.error("有多个主单据,不能一起删除!");
135 135 }
136   - if (list.get(0).get("firstStatus") > 100) {
  136 + if (list.get(0).get("status") > 100) {
137 137 return AjaxResult.error("单据状进入订单池,不允许删除明细");
138 138 }
139 139 Integer result = shipmentDetailMapper.batchDelete(ids);
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
... ... @@ -168,6 +168,12 @@ public class ShipmentHeaderController extends BaseController
168 168 for (Integer id : Convert.toIntArray(ids))
169 169 {
170 170 ShipmentHeader shipmentHeader=shipmentHeaderService.getById(id);
  171 + if(shipmentHeader == null){
  172 + return AjaxResult.error("id为"+id+"的主单单据找不到");
  173 + }
  174 + if(shipmentHeader.getFirstStatus()>100 && shipmentHeader.getFirstStatus()<500){
  175 + return AjaxResult.error("此单据状态在订单池和拣货完成之间,无法删除");
  176 + }
171 177  
172 178 //出库单设定为历史出库单,并删除出库单
173 179 shipmentHeaderService.addHistory(shipmentHeader);
... ...
src/main/java/com/huaheng/pc/system/user/controller/IndexController.java
... ... @@ -167,7 +167,7 @@ public class IndexController extends BaseController
167 167 " union all\n" +
168 168 " SELECT date_sub(curdate(), interval 6 day) as click_date\n" +
169 169 ") a left join (\n" +
170   - "SELECT DATE(h.created) AS created , SUM(d.qty) AS taskQty from receipt_container_detail d join receipt_container_header h on d.receiptContainerId = h.id and h.warehouseCode='"+ShiroUtils.getWarehouseCode()+"' WHERE h.created >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND h.processStamp=20 GROUP BY DATE(h.created)\n" +
  170 + "SELECT DATE(h.created) AS created , SUM(d.qty) AS taskQty from receipt_container_detail d join receipt_container_header h on d.receiptContainerId = h.id and h.warehouseCode='"+ShiroUtils.getWarehouseCode()+"' WHERE h.created >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND d.status=30 GROUP BY DATE(h.created)\n" +
171 171 ") b on a.click_date = b.created ORDER BY a.click_date;";
172 172 List<LinkedHashMap<String, Object>> list2 = mapper.selectCommon(sql);
173 173  
... ...
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... ... @@ -1287,9 +1287,21 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1287 1287 }
1288 1288 locationService.updateById(locationRecord);
1289 1289 //如果是整出,删掉这个库位上的这个托盘,否则更改托盘状态
1290   - Container containerRecord = new Container();
  1290 + LambdaQueryWrapper<Container> containerLam = Wrappers.lambdaQuery();
  1291 + containerLam.eq(Container::getCode,task.getContainerCode());
  1292 + Container ctn = containerService.getOne(containerLam);
  1293 + if(ctn == null){
  1294 + throw new ServiceException("系统无此容器");
  1295 + }
1291 1296 if(task.getTaskType()==300) {
1292   - containerService.updateLocationCodeAndStatus(task.getContainerCode(),"","empty");
  1297 + if(ctn.getContainerType().equals("LS")){
  1298 + Boolean flag = containerService.removeById(ctn.getId());
  1299 + if(flag == false){
  1300 + throw new ServiceException("删除临时容器失败");
  1301 + }
  1302 + }else {
  1303 + containerService.updateLocationCodeAndStatus(task.getContainerCode(), "", "empty");
  1304 + }
1293 1305 }
1294 1306 else{
1295 1307 //查询是否存在关联的库存,入如果没有就修改容器状态为empty
... ...
src/main/resources/templates/config/configValue/edit.html
... ... @@ -64,7 +64,7 @@
64 64 </div>
65 65 <div th:include="include::footer"></div>
66 66 <script type="text/javascript">
67   - var prefix = ctx + "config/configvalue";
  67 + var prefix = ctx + "config/configValue";
68 68 $("#form-configValue-edit").validate({
69 69 rules:{
70 70 moduleType:{
... ...
src/main/resources/templates/config/receiptPreference/add.html
... ... @@ -20,7 +20,7 @@
20 20 <div class="form-group">
21 21 <label class="col-sm-3 control-label">入库流程:</label>
22 22 <div class="col-sm-8">
23   - <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}">
  23 + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}">
24 24 <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option>
25 25 </select>
26 26 </div>
... ...
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... ... @@ -82,12 +82,15 @@
82 82 <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="receipt:receiptHeader:add">
83 83 <i class="fa fa-plus"></i> 新增
84 84 </a>
85   - <a class="btn btn-outline btn-default btn-rounded" onclick="submitReview()" shiro:hasPermission="receipt:receiptHeader:add">
  85 + <a class="btn btn-outline btn-default btn-rounded" onclick="submitReview()" shiro:hasPermission="receipt:receiptHeader:approval">
86 86 <i class="fa fa-fighter-jet"></i> 提交审核
87 87 </a>
88   - <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:add">
  88 + <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:review">
89 89 <i class="fa fa-level-up"></i> 审核通过
90 90 </a>
  91 + <a class="btn btn-outline btn-primary btn-rounded" onclick="addPool()" shiro:hasPermission="receipt:receiptHeader:addPool">
  92 + <i class="fa fa-check-circle"></i> 加入订单池
  93 + </a>
91 94 <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="receipt:receiptHeader:remove">
92 95 <i class="fa fa-trash-o"></i> 删除
93 96 </a>
... ... @@ -828,6 +831,21 @@
828 831 var data = { "id": id };
829 832 $.operate.submit(url, "post", "json", data);
830 833 }
  834 +
  835 + function addPool() {
  836 + var rows=$("#bootstrap-table").bootstrapTable('getSelections');
  837 + if (rows.length == 0) {
  838 + $.modal.alertWarning("请至少选择一条记录");
  839 + return;
  840 + }
  841 + var url = prefix+"/addPool";
  842 + var ids = "";
  843 + for(var i=0; i<rows.length; i++) {
  844 + ids = ids + rows[i].id + ","
  845 + }
  846 + var data = { "ids": ids.substring(0, ids.length-1),"approval": 100 };
  847 + $.operate.submit(url, "post", "json", data);
  848 + }
831 849 </script>
832 850 </body>
833 851 </html>
834 852 \ No newline at end of file
... ...
src/main/resources/templates/shipment/shipmentDetail/add.html
... ... @@ -19,12 +19,6 @@
19 19 <input id="shipmentCode" name="shipmentCode" class="form-control" type="text" th:value="${shipmentCode}" readonly="readonly">
20 20 </div>
21 21 </div>
22   - <div class="form-group">
23   - <label class="col-sm-3 control-label">上游系统行号:</label>
24   - <div class="col-sm-8">
25   - <input id="referLineNum" name="referLineNum" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')">
26   - </div>
27   - </div>
28 22 <div class="form-group">
29 23 <label class="col-sm-3 control-label">存货编码:</label>
30 24 <div class="col-sm-8">
... ... @@ -32,6 +26,44 @@
32 26 </div>
33 27 </div>
34 28 <div class="form-group">
  29 + <label class="col-sm-3 control-label">库存状态:</label>
  30 + <div class="col-sm-8">
  31 + <select id="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventorySts')}">
  32 + <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option>
  33 + </select>
  34 + </div>
  35 + </div>
  36 + <div class="form-group">
  37 + <label class="col-sm-3 control-label">发货数量:</label>
  38 + <div class="col-sm-8">
  39 + <input id="shipQty" name="shipQty" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')">
  40 + </div>
  41 + </div>
  42 + <div class="form-group">
  43 + <label class="col-sm-3 control-label">批次:</label>
  44 + <div class="col-sm-8">
  45 + <input id="batch" name="batch" class="form-control" type="text">
  46 + </div>
  47 + </div>
  48 + <div class="form-group">
  49 + <label class="col-sm-3 control-label">批号:</label>
  50 + <div class="col-sm-8">
  51 + <input id="lot" name="lot" class="form-control" type="text">
  52 + </div>
  53 + </div>
  54 + <div class="form-group">
  55 + <label class="col-sm-3 control-label">项目号:</label>
  56 + <div class="col-sm-8">
  57 + <input id="projectNo" name="project" class="form-control" type="text">
  58 + </div>
  59 + </div>
  60 + <div class="form-group">
  61 + <label class="col-sm-3 control-label">上游系统行号:</label>
  62 + <div class="col-sm-8">
  63 + <input id="referLineNum" name="referLineNum" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')">
  64 + </div>
  65 + </div>
  66 + <div class="form-group">
35 67 <label class="col-sm-3 control-label">分配规则:</label>
36 68 <div class="col-sm-8">
37 69 <select id="allocationRule" class="form-control" th:with="allocationRule=${@FilterConfigDetailService.queryFilterConfigDetail('出库')}">
... ... @@ -59,23 +91,6 @@
59 91 </div>
60 92 </div>
61 93 <div class="form-group">
62   - <label class="col-sm-3 control-label">批次:</label>
63   - <div class="col-sm-8">
64   - <input id="batch" name="batch" class="form-control" type="text">
65   - </div>
66   - </div>
67   - <div class="form-group">
68   - <label class="col-sm-3 control-label">批号:</label>
69   - <div class="col-sm-8">
70   - <input id="lot" name="lot" class="form-control" type="text">
71   - </div>
72   - </div>
73   - <div class="form-group">
74   - <label class="col-sm-3 control-label">项目号:</label>
75   - <div class="col-sm-8">
76   - <input id="projectNo" name="project" class="form-control" type="text">
77   - </div>
78   - </div>
79 94 <div class="form-group">
80 95 <label class="col-sm-3 control-label">生产日期:</label>
81 96 <div class="col-sm-8">
... ... @@ -88,20 +103,6 @@
88 103 <input id="expirationDate" name="expirationDate" class="form-control" type="text">
89 104 </div>
90 105 </div>
91   - <div class="form-group">
92   - <label class="col-sm-3 control-label">库存状态:</label>
93   - <div class="col-sm-8">
94   - <select id="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}">
95   - <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option>
96   - </select>
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="shipQty" name="shipQty" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')">
103   - </div>
104   - </div>
105 106 <div class="form-group">
106 107 <div class="form-control-static col-sm-offset-9">
107 108 <button type="submit" class="btn btn-primary">提交</button>
... ...
src/main/resources/templates/shipment/shipmentHeader/add.html
... ... @@ -48,18 +48,6 @@
48 48 <input id="priority" name="priority" class="form-control" type="text">
49 49 </div>
50 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="totalQty" name="totalQty" class="form-control" type="text">
55   - </div>
56   - </div>
57   - <div class="form-group">
58   - <label class="col-sm-3 control-label">总行数:</label>
59   - <div class="col-sm-8">
60   - <input id="totalLines" name="totalLines" class="form-control" type="text">
61   - </div>
62   - </div>
63 51 <div class="form-group">
64 52 <label class="col-sm-3 control-label">要求到货时间:</label>
65 53 <div class="col-sm-8">
... ... @@ -119,14 +107,7 @@
119 107 // required:true,
120 108 // digits:true,
121 109 // },
122   - totalQty:{
123   - required:false,
124   - digits:true,
125   - },
126   - totalLines:{
127   - required:false,
128   - digits:true,
129   - },
  110 +
130 111 },
131 112 submitHandler: function(form) {
132 113 $.ajax({
... ... @@ -140,8 +121,6 @@
140 121 "referPlatform": $("input[name='referPlatform']").val(),
141 122 "customerCode": $("input[name='customerCode']").val(),
142 123 "priority": $("input[name='priority']").val(),
143   - "totalQty": $("input[name='totalQty']").val(),
144   - "totalLines": $("input[name='totalLines']").val(),
145 124 "requestedDeliveryDate": $("input[name='requestedDeliveryDate']").val(),
146 125 },
147 126 async: false,
... ... @@ -158,7 +137,7 @@
158 137 $(function () {
159 138 layui.use('laydate', function() {
160 139 var laydate = layui.laydate;
161   - laydate.render({ elem: '#appointmentTime',min: 0, theme: 'molv' ,type: 'datetime'});
  140 + laydate.render({ elem: '#requestedDeliveryDate', theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss' });
162 141 });
163 142 })
164 143 </script>
... ...
src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
... ... @@ -175,9 +175,6 @@
175 175 <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" shiro:hasPermission="shipment:bill:remove">
176 176 <i class="fa fa-trash-o"></i> 删除
177 177 </a>
178   - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.edit(shipmentId)" shiro:hasPermission="shipment:bill:edit">
179   - <i class="fa fa-edit"></i> 编辑主单据
180   - </a>
181 178 <a class="btn btn-outline btn-default btn-rounded" onclick="loadDetail()">
182 179 <i class="fa fa-refresh"></i> 刷新
183 180 </a>
... ... @@ -338,9 +335,6 @@
338 335 if (row.firstStatus < 100){
339 336 actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
340 337 }
341   - if (row.firstStatus < 120){
342   - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
343   - }
344 338 return actions.join('');
345 339 }
346 340 }]
... ... @@ -475,7 +469,6 @@
475 469 formatter: function (value, row, index) {
476 470 var actions = [];
477 471 actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
478   - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
479 472 return actions.join('');
480 473 }
481 474 }]
... ...
src/main/resources/templates/shipment/shipmentHeaderHistory/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-shipmentHeaderHistory-add">
8   - <div class="form-group">
9   - <label class="col-sm-3 control-label">出库单编码:</label>
10   - <div class="col-sm-8">
11   - <input id="code" name="code" class="form-control" type="text">
12   - </div>
13   - </div>
14   - <div class="form-group">
15   - <label class="col-sm-3 control-label">仓库id:</label>
16   - <div class="col-sm-8">
17   - <input id="warehouseId" name="warehouseId" class="form-control" type="text">
18   - </div>
19   - </div>
20   - <div class="form-group">
21   - <label class="col-sm-3 control-label">仓库编码:</label>
22   - <div class="col-sm-8">
23   - <input id="warehouseCode" name="warehouseCode" class="form-control" type="text">
24   - </div>
25   - </div>
26   - <div class="form-group">
27   - <label class="col-sm-3 control-label">货主id:</label>
28   - <div class="col-sm-8">
29   - <input id="companyId" name="companyId" 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="companyCode" name="companyCode" 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="sourceCode" name="sourceCode" 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="sourcePlatform" name="sourcePlatform" 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="type" name="type" class="form-control" type="text">
54   - </div>
55   - </div>
56   - <div class="form-group">
57   - <label class="col-sm-3 control-label">客户编码:</label>
58   - <div class="col-sm-8">
59   - <input id="shipTo" name="shipTo" 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="priority" name="priority" 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="station" name="station" 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="totalQty" name="totalQty" 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="totalLines" name="totalLines" 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="remark" name="remark" 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="uploadremark" name="uploadremark" 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="uploadTime" name="uploadTime" 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="appointmentTime" name="appointmentTime" 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="firstStatus" name="firstStatus" 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="lastStatus" name="lastStatus" 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="uploadStatus" name="uploadStatus" 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="created" name="created" 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="createdBy" name="createdBy" 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="lastUpdated" name="lastUpdated" 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="lastUpdatedBy" name="lastUpdatedBy" 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="enable" name="enable" 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="deleted" name="deleted" class="form-control" type="text">
162   - </div>
163   - </div>
164   - <div class="form-group">
165   - <label class="col-sm-3 control-label">自定义字段1:</label>
166   - <div class="col-sm-8">
167   - <input id="userDef1" name="userDef1" class="form-control" type="text">
168   - </div>
169   - </div>
170   - <div class="form-group">
171   - <label class="col-sm-3 control-label">自定义字段2:</label>
172   - <div class="col-sm-8">
173   - <input id="userDef2" name="userDef2" class="form-control" type="text">
174   - </div>
175   - </div>
176   - <div class="form-group">
177   - <label class="col-sm-3 control-label">自定义字段3:</label>
178   - <div class="col-sm-8">
179   - <input id="userDef3" name="userDef3" class="form-control" type="text">
180   - </div>
181   - </div>
182   - <div class="form-group">
183   - <div class="form-control-static col-sm-offset-9">
184   - <button type="submit" class="btn btn-primary">提交</button>
185   - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
186   - </div>
187   - </div>
188   - </form>
189   - </div>
190   - <div th:include="include::footer"></div>
191   - <script type="text/javascript">
192   - var prefix = ctx + "shipment/shipmentHeaderHistory"
193   - $("#form-shipmentHeaderHistory-add").validate({
194   - rules:{
195   - xxxx:{
196   - required:true,
197   - },
198   - },
199   - submitHandler: function(form) {
200   - $.operate.save(prefix + "/add", $('#form-shipmentHeaderHistory-add').serialize());
201   - }
202   - });
203   - </script>
204   -</body>
205   -</html>
src/main/resources/templates/shipment/shipmentHeaderHistory/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-shipmentHeaderHistory-edit" th:object="${shipmentHeaderHistory}">
8   - <input id="id" name="id" th:field="*{id}" type="hidden">
9   - <div class="form-group">
10   - <label class="col-sm-3 control-label">出库单编码:</label>
11   - <div class="col-sm-8">
12   - <input id="code" name="code" th:field="*{code}" class="form-control" type="text">
13   - </div>
14   - </div>
15   - <div class="form-group">
16   - <label class="col-sm-3 control-label">仓库id:</label>
17   - <div class="col-sm-8">
18   - <input id="warehouseId" name="warehouseId" th:field="*{warehouseId}" class="form-control" type="text">
19   - </div>
20   - </div>
21   - <div class="form-group">
22   - <label class="col-sm-3 control-label">仓库编码:</label>
23   - <div class="col-sm-8">
24   - <input id="warehouseCode" name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text">
25   - </div>
26   - </div>
27   - <div class="form-group">
28   - <label class="col-sm-3 control-label">货主id:</label>
29   - <div class="col-sm-8">
30   - <input id="companyId" name="companyId" th:field="*{companyId}" 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="companyCode" name="companyCode" th:field="*{companyCode}" 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="sourceCode" name="sourceCode" th:field="*{sourceCode}" 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="sourcePlatform" name="sourcePlatform" th:field="*{sourcePlatform}" 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="type" name="type" th:field="*{type}" class="form-control" type="text">
55   - </div>
56   - </div>
57   - <div class="form-group">
58   - <label class="col-sm-3 control-label">客户编码:</label>
59   - <div class="col-sm-8">
60   - <input id="shipTo" name="shipTo" th:field="*{shipTo}" 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="priority" name="priority" th:field="*{priority}" 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="station" name="station" th:field="*{station}" 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="totalQty" name="totalQty" th:field="*{totalQty}" 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="totalLines" name="totalLines" th:field="*{totalLines}" 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="remark" name="remark" th:field="*{remark}" 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="uploadremark" name="uploadremark" th:field="*{uploadremark}" 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="uploadTime" name="uploadTime" th:field="*{uploadTime}" 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="appointmentTime" name="appointmentTime" th:field="*{appointmentTime}" 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="firstStatus" name="firstStatus" th:field="*{firstStatus}" 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="lastStatus" name="lastStatus" th:field="*{lastStatus}" 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="uploadStatus" name="uploadStatus" th:field="*{uploadStatus}" 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="created" name="created" th:field="*{created}" 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="createdBy" name="createdBy" th:field="*{createdBy}" 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="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" 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="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" 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="enable" name="enable" th:field="*{enable}" 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="deleted" name="deleted" th:field="*{deleted}" class="form-control" type="text">
163   - </div>
164   - </div>
165   - <div class="form-group">
166   - <label class="col-sm-3 control-label">自定义字段1:</label>
167   - <div class="col-sm-8">
168   - <input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text">
169   - </div>
170   - </div>
171   - <div class="form-group">
172   - <label class="col-sm-3 control-label">自定义字段2:</label>
173   - <div class="col-sm-8">
174   - <input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text">
175   - </div>
176   - </div>
177   - <div class="form-group">
178   - <label class="col-sm-3 control-label">自定义字段3:</label>
179   - <div class="col-sm-8">
180   - <input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text">
181   - </div>
182   - </div>
183   - <div class="form-group">
184   - <div class="form-control-static col-sm-offset-9">
185   - <button type="submit" class="btn btn-primary">提交</button>
186   - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
187   - </div>
188   - </div>
189   - </form>
190   - </div>
191   - <div th:include="include::footer"></div>
192   - <script type="text/javascript">
193   - var prefix = ctx + "shipment/shipmentHeaderHistory"
194   - $("#form-shipmentHeaderHistory-edit").validate({
195   - rules:{
196   - xxxx:{
197   - required:true,
198   - },
199   - },
200   - submitHandler: function(form) {
201   - $.operate.save(prefix + "/edit", $('#form-shipmentHeaderHistory-edit').serialize());
202   - }
203   - });
204   - </script>
205   -</body>
206   -</html>
src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html
... ... @@ -310,12 +310,6 @@
310 310 var actions = [];
311 311 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> ');
312 312 // actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>列表</a> ');
313   - if (row.firstStatus < 100){
314   - actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
315   - }
316   - if (row.firstStatus < 120){
317   - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
318   - }
319 313 return actions.join('');
320 314 }
321 315 }]
... ... @@ -449,8 +443,6 @@
449 443 align: 'center',
450 444 formatter: function (value, row, index) {
451 445 var actions = [];
452   - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
453   - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
454 446 return actions.join('');
455 447 }
456 448 }]
... ...