自动化立体仓库 - WMS系统
#
1
5 天以前 780461e27d87b769b6f9649a9a7fa532d880a2e9
#
13个文件已修改
67 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OutController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/AgvLocListDetlParam.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocDetlService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/locDetlStatis/locDetlStatis.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java
@@ -176,12 +176,8 @@
                    continue;
                }
                List<LocDetl> locDetls = null;
                if(orderDetl.getStandby1().equals("123")){
                    locDetls = locDetlService.queryStockAll123(null, exist,orderDetl.getMatnr(), "1");
                locDetls = locDetlService.queryStockAll123(null, exist,orderDetl.getMatnr(), orderDetl.getBoxType3());
                }else{
                    locDetls = locDetlService.queryStockAll7(null, exist,orderDetl.getMatnr(), orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(),orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3());
                }
                for (LocDetl locDetl : locDetls) {
                    if (issued > 0) {
                        LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
@@ -192,7 +188,6 @@
                        List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                        locDto.setStaNos(staNos);
                        locDto.setBrand(orderDetl.getBrand());
                        locDto.setStandby1(orderDetl.getStandby1());
                        locDto.setStandby2(orderDetl.getStandby2());
                        locDto.setStandby3(orderDetl.getStandby3());
src/main/java/com/zy/asrs/entity/param/AgvLocListDetlParam.java
@@ -1,5 +1,6 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.BasAgvLocDetl;
import com.zy.asrs.entity.LocDetl;
import lombok.Data;
@@ -9,5 +10,5 @@
public class AgvLocListDetlParam {
    private String locNo; //库位号
    private String locSys; //库位状态
    private List<LocDetl> agvDetlList; //明细
    private List<BasAgvLocDetl> agvDetlList; //明细
}
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -81,7 +81,7 @@
                                @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2);
    List<LocDetl> queryStockAll7(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("standby1")String standby1,@Param("standby2")String standby2,
                                @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3);
    List<LocDetl> queryStockAll123(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("standby1")String standby);
    List<LocDetl> queryStockAll123(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("boxType3")String boxType3);
    Double queryStockAnfme(String matnr, String batch);
    List<LocDetl> queryStockMatnr(@Param("matnr")String matnr);
src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -72,7 +72,7 @@
//    List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2, String boxType3);
    List<LocDetl> queryStockAll(String orderNo, Set<String> locNos,String matnr, String batch, String brand, String standby1, String standby2, String standby3, String boxType1, String boxType2);
    List<LocDetl> queryStockAll7(String orderNo, Set<String> locNos,String matnr, String standby1, String standby2, String standby3, String boxType1, String boxType2,String boxType3);
    List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr, String standby1);
    List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr, String boxType3);
    Double queryStockAnfme(String matnr, String batch);
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -131,8 +131,8 @@
    }
    @Override
    public List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr,  String standby1) {
        return this.baseMapper.queryStockAll123(orderNo,locNos, matnr,standby1);
    public List<LocDetl> queryStockAll123(String orderNo, Set<String> locNos,String matnr,  String boxType3) {
        return this.baseMapper.queryStockAll123(orderNo,locNos, matnr,boxType3);
    }
    @Override
    public Double queryStockAnfme(String matnr, String batch) {
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -66,6 +66,8 @@
    @Autowired
    private BasArmMastService basArmMastService;
    @Autowired
    private BasAgvLocDetlService basAgvLocDetlService;
    @Autowired
    private BasArmMastSignService basArmMastSignService;
    @Autowired
    private BasAgvMastService basAgvMastService;
@@ -969,8 +971,8 @@
    }
    private AgvLocListDetlParam buildAgvLocListDetlParam(String locNo, String locSts) {
        List<LocDetl> detlList = locDetlService.selectList(
                new EntityWrapper<LocDetl>().eq("loc_no", locNo)
        List<BasAgvLocDetl> detlList = basAgvLocDetlService.selectList(
                new EntityWrapper<BasAgvLocDetl>().eq("loc_no", locNo)
        );
        
        AgvLocListDetlParam dto = new AgvLocListDetlParam();
src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java
@@ -19,6 +19,7 @@
    private boolean InboundOrderSwitch;
    // 每15分钟同步一次物料档案,防止档案位同步单据先获取
    @Scheduled(cron = "0 */15 * * * ?")
//    @Scheduled(cron = "0/5 * * * * ?")
    void syncMaterialData() {
        if (!InboundOrderSwitch) {
            return;
src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -57,7 +57,7 @@
                    }else if( order.getDocType() == 21){  //导入订单出库(领料)
                        order.setSettle(8L);
                        orderService.updateById(order);
                    }else if(order.getPayType() == 1 || order.getSalesman() != null){
                    }else if((order.getPayType() != null && order.getPayType() == 1) && order.getSalesman() != null){
                        Order order1 = orderService.selectByNo(order.getSalesman());
                        if(orderDetlPakinService.morpt(order.getSalesman(),order.getOrderNo())){
                            order.setSettle(11L); //yu/cheng/dan/deng/dai/chu/ku/dan
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -298,6 +298,7 @@
                            String matnr = jsonObjectNew.get("number").toString();
                            String name = jsonObjectNew.get("name").toString();
                            String createTime = jsonObjectNew.get("createtime").toString();
                            String memo = jsonObjectNew.get("eap7_textfield1").toString();
                            Double height = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield9");
                            Double width = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield8");
                            Double length = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield7");
@@ -335,6 +336,7 @@
                                if (mat.getUpdateTime().compareTo(modifyTime) != 0) {
                                    // 更新字段
                                    if (!mat.getMaktx().equals(name)) mat.setMaktx(name);
                                    if (!mat.getMemo().equals(memo)) mat.setMemo(memo);
                                    if (mat.getWeight().compareTo(grossweight) != 0) mat.setWeight(grossweight);
                                    if (mat.getUnits().compareTo(netweight) != 0) mat.setUnits(netweight);
                                    if (mat.getSafeQty().compareTo(unit) != 0) mat.setSafeQty(unit);
@@ -724,6 +726,7 @@
                            for (int k = 0; k < billEntryArray.size(); k++) {
                                JSONObject entry = billEntryArray.getJSONObject(k);
                                String matnr = entry.getString("material_number"); //物料编码,内部SKU
                                Double qty = entry.getDouble("qty");
                                Double anfme = entry.getDouble("eap7_decimalfield");//箱数
                                Double totalNumItems = entry.getDouble("eap7_decimalfield1");//总件数
                                Double totalVolume = entry.getDouble("eap7_decimalfield2");//总体积
@@ -737,7 +740,7 @@
                                Long seq = entry.getLong("seq"); //分录行号
//                                String suppCode = entry.getString("supplier_number");
                                String suppCode = null;
                                if (anfme == null || anfme == 0) {
                                if (qty == null || qty == 0) {
                                    callApiLogSaveOrder(order, kingDeeUtilType,
                                            "单据数量异常:" + matnr, false);
                                    continue;
@@ -754,7 +757,7 @@
                                            "档案箱数量异常:" + matnr, false);
                                    continue;
                                }
                                Double erpAnfme = anfme*mat.getSafeQty();
                                Double anfmeBox = qty/mat.getSafeQty();
                                // ========= 明细去重 =========
                                List<OrderDetl> orderDetls =
                                        orderDetlService.selectByOrderId(order.getId());
@@ -773,8 +776,8 @@
                                orderDetl.sync(mat);
                                orderDetl.setThreeCode(detlId);
                                orderDetl.setLineNumber(seq);
                                orderDetl.setAnfme(anfme);
                                orderDetl.setErpAnfme(erpAnfme);
                                orderDetl.setAnfme(anfmeBox != anfme?anfme : anfmeBox);
                                orderDetl.setErpAnfme(qty);
                                orderDetl.setOrderId(order.getId());
                                orderDetl.setOrderNo(order.getOrderNo());
                                orderDetl.setSupp(supp);
@@ -1640,9 +1643,9 @@
                                orderDetl.setSupp(supp);
                                orderDetl.setSuppCode(suppCode);
                                orderDetl.setSku(matnr);
                                orderDetl.setStandby1(s1);
                                orderDetl.setStandby2(s2);
                                orderDetl.setStandby3(s3);
                                orderDetl.setStandby1(s1 != null? s1:"1");
                                orderDetl.setStandby2(s2 != null? s2:"1");
                                orderDetl.setStandby3(s3 != null? s3:"1");
                                orderDetl.setBoxType1(owner);
                                orderDetl.setBoxType2(ownerUuid);
                                orderDetl.setBoxType3(pOrderNo);
@@ -1772,6 +1775,7 @@
                            String matnr = jsonObjectNew.get("number").toString();
                            String name = jsonObjectNew.get("name").toString();
                            String createTime = jsonObjectNew.get("createtime").toString();
                            String memo = jsonObjectNew.get("eap7_textfield1").toString();
                            Double height = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield9");
                            Double width = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield8");
                            Double length = getDecimalFieldAsDouble(jsonObjectNew, "eap7_decimalfield7");
@@ -1794,6 +1798,7 @@
                                mat.setManLength(length1);
                                mat.setHeight(height1);
                                mat.setWidth(width1);
                                mat.setMemo(memo);
                                mat.setCreateTime(sdf1.parse(createTime));
                                mat.setUpdateTime(modifyTime);
                                mat.setStatus(1);
@@ -1809,6 +1814,7 @@
                                if (mat.getUpdateTime().compareTo(modifyTime) != 0) {
                                    // 更新字段
                                    if (!mat.getMaktx().equals(name)) mat.setMaktx(name);
                                    if (!mat.getMemo().equals(memo)) mat.setMemo(memo);
                                    if (mat.getWeight().compareTo(grossweight) != 0) mat.setWeight(grossweight);
                                    if (mat.getUnits().compareTo(netweight) != 0) mat.setUnits(netweight);
                                    if (mat.getSafeQty().compareTo(unit) != 0) mat.setSafeQty(unit);
src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
@@ -238,11 +238,11 @@
                        }
                    }
                }
                if(order.getDocType() == 16L){
                if((order.getDocType() == 16L || order.getDocType() == 24L || order.getDocType() == 3) && order.getCstmrName().equals("和得科技")){
                    order.setDocType(23L);
                    order.setSettle(4L);//转为出库单据上报
                }else{
                    if(order.getDocType() == 23L || order.getDocType() == 24L){
                    if(order.getDocType() == 23L){
                        Order order1 = orderService.selectOne(new EntityWrapper<Order>().eq("salesman",order.getOrderNo()));
                        orderService.updateOrderStatus4(order1.getOrderNo());
                    }
src/main/resources/mapper/LocDetlMapper.xml
@@ -54,11 +54,11 @@
    </resultMap>
    <sql id="batchSeq123">
        <choose>
            <when test="standby1 != null and standby1 != ''">
                and d.standby1 = #{standby1}
            <when test="boxType3 != null and boxType3 != ''">
                and a.box_type3 = #{boxType3}
            </when>
            <otherwise>
                and (d.standby1 IS NULL OR d.standby1 = '')
                and (a.box_type3 IS NULL OR a.box_type3 = '')
            </otherwise>
        </choose>
    </sql>
src/main/webapp/static/js/common.js
@@ -228,7 +228,7 @@
var detlCols = [
    {field: 'matnr', align: 'center',title: '商品编号', sort:true}
    ,{field: 'maktx', align: 'center',title: '商品名称', sort:true}
    ,{field: 'maktx', align: 'center',title: '商品名称', sort:true,hide:true}
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false}
    // ,{field: 'batch', align: 'center',title: '货品特征', sort:true,hide:true}
    ,{field: 'anfme', align: 'center',title: '数量', hide: false}
src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
@@ -6,7 +6,7 @@
    arrRemove(detlCols, "field", "anfme")
    arrRemove(detlCols, "field", "zpallet")
    arrRemove(detlCols, "field", "orderNo")
    arrRemove(detlCols, "field", "memo")
    // arrRemove(detlCols, "field", "memo")
    cols.push.apply(cols, detlCols);
    // cols.push({field: 'anfme', align: 'center',title: '数量', style: 'font-weight: bold'}
    // )
@@ -126,14 +126,14 @@
                        success: function (res) {
                            layer.closeAll();
                            if (res.code === 200 && res.data && res.data.length > 0) {
                                var titles = ['库存数量', '商品编号', '商品名称', '采购单号', '条码UPC', '单箱毛重(kg)', '客户PO'];
                                var fieldKeys = ['anfme', 'matnr', 'maktx', 'boxType3', 'standby2', 'units', 'standby1'];
                                var titles = ['库存数量', '商品编号', '备注', '采购单号', '条码UPC', '单箱毛重(kg)', '客户PO'];
                                var fieldKeys = ['anfme', 'matnr', 'memo', 'boxType3', 'standby2', 'units', 'standby1'];
                                var exportData = res.data.map(function(item) {
                                    return [
                                        item.anfme || '',
                                        item.matnr || '',
                                        item.maktx || '',  // 如果 maktx 为空可默认
                                        item.memo || '',  // 如果 maktx 为空可默认
                                        item.boxType3 || '',
                                        item.standby2 || '',
                                        item.units || '',