#
luxiaotao1123
2021-03-23 0d334766bcd06f6ce8678caed5747600f74b4d21
#
3个文件已添加
5个文件已修改
177 ■■■■■ 已修改文件
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/erp/ErpService.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/controller/WorkController.java 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pda/stockIn.html 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
@@ -8,7 +8,6 @@
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.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
@@ -271,7 +270,7 @@
    /**
     * 持久化销售订单
     */
    @Scheduled(cron = "0/45 * * * * ? ")
//    @Scheduled(cron = "0/45 * * * * ? ")
    @Transactional
//    @PostConstruct
    public void getOrdersExecute(){
@@ -420,7 +419,7 @@
    /**
     * 库存上传
     */
    @Scheduled(cron = "0/15 * * * * ? ")
//    @Scheduled(cron = "0/15 * * * * ? ")
    @GetMapping("test2")
    public void uploadStockExecute(){
        try {
src/main/java/zy/cloud/wms/common/service/erp/ErpService.java
New file
@@ -0,0 +1,73 @@
package zy.cloud.wms.common.service.erp;
import com.alibaba.fastjson.JSON;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import zy.cloud.wms.common.service.erp.entity.UploadBill;
import zy.cloud.wms.common.service.erp.entity.UploadBillDetail;
import zy.cloud.wms.manager.entity.Comb;
import zy.cloud.wms.manager.utils.HttpHandler;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * Created by vincent on 2021/3/23
 */
@Slf4j
@Service("erpService")
public class ErpService {
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    /**
     * 单据上报
     */
    public Boolean uploadBill(List<Comb> combs, Integer docId, String docNumber){
        try {
            if (Cools.isEmpty(combs)) {
                return false;
            }
            UploadBill uploadBill = new UploadBill();
            uploadBill.setNumber(docNumber);
            uploadBill.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F));
            uploadBill.setBTypeID("宏挺客户");
            uploadBill.setKTypeID("宏挺仓库");
            uploadBill.setVchType(docId);
            List<UploadBillDetail> detail = new ArrayList<>();
            uploadBill.setDetail(detail);
            for (Comb comb : combs) {
                UploadBillDetail detl = new UploadBillDetail();
                detl.setUserCode(comb.getMatnr());
                detl.setQty(comb.getAnfme());
                detl.setPrice(0.0D);
            }
            String response = new HttpHandler.Builder()
                    .setUri(ErpScheduler.URI)
                    .setPath(ErpScheduler.UPLOAD_BILL)
                    .setJson(JSON.toJSONString(uploadBill))
                    .build()
                    .doPost();
            if (!Cools.isEmpty(response)) {
                log.warn(response);
                Result result = JSON.parseObject(response, Result.class);
                if (result.getCode() != 1) {
                    return false;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return Boolean.TRUE;
    }
}
src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java
New file
@@ -0,0 +1,27 @@
package zy.cloud.wms.common.service.erp.entity;
import lombok.Data;
import java.util.List;
/**
 * Created by vincent on 2021/3/23
 */
@Data
public class UploadBill {
    private String number;
    private Integer vchType;
    private String billDate;
    private String bTypeID;
    private String kTypeID;
    private String summary;
    private List<UploadBillDetail> detail;
}
src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java
New file
@@ -0,0 +1,19 @@
package zy.cloud.wms.common.service.erp.entity;
import lombok.Data;
/**
 * Created by vincent on 2021/3/23
 */
@Data
public class UploadBillDetail {
    private String userCode;
    private Double qty;
    private Double Price;
    private String comment;
}
src/main/java/zy/cloud/wms/manager/controller/WorkController.java
src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java
@@ -12,4 +12,6 @@
    private String zpallet;
    private Integer docType;
}
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -12,6 +12,7 @@
import zy.cloud.wms.common.model.OrderStoDto;
import zy.cloud.wms.common.service.MainService;
import zy.cloud.wms.common.service.asrs.AsrsService;
import zy.cloud.wms.common.service.erp.ErpService;
import zy.cloud.wms.common.utils.VersionUtils;
import zy.cloud.wms.manager.entity.*;
import zy.cloud.wms.manager.entity.param.*;
@@ -46,6 +47,8 @@
    private MatService matService;
    @Autowired
    private AsrsService asrsService;
    @Autowired
    private ErpService erpService;
    @Override
    @Transactional
@@ -59,6 +62,7 @@
            return R.error("物料不存在");
        }
        Date now = new Date();
        String docNum = String.valueOf(snowflakeIdWorker.nextId());
        for (Comb comb : combs) {
            // 改变组托档状态
            comb.setIoStatus(4);
@@ -77,6 +81,8 @@
                locDetl.setZpallet(param.getZpallet());
                locDetl.setAnfme(comb.getAnfme());
                VersionUtils.setLocDetl(locDetl, comb);
                locDetl.setDocId(param.getDocType().longValue());
                locDetl.setDocNum(docNum);
                locDetl.setStatus(1);
                locDetl.setCreateBy(userId);
                locDetl.setCreateTime(now);
@@ -94,6 +100,12 @@
            }
        }
        // 上报给erp
        if (!erpService.uploadBill(combs, param.getDocType(), docNum)) {
            throw new CoolException("无法上报至erp");
        }
        return R.ok();
    }
src/main/webapp/views/pda/stockIn.html
@@ -76,6 +76,13 @@
            display: none;
        }
        #typeSelect {
            padding: 10px 20px;
        }
        .layui-form-radio {
            width: 100%;
        }
    </style>
</head>
<body>
@@ -100,9 +107,20 @@
<footer>
    <div class="layui-btn-container">
        <button type="button" class="layui-btn layui-btn-primary" onclick="reset()">重置</button>
        <button id="pakin" type="button" class="layui-btn layui-btn-normal" onclick="pakIn()" style="margin-left: 15px">上架</button>
        <button id="pakin" type="button" class="layui-btn layui-btn-normal" onclick="confirm()" style="margin-left: 15px">上架</button>
    </div>
</footer>
<div id="typeSelect" style="display: none">
    <form class="layui-form">
        <input type="radio" name="docType" value="34" title="采购单" checked="">
        <input type="radio" name="docType" value="45" title="销售退货单">
        <hr>
        <div style="text-align: center">
            <button class="layui-btn layui-btn-normal" onclick="pakIn()">确定</button>
        </div>
    </form>
</div>
</body>
<script>
    var tableIns;
@@ -243,9 +261,22 @@
        layui.form.render('select');
    }
    function confirm() {
        layer.open({
            type: 1,
            title: '单据类型',
            shade: [0.3,'#000'],
            area: ['70%'],
            content: $('#typeSelect'),
            success: function(layero, index){
            }
        });
    }
    // 上架
    function pakIn() {
        layer.confirm('上架当前托盘?', {shadeClose: true}, function(){
        var docType = $('input:radio[name="docType"]:checked').val();
            var zpallet = $('#code').val();
            if (isEmpty(zpallet)) {
                tips("托盘条码为空", true);
@@ -265,7 +296,8 @@
                headers: {'token': localStorage.getItem('token')},
                data: JSON.stringify({
                    nodeId: node,
                    zpallet: zpallet
                zpallet: zpallet,
                docType: docType
                }),
                contentType:'application/json;charset=UTF-8',
                method: 'POST',
@@ -280,7 +312,6 @@
                        tips(res.msg, true)
                    }
                }
            })
        })
    }