| | |
| | | ...getColumnSearchProps('matnr'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.maktx', '商品名称'),
|
| | | dataIndex: 'maktx',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('maktx'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.specs', '规格'),
|
| | | dataIndex: 'specs',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('specs'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.model', '型号'),
|
| | | dataIndex: 'model',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('model'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.order_no', '订单号'),
|
| | | dataIndex: 'orderNo',
|
| | | width: 140,
|
| | |
| | | ...getColumnSearchProps('locNo'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.mat_id', '商品'),
|
| | | dataIndex: 'matId$',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('matId$'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.matnr', '商品编号'),
|
| | | dataIndex: 'matnr',
|
| | | width: 140,
|
| | |
| | | ...getColumnSearchProps('matnr'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.maktx', '商品名称'),
|
| | | dataIndex: 'maktx',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('maktx'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.specs', '规格'),
|
| | | dataIndex: 'specs',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('specs'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.model', '型号'),
|
| | | dataIndex: 'model',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('model'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.order_no', '订单号'),
|
| | | dataIndex: 'orderNo',
|
| | | width: 140,
|
| | |
| | | <a-form-item :label="formatMessage('db.man_order.order_no', '订单编号')" name="orderNo">
|
| | | <a-input v-model:value="formData.orderNo" />
|
| | | </a-form-item>
|
| | | <!-- <a-form-item :label="formatMessage('db.man_order.order_time', '单据日期')" name="orderTime"
|
| | | style="width: 250px;">
|
| | | <a-input v-model:value="formData.orderTime" />
|
| | | </a-form-item> -->
|
| | | <a-form-item :label="formatMessage('db.man_order.order_type', '单据类型')" name="orderType">
|
| | | <a-select v-model:value="formData.orderType" :placeholder="formatMessage('common.select', '请选择')"
|
| | | style="width: 100%" show-search :options="orderTypeQueryList" optionFilterProp="label"
|
| | |
| | | optionLabelProp="label">
|
| | | </a-select>
|
| | | </a-form-item>
|
| | | <!-- <a-form-item :label="formatMessage('db.man_order.status', '状态')" name="status" >
|
| | | <a-select v-model:value="formData.status" :options="[
|
| | | { label: '正常', value: 1 },
|
| | | { label: '禁用', value: 0 },
|
| | | ]">
|
| | | </a-select>
|
| | | </a-form-item> -->
|
| | | <!-- <a-form-item :label="formatMessage('db.man_order.create_time', '添加时间')" name="createTime"
|
| | | style="width: 250px;">
|
| | | <a-date-picker v-model:value="formData.createTime" show-time format="YYYY-MM-DD HH:mm:ss"
|
| | | value-format="YYYY-MM-DD HH:mm:ss" />
|
| | | <!-- <a-form-item :label="formatMessage('db.man_order.order_no', '物流公司')" name="orderNo" >
|
| | | <a-input v-model:value="formData.orderNo" />
|
| | | </a-form-item>
|
| | | <a-form-item :label="formatMessage('db.man_order.create_by', '添加人员')" name="createBy"
|
| | | style="width: 250px;">
|
| | | <a-select v-model:value="formData.createBy" :placeholder="formatMessage('common.select', '请选择')"
|
| | | style="width: 100%" show-search :options="userQueryList" optionFilterProp="label"
|
| | | optionLabelProp="label">
|
| | | </a-select>
|
| | | <a-form-item :label="formatMessage('db.man_order.order_no', '快递单号')" name="orderNo">
|
| | | <a-input v-model:value="formData.orderNo"/>
|
| | | </a-form-item>
|
| | | <a-form-item :label="formatMessage('db.man_order.update_time', '修改时间')" name="updateTime"
|
| | | style="width: 250px;">
|
| | | <a-date-picker v-model:value="formData.updateTime" show-time format="YYYY-MM-DD HH:mm:ss"
|
| | | value-format="YYYY-MM-DD HH:mm:ss" />
|
| | | <a-form-item :label="formatMessage('db.man_order.order_no', '物流公司')" name="orderNo" >
|
| | | <a-input v-model:value="formData.orderNo"/>
|
| | | </a-form-item>
|
| | | <a-form-item :label="formatMessage('db.man_order.update_by', '修改人员')" name="updateBy"
|
| | | style="width: 250px;">
|
| | | <a-select v-model:value="formData.updateBy" :placeholder="formatMessage('common.select', '请选择')"
|
| | | style="width: 100%" show-search :options="userQueryList" optionFilterProp="label"
|
| | | optionLabelProp="label">
|
| | | </a-select>
|
| | | <a-form-item :label="formatMessage('db.man_order.order_no', '快递单号')" name="orderNo">
|
| | | <a-input v-model:value="formData.orderNo"/>
|
| | | </a-form-item> -->
|
| | | <!-- <a-form-item :label="formatMessage('db.man_order.memo', '备注')" name="memo" style="width: 250px;">
|
| | | <a-input v-model:value="formData.memo" />
|
| | | </a-form-item> -->
|
| | |
|
| | | <a-form-item :label="formatMessage('db.man_order.update_time', '订单明细')" name="orderDetl">
|
| | | <OrderDetlComponent ref="orderDetlChild" v-if="open" />
|
| | | </a-form-item>
|
| | |
|
| | | <a-form-item>
|
| | | <a-button type="primary" html-type="submit" ref="submitButton"
|
| | | style="visibility: hidden;">Submit</a-button>
|
| | |
| | | let result = resp.data;
|
| | | if(result.data != null) {
|
| | | orderInfo.value = result.data;
|
| | | console.log(result.data);
|
| | | }
|
| | | })
|
| | | }
|
| | |
| | | 单据状态:{{ orderInfo.orderSettle$ }}
|
| | | </h3>
|
| | | </div>
|
| | | <div>
|
| | | <h3>
|
| | | 数量:{{ orderInfo.waitQty }}
|
| | | </h3>
|
| | | <h3>
|
| | | 物流名称:{{ orderInfo.logisticsName }}
|
| | | </h3>
|
| | | <h3>
|
| | | 快递单号:{{ orderInfo.logistics }}
|
| | | </h3>
|
| | | </div>
|
| | | <div>
|
| | | <h3>
|
| | | 收货地址:{{ orderInfo.address }}
|
| | | </h3>
|
| | | <h3>
|
| | | 联系电话:{{ orderInfo.phone }}
|
| | | </h3>
|
| | | </div>
|
| | | <div class="qrcode">
|
| | | <a-qrcode :value="orderInfo.orderNo" :size="100" :bordered="false" />
|
| | | </div>
|
| New file |
| | |
| | | <script setup> |
| | | import {ref, toRaw} from 'vue'; |
| | | import { formatMessage } from '@/utils/localeUtils'; |
| | | import locTemplate from './locTemplate.vue'; |
| | | |
| | | const template = { |
| | | locTemplate |
| | | } |
| | | |
| | | const printChild = ref(null); |
| | | const selectTemplate = ref('locTemplate'); |
| | | let open = ref(false); |
| | | let printData = ref([]); |
| | | let repeatNum = ref(1); |
| | | let orderNo = ref(''); |
| | | const handleOk = () => { |
| | | |
| | | } |
| | | |
| | | const printObj = ref({ |
| | | id: "printOrder", |
| | | beforeOpenCallback(vue) { |
| | | // console.log(toRaw(printData.value)) |
| | | }, |
| | | openCallback(vue) { |
| | | console.log('执行了打印') |
| | | }, |
| | | closeCallback(vue) { |
| | | console.log('关闭了打印工具') |
| | | }, |
| | | |
| | | }); |
| | | |
| | | defineExpose({ |
| | | open, |
| | | orderNo, |
| | | printData |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <a-modal v-model:open="open" :title="formatMessage('', '库位打印')" @ok="handleOk" :width="'60%'" v-if="open"> |
| | | <div style="height: 500px;overflow-x: hidden;overflow-y: scroll;"> |
| | | <div style="margin-top: 20px;"> |
| | | <Component :is="template[selectTemplate]" ref="printChild" :list="printData" :repeatNum="repeatNum" /> |
| | | </div> |
| | | </div> |
| | | <template #footer> |
| | | <a-button key="submit" type="primary" v-print="printObj" @click="handleOk"> |
| | | {{ formatMessage('common.print', '打印') }} |
| | | </a-button> |
| | | </template> |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <style></style> |
| New file |
| | |
| | | <script setup> |
| | | import { toRefs, ref, defineProps, watch } from 'vue'; |
| | | import { globalState } from '@/config.js' |
| | | import { formatMessage } from '@/utils/localeUtils'; |
| | | |
| | | const props = defineProps({ |
| | | locNo: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | list: { |
| | | type: Array, |
| | | default: [] |
| | | }, |
| | | repeatNum: { |
| | | type: Number, |
| | | default: 1 |
| | | } |
| | | }); |
| | | const { locNo, list, repeatNum } = toRefs(props) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div id="printOrder"> |
| | | <div v-for="(item, index) in list"> |
| | | <table class="contain" width="600" style="overflow: hidden;font-size: xx-small;table-layout: fixed; margin-top: 10px;"> |
| | | <tr style="height: 300px;"> |
| | | <td class="barcode" colspan="9" align="center" scope="col"> |
| | | <img :src="globalState.url + '/api/code/auth?type=1¶m=' + item.locNo" width="90%;" height="180px"/> |
| | | <div style="letter-spacing: 2px;margin-top: 10px; text-align: center;"> |
| | | <span>{{ item.locNo }} </span> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <style> |
| | | @media print { |
| | | body { |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | |
| | | .print-area { |
| | | margin: 0; |
| | | padding: 0; |
| | | height: auto; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | .contain td { |
| | | border: 1px solid #000; |
| | | padding: 5px; |
| | | } |
| | | </style> |
| | |
| | | import { logout } from '@/config.js';
|
| | | import EditView from './edit.vue'
|
| | | import { formatMessage } from '@/utils/localeUtils.js';
|
| | | import LocsPrint from '@/components/print/locsPrint/index.vue';
|
| | | import useTableSearch from '@/utils/tableUtils.jsx';
|
| | | const context = getCurrentInstance()?.appContext.config.globalProperties;
|
| | |
|
| | |
| | | const TABLE_KEY = 'table-loc';
|
| | | let currentPage = 1;
|
| | | let pageSize = 10;
|
| | | let printDisable = true
|
| | | const printChild = ref("")
|
| | | const searchInput = ref("")
|
| | | const searchParam = ref({
|
| | | locNo: null,
|
| | |
| | | const state = reactive({
|
| | | selectedRowKeys: [],
|
| | | loading: false,
|
| | | selectRecords: []
|
| | | });
|
| | |
|
| | | let tableData = ref([]);
|
| | |
| | | }, 1000);
|
| | | };
|
| | | const onSelectChange = selectedRowKeys => {
|
| | | // console.log('selectedRowKeys changed: ', selectedRowKeys);
|
| | | let printData = [];
|
| | | console.log('selectedRowKeys changed: ', selectedRowKeys);
|
| | | state.selectedRowKeys = selectedRowKeys;
|
| | | state.selectRecords = tableData.value.records.filter(item => {
|
| | | return selectedRowKeys.includes(item.id)
|
| | | })
|
| | |
|
| | | if (state.selectRecords.length > 0) {
|
| | | printDisable = false
|
| | | } else {
|
| | | printDisable = true
|
| | | }
|
| | | };
|
| | |
|
| | | const handlePrint = (item) => {
|
| | | printChild.value.printData = state.selectRecords;
|
| | | printChild.value.open = true;
|
| | | }
|
| | |
|
| | | function getPage() {
|
| | | state.loading = true;
|
| | |
| | | if (result.code == 200) {
|
| | | let data = result.data;
|
| | | tableData.value = data;
|
| | |
|
| | | state.loading = false;
|
| | | } else if (result.code === 401) {
|
| | | message.error(result.msg);
|
| | |
| | | style="width: 200px;" @search="onSearch" />
|
| | | </div>
|
| | | <div class="table-header-right">
|
| | | <a-button @click="handlePrint(null)" type="primary" :disabled="printDisable">{{ formatMessage('page.add', '打印')
|
| | | }}</a-button>
|
| | | <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '添加') }}</a-button>
|
| | | <a-button @click="handleExport">{{ formatMessage('page.export', '导出') }}</a-button>
|
| | | </div>
|
| | |
| | | <div style="display: flex;justify-content: space-evenly;">
|
| | | <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '编辑') }}</a-button>
|
| | | <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '删除')
|
| | | }}</a-button>
|
| | | }}</a-button>
|
| | | </div>
|
| | | </template>
|
| | | </template>
|
| | | </a-table>
|
| | | <LocsPrint ref="printChild" />
|
| | | </div>
|
| | | </template>
|
| | |
|
| | | <style></style>
|
| | |
| | | ...getColumnSearchProps('locNo'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.mat_id', '商品'),
|
| | | dataIndex: 'matId$',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('matId$'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.matnr', '商品编号'),
|
| | | dataIndex: 'matnr',
|
| | | width: 140,
|
| | |
| | | ...getColumnSearchProps('matnr'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.maktx', '商品名称'),
|
| | | dataIndex: 'maktx',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('maktx'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.specs', '规格'),
|
| | | dataIndex: 'specs',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('specs'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.model', '型号'),
|
| | | dataIndex: 'model',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('model'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.dewell', '入库时间'),
|
| | | dataIndex: 'dewell$',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('dewell$'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.man_loc_detl.order_no', '订单号'),
|
| | | dataIndex: 'orderNo',
|
| | | width: 140,
|
| | |
| | |
|
| | | state.columns = [
|
| | | {
|
| | | title: formatMessage('db.view_work_in.matnr', '入库单号'),
|
| | | dataIndex: 'orderNo',
|
| | | width: 140,
|
| | | ellipsis: true,
|
| | | ...getColumnSearchProps('orderNo'),
|
| | | },
|
| | | {
|
| | | title: formatMessage('db.view_work_in.create_time', '入库日期'),
|
| | | dataIndex: 'createTime$',
|
| | | width: 140,
|
| | |
| | | import com.zy.asrs.framework.common.R;
|
| | | import com.zy.asrs.wms.asrs.entity.Loc;
|
| | | import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
|
| | | import com.zy.asrs.wms.asrs.entity.param.LocMastInitParam;
|
| | | import com.zy.asrs.wms.asrs.service.LocService;
|
| | | import com.zy.asrs.wms.common.annotation.OperationLog;
|
| | | import com.zy.asrs.wms.common.domain.BaseParam;
|
| | |
| | | @OperationLog("初始化库位")
|
| | | @PostMapping("/locMap/init")
|
| | | @Transactional
|
| | | public R init(@RequestBody LocMap locMap) {
|
| | | Integer mapLev = locMap.getMapLev();
|
| | | public R init(@RequestBody LocMastInitParam param) {
|
| | | // Integer mapLev = locMap.getMapLev();
|
| | |
|
| | | locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLev1, mapLev));
|
| | | // locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLev1, mapLev));
|
| | |
|
| | | //解析json地图数据
|
| | | List<ArrayList> arrayLists = JSON.parseArray(locMap.getData(), ArrayList.class);
|
| | | int rowIdx = 0;
|
| | | for (ArrayList row : arrayLists) {
|
| | | int bayIdx = 0;
|
| | | for (Object bay : row) {
|
| | | JSONObject data = JSON.parseObject(JSON.toJSONString(bay));
|
| | | if (data.getInteger("value") == 0) {
|
| | | // List<ArrayList> arrayLists = JSON.parseArray(locMap.getData(), ArrayList.class);
|
| | | // int rowIdx = 0;
|
| | | // for (ArrayList row : arrayLists) {
|
| | | // int bayIdx = 0;
|
| | | // for (Object bay : row) {
|
| | | // JSONObject data = JSON.parseObject(JSON.toJSONString(bay));
|
| | | // if (data.getInteger("value") == 0) {
|
| | | // Loc loc = new Loc();
|
| | | // loc.setRow1(rowIdx);
|
| | | // loc.setBay1(bayIdx);
|
| | | // loc.setLev1(mapLev);
|
| | | // loc.setLocStsId(LocStsType.O.val());
|
| | | // loc.setLocNo(Utils.getPlatLocNo(rowIdx, bayIdx, mapLev));
|
| | | // locService.save(loc);
|
| | | // }
|
| | | // bayIdx++;
|
| | | // }
|
| | | // rowIdx++;
|
| | | // }
|
| | |
|
| | | List<Loc> list = new ArrayList<>();
|
| | | Integer chanl = 0; //默认第一巷道
|
| | | for (int r = param.getStartRow(); r <= param.getEndRow(); r++) {
|
| | | // if (r % param.getChannel() == 1) {
|
| | | // chanl ++;
|
| | | // }
|
| | | for (int b = param.getStartBay(); b <= param.getEndBay(); b++) {
|
| | | for (int l = param.getStartLev(); l <= param.getEndLev(); l++) {
|
| | | // 获取库位号
|
| | | String locNo = Utils.getPlatLocNo(r, b, l);
|
| | | Loc loc = new Loc();
|
| | | loc.setRow1(rowIdx);
|
| | | loc.setBay1(bayIdx);
|
| | | loc.setLev1(mapLev);
|
| | | loc.setRow1(r);
|
| | | loc.setBay1(b);
|
| | | loc.setLev1(l);
|
| | | loc.setLocStsId(LocStsType.O.val());
|
| | | loc.setLocNo(Utils.getLocNo(rowIdx, bayIdx, mapLev));
|
| | | loc.setLocNo(locNo);
|
| | | locService.save(loc);
|
| | | list.add(loc);
|
| | | }
|
| | | bayIdx++;
|
| | | }
|
| | | rowIdx++;
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | return R.ok("添加成功");
|
| | | }
|
| | |
|
| | |
| | | * @description: 获取推荐库位
|
| | | * @version 1.0
|
| | | */
|
| | | @PostMapping("/recommend/locs")
|
| | | @GetMapping("/recommend/locs")
|
| | | public R getRecommend() {
|
| | | return mobileService.getRecommendLocs();
|
| | | }
|
| | |
| | | import com.zy.asrs.framework.common.R;
|
| | | import com.zy.asrs.framework.exception.CoolException;
|
| | | import com.zy.asrs.wms.asrs.entity.MatField;
|
| | | import com.zy.asrs.wms.asrs.entity.OrderDetl;
|
| | | import com.zy.asrs.wms.asrs.entity.OrderType;
|
| | | import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
|
| | | import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam;
|
| | |
| | | import com.zy.asrs.wms.asrs.entity.template.OrderTemplate;
|
| | | import com.zy.asrs.wms.asrs.service.MatFieldService;
|
| | | import com.zy.asrs.wms.asrs.service.OrderTypeService;
|
| | | import com.zy.asrs.wms.asrs.service.impl.OrderDetlServiceImpl;
|
| | | import com.zy.asrs.wms.common.annotation.CacheData;
|
| | | import com.zy.asrs.wms.common.annotation.OperationLog;
|
| | | import com.zy.asrs.wms.common.domain.BaseParam;
|
| | |
| | | private OrderTypeService orderTypeService;
|
| | | @Autowired
|
| | | private MatFieldService matFieldService;
|
| | | @Autowired
|
| | | private OrderDetlServiceImpl orderDetlService;
|
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:list')")
|
| | | @PostMapping("/order/page")
|
| | |
| | | @GetMapping("/order/{id}")
|
| | | // @CacheData(tableName = {"man_order"})
|
| | | public R get(@PathVariable("id") Long id) {
|
| | | return R.ok().add(orderService.getById(id));
|
| | | Order order = orderService.getById(id);
|
| | | List<OrderDetl> detls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
|
| | | if (!detls.isEmpty()) {
|
| | | Double sum = detls.stream().mapToDouble(OrderDetl::getAnfme).sum();
|
| | | order.setWaitQty(sum);
|
| | | }
|
| | | return R.ok().add(order);
|
| | | }
|
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:save')")
|
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
| | | import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
| | | import com.zy.asrs.common.utils.Synchro;
|
| | | import com.zy.asrs.framework.common.DateUtils;
|
| | | import com.zy.asrs.wms.asrs.service.LocService;
|
| | | import com.zy.asrs.wms.asrs.service.MatFieldService;
|
| | | import com.zy.asrs.wms.asrs.service.MatService;
|
| | |
| | | @ApiModelProperty(value= "备注")
|
| | | private String memo;
|
| | |
|
| | |
|
| | | /**
|
| | | * 库存冻结 1: 冻结 0: 正常
|
| | | */
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | |
|
| | | public String getHostId$(){
|
| | | HostService service = SpringUtils.getBean(HostService.class);
|
| | | Host host = service.getById(this.hostId);
|
| | |
| | | @ApiModelProperty(value= "单据状态")
|
| | | private Long orderSettle;
|
| | |
|
| | | @ApiModelProperty("物流名称")
|
| | | private String logisticsName;
|
| | |
|
| | | @ApiModelProperty("收货地址")
|
| | | private String address;
|
| | |
|
| | | @ApiModelProperty("联系电话")
|
| | | private String phone;
|
| | |
|
| | | @ApiModelProperty("快递单号")
|
| | | private String logistics;
|
| | |
|
| | | @ApiModelProperty("订单数量")
|
| | | @TableField(exist = false)
|
| | | private Double waitQty;
|
| | | /**
|
| | | * 所属机构
|
| | | */
|
| | |
| | | import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
| | | import com.zy.asrs.common.utils.Synchro;
|
| | | import com.zy.asrs.framework.common.Cools;
|
| | | import com.zy.asrs.framework.common.DateUtils;
|
| | | import com.zy.asrs.framework.common.SpringUtils;
|
| | | import com.zy.asrs.wms.asrs.service.LocService;
|
| | | import com.zy.asrs.wms.asrs.service.MatService;
|
| | |
| | | import com.zy.asrs.wms.system.service.UserService;
|
| | | import io.swagger.annotations.ApiModelProperty;
|
| | | import lombok.Data;
|
| | | import lombok.experimental.Delegate;
|
| | | import org.springframework.format.annotation.DateTimeFormat;
|
| | |
|
| | | import java.io.Serializable;
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | public String getMatId$(){
|
| | | @Delegate(types = Mat.class)
|
| | | public Mat getMatId$(){
|
| | | MatService service = SpringUtils.getBean(MatService.class);
|
| | | Mat mat = service.getById(this.matId);
|
| | | if (!Cools.isEmpty(mat)){
|
| | | return String.valueOf(mat.getId());
|
| | | }
|
| | | return null;
|
| | | return mat;
|
| | | }
|
| | |
|
| | | public String getDewell$() {
|
| | | return DateUtils.diff(new Date(), createTime) + "天";
|
| | | }
|
| | |
|
| | |
|
| | | public String getHostId$(){
|
| | | HostService service = SpringUtils.getBean(HostService.class);
|
| | | Host host = service.getById(this.hostId);
|
| New file |
| | |
| | | package com.zy.asrs.wms.asrs.entity.param; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.experimental.Accessors; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Created by vincent on 2020/6/13 |
| | | */ |
| | | @Data |
| | | @Accessors(chain = true) |
| | | public class LocMastInitParam implements Serializable { |
| | | |
| | | @ApiModelProperty("仓库ID") |
| | | private Long warehouseId; |
| | | |
| | | @ApiModelProperty("库区ID") |
| | | private Long areaId; |
| | | |
| | | @ApiModelProperty("起始排") |
| | | private Integer startRow; |
| | | |
| | | @ApiModelProperty("终止排") |
| | | private Integer endRow; |
| | | |
| | | @ApiModelProperty("起始列") |
| | | private Integer startBay; |
| | | |
| | | @ApiModelProperty("终止列") |
| | | private Integer endBay; |
| | | |
| | | @ApiModelProperty("起始层") |
| | | private Integer startLev; |
| | | |
| | | @ApiModelProperty("终止层") |
| | | private Integer endLev; |
| | | |
| | | @ApiModelProperty("库位类型") |
| | | private List<Long> typeIds; |
| | | |
| | | @ApiModelProperty("巷道") |
| | | private Integer channel; |
| | | |
| | | |
| | | } |
| | |
| | |
|
| | | List<Long> listBySts(Long sts);
|
| | |
|
| | | R getRecommendLocs();
|
| | | Loc getRecommendLocs();
|
| | | }
|
| | |
| | | */
|
| | | @Override
|
| | | public R getRecommengLocs() {
|
| | | return this.baseMapper.getRecommendLocs();
|
| | | return R.ok().add(this.baseMapper.getRecommendLocs());
|
| | | }
|
| | | }
|
| | |
| | | List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().in(Order::getId, list));
|
| | | //订单入历史档
|
| | | orders.forEach(order -> {
|
| | | if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
|
| | | throw new CoolException("当前订单类型:" + order.getOrderType() + ",不可做平库上架操作!!");
|
| | | }
|
| | | // if (order.getOrderType() != OrderType.PK_IN_ORDER.id) {
|
| | | // throw new CoolException("当前订单类型:" + order.getOrderType() + ",不可做平库上架操作!!");
|
| | | // }
|
| | | //修改订单状态为已完成
|
| | | order.setOrderSettle(OrderSettleType.COMPLETE.val());
|
| | | OrderLog orderLog = new OrderLog();
|
| | |
| | | import org.springframework.transaction.annotation.Transactional;
|
| | |
|
| | | import java.text.SimpleDateFormat;
|
| | | import java.util.Collections;
|
| | | import java.util.Date;
|
| | | import java.util.HashMap;
|
| | | import java.util.List;
|
| | | import java.util.*;
|
| | |
|
| | | @Service("orderService")
|
| | | public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
|
| | |
| | | throw new CoolException("更新明细索引失败");
|
| | | }
|
| | |
|
| | | mat.setUtiliz(mat.getUtiliz() + 1);
|
| | | mat.setUtiliz(Objects.isNull(mat.getUtiliz()) ? 0 : mat.getUtiliz() + 1);
|
| | |
|
| | | if (!matService.updateById(mat)) {
|
| | | throw new CoolException("物料使用率修改失败!!");
|
| | |
| | | for (TaskDetl taskDetl : taskDetls) {
|
| | | TaskDetlLog taskDetlLog = new TaskDetlLog();
|
| | | taskDetlLog.sync(taskDetl);
|
| | | taskDetlLog.setOrderId(taskDetl.getOrderId());
|
| | | taskDetlLog.setId(null);
|
| | | taskDetlLog.setTaskId(taskLog.getId());
|
| | | if (!taskDetlLogService.save(taskDetlLog)) {
|
| | |
| | | throw new RuntimeException("库位解析异常");
|
| | | }
|
| | |
|
| | | public static String getPlatLocNo(Number row, Number bay, Number lev) {
|
| | | return "C" + zerofill(String.valueOf(row), 2) + "-" + zerofill(String.valueOf(bay), 2) + "-" + zerofill(String.valueOf(lev), 2);
|
| | | }
|
| | |
|
| | | public static String getLocNo(Number row, Number bay, Number lev) {
|
| | | return row + _LINK + bay + _LINK + lev;
|
| | | }
|
| | |
|
| | | public static String zerofill(String msg, Integer count){
|
| | | if (msg.length() == count){
|
| | | return msg;
|
| | | } else if (msg.length() > count){
|
| | | return msg.substring(0, 16);
|
| | | } else {
|
| | | StringBuilder msgBuilder = new StringBuilder(msg);
|
| | | for (int i = 0; i<count-msg.length(); i++){
|
| | | msgBuilder.insert(0,"0");
|
| | | }
|
| | | return msgBuilder.toString();
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * List转为树形结构
|
| | | *
|
| | |
| | | validation-timeout: 3000
|
| | | connection-test-query: select 1
|
| | | driver-class-name: com.mysql.cj.jdbc.Driver
|
| | | # url: jdbc:mysql://127.0.0.1:3306/wms_dev_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
| | | url: jdbc:mysql://127.0.0.1:3306/ycdsasrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
| | | url: jdbc:mysql://127.0.0.1:3306/wms_dev_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
| | | # url: jdbc:mysql://127.0.0.1:3306/ycdsasrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
| | | username: root
|
| | | password: 123456
|
| | | password: 34821015
|
| | | # url: jdbc:mysql://47.76.147.249:3306/wms_dev_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
| | | # username: wms_dev_test
|
| | | # password: smjPbTrkmTMEGKaD
|
| | |
| | | select * from man_loc
|
| | | where loc_sts_id = #{sts}
|
| | | </select>
|
| | | <select id="getRecommendLocs" resultType="com.zy.asrs.framework.common.R">
|
| | | SELECT id, loc_no, loc_sts_id, row1, bay1, lev1, barcode, `status`, flag FROM man_loc WHERE loc_no LIKE '%B%' OR loc_no LIKE '%C%'
|
| | | <select id="getRecommendLocs" resultType="com.zy.asrs.wms.asrs.entity.Loc">
|
| | | SELECT id, loc_no, loc_sts_id, row1, bay1, lev1, barcode, `status`, flag FROM man_loc WHERE (loc_no LIKE '%B%' OR loc_no LIKE '%C%') AND loc_sts_id = 2 ORDER BY lev1 ASC LIMIT 1
|
| | | </select>
|
| | |
|
| | | </mapper>
|