From dfd61f47ab99e875d6dbac51e96ef27b7d882d51 Mon Sep 17 00:00:00 2001 From: 王佳豪 <g675230687@126.com> Date: 星期六, 29 五月 2021 11:02:55 +0800 Subject: [PATCH] 库存同步功能 --- src/main/java/zy/cloud/wms/manager/mapper/WrkLocSyncMapper.java | 18 + src/main/java/zy/cloud/wms/manager/service/WrkLocSyncService.java | 13 + src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java | 131 +++++++++++++ src/main/resources/mapper/WrkLocSyncMapper.xml | 34 +++ src/main/webapp/static/js/locSync/locSync.js | 140 ++++++++++++++ src/main/java/zy/cloud/wms/manager/service/impl/LocSyncServiceImpl.java | 23 ++ src/main/java/zy/cloud/wms/manager/service/impl/WrkLocSyncServiceImpl.java | 27 ++ version/v1.0.2/change_log | 38 +++ src/main/java/zy/cloud/wms/manager/entity/LocSum.java | 21 ++ src/main/java/zy/cloud/wms/manager/mapper/LocSyncMapper.java | 16 + src/main/java/zy/cloud/wms/manager/service/LocSyncService.java | 12 + src/main/resources/mapper/LocSyncMapper.xml | 23 ++ src/main/java/zy/cloud/wms/manager/entity/WrkLocSync.java | 30 +++ src/main/webapp/views/locSync/locSync.html | 36 +++ 14 files changed, 562 insertions(+), 0 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java b/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java new file mode 100644 index 0000000..aebec2f --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java @@ -0,0 +1,131 @@ +package zy.cloud.wms.manager.controller; + +import com.alibaba.fastjson.JSONObject; +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.core.common.SnowflakeIdWorker; +import com.core.exception.CoolException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import zy.cloud.wms.common.model.BillDto; +import zy.cloud.wms.common.service.erp.ErpService; +import zy.cloud.wms.common.web.BaseController; +import zy.cloud.wms.manager.entity.LocSum; +import zy.cloud.wms.manager.entity.Pakout; +import zy.cloud.wms.manager.entity.WrkLocSync; +import zy.cloud.wms.manager.service.LocSyncService; +import zy.cloud.wms.manager.service.PakoutService; +import zy.cloud.wms.manager.service.WrkLocSyncService; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RestController +@Slf4j +public class LocSyncController extends BaseController { + @Autowired + private LocSyncService locSyncService; + @Autowired + private WrkLocSyncService wrkLocSyncService; + @Autowired + private ErpService erpService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + + @RequestMapping(value = "/locSync/queryLocSum") + @ManagerAuth(memo = "鑾峰彇鎬诲簱瀛樻竻鍗�") + public R queryLocSum() { + return R.ok(locSyncService.queryLocSum()); + } + + @RequestMapping(value = "/locSync/syncLocWrkCount") + @ManagerAuth(memo = "鑾峰彇搴撳瓨鍚屾涓婁紶娓呭崟鏁伴噺") + public R getSyncLocWrkCount() { + return R.ok(wrkLocSyncService.getSyncLocWrkCount()); + } + + + @RequestMapping(value = "/locSync/insertWrklocSync") + @ManagerAuth(memo = "鍚屾涓婁紶娓呭崟鏁版嵁鎻掑叆") + public R insertWrklocSync(@RequestBody JSONObject param) { + List<WrkLocSync> list = JSONObject.parseArray(param.getJSONArray("list").toJSONString(), WrkLocSync.class); + // 鎻掑叆鍒涘缓浜哄憳鍜屽垱寤烘椂闂� + if (list.size() > 0) { + for (WrkLocSync elist : list) { + elist.setCreateBy(getUserId()); + elist.setCreateTime(new Date()); + } + } + Integer result = 0; + result = wrkLocSyncService.insertWrkLocSync(list); + return R.ok(result); + } + + + @RequestMapping(value = "/locSync/updateWrklocSync") + @ManagerAuth(memo = "娓呯┖鍚屾涓婁紶娓呭崟鏁版嵁锛屽苟鎻掑叆") + public R updateWrklocSync(@RequestBody JSONObject param) { + // 娓呯┖鍚屾涓婁紶娓呭崟鏁版嵁 + if (!wrkLocSyncService.clearWrkLocSync()) { + throw new CoolException("鍚屾涓婁紶娓呭崟鏁版嵁娓呯┖澶辫触锛岃鑱旂郴绠$悊鍛�"); + } + ; + List<WrkLocSync> list = JSONObject.parseArray(param.getJSONArray("list").toJSONString(), WrkLocSync.class); + // 鎻掑叆鍒涘缓浜哄憳鍜屽垱寤烘椂闂� + if (list.size() > 0) { + for (WrkLocSync elist : list) { + elist.setCreateBy(getUserId()); + elist.setCreateTime(new Date()); + } + } + Integer result = 0; + result = wrkLocSyncService.insertWrkLocSync(list); + return R.ok(result); + } + + /* 鍚屾涓婁紶erp[uploadBill] 鍗曟嵁涓婁紶 */ + @Scheduled(cron = "0/5 * * * * ? ") + public void execute() { + List<String> orderList = new ArrayList<>(); + orderList.add("state"); + orderList.add("create_time"); + List<WrkLocSync> syncList = wrkLocSyncService.selectList(new EntityWrapper<WrkLocSync>().orderDesc(orderList)); + // 鍚屾涓婁紶娓呭崟澶勭悊锛屽彇绗竴鏉� + if (!Cools.isEmpty(syncList)) { + WrkLocSync executeData = syncList.get(0); + // 璁㈠崟鍙� + String docNum = String.valueOf(snowflakeIdWorker.nextId()); + // 璁㈠崟绫诲瀷 34閲囪喘鍗� + Integer docId = 34; + List<BillDto> dtos = new ArrayList<BillDto>(); + BillDto res = new BillDto(); + res.setMatnr(executeData.getMatnr()); + res.setQty(executeData.getQty()); + dtos.add(res); + if (erpService.uploadBill(dtos, docId, docNum)) { + // 鎴愬姛鍚庡垹闄や换鍔� + if (!wrkLocSyncService.delete(new EntityWrapper<WrkLocSync>().eq("matnr", executeData.getMatnr()))) { + log.info("搴撳瓨鍚屾鍒犻櫎浠诲姟澶辫触,浠诲姟matnr=" + executeData.getMatnr() + "鏃堕棿=" + new Date()); + } + } else { + // 澶辫触鍚庡皢浠诲姟鐘舵�乻tate鏇存柊涓篘 + executeData.setState("X"); + executeData.setUpdateBy(getUserId()); + executeData.setCreateTime(new Date()); + if(!wrkLocSyncService.update(executeData, new EntityWrapper<WrkLocSync>().eq("matnr", executeData.getMatnr()))) { + log.info("搴撳瓨鍚屾鏇存柊浠诲姟澶辫触,浠诲姟matnr=" + executeData.getMatnr() + "鏃堕棿=" + new Date()); + } + } + } + } +} diff --git a/src/main/java/zy/cloud/wms/manager/entity/LocSum.java b/src/main/java/zy/cloud/wms/manager/entity/LocSum.java new file mode 100644 index 0000000..df24e54 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/entity/LocSum.java @@ -0,0 +1,21 @@ +package zy.cloud.wms.manager.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableName; +import lombok.Data; + +import java.io.Serializable; + +@TableName("asr_sumloc_view") +@Data +public class LocSum implements Serializable { + private String matnr; + + private String maktx; + + private Double anfme; + + private String altme; + + private String memo; +} diff --git a/src/main/java/zy/cloud/wms/manager/entity/WrkLocSync.java b/src/main/java/zy/cloud/wms/manager/entity/WrkLocSync.java new file mode 100644 index 0000000..1224420 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/entity/WrkLocSync.java @@ -0,0 +1,30 @@ +package zy.cloud.wms.manager.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@TableName("asr_wrk_loc_sync") +@Data +public class WrkLocSync implements Serializable { + private String matnr; + + private Double qty; + + private String state; + + @TableField("create_time") + private Date createTime; + + @TableField("create_by") + private Long createBy; + + @TableField("update_time") + private Date updateTime; + + @TableField("update_by") + private Long updateBy; +} diff --git a/src/main/java/zy/cloud/wms/manager/mapper/LocSyncMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/LocSyncMapper.java new file mode 100644 index 0000000..7bf2271 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/mapper/LocSyncMapper.java @@ -0,0 +1,16 @@ +package zy.cloud.wms.manager.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; +import zy.cloud.wms.manager.entity.LocSum; + +import java.util.List; + +@Mapper +@Repository +public interface LocSyncMapper extends BaseMapper<LocSum> { + List<LocSum> queryLocSum(); + + Integer getSyncLocWrkCount(); +} diff --git a/src/main/java/zy/cloud/wms/manager/mapper/WrkLocSyncMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/WrkLocSyncMapper.java new file mode 100644 index 0000000..023ae58 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/mapper/WrkLocSyncMapper.java @@ -0,0 +1,18 @@ +package zy.cloud.wms.manager.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; +import zy.cloud.wms.manager.entity.WrkLocSync; + +import java.util.List; + +@Mapper +@Repository +public interface WrkLocSyncMapper extends BaseMapper<WrkLocSync> { + Integer getSyncLocWrkCount(); + + Integer insertWrkLocSync(List<WrkLocSync> list); + + Boolean clearWrkLocSync(); +} diff --git a/src/main/java/zy/cloud/wms/manager/service/LocSyncService.java b/src/main/java/zy/cloud/wms/manager/service/LocSyncService.java new file mode 100644 index 0000000..0a1ea76 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/service/LocSyncService.java @@ -0,0 +1,12 @@ +package zy.cloud.wms.manager.service; + +import com.baomidou.mybatisplus.service.IService; +import zy.cloud.wms.manager.entity.LocSum; + +import java.util.List; + +public interface LocSyncService extends IService<LocSum> { + List<LocSum> queryLocSum(); + + Integer getSyncLocWrkCount(); +} diff --git a/src/main/java/zy/cloud/wms/manager/service/WrkLocSyncService.java b/src/main/java/zy/cloud/wms/manager/service/WrkLocSyncService.java new file mode 100644 index 0000000..510e721 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/service/WrkLocSyncService.java @@ -0,0 +1,13 @@ +package zy.cloud.wms.manager.service; + +import com.baomidou.mybatisplus.service.IService; +import zy.cloud.wms.manager.entity.WrkLocSync; +import java.util.List; + +public interface WrkLocSyncService extends IService<WrkLocSync> { + Integer getSyncLocWrkCount(); + + Integer insertWrkLocSync(List<WrkLocSync> list); + + Boolean clearWrkLocSync(); +} diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/LocSyncServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/LocSyncServiceImpl.java new file mode 100644 index 0000000..0c0975b --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/service/impl/LocSyncServiceImpl.java @@ -0,0 +1,23 @@ +package zy.cloud.wms.manager.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import zy.cloud.wms.manager.mapper.LocSyncMapper; +import org.springframework.stereotype.Service; +import zy.cloud.wms.manager.entity.LocSum; +import zy.cloud.wms.manager.service.LocSyncService; + +import java.util.List; + +@Service("locSyncService") +public class LocSyncServiceImpl extends ServiceImpl<LocSyncMapper, LocSum> implements LocSyncService{ + + @Override + public List<LocSum> queryLocSum() { + return this.baseMapper.queryLocSum(); + } + + @Override + public Integer getSyncLocWrkCount() { + return this.baseMapper.getSyncLocWrkCount(); + } +} diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WrkLocSyncServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WrkLocSyncServiceImpl.java new file mode 100644 index 0000000..311449b --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/service/impl/WrkLocSyncServiceImpl.java @@ -0,0 +1,27 @@ +package zy.cloud.wms.manager.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import zy.cloud.wms.manager.entity.WrkLocSync; +import zy.cloud.wms.manager.mapper.WrkLocSyncMapper; +import zy.cloud.wms.manager.service.WrkLocSyncService; + +import java.util.List; + +@Service("wrkLocSyncService") +public class WrkLocSyncServiceImpl extends ServiceImpl<WrkLocSyncMapper, WrkLocSync> implements WrkLocSyncService { + @Override + public Integer getSyncLocWrkCount() { + return this.baseMapper.getSyncLocWrkCount(); + } + + @Override + public Integer insertWrkLocSync(List<WrkLocSync> list) { + return this.baseMapper.insertWrkLocSync(list); + } + + @Override + public Boolean clearWrkLocSync() { + return this.baseMapper.clearWrkLocSync(); + } +} diff --git a/src/main/resources/mapper/LocSyncMapper.xml b/src/main/resources/mapper/LocSyncMapper.xml new file mode 100644 index 0000000..f88e34c --- /dev/null +++ b/src/main/resources/mapper/LocSyncMapper.xml @@ -0,0 +1,23 @@ +<?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="zy.cloud.wms.manager.mapper.LocSyncMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="zy.cloud.wms.manager.entity.LocSum"> + <result column="matnr" property="matnr" /> + <result column="maktx" property="maktx" /> + <result column="anfme" property="anfme" /> + <result column="altme" property="altme" /> + <result column="memo" property="memo" /> + </resultMap> + + <select id="queryLocSum" resultMap="BaseResultMap"> + select matnr,maktx,sum(anfme) as anfme,altme, memo from asr_sumloc_view group by matnr,maktx,altme,memo + </select> + + <select id="getSyncLocWrkCount" resultType="integer"> + select count(*) from asr_wrk_loc_sync; + </select> + + +</mapper> diff --git a/src/main/resources/mapper/WrkLocSyncMapper.xml b/src/main/resources/mapper/WrkLocSyncMapper.xml new file mode 100644 index 0000000..ebf33cb --- /dev/null +++ b/src/main/resources/mapper/WrkLocSyncMapper.xml @@ -0,0 +1,34 @@ +<?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="zy.cloud.wms.manager.mapper.WrkLocSyncMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="zy.cloud.wms.manager.entity.WrkLocSync"> + <result column="matnr" property="matnr" /> + <result column="qty" property="qty" /> + <result column="state" property="state" /> + <result column="create_by" property="createBy" /> + <result column="create_time" property="createTime" /> + <result column="update_by" property="updateBy" /> + <result column="update_time" property="updateTime" /> + </resultMap> + + <select id="getSyncLocWrkCount" resultType="integer"> + select count(*) from asr_wrk_loc_sync; + </select> + + <insert id="insertWrkLocSync"> + BEGIN + <foreach collection="list" item="item" index="index"> + INSERT INTO asr_wrk_loc_sync (matnr, qty, state, create_time, create_by, update_time, update_by) + VALUES (#{item.matnr,jdbcType=VARCHAR}, #{item.qty,jdbcType=DECIMAL}, 'N', + #{item.createTime,jdbcType=TIMESTAMP},#{item.createBy,jdbcType=DECIMAL}, + #{item.updateTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=DECIMAL}) + </foreach> + END; + </insert> + + <delete id="clearWrkLocSync"> + DELETE FROM asr_wrk_loc_sync + </delete> +</mapper> diff --git a/src/main/webapp/static/js/locSync/locSync.js b/src/main/webapp/static/js/locSync/locSync.js new file mode 100644 index 0000000..00e4f42 --- /dev/null +++ b/src/main/webapp/static/js/locSync/locSync.js @@ -0,0 +1,140 @@ +var syncTableData = []; + +layui.use(['table', 'laydate', 'form'], function () { + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#locSum', + headers: {token: localStorage.getItem('token')}, + url: baseUrl + '/locSync/queryLocSum', + page: true, + // limit: 16, + // limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {field: 'matnr', align: 'center', title: '鐗╂枡缂栫爜', width: 200} + , {field: 'maktx', align: 'center', title: '鐗╂枡鍚嶇О'} + , {field: 'anfme', align: 'center', title: '鎬绘暟閲廩骞充粨+绔嬪簱]', width: 180} + , {field: 'altme', align: 'center', title: '鍗曚綅', width: 80} + , {field: 'memo', align: 'center', title: '澶囨敞'} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data + } + }, + response: { + statusCode: 200 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl + "/"; + } + pageCurr = curr; + limit(); + syncTableData = res.data; + } + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(locSum)', function (obj) { + switch (obj.event) { + case 'btnSync': + $.ajax({ + url: baseUrl + "/locSync/syncLocWrkCount", + headers: {'token': localStorage.getItem('token')}, + data: {}, + method: 'POST', + traditional: true, + success: function (res) { + if (res.code === 200) { + var msg = ''; + if (res.data == 0) { + msg = '纭畾瑕佸悓姝ュ簱瀛樻暟鎹悧?' + } else { + msg = '鍚屾浠诲姟姝e湪杩涜锛岀‘瀹氳涓骞堕噸鏂板悓姝ュ悧?' + } + layer.confirm(msg, { + shadeClose: true + , btn: ['纭畾'] + }, function () { + var paramList = []; + syncTableData.map(function (e) { + paramList.push({ + matnr: e.matnr, + qty: e.anfme, + }); + }); + var param = { + 'list': paramList, + }; + if (res.data > 0) { + // 娓呯┖鍚屾涓婁紶娓呭崟鏁版嵁,鍐嶈繘琛屾彃鍏ユ暟鎹� + $.ajax({ + url: baseUrl + "/locSync/updateWrklocSync", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + if (res.code === 200) { + layer.msg("搴撳瓨鍚屾涓紒"); + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(res.msg) + } + } + }); + } else { + // 璋冪敤鍚屾涓婁紶娓呭崟鏁版嵁鎻掑叆鎺ュ彛 + $.ajax({ + url: baseUrl + "/locSync/insertWrklocSync", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + if (res.code === 200) { + layer.msg("搴撳瓨鍚屾涓紒"); + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(res.msg) + } + } + }); + } + layer.closeAll(); + } + ); + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(res.msg) + } + } + }); + break; + default: + break; + } + }); +}); \ No newline at end of file diff --git a/src/main/webapp/views/locSync/locSync.html b/src/main/webapp/views/locSync/locSync.html new file mode 100644 index 0000000..4e8907d --- /dev/null +++ b/src/main/webapp/views/locSync/locSync.html @@ -0,0 +1,36 @@ +<!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/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + + </style> +</head> +<body> + +<div class="layui-fluid"> + <!-- 琛ㄦ牸 --> + <div class="layui-form"> + <table class="layui-hide" id="locSum" lay-filter="locSum"></table> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn " id="btn-sync" lay-event="btnSync" style="margin-left: 10px">鍚屾搴撳瓨</button> + </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/locSync/locSync.js" charset="utf-8"></script> +</body> +</html> \ No newline at end of file diff --git a/version/v1.0.2/change_log b/version/v1.0.2/change_log new file mode 100644 index 0000000..2ff75a9 --- /dev/null +++ b/version/v1.0.2/change_log @@ -0,0 +1,38 @@ +// 鏂板缓瑙嗗浘 asr_sumloc_view +select matnr,maktx,anfme, altme, memo from asr_loc_detl +union all +select matnr,maktx,anfme, unit as altme, memo from man_loc_detl + +// 鏂板琛ㄧ粨鏋� +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[asr_wrk_loc_sync]( + [matnr] [varchar](255) NOT NULL, + [qty] [decimal](24, 9) NOT NULL, + [state] [varchar](10) NULL, + [create_time] [datetime] NULL, + [create_by] [bigint] NULL, + [update_time] [datetime] NULL, + [update_by] [bigint] NULL +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'鐗╂枡缂栫爜' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'asr_wrk_loc_sync', @level2type=N'COLUMN',@level2name=N'matnr' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'鏁伴噺' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'asr_wrk_loc_sync', @level2type=N'COLUMN',@level2name=N'qty' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'鐘舵��(N鏈笂浼�,X涓婁紶澶辫触)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'asr_wrk_loc_sync', @level2type=N'COLUMN',@level2name=N'state' +GO \ No newline at end of file -- Gitblit v1.9.1