| New file |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.MonthlySettle; |
| | | import com.zy.asrs.entity.param.DateRangeParam; |
| | | import com.zy.asrs.entity.param.MonthlySettleQueryParam; |
| | | import com.zy.asrs.service.MonthlySettleService; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | @RestController |
| | | public class MonthlySettleController extends BaseController { |
| | | |
| | | @Autowired |
| | | private MonthlySettleService monthlySettleService; |
| | | |
| | | /** |
| | | * è·åæç»ä¿¡æ¯ |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/{id}/auth") |
| | | @ManagerAuth |
| | | public R get(@PathVariable("id") Long id) { |
| | | return R.ok(monthlySettleService.selectById(id)); |
| | | } |
| | | |
| | | /** |
| | | * å页æ¥è¯¢æç»å表 |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/list/auth") |
| | | @ManagerAuth |
| | | public R list(MonthlySettleQueryParam param) { |
| | | Page<MonthlySettle> page = new Page<>(param.getCurr(), param.getLimit()); |
| | | java.util.Map<String, Object> condition = new java.util.HashMap<>(); |
| | | if (param.getSettleNo() != null && !param.getSettleNo().trim().isEmpty()) { |
| | | condition.put("settleNo", param.getSettleNo()); |
| | | } |
| | | if (param.getStatus() != null) { |
| | | condition.put("status", param.getStatus()); |
| | | } |
| | | if (param.getStartDate() != null && !param.getStartDate().trim().isEmpty() |
| | | && param.getEndDate() != null && !param.getEndDate().trim().isEmpty()) { |
| | | condition.put("startDate", param.getStartDate()); |
| | | condition.put("endDate", param.getEndDate()); |
| | | } |
| | | page.setCondition(condition); |
| | | return R.ok(monthlySettleService.getPage(page)); |
| | | } |
| | | |
| | | /** |
| | | * è·åæè¿çæç»è®°å½ |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/latest/auth") |
| | | @ManagerAuth |
| | | public R getLatest() { |
| | | MonthlySettle latest = monthlySettleService.getLatestSettle(); |
| | | return R.ok(latest); |
| | | } |
| | | |
| | | /** |
| | | * è·åä¸ä¸ä¸ªæç»çèµ·å§æ¥æ |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/nextStartDate/auth") |
| | | @ManagerAuth |
| | | public R getNextStartDate() { |
| | | Date nextStartDate = monthlySettleService.getNextStartDate(); |
| | | if (nextStartDate != null) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | return R.ok(sdf.format(nextStartDate)); |
| | | } |
| | | return R.ok(null); |
| | | } |
| | | |
| | | /** |
| | | * è·åæææç»è®°å½çç»ææ¥æ |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/latestEndDate/auth") |
| | | @ManagerAuth |
| | | public R getLatestEndDate() { |
| | | Date latestEndDate = monthlySettleService.getLatestEndDate(); |
| | | if (latestEndDate != null) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | return R.ok(sdf.format(latestEndDate)); |
| | | } |
| | | return R.ok(null); |
| | | } |
| | | |
| | | /** |
| | | * æ£æ¥æç»æ¶é´èå´å
æ¯å¦ææªå®æç订å |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/checkUnfinished/auth") |
| | | @ManagerAuth |
| | | public R checkUnfinished(DateRangeParam param) { |
| | | boolean hasUnfinished = monthlySettleService.hasUnfinishedOrders(param.getStartDate(), param.getEndDate()); |
| | | if (hasUnfinished) { |
| | | return R.error("æç»æ¶é´èå´å
å卿ªå®æç订åï¼æ æ³è¿è¡æç»"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * åèµ·æç» |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/start/auth") |
| | | @ManagerAuth |
| | | public R startSettle(DateRangeParam param) { |
| | | return R.ok(monthlySettleService.startSettle(param.getStartDate(), param.getEndDate(), getUserId())); |
| | | } |
| | | |
| | | /** |
| | | * è·åæç»ç»è®¡ä¿¡æ¯ |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/statistics/{id}/auth") |
| | | @ManagerAuth |
| | | public R getStatistics(@PathVariable("id") Long id) { |
| | | return R.ok(monthlySettleService.getSettleStatistics(id)); |
| | | } |
| | | |
| | | /** |
| | | * å 餿ç»è®°å½ |
| | | */ |
| | | @RequestMapping(value = "/monthlySettle/{id}/auth", method = RequestMethod.DELETE) |
| | | @ManagerAuth |
| | | public R delete(@PathVariable("id") Long id) { |
| | | monthlySettleService.deleteSettle(id); |
| | | return R.ok("å 餿å"); |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.OrderDetlPakinLog; |
| | | import com.zy.asrs.service.OrderDetlPakinLogService; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | | @RequestMapping("order/pakinLog") |
| | | public class OrderDetlPakinLogController extends BaseController { |
| | | |
| | | @Autowired |
| | | private OrderDetlPakinLogService orderDetlService; |
| | | |
| | | @RequestMapping(value = "/orderDetl/list/auth") |
| | | @ManagerAuth |
| | | public R list(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderDetlPakinLog> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | Page<OrderDetlPakinLog> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); |
| | | return R.ok(orderDetlPage); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String key = entry.getKey(); |
| | | String val = String.valueOf(entry.getValue()); |
| | | if (Cools.isEmpty(val) || "null".equals(val)) { |
| | | continue; |
| | | } |
| | | if (val.contains(RANGE_TIME_LINK)) { |
| | | String[] dates = val.split(RANGE_TIME_LINK); |
| | | wrapper.ge(key, DateUtils.convert(dates[0])); |
| | | wrapper.le(key, DateUtils.convert(dates[1])); |
| | | } else if ("order_id".equals(key) || "orderId".equals(key)) { |
| | | // order_id使ç¨ç²¾ç¡®å¹é
|
| | | wrapper.eq(key, val); |
| | | } else { |
| | | wrapper.like(key, val); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.OrderDetlPakoutLog; |
| | | import com.zy.asrs.service.OrderDetlPakoutLogService; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | | @RequestMapping("order/pakoutLog") |
| | | public class OrderDetlPakoutLogController extends BaseController { |
| | | |
| | | @Autowired |
| | | private OrderDetlPakoutLogService orderDetlService; |
| | | |
| | | @RequestMapping(value = "/orderDetl/list/auth") |
| | | @ManagerAuth |
| | | public R list(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderDetlPakoutLog> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | Page<OrderDetlPakoutLog> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); |
| | | return R.ok(orderDetlPage); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String key = entry.getKey(); |
| | | String val = String.valueOf(entry.getValue()); |
| | | if (Cools.isEmpty(val) || "null".equals(val)) { |
| | | continue; |
| | | } |
| | | if (val.contains(RANGE_TIME_LINK)) { |
| | | String[] dates = val.split(RANGE_TIME_LINK); |
| | | wrapper.ge(key, DateUtils.convert(dates[0])); |
| | | wrapper.le(key, DateUtils.convert(dates[1])); |
| | | } else if ("order_id".equals(key) || "orderId".equals(key)) { |
| | | // order_id使ç¨ç²¾ç¡®å¹é
|
| | | wrapper.eq(key, val); |
| | | } else { |
| | | wrapper.like(key, val); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.result.WrkTraceVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | | @RequestMapping("order/pakinLog") |
| | | public class OrderPakinLogController extends BaseController { |
| | | |
| | | @Autowired |
| | | private OrderPakinLogService orderService; |
| | | @Autowired |
| | | private OrderDetlPakinLogService orderDetlService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private WrkMastLogService wrkMastLogService; |
| | | @Autowired |
| | | private OrderTimeChangeLogService orderTimeChangeLogService; |
| | | |
| | | @RequestMapping(value = "/order/head/page/auth") |
| | | @ManagerAuth |
| | | public R head(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderPakinLog> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | Page<OrderPakinLog> page = orderService.selectPage(new Page<>(curr, limit), wrapper); |
| | | // æ¹éæ¥è¯¢åªäºè®¢åæåæ´è®°å½ |
| | | if (page.getRecords() != null && !page.getRecords().isEmpty()) { |
| | | java.util.List<Long> orderIds = new java.util.ArrayList<>(); |
| | | for (OrderPakinLog order : page.getRecords()) { |
| | | orderIds.add(order.getId()); |
| | | } |
| | | if (!orderIds.isEmpty()) { |
| | | EntityWrapper<OrderTimeChangeLog> logWrapper = new EntityWrapper<>(); |
| | | logWrapper.in("order_id", orderIds); |
| | | logWrapper.eq("order_type", 1); // 1:å
¥åº |
| | | java.util.List<OrderTimeChangeLog> changeLogs = orderTimeChangeLogService.selectList(logWrapper); |
| | | java.util.Set<Long> orderIdsWithLog = new java.util.HashSet<>(); |
| | | if (changeLogs != null) { |
| | | for (OrderTimeChangeLog log : changeLogs) { |
| | | orderIdsWithLog.add(log.getOrderId()); |
| | | } |
| | | } |
| | | // 设置æ¯å¦æåæ´è®°å½æ è¯ |
| | | for (OrderPakinLog order : page.getRecords()) { |
| | | order.setHasChangeLog(orderIdsWithLog.contains(order.getId())); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(page); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/detl/all/auth") |
| | | @ManagerAuth |
| | | public R head(@RequestParam Long orderId) { |
| | | return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId))); |
| | | } |
| | | |
| | | @PostMapping(value = "/order/wrk/trace/auth") |
| | | @ManagerAuth |
| | | public R orderWrkTrace(@RequestParam("orderId") Long orderId) { |
| | | OrderPakinLog order = orderService.selectById(orderId); |
| | | if (null == order) { |
| | | return R.error("åæ®ä¸åå¨"); |
| | | } |
| | | // æ°éç»è®¡ |
| | | List<OrderDetlPakinLog> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId)); |
| | | double totalQty = 0; |
| | | double wrkQty = 0; |
| | | double lackQty = 0; |
| | | double endQty = 0; |
| | | for (OrderDetlPakinLog orderDetl : orderDetls) { |
| | | totalQty = totalQty + orderDetl.getAnfme(); |
| | | wrkQty = wrkQty + (orderDetl.getWorkQty() != null ? orderDetl.getWorkQty() : 0); |
| | | endQty = endQty + (orderDetl.getQty() != null ? orderDetl.getQty() : 0); |
| | | } |
| | | // ä»»å¡è¿½æº¯ |
| | | List<WrkTraceVo> wrkTraceVos = new ArrayList<>(); |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo()); |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); |
| | | if (wrkMast == null) { |
| | | WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); |
| | | if (wrkMastLog != null && wrkMastLog.getIoType() == 103) { |
| | | wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type", 53)); |
| | | } |
| | | if (wrkMastLog != null) { |
| | | wrkMast = new WrkMast(); |
| | | BeanUtils.copyProperties(wrkMastLog, wrkMast); |
| | | } else { |
| | | continue; |
| | | } |
| | | } |
| | | boolean exist = false; |
| | | for (WrkTraceVo vo : wrkTraceVos) { |
| | | if (vo.getWrkNo().equals(wrkMast.getWrkNo()) && vo.getIoTimeStr().equals(DateUtils.convert(wrkMast.getIoTime()))) { |
| | | vo.getWrkDetls().add(wrkDetl); |
| | | exist = true; |
| | | } |
| | | } |
| | | if (!exist) { |
| | | WrkTraceVo vo = new WrkTraceVo(wrkMast.getWrkNo(), DateUtils.convert(wrkMast.getIoTime()), wrkMast, wrkDetl); |
| | | wrkTraceVos.add(vo); |
| | | } |
| | | } |
| | | if (!Cools.isEmpty(wrkTraceVos) && wrkTraceVos.size() > 1) { |
| | | wrkTraceVos.sort((o1, o2) -> (int) (o2.getWrkMast().getIoTime().getTime() - o1.getWrkMast().getIoTime().getTime())); |
| | | } |
| | | return R.ok().add(Cools |
| | | .add("list", wrkTraceVos) |
| | | .add("orderNo", order.getOrderNo()) |
| | | .add("totalQty", totalQty) |
| | | .add("wrkQty", wrkQty) |
| | | .add("lackQty", lackQty) |
| | | .add("endQty", endQty) |
| | | ); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/{id}/auth") |
| | | @ManagerAuth |
| | | public R get(@PathVariable("id") String id) { |
| | | return R.ok(orderService.selectById(String.valueOf(id))); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/list/auth") |
| | | @ManagerAuth |
| | | public R list(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderPakinLog> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } |
| | | return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | @PostMapping(value = "/order/update/orderTime/auth") |
| | | @ManagerAuth(memo = "ä¿®æ¹åå²åæ®ä¸å¡æ¶é´") |
| | | public R updateOrderTime(@RequestParam Long id, @RequestParam String orderTime, @RequestParam(required = false) String memo) { |
| | | if (Cools.isEmpty(id) || Cools.isEmpty(orderTime)) { |
| | | return R.error("åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | OrderPakinLog order = orderService.selectById(id); |
| | | if (order == null) { |
| | | return R.error("åæ®ä¸åå¨"); |
| | | } |
| | | // æ£æ¥æ¯å¦å·²ç»å®æç»åæ®ï¼å¦æå·²ç»å®åç¦æ¢ä¿®æ¹ |
| | | if (order.getMonthlySettleId() != null && order.getMonthlySettleId() > 0) { |
| | | return R.error("è¯¥åæ®å·²ç»å®æç»åæ®ï¼ä¸è½ä¿®æ¹ä¸å¡æ¶é´"); |
| | | } |
| | | // è·ååä¸å¡æ¶é´ï¼å¨ä¿®æ¹åè·åï¼ |
| | | String oldOrderTime = order.getOrderTime(); |
| | | // æ£æ¥æ°æ§æ¶é´æ¯å¦ç¸å |
| | | if (oldOrderTime != null && oldOrderTime.equals(orderTime)) { |
| | | return R.error("æ°ä¸å¡æ¶é´ä¸åä¸å¡æ¶é´ç¸åï¼æ éä¿®æ¹"); |
| | | } |
| | | // æ´æ°ä¸å¡æ¶é´ |
| | | order.setOrderTime(orderTime); |
| | | order.setUpdateBy(getUserId()); |
| | | order.setUpdateTime(new Date()); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("ä¿®æ¹ä¸å¡æ¶é´å¤±è´¥"); |
| | | } |
| | | // ä¿ååæ´è®°å½ï¼åªææ¶é´ä¸åæ¶æä¿åï¼ |
| | | if (oldOrderTime != null && !oldOrderTime.equals(orderTime)) { |
| | | OrderTimeChangeLog changeLog = new OrderTimeChangeLog(); |
| | | changeLog.setOrderId(order.getId()); |
| | | changeLog.setOrderNo(order.getOrderNo()); |
| | | changeLog.setOrderType(1); // 1:å
¥åº |
| | | changeLog.setOldOrderTime(oldOrderTime); |
| | | changeLog.setNewOrderTime(orderTime); |
| | | changeLog.setMemo(memo); |
| | | changeLog.setCreateBy(getUserId()); |
| | | changeLog.setCreateTime(new Date()); |
| | | orderTimeChangeLogService.insert(changeLog); |
| | | } |
| | | return R.ok("ä¿®æ¹æå"); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String val = String.valueOf(entry.getValue()); |
| | | if (val.contains(RANGE_TIME_LINK)) { |
| | | String[] dates = val.split(RANGE_TIME_LINK); |
| | | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); |
| | | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); |
| | | } else { |
| | | wrapper.like(entry.getKey(), val); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.result.WrkTraceVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | | @RequestMapping("order/pakoutLog") |
| | | public class OrderPakoutLogController extends BaseController { |
| | | |
| | | @Autowired |
| | | private OrderPakoutLogService orderService; |
| | | @Autowired |
| | | private OrderDetlPakoutLogService orderDetlService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private WrkMastLogService wrkMastLogService; |
| | | @Autowired |
| | | private OrderTimeChangeLogService orderTimeChangeLogService; |
| | | |
| | | @RequestMapping(value = "/order/head/page/auth") |
| | | @ManagerAuth |
| | | public R head(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderPakoutLog> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | Page<OrderPakoutLog> page = orderService.selectPage(new Page<>(curr, limit), wrapper); |
| | | // æ¹éæ¥è¯¢åªäºè®¢åæåæ´è®°å½ |
| | | if (page.getRecords() != null && !page.getRecords().isEmpty()) { |
| | | java.util.List<Long> orderIds = new java.util.ArrayList<>(); |
| | | for (OrderPakoutLog order : page.getRecords()) { |
| | | orderIds.add(order.getId()); |
| | | } |
| | | if (!orderIds.isEmpty()) { |
| | | EntityWrapper<OrderTimeChangeLog> logWrapper = new EntityWrapper<>(); |
| | | logWrapper.in("order_id", orderIds); |
| | | logWrapper.eq("order_type", 2); // 2:åºåº |
| | | java.util.List<OrderTimeChangeLog> changeLogs = orderTimeChangeLogService.selectList(logWrapper); |
| | | java.util.Set<Long> orderIdsWithLog = new java.util.HashSet<>(); |
| | | if (changeLogs != null) { |
| | | for (OrderTimeChangeLog log : changeLogs) { |
| | | orderIdsWithLog.add(log.getOrderId()); |
| | | } |
| | | } |
| | | // 设置æ¯å¦æåæ´è®°å½æ è¯ |
| | | for (OrderPakoutLog order : page.getRecords()) { |
| | | order.setHasChangeLog(orderIdsWithLog.contains(order.getId())); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(page); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/detl/all/auth") |
| | | @ManagerAuth |
| | | public R head(@RequestParam Long orderId) { |
| | | return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId))); |
| | | } |
| | | |
| | | @PostMapping(value = "/order/wrk/trace/auth") |
| | | @ManagerAuth |
| | | public R orderWrkTrace(@RequestParam("orderId") Long orderId) { |
| | | OrderPakoutLog order = orderService.selectById(orderId); |
| | | if (null == order) { |
| | | return R.error("åæ®ä¸åå¨"); |
| | | } |
| | | // æ°éç»è®¡ |
| | | List<OrderDetlPakoutLog> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId)); |
| | | double totalQty = 0; |
| | | double wrkQty = 0; |
| | | double lackQty = 0; |
| | | double endQty = 0; |
| | | for (OrderDetlPakoutLog orderDetl : orderDetls) { |
| | | totalQty = totalQty + orderDetl.getAnfme(); |
| | | wrkQty = wrkQty + (orderDetl.getWorkQty() != null ? orderDetl.getWorkQty() : 0); |
| | | endQty = endQty + (orderDetl.getQty() != null ? orderDetl.getQty() : 0); |
| | | } |
| | | // ä»»å¡è¿½æº¯ |
| | | List<WrkTraceVo> wrkTraceVos = new ArrayList<>(); |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo()); |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | WrkMast wrkMast = wrkMastService.selectOne( |
| | | new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); |
| | | if (wrkMast == null) { |
| | | WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>() |
| | | .eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); |
| | | if (wrkMastLog != null && wrkMastLog.getIoType() == 103) { |
| | | wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>() |
| | | .eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type", 53)); |
| | | } |
| | | if (wrkMastLog != null) { |
| | | wrkMast = new WrkMast(); |
| | | BeanUtils.copyProperties(wrkMastLog, wrkMast); |
| | | } else { |
| | | continue; |
| | | } |
| | | } |
| | | boolean exist = false; |
| | | for (WrkTraceVo vo : wrkTraceVos) { |
| | | if (vo.getWrkNo().equals(wrkMast.getWrkNo()) |
| | | && vo.getIoTimeStr().equals(DateUtils.convert(wrkMast.getIoTime()))) { |
| | | vo.getWrkDetls().add(wrkDetl); |
| | | exist = true; |
| | | } |
| | | } |
| | | if (!exist) { |
| | | WrkTraceVo vo = new WrkTraceVo(wrkMast.getWrkNo(), DateUtils.convert(wrkMast.getIoTime()), wrkMast, |
| | | wrkDetl); |
| | | wrkTraceVos.add(vo); |
| | | } |
| | | } |
| | | if (!Cools.isEmpty(wrkTraceVos) && wrkTraceVos.size() > 1) { |
| | | wrkTraceVos.sort( |
| | | (o1, o2) -> (int) (o2.getWrkMast().getIoTime().getTime() - o1.getWrkMast().getIoTime().getTime())); |
| | | } |
| | | return R.ok().add(Cools |
| | | .add("list", wrkTraceVos) |
| | | .add("orderNo", order.getOrderNo()) |
| | | .add("totalQty", totalQty) |
| | | .add("wrkQty", wrkQty) |
| | | .add("lackQty", lackQty) |
| | | .add("endQty", endQty)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/{id}/auth") |
| | | @ManagerAuth |
| | | public R get(@PathVariable("id") String id) { |
| | | return R.ok(orderService.selectById(String.valueOf(id))); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/list/auth") |
| | | @ManagerAuth |
| | | public R list(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderPakoutLog> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } |
| | | return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | @PostMapping(value = "/order/update/orderTime/auth") |
| | | @ManagerAuth(memo = "ä¿®æ¹åå²åæ®ä¸å¡æ¶é´") |
| | | public R updateOrderTime(@RequestParam Long id, @RequestParam String orderTime, @RequestParam(required = false) String memo) { |
| | | if (Cools.isEmpty(id) || Cools.isEmpty(orderTime)) { |
| | | return R.error("åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | OrderPakoutLog order = orderService.selectById(id); |
| | | if (order == null) { |
| | | return R.error("åæ®ä¸åå¨"); |
| | | } |
| | | // æ£æ¥æ¯å¦å·²ç»å®æç»åæ®ï¼å¦æå·²ç»å®åç¦æ¢ä¿®æ¹ |
| | | if (order.getMonthlySettleId() != null && order.getMonthlySettleId() > 0) { |
| | | return R.error("è¯¥åæ®å·²ç»å®æç»åæ®ï¼ä¸è½ä¿®æ¹ä¸å¡æ¶é´"); |
| | | } |
| | | // è·ååä¸å¡æ¶é´ï¼å¨ä¿®æ¹åè·åï¼ |
| | | String oldOrderTime = order.getOrderTime(); |
| | | // æ£æ¥æ°æ§æ¶é´æ¯å¦ç¸å |
| | | if (oldOrderTime != null && oldOrderTime.equals(orderTime)) { |
| | | return R.error("æ°ä¸å¡æ¶é´ä¸åä¸å¡æ¶é´ç¸åï¼æ éä¿®æ¹"); |
| | | } |
| | | // æ´æ°ä¸å¡æ¶é´ |
| | | order.setOrderTime(orderTime); |
| | | order.setUpdateBy(getUserId()); |
| | | order.setUpdateTime(new Date()); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("ä¿®æ¹ä¸å¡æ¶é´å¤±è´¥"); |
| | | } |
| | | // ä¿ååæ´è®°å½ï¼åªææ¶é´ä¸åæ¶æä¿åï¼ |
| | | if (oldOrderTime != null && !oldOrderTime.equals(orderTime)) { |
| | | OrderTimeChangeLog changeLog = new OrderTimeChangeLog(); |
| | | changeLog.setOrderId(order.getId()); |
| | | changeLog.setOrderNo(order.getOrderNo()); |
| | | changeLog.setOrderType(2); // 2:åºåº |
| | | changeLog.setOldOrderTime(oldOrderTime); |
| | | changeLog.setNewOrderTime(orderTime); |
| | | changeLog.setMemo(memo); |
| | | changeLog.setCreateBy(getUserId()); |
| | | changeLog.setCreateTime(new Date()); |
| | | orderTimeChangeLogService.insert(changeLog); |
| | | } |
| | | return R.ok("ä¿®æ¹æå"); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String val = String.valueOf(entry.getValue()); |
| | | if (val.contains(RANGE_TIME_LINK)) { |
| | | String[] dates = val.split(RANGE_TIME_LINK); |
| | | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); |
| | | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); |
| | | } else { |
| | | wrapper.like(entry.getKey(), val); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.OrderTimeChangeLog; |
| | | import com.zy.asrs.service.OrderTimeChangeLogService; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | | @RequestMapping("orderTimeChangeLog") |
| | | public class OrderTimeChangeLogController extends BaseController { |
| | | |
| | | @Autowired |
| | | private OrderTimeChangeLogService orderTimeChangeLogService; |
| | | |
| | | /** |
| | | * å页æ¥è¯¢åæ´è®°å½ |
| | | */ |
| | | @PostMapping(value = "/page/auth") |
| | | @ManagerAuth(memo = "æ¥è¯¢ä¸å¡æ¶é´åæ´è®°å½") |
| | | public R page(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderTimeChangeLog> wrapper = new EntityWrapper<>(); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | return R.ok(orderTimeChangeLogService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®è®¢åIDæ¥è¯¢åæ´è®°å½ |
| | | */ |
| | | @PostMapping(value = "/list/byOrderId/auth") |
| | | @ManagerAuth(memo = "æ ¹æ®è®¢åIDæ¥è¯¢åæ´è®°å½") |
| | | public R listByOrderId(@RequestParam Long orderId) { |
| | | EntityWrapper<OrderTimeChangeLog> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("order_id", orderId); |
| | | wrapper.orderBy("create_time", false); |
| | | java.util.List<OrderTimeChangeLog> list = orderTimeChangeLogService.selectList(wrapper); |
| | | // 设置å建人åç§° |
| | | if (list != null) { |
| | | for (OrderTimeChangeLog log : list) { |
| | | log.setCreateByName(log.getCreateByName()); |
| | | } |
| | | } |
| | | return R.ok(list); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String key = entry.getKey(); |
| | | String val = String.valueOf(entry.getValue()); |
| | | if (Cools.isEmpty(val) || "null".equals(val)) { |
| | | continue; |
| | | } |
| | | if ("order_id".equals(key) || "orderId".equals(key)) { |
| | | wrapper.eq(key, val); |
| | | } else { |
| | | wrapper.like(key, val); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import com.core.common.Cools; |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.system.entity.User; |
| | | import com.zy.system.service.UserService; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @TableName("man_monthly_settle") |
| | | public class MonthlySettle implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * æç»ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æç»ç¼å·") |
| | | @TableField("settle_no") |
| | | private String settleNo; |
| | | |
| | | /** |
| | | * èµ·å§æ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "èµ·å§æ¥æ") |
| | | @TableField("start_date") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date startDate; |
| | | |
| | | /** |
| | | * ç»ææ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "ç»ææ¥æ") |
| | | @TableField("end_date") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date endDate; |
| | | |
| | | /** |
| | | * ç¶æ 0:å¾
æç» 1:å·²æç» |
| | | */ |
| | | @ApiModelProperty(value = "ç¶æ 0:å¾
æç» 1:å·²æç»") |
| | | private Integer status; |
| | | |
| | | /** |
| | | * æ»å
¥åºæ°é |
| | | */ |
| | | @ApiModelProperty(value = "æ»å
¥åºæ°é") |
| | | @TableField("total_in_qty") |
| | | private BigDecimal totalInQty; |
| | | |
| | | /** |
| | | * æ»åºåºæ°é |
| | | */ |
| | | @ApiModelProperty(value = "æ»åºåºæ°é") |
| | | @TableField("total_out_qty") |
| | | private BigDecimal totalOutQty; |
| | | |
| | | /** |
| | | * ç©æç§ç±»æ° |
| | | */ |
| | | @ApiModelProperty(value = "ç©æç§ç±»æ°") |
| | | @TableField("total_materials") |
| | | private Integer totalMaterials; |
| | | |
| | | /** |
| | | * 夿³¨ |
| | | */ |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String memo; |
| | | |
| | | /** |
| | | * å建人å |
| | | */ |
| | | @ApiModelProperty(value = "å建人å") |
| | | @TableField("create_by") |
| | | private Long createBy; |
| | | |
| | | /** |
| | | * å建æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @TableField("create_time") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * ä¿®æ¹äººå |
| | | */ |
| | | @ApiModelProperty(value = "ä¿®æ¹äººå") |
| | | @TableField("update_by") |
| | | private Long updateBy; |
| | | |
| | | /** |
| | | * ä¿®æ¹æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "ä¿®æ¹æ¶é´") |
| | | @TableField("update_time") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * å 餿 è®° 0:æªå é¤ 1:å·²å é¤ |
| | | */ |
| | | @ApiModelProperty(value = "å 餿 è®° 0:æªå é¤ 1:å·²å é¤") |
| | | @TableField("is_deleted") |
| | | private Integer isDeleted; |
| | | |
| | | public String getStatus$() { |
| | | if (null == this.status) { |
| | | return null; |
| | | } |
| | | switch (this.status) { |
| | | case 0: |
| | | return "å¾
æç»"; |
| | | case 1: |
| | | return "å·²æç»"; |
| | | default: |
| | | return String.valueOf(this.status); |
| | | } |
| | | } |
| | | |
| | | |
| | | public String getStartDate$() { |
| | | if (Cools.isEmpty(this.startDate)) { |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd").format(this.startDate); |
| | | } |
| | | |
| | | public String getEndDate$() { |
| | | if (Cools.isEmpty(this.endDate)) { |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd").format(this.endDate); |
| | | } |
| | | |
| | | public String getCreateBy$() { |
| | | UserService service = SpringUtils.getBean(UserService.class); |
| | | User user = service.selectById(this.createBy); |
| | | if (!Cools.isEmpty(user)) { |
| | | return String.valueOf(user.getUsername()); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public String getCreateTime$() { |
| | | if (Cools.isEmpty(this.createTime)) { |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); |
| | | } |
| | | |
| | | public String getUpdateBy$() { |
| | | UserService service = SpringUtils.getBean(UserService.class); |
| | | User user = service.selectById(this.updateBy); |
| | | if (!Cools.isEmpty(user)) { |
| | | return String.valueOf(user.getUsername()); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public String getUpdateTime$() { |
| | | if (Cools.isEmpty(this.updateTime)) { |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); |
| | | } |
| | | } |
| | | |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @TableName("man_monthly_settle_detail") |
| | | public class MonthlySettleDetail implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * æç»ä¸»è¡¨ID |
| | | */ |
| | | @ApiModelProperty(value = "æç»ä¸»è¡¨ID") |
| | | @TableField("settle_id") |
| | | private Long settleId; |
| | | |
| | | /** |
| | | * æç»ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æç»ç¼å·") |
| | | @TableField("settle_no") |
| | | private String settleNo; |
| | | |
| | | // ========== åºæ¬ä¿¡æ¯ ========== |
| | | /** |
| | | * ç©æç¼ç |
| | | */ |
| | | @ApiModelProperty(value = "ç©æç¼ç ") |
| | | private String matnr; |
| | | |
| | | /** |
| | | * æ¹æ¬¡ï¼è®¢åæç»æ¹æ¬¡ï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ¹æ¬¡") |
| | | private String batch; |
| | | |
| | | /** |
| | | * ç©æåç§°ï¼æç»æ¶ä»è®¢åæç»è¡¨è·åï¼ |
| | | */ |
| | | @ApiModelProperty(value = "ç©æåç§°") |
| | | private String maktx; |
| | | |
| | | /** |
| | | * åçï¼æç»æ¶ä»è®¢åæç»è¡¨è·åï¼ |
| | | */ |
| | | @ApiModelProperty(value = "åç") |
| | | private String brand; |
| | | |
| | | // ========== æ°éä¿¡æ¯ ========== |
| | | /** |
| | | * æååºåï¼ä¸æç»ä½ï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æååºåï¼ä¸æç»ä½ï¼") |
| | | @TableField("beginning_qty") |
| | | private BigDecimal beginningQty; |
| | | |
| | | /** |
| | | * æ¬æå
¥åºæ°é |
| | | */ |
| | | @ApiModelProperty(value = "æ¬æå
¥åºæ°é") |
| | | @TableField("in_qty") |
| | | private BigDecimal inQty; |
| | | |
| | | /** |
| | | * æ¬æåºåºæ°é |
| | | */ |
| | | @ApiModelProperty(value = "æ¬æåºåºæ°é") |
| | | @TableField("out_qty") |
| | | private BigDecimal outQty; |
| | | |
| | | /** |
| | | * ææ«åºåï¼æå+å
¥åº-åºåºï¼ |
| | | */ |
| | | @ApiModelProperty(value = "ææ«åºåï¼æå+å
¥åº-åºåºï¼") |
| | | @TableField("ending_qty") |
| | | private BigDecimal endingQty; |
| | | |
| | | /** |
| | | * 差弿°éï¼ææ«åºå-æååºåï¼ |
| | | * ææ«å¤§äºæåæ¶ä¸ºæ£æ°ï¼è¡¨ç¤ºåºåå¢å |
| | | */ |
| | | @ApiModelProperty(value = "差弿°éï¼ææ«åºå-æååºåï¼") |
| | | @TableField("diff_qty") |
| | | private BigDecimal diffQty; |
| | | |
| | | // ========== å
³èåæ®µï¼éè¿å
³èæ¥è¯¢è·åï¼ä¸åå¨å¨æç»è¡¨ä¸ï¼========== |
| | | |
| | | /** |
| | | * è§æ ¼ï¼ä¼å
ä»åºå
¥åºè®¢åæç»è¡¨è·åï¼å¦æä¸ºç©ºåä»ç©æè¡¨è·åï¼ |
| | | */ |
| | | @ApiModelProperty(value = "è§æ ¼") |
| | | @TableField(exist = false) |
| | | private String specs; |
| | | |
| | | /** |
| | | * åå·ï¼ä¼å
ä»åºå
¥åºè®¢åæç»è¡¨è·åï¼å¦æä¸ºç©ºåä»ç©æè¡¨è·åï¼ |
| | | */ |
| | | @ApiModelProperty(value = "åå·") |
| | | @TableField(exist = false) |
| | | private String model; |
| | | |
| | | /** |
| | | * é¢è²ï¼ä¼å
ä»åºå
¥åºè®¢åæç»è¡¨è·åï¼å¦æä¸ºç©ºåä»ç©æè¡¨è·åï¼ |
| | | */ |
| | | @ApiModelProperty(value = "é¢è²") |
| | | @TableField(exist = false) |
| | | private String color; |
| | | |
| | | /** |
| | | * åä½ï¼ä»ç©æè¡¨è·åï¼ |
| | | */ |
| | | @ApiModelProperty(value = "åä½") |
| | | @TableField(exist = false) |
| | | private String unit; |
| | | |
| | | // ========== æ¶é´ä¿¡æ¯ ========== |
| | | /** |
| | | * å建æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @TableField("create_time") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * å 餿 è®° 0:æªå é¤ 1:å·²å é¤ |
| | | */ |
| | | @ApiModelProperty(value = "å 餿 è®° 0:æªå é¤ 1:å·²å é¤") |
| | | @TableField("is_deleted") |
| | | private Integer isDeleted; |
| | | } |
| | | |
| | | |
| | |
| | | import java.util.Objects; |
| | | |
| | | @Data |
| | | @TableName("man_order_detl_pakin_log") |
| | | @TableName("man_order_detl_log_pakin") |
| | | public class OrderDetlPakinLog implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | private Long id; |
| | | |
| | | /** |
| | |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @TableName("man_order_detl_pakout_log") |
| | | @TableName("man_order_detl_log_pakout") |
| | | public class OrderDetlPakoutLog implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | private Long id; |
| | | |
| | | /** |
| | |
| | | @TableField("pakin_pakout_status") |
| | | private Integer pakinPakoutStatus; |
| | | |
| | | /** |
| | | * æç»ID |
| | | */ |
| | | @ApiModelProperty(value = "æç»ID") |
| | | @TableField("monthly_settle_id") |
| | | private Long monthlySettleId; |
| | | |
| | | /** |
| | | * æç»ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æç»ç¼å·") |
| | | @TableField("monthly_settle_no") |
| | | private String monthlySettleNo; |
| | | |
| | | public OrderPakin() { |
| | | } |
| | | |
| | |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @TableName("man_order_pakin_log") |
| | | @TableName("man_order_log_pakin") |
| | | public class OrderPakinLog implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | private Long id; |
| | | |
| | | /** |
| | |
| | | @TableField("pakin_pakout_status") |
| | | private Integer pakinPakoutStatus; |
| | | |
| | | /** |
| | | * æç»ID |
| | | */ |
| | | @ApiModelProperty(value = "æç»ID") |
| | | @TableField("monthly_settle_id") |
| | | private Long monthlySettleId; |
| | | |
| | | /** |
| | | * æç»ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æç»ç¼å·") |
| | | @TableField("monthly_settle_no") |
| | | private String monthlySettleNo; |
| | | |
| | | /** |
| | | * æ¯å¦æä¸å¡æ¶é´åæ´è®°å½ï¼ä¸´æ¶å段ï¼ä¸æ å°å°æ°æ®åºï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦æä¸å¡æ¶é´åæ´è®°å½") |
| | | @TableField(exist = false) |
| | | private Boolean hasChangeLog; |
| | | |
| | | public OrderPakinLog() { |
| | | } |
| | | |
| | |
| | | @TableField("pakin_pakout_status") |
| | | private Integer pakinPakoutStatus; |
| | | |
| | | /** |
| | | * æç»ID |
| | | */ |
| | | @ApiModelProperty(value = "æç»ID") |
| | | @TableField("monthly_settle_id") |
| | | private Long monthlySettleId; |
| | | |
| | | /** |
| | | * æç»ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æç»ç¼å·") |
| | | @TableField("monthly_settle_no") |
| | | private String monthlySettleNo; |
| | | |
| | | public OrderPakout() { |
| | | } |
| | | |
| | |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @TableName("man_order_pakout_log") |
| | | @TableName("man_order_log_pakout") |
| | | public class OrderPakoutLog implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | private Long id; |
| | | |
| | | /** |
| | |
| | | @TableField("pakin_pakout_status") |
| | | private Integer pakinPakoutStatus; |
| | | |
| | | /** |
| | | * æç»ID |
| | | */ |
| | | @ApiModelProperty(value = "æç»ID") |
| | | @TableField("monthly_settle_id") |
| | | private Long monthlySettleId; |
| | | |
| | | /** |
| | | * æç»ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æç»ç¼å·") |
| | | @TableField("monthly_settle_no") |
| | | private String monthlySettleNo; |
| | | |
| | | /** |
| | | * æ¯å¦æä¸å¡æ¶é´åæ´è®°å½ï¼ä¸´æ¶å段ï¼ä¸æ å°å°æ°æ®åºï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦æä¸å¡æ¶é´åæ´è®°å½") |
| | | @TableField(exist = false) |
| | | private Boolean hasChangeLog; |
| | | |
| | | public OrderPakoutLog() { |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import com.core.common.Cools; |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.system.entity.User; |
| | | import com.zy.system.service.UserService; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @TableName("man_order_time_change_log") |
| | | public class OrderTimeChangeLog implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * 订åID |
| | | */ |
| | | @ApiModelProperty(value = "订åID") |
| | | @TableField("order_id") |
| | | private Long orderId; |
| | | |
| | | /** |
| | | * åæ®ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åæ®ç¼å·") |
| | | @TableField("order_no") |
| | | private String orderNo; |
| | | |
| | | /** |
| | | * 订åç±»å 1:å
¥åº 2:åºåº |
| | | */ |
| | | @ApiModelProperty(value = "订åç±»å 1:å
¥åº 2:åºåº") |
| | | @TableField("order_type") |
| | | private Integer orderType; |
| | | |
| | | /** |
| | | * åä¸å¡æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "åä¸å¡æ¶é´") |
| | | @TableField("old_order_time") |
| | | private String oldOrderTime; |
| | | |
| | | /** |
| | | * æ°ä¸å¡æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "æ°ä¸å¡æ¶é´") |
| | | @TableField("new_order_time") |
| | | private String newOrderTime; |
| | | |
| | | /** |
| | | * 夿³¨ |
| | | */ |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String memo; |
| | | |
| | | /** |
| | | * å建人 |
| | | */ |
| | | @ApiModelProperty(value = "å建人") |
| | | @TableField("create_by") |
| | | private Long createBy; |
| | | |
| | | /** |
| | | * å建æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @TableField("create_time") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * å建人åç§° |
| | | */ |
| | | @ApiModelProperty(value = "å建人åç§°") |
| | | @TableField(exist = false) |
| | | private String createByName; |
| | | |
| | | public String getCreateByName() { |
| | | if (createByName != null) { |
| | | return createByName; |
| | | } |
| | | UserService service = SpringUtils.getBean(UserService.class); |
| | | User user = service.selectById(this.createBy); |
| | | if (!Cools.isEmpty(user)) { |
| | | return user.getUsername(); |
| | | } |
| | | if (this.createBy != null && this.createBy == 9527) { |
| | | return "super"; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public String getCreateTime$() { |
| | | if (Cools.isEmpty(this.createTime)) { |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * æ¥æèå´åæ° |
| | | */ |
| | | @Data |
| | | public class DateRangeParam { |
| | | |
| | | /** |
| | | * èµ·å§æ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "èµ·å§æ¥æ", required = true) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private Date startDate; |
| | | |
| | | /** |
| | | * ç»ææ¥æï¼å¯ä»¥æ¥å yyyy-MM-dd æ yyyy-MM-dd HH:mm:ss æ ¼å¼ï¼ |
| | | */ |
| | | @ApiModelProperty(value = "ç»ææ¥æ", required = true) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private Date endDate; |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * æç»æ¥è¯¢åæ° |
| | | */ |
| | | @Data |
| | | public class MonthlySettleQueryParam { |
| | | |
| | | /** |
| | | * å½å页 |
| | | */ |
| | | @ApiModelProperty(value = "å½å页") |
| | | private Integer curr = 1; |
| | | |
| | | /** |
| | | * æ¯é¡µæ°é |
| | | */ |
| | | @ApiModelProperty(value = "æ¯é¡µæ°é") |
| | | private Integer limit = 10; |
| | | |
| | | /** |
| | | * æç»ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æç»ç¼å·") |
| | | private String settleNo; |
| | | |
| | | /** |
| | | * ç¶æ |
| | | */ |
| | | @ApiModelProperty(value = "ç¶æ") |
| | | private Integer status; |
| | | |
| | | /** |
| | | * èµ·å§æ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "èµ·å§æ¥æ") |
| | | private String startDate; |
| | | |
| | | /** |
| | | * ç»ææ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "ç»ææ¥æ") |
| | | private String endDate; |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.result; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * ç©æåºå
¥åºåå§æ°æ®ï¼æªåç±»ï¼ |
| | | */ |
| | | @Data |
| | | public class MaterialInOutRawDTO { |
| | | |
| | | /** |
| | | * ç©æç¼ç |
| | | */ |
| | | private String matnr; |
| | | |
| | | /** |
| | | * ç©æåç§° |
| | | */ |
| | | private String maktx; |
| | | |
| | | /** |
| | | * æ¹æ¬¡ |
| | | */ |
| | | private String batch; |
| | | |
| | | /** |
| | | * åç |
| | | */ |
| | | private String brand; |
| | | |
| | | /** |
| | | * æ°éï¼é½æ¯æ£æ°ï¼ |
| | | */ |
| | | private BigDecimal qty; |
| | | |
| | | /** |
| | | * å
¥åºåºç±»åï¼0ï¼æªç¥ï¼1ï¼å
¥åºï¼2ï¼åºåºï¼ |
| | | */ |
| | | private Integer pakinPakoutStatus; |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.result; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * ç©æåºå
¥åºç»è®¡ |
| | | */ |
| | | @Data |
| | | public class MaterialInOutStatDTO { |
| | | |
| | | /** |
| | | * ç©æç¼ç |
| | | */ |
| | | private String matnr; |
| | | |
| | | /** |
| | | * ç©æåç§° |
| | | */ |
| | | private String maktx; |
| | | |
| | | /** |
| | | * æ¹æ¬¡ |
| | | */ |
| | | private String batch; |
| | | |
| | | /** |
| | | * åç |
| | | */ |
| | | private String brand; |
| | | |
| | | /** |
| | | * å
¥åºæ°é |
| | | */ |
| | | private BigDecimal inQty; |
| | | |
| | | /** |
| | | * åºåºæ°é |
| | | */ |
| | | private BigDecimal outQty; |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.result; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * æç»ç»æ |
| | | */ |
| | | @Data |
| | | public class MonthlySettleResultVO { |
| | | |
| | | /** |
| | | * æç»ID |
| | | */ |
| | | @ApiModelProperty(value = "æç»ID") |
| | | private Long settleId; |
| | | |
| | | /** |
| | | * æç»ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æç»ç¼å·") |
| | | private String settleNo; |
| | | |
| | | /** |
| | | * æ»å
¥åºæ°é |
| | | */ |
| | | @ApiModelProperty(value = "æ»å
¥åºæ°é") |
| | | private BigDecimal totalInQty; |
| | | |
| | | /** |
| | | * æ»åºåºæ°é |
| | | */ |
| | | @ApiModelProperty(value = "æ»åºåºæ°é") |
| | | private BigDecimal totalOutQty; |
| | | |
| | | /** |
| | | * ç©æç§ç±»æ° |
| | | */ |
| | | @ApiModelProperty(value = "ç©æç§ç±»æ°") |
| | | private Integer totalMaterials; |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.result; |
| | | |
| | | import com.zy.asrs.entity.MonthlySettle; |
| | | import com.zy.asrs.entity.MonthlySettleDetail; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æç»ç»è®¡ä¿¡æ¯ |
| | | */ |
| | | @Data |
| | | public class MonthlySettleStatisticsVO { |
| | | |
| | | /** |
| | | * æç»ä¸»è®°å½ |
| | | */ |
| | | @ApiModelProperty(value = "æç»ä¸»è®°å½") |
| | | private MonthlySettle settle; |
| | | |
| | | /** |
| | | * æç»æç»å表 |
| | | */ |
| | | @ApiModelProperty(value = "æç»æç»å表") |
| | | private List<MonthlySettleDetail> details; |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.result; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * 䏿æç»ææ«åºå |
| | | */ |
| | | @Data |
| | | public class PreviousSettleEndingQtyDTO { |
| | | |
| | | /** |
| | | * ç©æç¼ç |
| | | */ |
| | | private String matnr; |
| | | |
| | | /** |
| | | * æ¹æ¬¡ |
| | | */ |
| | | private String batch; |
| | | |
| | | /** |
| | | * åç |
| | | */ |
| | | private String brand; |
| | | |
| | | /** |
| | | * ç©æåç§° |
| | | */ |
| | | private String maktx; |
| | | |
| | | /** |
| | | * ææ«åºå |
| | | */ |
| | | private BigDecimal endingQty; |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.result; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * åºåæ°éDTOï¼ç¨äºæ¹éæ¥è¯¢ï¼ |
| | | */ |
| | | @Data |
| | | public class StockQtyDTO { |
| | | |
| | | /** |
| | | * ç©æç¼ç |
| | | */ |
| | | private String matnr; |
| | | |
| | | /** |
| | | * æ¹æ¬¡ |
| | | */ |
| | | private String batch; |
| | | |
| | | /** |
| | | * åºåæ°é |
| | | */ |
| | | private BigDecimal stockQty; |
| | | } |
| | | |
| | |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | |
| | | /** |
| | | * æ¹éæ¥è¯¢åºåæ°é |
| | | * @param matnrBatchList ç©æç¼ç åæ¹æ¬¡çç»ååè¡¨ï¼æ ¼å¼ï¼matnr_batch |
| | | */ |
| | | List<com.zy.asrs.entity.result.StockQtyDTO> queryStockAnfmeBatch(@Param("matnrBatchList") List<String> matnrBatchList); |
| | | |
| | | List<StockVo> queryStockTotal(); |
| | | |
| | | |
| New file |
| | |
| | | package com.zy.asrs.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import com.zy.asrs.entity.MonthlySettleDetail; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | @Repository |
| | | public interface MonthlySettleDetailMapper extends BaseMapper<MonthlySettleDetail> { |
| | | |
| | | /** |
| | | * æ¥è¯¢æç»æç»ï¼å
³èç©æè¡¨ï¼ |
| | | */ |
| | | List<MonthlySettleDetail> selectDetailWithMat(@Param("settleId") Long settleId); |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import com.zy.asrs.entity.MonthlySettle; |
| | | import com.zy.asrs.entity.result.MaterialInOutRawDTO; |
| | | import com.zy.asrs.entity.result.PreviousSettleEndingQtyDTO; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | @Repository |
| | | public interface MonthlySettleMapper extends BaseMapper<MonthlySettle> { |
| | | |
| | | /** |
| | | * è·åæè¿çæç»è®°å½ |
| | | */ |
| | | MonthlySettle selectLatestSettle(); |
| | | |
| | | /** |
| | | * ç»è®¡æç»æ¶é´èå´å
æªå®æçå
¥åºè®¢åæ°é |
| | | */ |
| | | int countUnfinishedOrdersInRangePakin(@Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | /** |
| | | * ç»è®¡æç»æ¶é´èå´å
æªå®æçåºåºè®¢åæ°é |
| | | */ |
| | | int countUnfinishedOrdersInRangePakout(@Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | /** |
| | | * ç»è®¡æç»æ¶é´èå´å
çç©æåºå
¥åºæ°éï¼ä»å
¥åºè¡¨æ¥è¯¢ï¼ |
| | | */ |
| | | List<MaterialInOutRawDTO> statisticsMaterialInOutFromPakin(@Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | /** |
| | | * ç»è®¡æç»æ¶é´èå´å
çç©æåºå
¥åºæ°éï¼ä»åºåºè¡¨æ¥è¯¢ï¼ |
| | | */ |
| | | List<MaterialInOutRawDTO> statisticsMaterialInOutFromPakout(@Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | /** |
| | | * è·åä¸ä¸ä¸ªæç»çç©æææ«åºå |
| | | */ |
| | | List<PreviousSettleEndingQtyDTO> getPreviousSettleEndingQty(@Param("previousSettleId") Long previousSettleId); |
| | | |
| | | /** |
| | | * æ´æ°å
¥åºè®¢åçæç»ä¿¡æ¯ |
| | | */ |
| | | int updateOrderSettleInfo(@Param("settleId") Long settleId, @Param("settleNo") String settleNo, |
| | | @Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | /** |
| | | * æ´æ°åºåºè®¢åçæç»ä¿¡æ¯ |
| | | */ |
| | | int updateOrderSettleInfoPakout(@Param("settleId") Long settleId, @Param("settleNo") String settleNo, |
| | | @Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | /** |
| | | * æ¸
é¤å
¥åºè®¢åçæç»ä¿¡æ¯ |
| | | */ |
| | | int clearOrderSettleInfo(@Param("settleId") Long settleId); |
| | | |
| | | /** |
| | | * æ¸
é¤åºåºè®¢åçæç»ä¿¡æ¯ |
| | | */ |
| | | int clearOrderSettleInfoPakout(@Param("settleId") Long settleId); |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import com.zy.asrs.entity.OrderTimeChangeLog; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | @Mapper |
| | | @Repository |
| | | public interface OrderTimeChangeLogMapper extends BaseMapper<OrderTimeChangeLog> { |
| | | } |
| | | |
| | |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | |
| | | /** |
| | | * æ¹éæ¥è¯¢åºåæ°é |
| | | * @param matnrBatchList ç©æç¼ç åæ¹æ¬¡çç»ååè¡¨ï¼æ ¼å¼ï¼matnr_batch |
| | | */ |
| | | List<com.zy.asrs.entity.result.StockQtyDTO> queryStockAnfmeBatch(List<String> matnrBatchList); |
| | | |
| | | List<StockVo> queryStockTotal(); |
| | | |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service; |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.MonthlySettle; |
| | | import com.zy.asrs.entity.result.MonthlySettleResultVO; |
| | | import com.zy.asrs.entity.result.MonthlySettleStatisticsVO; |
| | | |
| | | import java.util.Date; |
| | | |
| | | public interface MonthlySettleService extends IService<MonthlySettle> { |
| | | |
| | | /** |
| | | * è·åæè¿çæç»è®°å½ |
| | | */ |
| | | MonthlySettle getLatestSettle(); |
| | | |
| | | /** |
| | | * è·åä¸ä¸ä¸ªæç»çèµ·å§æ¥æ |
| | | */ |
| | | Date getNextStartDate(); |
| | | |
| | | /** |
| | | * è·åæææç»è®°å½çç»ææ¥æ |
| | | */ |
| | | Date getLatestEndDate(); |
| | | |
| | | /** |
| | | * æ£æ¥æç»æ¶é´èå´å
æ¯å¦ææªå®æç订å |
| | | */ |
| | | boolean hasUnfinishedOrders(Date startDate, Date endDate); |
| | | |
| | | /** |
| | | * åèµ·æç» |
| | | */ |
| | | MonthlySettleResultVO startSettle(Date startDate, Date endDate, Long userId); |
| | | |
| | | /** |
| | | * è·åæç»ç»è®¡ä¿¡æ¯ |
| | | */ |
| | | MonthlySettleStatisticsVO getSettleStatistics(Long settleId); |
| | | |
| | | /** |
| | | * å页æ¥è¯¢æç»å表 |
| | | */ |
| | | Page<MonthlySettle> getPage(Page<MonthlySettle> page); |
| | | |
| | | /** |
| | | * å 餿ç»è®°å½ |
| | | */ |
| | | void deleteSettle(Long settleId); |
| | | |
| | | /** |
| | | * æ£æ¥æå®æ¥ææ¯å¦å¨ä»»ä½å·²æç»çåºé´å
|
| | | * @param orderTime 订åä¸å¡æ¶é´ï¼åç¬¦ä¸²æ ¼å¼ï¼yyyy-MM-dd HH:mm:ssï¼ |
| | | * @return å¦ææ¥æå¨ä»»ä½å·²æç»åºé´å
ï¼è¿åtrueï¼å¦åè¿åfalse |
| | | */ |
| | | boolean isOrderTimeInSettledRange(String orderTime); |
| | | } |
| | | |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service; |
| | | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.OrderDetlPakinLog; |
| | | |
| | | public interface OrderDetlPakinLogService extends IService<OrderDetlPakinLog> { |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service; |
| | | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.OrderDetlPakoutLog; |
| | | |
| | | public interface OrderDetlPakoutLogService extends IService<OrderDetlPakoutLog> { |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service; |
| | | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.OrderDetlPakinLog; |
| | | import com.zy.asrs.entity.OrderPakinLog; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface OrderPakinLogService extends IService<OrderPakinLog> { |
| | | |
| | | OrderPakinLog selectByNo(String orderNo); |
| | | |
| | | List<OrderDetlPakinLog> selectDetlsByOrderId(Long orderId); |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service; |
| | | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.OrderDetlPakoutLog; |
| | | import com.zy.asrs.entity.OrderPakoutLog; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface OrderPakoutLogService extends IService<OrderPakoutLog> { |
| | | |
| | | OrderPakoutLog selectByNo(String orderNo); |
| | | |
| | | List<OrderDetlPakoutLog> selectDetlsByOrderId(Long orderId); |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service; |
| | | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.OrderTimeChangeLog; |
| | | |
| | | public interface OrderTimeChangeLogService extends IService<OrderTimeChangeLog> { |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<com.zy.asrs.entity.result.StockQtyDTO> queryStockAnfmeBatch(List<String> matnrBatchList) { |
| | | if (matnrBatchList == null || matnrBatchList.isEmpty()) { |
| | | return new java.util.ArrayList<>(); |
| | | } |
| | | return this.baseMapper.queryStockAnfmeBatch(matnrBatchList); |
| | | } |
| | | |
| | | @Override |
| | | public List<StockVo> queryStockTotal() { |
| | | return this.baseMapper.queryStockTotal(); |
| | | } |
| New file |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.core.common.SnowflakeIdWorker; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.MonthlySettle; |
| | | import com.zy.asrs.entity.MonthlySettleDetail; |
| | | import com.zy.asrs.entity.result.MaterialInOutRawDTO; |
| | | import com.zy.asrs.entity.result.MaterialInOutStatDTO; |
| | | import com.zy.asrs.entity.result.MonthlySettleResultVO; |
| | | import com.zy.asrs.entity.result.MonthlySettleStatisticsVO; |
| | | import com.zy.asrs.entity.result.PreviousSettleEndingQtyDTO; |
| | | import com.zy.asrs.mapper.MonthlySettleDetailMapper; |
| | | import com.zy.asrs.mapper.MonthlySettleMapper; |
| | | import com.zy.asrs.service.ManLocDetlService; |
| | | import com.zy.asrs.service.MonthlySettleService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Slf4j |
| | | @Service("monthlySettleService") |
| | | public class MonthlySettleServiceImpl extends ServiceImpl<MonthlySettleMapper, MonthlySettle> implements MonthlySettleService { |
| | | |
| | | @Autowired |
| | | private MonthlySettleDetailMapper monthlySettleDetailMapper; |
| | | @Autowired |
| | | private ManLocDetlService manLocDetlService; |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | |
| | | @Override |
| | | public MonthlySettle getLatestSettle() { |
| | | return this.baseMapper.selectLatestSettle(); |
| | | } |
| | | |
| | | @Override |
| | | public Date getNextStartDate() { |
| | | MonthlySettle latestSettle = getLatestSettle(); |
| | | if (latestSettle == null) { |
| | | // å¦ææ²¡ææç»è®°å½ï¼è¿ånullï¼ç±åç«¯éæ©èµ·å§æ¥æ |
| | | return null; |
| | | } |
| | | // è¿åæææç»è®°å½ç»ææ¥æçä¸ä¸å¤©ï¼èµ·å§æ¥æåºè¯¥æ¯ç»ææ¥æ+1天ç00:00:00ï¼ |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(latestSettle.getEndDate()); |
| | | // å
设置为å½å¤©ç00:00:00ï¼ç¶åå 1天ï¼ç¡®ä¿è¿åçæ¯ä¸ä¸å¤©ç00:00:00 |
| | | cal.set(Calendar.HOUR_OF_DAY, 0); |
| | | cal.set(Calendar.MINUTE, 0); |
| | | cal.set(Calendar.SECOND, 0); |
| | | cal.set(Calendar.MILLISECOND, 0); |
| | | cal.add(Calendar.DAY_OF_MONTH, 1); |
| | | return cal.getTime(); |
| | | } |
| | | |
| | | @Override |
| | | public Date getLatestEndDate() { |
| | | MonthlySettle latestSettle = getLatestSettle(); |
| | | if (latestSettle == null) { |
| | | return null; |
| | | } |
| | | // è¿åæææç»è®°å½çç»ææ¥æï¼æ ¼å¼å为å½å¤©ç00:00:00ï¼ç¨äºæ¾ç¤ºï¼ |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(latestSettle.getEndDate()); |
| | | cal.set(Calendar.HOUR_OF_DAY, 0); |
| | | cal.set(Calendar.MINUTE, 0); |
| | | cal.set(Calendar.SECOND, 0); |
| | | cal.set(Calendar.MILLISECOND, 0); |
| | | return cal.getTime(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean hasUnfinishedOrders(Date startDate, Date endDate) { |
| | | // ç»ææ¥æ+23:59:59 |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(endDate); |
| | | cal.set(Calendar.HOUR_OF_DAY, 23); |
| | | cal.set(Calendar.MINUTE, 59); |
| | | cal.set(Calendar.SECOND, 59); |
| | | cal.set(Calendar.MILLISECOND, 999); |
| | | endDate = cal.getTime(); |
| | | |
| | | // 注æï¼order_time æ¯ varchar ç±»åï¼éè¦æ ¼å¼åä¸ºå®æ´çæ¥ææ¶é´å符串è¿è¡æ¯è¾ |
| | | SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | // èµ·å§æ¥æè®¾ç½®ä¸ºå½å¤©ç 00:00:00 |
| | | Calendar startCal = Calendar.getInstance(); |
| | | startCal.setTime(startDate); |
| | | startCal.set(Calendar.HOUR_OF_DAY, 0); |
| | | startCal.set(Calendar.MINUTE, 0); |
| | | startCal.set(Calendar.SECOND, 0); |
| | | startCal.set(Calendar.MILLISECOND, 0); |
| | | String startDateStr = dateTimeFormat.format(startCal.getTime()); |
| | | String endDateStr = dateTimeFormat.format(endDate); |
| | | // å两次æ¥è¯¢ï¼å
¥åºååºåº |
| | | int pakinCount = this.baseMapper.countUnfinishedOrdersInRangePakin(startDateStr, endDateStr); |
| | | int pakoutCount = this.baseMapper.countUnfinishedOrdersInRangePakout(startDateStr, endDateStr); |
| | | return (pakinCount + pakoutCount) > 0; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public MonthlySettleResultVO startSettle(Date startDate, Date endDate, Long userId) { |
| | | // ç»ææ¥æ+23:59:59 |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(endDate); |
| | | cal.set(Calendar.HOUR_OF_DAY, 23); |
| | | cal.set(Calendar.MINUTE, 59); |
| | | cal.set(Calendar.SECOND, 59); |
| | | cal.set(Calendar.MILLISECOND, 999); |
| | | endDate = cal.getTime(); |
| | | |
| | | // æ£æ¥èµ·å§æ¥æå¿
é¡»å¤§äºæææç»è®°å½çç»ææ¥æ |
| | | MonthlySettle latestSettle = getLatestSettle(); |
| | | if (latestSettle != null) { |
| | | Calendar startCal = Calendar.getInstance(); |
| | | startCal.setTime(startDate); |
| | | startCal.set(Calendar.HOUR_OF_DAY, 0); |
| | | startCal.set(Calendar.MINUTE, 0); |
| | | startCal.set(Calendar.SECOND, 0); |
| | | startCal.set(Calendar.MILLISECOND, 0); |
| | | |
| | | Calendar latestEndCal = Calendar.getInstance(); |
| | | latestEndCal.setTime(latestSettle.getEndDate()); |
| | | latestEndCal.set(Calendar.HOUR_OF_DAY, 0); |
| | | latestEndCal.set(Calendar.MINUTE, 0); |
| | | latestEndCal.set(Calendar.SECOND, 0); |
| | | latestEndCal.set(Calendar.MILLISECOND, 0); |
| | | |
| | | // èµ·å§æ¥æå¿
é¡»å¤§äºææç»ææ¥æï¼ä¸è½çäºæå°äº |
| | | if (!startCal.getTime().after(latestEndCal.getTime())) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | throw new CoolException("èµ·å§æ¥æå¿
é¡»å¤§äºæææç»è®°å½çç»ææ¥æï¼" + sdf.format(latestSettle.getEndDate())); |
| | | } |
| | | } |
| | | |
| | | // æ£æ¥æ¯å¦ææªå®æç订å |
| | | if (hasUnfinishedOrders(startDate, endDate)) { |
| | | throw new CoolException("æç»æ¶é´èå´å
å卿ªå®æç订åï¼æ æ³è¿è¡æç»"); |
| | | } |
| | | |
| | | // ç»è®¡ç©æåºå
¥åºæ°éï¼å嫿¥è¯¢ä¸¤ä¸ªè¡¨ï¼å¨Java代ç ä¸åå¹¶ï¼ |
| | | // 注æï¼order_time æ¯ varchar ç±»åï¼éè¦æ ¼å¼åä¸ºå®æ´çæ¥ææ¶é´å符串è¿è¡æ¯è¾ |
| | | SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | // èµ·å§æ¥æè®¾ç½®ä¸ºå½å¤©ç 00:00:00 |
| | | Calendar startCal = Calendar.getInstance(); |
| | | startCal.setTime(startDate); |
| | | startCal.set(Calendar.HOUR_OF_DAY, 0); |
| | | startCal.set(Calendar.MINUTE, 0); |
| | | startCal.set(Calendar.SECOND, 0); |
| | | startCal.set(Calendar.MILLISECOND, 0); |
| | | String startDateStr = dateTimeFormat.format(startCal.getTime()); |
| | | String endDateStr = dateTimeFormat.format(endDate); |
| | | |
| | | // å嫿¥è¯¢å
¥åºè¡¨ååºåºè¡¨ |
| | | List<MaterialInOutRawDTO> pakinDataList = this.baseMapper.statisticsMaterialInOutFromPakin(startDateStr, endDateStr); |
| | | List<MaterialInOutRawDTO> pakoutDataList = this.baseMapper.statisticsMaterialInOutFromPakout(startDateStr, endDateStr); |
| | | |
| | | // åå¹¶ä¸¤ä¸ªè¡¨çæ°æ® |
| | | List<MaterialInOutRawDTO> rawDataList = new java.util.ArrayList<>(); |
| | | if (pakinDataList != null && !pakinDataList.isEmpty()) { |
| | | rawDataList.addAll(pakinDataList); |
| | | } |
| | | if (pakoutDataList != null && !pakoutDataList.isEmpty()) { |
| | | rawDataList.addAll(pakoutDataList); |
| | | } |
| | | |
| | | // æ£æ¥æ¯å¦æåºå
¥åºåå²è®¢å |
| | | if (rawDataList == null || rawDataList.isEmpty()) { |
| | | throw new CoolException("æç»æ¶é´èå´å
没æåºå
¥åºåå²è®¢åï¼æ æ³è¿è¡æç»"); |
| | | } |
| | | |
| | | // å¨Java代ç ä¸å¤çåç±»ç»è®¡é»è¾ |
| | | // 1. å¤çNULLå¼ï¼batchãbrandãmaktxï¼ |
| | | // 2. æ ¹æ®ç©æç¼ç ãæ¹æ¬¡ãåçåç» |
| | | // 3. æ ¹æ® pakin_pakout_status åºåå
¥åºååºåº |
| | | Map<String, MaterialInOutStatDTO> materialStatsMap = new HashMap<>(); |
| | | Map<String, String> maktxMap = new HashMap<>(); // åå¨ç©æåç§°ï¼å第ä¸ä¸ªé空å¼ï¼ |
| | | |
| | | for (MaterialInOutRawDTO raw : rawDataList) { |
| | | // å¤çNULLå¼ |
| | | String matnr = raw.getMatnr(); |
| | | String batch = raw.getBatch() != null ? raw.getBatch() : ""; |
| | | String brand = raw.getBrand() != null ? raw.getBrand() : ""; |
| | | String maktx = raw.getMaktx() != null ? raw.getMaktx() : ""; |
| | | String key = matnr + "_" + batch + "_" + brand; |
| | | |
| | | // ä¿åç©æåç§°ï¼å第ä¸ä¸ªé空å¼ï¼ |
| | | if (maktx != null && !maktx.isEmpty() && !maktxMap.containsKey(key)) { |
| | | maktxMap.put(key, maktx); |
| | | } |
| | | |
| | | MaterialInOutStatDTO stat = materialStatsMap.get(key); |
| | | if (stat == null) { |
| | | stat = new MaterialInOutStatDTO(); |
| | | stat.setMatnr(matnr); |
| | | stat.setMaktx(maktxMap.getOrDefault(key, "")); |
| | | stat.setBatch(batch); |
| | | stat.setBrand(brand); |
| | | stat.setInQty(BigDecimal.ZERO); |
| | | stat.setOutQty(BigDecimal.ZERO); |
| | | materialStatsMap.put(key, stat); |
| | | } |
| | | |
| | | // æ ¹æ® pakin_pakout_status åç±»ç»è®¡ |
| | | // 1 = å
¥åºï¼2 = åºåºï¼0 = æªç¥ï¼å·²å¨SQLä¸è¿æ»¤ï¼ |
| | | BigDecimal qty = raw.getQty() != null ? raw.getQty() : BigDecimal.ZERO; |
| | | Integer status = raw.getPakinPakoutStatus(); |
| | | if (status != null && qty.compareTo(BigDecimal.ZERO) > 0) { |
| | | if (status == 1) { |
| | | // å
¥åº |
| | | stat.setInQty(stat.getInQty().add(qty)); |
| | | } else if (status == 2) { |
| | | // åºåº |
| | | stat.setOutQty(stat.getOutQty().add(qty)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 转æ¢ä¸ºList |
| | | List<MaterialInOutStatDTO> materialStats = new java.util.ArrayList<>(materialStatsMap.values()); |
| | | |
| | | // è·åä¸ä¸ä¸ªæç»è®°å½ï¼ç¨äºè®¡ç®æååºååæ¿æ¥ä¸ä¸æçç©æï¼ |
| | | MonthlySettle previousSettle = getLatestSettle(); |
| | | Map<String, BigDecimal> previousEndingQtyMap = new HashMap<>(); |
| | | Map<String, PreviousSettleEndingQtyDTO> previousDetailMap = new HashMap<>(); // åå¨ä¸ä¸æç宿´æç»ä¿¡æ¯ |
| | | if (previousSettle != null) { |
| | | List<PreviousSettleEndingQtyDTO> previousDetails = this.baseMapper.getPreviousSettleEndingQty(previousSettle.getId()); |
| | | for (PreviousSettleEndingQtyDTO detail : previousDetails) { |
| | | String key = detail.getMatnr() + "_" + |
| | | (detail.getBatch() != null ? detail.getBatch() : "") + "_" + |
| | | (detail.getBrand() != null ? detail.getBrand() : ""); |
| | | BigDecimal endingQty = detail.getEndingQty() != null ? detail.getEndingQty() : BigDecimal.ZERO; |
| | | previousEndingQtyMap.put(key, endingQty); |
| | | previousDetailMap.put(key, detail); // ä¿å宿´ä¿¡æ¯ï¼ç¨äºåç»å建æç» |
| | | } |
| | | } |
| | | |
| | | // çææç»ç¼å· |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | String settleNo = "MS" + sdf.format(new Date()) + String.format("%04d", snowflakeIdWorker.nextId() % 10000); |
| | | |
| | | // å建æç»ä¸»è®°å½ |
| | | MonthlySettle monthlySettle = new MonthlySettle(); |
| | | monthlySettle.setSettleNo(settleNo); |
| | | monthlySettle.setStartDate(startDate); |
| | | monthlySettle.setEndDate(endDate); |
| | | monthlySettle.setStatus(1); // å·²æç» |
| | | monthlySettle.setIsDeleted(0); // æªå é¤ |
| | | monthlySettle.setCreateBy(userId); |
| | | monthlySettle.setCreateTime(new Date()); |
| | | this.insert(monthlySettle); |
| | | |
| | | BigDecimal totalInQty = BigDecimal.ZERO; |
| | | BigDecimal totalOutQty = BigDecimal.ZERO; |
| | | int materialCount = 0; |
| | | |
| | | // å建 Map å卿¬ææåºå
¥åºçç©æï¼ç¨äºå¤ææ¯å¦éè¦ä»ä¸ä¸æç»§æ¿ï¼ |
| | | Map<String, MaterialInOutStatDTO> currentMaterialMap = new HashMap<>(); |
| | | for (MaterialInOutStatDTO stat : materialStats) { |
| | | String matnr = stat.getMatnr(); |
| | | String batch = stat.getBatch() != null ? stat.getBatch() : ""; |
| | | String brand = stat.getBrand() != null ? stat.getBrand() : ""; |
| | | String key = matnr + "_" + batch + "_" + brand; |
| | | currentMaterialMap.put(key, stat); |
| | | } |
| | | |
| | | // æ¶éæææç»è®°å½ï¼ç¨äºæ¹éæå
¥ |
| | | List<MonthlySettleDetail> detailList = new java.util.ArrayList<>(); |
| | | |
| | | // 1. å¤çæ¬ææåºå
¥åºçç©æ |
| | | for (MaterialInOutStatDTO stat : materialStats) { |
| | | // 1. æååºç¡ä¿¡æ¯ |
| | | String matnr = stat.getMatnr(); |
| | | String batch = stat.getBatch() != null ? stat.getBatch() : ""; |
| | | String brand = stat.getBrand() != null ? stat.getBrand() : ""; |
| | | String maktx = stat.getMaktx(); |
| | | |
| | | // 2. æåæ°éä¿¡æ¯ |
| | | BigDecimal inQty = stat.getInQty() != null ? stat.getInQty() : BigDecimal.ZERO; |
| | | BigDecimal outQty = stat.getOutQty() != null ? stat.getOutQty() : BigDecimal.ZERO; |
| | | |
| | | // 3. 计ç®åºåç¸å
³æ°é |
| | | BigDecimal beginningQty = getBeginningQty(matnr, batch, brand, previousEndingQtyMap); |
| | | BigDecimal endingQty = calculateEndingQty(beginningQty, inQty, outQty); |
| | | // 差弿°é = ææ«åºå - æååºåï¼ææ«å¤§äºæåæ¶ä¸ºæ£æ°ï¼ |
| | | BigDecimal diffQty = calculateDiffQty(beginningQty, endingQty); |
| | | |
| | | // 4. å建æç»è®°å½ï¼æä¸æå
¥ï¼ |
| | | MonthlySettleDetail detail = buildMonthlySettleDetail( |
| | | monthlySettle.getId(), settleNo, matnr, batch, maktx, brand, |
| | | beginningQty, inQty, outQty, endingQty, diffQty |
| | | ); |
| | | detail.setIsDeleted(0); // æªå é¤ |
| | | detailList.add(detail); |
| | | |
| | | // 5. 累计ç»è®¡ |
| | | totalInQty = totalInQty.add(inQty); |
| | | totalOutQty = totalOutQty.add(outQty); |
| | | materialCount++; |
| | | } |
| | | |
| | | // 2. å¤çä¸ä¸æåå¨ä½æ¬ææ²¡æåºå
¥åºçç©æï¼éè¦æ¿æ¥æ¾ç¤ºï¼ |
| | | if (previousSettle != null && !previousDetailMap.isEmpty()) { |
| | | for (Map.Entry<String, PreviousSettleEndingQtyDTO> entry : previousDetailMap.entrySet()) { |
| | | String key = entry.getKey(); |
| | | // å¦ææ¬ææ²¡æåºå
¥åºï¼ä½ä¸ä¸ææææ«åºåï¼ä¸ä¸ä¸º0ï¼ï¼åéè¦åå»ºä¸æ¡è®°å½ |
| | | if (!currentMaterialMap.containsKey(key)) { |
| | | PreviousSettleEndingQtyDTO previousDetail = entry.getValue(); |
| | | BigDecimal previousEndingQty = previousDetail.getEndingQty() != null ? previousDetail.getEndingQty() : BigDecimal.ZERO; |
| | | |
| | | // 妿ä¸ä¸æçææ«åºåä¸ä¸º0ï¼æè
å³ä½¿ä¸º0ä¹è¦æ¾ç¤ºï¼ç¨äºå¯¹æ¯ï¼ |
| | | // è¿éæä»¬æ»æ¯å建记å½ï¼å³ä½¿ä¸ä¸æææ«åºå为0ï¼å ä¸ºç¨æ·è¦æ±"妿ä¸ä¸æåå¨è¿ï¼æ¬æåºåå½é¶ä¹è¦æ¾ç¤ºä¸æ¡ä¸º0çè®°å½" |
| | | String matnr = previousDetail.getMatnr(); |
| | | String batch = previousDetail.getBatch() != null ? previousDetail.getBatch() : ""; |
| | | String brand = previousDetail.getBrand() != null ? previousDetail.getBrand() : ""; |
| | | String maktx = previousDetail.getMaktx() != null ? previousDetail.getMaktx() : ""; |
| | | |
| | | // æ¬ææ²¡æåºå
¥åºï¼æä»¥å
¥åºååºåºæ°éé½ä¸º0 |
| | | BigDecimal inQty = BigDecimal.ZERO; |
| | | BigDecimal outQty = BigDecimal.ZERO; |
| | | |
| | | // æååºå = ä¸ä¸æçææ«åºå |
| | | BigDecimal beginningQty = previousEndingQty; |
| | | // ææ«åºå = æå + å
¥åº - åºåº = æåï¼å ä¸ºæ¬ææ²¡æåºå
¥åºï¼ |
| | | BigDecimal endingQty = beginningQty; |
| | | // 差弿°é = æååºå - ææ«åºåï¼æåå¤§äºææ«æ¶ä¸ºæ£æ°ï¼ |
| | | BigDecimal diffQty = calculateDiffQty(beginningQty, endingQty); |
| | | |
| | | // å建æç»è®°å½ï¼æä¸æå
¥ï¼ |
| | | MonthlySettleDetail detail = buildMonthlySettleDetail( |
| | | monthlySettle.getId(), settleNo, matnr, batch, maktx, brand, |
| | | beginningQty, inQty, outQty, endingQty, diffQty |
| | | ); |
| | | detail.setIsDeleted(0); // æªå é¤ |
| | | detailList.add(detail); |
| | | |
| | | // 累计ç»è®¡ï¼è½ç¶å
¥åºååºåºä¸º0ï¼ä½ä¹è¦è®¡å
¥ç©æç§ç±»æ°ï¼ |
| | | materialCount++; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // åæ¹æå
¥ï¼æ¯æ¹1000æ¡ï¼é¿å
䏿¬¡æ§æå
¥è¿å¤æ°æ® |
| | | if (!detailList.isEmpty()) { |
| | | int batchSize = 1000; |
| | | for (int i = 0; i < detailList.size(); i += batchSize) { |
| | | int end = Math.min(i + batchSize, detailList.size()); |
| | | List<MonthlySettleDetail> batch = detailList.subList(i, end); |
| | | for (MonthlySettleDetail detail : batch) { |
| | | if (monthlySettleDetailMapper.insert(detail) <= 0) { |
| | | throw new CoolException("æå
¥æç»æç»å¤±è´¥"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // æ´æ°æç»ä¸»è®°å½ |
| | | monthlySettle.setTotalInQty(totalInQty); |
| | | monthlySettle.setTotalOutQty(totalOutQty); |
| | | monthlySettle.setTotalMaterials(materialCount); |
| | | monthlySettle.setStatus(1); // å·²æç» |
| | | monthlySettle.setUpdateBy(userId); |
| | | monthlySettle.setUpdateTime(new Date()); |
| | | this.updateById(monthlySettle); |
| | | |
| | | // æ´æ°è®¢åçæç»ä¿¡æ¯ï¼å
¥åºååºåºé½è¦æ´æ°ï¼ |
| | | this.baseMapper.updateOrderSettleInfo(monthlySettle.getId(), settleNo, startDateStr, endDateStr); |
| | | this.baseMapper.updateOrderSettleInfoPakout(monthlySettle.getId(), settleNo, startDateStr, endDateStr); |
| | | |
| | | MonthlySettleResultVO result = new MonthlySettleResultVO(); |
| | | result.setSettleId(monthlySettle.getId()); |
| | | result.setSettleNo(settleNo); |
| | | result.setTotalInQty(totalInQty); |
| | | result.setTotalOutQty(totalOutQty); |
| | | result.setTotalMaterials(materialCount); |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public MonthlySettleStatisticsVO getSettleStatistics(Long settleId) { |
| | | MonthlySettle settle = this.selectById(settleId); |
| | | if (settle == null || (settle.getIsDeleted() != null && settle.getIsDeleted() == 1)) { |
| | | throw new CoolException("æç»è®°å½ä¸åå¨"); |
| | | } |
| | | |
| | | // å
³èç©æè¡¨æ¥è¯¢æç» |
| | | List<MonthlySettleDetail> details = monthlySettleDetailMapper.selectDetailWithMat(settleId); |
| | | |
| | | MonthlySettleStatisticsVO result = new MonthlySettleStatisticsVO(); |
| | | result.setSettle(settle); |
| | | result.setDetails(details); |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public Page<MonthlySettle> getPage(Page<MonthlySettle> page) { |
| | | Map<String, Object> condition = page.getCondition(); |
| | | EntityWrapper<MonthlySettle> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("is_deleted", 0); |
| | | |
| | | if (condition != null) { |
| | | if (condition.get("settleNo") != null) { |
| | | wrapper.like("settle_no", condition.get("settleNo").toString()); |
| | | } |
| | | if (condition.get("status") != null) { |
| | | wrapper.eq("status", condition.get("status")); |
| | | } |
| | | if (condition.get("startDate") != null && condition.get("endDate") != null) { |
| | | wrapper.ge("start_date", condition.get("startDate")); |
| | | wrapper.le("end_date", condition.get("endDate")); |
| | | } |
| | | } |
| | | |
| | | wrapper.orderBy("create_time", false); |
| | | List<MonthlySettle> list = this.selectList(wrapper); |
| | | |
| | | EntityWrapper<MonthlySettle> countWrapper = new EntityWrapper<>(); |
| | | countWrapper.eq("is_deleted", 0); |
| | | if (condition != null) { |
| | | if (condition.get("settleNo") != null) { |
| | | countWrapper.like("settle_no", condition.get("settleNo").toString()); |
| | | } |
| | | if (condition.get("status") != null) { |
| | | countWrapper.eq("status", condition.get("status")); |
| | | } |
| | | if (condition.get("startDate") != null && condition.get("endDate") != null) { |
| | | countWrapper.ge("start_date", condition.get("startDate")); |
| | | countWrapper.le("end_date", condition.get("endDate")); |
| | | } |
| | | } |
| | | page.setRecords(list); |
| | | page.setTotal(this.selectCount(countWrapper)); |
| | | return page; |
| | | } |
| | | |
| | | /** |
| | | * è·åæååºåï¼ä¸æç»ä½ï¼ |
| | | */ |
| | | private BigDecimal getBeginningQty(String matnr, String batch, String brand, Map<String, BigDecimal> previousEndingQtyMap) { |
| | | String key = matnr + "_" + batch + "_" + brand; |
| | | return previousEndingQtyMap.getOrDefault(key, BigDecimal.ZERO); |
| | | } |
| | | |
| | | /** |
| | | * è®¡ç®ææ«åºåï¼æå+å
¥åº-åºåºï¼ |
| | | */ |
| | | private BigDecimal calculateEndingQty(BigDecimal beginningQty, BigDecimal inQty, BigDecimal outQty) { |
| | | return beginningQty.add(inQty).subtract(outQty); |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åå®é
åºåæ°éï¼å·²åºå¼ï¼æ¹ç¨æ¹éæ¥è¯¢ï¼ |
| | | * @deprecated ä½¿ç¨æ¹éæ¥è¯¢æ¹æ³æ¿ä»£ï¼é¿å
N+1æ¥è¯¢é®é¢ |
| | | */ |
| | | @Deprecated |
| | | private BigDecimal getCurrentStockQty(String matnr, String batch) { |
| | | Double stockQty = manLocDetlService.queryStockAnfme(matnr, batch); |
| | | return stockQty != null ? BigDecimal.valueOf(stockQty) : BigDecimal.ZERO; |
| | | } |
| | | |
| | | /** |
| | | * 计ç®å·®å¼æ°éï¼ææ«åºå-æååºåï¼ |
| | | * ææ«å¤§äºæåæ¶ä¸ºæ£æ°ï¼è¡¨ç¤ºåºåå¢å |
| | | */ |
| | | private BigDecimal calculateDiffQty(BigDecimal beginningQty, BigDecimal endingQty) { |
| | | return endingQty.subtract(beginningQty); |
| | | } |
| | | |
| | | /** |
| | | * æå»ºæç»æç»å¯¹è±¡ |
| | | */ |
| | | private MonthlySettleDetail buildMonthlySettleDetail( |
| | | Long settleId, String settleNo, String matnr, String batch, String maktx, String brand, |
| | | BigDecimal beginningQty, BigDecimal inQty, BigDecimal outQty, BigDecimal endingQty, |
| | | BigDecimal diffQty) { |
| | | MonthlySettleDetail detail = new MonthlySettleDetail(); |
| | | // åºæ¬ä¿¡æ¯ |
| | | detail.setSettleId(settleId); |
| | | detail.setSettleNo(settleNo); |
| | | detail.setMatnr(matnr); |
| | | detail.setBatch(batch); |
| | | detail.setMaktx(maktx); |
| | | detail.setBrand(brand); |
| | | // æ°éä¿¡æ¯ |
| | | detail.setBeginningQty(beginningQty); |
| | | detail.setInQty(inQty); |
| | | detail.setOutQty(outQty); |
| | | detail.setEndingQty(endingQty); |
| | | // stock_qty åæ®µå·²åºå¼ï¼å®é
åºåçäºææ«åºåï¼ä¸ååç¬åå¨ |
| | | // detail.setStockQty(endingQty); |
| | | detail.setDiffQty(diffQty); |
| | | // æ¶é´ä¿¡æ¯ |
| | | detail.setCreateTime(new Date()); |
| | | return detail; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void deleteSettle(Long settleId) { |
| | | MonthlySettle settle = this.selectById(settleId); |
| | | if (settle == null || (settle.getIsDeleted() != null && settle.getIsDeleted() == 1)) { |
| | | throw new CoolException("æç»è®°å½ä¸åå¨"); |
| | | } |
| | | |
| | | // æ¸
é¤åºå
¥åºè®¢åçæç»ä¿¡æ¯ |
| | | this.baseMapper.clearOrderSettleInfo(settleId); |
| | | this.baseMapper.clearOrderSettleInfoPakout(settleId); |
| | | |
| | | // é»è¾å é¤æç»æç» |
| | | EntityWrapper<MonthlySettleDetail> detailWrapper = new EntityWrapper<>(); |
| | | detailWrapper.eq("settle_id", settleId); |
| | | detailWrapper.eq("is_deleted", 0); |
| | | List<MonthlySettleDetail> details = monthlySettleDetailMapper.selectList(detailWrapper); |
| | | if (details != null && !details.isEmpty()) { |
| | | for (MonthlySettleDetail detail : details) { |
| | | detail.setIsDeleted(1); |
| | | monthlySettleDetailMapper.updateById(detail); |
| | | } |
| | | } |
| | | |
| | | // é»è¾å 餿ç»ä¸»è®°å½ |
| | | settle.setIsDeleted(1); |
| | | settle.setUpdateTime(new Date()); |
| | | this.updateById(settle); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isOrderTimeInSettledRange(String orderTime) { |
| | | if (Cools.isEmpty(orderTime)) { |
| | | return false; |
| | | } |
| | | try { |
| | | // è§£æè®¢åä¸å¡æ¶é´ |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | Date orderDate = sdf.parse(orderTime); |
| | | |
| | | // æ¥è¯¢ææå·²æç»çè®°å½ï¼status=1䏿ªå é¤ï¼ |
| | | EntityWrapper<MonthlySettle> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("status", 1); |
| | | wrapper.eq("is_deleted", 0); |
| | | List<MonthlySettle> settledList = this.selectList(wrapper); |
| | | |
| | | if (settledList == null || settledList.isEmpty()) { |
| | | return false; |
| | | } |
| | | |
| | | // æ£æ¥è®¢åæ¶é´æ¯å¦å¨ä»»ä½å·²æç»çåºé´å
|
| | | for (MonthlySettle settle : settledList) { |
| | | Date startDate = settle.getStartDate(); |
| | | Date endDate = settle.getEndDate(); |
| | | |
| | | // ç¡®ä¿startDateæ¯å½å¤©ç00:00:00 |
| | | Calendar startCal = Calendar.getInstance(); |
| | | startCal.setTime(startDate); |
| | | startCal.set(Calendar.HOUR_OF_DAY, 0); |
| | | startCal.set(Calendar.MINUTE, 0); |
| | | startCal.set(Calendar.SECOND, 0); |
| | | startCal.set(Calendar.MILLISECOND, 0); |
| | | |
| | | // ç¡®ä¿endDateæ¯å½å¤©ç23:59:59.999 |
| | | Calendar endCal = Calendar.getInstance(); |
| | | endCal.setTime(endDate); |
| | | endCal.set(Calendar.HOUR_OF_DAY, 23); |
| | | endCal.set(Calendar.MINUTE, 59); |
| | | endCal.set(Calendar.SECOND, 59); |
| | | endCal.set(Calendar.MILLISECOND, 999); |
| | | |
| | | // å¤æè®¢åæ¶é´æ¯å¦å¨åºé´å
ï¼[startDateç00:00:00, endDateç23:59:59.999] |
| | | if (!orderDate.before(startCal.getTime()) && !orderDate.after(endCal.getTime())) { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } catch (Exception e) { |
| | | log.error("æ£æ¥è®¢åæ¶é´æ¯å¦å¨å·²æç»åºé´å
失败", e); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.zy.asrs.entity.OrderDetlPakinLog; |
| | | import com.zy.asrs.mapper.OrderDetlPakinLogMapper; |
| | | import com.zy.asrs.service.OrderDetlPakinLogService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service("orderDetlPakinLogService") |
| | | public class OrderDetlPakinLogServiceImpl extends ServiceImpl<OrderDetlPakinLogMapper, OrderDetlPakinLog> implements OrderDetlPakinLogService { |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.zy.asrs.entity.OrderDetlPakoutLog; |
| | | import com.zy.asrs.mapper.OrderDetlPakoutLogMapper; |
| | | import com.zy.asrs.service.OrderDetlPakoutLogService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service("orderDetlPakoutLogService") |
| | | public class OrderDetlPakoutLogServiceImpl extends ServiceImpl<OrderDetlPakoutLogMapper, OrderDetlPakoutLog> implements OrderDetlPakoutLogService { |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.OrderDetlPakinLog; |
| | | import com.zy.asrs.entity.OrderPakinLog; |
| | | import com.zy.asrs.mapper.OrderDetlPakinLogMapper; |
| | | import com.zy.asrs.mapper.OrderPakinLogMapper; |
| | | import com.zy.asrs.service.OrderPakinLogService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service("orderPakinLogService") |
| | | public class OrderPakinLogServiceImpl extends ServiceImpl<OrderPakinLogMapper, OrderPakinLog> implements OrderPakinLogService { |
| | | |
| | | @Autowired |
| | | private OrderDetlPakinLogMapper orderDetlPakinLogMapper; |
| | | |
| | | @Override |
| | | public OrderPakinLog selectByNo(String orderNo) { |
| | | List<OrderPakinLog> orderList = this.selectList(new EntityWrapper<OrderPakinLog>().eq("order_no", orderNo)); |
| | | if (Cools.isEmpty(orderList)) { |
| | | return null; |
| | | } |
| | | return orderList.get(0); |
| | | } |
| | | |
| | | @Override |
| | | public List<OrderDetlPakinLog> selectDetlsByOrderId(Long orderId) { |
| | | return orderDetlPakinLogMapper.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId)); |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.OrderDetlPakoutLog; |
| | | import com.zy.asrs.entity.OrderPakoutLog; |
| | | import com.zy.asrs.mapper.OrderDetlPakoutLogMapper; |
| | | import com.zy.asrs.mapper.OrderPakoutLogMapper; |
| | | import com.zy.asrs.service.OrderPakoutLogService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service("orderPakoutLogService") |
| | | public class OrderPakoutLogServiceImpl extends ServiceImpl<OrderPakoutLogMapper, OrderPakoutLog> implements OrderPakoutLogService { |
| | | |
| | | @Autowired |
| | | private OrderDetlPakoutLogMapper orderDetlPakoutLogMapper; |
| | | |
| | | @Override |
| | | public OrderPakoutLog selectByNo(String orderNo) { |
| | | List<OrderPakoutLog> orderList = this.selectList(new EntityWrapper<OrderPakoutLog>().eq("order_no", orderNo)); |
| | | if (Cools.isEmpty(orderList)) { |
| | | return null; |
| | | } |
| | | return orderList.get(0); |
| | | } |
| | | |
| | | @Override |
| | | public List<OrderDetlPakoutLog> selectDetlsByOrderId(Long orderId) { |
| | | return orderDetlPakoutLogMapper.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId)); |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.zy.asrs.entity.OrderTimeChangeLog; |
| | | import com.zy.asrs.mapper.OrderTimeChangeLogMapper; |
| | | import com.zy.asrs.service.OrderTimeChangeLogService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | public class OrderTimeChangeLogServiceImpl extends ServiceImpl<OrderTimeChangeLogMapper, OrderTimeChangeLog> implements OrderTimeChangeLogService { |
| | | } |
| | | |
| | |
| | | orderDetl.setUpdateTime(now); |
| | | OrderDetlPakinLog orderDetlLog = new OrderDetlPakinLog(); |
| | | Synchro.Copy(orderDetl, orderDetlLog); |
| | | orderDetlLog.setId(null); |
| | | orderDetlPakinLogMapper.insert(orderDetlLog); |
| | | orderDetlPakinService.deleteById(orderDetl.getId()); |
| | | } |
| | |
| | | order.setUpdateTime(now); |
| | | OrderPakinLog orderPakinLog = new OrderPakinLog(); |
| | | Synchro.Copy(order, orderPakinLog); |
| | | orderPakinLog.setId(null); |
| | | orderPakinLogMapper.insert(orderPakinLog); |
| | | orderPakinService.deleteById(order.getId()); |
| | | } |
| | |
| | | orderDetl.setUpdateTime(now); |
| | | OrderDetlPakoutLog orderDetlLog = new OrderDetlPakoutLog(); |
| | | Synchro.Copy(orderDetl, orderDetlLog); |
| | | orderDetlLog.setId(null); |
| | | orderDetlPakoutLogMapper.insert(orderDetlLog); |
| | | orderDetlPakoutService.deleteById(orderDetl.getId()); |
| | | } |
| | |
| | | order.setUpdateTime(now); |
| | | OrderPakoutLog orderPakinLog = new OrderPakoutLog(); |
| | | Synchro.Copy(order, orderPakinLog); |
| | | orderPakinLog.setId(null); |
| | | orderPakoutLogMapper.insert(orderPakinLog); |
| | | orderPakoutService.deleteById(order.getId()); |
| | | } |
| | |
| | | where node_id = #{nodeId} ; |
| | | </update> |
| | | |
| | | <!-- æ¹éæ¥è¯¢åºåæ°é --> |
| | | <select id="queryStockAnfmeBatch" resultType="com.zy.asrs.entity.result.StockQtyDTO"> |
| | | SELECT |
| | | matnr, |
| | | ISNULL(batch, '') as batch, |
| | | SUM(anfme) as stockQty |
| | | FROM man_loc_detl |
| | | WHERE 1=1 |
| | | <if test="matnrBatchList != null and matnrBatchList.size > 0"> |
| | | AND ( |
| | | <foreach collection="matnrBatchList" item="item" separator=" OR "> |
| | | (matnr + '_' + ISNULL(batch, '') = #{item}) |
| | | </foreach> |
| | | ) |
| | | </if> |
| | | GROUP BY matnr, ISNULL(batch, '') |
| | | </select> |
| | | |
| | | </mapper> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.zy.asrs.mapper.MonthlySettleDetailMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.zy.asrs.entity.MonthlySettleDetail"> |
| | | <id column="id" property="id" /> |
| | | <result column="settle_id" property="settleId" /> |
| | | <result column="settle_no" property="settleNo" /> |
| | | <result column="matnr" property="matnr" /> |
| | | <result column="batch" property="batch" /> |
| | | <result column="maktx" property="maktx" /> |
| | | <result column="brand" property="brand" /> |
| | | <result column="beginning_qty" property="beginningQty" /> |
| | | <result column="in_qty" property="inQty" /> |
| | | <result column="out_qty" property="outQty" /> |
| | | <result column="ending_qty" property="endingQty" /> |
| | | <result column="diff_qty" property="diffQty" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="is_deleted" property="isDeleted" /> |
| | | </resultMap> |
| | | |
| | | <!-- å
³èç©æè¡¨çæ¥è¯¢æ å°ç»æï¼è·åå
¶ä»ç©æä¿¡æ¯ï¼ --> |
| | | <resultMap id="DetailWithMatResultMap" type="com.zy.asrs.entity.MonthlySettleDetail" extends="BaseResultMap"> |
| | | <result column="specs" property="specs" /> |
| | | <result column="model" property="model" /> |
| | | <result column="color" property="color" /> |
| | | <result column="unit" property="unit" /> |
| | | </resultMap> |
| | | |
| | | <!-- æ¥è¯¢æç»æç»ï¼ä»æç»è¡¨æ¥è¯¢ï¼å
³èç©æè¡¨è·åè¡¥å
ä¿¡æ¯ï¼ --> |
| | | <select id="selectDetailWithMat" resultMap="DetailWithMatResultMap"> |
| | | SELECT |
| | | d.id, |
| | | d.settle_id, |
| | | d.settle_no, |
| | | d.matnr, |
| | | d.batch, |
| | | d.maktx, |
| | | d.brand, |
| | | d.beginning_qty, |
| | | d.in_qty, |
| | | d.out_qty, |
| | | d.ending_qty, |
| | | d.diff_qty, |
| | | d.create_time, |
| | | m.specs, |
| | | m.model, |
| | | m.color, |
| | | m.unit |
| | | FROM man_monthly_settle_detail d |
| | | LEFT JOIN man_mat m ON d.matnr = m.matnr |
| | | WHERE d.settle_id = #{settleId} |
| | | AND d.is_deleted = 0 |
| | | ORDER BY d.matnr, d.batch |
| | | </select> |
| | | |
| | | </mapper> |
| | | |
| | | |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.zy.asrs.mapper.MonthlySettleMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.zy.asrs.entity.MonthlySettle"> |
| | | <id column="id" property="id" /> |
| | | <result column="settle_no" property="settleNo" /> |
| | | <result column="start_date" property="startDate" /> |
| | | <result column="end_date" property="endDate" /> |
| | | <result column="status" property="status" /> |
| | | <result column="total_in_qty" property="totalInQty" /> |
| | | <result column="total_out_qty" property="totalOutQty" /> |
| | | <result column="total_materials" property="totalMaterials" /> |
| | | <result column="memo" property="memo" /> |
| | | <result column="create_by" property="createBy" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="update_by" property="updateBy" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="is_deleted" property="isDeleted" /> |
| | | </resultMap> |
| | | |
| | | <!-- è·åæè¿çæç»è®°å½ --> |
| | | <select id="selectLatestSettle" resultMap="BaseResultMap"> |
| | | SELECT TOP 1 * FROM man_monthly_settle |
| | | WHERE is_deleted = 0 |
| | | ORDER BY end_date DESC |
| | | </select> |
| | | |
| | | <!-- ç»è®¡æç»æ¶é´èå´å
æªå®æçå
¥åºè®¢åæ°é --> |
| | | <select id="countUnfinishedOrdersInRangePakin" resultType="int"> |
| | | SELECT COUNT(1) FROM man_order_log_pakin molpi |
| | | WHERE molpi.status = 1 |
| | | AND molpi.order_time >= #{startDate} |
| | | AND molpi.order_time <= #{endDate} |
| | | AND (molpi.settle IS NULL OR molpi.settle != 6) |
| | | AND (molpi.monthly_settle_id IS NULL OR molpi.monthly_settle_id = 0) |
| | | AND EXISTS ( |
| | | SELECT 1 FROM man_order_detl_log_pakin modlpi |
| | | WHERE modlpi.order_id = molpi.id |
| | | AND (modlpi.anfme > modlpi.qty OR modlpi.qty IS NULL) |
| | | ) |
| | | </select> |
| | | |
| | | <!-- ç»è®¡æç»æ¶é´èå´å
æªå®æçåºåºè®¢åæ°é --> |
| | | <select id="countUnfinishedOrdersInRangePakout" resultType="int"> |
| | | SELECT COUNT(1) FROM man_order_log_pakout molpo |
| | | WHERE molpo.status = 1 |
| | | AND molpo.order_time >= #{startDate} |
| | | AND molpo.order_time <= #{endDate} |
| | | AND (molpo.settle IS NULL OR molpo.settle != 6) |
| | | AND (molpo.monthly_settle_id IS NULL OR molpo.monthly_settle_id = 0) |
| | | AND EXISTS ( |
| | | SELECT 1 FROM man_order_detl_log_pakout modlpo |
| | | WHERE modlpo.order_id = molpo.id |
| | | AND (modlpo.anfme > modlpo.qty OR modlpo.qty IS NULL) |
| | | ) |
| | | </select> |
| | | |
| | | <!-- ç»è®¡æç»æ¶é´èå´å
çç©æåºå
¥åºæ°éï¼ä»å
¥åºè¡¨æ¥è¯¢ï¼ --> |
| | | <select id="statisticsMaterialInOutFromPakin" resultType="com.zy.asrs.entity.result.MaterialInOutRawDTO"> |
| | | SELECT |
| | | modlpi.matnr, |
| | | modlpi.maktx, |
| | | modlpi.batch, |
| | | modlpi.brand, |
| | | SUM(modlpi.qty) as qty, |
| | | COALESCE(modlpi.pakin_pakout_status, molpi.pakin_pakout_status) as pakinPakoutStatus |
| | | FROM man_order_log_pakin molpi |
| | | INNER JOIN man_order_detl_log_pakin modlpi ON molpi.id = modlpi.order_id |
| | | WHERE molpi.status = 1 |
| | | AND molpi.order_time >= #{startDate} |
| | | AND molpi.order_time <= #{endDate} |
| | | AND molpi.settle = 6 |
| | | AND (molpi.monthly_settle_id IS NULL OR molpi.monthly_settle_id = 0) |
| | | AND COALESCE(modlpi.pakin_pakout_status, molpi.pakin_pakout_status) IN (1, 2) |
| | | GROUP BY modlpi.matnr, modlpi.maktx, modlpi.batch, modlpi.brand, COALESCE(modlpi.pakin_pakout_status, molpi.pakin_pakout_status) |
| | | </select> |
| | | |
| | | <!-- ç»è®¡æç»æ¶é´èå´å
çç©æåºå
¥åºæ°éï¼ä»åºåºè¡¨æ¥è¯¢ï¼ --> |
| | | <select id="statisticsMaterialInOutFromPakout" resultType="com.zy.asrs.entity.result.MaterialInOutRawDTO"> |
| | | SELECT |
| | | modlpo.matnr, |
| | | modlpo.maktx, |
| | | modlpo.batch, |
| | | modlpo.brand, |
| | | SUM(modlpo.qty) as qty, |
| | | COALESCE(modlpo.pakin_pakout_status, molpo.pakin_pakout_status) as pakinPakoutStatus |
| | | FROM man_order_log_pakout molpo |
| | | INNER JOIN man_order_detl_log_pakout modlpo ON molpo.id = modlpo.order_id |
| | | WHERE molpo.status = 1 |
| | | AND molpo.order_time >= #{startDate} |
| | | AND molpo.order_time <= #{endDate} |
| | | AND molpo.settle = 6 |
| | | AND (molpo.monthly_settle_id IS NULL OR molpo.monthly_settle_id = 0) |
| | | AND COALESCE(modlpo.pakin_pakout_status, molpo.pakin_pakout_status) IN (1, 2) |
| | | GROUP BY modlpo.matnr, modlpo.maktx, modlpo.batch, modlpo.brand, COALESCE(modlpo.pakin_pakout_status, molpo.pakin_pakout_status) |
| | | </select> |
| | | |
| | | <!-- è·åä¸ä¸ä¸ªæç»çç©æææ«åºå --> |
| | | <select id="getPreviousSettleEndingQty" resultType="com.zy.asrs.entity.result.PreviousSettleEndingQtyDTO"> |
| | | SELECT |
| | | matnr, |
| | | ISNULL(batch, '') as batch, |
| | | ISNULL(brand, '') as brand, |
| | | ISNULL(maktx, '') as maktx, |
| | | ending_qty as endingQty |
| | | FROM man_monthly_settle_detail |
| | | WHERE settle_id = #{previousSettleId} |
| | | AND is_deleted = 0 |
| | | </select> |
| | | |
| | | <!-- æ´æ°å
¥åºè®¢åçæç»ä¿¡æ¯ --> |
| | | <update id="updateOrderSettleInfo"> |
| | | UPDATE man_order_log_pakin |
| | | SET monthly_settle_id = #{settleId}, |
| | | monthly_settle_no = #{settleNo} |
| | | WHERE status = 1 |
| | | AND order_time >= #{startDate} |
| | | AND order_time <= #{endDate} |
| | | AND settle = 6 |
| | | AND (monthly_settle_id IS NULL OR monthly_settle_id = 0) |
| | | </update> |
| | | |
| | | <!-- æ´æ°åºåºè®¢åçæç»ä¿¡æ¯ --> |
| | | <update id="updateOrderSettleInfoPakout"> |
| | | UPDATE man_order_log_pakout |
| | | SET monthly_settle_id = #{settleId}, |
| | | monthly_settle_no = #{settleNo} |
| | | WHERE status = 1 |
| | | AND order_time >= #{startDate} |
| | | AND order_time <= #{endDate} |
| | | AND settle = 6 |
| | | AND (monthly_settle_id IS NULL OR monthly_settle_id = 0) |
| | | </update> |
| | | |
| | | <!-- æ¸
é¤å
¥åºè®¢åçæç»ä¿¡æ¯ --> |
| | | <update id="clearOrderSettleInfo"> |
| | | UPDATE man_order_log_pakin |
| | | SET monthly_settle_id = NULL, |
| | | monthly_settle_no = NULL |
| | | WHERE monthly_settle_id = #{settleId} |
| | | </update> |
| | | |
| | | <!-- æ¸
é¤åºåºè®¢åçæç»ä¿¡æ¯ --> |
| | | <update id="clearOrderSettleInfoPakout"> |
| | | UPDATE man_order_log_pakout |
| | | SET monthly_settle_id = NULL, |
| | | monthly_settle_no = NULL |
| | | WHERE monthly_settle_id = #{settleId} |
| | | </update> |
| | | |
| | | </mapper> |
| | | |
| | | |
| New file |
| | |
| | | -- ä¸å¡æ¶é´åæ´è®°å½è¡¨ |
| | | CREATE TABLE [man_order_time_change_log] ( |
| | | [id] bigint NOT NULL IDENTITY(1,1), |
| | | [order_id] bigint NOT NULL, |
| | | [order_no] varchar(255) NOT NULL, |
| | | [order_type] int NOT NULL, |
| | | [old_order_time] varchar(255) NOT NULL, |
| | | [new_order_time] varchar(255) NOT NULL, |
| | | [memo] varchar(500) DEFAULT NULL, |
| | | [create_by] bigint DEFAULT NULL, |
| | | [create_time] datetime DEFAULT NULL, |
| | | PRIMARY KEY ([id]) |
| | | ); |
| | | |
| | | CREATE INDEX [idx_order_id] ON [man_order_time_change_log] ([order_id]); |
| | | CREATE INDEX [idx_order_no] ON [man_order_time_change_log] ([order_no]); |
| | | CREATE INDEX [idx_create_time] ON [man_order_time_change_log] ([create_time]); |
| | | |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ä¸å¡æ¶é´åæ´è®°å½è¡¨', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'订åID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'order_id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'åæ®ç¼å·', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'order_no'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'订åç±»å 1:å
¥åº 2:åºåº', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'order_type'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'åä¸å¡æ¶é´', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'old_order_time'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æ°ä¸å¡æ¶é´', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'new_order_time'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'夿³¨', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'memo'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'å建人', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'create_by'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'å建æ¶é´', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_time_change_log', @level2type = N'COLUMN', @level2name = N'create_time'; |
| | | |
| New file |
| | |
| | | CREATE TABLE [man_monthly_settle] ( |
| | | [id] bigint NOT NULL IDENTITY(1,1), |
| | | [settle_no] varchar(255) NOT NULL, |
| | | [start_date] datetime NOT NULL, |
| | | [end_date] datetime NOT NULL, |
| | | [status] int NOT NULL DEFAULT 0, |
| | | [total_in_qty] decimal(24,9) DEFAULT 0.00, |
| | | [total_out_qty] decimal(24,9) DEFAULT 0.00, |
| | | [total_materials] int DEFAULT 0, |
| | | [memo] varchar(255) DEFAULT NULL, |
| | | [create_by] bigint DEFAULT NULL, |
| | | [create_time] datetime DEFAULT NULL, |
| | | [update_by] bigint DEFAULT NULL, |
| | | [update_time] datetime DEFAULT NULL, |
| | | [is_deleted] int NOT NULL DEFAULT 0, |
| | | PRIMARY KEY ([id]), |
| | | CONSTRAINT [uk_settle_no] UNIQUE ([settle_no]) |
| | | ); |
| | | CREATE INDEX [idx_start_date] ON [man_monthly_settle] ([start_date]); |
| | | CREATE INDEX [idx_end_date] ON [man_monthly_settle] ([end_date]); |
| | | CREATE INDEX [idx_status] ON [man_monthly_settle] ([status]); |
| | | |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ä¸»è¡¨', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ç¼å·', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'settle_no'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'èµ·å§æ¥æ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'start_date'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ç»ææ¥æ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'end_date'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ç¶æ 0:å¾
æç» 1:å·²æç»', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'status'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æ»å
¥åºæ°é', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'total_in_qty'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æ»åºåºæ°é', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'total_out_qty'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ç©æç§ç±»æ°', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'total_materials'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'夿³¨', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'memo'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'å建人å', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'create_by'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'å建æ¶é´', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'create_time'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ä¿®æ¹äººå', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'update_by'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ä¿®æ¹æ¶é´', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'update_time'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'å 餿 è®° 0:æªå é¤ 1:å·²å é¤', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle', @level2type = N'COLUMN', @level2name = N'is_deleted'; |
| | | |
| | | CREATE TABLE [man_monthly_settle_detail] ( |
| | | [id] bigint NOT NULL IDENTITY(1,1), |
| | | [settle_id] bigint NOT NULL, |
| | | [settle_no] varchar(255) NOT NULL, |
| | | [matnr] varchar(255) NOT NULL, |
| | | [batch] varchar(255) DEFAULT NULL, |
| | | [maktx] varchar(255) DEFAULT NULL, |
| | | [brand] varchar(255) DEFAULT NULL, |
| | | [beginning_qty] decimal(24,9) NOT NULL, |
| | | [in_qty] decimal(24,9) NOT NULL, |
| | | [out_qty] decimal(24,9) NOT NULL, |
| | | [ending_qty] decimal(24,9) NOT NULL, |
| | | [stock_qty] decimal(24,9) NOT NULL, |
| | | [diff_qty] decimal(24,9) NOT NULL, |
| | | [create_time] datetime DEFAULT NULL, |
| | | [is_deleted] int NOT NULL DEFAULT 0, |
| | | PRIMARY KEY ([id]) |
| | | ); |
| | | CREATE INDEX [idx_settle_id] ON [man_monthly_settle_detail] ([settle_id]); |
| | | CREATE INDEX [idx_settle_no] ON [man_monthly_settle_detail] ([settle_no]); |
| | | CREATE INDEX [idx_matnr] ON [man_monthly_settle_detail] ([matnr]); |
| | | |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»æç»è¡¨', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ä¸»è¡¨ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'settle_id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ç¼å·', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'settle_no'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ç©æç¼ç ', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'matnr'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æ¹æ¬¡ï¼è®¢åæç»æ¹æ¬¡ï¼', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'batch'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ç©æåç§°ï¼æç»æ¶ä»è®¢åæç»è¡¨è·åï¼', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'maktx'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'åçï¼æç»æ¶ä»è®¢åæç»è¡¨è·åï¼', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'brand'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æååºåï¼ä¸æç»ä½ï¼', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'beginning_qty'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æ¬æå
¥åºæ°é', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'in_qty'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æ¬æåºåºæ°é', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'out_qty'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'ææ«åºåï¼æå+å
¥åº-åºåºï¼', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'ending_qty'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'å½åå®é
åºåæ°é', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'stock_qty'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'差弿°éï¼ææ«åºå-æååºåï¼', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'diff_qty'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'å建æ¶é´', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'create_time'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'å 餿 è®° 0:æªå é¤ 1:å·²å é¤', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_monthly_settle_detail', @level2type = N'COLUMN', @level2name = N'is_deleted'; |
| | | |
| | | ALTER TABLE [man_order_log_pakin] ADD [monthly_settle_id] bigint DEFAULT NULL; |
| | | ALTER TABLE [man_order_log_pakin] ADD [monthly_settle_no] varchar(255) DEFAULT NULL; |
| | | CREATE INDEX [idx_monthly_settle_id] ON [man_order_log_pakin] ([monthly_settle_id]); |
| | | |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_log_pakin', @level2type = N'COLUMN', @level2name = N'monthly_settle_id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ç¼å·', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_log_pakin', @level2type = N'COLUMN', @level2name = N'monthly_settle_no'; |
| | | |
| | | ALTER TABLE [man_order_log_pakout] ADD [monthly_settle_id] bigint DEFAULT NULL; |
| | | ALTER TABLE [man_order_log_pakout] ADD [monthly_settle_no] varchar(255) DEFAULT NULL; |
| | | CREATE INDEX [idx_monthly_settle_id] ON [man_order_log_pakout] ([monthly_settle_id]); |
| | | |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_log_pakout', @level2type = N'COLUMN', @level2name = N'monthly_settle_id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ç¼å·', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_log_pakout', @level2type = N'COLUMN', @level2name = N'monthly_settle_no'; |
| | | |
| | | -- 为 man_order_pakin è¡¨æ·»å æç»åæ°å段 |
| | | ALTER TABLE [man_order_pakin] ADD [monthly_settle_id] bigint DEFAULT NULL; |
| | | ALTER TABLE [man_order_pakin] ADD [monthly_settle_no] varchar(255) DEFAULT NULL; |
| | | CREATE INDEX [idx_monthly_settle_id] ON [man_order_pakin] ([monthly_settle_id]); |
| | | |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_pakin', @level2type = N'COLUMN', @level2name = N'monthly_settle_id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ç¼å·', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_pakin', @level2type = N'COLUMN', @level2name = N'monthly_settle_no'; |
| | | |
| | | -- 为 man_order_pakout è¡¨æ·»å æç»åæ°å段 |
| | | ALTER TABLE [man_order_pakout] ADD [monthly_settle_id] bigint DEFAULT NULL; |
| | | ALTER TABLE [man_order_pakout] ADD [monthly_settle_no] varchar(255) DEFAULT NULL; |
| | | CREATE INDEX [idx_monthly_settle_id] ON [man_order_pakout] ([monthly_settle_id]); |
| | | |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_pakout', @level2type = N'COLUMN', @level2name = N'monthly_settle_id'; |
| | | EXEC sp_addextendedproperty @name = N'MS_Description', @value = N'æç»ç¼å·', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'man_order_pakout', @level2type = N'COLUMN', @level2name = N'monthly_settle_no'; |
| | | |
| | | |
| New file |
| | |
| | | CREATE TABLE [dbo].[man_order_log_pakout] ( |
| | | [id] bigint NOT NULL, |
| | | [uuid] varchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, |
| | | [order_no] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [order_time] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [doc_type] bigint NULL, |
| | | [item_id] bigint NULL, |
| | | [item_name] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [allot_item_id] bigint NULL, |
| | | [def_number] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [number] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [cstmr] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [cstmr_name] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [tel] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [oper_memb] varchar(50) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [total_fee] decimal(24,9) NULL, |
| | | [discount] decimal(24,9) NULL, |
| | | [discount_fee] decimal(24,9) NULL, |
| | | [other_fee] decimal(24,9) NULL, |
| | | [act_fee] decimal(24,9) NULL, |
| | | [pay_type] int NULL, |
| | | [salesman] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [account_day] int NULL, |
| | | [post_fee_type] int NULL, |
| | | [post_fee] decimal(24,9) NULL, |
| | | [pay_time] datetime NULL, |
| | | [send_time] datetime NULL, |
| | | [ship_name] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [ship_code] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [settle] bigint NULL, |
| | | [status] int NULL, |
| | | [create_by] bigint NULL, |
| | | [create_time] datetime NULL, |
| | | [update_by] bigint NULL, |
| | | [update_time] datetime NULL, |
| | | [memo] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [move_status] int NULL, |
| | | [pakin_pakout_status] int DEFAULT ((2)) NULL, |
| | | [monthly_settle_id] bigint DEFAULT NULL NULL, |
| | | [monthly_settle_no] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT NULL NULL |
| | | ) |
| | | ON [PRIMARY] |
| | | GO |
| | | |
| | | ALTER TABLE [dbo].[man_order_log_pakout] SET (LOCK_ESCALATION = TABLE) |
| | | GO |
| | | |
| | | CREATE NONCLUSTERED INDEX [idx_monthly_settle_id] |
| | | ON [dbo].[man_order_log_pakout] ( |
| | | [monthly_settle_id] ASC |
| | | ) |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ID', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç¼å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'uuid' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'订åç¼å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'order_no' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åæ®æ¥æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'order_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åæ®ç±»å[man_doc_type]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'doc_type' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'项ç®ç¼å·[man_item]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'item_id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'è°æ¨é¡¹ç®ç¼å·[man_item]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'allot_item_id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åå§ç¥¨æ®å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'def_number' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'票æ®å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'number' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'客æ·ç¼å·[man_cstmr]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'cstmr' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'客æ·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'cstmr_name' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'èç³»æ¹å¼', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'tel' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æä½äººå', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'oper_memb' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å计éé¢', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'total_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'伿 ç', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'discount' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'伿 éé¢', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'discount_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é宿éè´è´¹ç¨å计', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'other_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å®ä»éé¢', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'act_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'仿¬¾ç±»å{1:ç°é,2:è®°è´¦}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'pay_type' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¸å¡å', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'salesman' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç»ç®å¤©æ°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'account_day' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é®è´¹æ¯ä»ç±»å{1:å¨çº¿æ¯ä»,2:è´§å°ä»æ¬¾}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'post_fee_type' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é®è´¹', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'post_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'仿¬¾æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'pay_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åè´§æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'send_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç©æµåç§°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'ship_name' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç©æµåå·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'ship_code' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'订åç¶æ[man_order_settle]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'settle' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç¶æ{1:æ£å¸¸,0:ç¦ç¨}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'status' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ·»å 人å[sys_user]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'create_by' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ·»å æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'create_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿®æ¹äººå[sys_user]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'update_by' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿®æ¹æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'update_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'夿³¨', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'memo' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å
¥åºåºç±»åï¼0ï¼æªç¥ï¼1ï¼å
¥åºï¼2ï¼åºåºï¼', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'pakin_pakout_status' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æç»ID', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'monthly_settle_id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æç»ç¼å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakout', |
| | | 'COLUMN', N'monthly_settle_no' |
| | | |
| | | |
| | | |
| | | CREATE TABLE [dbo].[man_order_log_pakin] ( |
| | | [id] bigint NOT NULL, |
| | | [uuid] varchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, |
| | | [order_no] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [order_time] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [doc_type] bigint NULL, |
| | | [item_id] bigint NULL, |
| | | [item_name] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [allot_item_id] bigint NULL, |
| | | [def_number] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [number] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [cstmr] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [cstmr_name] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [tel] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [oper_memb] varchar(50) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [total_fee] decimal(24,9) NULL, |
| | | [discount] decimal(24,9) NULL, |
| | | [discount_fee] decimal(24,9) NULL, |
| | | [other_fee] decimal(24,9) NULL, |
| | | [act_fee] decimal(24,9) NULL, |
| | | [pay_type] int NULL, |
| | | [salesman] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [account_day] int NULL, |
| | | [post_fee_type] int NULL, |
| | | [post_fee] decimal(24,9) NULL, |
| | | [pay_time] datetime NULL, |
| | | [send_time] datetime NULL, |
| | | [ship_name] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [ship_code] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [settle] bigint NULL, |
| | | [status] int NULL, |
| | | [create_by] bigint NULL, |
| | | [create_time] datetime NULL, |
| | | [update_by] bigint NULL, |
| | | [update_time] datetime NULL, |
| | | [memo] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [move_status] int NULL, |
| | | [pakin_pakout_status] int DEFAULT ((1)) NULL, |
| | | [monthly_settle_id] bigint DEFAULT NULL NULL, |
| | | [monthly_settle_no] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT NULL NULL |
| | | ) |
| | | ON [PRIMARY] |
| | | GO |
| | | |
| | | ALTER TABLE [dbo].[man_order_log_pakin] SET (LOCK_ESCALATION = TABLE) |
| | | GO |
| | | |
| | | CREATE NONCLUSTERED INDEX [idx_monthly_settle_id] |
| | | ON [dbo].[man_order_log_pakin] ( |
| | | [monthly_settle_id] ASC |
| | | ) |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ID', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç¼å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'uuid' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'订åç¼å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'order_no' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åæ®æ¥æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'order_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åæ®ç±»å[man_doc_type]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'doc_type' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'项ç®ç¼å·[man_item]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'item_id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'è°æ¨é¡¹ç®ç¼å·[man_item]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'allot_item_id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åå§ç¥¨æ®å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'def_number' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'票æ®å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'number' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'客æ·ç¼å·[man_cstmr]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'cstmr' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'客æ·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'cstmr_name' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'èç³»æ¹å¼', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'tel' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æä½äººå', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'oper_memb' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å计éé¢', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'total_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'伿 ç', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'discount' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'伿 éé¢', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'discount_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é宿éè´è´¹ç¨å计', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'other_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å®ä»éé¢', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'act_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'仿¬¾ç±»å{1:ç°é,2:è®°è´¦}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'pay_type' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¸å¡å', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'salesman' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç»ç®å¤©æ°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'account_day' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é®è´¹æ¯ä»ç±»å{1:å¨çº¿æ¯ä»,2:è´§å°ä»æ¬¾}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'post_fee_type' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é®è´¹', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'post_fee' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'仿¬¾æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'pay_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åè´§æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'send_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç©æµåç§°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'ship_name' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç©æµåå·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'ship_code' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'订åç¶æ[man_order_settle]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'settle' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç¶æ{1:æ£å¸¸,0:ç¦ç¨}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'status' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ·»å 人å[sys_user]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'create_by' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ·»å æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'create_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿®æ¹äººå[sys_user]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'update_by' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿®æ¹æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'update_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'夿³¨', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'memo' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å
¥åºåºç±»åï¼0ï¼æªç¥ï¼1ï¼å
¥åºï¼2ï¼åºåºï¼', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'pakin_pakout_status' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æç»ID', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'monthly_settle_id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æç»ç¼å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_log_pakin', |
| | | 'COLUMN', N'monthly_settle_no' |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | CREATE TABLE [dbo].[man_order_detl_log_pakin] ( |
| | | [id] bigint NOT NULL, |
| | | [order_id] bigint NOT NULL, |
| | | [order_no] varchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, |
| | | [anfme] decimal(24,9) DEFAULT ((1)) NOT NULL, |
| | | [qty] decimal(24,9) DEFAULT ((0)) NOT NULL, |
| | | [matnr] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [maktx] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [batch] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [specs] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [model] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [color] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [brand] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [unit] varchar(50) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [price] decimal(24,9) DEFAULT ((1)) NOT NULL, |
| | | [sku] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [units] decimal(24,9) DEFAULT ((1)) NOT NULL, |
| | | [barcode] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [origin] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [manu] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [manu_date] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [item_num] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [safe_qty] decimal(24,9) DEFAULT ((999999)) NOT NULL, |
| | | [weight] decimal(24,9) DEFAULT ((9999)) NOT NULL, |
| | | [man_length] decimal(24,9) DEFAULT ((9999)) NOT NULL, |
| | | [volume] decimal(24,9) DEFAULT ((9999)) NOT NULL, |
| | | [three_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [supp] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [supp_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [be_batch] int DEFAULT ((0)) NOT NULL, |
| | | [dead_time] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [dead_warn] int DEFAULT ((9999)) NOT NULL, |
| | | [source] int DEFAULT ((0)) NOT NULL, |
| | | [inspect] int DEFAULT ((0)) NOT NULL, |
| | | [danger] int DEFAULT ((0)) NOT NULL, |
| | | [status] int DEFAULT ((1)) NOT NULL, |
| | | [create_by] bigint NULL, |
| | | [create_time] datetime NULL, |
| | | [update_by] bigint NULL, |
| | | [update_time] datetime NULL, |
| | | [memo] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL, |
| | | [work_qty] decimal(24,9) DEFAULT ((0)) NULL, |
| | | [qr_code] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [start_date] datetime NULL, |
| | | [end_date] datetime NULL, |
| | | [pakin_pakout_status] int DEFAULT ((1)) NOT NULL, |
| | | [line_number] bigint DEFAULT ((1)) NOT NULL, |
| | | [standby1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL, |
| | | [standby2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL, |
| | | [standby3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL, |
| | | [box_type1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL, |
| | | [box_type2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL, |
| | | [box_type3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL |
| | | ) |
| | | ON [PRIMARY] |
| | | GO |
| | | |
| | | ALTER TABLE [dbo].[man_order_detl_log_pakin] SET (LOCK_ESCALATION = TABLE) |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ID', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'订åå
ç [man_order]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'order_id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åæ®ç¼å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'order_no' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ°é', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'anfme' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ååç¼ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'matnr' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åååç§°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'maktx' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¹å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'batch' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'è§æ ¼', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'specs' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åå·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'model' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é¢è²', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'color' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åç', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'brand' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åä½', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'unit' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åä»·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'price' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'sku', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'sku' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åä½é', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'units' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¡ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'barcode' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'产å°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'origin' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åå®¶', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'manu' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'çäº§æ¥æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'manu_date' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å项æ°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'item_num' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å®å
¨åºåé', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'safe_qty' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'éé', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'weight' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é¿åº¦', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'man_length' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä½ç§¯', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'volume' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'䏿¹ç¼ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'three_code' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¾åºå', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'supp' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¾åºåç¼ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'supp_code' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¯å¦æ¹æ¬¡{1:æ¯,0:å¦}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'be_batch' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿è´¨æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'dead_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é¢è¦å¤©æ°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'dead_warn' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å¶è´{1:å¶é ,2:éè´,3:å¤å}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'source' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'è¦æ±æ£éª{1:æ¯,0:å¦}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'inspect' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å±é©å{1:æ¯,0:å¦}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'danger' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç¶æ{1:æ£å¸¸,0:ç¦ç¨}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'status' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ·»å 人å[sys_user]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'create_by' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ·»å æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'create_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿®æ¹äººå[sys_user]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'update_by' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿®æ¹æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'update_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'夿³¨', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'memo' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¡å½¢ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'qr_code' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¶å·å¼å§æ¥æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'start_date' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¶å·ç»ææ¥æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'end_date' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å
¥åºåºç±»åï¼0ï¼æªç¥ï¼1ï¼å
¥åºï¼2ï¼åºåºï¼', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'pakin_pakout_status' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'è¡å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakin', |
| | | 'COLUMN', N'line_number' |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | CREATE TABLE [dbo].[man_order_detl_log_pakout] ( |
| | | [id] bigint NOT NULL, |
| | | [order_id] bigint NOT NULL, |
| | | [order_no] varchar(255) COLLATE Chinese_PRC_CI_AS NOT NULL, |
| | | [anfme] decimal(24,9) DEFAULT ((1)) NOT NULL, |
| | | [qty] decimal(24,9) DEFAULT ((0)) NOT NULL, |
| | | [matnr] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [maktx] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [batch] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [specs] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [model] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [color] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [brand] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [unit] varchar(50) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [price] decimal(24,9) DEFAULT ((1)) NOT NULL, |
| | | [sku] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [units] decimal(24,9) DEFAULT ((1)) NOT NULL, |
| | | [barcode] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [origin] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [manu] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [manu_date] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [item_num] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [safe_qty] decimal(24,9) DEFAULT ((999999)) NOT NULL, |
| | | [weight] decimal(24,9) DEFAULT ((9999)) NOT NULL, |
| | | [man_length] decimal(24,9) DEFAULT ((9999)) NOT NULL, |
| | | [volume] decimal(24,9) DEFAULT ((9999)) NOT NULL, |
| | | [three_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [supp] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [supp_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL, |
| | | [be_batch] int DEFAULT ((0)) NOT NULL, |
| | | [dead_time] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [dead_warn] int DEFAULT ((9999)) NOT NULL, |
| | | [source] int DEFAULT ((0)) NOT NULL, |
| | | [inspect] int DEFAULT ((0)) NOT NULL, |
| | | [danger] int DEFAULT ((0)) NOT NULL, |
| | | [status] int DEFAULT ((1)) NOT NULL, |
| | | [create_by] bigint NULL, |
| | | [create_time] datetime NULL, |
| | | [update_by] bigint NULL, |
| | | [update_time] datetime NULL, |
| | | [memo] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL, |
| | | [work_qty] decimal(24,9) DEFAULT ((0)) NULL, |
| | | [qr_code] varchar(255) COLLATE Chinese_PRC_CI_AS NULL, |
| | | [start_date] datetime NULL, |
| | | [end_date] datetime NULL, |
| | | [pakin_pakout_status] int DEFAULT ((2)) NOT NULL, |
| | | [line_number] bigint DEFAULT ((1)) NOT NULL, |
| | | [standby1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL, |
| | | [standby2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL, |
| | | [standby3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL, |
| | | [box_type1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL, |
| | | [box_type2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL, |
| | | [box_type3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL |
| | | ) |
| | | ON [PRIMARY] |
| | | GO |
| | | |
| | | ALTER TABLE [dbo].[man_order_detl_log_pakout] SET (LOCK_ESCALATION = TABLE) |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ID', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'订åå
ç [man_order]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'order_id' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åæ®ç¼å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'order_no' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ°é', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'anfme' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ååç¼ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'matnr' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åååç§°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'maktx' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¹å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'batch' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'è§æ ¼', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'specs' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åå·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'model' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é¢è²', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'color' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åç', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'brand' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åä½', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'unit' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åä»·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'price' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'sku', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'sku' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åä½é', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'units' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¡ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'barcode' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'产å°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'origin' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'åå®¶', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'manu' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'çäº§æ¥æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'manu_date' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å项æ°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'item_num' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å®å
¨åºåé', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'safe_qty' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'éé', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'weight' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é¿åº¦', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'man_length' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä½ç§¯', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'volume' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'䏿¹ç¼ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'three_code' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¾åºå', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'supp' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¾åºåç¼ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'supp_code' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¯å¦æ¹æ¬¡{1:æ¯,0:å¦}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'be_batch' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿è´¨æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'dead_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'é¢è¦å¤©æ°', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'dead_warn' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å¶è´{1:å¶é ,2:éè´,3:å¤å}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'source' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'è¦æ±æ£éª{1:æ¯,0:å¦}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'inspect' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å±é©å{1:æ¯,0:å¦}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'danger' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ç¶æ{1:æ£å¸¸,0:ç¦ç¨}', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'status' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ·»å 人å[sys_user]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'create_by' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ·»å æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'create_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿®æ¹äººå[sys_user]', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'update_by' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'ä¿®æ¹æ¶é´', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'update_time' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'夿³¨', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'memo' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¡å½¢ç ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'qr_code' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¶å·å¼å§æ¥æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'start_date' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'æ¶å·ç»ææ¥æ', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'end_date' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'å
¥åºåºç±»åï¼0ï¼æªç¥ï¼1ï¼å
¥åºï¼2ï¼åºåºï¼', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'pakin_pakout_status' |
| | | GO |
| | | |
| | | EXEC sp_addextendedproperty |
| | | 'MS_Description', N'è¡å·', |
| | | 'SCHEMA', N'dbo', |
| | | 'TABLE', N'man_order_detl_log_pakout', |
| | | 'COLUMN', N'line_number' |
| New file |
| | |
| | | var pageCurr; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer', 'form', 'table', 'util', 'admin', 'laydate', 'laytpl'], function () { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var form = layui.form; |
| | | var table = layui.table; |
| | | var util = layui.util; |
| | | var admin = layui.admin; |
| | | var layDate = layui.laydate; |
| | | var laytpl = layui.laytpl; |
| | | |
| | | // 渲æè¡¨æ ¼ |
| | | tableIns = table.render({ |
| | | elem: '#monthlySettle', |
| | | url: baseUrl + '/monthlySettle/list/auth', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | page: true, |
| | | cellMinWidth: 100, |
| | | where: {}, |
| | | cols: [[ |
| | | {type: 'numbers'}, |
| | | {field: 'settleNo', title: 'æç»ç¼å·', width: 180}, |
| | | {field: 'startDate$', align: 'center', title: 'èµ·å§æ¥æ', width: 120}, |
| | | {field: 'endDate$', align: 'center', title: 'ç»ææ¥æ', width: 120}, |
| | | {field: 'totalInQty', align: 'center', title: 'æ»å
¥åºæ°é', width: 120}, |
| | | {field: 'totalOutQty', align: 'center', title: 'æ»åºåºæ°é', width: 120}, |
| | | {field: 'totalMaterials', align: 'center', title: 'ç©æç§ç±»æ°', width: 120}, |
| | | {field: 'createTime$', title: 'å建æ¶é´', minWidth: 180, width: 180}, |
| | | {align: 'center', title: 'æä½', toolbar: '#operate', width: 180} |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function (res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } |
| | | pageCurr = curr; |
| | | } |
| | | }); |
| | | |
| | | // æç´¢ |
| | | form.on('submit(search)', function (data) { |
| | | pageCurr = 1; |
| | | tableReload(false); |
| | | }); |
| | | |
| | | // éç½® |
| | | form.on('submit(reset)', function (data) { |
| | | pageCurr = 1; |
| | | clearFormVal($('#search-box')); |
| | | // æå¨æ¸
ç©ºæ¥æèå´éæ©å¨ |
| | | $('input[name="date_range"]').val(''); |
| | | // æ¾å¼æ¸
ç©ºè¡¨æ ¼é
ç½®ä¸ç where åæ° |
| | | if (tableIns && tableIns.config) { |
| | | tableIns.config.where = {}; |
| | | } |
| | | // ä½¿ç¨ setTimeout ç¡®ä¿è¡¨åå¼è¢«å®å
¨æ¸
空ååéæ°å è½½è¡¨æ ¼ |
| | | setTimeout(function() { |
| | | tableReload(false); |
| | | }, 0); |
| | | }); |
| | | |
| | | // æ¥æèå´éæ©å¨ |
| | | layDate.render({ |
| | | elem: '.layui-laydate-range', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | |
| | | // åèµ·æç» |
| | | $('#startSettleBtn').click(function () { |
| | | showStartSettleDialog(); |
| | | }); |
| | | |
| | | // æ¾ç¤ºåèµ·æç»å¼¹çª |
| | | function showStartSettleDialog() { |
| | | admin.open({ |
| | | type: 1, |
| | | title: 'åèµ·æç»', |
| | | content: $('#startSettleDialog').html(), |
| | | area: '500px', |
| | | success: function (layero, dIndex) { |
| | | var startDateIns = null; |
| | | var endDateIns = null; |
| | | |
| | | // åå§åç»ææ¥æéæ©å¨ï¼å
åå§åï¼åç»å设置minï¼ |
| | | // ä½¿ç¨ setTimeout ç¡®ä¿ DOM å·²å®å
¨æ¸²æ |
| | | setTimeout(function() { |
| | | var $endDate = layero.find('#endDate'); |
| | | if ($endDate.length > 0) { |
| | | endDateIns = layDate.render({ |
| | | elem: $endDate[0], |
| | | type: 'date', |
| | | done: function(value, date, endDate){ |
| | | var startDate = layero.find('#startDate').val(); |
| | | if (startDate && value < startDate) { |
| | | layer.msg('ç»ææ¥æä¸è½æ©äºèµ·å§æ¥æ', {icon: 2}); |
| | | layero.find('#endDate').val(''); |
| | | checkUnfinishedOrders(startDate, ''); |
| | | return; |
| | | } |
| | | checkUnfinishedOrders(startDate, value); |
| | | } |
| | | }); |
| | | } |
| | | }, 50); |
| | | |
| | | // è·åä¸ä¸ä¸ªæç»çèµ·å§æ¥æï¼æææç»è®°å½ç»ææ¥æçä¸ä¸å¤©ï¼ |
| | | $.ajax({ |
| | | url: baseUrl + '/monthlySettle/nextStartDate/auth', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | // æ°æ®å¨ msg åæ®µä¸ |
| | | var nextStartDate = res.msg; |
| | | // ç¡®ä¿ nextStartDate æ¯åç¬¦ä¸²æ ¼å¼ |
| | | if (nextStartDate != null && nextStartDate !== '') { |
| | | // 转æ¢ä¸ºå符串ï¼å¤çå¯è½çæ°åæå
¶ä»ç±»å |
| | | nextStartDate = String(nextStartDate).trim(); |
| | | if (nextStartDate !== '' && nextStartDate !== 'null') { |
| | | // ä½¿ç¨ setTimeout ç¡®ä¿ DOM å·²å®å
¨æ¸²æ |
| | | setTimeout(function() { |
| | | // ä½¿ç¨ layero.find æ¥æ¾å¼¹çªå
çå
ç´ |
| | | var $startDate = layero.find('#startDate'); |
| | | if ($startDate.length > 0) { |
| | | $startDate.val(nextStartDate); |
| | | $startDate.attr('readonly', true); |
| | | $startDate.css('background-color', '#f5f5f5'); |
| | | $startDate.css('cursor', 'not-allowed'); |
| | | console.log('å·²è®¾ç½®èµ·å§æ¥æ:', $startDate.val()); |
| | | } else { |
| | | console.error('æªæ¾å° #startDate å
ç´ '); |
| | | } |
| | | }, 50); |
| | | |
| | | // è·åææç»ææ¥æç¨äºæç¤º |
| | | $.ajax({ |
| | | url: baseUrl + '/monthlySettle/latestEndDate/auth', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (latestRes) { |
| | | var latestEndDate = (latestRes.code === 200 && latestRes.msg) ? String(latestRes.msg) : ''; |
| | | var tipMsg = latestEndDate |
| | | ? 'æç¤ºï¼æææç»è®°å½ç»ææ¥æä¸º ' + latestEndDate + 'ï¼æ¬æ¬¡æç»èµ·å§æ¥æå·²èªå¨è®¾ç½®ä¸º ' + nextStartDate + 'ï¼ä¸å¯ä¿®æ¹' |
| | | : 'æç¤ºï¼æ¬æ¬¡æç»èµ·å§æ¥æå·²èªå¨è®¾ç½®ä¸º ' + nextStartDate + 'ï¼ä¸å¯ä¿®æ¹'; |
| | | layero.find('#settleTip').html(tipMsg); |
| | | }, |
| | | error: function() { |
| | | layero.find('#settleTip').html('æç¤ºï¼æ¬æ¬¡æç»èµ·å§æ¥æå·²èªå¨è®¾ç½®ä¸º ' + nextStartDate + 'ï¼ä¸å¯ä¿®æ¹'); |
| | | } |
| | | }); |
| | | |
| | | // éæ°æ¸²æç»ææ¥æéæ©å¨ï¼è®¾ç½®æå°æ¥æä¸ºèµ·å§æ¥æ |
| | | setTimeout(function() { |
| | | endDateIns = layDate.render({ |
| | | elem: layero.find('#endDate')[0], |
| | | type: 'date', |
| | | min: nextStartDate, |
| | | done: function(value, date, endDate){ |
| | | var startDate = layero.find('#startDate').val(); |
| | | if (startDate && value < startDate) { |
| | | layer.msg('ç»ææ¥æä¸è½æ©äºèµ·å§æ¥æ', {icon: 2}); |
| | | layero.find('#endDate').val(''); |
| | | checkUnfinishedOrders(startDate, ''); |
| | | return; |
| | | } |
| | | checkUnfinishedOrders(startDate, value); |
| | | } |
| | | }); |
| | | }, 100); |
| | | } |
| | | } else { |
| | | // 没ææç»è®°å½ï¼å
许èªç±éæ©èµ·å§æ¥æ |
| | | setTimeout(function() { |
| | | var $startDate = layero.find('#startDate'); |
| | | if ($startDate.length > 0) { |
| | | startDateIns = layDate.render({ |
| | | elem: $startDate[0], |
| | | type: 'date', |
| | | done: function(value, date, endDate){ |
| | | // å½èµ·å§æ¥ææ¹åæ¶ï¼éæ°æ¸²æç»ææ¥æéæ©å¨ï¼è®¾ç½®æå°æ¥æ |
| | | var currentEndDate = layero.find('#endDate').val(); |
| | | if (currentEndDate && currentEndDate < value) { |
| | | layero.find('#endDate').val(''); |
| | | layero.find('#settleTip').html('<span style="color: #ff5722;">è¦åï¼ç»ææ¥æä¸è½æ©äºèµ·å§æ¥æï¼è¯·éæ°éæ©ç»ææ¥æ</span>'); |
| | | } |
| | | |
| | | // éæ°æ¸²æç»ææ¥æéæ©å¨ |
| | | endDateIns = layDate.render({ |
| | | elem: layero.find('#endDate')[0], |
| | | type: 'date', |
| | | min: value, |
| | | done: function(endValue, endDate, endEndDate){ |
| | | if (value && endValue < value) { |
| | | layer.msg('ç»ææ¥æä¸è½æ©äºèµ·å§æ¥æ', {icon: 2}); |
| | | layero.find('#endDate').val(''); |
| | | checkUnfinishedOrders(value, ''); |
| | | return; |
| | | } |
| | | checkUnfinishedOrders(value, endValue); |
| | | } |
| | | }); |
| | | |
| | | checkUnfinishedOrders(value, layero.find('#endDate').val()); |
| | | } |
| | | }); |
| | | layero.find('#settleTip').html('æç¤ºï¼é¦æ¬¡æç»ï¼è¯·éæ©èµ·å§æ¥æ'); |
| | | } |
| | | }, 50); |
| | | } |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } |
| | | }, |
| | | error: function() { |
| | | // 妿è·å失败ï¼å
许èªç±éæ©èµ·å§æ¥æ |
| | | setTimeout(function() { |
| | | var $startDate = layero.find('#startDate'); |
| | | if ($startDate.length > 0) { |
| | | startDateIns = layDate.render({ |
| | | elem: $startDate[0], |
| | | type: 'date', |
| | | done: function(value, date, endDate){ |
| | | var currentEndDate = layero.find('#endDate').val(); |
| | | if (currentEndDate && currentEndDate < value) { |
| | | layero.find('#endDate').val(''); |
| | | layero.find('#settleTip').html('<span style="color: #ff5722;">è¦åï¼ç»ææ¥æä¸è½æ©äºèµ·å§æ¥æï¼è¯·éæ°éæ©ç»ææ¥æ</span>'); |
| | | } |
| | | |
| | | endDateIns = layDate.render({ |
| | | elem: layero.find('#endDate')[0], |
| | | type: 'date', |
| | | min: value, |
| | | done: function(endValue, endDate, endEndDate){ |
| | | if (value && endValue < value) { |
| | | layer.msg('ç»ææ¥æä¸è½æ©äºèµ·å§æ¥æ', {icon: 2}); |
| | | layero.find('#endDate').val(''); |
| | | checkUnfinishedOrders(value, ''); |
| | | return; |
| | | } |
| | | checkUnfinishedOrders(value, endValue); |
| | | } |
| | | }); |
| | | |
| | | checkUnfinishedOrders(value, layero.find('#endDate').val()); |
| | | } |
| | | }); |
| | | layero.find('#settleTip').html('æç¤ºï¼è¯·éæ©èµ·å§æ¥æ'); |
| | | } |
| | | }, 50); |
| | | } |
| | | }); |
| | | |
| | | // 表åæäº¤äºä»¶ |
| | | form.on('submit(startSettleSubmit)', function (data) { |
| | | var startDate = layero.find('#startDate').val(); |
| | | var endDate = layero.find('#endDate').val(); |
| | | |
| | | if (!startDate || !endDate) { |
| | | layer.msg('è¯·éæ©èµ·å§æ¥æåç»ææ¥æ', {icon: 2}); |
| | | return false; |
| | | } |
| | | |
| | | if (startDate > endDate) { |
| | | layer.msg('ç»ææ¥æä¸è½æ©äºèµ·å§æ¥æï¼è¯·éæ°éæ©', {icon: 2}); |
| | | return false; |
| | | } |
| | | |
| | | // å°ç»ææ¥æè®¾ç½®ä¸ºå½å¤©ç 23:59:59 |
| | | var endDateTime = endDate + ' 23:59:59'; |
| | | |
| | | layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl + '/monthlySettle/start/auth', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | startDate: startDate, |
| | | endDate: endDateTime |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll('loading'); |
| | | if (res.code === 200) { |
| | | layer.close(dIndex); |
| | | tableIns.reload({page: {curr: 1}}); |
| | | layer.msg(res.msg || 'æç»æå', {icon: 1}); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg || 'æç»å¤±è´¥', {icon: 2}); |
| | | } |
| | | }, |
| | | error: function() { |
| | | layer.closeAll('loading'); |
| | | layer.msg('æç»è¯·æ±å¤±è´¥', {icon: 2}); |
| | | } |
| | | }); |
| | | return false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // æ£æ¥æªå®æç订å |
| | | function checkUnfinishedOrders(startDate, endDate) { |
| | | if (!startDate && !endDate) { |
| | | $('#settleTip').html('<span style="color: #999;">è¯·éæ©èµ·å§æ¥æåç»ææ¥æ</span>'); |
| | | return; |
| | | } |
| | | |
| | | if (!startDate) { |
| | | $('#settleTip').html('<span style="color: #999;">è¯·éæ©èµ·å§æ¥æ</span>'); |
| | | return; |
| | | } |
| | | |
| | | if (!endDate) { |
| | | $('#settleTip').html('<span style="color: #999;">è¯·éæ©ç»ææ¥æ</span>'); |
| | | return; |
| | | } |
| | | |
| | | // éªè¯æ¥æèå´ |
| | | if (startDate > endDate) { |
| | | $('#settleTip').html('<span style="color: #ff5722;">è¦åï¼ç»ææ¥æä¸è½æ©äºèµ·å§æ¥æï¼è¯·éæ°éæ©</span>'); |
| | | return; |
| | | } |
| | | |
| | | $.ajax({ |
| | | url: baseUrl + '/monthlySettle/checkUnfinished/auth', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | startDate: startDate, |
| | | endDate: endDate |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | $('#settleTip').html('<span style="color: #5FB878;">â æ¥æèå´ææï¼å¯ä»¥æ£å¸¸è¿è¡æç»</span>'); |
| | | } else { |
| | | $('#settleTip').html('<span style="color: #ff5722;">è¦åï¼' + (res.msg || 'æç»æ¶é´èå´å
å卿ªå®æç订åï¼æ æ³è¿è¡æç»') + '</span>'); |
| | | } |
| | | }, |
| | | error: function() { |
| | | $('#settleTip').html('<span style="color: #ff5722;">æ£æ¥å¤±è´¥ï¼è¯·éè¯</span>'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // å·¥å
·æ¡ç¹å»äºä»¶ |
| | | table.on('tool(monthlySettle)', function (obj) { |
| | | var data = obj.data; |
| | | var layEvent = obj.event; |
| | | if (layEvent === 'detail') { |
| | | showDetailDialog(data); |
| | | } else if (layEvent === 'delete') { |
| | | deleteSettle(data); |
| | | } |
| | | }); |
| | | |
| | | // æ¾ç¤ºæç»å¼¹çª |
| | | function showDetailDialog(data) { |
| | | layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl + '/monthlySettle/statistics/' + data.id + '/auth', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll('loading'); |
| | | if (res.code === 200) { |
| | | var settle = res.data.settle; |
| | | var details = res.data.details; |
| | | |
| | | // å
æ¸²ææ¨¡æ¿ |
| | | var template = $('#detailDialog').html(); |
| | | var html = laytpl(template).render(settle); |
| | | |
| | | admin.open({ |
| | | type: 1, |
| | | title: 'æç»æç» - ' + settle.settleNo, |
| | | content: html, |
| | | area: ['90%', '80%'], |
| | | success: function (layero, dIndex) { |
| | | // 渲ææç»è¡¨æ ¼ï¼å¯¹è´¦åæ ¼å¼ï¼ |
| | | table.render({ |
| | | elem: '#detailTable', |
| | | data: details, |
| | | page: true, |
| | | cellMinWidth: 100, |
| | | width: '100%', |
| | | cols: [[ |
| | | {type: 'numbers', title: 'åºå·', width: 60, align: 'center'}, |
| | | {field: 'matnr', title: 'ç©æç¼ç ', width: 150}, |
| | | {field: 'maktx', title: 'ç©æåç§°', width: 200}, |
| | | {field: 'batch', title: 'æ¹æ¬¡', width: 120}, |
| | | {field: 'brand', title: 'åç', width: 120}, |
| | | { |
| | | field: 'beginningQty', |
| | | align: 'right', |
| | | title: 'æååºå', |
| | | width: 120, |
| | | templet: function (d) { |
| | | var qty = parseFloat(d.beginningQty || 0); |
| | | return qty.toFixed(2); |
| | | } |
| | | }, |
| | | { |
| | | field: 'endingQty', |
| | | align: 'right', |
| | | title: 'ææ«åºå', |
| | | width: 120, |
| | | templet: function (d) { |
| | | var qty = parseFloat(d.endingQty || 0); |
| | | return qty.toFixed(2); |
| | | } |
| | | }, |
| | | { |
| | | field: 'diffQty', |
| | | align: 'right', |
| | | title: '差弿°é', |
| | | width: 120, |
| | | templet: function (d) { |
| | | var diff = parseFloat(d.diffQty || 0); |
| | | if (diff > 0) { |
| | | return '<span style="color: #5FB878;">+' + diff.toFixed(2) + '</span>'; |
| | | } else if (diff < 0) { |
| | | return '<span style="color: #ff5722;">' + diff.toFixed(2) + '</span>'; |
| | | } else { |
| | | return diff.toFixed(2); |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | field: 'inQty', |
| | | align: 'right', |
| | | title: 'æ¬æå
¥åº', |
| | | width: 120, |
| | | templet: function (d) { |
| | | var qty = parseFloat(d.inQty || 0); |
| | | return qty.toFixed(2); |
| | | } |
| | | }, |
| | | { |
| | | field: 'outQty', |
| | | align: 'right', |
| | | title: 'æ¬æåºåº', |
| | | width: 120, |
| | | templet: function (d) { |
| | | var qty = parseFloat(d.outQty || 0); |
| | | return qty.toFixed(2); |
| | | } |
| | | } |
| | | ]] |
| | | }); |
| | | } |
| | | }); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg || 'è·åæç»å¤±è´¥', {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // å 餿ç»è®°å½ |
| | | function deleteSettle(data) { |
| | | layer.confirm('确认è¦å 餿ç»è®°å½ "' + data.settleNo + '" åï¼å é¤åå°æ¸
é¤å
³èçåºå
¥åºè®¢åæç»ä¿¡æ¯ï¼å¯ä»¥éæ°è¿è¡æç»ã', { |
| | | shade: .1, |
| | | skin: 'layui-layer-admin' |
| | | }, function (i) { |
| | | layer.close(i); |
| | | layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl + '/monthlySettle/' + data.id + '/auth', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'DELETE', |
| | | success: function (res) { |
| | | layer.closeAll('loading'); |
| | | if (res.code === 200) { |
| | | tableIns.reload({page: {curr: 1}}); |
| | | layer.msg(res.msg || 'å 餿å', {icon: 1}); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg || 'å é¤å¤±è´¥', {icon: 2}); |
| | | } |
| | | }, |
| | | error: function() { |
| | | layer.closeAll('loading'); |
| | | layer.msg('å é¤å¤±è´¥', {icon: 2}); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | function tableReload(child) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | var value = this.value; |
| | | // å¤çæ¥æèå´å段 |
| | | if (this.name === 'date_range') { |
| | | // åªå¤çéç©ºå¼ |
| | | if (value && value.trim() !== '') { |
| | | var dates = value.split(' - '); |
| | | if (dates.length === 2) { |
| | | var startDate = dates[0].trim(); |
| | | var endDate = dates[1].trim(); |
| | | if (startDate !== '' && endDate !== '') { |
| | | searchData.startDate = startDate; |
| | | searchData.endDate = endDate; |
| | | } |
| | | } |
| | | } |
| | | } else if (this.name === 'settle_no') { |
| | | // åªå¤çéç©ºå¼ |
| | | var trimmedValue = value ? value.trim() : ''; |
| | | if (trimmedValue !== '') { |
| | | searchData.settleNo = trimmedValue; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // è·å table å®ä¾ |
| | | var tableInstance = child ? parent.tableIns : tableIns; |
| | | |
| | | // 妿 searchData 为空对象ï¼éè¦æ¾å¼ä¼ å
¥è¦çææå¯è½åæ°ç对象 |
| | | // å 为 layui table å¯è½ä¼åå¹¶æ§çåæ°ï¼å³ä½¿ä¼ å
¥ç©ºå¯¹è±¡ä¹å¯è½ä¿çæ§å¼ |
| | | if (Object.keys(searchData).length === 0) { |
| | | if (tableInstance && tableInstance.config) { |
| | | // å
ä¿åæ§ç where ä¸å¯è½åå¨çææé® |
| | | var oldWhereKeys = []; |
| | | if (tableInstance.config.where) { |
| | | for (var key in tableInstance.config.where) { |
| | | if (tableInstance.config.where.hasOwnProperty(key)) { |
| | | oldWhereKeys.push(key); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // å®å
¨æ¿æ¢ where 对象 |
| | | tableInstance.config.where = {}; |
| | | |
| | | // 妿ä¹åæåæ°ï¼å建ä¸ä¸ªæç¡®è¦çç对象ï¼å°æææ§åæ°è®¾ç½®ä¸ºç©ºå符串 |
| | | // 使ç¨ç©ºå符串è䏿¯ nullï¼å 为 layui å¯è½ä¼è¿æ»¤ null å¼ |
| | | if (oldWhereKeys.length > 0) { |
| | | var overrideWhere = {}; |
| | | oldWhereKeys.forEach(function(key) { |
| | | overrideWhere[key] = ''; // 设置为空å符串æ¥è¦çæ§å¼ |
| | | }); |
| | | searchData = overrideWhere; |
| | | console.log('å建è¦çå¯¹è±¡ï¼æ§åæ°é®:', oldWhereKeys, 'è¦ç对象:', JSON.stringify(overrideWhere)); |
| | | } else { |
| | | // å³ä½¿æ²¡ææ§åæ°ï¼ä¹å建ä¸ä¸ªå
嫿æå¯è½åæ°ç空对象 |
| | | // è¿æ ·å¯ä»¥ç¡®ä¿è¦çä»»ä½å¯è½çæ§åæ° |
| | | searchData = { |
| | | settleNo: '', |
| | | startDate: '', |
| | | endDate: '' |
| | | }; |
| | | console.log('å建é»è®¤è¦ç对象:', JSON.stringify(searchData)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // æå»º reload åæ° |
| | | var reloadOptions = { |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr |
| | | }, |
| | | done: function (res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | if (res.data.length === 0 && count !== 0) { |
| | | var reloadTableInstance = child ? parent.tableIns : tableIns; |
| | | // 妿 searchData 为空ï¼ä¹å®å
¨æ¿æ¢ where 对象 |
| | | if (Object.keys(searchData).length === 0 && reloadTableInstance && reloadTableInstance.config) { |
| | | reloadTableInstance.config.where = {}; |
| | | } |
| | | reloadTableInstance.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr-1 |
| | | } |
| | | }); |
| | | pageCurr -= 1; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // è°è¯ï¼æå° reload åçé
ç½® |
| | | console.log('reload åç config.where:', JSON.stringify(tableInstance.config ? tableInstance.config.where : 'no config')); |
| | | console.log('reload æ¶ç where åæ°:', JSON.stringify(reloadOptions.where)); |
| | | |
| | | tableInstance.reload(reloadOptions); |
| | | |
| | | // è°è¯ï¼æå° reload åçé
ç½® |
| | | setTimeout(function() { |
| | | console.log('reload åç config.where:', JSON.stringify(tableInstance.config ? tableInstance.config.where : 'no config')); |
| | | }, 100); |
| | | } |
| New file |
| | |
| | | var insTbCount = 0; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer', 'form', 'table', 'util', 'admin', 'laydate', 'element'], function () { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var form = layui.form; |
| | | var table = layui.table; |
| | | var util = layui.util; |
| | | var admin = layui.admin; |
| | | var layDate = layui.laydate; |
| | | var laytpl = layui.laytpl; |
| | | var element = layui.element; |
| | | |
| | | // 渲ææç´¢æ¨¡æ¿ |
| | | $.ajax({ |
| | | url: baseUrl + "/docType/list/auth", |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { |
| | | limit: 9999, |
| | | pakin: 1 |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | let template = Handlebars.compile($('#docTypeTpl').html()); |
| | | $('#docType-query').html(template(res.data)); |
| | | layui.form.render('select'); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, { icon: 2 }) |
| | | } |
| | | } |
| | | }) |
| | | |
| | | // 渲æè¡¨æ ¼ |
| | | var insTb = table.render({ |
| | | elem: '#order', |
| | | url: baseUrl + '/order/pakinLog/order/head/page/auth', |
| | | method: 'POST', |
| | | headers: { token: localStorage.getItem('token') }, |
| | | page: true, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'orderNo', title: 'åæ®ç¼å·', templet: '#orderNoTpl' }, |
| | | { field: 'orderTime', align: 'center', title: 'ä¸å¡æ¶é´', }, |
| | | { field: 'cstmrName', align: 'center', title: '客æ·', }, |
| | | { field: 'docType$', align: 'center', title: 'ç±»å', minWidth: 160, width: 160 }, |
| | | { align: 'center', title: 'æç»', toolbar: '#tbLook', minWidth: 160, width: 160 }, |
| | | { field: 'createTime$', title: 'å建æ¶é´', minWidth: 200, width: 200 }, |
| | | { field: 'settle$', align: 'center', title: 'ç¶æ', templet: '#settleTpl', minWidth: 160, width: 160 }, |
| | | { field: 'memo', align: 'center', title: '夿³¨', hide: true }, |
| | | { align: 'center', title: 'æä½', toolbar: '#operate', width: 180 } |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function (res, curr, count) { |
| | | limit(); |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } |
| | | insTbCount = count; |
| | | } |
| | | }); |
| | | |
| | | // æç´¢ |
| | | form.on('submit(tbSearch)', function (data) { |
| | | insTb.reload({ where: data.field, page: { curr: 1 } }); |
| | | }); |
| | | |
| | | // å·¥å
·æ¡ç¹å»äºä»¶ |
| | | table.on('tool(order)', function (obj) { |
| | | var data = obj.data; |
| | | var layEvent = obj.event; |
| | | if (layEvent === 'wrkTrace') { |
| | | showWrkTrace(data.id); |
| | | } else if (layEvent === 'look') { |
| | | var $a = $(obj.tr).find('a[lay-event="look"]'); |
| | | var offset = $a.offset(); |
| | | var top = offset.top; |
| | | var left = offset.left; |
| | | var hasChangeLog = data.hasChangeLog || false; |
| | | var tabContent = '<div class="layui-tab layui-tab-brief" lay-filter="orderDetailTab">' + |
| | | '<ul class="layui-tab-title">' + |
| | | '<li class="layui-this">åæ®æç»</li>'; |
| | | if (hasChangeLog) { |
| | | tabContent += '<li>ä¸å¡æ¶é´åæ´è®°å½</li>'; |
| | | } |
| | | tabContent += '</ul>' + |
| | | '<div class="layui-tab-content" style="padding: 10px 0;">' + |
| | | '<div class="layui-tab-item layui-show">' + |
| | | '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>' + |
| | | '</div>'; |
| | | if (hasChangeLog) { |
| | | tabContent += '<div class="layui-tab-item">' + |
| | | '<table id="changeLogTable" lay-filter="changeLogTable"></table>' + |
| | | '</div>'; |
| | | } |
| | | tabContent += '</div></div>'; |
| | | |
| | | layer.open({ |
| | | type: 1, |
| | | title: false, |
| | | area: '820px', |
| | | offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], |
| | | shade: .01, |
| | | shadeClose: true, |
| | | fixed: false, |
| | | content: tabContent, |
| | | success: function (layero) { |
| | | // 渲æåæ®æç»è¡¨æ ¼ |
| | | table.render({ |
| | | elem: '#lookSSXMTable', |
| | | method: 'POST', |
| | | headers: { token: localStorage.getItem('token') }, |
| | | url: baseUrl + '/order/pakinLog/orderDetl/list/auth', |
| | | where: { |
| | | order_id: data.id |
| | | }, |
| | | page: true, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'matnr', title: 'ååç¼ç ', width: 160 }, |
| | | { field: 'maktx', title: 'åååç§°', width: 160 }, |
| | | { field: 'batch', title: 'æ¹å·' }, |
| | | { field: 'anfme', title: 'æ°é' }, |
| | | { field: 'workQty', title: 'ä½ä¸æ°é' }, |
| | | { field: 'qty', title: '宿æ°é', style: 'font-weight: bold' }, |
| | | { field: 'specs', title: 'è§æ ¼' } |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function () { |
| | | $(layero).find('.layui-table-view').css('margin', '0'); |
| | | }, |
| | | size: '' |
| | | }); |
| | | |
| | | // æ ç¾åæ¢äºä»¶ |
| | | var changeLogTableRendered = false; |
| | | element.on('tab(orderDetailTab)', function(elem){ |
| | | if (hasChangeLog && elem.index === 1 && !changeLogTableRendered) { |
| | | // 忢å°åæ´è®°å½æ ç¾æ¶ææ¥è¯¢ï¼åªæ¥è¯¢ä¸æ¬¡ï¼ |
| | | changeLogTableRendered = true; |
| | | table.render({ |
| | | elem: '#changeLogTable', |
| | | method: 'POST', |
| | | headers: { token: localStorage.getItem('token') }, |
| | | url: baseUrl + '/orderTimeChangeLog/list/byOrderId/auth', |
| | | where: { |
| | | orderId: data.id |
| | | }, |
| | | page: false, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'oldOrderTime', title: 'åä¸å¡æ¶é´', width: 180 }, |
| | | { field: 'newOrderTime', title: 'æ°ä¸å¡æ¶é´', width: 180 }, |
| | | { field: 'memo', title: '夿³¨', minWidth: 200 }, |
| | | { field: 'createByName', title: 'æä½äºº', width: 120 }, |
| | | { field: 'createTime$', title: 'åæ´æ¶é´', width: 180 } |
| | | ]], |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data ? res.data.length : 0, |
| | | 'data': res.data || [] |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } else if (layEvent === 'editOrderTime') { |
| | | // æ£æ¥æ¯å¦å·²æç» |
| | | if (data.monthlySettleId && data.monthlySettleId > 0) { |
| | | layer.msg('è¯¥åæ®å·²æç»ï¼ä¸è½ä¿®æ¹ä¸å¡æ¶é´', { icon: 2 }); |
| | | return; |
| | | } |
| | | showEditOrderTimeDialog(data); |
| | | } |
| | | }); |
| | | |
| | | // ä»»å¡è¿½æº¯ |
| | | function showWrkTrace(orderId) { |
| | | let loadIndex = layer.msg('请æ±ä¸...', { icon: 16, shade: 0.01, time: false }); |
| | | $.ajax({ |
| | | url: baseUrl + "/order/pakinLog/order/wrk/trace/auth", |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { |
| | | orderId: orderId |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200) { |
| | | laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) { |
| | | admin.open({ |
| | | type: 1, |
| | | title: 'ä»»å¡è¿½æº¯', |
| | | area: ['800px', '450px'], |
| | | shadeClose: true, |
| | | content: html, |
| | | success: function (layero, dIndex) { |
| | | $(layero).children('.layui-layer-content').css('overflow', 'visible'); |
| | | /** ç»è®¡å¾è¡¨ */ |
| | | var traceCharts = echarts.init(document.getElementById('wrkTraceCharts')); |
| | | var traceOptions = { |
| | | title: { |
| | | text: 'æ»é/ä½ä¸/宿', x: 'center', y: '38%', |
| | | textStyle: { fontSize: 18, color: '#262626', fontWeight: 'normal' }, |
| | | subtextStyle: { fontSize: 36, color: '#10B4E8' }, |
| | | itemGap: 20 |
| | | }, |
| | | color: ['#10B4E8', '#E0E0E0', '#FF0000'], |
| | | tooltip: { trigger: 'item' }, |
| | | series: [{ name: 'æ°é', type: 'pie', radius: ['75%', '80%'], label: { normal: { show: false } } }] |
| | | }; |
| | | traceCharts.setOption(traceOptions); |
| | | // èµå¼ |
| | | traceCharts.setOption({ |
| | | title: { |
| | | subtext: res.data.totalQty + "/" + res.data.wrkQty + "/" + res.data.endQty |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [ |
| | | { name: 'å·²ä½ä¸', value: res.data.wrkQty }, |
| | | { name: 'æªä½ä¸', value: res.data.totalQty - res.data.wrkQty - res.data.lackQty }, |
| | | { name: 'åºåä¸è¶³', value: res.data.lackQty }, |
| | | ] |
| | | } |
| | | ] |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, { icon: 2 }); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // æ¾ç¤ºä¿®æ¹ä¸å¡æ¶é´å¼¹çª |
| | | function showEditOrderTimeDialog(data) { |
| | | admin.open({ |
| | | type: 1, |
| | | title: 'ä¿®æ¹ä¸å¡æ¶é´', |
| | | content: $('#editOrderTimeDialog').html(), |
| | | area: '400px', |
| | | success: function (layero, dIndex) { |
| | | // åæ¾æ°æ® |
| | | form.val('editOrderTimeForm', { |
| | | id: data.id, |
| | | orderTime: data.orderTime |
| | | }); |
| | | // åå§åä¸å¡æ¶é´æ¥æéæ©å¨ï¼æ¯æéæ©æ¶åç§ï¼ |
| | | layDate.render({ |
| | | elem: '#orderTimeEdit', |
| | | type: 'datetime', |
| | | format: 'yyyy-MM-dd HH:mm:ss', |
| | | value: data.orderTime || '', |
| | | btns: ['clear', 'confirm'], |
| | | ready: function(date){ |
| | | // ç¡®ä¿æ¶åç§éæ©å¨æ¾ç¤º |
| | | var layero = this.elem.next(); |
| | | if(layero.length > 0) { |
| | | layero.find('.laydate-time-list').show(); |
| | | } |
| | | } |
| | | }); |
| | | // 表åæäº¤äºä»¶ |
| | | form.on('submit(editOrderTimeSubmit)', function (formData) { |
| | | // åç«¯æ ¡éªï¼æ£æ¥æ°æ§æ¶é´æ¯å¦ç¸å |
| | | var oldOrderTime = data.orderTime; |
| | | var newOrderTime = formData.field.orderTime; |
| | | if (oldOrderTime && oldOrderTime === newOrderTime) { |
| | | layer.msg('æ°ä¸å¡æ¶é´ä¸åä¸å¡æ¶é´ç¸åï¼æ éä¿®æ¹', { icon: 2 }); |
| | | return false; |
| | | } |
| | | layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl + "/order/pakinLog/order/update/orderTime/auth", |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { |
| | | id: formData.field.id, |
| | | orderTime: formData.field.orderTime, |
| | | memo: formData.field.memo || '' |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll('loading'); |
| | | if (res.code === 200) { |
| | | layer.close(dIndex); |
| | | insTb.reload({ page: { curr: 1 } }); |
| | | layer.msg(res.msg, { icon: 1 }); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, { icon: 2 }); |
| | | } |
| | | } |
| | | }); |
| | | return false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | layDate.render({ |
| | | elem: '.layui-laydate-range' |
| | | , type: 'datetime' |
| | | , range: true |
| | | }); |
| | | }); |
| | | |
| New file |
| | |
| | | var insTbCount = 0; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer', 'form', 'table', 'util', 'admin', 'laydate', 'element'], function () { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var form = layui.form; |
| | | var table = layui.table; |
| | | var util = layui.util; |
| | | var admin = layui.admin; |
| | | var layDate = layui.laydate; |
| | | var laytpl = layui.laytpl; |
| | | var element = layui.element; |
| | | |
| | | // 渲ææç´¢æ¨¡æ¿ |
| | | $.ajax({ |
| | | url: baseUrl + "/docType/list/auth", |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { |
| | | limit: 9999, |
| | | pakout: 1 |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | let template = Handlebars.compile($('#docTypeTpl').html()); |
| | | $('#docType-query').html(template(res.data)); |
| | | layui.form.render('select'); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, { icon: 2 }) |
| | | } |
| | | } |
| | | }) |
| | | |
| | | // 渲æè¡¨æ ¼ |
| | | var insTb = table.render({ |
| | | elem: '#order', |
| | | url: baseUrl + '/order/pakoutLog/order/head/page/auth', |
| | | method: 'POST', |
| | | headers: { token: localStorage.getItem('token') }, |
| | | page: true, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'orderNo', title: 'åæ®ç¼å·', templet: '#orderNoTpl' }, |
| | | { field: 'orderTime', align: 'center', title: 'ä¸å¡æ¶é´' }, |
| | | { field: 'cstmrName', align: 'center', title: '客æ·' }, |
| | | { field: 'docType$', align: 'center', title: 'ç±»å', minWidth: 160, width: 160 }, |
| | | { align: 'center', title: 'æç»', toolbar: '#tbLook', minWidth: 160, width: 160 }, |
| | | { field: 'createTime$', title: 'å建æ¶é´', minWidth: 200, width: 200 }, |
| | | { field: 'settle$', align: 'center', title: 'ç¶æ', templet: '#settleTpl', minWidth: 160, width: 160 }, |
| | | { field: 'memo', align: 'center', title: '夿³¨', hide: true }, |
| | | { align: 'center', title: 'æä½', toolbar: '#operate', width: 120 } |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function (res, curr, count) { |
| | | limit(); |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } |
| | | insTbCount = count; |
| | | } |
| | | }); |
| | | |
| | | // æç´¢ |
| | | form.on('submit(tbSearch)', function (data) { |
| | | insTb.reload({ where: data.field, page: { curr: 1 } }); |
| | | }); |
| | | |
| | | // å·¥å
·æ¡ç¹å»äºä»¶ |
| | | table.on('tool(order)', function (obj) { |
| | | var data = obj.data; |
| | | var layEvent = obj.event; |
| | | if (layEvent === 'wrkTrace') { |
| | | showWrkTrace(data.id); |
| | | } else if (layEvent === 'look') { |
| | | var $a = $(obj.tr).find('a[lay-event="look"]'); |
| | | var offset = $a.offset(); |
| | | var top = offset.top; |
| | | var left = offset.left; |
| | | var hasChangeLog = data.hasChangeLog || false; |
| | | var tabContent = '<div class="layui-tab layui-tab-brief" lay-filter="orderDetailTab">' + |
| | | '<ul class="layui-tab-title">' + |
| | | '<li class="layui-this">åæ®æç»</li>'; |
| | | if (hasChangeLog) { |
| | | tabContent += '<li>ä¸å¡æ¶é´åæ´è®°å½</li>'; |
| | | } |
| | | tabContent += '</ul>' + |
| | | '<div class="layui-tab-content" style="padding: 10px 0;">' + |
| | | '<div class="layui-tab-item layui-show">' + |
| | | '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>' + |
| | | '</div>'; |
| | | if (hasChangeLog) { |
| | | tabContent += '<div class="layui-tab-item">' + |
| | | '<table id="changeLogTable" lay-filter="changeLogTable"></table>' + |
| | | '</div>'; |
| | | } |
| | | tabContent += '</div></div>'; |
| | | |
| | | layer.open({ |
| | | type: 1, |
| | | title: false, |
| | | area: '820px', |
| | | offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'], |
| | | shade: .01, |
| | | shadeClose: true, |
| | | fixed: false, |
| | | content: tabContent, |
| | | success: function (layero) { |
| | | // 渲æåæ®æç»è¡¨æ ¼ |
| | | table.render({ |
| | | elem: '#lookSSXMTable', |
| | | method: 'POST', |
| | | headers: { token: localStorage.getItem('token') }, |
| | | url: baseUrl + '/order/pakoutLog/orderDetl/list/auth', |
| | | where: { |
| | | order_id: data.id |
| | | }, |
| | | page: true, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'matnr', title: 'ååç¼ç ', width: 160 }, |
| | | { field: 'maktx', title: 'åååç§°', width: 160 }, |
| | | { field: 'batch', title: 'æ¹å·' }, |
| | | { field: 'anfme', title: 'æ°é' }, |
| | | { field: 'workQty', title: 'ä½ä¸æ°é' }, |
| | | { field: 'qty', title: '宿æ°é', style: 'font-weight: bold' }, |
| | | { field: 'specs', title: 'è§æ ¼' } |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function () { |
| | | $(layero).find('.layui-table-view').css('margin', '0'); |
| | | }, |
| | | size: '' |
| | | }); |
| | | |
| | | // æ ç¾åæ¢äºä»¶ |
| | | var changeLogTableRendered = false; |
| | | element.on('tab(orderDetailTab)', function(elem){ |
| | | if (hasChangeLog && elem.index === 1 && !changeLogTableRendered) { |
| | | // 忢å°åæ´è®°å½æ ç¾æ¶ææ¥è¯¢ï¼åªæ¥è¯¢ä¸æ¬¡ï¼ |
| | | changeLogTableRendered = true; |
| | | table.render({ |
| | | elem: '#changeLogTable', |
| | | method: 'POST', |
| | | headers: { token: localStorage.getItem('token') }, |
| | | url: baseUrl + '/orderTimeChangeLog/list/byOrderId/auth', |
| | | where: { |
| | | orderId: data.id |
| | | }, |
| | | page: false, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'oldOrderTime', title: 'åä¸å¡æ¶é´', width: 180 }, |
| | | { field: 'newOrderTime', title: 'æ°ä¸å¡æ¶é´', width: 180 }, |
| | | { field: 'memo', title: '夿³¨', minWidth: 200 }, |
| | | { field: 'createByName', title: 'æä½äºº', width: 120 }, |
| | | { field: 'createTime$', title: 'åæ´æ¶é´', width: 180 } |
| | | ]], |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data ? res.data.length : 0, |
| | | 'data': res.data || [] |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } else if (layEvent === 'editOrderTime') { |
| | | // æ£æ¥æ¯å¦å·²æç» |
| | | if (data.monthlySettleId && data.monthlySettleId > 0) { |
| | | layer.msg('è¯¥åæ®å·²æç»ï¼ä¸è½ä¿®æ¹ä¸å¡æ¶é´', { icon: 2 }); |
| | | return; |
| | | } |
| | | showEditOrderTimeDialog(data); |
| | | } |
| | | }); |
| | | |
| | | // ä»»å¡è¿½æº¯ |
| | | function showWrkTrace(orderId) { |
| | | let loadIndex = layer.msg('请æ±ä¸...', { icon: 16, shade: 0.01, time: false }); |
| | | $.ajax({ |
| | | url: baseUrl + "/order/pakoutLog/order/wrk/trace/auth", |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { |
| | | orderId: orderId |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200) { |
| | | laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) { |
| | | admin.open({ |
| | | type: 1, |
| | | title: 'ä»»å¡è¿½æº¯', |
| | | area: ['800px', '450px'], |
| | | shadeClose: true, |
| | | content: html, |
| | | success: function (layero, dIndex) { |
| | | $(layero).children('.layui-layer-content').css('overflow', 'visible'); |
| | | /** ç»è®¡å¾è¡¨ */ |
| | | var traceCharts = echarts.init(document.getElementById('wrkTraceCharts')); |
| | | var traceOptions = { |
| | | title: { |
| | | text: 'æ»é/ä½ä¸/宿', x: 'center', y: '38%', |
| | | textStyle: { fontSize: 18, color: '#262626', fontWeight: 'normal' }, |
| | | subtextStyle: { fontSize: 36, color: '#10B4E8' }, |
| | | itemGap: 20 |
| | | }, |
| | | color: ['#10B4E8', '#E0E0E0', '#FF0000'], |
| | | tooltip: { trigger: 'item' }, |
| | | series: [{ name: 'æ°é', type: 'pie', radius: ['75%', '80%'], label: { normal: { show: false } } }] |
| | | }; |
| | | traceCharts.setOption(traceOptions); |
| | | // èµå¼ |
| | | traceCharts.setOption({ |
| | | title: { |
| | | subtext: res.data.totalQty + "/" + res.data.wrkQty + "/" + res.data.endQty |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [ |
| | | { name: 'å·²ä½ä¸', value: res.data.wrkQty }, |
| | | { name: 'æªä½ä¸', value: res.data.totalQty - res.data.wrkQty - res.data.lackQty }, |
| | | { name: 'åºåä¸è¶³', value: res.data.lackQty }, |
| | | ] |
| | | } |
| | | ] |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, { icon: 2 }); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // æ¾ç¤ºä¿®æ¹ä¸å¡æ¶é´å¼¹çª |
| | | function showEditOrderTimeDialog(data) { |
| | | admin.open({ |
| | | type: 1, |
| | | title: 'ä¿®æ¹ä¸å¡æ¶é´', |
| | | content: $('#editOrderTimeDialog').html(), |
| | | area: '400px', |
| | | success: function (layero, dIndex) { |
| | | // åæ¾æ°æ® |
| | | form.val('editOrderTimeForm', { |
| | | id: data.id, |
| | | orderTime: data.orderTime |
| | | }); |
| | | // åå§åä¸å¡æ¶é´æ¥æéæ©å¨ï¼æ¯æéæ©æ¶åç§ï¼ |
| | | layDate.render({ |
| | | elem: '#orderTimeEdit', |
| | | type: 'datetime', |
| | | format: 'yyyy-MM-dd HH:mm:ss', |
| | | value: data.orderTime || '', |
| | | btns: ['clear', 'confirm'], |
| | | ready: function(date){ |
| | | // ç¡®ä¿æ¶åç§éæ©å¨æ¾ç¤º |
| | | var layero = this.elem.next(); |
| | | if(layero.length > 0) { |
| | | layero.find('.laydate-time-list').show(); |
| | | } |
| | | } |
| | | }); |
| | | // 表åæäº¤äºä»¶ |
| | | form.on('submit(editOrderTimeSubmit)', function (formData) { |
| | | // åç«¯æ ¡éªï¼æ£æ¥æ°æ§æ¶é´æ¯å¦ç¸å |
| | | var oldOrderTime = data.orderTime; |
| | | var newOrderTime = formData.field.orderTime; |
| | | if (oldOrderTime && oldOrderTime === newOrderTime) { |
| | | layer.msg('æ°ä¸å¡æ¶é´ä¸åä¸å¡æ¶é´ç¸åï¼æ éä¿®æ¹', { icon: 2 }); |
| | | return false; |
| | | } |
| | | layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl + "/order/pakoutLog/order/update/orderTime/auth", |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { |
| | | id: formData.field.id, |
| | | orderTime: formData.field.orderTime, |
| | | memo: formData.field.memo || '' |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll('loading'); |
| | | if (res.code === 200) { |
| | | layer.close(dIndex); |
| | | insTb.reload({ page: { curr: 1 } }); |
| | | layer.msg(res.msg, { icon: 1 }); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, { icon: 2 }); |
| | | } |
| | | } |
| | | }); |
| | | return false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | layDate.render({ |
| | | elem: '.layui-laydate-range' |
| | | , type: 'datetime' |
| | | , range: true |
| | | }); |
| | | }); |
| | | |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>æç»ç®¡ç</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <div class="layui-fluid"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body"> |
| | | <div class="layui-form toolbar" id="search-box"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline mr0"> |
| | | <input name="settle_no" class="layui-input" type="text" placeholder="è¾å
¥æç»ç¼å·"/> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input layui-laydate-range" name="date_range" type="text" placeholder="èµ·å§æ¥æ - ç»ææ¥æ" autocomplete="off" style="width: 300px"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn icon-btn" lay-filter="search" lay-submit> |
| | | <i class="layui-icon"></i>æç´¢ |
| | | </button> |
| | | <button id="startSettleBtn" class="layui-btn icon-btn layui-btn-normal"> |
| | | <i class="layui-icon"></i>åèµ·æç» |
| | | </button> |
| | | <button type="button" class="layui-btn icon-btn layui-btn-primary" lay-filter="reset" lay-submit> |
| | | <i class="layui-icon"></i>éç½® |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <table class="layui-hide" id="monthlySettle" lay-filter="monthlySettle" ></table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- è¡¨æ ¼æä½å --> |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">æ¥çæç»</a> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">å é¤</a> |
| | | </script> |
| | | |
| | | <!-- åèµ·æç»å¼¹çª --> |
| | | <script type="text/html" id="startSettleDialog"> |
| | | <form id="startSettleForm" lay-filter="startSettleForm" class="layui-form model-form"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">èµ·å§æ¥æï¼</label> |
| | | <div class="layui-input-block"> |
| | | <input id="startDate" name="startDate" placeholder="éæ©èµ·å§æ¥æ" type="text" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">ç»ææ¥æï¼</label> |
| | | <div class="layui-input-block"> |
| | | <input id="endDate" name="endDate" placeholder="éæ©ç»ææ¥æ" type="text" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">æç¤ºï¼</label> |
| | | <div class="layui-input-block"> |
| | | <div id="settleTip" style="color: #ff5722;"></div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">åæ¶</button> |
| | | <button class="layui-btn" lay-filter="startSettleSubmit" lay-submit>确认æç»</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | |
| | | <!-- æç»æç»å¼¹çª --> |
| | | <script type="text/html" id="detailDialog"> |
| | | <div style="padding: 20px;"> |
| | | <div class="layui-row"> |
| | | <div class="layui-col-md6"> |
| | | {{# if(d.settleNo) { }} |
| | | <p><strong>æç»ç¼å·ï¼</strong>{{ d.settleNo }}</p> |
| | | {{# } }} |
| | | {{# if(d.startDate$) { }} |
| | | <p><strong>èµ·å§æ¥æï¼</strong>{{ d.startDate$ }}</p> |
| | | {{# } }} |
| | | {{# if(d.endDate$) { }} |
| | | <p><strong>ç»ææ¥æï¼</strong>{{ d.endDate$ }}</p> |
| | | {{# } }} |
| | | </div> |
| | | <div class="layui-col-md6"> |
| | | {{# if(d.totalInQty !== null && d.totalInQty !== undefined) { }} |
| | | <p><strong>æ»å
¥åºæ°éï¼</strong>{{ d.totalInQty }}</p> |
| | | {{# } }} |
| | | {{# if(d.totalOutQty !== null && d.totalOutQty !== undefined) { }} |
| | | <p><strong>æ»åºåºæ°éï¼</strong>{{ d.totalOutQty }}</p> |
| | | {{# } }} |
| | | {{# if(d.totalMaterials !== null && d.totalMaterials !== undefined) { }} |
| | | <p><strong>ç©æç§ç±»æ°ï¼</strong>{{ d.totalMaterials }}</p> |
| | | {{# } }} |
| | | </div> |
| | | </div> |
| | | <hr class="layui-bg-gray"> |
| | | <div style="overflow-x: auto; width: 100%;"> |
| | | <table id="detailTable" lay-filter="detailTable"></table> |
| | | </div> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/monthlySettle/monthlySettle.js" charset="utf-8"></script> |
| | | </body> |
| | | </html> |
| | | |
| | | |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <!--[if lt IE 9]> |
| | | <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> |
| | | <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
| | | <![endif]--> |
| | | <style> |
| | | .wrk-trace { |
| | | color: green; |
| | | cursor: pointer; |
| | | margin-left: 6px; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .layui-timeline:first-child .layui-timeline-item { |
| | | margin-top: 30px; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | |
| | | <!-- æ£æå¼å§ --> |
| | | <div class="layui-fluid"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body"> |
| | | <!-- è¡¨æ ¼é¡¶é¨å·¥å
·æ --> |
| | | <div class="layui-form toolbar"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline mr0"> |
| | | <input name="order_no" class="layui-input" type="text" placeholder="è¾å
¥åæ®ç¼å·" /> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input layui-laydate-range" name="create_time" type="text" |
| | | placeholder="èµ·å§æ¶é´ - ç»æ¢æ¶é´" autocomplete="off" style="width: 300px"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="doc_type" id="docType-query"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="settle"> |
| | | <option value="">éæ©ç¶æ</option> |
| | | <option value="1">å¾
å¤ç</option> |
| | | <option value="2">ä½ä¸ä¸</option> |
| | | <option value="4">已宿</option> |
| | | <option value="6">䏿¥å®æ</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit> |
| | | <i class="layui-icon"></i>æç´¢ |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <table id="order" lay-filter="order"></table> |
| | | </div> |
| | | </div> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body"> |
| | | å
¥åºåå²åæ®ï¼æ¥è¯¢å·²å®æçå
¥åºåæ®åå²è®°å½ã |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- è¡¨æ ¼æä½å --> |
| | | <script type="text/html" id="tbLook"> |
| | | <span class="layui-text"> |
| | | <a href="javascript:;" lay-event="look"> |
| | | <i class="layui-icon" style="font-size: 12px;"></i> æ¥çåæ®æç» |
| | | </a> |
| | | </span> |
| | | </script> |
| | | <!-- æä½å --> |
| | | <script type="text/html" id="operate"> |
| | | {{# if(!d.monthlySettleId || d.monthlySettleId == 0){ }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editOrderTime">ä¿®æ¹ä¸å¡æ¶é´</a> |
| | | {{# } }} |
| | | </script> |
| | | <script type="text/html" id="orderNoTpl"> |
| | | {{d.orderNo}} |
| | | {{# if(d.settle > 1 && d.settle !== 3){ }} |
| | | <i class="layui-icon layui-icon-about wrk-trace" lay-tips="æ¥çä»»å¡è¿½æº¯" lay-direction="2" lay-offset="-10px,0px" lay-event="wrkTrace"></i> |
| | | {{# } }} |
| | | </script> |
| | | |
| | | <script type="text/html" id="settleTpl"> |
| | | <span name="settle" |
| | | {{# if( d.settle === 1){ }} |
| | | class="layui-badge layui-badge-red" |
| | | {{# }else if(d.settle === 2){ }} |
| | | class="layui-badge layui-badge-green" |
| | | {{# }else if(d.settle === 3){ }} |
| | | class="layui-badge layui-badge-gray" |
| | | {{# }else if(d.settle === 4){ }} |
| | | class="layui-badge layui-badge-blue" |
| | | {{# }else if(d.settle === 5){ }} |
| | | class="layui-badge layui-badge-gray" |
| | | {{# }else if(d.settle === 6){ }} |
| | | class="layui-badge layui-badge-gray" |
| | | {{# } }} |
| | | >{{d.settle$}}</span> |
| | | </script> |
| | | <!-- 订åä»»å¡è¿½æº¯ --> |
| | | <script id="wrkTraceDialog" type="text/html" style="position: relative"> |
| | | <div style="position: absolute; top: 0; left: 0;"> |
| | | <div class="layui-card" style="overflow: hidden;"> |
| | | <div class="layui-card-header" style="text-align: center;width: 80%;font-weight: inherit;font-size: 18px">{{ d.orderNo }}</div> |
| | | <div class="layui-card-body"> |
| | | <div id="wrkTraceCharts" style="height: 300px;width: 400px;transform: translateX(-10%);"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row" > |
| | | <div class="layui-col-md5"> |
| | | <h1 style="opacity: 0;">Hello World</h1> |
| | | </div> |
| | | <div class="layui-col-md7" style=""> |
| | | {{# if(d.list.length > 0){ }} |
| | | <ul class="layui-timeline" style="height: 400px; overflow: scroll;"> |
| | | {{# layui.each(d.list, function(index, item){ }} |
| | | <li class="layui-timeline-item"> |
| | | <i class="layui-icon layui-timeline-axis"></i> |
| | | <div class="layui-timeline-content layui-text"> |
| | | <div class="layui-timeline-title"> |
| | | <h3 class="inline-block"> |
| | | {{ item.wrkNo }} |
| | | |
| | | {{# if(item.wrkMast.ioType < 100){ }} |
| | | <span class="layui-badge layui-bg-blue" style="line-height: 20px;"> |
| | | {{ item.wrkMast.ioType$ }} |
| | | </span> |
| | | {{# } }} |
| | | |
| | | {{# if(item.wrkMast.ioType > 100){ }} |
| | | <span class="layui-badge layui-bg-orange" style="line-height: 20px;"> |
| | | {{ item.wrkMast.ioType$ }} |
| | | </span> |
| | | {{# } }} |
| | | |
| | | |
| | | {{# if(item.wrkMast.wrkSts < 14){ }} |
| | | <span class="layui-badge layui-bg-red" style="line-height: 20px;"> |
| | | {{ item.wrkMast.wrkSts$ }} |
| | | </span> |
| | | {{# } }} |
| | | |
| | | {{# if(item.wrkMast.wrkSts >= 14){ }} |
| | | <span class="layui-badge layui-bg-green" style="line-height: 20px;"> |
| | | {{ item.wrkMast.wrkSts$ }} |
| | | </span> |
| | | {{# } }} |
| | | |
| | | </h3>  |
| | | {{ item.wrkMast.ioTime$ }} |
| | | </div> |
| | | |
| | | <table class="layui-table" lay-skin="nob" style="width: 80%"> |
| | | <tbody> |
| | | {{# layui.each(item.wrkDetls, function(idx, wrkDetl){ }} |
| | | <tr style="background: none"> |
| | | <td>No.</td> |
| | | <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>åå·ï¼</td> |
| | | <td>{{ wrkDetl.matnr }}</td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>ååï¼</td> |
| | | <td>{{ wrkDetl.maktx }}</td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>è§æ ¼ï¼</td> |
| | | <td>{{ wrkDetl.specs }}</td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>æ°éï¼</td> |
| | | <td style="font-weight: bold">{{ wrkDetl.anfme }}</td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>æ¡ç ï¼</td> |
| | | <td style="font-weight: bold">{{ wrkDetl.zpallet }}</td> |
| | | </tr> |
| | | {{# }); }} |
| | | </tbody> |
| | | </table> |
| | | |
| | | <hr class="layui-border-cyan" style="width: 90%; opacity: .6;"> |
| | | </div> |
| | | </li> |
| | | {{# }); }} |
| | | </ul> |
| | | {{# } else { }} |
| | | <div style="height: 350px;display: flex;justify-content: center;align-items: center;"> |
| | | <h2 style="font-weight: bold;letter-spacing: 2px">ææ ä»»å¡</h2> |
| | | </div> |
| | | {{# } }} |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | </script> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/echarts/echarts.min.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/orderPakinLog/order.js" charset="utf-8"></script> |
| | | |
| | | <script type="text/template" id="docTypeTpl"> |
| | | <option value="">éæ©ç±»å</option> |
| | | {{#each records}} |
| | | <option value="{{docId}}">{{docName}}</option> |
| | | {{/each}} |
| | | </script> |
| | | <!-- ä¿®æ¹ä¸å¡æ¶é´å¼¹çª --> |
| | | <script type="text/html" id="editOrderTimeDialog"> |
| | | <form id="editOrderTimeForm" lay-filter="editOrderTimeForm" class="layui-form model-form"> |
| | | <input name="id" type="hidden"/> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">ä¸å¡æ¶é´ï¼</label> |
| | | <div class="layui-input-block"> |
| | | <input id="orderTimeEdit" name="orderTime" placeholder="éæ©ä¸å¡æ¶é´" type="text" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">忴夿³¨ï¼</label> |
| | | <div class="layui-input-block"> |
| | | <textarea name="memo" placeholder="请è¾å
¥åæ´å¤æ³¨ï¼å¯éï¼" class="layui-textarea" rows="3"></textarea> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">åæ¶</button> |
| | | <button class="layui-btn" lay-filter="editOrderTimeSubmit" lay-submit>ä¿å</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | | |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <!--[if lt IE 9]> |
| | | <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> |
| | | <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> |
| | | <![endif]--> |
| | | <style> |
| | | .wrk-trace { |
| | | color: green; |
| | | cursor: pointer; |
| | | margin-left: 6px; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .layui-timeline:first-child .layui-timeline-item { |
| | | margin-top: 30px; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | |
| | | <!-- æ£æå¼å§ --> |
| | | <div class="layui-fluid"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body"> |
| | | <!-- è¡¨æ ¼é¡¶é¨å·¥å
·æ --> |
| | | <div class="layui-form toolbar"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline mr0"> |
| | | <input name="order_no" class="layui-input" type="text" placeholder="è¾å
¥åæ®ç¼å·" /> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input layui-laydate-range" name="create_time" type="text" |
| | | placeholder="èµ·å§æ¶é´ - ç»æ¢æ¶é´" autocomplete="off" style="width: 300px"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="doc_type" id="docType-query"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="settle"> |
| | | <option value="">éæ©ç¶æ</option> |
| | | <option value="1">å¾
å¤ç</option> |
| | | <option value="2">ä½ä¸ä¸</option> |
| | | <option value="4">已宿</option> |
| | | <option value="6">䏿¥å®æ</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit> |
| | | <i class="layui-icon"></i>æç´¢ |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <table id="order" lay-filter="order"></table> |
| | | </div> |
| | | </div> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body"> |
| | | åºåºåå²åæ®ï¼æ¥è¯¢å·²å®æçåºåºåæ®åå²è®°å½ã |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- è¡¨æ ¼æä½å --> |
| | | <script type="text/html" id="tbLook"> |
| | | <span class="layui-text"> |
| | | <a href="javascript:;" lay-event="look"> |
| | | <i class="layui-icon" style="font-size: 12px;"></i> æ¥çåæ®æç» |
| | | </a> |
| | | </span> |
| | | </script> |
| | | <!-- æä½å --> |
| | | <script type="text/html" id="operate"> |
| | | {{# if(!d.monthlySettleId || d.monthlySettleId == 0){ }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editOrderTime">ä¿®æ¹ä¸å¡æ¶é´</a> |
| | | {{# } }} |
| | | </script> |
| | | <script type="text/html" id="orderNoTpl"> |
| | | {{d.orderNo}} |
| | | {{# if(d.settle > 1 && d.settle !== 3){ }} |
| | | <i class="layui-icon layui-icon-about wrk-trace" lay-tips="æ¥çä»»å¡è¿½æº¯" lay-direction="2" lay-offset="-10px,0px" lay-event="wrkTrace"></i> |
| | | {{# } }} |
| | | </script> |
| | | |
| | | <script type="text/html" id="settleTpl"> |
| | | <span name="settle" |
| | | {{# if( d.settle === 1){ }} |
| | | class="layui-badge layui-badge-red" |
| | | {{# }else if(d.settle === 2){ }} |
| | | class="layui-badge layui-badge-green" |
| | | {{# }else if(d.settle === 3){ }} |
| | | class="layui-badge layui-badge-gray" |
| | | {{# }else if(d.settle === 4){ }} |
| | | class="layui-badge layui-badge-blue" |
| | | {{# }else if(d.settle === 5){ }} |
| | | class="layui-badge layui-badge-gray" |
| | | {{# }else if(d.settle === 6){ }} |
| | | class="layui-badge layui-badge-gray" |
| | | {{# } }} |
| | | >{{d.settle$}}</span> |
| | | </script> |
| | | <!-- 订åä»»å¡è¿½æº¯ --> |
| | | <script id="wrkTraceDialog" type="text/html" style="position: relative"> |
| | | <div style="position: absolute; top: 0; left: 0;"> |
| | | <div class="layui-card" style="overflow: hidden;"> |
| | | <div class="layui-card-header" style="text-align: center;width: 80%;font-weight: inherit;font-size: 18px">{{ d.orderNo }}</div> |
| | | <div class="layui-card-body"> |
| | | <div id="wrkTraceCharts" style="height: 300px;width: 400px;transform: translateX(-10%);"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-row" > |
| | | <div class="layui-col-md5"> |
| | | <h1 style="opacity: 0;">Hello World</h1> |
| | | </div> |
| | | <div class="layui-col-md7" style=""> |
| | | {{# if(d.list.length > 0){ }} |
| | | <ul class="layui-timeline" style="height: 400px; overflow: scroll;"> |
| | | {{# layui.each(d.list, function(index, item){ }} |
| | | <li class="layui-timeline-item"> |
| | | <i class="layui-icon layui-timeline-axis"></i> |
| | | <div class="layui-timeline-content layui-text"> |
| | | <div class="layui-timeline-title"> |
| | | <h3 class="inline-block"> |
| | | {{ item.wrkNo }} |
| | | |
| | | {{# if(item.wrkMast.ioType < 100){ }} |
| | | <span class="layui-badge layui-bg-blue" style="line-height: 20px;"> |
| | | {{ item.wrkMast.ioType$ }} |
| | | </span> |
| | | {{# } }} |
| | | |
| | | {{# if(item.wrkMast.ioType > 100){ }} |
| | | <span class="layui-badge layui-bg-orange" style="line-height: 20px;"> |
| | | {{ item.wrkMast.ioType$ }} |
| | | </span> |
| | | {{# } }} |
| | | |
| | | |
| | | {{# if(item.wrkMast.wrkSts < 14){ }} |
| | | <span class="layui-badge layui-bg-red" style="line-height: 20px;"> |
| | | {{ item.wrkMast.wrkSts$ }} |
| | | </span> |
| | | {{# } }} |
| | | |
| | | {{# if(item.wrkMast.wrkSts >= 14){ }} |
| | | <span class="layui-badge layui-bg-green" style="line-height: 20px;"> |
| | | {{ item.wrkMast.wrkSts$ }} |
| | | </span> |
| | | {{# } }} |
| | | |
| | | </h3>  |
| | | {{ item.wrkMast.ioTime$ }} |
| | | </div> |
| | | |
| | | <table class="layui-table" lay-skin="nob" style="width: 80%"> |
| | | <tbody> |
| | | {{# layui.each(item.wrkDetls, function(idx, wrkDetl){ }} |
| | | <tr style="background: none"> |
| | | <td>No.</td> |
| | | <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>åå·ï¼</td> |
| | | <td>{{ wrkDetl.matnr }}</td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>ååï¼</td> |
| | | <td>{{ wrkDetl.maktx }}</td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>è§æ ¼ï¼</td> |
| | | <td>{{ wrkDetl.specs }}</td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>æ°éï¼</td> |
| | | <td style="font-weight: bold">{{ wrkDetl.anfme }}</td> |
| | | </tr> |
| | | <tr style="background: none"> |
| | | <td>æ¡ç ï¼</td> |
| | | <td style="font-weight: bold">{{ wrkDetl.zpallet }}</td> |
| | | </tr> |
| | | {{# }); }} |
| | | </tbody> |
| | | </table> |
| | | |
| | | <hr class="layui-border-cyan" style="width: 90%; opacity: .6;"> |
| | | </div> |
| | | </li> |
| | | {{# }); }} |
| | | </ul> |
| | | {{# } else { }} |
| | | <div style="height: 350px;display: flex;justify-content: center;align-items: center;"> |
| | | <h2 style="font-weight: bold;letter-spacing: 2px">ææ ä»»å¡</h2> |
| | | </div> |
| | | {{# } }} |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | </script> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/echarts/echarts.min.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/orderPakoutLog/order.js" charset="utf-8"></script> |
| | | |
| | | <script type="text/template" id="docTypeTpl"> |
| | | <option value="">éæ©ç±»å</option> |
| | | {{#each records}} |
| | | <option value="{{docId}}">{{docName}}</option> |
| | | {{/each}} |
| | | </script> |
| | | <!-- ä¿®æ¹ä¸å¡æ¶é´å¼¹çª --> |
| | | <script type="text/html" id="editOrderTimeDialog"> |
| | | <form id="editOrderTimeForm" lay-filter="editOrderTimeForm" class="layui-form model-form"> |
| | | <input name="id" type="hidden"/> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">ä¸å¡æ¶é´ï¼</label> |
| | | <div class="layui-input-block"> |
| | | <input id="orderTimeEdit" name="orderTime" placeholder="éæ©ä¸å¡æ¶é´" type="text" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">忴夿³¨ï¼</label> |
| | | <div class="layui-input-block"> |
| | | <textarea name="memo" placeholder="请è¾å
¥åæ´å¤æ³¨ï¼å¯éï¼" class="layui-textarea" rows="3"></textarea> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">åæ¶</button> |
| | | <button class="layui-btn" lay-filter="editOrderTimeSubmit" lay-submit>ä¿å</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | | |