自动化立体仓库 - WMS系统
#
LSH
2023-10-21 4da947497187262b4634befef891fab16ba33e6c
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -15,6 +15,7 @@
import com.zy.erp.kingdee.entity.param.InFormIdParam;
import com.zy.erp.kingdee.enums.KingDeeUtilType;
import com.zy.common.utils.HttpHandler;
import com.zy.erp.kingdee.utils.KingDeeUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -22,8 +23,6 @@
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.HashMap;
@@ -67,17 +66,12 @@
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //登录金蝶
        ReturnT<String> start = loginAuthenticationHandler.start();
        for(int i=0;i<docTypeService.selectCount(new EntityWrapper<>())+2;i++) {
        for(KingDeeUtilType kingDeeUtilType : KingDeeUtilType.values()) {
            InFormIdParam inFormIdParam = new InFormIdParam();
            KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get((short)i);
            if (Cools.isEmpty(kingDeeUtilType)){
                continue;
            }
            DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", kingDeeUtilType.desc));
            inFormIdParam.setFormId(kingDeeUtilType.formId);
            inFormIdParam.setLimit(100);
            inFormIdParam.setStartRow("0");
            Date time=new Date();
            String FDocumentStatus=null;
            //条件和需要获得的结果拼接
@@ -89,7 +83,7 @@
            if(inFormIdParam.getFormId().equals("BD_MATERIAL")){
                Tag tag = tagService.selectById(20);
                //最新时间
                time=tag.getCreateTime();
                Date time=tag.getCreateTime();
                //物料状态 FUseOrgId .FNumber
                FDocumentStatus="C";
                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(time)+"' and FDocumentStatus='"+FDocumentStatus+"' and FUseOrgId .FNumber='201'");
@@ -134,7 +128,7 @@
                JSONArray data = JSON.parseArray(response);
                if(data.size()<=0)  continue;
                if (data.getJSONArray(0).get(0).toString().length()>=20) continue;
                if (i == 0) {
                if (kingDeeUtilType.formId.equals("BD_MATERIAL")) {//物料档案
                    for (int j = 0; j < data.size(); j++) {
                        JSONArray jsonArray = data.getJSONArray(j);
                        //生成商品档案
@@ -148,11 +142,7 @@
                            mat.setSpecs(jsonArray.get(3).toString());//规格
                            mat.setTagId(20L);
                            //对美国时间进行转换
                            DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
                            DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
                            LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(2).toString(), formatter);
                            String format = dateFormat.format(dateTime);
                            Date date = sdf.parse(format);
                            Date date = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString());
                            mat.setCreateTime(date);//商品创建时间
                            mat.setUpdateTime(new Date());
                            mat.setStatus(1);
@@ -209,14 +199,10 @@
                                    now,    // 修改时间
                                    null    // 备注
                            );
                            //对美国时间进行转换
                            DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
                            DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
                            LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
                            String format = dateFormat.format(dateTime);
                            Date date = sdf.parse(format);
                            //最新抓取时间
                            docType.setCreateTime(date);
                            Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString());
                            docType.setCreateTime(jsonDate);
                            docTypeService.updateById(docType);
                            if (!orderService.insert(order)) {
                                throw new CoolException("生成单据主档失败,请联系管理员");
@@ -243,11 +229,7 @@
                        orderDetl.setUpdateTime(new Date());
                        orderDetl.setStatus(1);
                        orderDetl.setQty(0.0D);
                        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
                        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
                        LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
                        String format = dateFormat.format(dateTime);
                        Date date = sdf.parse(format);
                        Date date = KingDeeUtil.KingDeeDate(jsonArray.get(1).toString());
                        //最新抓取时间
                        docType.setCreateTime(date);
                        if (!orderDetlService.insert(orderDetl)) {