| | |
| | | @RequestMapping("/comb/auth") |
| | | @ManagerAuth(memo = "组托") |
| | | public R comb(@RequestBody CombParam combParam){ |
| | | System.out.println("combParam = " + combParam); |
| | | mobileService.comb(combParam, getUserId()); |
| | | return R.ok(); |
| | | } |
| | |
| | | @RequestMapping("/full/store/put/start") |
| | | @ManagerAuth(memo = "全板入库") |
| | | public R fullStorePutStart(@RequestBody FullStoreParam fullStoreParam) { |
| | | |
| | | return R.ok("入库启动成功").add(workService.startupFullPutStore(fullStoreParam,getUserId())); |
| | | } |
| | | |
| | |
| | | private Double count; |
| | | |
| | | private String supplier; |
| | | |
| | | private String memo; |
| | | |
| | | public String getMemo() { |
| | | return memo; |
| | | } |
| | | |
| | | public void setMemo(String memo) { |
| | | this.memo = memo; |
| | | } |
| | | |
| | | public MatCodeCountDto() { |
| | | } |
| | |
| | | public MatCodeCountDto(String matNo, Double count) { |
| | | this.matNo = matNo; |
| | | this.count = count; |
| | | } |
| | | |
| | | public MatCodeCountDto(String matNo, String supplier, Double count, String memo) { |
| | | this.matNo = matNo; |
| | | this.count = count; |
| | | this.supplier = supplier; |
| | | this.memo = memo; |
| | | } |
| | | |
| | | public MatCodeCountDto(String matNo, String supplier, Double count) { |
| | |
| | | this.supplier = supplier; |
| | | this.seqNo = seqNo; |
| | | } |
| | | |
| | | |
| | | public String getBillNo() { return billNo; } |
| | | |
| | |
| | | private List<CombMat> combMats; |
| | | |
| | | private String billNo; |
| | | |
| | | private String supplier; |
| | | |
| | | private String memo; |
| | | |
| | | public String getSupplier() { |
| | | return supplier; |
| | | } |
| | | |
| | | public void setSupplier(String supplier) { |
| | | this.supplier = supplier; |
| | | } |
| | | |
| | | public String getMemo() { |
| | | return memo; |
| | | } |
| | | |
| | | public void setMemo(String memo) { |
| | | this.memo = memo; |
| | | } |
| | | |
| | | public static class CombMat { |
| | | |
| | |
| | | // 批号 |
| | | private String supplier; |
| | | |
| | | private String memo; |
| | | |
| | | public String getMemo() { |
| | | return memo; |
| | | } |
| | | |
| | | public void setMemo(String memo) { |
| | | this.memo = memo; |
| | | } |
| | | |
| | | public String getBillNo() { return billNo; } |
| | | |
| | | public void setBillNo(String billNo) { this.billNo = billNo; } |
| | |
| | | // 生成工作档明细 |
| | | List<MatCodeCountDto> matDtos = new ArrayList<>(); |
| | | param.getList().forEach(elem -> { |
| | | matDtos.add(new MatCodeCountDto(elem.getMatNo(), elem.getSupplier(), elem.getCount())); |
| | | matDtos.add(new MatCodeCountDto(elem.getMatNo(), elem.getSupplier(), elem.getCount(),elem.getMemo())); |
| | | }); |
| | | wrkDetlService.createWorkDetail(workNo, matDtos, param.getBarcode(), userId); |
| | | // 更新源站点信息 |
| | |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setModiTime(new Date()); |
| | | wrkDetl.setModiUser(userId); |
| | | wrkDetl.setMemo(detlDto.getLocDetl().getMemo()); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.text.DateFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | VersionUtils.setWrkDetl(wrkDetl, matCode); // 版本控制 |
| | | wrkDetl.setBillNo((null != dto.getBillNo()) ? dto.getBillNo() : "0"); |
| | | wrkDetl.setSeqNo((null != dto.getSeqNo()) ? dto.getSeqNo() : 0); |
| | | wrkDetl.setSupplier(dto.getSupplier()); |
| | | if (Cools.isEmpty(dto.getSupplier())){ |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | dto.setSupplier(sdf.format(new Date())); |
| | | }else { |
| | | wrkDetl.setSupplier(dto.getSupplier()); |
| | | } |
| | | |
| | | wrkDetl.setZpallet(barcode); // 托盘条码 |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setAppeTime(new Date()); |
| | | wrkDetl.setMemo(dto.getMemo()); |
| | | wrkDetl.setModiUser(userId); |
| | | wrkDetl.setModiTime(new Date()); |
| | | if (!this.insert(wrkDetl)) { |
| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | |
| | | exceptionHandle("全板入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | } |
| | | } else { |
| | | WrkDetl wrk_no = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>() |
| | | .eq("wrk_no", wrkMast.getWrkNo())); |
| | | |
| | | locDetl = new LocDetl(); |
| | | |
| | | locDetl.setLocNo(wrkMast.getLocNo()); // 库位号 |
| | | locDetl.setMemo(wrkMast.getMemo()); |
| | | VersionUtils.setLocDetl(locDetl, wrkDetl); // 版本控制 |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | | if (!Cools.isEmpty(wrk_no)){ |
| | | locDetl.setMemo(wrk_no.getMemo()); |
| | | locDetl.setSupplier(wrk_no.getSupplier()); |
| | | } |
| | | if (!locDetlService.insert(locDetl)) { |
| | | exceptionHandle("全板入库 ===>> 添加库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | } |
| | |
| | | #password: eisoft |
| | | url: jdbc:sqlserver://localhost:1433;databasename=sxjzasrs |
| | | username: sa |
| | | password: sa@123 |
| | | password: qq0901593322 |
| | | mvc: |
| | | static-path-pattern: /** |
| | | redis: |
| | |
| | | // ,{field: 'num1', align: 'center',title: '数量'} |
| | | ,{field: 'size', align: 'center',title: '尺寸', hide: true} |
| | | ,{field: 'color', align: 'center',title: '颜色'} |
| | | |
| | | ] |
| | | |
| | | var detlCols = [ |
| | |
| | | var pageCurr; |
| | | function getCol() { |
| | | var cols = [{field: 'locNo$', align: 'center',title: '库位号'}]; |
| | | cols.push.apply(cols, detlCols); |
| | | var cols = [{field: 'locNo$', align: 'center',title: '库位号'}, |
| | | {field: 'matNo', align: 'center',title: '产品编码'} |
| | | ,{field: 'matName', align: 'center',title: '产品名称'} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'qty', align: 'center',title: '数量'} |
| | | ,{field: 'unit', align: 'center',title: '单位', width:80, hide: true} |
| | | ,{field: 'supplier', align: 'center',title: '批号'} |
| | | ,{field: 'color', align: 'center',title: '颜色'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | // ,{field: 'bname', align: 'center',title: '库位名称'} |
| | | ,{field: 'memo', align: 'center',title: '生产日期'}]; |
| | | // cols.push.apply(cols, detlCols); |
| | | cols.push({field: 'modiUser$', align: 'center',title: '修改人员',hide: true} |
| | | ,{field: 'modiTime$', align: 'center',title: '修改时间'} |
| | | ) |
| | |
| | | break |
| | | case 'supplier': |
| | | // updateMatCodeSupplier(obj.data.matNo, obj.value); |
| | | // debugger |
| | | for (var i=0;i<matCodeData.length;i++){ |
| | | if (matCodeData[i]["matNo"] === obj.data.matNo |
| | | && (matCodeData[i]["supplier"] === obj.data.supplier || matCodeData[i]["supplier"]==='')){ |
| | | matCodeData[i]["supplier"] = obj.data.supplier; |
| | | } |
| | | } |
| | | break |
| | | } |
| | | |
| | |
| | | return; |
| | | } |
| | | } |
| | | console.log(matCodeData); |
| | | debugger |
| | | $.ajax({ |
| | | url: baseUrl+"/full/store/put/start", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | |
| | | yes: function(index, layero){ |
| | | var memo = layer.getChildFrame('body', index).find("#memo")[0].value; |
| | | matCodeData.map(function (item) { |
| | | if (item.matNo === data.matNo) { |
| | | if (item.matNo === data.matNo && item.supplier === data.supplier) { |
| | | item.memo = memo; |
| | | } |
| | | }); |
| | |
| | | for (var i=0;i<matCodeData.length;i++){ |
| | | if (matCodeData[i]["matNo"] === matNo && matCodeData[i]["supplier"] === supplier){ |
| | | matCodeData[i]["count"] = count; |
| | | // matCodeData[i]["supplier"] = supplier; |
| | | } |
| | | } |
| | | } else { |
| | |
| | | // {field: 'count', align: 'center',title: '出库数量', edit:'text', width: 130, style:'color: blue;font-weight: bold'} |
| | | {field: 'anfme', align: 'center',title: '出库数量',edit:'text',style:'color: blue;font-weight: bold'} |
| | | ,{field: 'locNo$', align: 'center',title: '库位号'} |
| | | , {field: 'matNo', align: 'center',title: '产品编码'} |
| | | ,{field: 'matName', align: 'center',title: '产品名称'} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'qty', align: 'center',title: '数量'} |
| | | ,{field: 'unit', align: 'center',title: '单位', width:80, hide: true} |
| | | ,{field: 'supplier', align: 'center',title: '批号'} |
| | | ,{field: 'color', align: 'center',title: '颜色'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | // ,{field: 'bname', align: 'center',title: '库位名称'} |
| | | ,{field: 'memo', align: 'center',title: '生产日期'} |
| | | ]; |
| | | //arrRemove(detlCols, 'field', 'qty'); |
| | | cols.push.apply(cols, detlCols); |
| | | // cols.push.apply(cols, detlCols); |
| | | // cols.push({fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:80}) |
| | | return cols; |
| | | } |
| | |
| | | html += "disabled='disabled' >"; |
| | | return html; |
| | | },width:80} |
| | | |
| | | ,{field: 'modiUser$', align: 'center',title: '修改人员'} |
| | | ,{field: 'modiTime$', align: 'center',title: '修改时间', width: 180} |
| | | ,{ fixed: 'right', title:'操作', align: 'center', toolbar: '#operate'} |
| | |
| | | var cols = [ |
| | | {field: 'wrkNo', align: 'center',title: '工作号'} |
| | | ,{field: 'ioTime$', align: 'center',title: '工作时间', width: 160} |
| | | |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | cols.push( |
| | |
| | | var cols = [ |
| | | {type: 'checkbox'} |
| | | ,{field: 'locNo$', align: 'center',title: '库位号'} |
| | | ,{field: 'matNo', align: 'center',title: '产品编码'} |
| | | ,{field: 'matName', align: 'center',title: '产品名称'} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'qty', align: 'center',title: '数量'} |
| | | ,{field: 'unit', align: 'center',title: '单位', width:80, hide: true} |
| | | ,{field: 'supplier', align: 'center',title: '批号'} |
| | | ,{field: 'color', align: 'center',title: '颜色'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | // ,{field: 'bname', align: 'center',title: '库位名称'} |
| | | ,{field: 'memo', align: 'center',title: '生产日期'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | // cols.push.apply(cols, detlCols); |
| | | |
| | | cols.push({field: 'modiUser$', align: 'center',title: '修改人员', hide: true} |
| | | ,{field: 'modiTime$', align: 'center',title: '修改时间'}) |
| | | return cols; |
| | |
| | | table.on('toolbar(matCode)', function (obj) { |
| | | var checkStatus = table.checkStatus(obj.config.id); |
| | | var data = checkStatus.data; |
| | | for(i=0;i<data.length;i++){ |
| | | data[i].supplier=''; |
| | | } |
| | | // debugger |
| | | switch(obj.event) { |
| | | case 'confirm': |
| | | if (data.length === 0){ |
| | |
| | | cols: [[ |
| | | {fixed: 'left', align: 'center', field: 'count', title: '数量', style:'color: blue', width:50}, |
| | | {field: 'matNo', align: 'center', title: '产品代号'}, |
| | | {field: 'matName', align: 'center', title: '产品名称'} |
| | | {field: 'matName', align: 'center', title: '产品名称'}, |
| | | {field: 'supplier', align: 'center', title: '批号'}, |
| | | {field: 'memo', align: 'center', title: '生产日期'} |
| | | |
| | | ]], |
| | | done: function (res, curr, count) { |
| | | } |
| | |
| | | <input id="specs" type="text" disabled="disabled"> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span>批号</span> |
| | | <input id="supplier" type="text"> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span>生产日期</span> |
| | | <input id="memo" type="text"> |
| | | </div> |
| | | <div class="form-item"> |
| | | <span>单位</span> |
| | | <input id="unit" type="text" disabled="disabled"> |
| | | </div> |
| | |
| | | var data = { |
| | | matNo: $('#matNo').val(), |
| | | matName: $('#matName').val(), |
| | | count: countDom.val() |
| | | count: countDom.val(), |
| | | supplier: $('#supplier').val(), |
| | | memo: $('#memo').val() |
| | | |
| | | }; |
| | | parent.addTableData(data); |
| | | parent.layer.close(parent.matCodeLayerIdx); |
| | |
| | | var pageCur; |
| | | function getCol() { |
| | | var cols = [ |
| | | {field: 'locNo$', align: 'center',title: '库位号'} |
| | | {field: 'locNo$', align: 'center',title: '库位号'}, |
| | | {field: 'matNo', align: 'center',title: '产品编码'} |
| | | ,{field: 'matName', align: 'center',title: '产品名称'} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'qty', align: 'center',title: '数量'} |
| | | ,{field: 'unit', align: 'center',title: '单位', width:80, hide: true} |
| | | ,{field: 'supplier', align: 'center',title: '批号'} |
| | | ,{field: 'color', align: 'center',title: '颜色'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | // ,{field: 'bname', align: 'center',title: '库位名称'} |
| | | ,{field: 'memo', align: 'center',title: '生产日期'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | // cols.push.apply(cols, detlCols); |
| | | return cols; |
| | | } |
| | | layui.use(['table','laydate', 'form'], function() { |
| | |
| | | var cols = [ |
| | | {field: 'wrkNo', align: 'center',title: '工作号'} |
| | | ,{field: 'ioTime$', align: 'center',title: '工作时间'} |
| | | ,{field: 'matNo', align: 'center',title: '产品编码'} |
| | | ,{field: 'matName', align: 'center',title: '产品名称'} |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'qty', align: 'center',title: '数量'} |
| | | ,{field: 'unit', align: 'center',title: '单位', width:80, hide: true} |
| | | ,{field: 'supplier', align: 'center',title: '批号'} |
| | | ,{field: 'color', align: 'center',title: '颜色'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | // ,{field: 'bname', align: 'center',title: '库位名称'} |
| | | ,{field: 'memo', align: 'center',title: '生产日期'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | // cols.push.apply(cols, detlCols); |
| | | |
| | | cols.push({field: 'billNo', title:'单据编号', align: 'center'} |
| | | ,{field: 'seqNo', title:'序号', align: 'center', width:80}); |
| | | return cols; |