#
luxiaotao1123
2021-03-19 dce6dcb96f5ed7acd816114df26f2bb1b4688471
#
6个文件已修改
117 ■■■■ 已修改文件
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/erp/entity/UploadStock.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,13 +13,8 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import zy.cloud.wms.common.service.erp.entity.GetBasisResult;
import zy.cloud.wms.common.service.erp.entity.GetOrderResult0;
import zy.cloud.wms.common.service.erp.entity.GetOrderResultDetl0;
import zy.cloud.wms.manager.entity.Cstmr;
import zy.cloud.wms.manager.entity.CustOrder;
import zy.cloud.wms.manager.entity.Mat;
import zy.cloud.wms.manager.entity.Tag;
import zy.cloud.wms.common.service.erp.entity.*;
import zy.cloud.wms.manager.entity.*;
import zy.cloud.wms.manager.mapper.CustOrderMapper;
import zy.cloud.wms.manager.mapper.TagMapper;
import zy.cloud.wms.manager.service.*;
@@ -58,6 +54,8 @@
    private TagMapper tagMapper;
    @Autowired
    private CustOrderMapper custOrderMapper;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    /**
     * 商品下载
@@ -419,79 +417,49 @@
    }
    /**
     * 更新库存
     * 库存上传
     */
//    @Scheduled(cron = "0/3 * * * * ? ")
    @Scheduled(cron = "0/15 * * * * ? ")
    @GetMapping("test2")
    public void uploadStockExecute(){
        try {
//            locDetlService
            List<LocDetl> statis = locDetlService.getLocDetlStatis();
            if (!Cools.isEmpty(statis)) {
                UploadStock uploadStock = new UploadStock();
                uploadStock.setNumber(String.valueOf(snowflakeIdWorker.nextId()));
                uploadStock.setVchType(89);
                uploadStock.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F));
                uploadStock.setDataSize(statis.size());
                List<UploadStockDtel> detail = new ArrayList<>();
                uploadStock.setDetail(detail);
                for (LocDetl locDetl : statis) {
                    Mat mat = matService.selectByMatnr(locDetl.getMatnr());
                    if (mat == null) {continue;}
                    UploadStockDtel detl = new UploadStockDtel();
                    detl.setUserCode(mat.getMatnr());
                    detl.setQty(locDetl.getAnfme());
//                    detl.setPrice(Double.parseDouble());
                    detl.setComment(mat.getMemo());
                    detail.add(detl);
                }
            Map<String, Object> param = new HashMap<>();
            param.put("rec", 0);
            param.put("Flag", 1);
            String response = new HttpHandler.Builder()
                    .setUri(URI)
                    .setPath(GET_BASIS)
                    .setJson(JSON.toJSONString(param))
                        .setPath(UPLOAD_STOCK)
                        .setJson(JSON.toJSONString(uploadStock))
                    .build()
                    .doPost();
            if (!Cools.isEmpty(response)) {
                log.info(response);
                Date now = new Date();
                    log.info("上报库存明细统计 ======>> \nrequest:{} \nresponse:{}", JSON.toJSONString(uploadStock), response);
                Result result = JSON.parseObject(response, Result.class);
                if (result.getCode() != 1) {
                    return;
                }
                List<GetBasisResult> list = JSON.parseArray(result.getData(), GetBasisResult.class);
                for (GetBasisResult data : list) {
                    Mat mat = matService.selectByMatnr(data.getUserCode());
                    String modifyDate = data.getModifyDate();
                    Date updateTime = null;
                    if (!Cools.isEmpty(modifyDate)) {
                        updateTime = DateUtils.convert(data.getModifyDate());
                    }
                    if (null == mat) {
                        mat = new Mat(
                                String.valueOf(data.getRec()),    // 编号
                                null,    // 所属区域
                                null,    // 所属归类
                                data.getUserCode(),    // 商品编号
                                data.getFullName(),    // 商品名称
                                null,    // 名称
                                null,    // 规格
                                null,    // 型号
                                null,    // 批号
                                null,    // 单位
                                null,    // 条码
                                null,    // 单据类型
                                null,    // 单据编号
                                null,    // 客户名称
                                null,    // 品项数
                                null,    // 库存余量
                                null,    // 重量
                                1,    //
                                null,    // 添加人员
                                now,    // 添加时间
                                null,    // 修改人员
                                updateTime,    // 修改时间
                                null    // 备注
                        );
                        matService.insert(mat);
                    } else {
                        mat.setUuid(String.valueOf(data.getRec()));
                        mat.setMatnr(data.getUserCode());
                        mat.setMaktx(data.getFullName());
                        mat.setUpdateTime(updateTime);
                        matService.updateById(mat);
                    }
                    log.info("====>> 更新物料:{}", data.getUserCode());
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
        }
src/main/java/zy/cloud/wms/common/service/erp/entity/UploadStock.java
@@ -23,6 +23,6 @@
    private Integer dataSize;
    // 记录数据集
    private List<UploadStockDtel> data;
    private List<UploadStockDtel> detail;
}
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
@@ -29,4 +29,6 @@
    List<LocDetl> selectByPrior(@Param("matnr") String matnr, @Param("nodeId") Long nodeId);
    List<LocDetl> getLocDetlStatis();
}
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
@@ -46,4 +46,10 @@
     */
    Boolean isPrior(Long nodeId, String matnr);
    /**
     * 库存明细统计
     * @return
     */
    List<LocDetl> getLocDetlStatis();
}
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
@@ -103,5 +103,10 @@
        return priorService.selectCount(new EntityWrapper<Prior>().eq("matnr", matnr).eq("node_id", nodeId).eq("status", 1))>0;
    }
    @Override
    public List<LocDetl> getLocDetlStatis() {
        return this.baseMapper.getLocDetlStatis();
    }
}
src/main/resources/mapper/LocDetlMapper.xml
@@ -130,4 +130,14 @@
        order by mp.prio desc, mld.create_time asc
    </select>
    <select id="getLocDetlStatis" resultMap="BaseResultMap">
        select
        ROW_NUMBER() over (order by sum(a.anfme) desc) as row
        , a.matnr
        , sum(a.anfme) as anfme
        from man_loc_detl a
        where 1=1
        group by a.matnr
    </select>
</mapper>