From 57f9a55581343a805cd589bbdc00e4d28a28aa97 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期一, 28 七月 2025 13:26:42 +0800 Subject: [PATCH] erp对接 --- src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java | 8 src/main/java/com/zy/asrs/entity/OrderDetl.java | 45 + src/main/java/com/zy/asrs/controller/OpenController.java | 2 src/main/java/com/zy/asrs/entity/result/OrderRsult.java | 50 ++ src/main/java/com/zy/asrs/controller/OrderDetlController.java | 77 +++ src/main/java/com/zy/asrs/entity/Order.java | 8 src/main/java/com/zy/asrs/entity/param/MatSyncParam.java | 17 src/main/webapp/static/js/orderDetl/orderDetl.js | 266 +++++++++--- src/main/java/com/zy/asrs/service/OpenService.java | 2 src/main/resources/mapper/OrderDetlMapper.xml | 1 /dev/null | 119 ----- src/main/java/com/zy/asrs/service/OrderDetlService.java | 4 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 124 ++--- src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 138 ++++++ src/main/java/com/zy/asrs/task/AutoReportingScheduler.java | 40 ++ src/main/webapp/views/orderDetl/orderDetl.html | 111 ++++- src/main/java/com/zy/common/model/DetlDto.java | 47 ++ src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 72 +- src/main/resources/application.yml | 43 - src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java | 12 20 files changed, 796 insertions(+), 390 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 5a442c2..6424fbb 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -121,7 +121,7 @@ @PostMapping("/pakout/execute/auth/v1") @AppAuth(memo = "娣诲姞璁㈠崟鍑哄簱") public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey, - @RequestBody OpenOrderPakoutParam param, + @RequestBody OpenOrderPakinParam param, HttpServletRequest request) { auth(appkey, param, request); if (Cools.isEmpty(param)) { diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java index 9b2e3d5..651099f 100644 --- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java +++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java @@ -9,22 +9,30 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.zy.asrs.entity.DocType; +import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.entity.param.OpenOrderPakinParam; +import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; +import com.zy.asrs.service.OrderService; +import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController public class OrderDetlController extends BaseController { @Autowired private OrderDetlService orderDetlService; + @Autowired + private OrderService orderService; + + @Autowired + private DocTypeService docTypeService; @RequestMapping(value = "/orderDetl/{id}/auth") @ManagerAuth @@ -45,7 +53,7 @@ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { wrapper.orderBy("create_time", false); } - wrapper.eq("status", 1); +// wrapper.eq("status", 1); Page<OrderDetl> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); return R.ok(orderDetlPage); } @@ -88,15 +96,68 @@ return R.ok(); } + /** + * 璁㈠崟鏄庣粏鎵嬪姩涓婃姤 + * @param ids 璁㈠崟鏄庣粏id + * @return + */ + @RequestMapping(value = "/orderDetl/manualReporting/auth") + @ManagerAuth + public R manualReporting(@RequestParam(value="ids[]") Long[] ids){ + R r = R.ok(); + for (Long id : ids){ + OrderDetl orderDetl = orderDetlService.selectById(id); + if(orderDetl.getAnfme().equals(orderDetl.getWorkQty())){ + return R.error("鐗╂枡缂栧彿={"+orderDetl.getMatnr()+"}瀹屾垚鏁伴噺鍜屼綔涓氭暟閲忎笉鐩稿悓鏃犳硶鎵嬪姩涓婃姤"); + } + if(!Cools.isEmpty(orderDetl.getUnits())&&orderDetl.getUnits().equals(orderDetl.getAnfme())){ + r= R.error("涓婃姤鏁伴噺鍜屽畬鎴愭暟閲忎竴鑷寸姝笂鎶�"); + } + r = orderDetlService.U8Reporting(id, 1); + } + return r; + } + + /** + * 璁㈠崟鏄庣粏鍏抽棴 + * @param ids 璁㈠崟鏄庣粏id + * @return + */ @RequestMapping(value = "/orderDetl/delete/auth") @ManagerAuth public R delete(@RequestParam(value="ids[]") Long[] ids){ + R r = R.ok(); for (Long id : ids){ - orderDetlService.deleteById(id); - } - return R.ok(); + OrderDetl orderDetl = orderDetlService.selectById(id); + if(orderDetl.getAnfme().equals(orderDetl.getWorkQty())){ + return R.error("鐗╂枡缂栧彿={"+orderDetl.getMatnr()+"}瀹屾垚鏁伴噺鍜屼綔涓氭暟閲忎笉鐩稿悓鏃犳硶鍏抽棴"); + } + r = orderDetlService.U8Reporting(id, 0); + } + return r; } + /** + * 璁㈠崟鏄庣粏鍚敤 + * @param ids 璁㈠崟鏄庣粏id + * @return + */ + @RequestMapping(value = "/orderDetl/enable/auth") + @ManagerAuth + public R enable(@RequestParam(value="ids[]") Long[] ids){ + R r = R.ok(); + for (Long id : ids){ +// OrderDetl orderDetl = orderDetlService.selectById(id); +// if(orderDetl.getAnfme().equals(orderDetl.getWorkQty())){ +// return R.error("鐗╂枡缂栧彿={"+orderDetl.getMatnr()+"}瀹屾垚鏁伴噺鍜屼綔涓氭暟閲忎笉鐩稿悓鏃犳硶鍚敤"); +// } + r = orderDetlService.U8Reporting(id, 1); + } + return r; + } + + + @RequestMapping(value = "/orderDetl/export/auth") @ManagerAuth public R export(@RequestBody JSONObject param){ diff --git a/src/main/java/com/zy/asrs/entity/Order.java b/src/main/java/com/zy/asrs/entity/Order.java index 5aebc90..c5a8bed 100644 --- a/src/main/java/com/zy/asrs/entity/Order.java +++ b/src/main/java/com/zy/asrs/entity/Order.java @@ -200,16 +200,16 @@ private Date sendTime; /** - * 鐗╂祦鍚嶇О + * 鐩爣浠撳簱 */ - @ApiModelProperty(value= "鐗╂祦鍚嶇О") + @ApiModelProperty(value= "鐩爣浠撳簱") @TableField("ship_name") private String shipName; /** - * 鐗╂祦鍗曞彿 + * 婧愪粨搴� */ - @ApiModelProperty(value= "鐗╂祦鍗曞彿") + @ApiModelProperty(value= "婧愪粨搴�") @TableField("ship_code") private String shipCode; diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java index f08621d..3c740bb 100644 --- a/src/main/java/com/zy/asrs/entity/OrderDetl.java +++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.enums.IdType; import com.core.common.Cools; import com.core.common.SpringUtils; +import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderService; import com.zy.common.utils.Synchro; import com.zy.system.entity.User; @@ -17,6 +18,7 @@ import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Objects; @Data @TableName("man_order_detl") @@ -132,9 +134,9 @@ private String sku; /** - * 鍗曚綅閲� + * 涓婃姤鏁伴噺 */ - @ApiModelProperty(value= "鍗曚綅閲�") + @ApiModelProperty(value= "涓婃姤鏁伴噺") private Double units; /** @@ -242,9 +244,9 @@ private Integer source; /** - * 瑕佹眰妫�楠� 1: 鏄� 0: 鍚� + * 鏄惁涓婃姤 1: 鏄� 0: 鍚� 2: 绛夊緟涓婃姤 */ - @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄� 0: 鍚� ") + @ApiModelProperty(value= "鏄惁涓婃姤 1: 鏄� 0: 鍚� 2: 绛夊緟涓婃姤") private Integer inspect; /** @@ -386,18 +388,6 @@ } } - public String getDanger$(){ - if (null == this.danger){ return null; } - switch (this.danger){ - case 1: - return "鏄�"; - case 0: - return "鍚�"; - default: - return String.valueOf(this.danger); - } - } - public String getStatus$(){ if (null == this.status){ return null; } switch (this.status){ @@ -463,4 +453,27 @@ Synchro.Copy(source, this); } + public String getAnfme$(){ + if(Objects.equals(this.qty, this.anfme)){ + return "宸插畬鎴�"; + }else if(this.workQty==0){ + return "寰呭鐞�"; + }else if(this.anfme>this.qty){ + return "浣滀笟涓�"; + }else if(this.anfme<this.qty){ + return "寮傚父"; + } + return ""; + } + + public String getDanger$(){ + DocTypeService service = SpringUtils.getBean(DocTypeService.class); + OrderService orderServicer=SpringUtils.getBean(OrderService.class); + Order order = orderServicer.selectByNo(this.orderNo); + DocType docType = service.selectById(order.getDocType()); + if (!Cools.isEmpty(docType)){ + return String.valueOf(docType.getDocName()); + } + return null; + } } \ No newline at end of file diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java index 7ed973a..d9b16b4 100644 --- a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java +++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java @@ -1,7 +1,11 @@ package com.zy.asrs.entity.param; +import com.baomidou.mybatisplus.annotations.TableField; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; +import java.util.Date; import java.util.List; /** @@ -146,7 +150,7 @@ private String color; /** - * 鍝佺墝 + * 閫氱敤 */ private String brand; @@ -251,7 +255,7 @@ private Integer source; /** - * 瑕佹眰妫�楠� 1: 鏄� 0: 鍚� + * 鏄惁鍚敤 1: 鏄� 0: 鍚� */ private Integer inspect; @@ -284,6 +288,15 @@ * 鏁伴噺 */ private Double anfme; + + /** + * 鍚敤鏃堕棿 + */ + @ApiModelProperty(value= "鍚敤鏃堕棿") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date suspensionDate; + + } } diff --git a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java index 36282b2..837d505 100644 --- a/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java +++ b/src/main/java/com/zy/asrs/entity/param/OpenOrderPakinParam.java @@ -12,18 +12,26 @@ */ @Data public class OpenOrderPakinParam { + private String billType; private String orderNo; private String orderType; - - private String billType; private String orderTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; + /** + * 鐩爣浠撳簱 + */ + private String targetWarehouse; + + /** + * 婧愪粨搴� + */ + private String sourceWarehouse; private List<DetlDto> matList; diff --git a/src/main/java/com/zy/asrs/entity/result/OrderRsult.java b/src/main/java/com/zy/asrs/entity/result/OrderRsult.java new file mode 100644 index 0000000..8237e2f --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/result/OrderRsult.java @@ -0,0 +1,50 @@ +package com.zy.asrs.entity.result; + +import com.zy.asrs.entity.param.OpenOrderPakinParam; +import lombok.Data; + +import java.util.List; + +@Data +public class OrderRsult { + public OrderRsult.Login login; + public String vouchName; + public String commandType; + public String verifier; + public List<OrderRsult.HeadTable> headTable; + public List<OrderRsult.BodyTable> bodyTable; + + @Data + public static class Login { + public String sAccID; + public String sUserID; + public String sPassword; + public String sServer; + } + + @Data + public static class HeadTable { + public String ctvcode; + public String dtvdate; + public String cmaker; + public String vt_id; + public String ciwhcode; + public String cowhcode; + public String cordcode; + public String cirdcode; + public String codepcode; + public String cidepcode; + } + + @Data + public static class BodyTable { + public String irowno; + public String cinvcode; + public String ctvbatch; + public String itvquantity; + public String cinposcode; + public String coutposcode; + public String itrsid; + public String editprop; + } +} diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java index 318c3d4..b11d48b 100644 --- a/src/main/java/com/zy/asrs/service/OpenService.java +++ b/src/main/java/com/zy/asrs/service/OpenService.java @@ -21,7 +21,7 @@ /** * 娣诲姞鍏ュ簱鍗� */ - void pakoutOrderCreate(OpenOrderPakoutParam param); + void pakoutOrderCreate(OpenOrderPakinParam param); /** * 鍏ュ簱鍗曞洖鍐� diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java index ecf08d2..78f0625 100644 --- a/src/main/java/com/zy/asrs/service/OrderDetlService.java +++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.IService; +import com.core.common.R; import com.zy.asrs.entity.OrderDetl; import java.util.List; @@ -37,4 +38,7 @@ * @return */ boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty); + + R U8Reporting(long id,Integer sts); + } diff --git a/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java index b2e31d1..503bf9a 100644 --- a/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java @@ -10,7 +10,6 @@ import com.zy.asrs.mapper.CheckDetlMapper; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.CheckDetlService; -import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler; import com.zy.common.utils.HttpHandler; import javafx.print.Printer; import lombok.extern.slf4j.Slf4j; @@ -28,18 +27,15 @@ @Service @Slf4j public class CheckDetlServiceImpl extends ServiceImpl<CheckDetlMapper, CheckDetl> implements CheckDetlService { - @Value("${erp.newaddress.UPLOADURL}") + @Value("${erp.address.URL}") //绔彛 private String URL; - @Value("${erp.newaddress.uploadaddressSubmit}") + @Value("${erp.address.outaddressSave}") private String uploadAddress; @Autowired private CheckDetlService checkDetlService; @Autowired private ApiLogService apiLogService; - - @Autowired - private LoginAuthenticationHandler loginAuthenticationHandler; @Override diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index d0bba2e..fbc71c2 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -87,8 +87,8 @@ null, // 閭垂 null, // 浠樻鏃堕棿 null, // 鍙戣揣鏃堕棿 - null, // 鐗╂祦鍚嶇О - null, // 鐗╂祦鍗曞彿 + param.getTargetWarehouse(), // 鐩爣浠撳簱 + param.getSourceWarehouse(), // 婧愪粨搴� 1L, // 璁㈠崟鐘舵�� 1, // 鐘舵�� 9527L, // 娣诲姞浜哄憳 @@ -101,19 +101,19 @@ throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); - List<DetlDto> orderDetails = param.getMatList(); - for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { +// List<DetlDto> list = new ArrayList<>(); +// List<DetlDto> orderDetails = param.getMatList(); +// for (DetlDto detail : orderDetails) { +// DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); +// if (DetlDto.has(list, dto)) { +// DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); +// assert detlDto != null; +// detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); +// } else { +// list.add(dto); +// } +// } + for (DetlDto detlDto : param.getMatList()) { Mat mat = matService.selectByMatnr(detlDto.getMatnr()); if (Cools.isEmpty(mat)) { throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); @@ -130,6 +130,8 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setWorkQty(0.0D); + orderDetl.setUnits(0.0); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -184,7 +186,7 @@ @Override @Transactional - public void pakoutOrderCreate(OpenOrderPakoutParam param) { + public void pakoutOrderCreate(OpenOrderPakinParam param) { Order order = orderService.selectByNo(param.getOrderNo()); // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹� if (!Cools.isEmpty(order)) { @@ -222,8 +224,8 @@ null, // 閭垂 null, // 浠樻鏃堕棿 null, // 鍙戣揣鏃堕棿 - null, // 鐗╂祦鍚嶇О - null, // 鐗╂祦鍗曞彿 + param.getTargetWarehouse(), // 鐗╂祦鍚嶇О + param.getSourceWarehouse(), // 鐗╂祦鍗曞彿 1L, // 璁㈠崟鐘舵�� 1, // 鐘舵�� 9527L, // 娣诲姞浜哄憳 @@ -236,19 +238,19 @@ throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); - List<DetlDto> orderDetails = param.getMatList(); - for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { +// List<DetlDto> list = new ArrayList<>(); +// List<DetlDto> orderDetails = param.getMatList(); +// for (DetlDto detail : orderDetails) { +// DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); +// if (DetlDto.has(list, dto)) { +// DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); +// assert detlDto != null; +// detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); +// } else { +// list.add(dto); +// } +// } + for (DetlDto detlDto : param.getMatList()) { Mat mat = matService.selectByMatnr(detlDto.getMatnr()); if (Cools.isEmpty(mat)) { throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); @@ -265,6 +267,8 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setWorkQty(0.0D); + orderDetl.setUnits(0.0); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } @@ -584,9 +588,9 @@ mat.sync(matParam); // mat.setTagId(tagId); - mat.setStatus(1); + mat.setStatus(matParam.getInspect()); mat.setCreateTime(now); - mat.setUpdateTime(now); + mat.setUpdateTime(matParam.getSuspensionDate());//鍚敤鏃堕棿 if (!matService.insert(mat)) { throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } else { @@ -596,6 +600,8 @@ Tag priTag = tagService.selectByName(matParam.getTagIdName(), 2); matParam.setTagId(priTag.getId()); mat.sync(matParam); // 鈿狅笍 鍚屼笂 + mat.setUpdateTime(matParam.getSuspensionDate());//鍚敤鏃堕棿 + mat.setStatus(matParam.getInspect()); if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) { throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); } diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java index 327edbb..693b9b9 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java @@ -1,18 +1,54 @@ package com.zy.asrs.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.Cools; +import com.core.common.R; +import com.core.common.SpringUtils; +import com.core.exception.CoolException; +import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.param.OpenOrderPakinParam; +import com.zy.asrs.entity.result.OrderRsult; import com.zy.asrs.mapper.OrderDetlMapper; import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.OrderDetlService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.service.OrderService; +import com.zy.common.model.DetlDto; +import com.zy.common.utils.HttpHandler; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.text.Format; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; import java.util.List; +@Slf4j @Service("orderDetlService") public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService { + + @Autowired + private OrderService orderService; + @Autowired + private OrderDetlService orderDetlService; + + @Autowired + private ApiLogService apiLogService; + @Value("${erp.switch.ReviewOrderSwitch}") + private Boolean switchReviewOrderSwitch; + @Value("${erp.address.URL}") + private String URL; + @Value("${erp.address.inaddressSave}") + private String inaddressSave; + @Value("${erp.address.outaddressSave}") + private String outaddressSave; @Override public List<OrderDetl> selectByOrderId(Long orderId) { @@ -90,4 +126,106 @@ public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) { return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0; } + + @Override + public R U8Reporting(long id, Integer sts) { + String ERPPath=inaddressSave; + String ERPName=""; + OrderDetl orderDetl = orderDetlService.selectById(id); + Order order = orderService.selectByNo(orderDetl.getOrderNo()); + if (order==null){ + return R.error("娌℃湁鎵惧埌鏀硅鍗� id="+id); + } + OrderRsult orderRsult = new OrderRsult(); + OrderRsult.Login login = new OrderRsult.Login(); + OrderRsult.HeadTable headTable = new OrderRsult.HeadTable(); + OrderRsult.BodyTable bodyTable = new OrderRsult.BodyTable(); + login.setSAccID("999"); //璐﹀鍙� 鍥哄畾 + login.setSUserID("sys");//U8鐧婚檰璐﹀彿 鍥哄畾 + login.setSPassword("123456");//U8鐧婚檰瀵嗙爜 鍥哄畾 + login.setSServer("10.1.9.20");//U8鏈嶅姟鍣ㄥ湴鍧�銆�鍥哄畾 + orderRsult.setLogin(login); + orderRsult.setVerifier("sys");//鍗曟嵁绫诲瀷銆� 鍥哄畾 + orderRsult.setCommandType(sts.equals(1) ? "鏂板" : "鍏抽棴");//鎿嶄綔绫诲瀷 銆�鍥哄畾 + orderRsult.setVouchName("璋冩嫧鍗�");//瀹℃牳浜� 濉啓鍒欒嚜鍔ㄥ鏍� + + headTable.setCtvcode(order.getOrderNo());//璋冩嫧鍗曞彿銆� 榛樿 + //鏃堕棿 + Date date=new Date(); + Format formatter = new SimpleDateFormat("yyyy-MM-dd"); + String format = formatter.format(date); + headTable.setDtvdate(format);//鍗曟嵁鏃ユ湡 + headTable.setCmaker("sys");//鍒跺崟浜哄悕绉� + headTable.setVt_id("89");//妯℃澘鍙� 榛樿 + + headTable.setCiwhcode("");//杞叆浠撳簱缂栫爜 + headTable.setCowhcode("");//杞嚭浠撳簱缂栫爜 + headTable.setCordcode("");//鍑哄簱绫诲埆缂栫爜 榛樿 + headTable.setCirdcode("");//鍏ュ簱绫诲埆缂栫爜 榛樿 + headTable.setCodepcode("");//杞嚭閮ㄩ棬缂栫爜 + headTable.setCidepcode("");//杞叆閮ㄩ棬缂栫爜 + + + + bodyTable.setIrowno(orderDetl.getModel());//琛屽彿 + bodyTable.setCinvcode(orderDetl.getMatnr());//瀛樿揣缂栫爜 + bodyTable.setCtvbatch(Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch());//鎵瑰彿锛堢壒娈婅鏄庯級 + Double qty = orderDetl.getQty()-(Cools.isEmpty(orderDetl.getUnits())?0:orderDetl.getUnits()); + bodyTable.setItvquantity(String.valueOf(qty));//瀹屾垚浠舵暟 + bodyTable.setCinposcode("1-1");//绔嬪簱婧愯揣浣� + bodyTable.setCoutposcode("");//鐩爣璐т綅 + bodyTable.setItrsid(orderDetl.getMemo());//琛屼富閿� + bodyTable.setEditprop(sts.equals(1) ? "A" : "B");//鐘舵�� A 鏂板 + + + if (order.getDocType()>10L) { + ERPPath=outaddressSave; + } + ERPName=order.getDocType$(); + String response = ""; + boolean success = false; + try { + + response = new HttpHandler.Builder() +// .setHeaders(map) + .setUri(URL) + .setPath(ERPPath) + .setJson(JSON.toJSONString(orderRsult)) + .build() + .doPost(); + System.out.println("response:"+response); + JSONObject jsonObject = JSON.parseObject(response); + + if (jsonObject.getInteger("code").equals(200)) { + orderDetl.setUnits(qty+orderDetl.getUnits()); + orderDetl.setStatus(sts); + orderDetlService.updateById(orderDetl); + success = true; + } else { + log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+ERPPath, JSON.toJSONString(orderRsult), response); + } + } catch (Exception e) { + log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+ERPPath, JSON.toJSONString(orderRsult), response); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class); + apiLogService.save( + "涓婃姤"+ERPName, + URL +"/"+ ERPPath, + null, + "127.0.0.1", + JSON.toJSONString(orderRsult), + response, + success + ); + } catch (Exception e) { + log.error("", e); + } + } + if (!success) { + return R.error(); + } + return R.ok(); + } } diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index ea85279..2d7c4fa 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -19,6 +19,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Objects; @Slf4j @Service("orderService") @@ -70,31 +71,16 @@ break; } } - if (complete) { - // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏 - DocType docType = docTypeService.selectById(order.getDocType()); - if (null != docType && docType.getPakout() == 1) { - if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { - throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�"); - } - List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo); - for (WrkDetl wrkDetl : wrkDetls) { - OrderDetl orderDetl = new OrderDetl(); - orderDetl.sync(wrkDetl); - orderDetl.setQty(orderDetl.getAnfme()); - orderDetl.setOrderId(order.getId()); - orderDetl.setOrderNo(orderNo); - orderDetl.setStatus(1); - orderDetl.setCreateTime(order.getCreateTime()); - orderDetl.setCreateBy(order.getCreateBy()); - orderDetl.setUpdateTime(order.getUpdateTime()); - orderDetl.setUpdateBy(order.getUpdateBy()); - if (!orderDetlService.insert(orderDetl)) { - throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�"); - } - } + //褰撹璁㈠崟鏄庣粏鏁伴噺==瀹屾垚鏁伴噺涓�>涓婃姤鏁伴噺锛屼笂鎶ョ姸鎬佷负 鍚� 鎴栬�� 鏄� 鏃堕兘鏀规垚绛夊緟涓婃姤锛屽畾鏃跺櫒杞绛夊緟涓婃姤杩涜涓婃姤 + for (OrderDetl orderDetl : orderDetls) { + if (Objects.equals(orderDetl.getAnfme(), orderDetl.getQty())&& + orderDetl.getQty()>orderDetl.getUnits() + &&orderDetl.getInspect()<2) { + orderDetl.setInspect(2);//绛夊緟涓婃姤 + orderDetlService.updateById(orderDetl); } - + } + if (complete) { if (!this.updateSettle(order.getId(), 4L, null)) { throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�"); } @@ -104,51 +90,51 @@ @Override public boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls) { - try { - List<DetlDto> detlDtos = new ArrayList<>(); - wrkDetls.forEach(wrkDetl -> { - detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())); - }); - String orderNo = "HAND" + snowflakeIdWorker.nextId(); - if (pakin) { - // 鐢熸垚鍏ュ簱鍗曟嵁 - OpenOrderPakinParam openParam = new OpenOrderPakinParam(); - openParam.setOrderNo(orderNo); - openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime())); - openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�"); - openParam.setMatList(detlDtos); - openService.pakinOrderCreate(openParam); - } else { - // 鐢熸垚鍑哄簱鍗曟嵁 - OpenOrderPakoutParam openParam = new OpenOrderPakoutParam(); - openParam.setOrderNo(orderNo); - openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime())); - openParam.setOrderType("鎵嬪姩鍑哄簱鍗�"); - openParam.setOrderDetails(detlDtos); - openService.pakoutOrderCreate(openParam); - } - - Order order = this.selectByNo(orderNo); - if (null == order) { - throw new CoolException("鐢熸垚鍗曟嵁澶辫触"); - } - if (!this.updateSettle(order.getId(), 4L, null)) { - throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�"); - } - for (DetlDto detlDto : detlDtos) { - // 淇敼璁㈠崟鏄庣粏鏁伴噺 - if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { - throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触"); - } - // 淇敼璁㈠崟浣滀笟鏁伴噺 - if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { - throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); - } - } - } catch (Exception e) { - log.error("saveHandlerOrder===>>", e); - return false; - } +// try { +// List<DetlDto> detlDtos = new ArrayList<>(); +// wrkDetls.forEach(wrkDetl -> { +// detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())); +// }); +// String orderNo = "HAND" + snowflakeIdWorker.nextId(); +// if (pakin) { +// // 鐢熸垚鍏ュ簱鍗曟嵁 +// OpenOrderPakinParam openParam = new OpenOrderPakinParam(); +// openParam.setOrderNo(orderNo); +// openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime())); +// openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�"); +// openParam.setMatList(detlDtos); +// openService.pakinOrderCreate(openParam); +// } else { +// // 鐢熸垚鍑哄簱鍗曟嵁 +// OpenOrderPakoutParam openParam = new OpenOrderPakoutParam(); +// openParam.setOrderNo(orderNo); +// openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime())); +// openParam.setOrderType("鎵嬪姩鍑哄簱鍗�"); +// openParam.setOrderDetails(detlDtos); +// openService.pakoutOrderCreate(openParam); +// } +// +// Order order = this.selectByNo(orderNo); +// if (null == order) { +// throw new CoolException("鐢熸垚鍗曟嵁澶辫触"); +// } +// if (!this.updateSettle(order.getId(), 4L, null)) { +// throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�"); +// } +// for (DetlDto detlDto : detlDtos) { +// // 淇敼璁㈠崟鏄庣粏鏁伴噺 +// if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { +// throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触"); +// } +// // 淇敼璁㈠崟浣滀笟鏁伴噺 +// if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) { +// throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); +// } +// } +// } catch (Exception e) { +// log.error("saveHandlerOrder===>>", e); +// return false; +// } return true; } diff --git a/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java b/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java new file mode 100644 index 0000000..ae1b1d7 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java @@ -0,0 +1,40 @@ +package com.zy.asrs.task; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.service.OrderDetlService; +import com.zy.asrs.service.OrderService; +import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.task.handler.WorkMastHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +public class AutoReportingScheduler { + + private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); + + private OrderService orderService; + + private OrderDetlService orderDetlService; + + @Scheduled(cron = "0/3 * * * * ? ") + private void execute(){ + List< OrderDetl> orderDetls=orderDetlService.selectList(new EntityWrapper<OrderDetl>() + .eq("status",1) + .eq("inspect",2)); + if(Cools.isEmpty(orderDetls)){ + return; + } + for (OrderDetl orderDetl : orderDetls) { + orderDetlService.U8Reporting(orderDetl.getId(),1); + } + } +} diff --git a/src/main/java/com/zy/asrs/task/OrderReportScheduler.java b/src/main/java/com/zy/asrs/task/OrderReportScheduler.java deleted file mode 100644 index e29a65d..0000000 --- a/src/main/java/com/zy/asrs/task/OrderReportScheduler.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.zy.asrs.task; -import com.zy.asrs.task.handler.OrderMoveHistoryHandler; -import com.zy.asrs.task.handler.OrderReportHander; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -@Component -public class OrderReportScheduler { - - @Autowired - private OrderReportHander orderReportHander; - /** - * 灏嗗凡浣滀笟鏁伴噺涓庡畬鎴愭暟閲忕浉鍚岀殑璁㈠崟鏄庣粏涓婃姤锛岃嫢宸蹭笂鎶ュ皢鏍囪瘑鏀逛负2 - */ -// @Scheduled(cron = "0/30 * * * * ?") - public void execute(){ - orderReportHander.startPakIn(); - orderReportHander.startPakOut(); - } -} diff --git a/src/main/java/com/zy/asrs/task/handler/OrderReportHander.java b/src/main/java/com/zy/asrs/task/handler/OrderReportHander.java deleted file mode 100644 index 8f8d70c..0000000 --- a/src/main/java/com/zy/asrs/task/handler/OrderReportHander.java +++ /dev/null @@ -1,300 +0,0 @@ -package com.zy.asrs.task.handler; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.core.common.Cools; -import com.zy.asrs.entity.DocType; -import com.zy.asrs.entity.Order; -import com.zy.asrs.entity.OrderDetl; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.DocTypeService; -import com.zy.asrs.service.OrderDetlService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.task.AbstractHandler; -import com.zy.asrs.task.core.ReturnT; -import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler; -import com.zy.common.utils.HttpHandler; -import com.zy.erp.kingdee.enums.KingDeeUtilType; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import java.text.SimpleDateFormat; -import java.util.*; - - -@Service -@Slf4j -public class OrderReportHander extends AbstractHandler<String> { - - @Value("${erp.address.URL}") - //绔彛 - private String URL; - -// @Value("${erp.address.inaddressSave}") -// //涓婃姤鍏ュ簱鍦板潃 -// private String inaddressSave; - @Value("${erp.address.outaddressSave}") - //涓婃姤鍑哄叆搴撳湴鍧� - private String outaddressSave; - @Autowired - private OrderService orderService; - @Autowired - private OrderDetlService orderDetlService; - @Autowired - private ApiLogService apiLogService; - @Autowired - private DocTypeService docTypeService; - @Autowired - private LoginAuthenticationHandler loginAuthenticationHandler; - - public ReturnT<String> startPakIn() { - // 鏌ュ嚭鎵�鏈夋暟鎹叆搴撳崟 - List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("doc_type", 34)); - for(Order order : orderList){ - List<OrderDetl> orderMemoList = orderDetlService.selectList(new EntityWrapper<OrderDetl>() - .isNull("memo") - .eq("order_No", order.getOrderNo()));//memo涓虹┖琛ㄧず浠嶆湭涓婃姤 - - List<OrderDetl> toReportList = new ArrayList<>(); - - // 寰幆鍒ゆ柇 anfme 鍜� qty 鏄惁鐩哥瓑锛岀浉绛夊垯琛ㄧず宸插畬鎴愬叆搴� - for (OrderDetl orderDetl : orderMemoList) { - if (orderDetl.getAnfme() != null && orderDetl.getQty() != null - && orderDetl.getAnfme().doubleValue() == orderDetl.getQty().doubleValue()) { - toReportList.add(orderDetl); - } - } - - // 濡傛灉鏈夌鍚堟潯浠剁殑鏁版嵁锛屾墽琛屼笂鎶� - if (!toReportList.isEmpty()) { - boolean flag = reportPakIn(toReportList); - if(flag){ - for (OrderDetl detl : toReportList) { - detl.setMemo("1"); - orderDetlService.updateById(detl); - log.info("宸插畬鎴愬崟鎹笂鎶� =====> " + detl); - } - } else { - log.warn("鍏ュ簱涓婃姤澶辫触锛屾湭鏇存柊鏄庣粏 memo涓婃姤 鏍囧織"); - } - } - } - - return SUCCESS; - } - - private boolean reportPakIn(List<OrderDetl> orderDetls) { - - Date now = new Date(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - // 鏋勫缓涓诲崟 JSON 鏁版嵁 - JSONObject requestBody = new JSONObject(); - requestBody.put("billType", "鍏ュ簱鍗�"); - - // 浠庣涓�涓槑缁嗕腑鎻愬彇璁㈠崟鍙风瓑淇℃伅 - if (!orderDetls.isEmpty()) { - OrderDetl first = orderDetls.get(0); - requestBody.put("orderNo", first.getOrderNo()); - } - - requestBody.put("createTime", sdf.format(now)); - - // 鏋勫缓鐗╂枡鍒楄〃 - JSONArray matList = new JSONArray(); - for (OrderDetl detl : orderDetls) { - JSONObject mat = new JSONObject(); - mat.put("matnr", detl.getMatnr()); - mat.put("maktx", detl.getMaktx()); - mat.put("batch", detl.getBatch()); - mat.put("qty", detl.getQty()); - mat.put("anfme", detl.getAnfme()); - mat.put("units", detl.getUnits()); - matList.add(mat); - } - - requestBody.put("matList", matList); - - // 鍙戦�� POST 璇锋眰 - String response = ""; - boolean success = false; - try { - HashMap<String, Object> headers = new HashMap<>(); - // cookie - headers.put("Cookie", loginAuthenticationHandler.start().getContent()); - - response = new HttpHandler.Builder() - .setHeaders(headers) - .setUri(URL) - .setPath(outaddressSave) // 璁剧疆浣犵殑鎺ュ彛璺緞 - .setJson(requestBody.toJSONString()) - .build() - .doPost(); - - JSONObject data = JSON.parseObject(response); - Object isSuccess = findValueByKey(data, "IsSuccess"); - String bool = isSuccess != null ? isSuccess.toString() : "false"; - - if ("true".equals(bool)) { - success = true; - } - } catch (Exception e) { - log.error("涓婃姤ERP澶辫触", e); - } finally { - try { - apiLogService.save( - "鍏ュ簱涓婃姤", - URL + outaddressSave, - null, - "127.0.0.1", - requestBody.toJSONString(), - response, - success - ); - } catch (Exception e) { - log.error("鏃ュ織淇濆瓨澶辫触", e); - } - } - return success; - } - - public ReturnT<String> startPakOut() { - // 鎵�鏈夋暟鎹嚭搴撳崟 - List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("doc_type", 33)); - for(Order order : orderList){ - List<OrderDetl> orderMemoList = orderDetlService.selectList(new EntityWrapper<OrderDetl>() - .isNull("memo") - .eq("order_No", order.getOrderNo())); - - List<OrderDetl> toReportList = new ArrayList<>(); - - // 寰幆鍒ゆ柇 anfme 鍜� qty 鏄惁鐩哥瓑 - for (OrderDetl orderDetl : orderMemoList) { - if (orderDetl.getAnfme() != null && orderDetl.getQty() != null - && orderDetl.getAnfme().doubleValue() == orderDetl.getQty().doubleValue()) { - toReportList.add(orderDetl); - } - } - - // 濡傛灉鏈夌鍚堟潯浠剁殑鏁版嵁锛屾墽琛屼笂鎶� - if (!toReportList.isEmpty()) { - boolean flag = reportPakOut(toReportList); - if(flag){ - for (OrderDetl detl : toReportList) { - detl.setMemo("1"); - orderDetlService.updateById(detl); - log.info("宸插畬鎴愬崟鎹笂鎶� =====> " + detl); - } - } else { - log.warn("鍑哄簱涓婃姤澶辫触锛屾湭鏇存柊鏄庣粏 memo 鏍囧織"); - } - } - } - - return SUCCESS; - } - - private boolean reportPakOut(List<OrderDetl> orderDetls) { - - Date now = new Date(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - // 鏋勫缓涓诲崟 JSON 鏁版嵁 - JSONObject requestBody = new JSONObject(); - requestBody.put("billType", "鍑哄簱鍗�"); - - // 浠庣涓�涓槑缁嗕腑鎻愬彇璁㈠崟鍙风瓑淇℃伅 - if (!orderDetls.isEmpty()) { - OrderDetl first = orderDetls.get(0); - requestBody.put("orderNo", first.getOrderNo()); - } - - requestBody.put("createTime", sdf.format(now)); - - // 鏋勫缓鐗╂枡鍒楄〃 - JSONArray matList = new JSONArray(); - for (OrderDetl detl : orderDetls) { - JSONObject mat = new JSONObject(); - mat.put("matnr", detl.getMatnr()); - mat.put("maktx", detl.getMaktx()); - mat.put("batch", detl.getBatch()); - mat.put("qty", detl.getQty()); - mat.put("anfme", detl.getAnfme()); - mat.put("units", detl.getUnits()); - matList.add(mat); - } - - requestBody.put("matList", matList); - - // 鍙戦�� POST 璇锋眰 - String response = ""; - boolean success = false; - try { - HashMap<String, Object> headers = new HashMap<>(); - //cookie - headers.put("Cookie", loginAuthenticationHandler.start().getContent()); - - response = new HttpHandler.Builder() - .setHeaders(headers) - .setUri(URL) - .setPath(outaddressSave) // 璁剧疆浣犵殑鎺ュ彛璺緞 - .setJson(requestBody.toJSONString()) - .build() - .doPost(); - - JSONObject data = JSON.parseObject(response); - Object isSuccess = findValueByKey(data, "IsSuccess"); - String bool = isSuccess != null ? isSuccess.toString() : "false"; - - if ("true".equals(bool)) { - success = true; - } - } catch (Exception e) { - log.error("涓婃姤ERP澶辫触", e); - } finally { - try { - apiLogService.save( - "鍑哄簱涓婃姤", - URL + outaddressSave, - null, - "127.0.0.1", - requestBody.toJSONString(), - response, - success - ); - } catch (Exception e) { - log.error("鏃ュ織淇濆瓨澶辫触", e); - } - } - return success; - } - - public static Object findValueByKey(JSONObject json, String key) { - Set<String> keySet = json.keySet(); - for (String k : keySet) { - Object v = json.get(k); - if (k.equals(key)) { - return v; - } else if (v instanceof JSONArray) { - int size = ((JSONArray) v).size(); - for (int i = 0; i <= size - 1; i++) { - Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key); - if (result != null){ - return result; - } - } - } else if (v instanceof JSONObject){ - Object result = findValueByKey((JSONObject) v, key); - if (result != null){ - return result; - } - } - } - return null; - } - - -} diff --git a/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java deleted file mode 100644 index 2955277..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/InboundOrderScheduler.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.zy.asrs.task.kingdee; - -import com.zy.asrs.task.kingdee.handler.InboundOrderHandler; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -public class InboundOrderScheduler { - - @Autowired - private InboundOrderHandler inboundOrderHandler; - @Value("${erp.switch.InboundOrderSwitch}") - private boolean InboundOrderSwitch; - - @Scheduled(cron = "0/3 * * * * ? ") - void login(){ - if(!InboundOrderSwitch){ - return; - } - inboundOrderHandler.start(); - } - -} diff --git a/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java deleted file mode 100644 index 8b7be90..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/LoginAuthenticationScheduler.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.zy.asrs.task.kingdee; - -import com.zy.asrs.task.kingdee.handler.LoginAuthenticationHandler; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -public class LoginAuthenticationScheduler { - - @Autowired - private LoginAuthenticationHandler loginAuthenticationHandler; - @Value("${erp.switch.LoginAuthenticationSwitch}") - private boolean LoginAuthenticationSwitch; - - //@Scheduled(cron = "0/3 * * * * ? ") - void login(){ - if(!LoginAuthenticationSwitch){ - return; - } - loginAuthenticationHandler.start(); - } -} diff --git a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java deleted file mode 100644 index 2767e9f..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/ReviewOrderSyncScheduler.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.zy.asrs.task.kingdee; - -import com.zy.asrs.entity.Order; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.task.core.ReturnT; -import com.zy.asrs.task.kingdee.handler.ReviewOrderSyncHandler; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.util.List; - -/** - * Created by vincent on 2023/10/21 - */ -@Slf4j -@Component -public class ReviewOrderSyncScheduler { - - @Autowired - private ReviewOrderSyncHandler reviewOrderSyncHandler; - @Autowired - private OrderService orderService; - - @Value("${erp.switch.ReviewOrderSwitch}") - private boolean ReviewOrderSwitch; - - @Scheduled(cron = "0/3 * * * * ? ") - @Async("orderThreadPool") - public void completeAndReport(){ - if(!ReviewOrderSwitch){ - return; - } - List<Order> orders = orderService.selectComplete(); - for (Order order : orders) { - ReturnT<String> result = reviewOrderSyncHandler.start(order); - if (!result.isSuccess()) { - log.error("鍗曟嵁[orderNo={}]鍚慹rp瀹℃牳澶辫触", order.getOrderNo()); - } - } - } - -} diff --git a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java deleted file mode 100644 index 932bca7..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.zy.asrs.task.kingdee; - -import com.zy.asrs.entity.Order; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.task.core.ReturnT; -import com.zy.asrs.task.kingdee.handler.SubmitOrderSyncHandler; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.util.List; - -/** - * Created by Monkey D. Luffy on 2023.10.21 - */ -@Slf4j -@Component -public class SaveOrderSyncScheduler { - - @Autowired - private SubmitOrderSyncHandler submitOrderSyncHandler; - @Autowired - private OrderService orderService; - - @Value("${erp.switch.ReviewOrderSwitch}") - private boolean ReviewOrderSwitch; - -// @Scheduled(cron = "0/3 * * * * ? ") - @Async("orderThreadPool") - public void completeAndReport(){ - if (1==1) return; - if(!ReviewOrderSwitch){ - return; - } - List<Order> orders = orderService.selectComplete8(); - for (Order order : orders) { - ReturnT<String> result = submitOrderSyncHandler.start(order); - if (!result.isSuccess()) { - log.error("鍗曟嵁[orderNo={}]鎻愪氦鑷砮rp澶辫触", order.getOrderNo()); - } - } - } - -} diff --git a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java deleted file mode 100644 index 069489a..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.zy.asrs.task.kingdee; - -import com.zy.asrs.entity.Order; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.task.core.ReturnT; -import com.zy.asrs.task.kingdee.handler.ReviewOrderSyncHandler; -import com.zy.asrs.task.kingdee.handler.SaveOrderSyncHandler; -import com.zy.asrs.task.kingdee.handler.SubmitOrderSyncHandler; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.util.List; - -/** - * Created by Monkey D. Luffy on 2023.10.21 - */ -@Slf4j -@Component -public class SubmitOrderSyncScheduler { - - @Autowired - private SaveOrderSyncHandler saveOrderSyncHandler; - @Autowired - private OrderService orderService; - - @Value("${erp.switch.ReviewOrderSwitch}") - private boolean ReviewOrderSwitch; - - @Scheduled(cron = "0/3 * * * * ? ") - @Async("orderThreadPool") - public void completeAndReport(){ - if(!ReviewOrderSwitch){ - return; - } - List<Order> orders = orderService.selectComplete8(); - for (Order order : orders) { - ReturnT<String> result = saveOrderSyncHandler.start(order); - if (!result.isSuccess()) { - log.error("鍗曟嵁[orderNo={}]淇濆瓨鑷砮rp澶辫触", order.getOrderNo()); - } - } - } - -} diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java deleted file mode 100644 index c98e298..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java +++ /dev/null @@ -1,290 +0,0 @@ -package com.zy.asrs.task.kingdee.handler; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -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 com.zy.asrs.entity.*; -import com.zy.asrs.service.*; -import com.zy.asrs.task.AbstractHandler; -import com.zy.asrs.task.core.ReturnT; -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; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; - -@Service -@Slf4j -public class InboundOrderHandler extends AbstractHandler<String> { - @Value("${erp.address.URL}") - //绔彛 - private String URL; - - @Value("${erp.address.inaddress}") - //鍗曟嵁锛屽晢鍝佹。妗堝湴鍧� - private String inaddress; - - @Autowired - private ApiLogService apiLogService; - - @Autowired - private LoginAuthenticationHandler loginAuthenticationHandler; - - @Autowired - private MatService matService; - - @Autowired - private TagService tagService; - - @Autowired - private DocTypeService docTypeService; - - @Autowired - private OrderService orderService; - - @Autowired - private OrderDetlService orderDetlService; - - @Autowired - private SnowflakeIdWorker snowflakeIdWorker; - - @Transactional - public synchronized ReturnT<String> start() { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - //鐧诲綍閲戣澏 - ReturnT<String> start = loginAuthenticationHandler.start(); - for(KingDeeUtilType kingDeeUtilType : KingDeeUtilType.values()) { - InFormIdParam inFormIdParam = new InFormIdParam(); - DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", kingDeeUtilType.desc)); - if (Cools.isEmpty(docType) && !kingDeeUtilType.formId.equals("BD_MATERIAL")){ - docType = docTypeService.selectOrAdd(kingDeeUtilType.desc, kingDeeUtilType.pakIn.equals(1)); - } - inFormIdParam.setFormId(kingDeeUtilType.formId); - inFormIdParam.setLimit(100); - inFormIdParam.setStartRow("0"); - String FDocumentStatus=null; - - //鏉′欢鍜岄渶瑕佽幏寰楃殑缁撴灉鎷兼帴 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("FormId", inFormIdParam.getFormId()); - jsonObject.put("Limit", inFormIdParam.getLimit()); - jsonObject.put("StartRow", inFormIdParam.getStartRow()); - //鐗╂枡妗f鏌ヨ - if(kingDeeUtilType.formId.equals("BD_MATERIAL")){ - Tag tag = tagService.selectByName("鍏ㄩ儴", 1); - //鐗╂枡鐘舵�� FUseOrgId .FNumber - FDocumentStatus="C"; - jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(tag.getUpdateTime())+"' and FDocumentStatus='"+FDocumentStatus+"' and FUseOrgId .FNumber='100'"); - jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus"); - // FName : 鐗╂枡鍚嶇О 锛� - // FNumber 锛氱墿鏂欑紪鍙凤紱 - // FCreateDate 锛氱墿鏂欏垱寤烘椂闂达紱 - // FSpecification 锛氱墿鏂欒鏍硷紱 - // FDocumentStatus 锛氱墿鏂欑姸鎬� - }else{ - //鑾峰彇鏈�鏂版椂闂� - //鍗曟嵁鐘舵�� - FDocumentStatus="B"; - jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(docType.getCreateTime())+"'"+" and FStockId.Fname='绔嬪簱'"+" and FDocumentStatus='"+FDocumentStatus+"'"); - jsonObject.put("FieldKeys", "FBillNo,FCreateDate,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.FSpecification,"+kingDeeUtilType.anfme+",FDocumentStatus"); - // FBillNo :鍗曟嵁缂栧彿锛� - // FCreateDate 锛氬崟鎹垱寤烘椂闂达紱 - // FMaterialId.FNumber : 鐗╂枡缂栫爜锛� - // FMaterialName 锛氱墿鏂欏悕绉帮紱 - // FMaterialId.FSpecification锛氱墿鏂欒鏍� - // anfme : 鐗╂枡鏁伴噺 - // FDocumentStatus 锛氬崟鎹姸鎬侊紱 - - } - JSONObject jsonObject1 = new JSONObject(); - jsonObject1.put("data", jsonObject); - String add = jsonObject1.toJSONString(); - //涓婃姤 - String response = ""; - boolean success = false; - try { - //鑾峰彇Cookie鍊� - HashMap<String, Object> headers = new HashMap<>(); - headers.put("Cookie", start.getContent()); - response = new HttpHandler.Builder() - .setHeaders(headers) - .setUri(URL) - .setPath(inaddress) - .setJson(add) - .build() - .doPost(); - JSONArray data = JSON.parseArray(response); - if(data.size()<=0) continue; - if (data.getJSONArray(0).get(0).toString().length()>=20) continue; - if (kingDeeUtilType.formId.equals("BD_MATERIAL")) {//鐗╂枡妗f - Tag tag = tagService.selectByName("鍏ㄩ儴", 1); - for (int j = 0; j < data.size(); j++) { - JSONArray jsonArray = data.getJSONArray(j); - //瀵圭編鍥芥椂闂磋繘琛岃浆鎹� - Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString()); - //鐢熸垚鍟嗗搧妗f - //鍟嗗搧缂栧彿 - Mat mat = matService.selectByMatnr(jsonArray.get(1).toString()); - if (mat == null) { - mat = new Mat(); - mat.setMatnr(jsonArray.get(1).toString()); - mat.setMaktx(jsonArray.get(0).toString()); - mat.setSpecs(jsonArray.get(3).toString());//瑙勬牸 - mat.setTagId(tag.getId()); - mat.setCreateTime(jsonDate);//鍟嗗搧鍒涘缓鏃堕棿 - mat.setUpdateTime(new Date()); - mat.setStatus(1); - //鏈�鏂版姄鍙栧晢鍝佹椂闂� - if (!matService.insert(mat)) { -// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - callApiLogSaveMat(mat,kingDeeUtilType, "鍚屾鏂扮墿鏂欏嚭閿欙紒锛侊紒"+mat, false); - log.info("鍚屾鏂扮墿鏂欏嚭閿欙紒锛侊紒鍙傛暟锛歔{}]銆乕{}]",mat,jsonArray); - } else { - callApiLogSaveMat(mat,kingDeeUtilType, "鍚屾鏂扮墿鏂欙紒", true); -// log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); - } - }else { - if (!jsonDate.equals(tag.getUpdateTime())){ - callApiLogSaveMat(mat,kingDeeUtilType, "鍟嗗搧缂栧彿閲嶅:"+mat.getMatnr(), false); - log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}],鍟嗗搧缂栧彿閲嶅锛侊紒锛�", mat.getMatnr()); - } - } - tag.setUpdateTime(jsonDate); - } - tagService.updateById(tag); - } else { - for (int j = 0; j < data.size(); j++) { - JSONArray jsonArray = data.getJSONArray(j); - //鏈�鏂版姄鍙栨椂闂� - Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(1).toString()); - docType.setCreateTime(jsonDate); - Order order = orderService.selectByNo(jsonArray.get(0).toString()); - if (Cools.isEmpty(order)) { - Date now = new Date(); - // 鍗曟嵁涓绘。 - order = new Order( - String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] - jsonArray.get(0).toString(), // 璁㈠崟缂栧彿 - DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 - docType.getDocId(), // 鍗曟嵁绫诲瀷 - null, // 椤圭洰缂栧彿 - null, // - null, // 璋冩嫧椤圭洰缂栧彿 - null, // 鍒濆绁ㄦ嵁鍙� - null, // 绁ㄦ嵁鍙� - null, // 瀹㈡埛缂栧彿 - null, // 瀹㈡埛 - null, // 鑱旂郴鏂瑰紡 - null, // 鎿嶄綔浜哄憳 - null, // 鍚堣閲戦 - null, // 浼樻儬鐜� - null, // 浼樻儬閲戦 - null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 - null, // 瀹炰粯閲戦 - null, // 浠樻绫诲瀷 - null, // 涓氬姟鍛� - null, // 缁撶畻澶╂暟 - null, // 閭垂鏀粯绫诲瀷 - null, // 閭垂 - null, // 浠樻鏃堕棿 - null, // 鍙戣揣鏃堕棿 - null, // 鐗╂祦鍚嶇О - null, // 鐗╂祦鍗曞彿 - 1L, // 璁㈠崟鐘舵�� - 1, // 鐘舵�� - 9527L, // 娣诲姞浜哄憳 - now, // 娣诲姞鏃堕棿 - 9527L, // 淇敼浜哄憳 - now, // 淇敼鏃堕棿 - null // 澶囨敞 - ); - - if (!orderService.insert(order)) { - if (!jsonDate.equals(docType.getCreateTime())){ - callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"+order, false); - } - continue; -// throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); - } - } - //鐗╂枡缂栫爜 - Mat mat = matService.selectByMatnr(jsonArray.get(2).toString()); - if (Cools.isEmpty(mat)) { - if (!jsonDate.equals(docType.getCreateTime())){ - callApiLogSaveOrder(order,kingDeeUtilType, "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"+jsonArray.get(2).toString(), false); - } - continue; - } - OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString())); - if (!Cools.isEmpty(orderDetl1)) { - continue; - } - OrderDetl orderDetl = new OrderDetl(); - orderDetl.sync(mat); - orderDetl.setBatch(null); - orderDetl.setAnfme(Double.parseDouble(jsonArray.get(5).toString())); - orderDetl.setOrderId(order.getId()); - orderDetl.setOrderNo(order.getOrderNo()); - orderDetl.setCreateBy(9527L); - orderDetl.setCreateTime(new Date()); - orderDetl.setUpdateBy(9527L); - orderDetl.setUpdateTime(new Date()); - orderDetl.setStatus(1); - orderDetl.setQty(0.0D); - if (!orderDetlService.insert(orderDetl)) { - callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�!璁㈠崟鍙凤細"+order.getOrderNo(), false); -// throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); - } - } - docTypeService.updateById(docType); - } - } catch (Exception e) { - log.error("fail", e); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { -// try { -// // 淇濆瓨鎺ュ彛鏃ュ織 -// apiLogService.save( -// "杞鏁版嵁", -// URL + inaddress, -// null, -// "127.0.0.1", -// add, -// response, -// success -// ); -// } catch (Exception e) { -// log.error("", e); -// } - } - } - return SUCCESS; - } - - public void callApiLogSaveMat(Mat mat, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) { - apiLogService.save("鑾峰彇"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL, - "鐗╂枡缂栧彿锛�" + mat.getMatnr() + "銆佺墿鏂欏悕绉帮細" + mat.getName() + "銆佺被鍨嬶細" + mat.getTagId$() + "銆佺姸鎬侊細" + mat.getStatus$(), - response, bool); - } - - public void callApiLogSaveOrder(Order order, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) { - apiLogService.save("鑾峰彇"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL, - "鍗曟嵁缂栧彿锛�" + order.getId() + "銆佺姸鎬侊細" + order.getStatus$(), - response, bool); - } - -} \ No newline at end of file diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/LoginAuthenticationHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/LoginAuthenticationHandler.java deleted file mode 100644 index e6bf092..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/handler/LoginAuthenticationHandler.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.zy.asrs.task.kingdee.handler; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.core.common.Cools; -import com.core.exception.CoolException; -import com.zy.asrs.entity.Order; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.task.AbstractHandler; -import com.zy.asrs.task.core.ReturnT; -import com.zy.common.utils.HttpHandler; -import com.zy.erp.kingdee.entity.param.LoginParam; -import com.zy.erp.kingdee.enums.KingDeeUtilType; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Set; - -@Service -@Slf4j -@Transactional -public class LoginAuthenticationHandler extends AbstractHandler<String> { - - @Value("${erp.address.URL}") - //绔彛 - private String URL; - - @Value("${erp.address.loginaddress}") - //鐧诲綍鍦板潃 - private String loginaddress; - - @Value("${erp.login.sAcctID}") - //璐﹀彿ID - private String acctID; - - @Value("${erp.login.sUserId}") - //璐﹀彿 - private String username; - - @Value("${erp.login.sPassword}") - //瀵嗙爜 - private String password; - - @Value("${erp.login.lcid}") - // - private Integer lcid; - - @Autowired - private ApiLogService apiLogService; - - /** - * 45鍒嗛挓鐧诲綍涓�娆¢噾铦剁郴缁� - * @return - */ - @Transactional - public synchronized ReturnT<String> start() { - - LoginParam loginParam =new LoginParam(); - loginParam.setAcctID(acctID); - loginParam.setUsername(username); - loginParam.setPassword(password); - loginParam.setLcid(lcid); - //涓婃姤 - String response = ""; - String cookie = ""; - boolean success = false; - try { - response = new HttpHandler.Builder() - .setUri(URL) - .setPath(loginaddress) - .setJson(JSON.toJSONString(loginParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - Object sessionId = findValueByKey(JSON.parseObject(response), "SessionId"); - cookie="ASP.NET_SessionId="+sessionId+";"+"kdservice-sessionid="+jsonObject.getString("KDSVCSessionId"); - if (Cools.isEmpty(jsonObject.getString("Message"))) { - success = true; - } else { - callApiLogSaveLog(JSON.toJSONString(loginParam),false); - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+loginaddress, JSON.toJSONString(loginParam), response); -// throw new CoolException("鐧诲綍閲戣澏澶辫触"); - } - } catch (Exception e) { - log.error("fail", e); - callApiLogSaveLog(JSON.toJSONString(loginParam),false); - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+loginaddress, JSON.toJSONString(loginParam), response); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { -// try { -// // 淇濆瓨鎺ュ彛鏃ュ織 -// apiLogService.save( -// "鐧诲綍閲戣澏", -// URL + loginaddress, -// null, -// "127.0.0.1", -// JSON.toJSONString(loginParam), -// response, -// success -// ); -// } catch (Exception e) { log.error("", e); } - } - return SUCCESS.setContent(cookie); - } - - - public static Object findValueByKey(JSONObject json, String key) { - Set<String> keySet = json.keySet(); - for (String k : keySet) { - Object v = json.get(k); - if (k.equals(key)) { - return v; - } else if (v instanceof JSONArray) { - int size = ((JSONArray) v).size(); - for (int i = 0; i <= size - 1; i++) { - Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key); - if (result != null){ - return result; - } - } - } else if (v instanceof JSONObject){ - Object result = findValueByKey((JSONObject) v, key); - if (result != null){ - return result; - } - } - } - return null; - } - - public void callApiLogSaveLog(String response, Boolean bool) { - apiLogService.save("鐧诲綍閲戣澏澶辫触", URL, "null", loginaddress, - "濂楄处ID锛�"+acctID+"銆佽处鍙凤細"+username+"銆佸瘑鐮侊細"+password, - response, bool); - } - - -} - - - diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java deleted file mode 100644 index 313ebc8..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.zy.asrs.task.kingdee.handler; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.zy.asrs.entity.DocType; -import com.zy.asrs.entity.Order; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.DocTypeService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.task.AbstractHandler; -import com.zy.asrs.task.core.ReturnT; -import com.zy.common.utils.HttpHandler; -import com.zy.erp.kingdee.enums.KingDeeUtilType; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.HashMap; -import java.util.Set; - -/** - * Created by vincent on 2023/10/21 - */ -@Slf4j -@Service -public class ReviewOrderSyncHandler extends AbstractHandler<String> { - @Value("${erp.address.URL}") - //绔彛 - private String URL; - - @Value("${erp.address.outaddressAudit}") - //瀹℃牳鍦板潃 - private String outaddressAudit; - - @Autowired - private OrderService orderService; - @Autowired - private ApiLogService apiLogService; - @Autowired - private DocTypeService docTypeService; - @Autowired - private LoginAuthenticationHandler loginAuthenticationHandler; - - @Transactional - public ReturnT<String> start(Order order) { - //鐧诲綍閲戣澏r - ReturnT<String> start = loginAuthenticationHandler.start(); - DocType docType = docTypeService.selectById(order.getDocType()); - if (null == docType) { - return SUCCESS; - } - KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); - - //鏉′欢鎷兼帴 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("Numbers",order.getOrderNo()); - JSONObject jsonObject1 = new JSONObject(); - jsonObject1.put("data", jsonObject); - jsonObject1.put("FormId",kingDeeUtilType.formId); - String add = jsonObject1.toJSONString(); - //涓婃姤 - String response = ""; - boolean success = false; - try { - //鑾峰彇Cookie鍊� - HashMap<String, Object> headers = new HashMap<>(); - headers.put("Cookie", start.getContent()); - response = new HttpHandler.Builder() - .setHeaders(headers) - .setUri(URL) - .setPath(outaddressAudit) - .setJson(add) - .build() - .doPost(); - JSONObject data = JSON.parseObject(response); - Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); - String bool=IsSuccess.toString(); - //瀹℃牳瀹屾垚鍘熻鍗�4杞�8 8.瀹℃牳瀹屾垚 - if(bool.equals("true")){ - success = true; - order.setSettle(8L); - orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); - } - } catch (Exception e) { - log.error("fail", e); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "瀹℃牳", - URL+ outaddressAudit, - null, - "127.0.0.1", - add, - response, - success - ); - } catch (Exception e) { - log.error("", e); - } - } - return SUCCESS; - } - public static Object findValueByKey(JSONObject json, String key) { - Set<String> keySet = json.keySet(); - for (String k : keySet) { - Object v = json.get(k); - if (k.equals(key)) { - return v; - } else if (v instanceof JSONArray) { - int size = ((JSONArray) v).size(); - for (int i = 0; i <= size - 1; i++) { - Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key); - if (result != null){ - return result; - } - } - } else if (v instanceof JSONObject){ - Object result = findValueByKey((JSONObject) v, key); - if (result != null){ - return result; - } - } - } - return null; - } -} diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java deleted file mode 100644 index 88134a3..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.zy.asrs.task.kingdee.handler; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.zy.asrs.entity.DocType; -import com.zy.asrs.entity.Order; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.DocTypeService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.task.AbstractHandler; -import com.zy.asrs.task.core.ReturnT; -import com.zy.common.utils.HttpHandler; -import com.zy.erp.kingdee.enums.KingDeeUtilType; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.HashMap; -import java.util.Set; - -/** - * Created by Monkey D. Luffy on 2023.10.21 - */ -@Slf4j -@Service -public class SaveOrderSyncHandler extends AbstractHandler<String> { - @Value("${erp.address.URL}") - //绔彛 - private String URL; - - @Value("${erp.address.outaddressSave}") - //瀹℃牳鍦板潃 - private String outaddressSave; - - @Autowired - private OrderService orderService; - @Autowired - private ApiLogService apiLogService; - @Autowired - private DocTypeService docTypeService; - @Autowired - private LoginAuthenticationHandler loginAuthenticationHandler; - - @Transactional - public ReturnT<String> start(Order order) { - //鐧诲綍閲戣澏r - ReturnT<String> start = loginAuthenticationHandler.start(); - DocType docType = docTypeService.selectById(order.getDocType()); - if (null == docType) { - return SUCCESS; - } - KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); - - //鏉′欢鎷兼帴 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("Numbers",order.getOrderNo()); - JSONObject jsonObject1 = new JSONObject(); - jsonObject1.put("data", jsonObject); - jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId); - String add = jsonObject1.toJSONString(); - //涓婃姤 - String response = ""; - boolean success = false; - try { - //鑾峰彇Cookie鍊� - HashMap<String, Object> headers = new HashMap<>(); - headers.put("Cookie", start.getContent()); - response = new HttpHandler.Builder() - .setHeaders(headers) - .setUri(URL) - .setPath(outaddressSave) - .setJson(add) - .build() - .doPost(); - JSONObject data = JSON.parseObject(response); - Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); - String bool=IsSuccess.toString(); - //淇濆瓨瀹屾垚鍘熻鍗�8杞�6 - if(bool.equals("true")){ - success = true; - order.setSettle(6L); - orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); - } - } catch (Exception e) { - log.error("fail", e); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "淇濆瓨", - URL+ outaddressSave, - null, - "127.0.0.1", - add, - response, - success - ); - } catch (Exception e) { - log.error("", e); - } - } - return SUCCESS; - } - public static Object findValueByKey(JSONObject json, String key) { - Set<String> keySet = json.keySet(); - for (String k : keySet) { - Object v = json.get(k); - if (k.equals(key)) { - return v; - } else if (v instanceof JSONArray) { - int size = ((JSONArray) v).size(); - for (int i = 0; i <= size - 1; i++) { - Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key); - if (result != null){ - return result; - } - } - } else if (v instanceof JSONObject){ - Object result = findValueByKey((JSONObject) v, key); - if (result != null){ - return result; - } - } - } - return null; - } -} diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java deleted file mode 100644 index 7e922d6..0000000 --- a/src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.zy.asrs.task.kingdee.handler; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.zy.asrs.entity.DocType; -import com.zy.asrs.entity.Order; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.service.DocTypeService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.task.AbstractHandler; -import com.zy.asrs.task.core.ReturnT; -import com.zy.common.utils.HttpHandler; -import com.zy.erp.kingdee.enums.KingDeeUtilType; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.HashMap; -import java.util.Set; - -/** - * Created by Monkey D. Luffy on 2023.10.21 - */ -@Slf4j -@Service -public class SubmitOrderSyncHandler extends AbstractHandler<String> { - @Value("${erp.address.URL}") - //绔彛 - private String URL; - - @Value("${erp.address.outaddressSubmit}") - //瀹℃牳鍦板潃 - private String outaddressSubmit; - - @Autowired - private OrderService orderService; - @Autowired - private ApiLogService apiLogService; - @Autowired - private DocTypeService docTypeService; - @Autowired - private LoginAuthenticationHandler loginAuthenticationHandler; - - @Transactional - public ReturnT<String> start(Order order) { - //鐧诲綍閲戣澏r - ReturnT<String> start = loginAuthenticationHandler.start(); - DocType docType = docTypeService.selectById(order.getDocType()); - if (null == docType) { - return SUCCESS; - } - KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); - - //鏉′欢鎷兼帴 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("Numbers",order.getOrderNo()); - JSONObject jsonObject1 = new JSONObject(); - jsonObject1.put("data", jsonObject); - jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId); - String add = jsonObject1.toJSONString(); - //涓婃姤 - String response = ""; - boolean success = false; - try { - //鑾峰彇Cookie鍊� - HashMap<String, Object> headers = new HashMap<>(); - headers.put("Cookie", start.getContent()); - response = new HttpHandler.Builder() - .setHeaders(headers) - .setUri(URL) - .setPath(outaddressSubmit) - .setJson(add) - .build() - .doPost(); - JSONObject data = JSON.parseObject(response); - Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); - String bool=IsSuccess.toString(); - //瀹℃牳瀹屾垚鍘熻鍗�8杞�6 - if(bool.equals("true")){ - success = true; - order.setSettle(6L); - orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); - } - } catch (Exception e) { - log.error("fail", e); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "鎻愪氦", - URL+ outaddressSubmit, - null, - "127.0.0.1", - add, - response, - success - ); - } catch (Exception e) { - log.error("", e); - } - } - return SUCCESS; - } - public static Object findValueByKey(JSONObject json, String key) { - Set<String> keySet = json.keySet(); - for (String k : keySet) { - Object v = json.get(k); - if (k.equals(key)) { - return v; - } else if (v instanceof JSONArray) { - int size = ((JSONArray) v).size(); - for (int i = 0; i <= size - 1; i++) { - Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key); - if (result != null){ - return result; - } - } - } else if (v instanceof JSONObject){ - Object result = findValueByKey((JSONObject) v, key); - if (result != null){ - return result; - } - } - } - return null; - } -} diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java index 7af15f2..8890207 100644 --- a/src/main/java/com/zy/common/model/DetlDto.java +++ b/src/main/java/com/zy/common/model/DetlDto.java @@ -13,14 +13,59 @@ @Data public class DetlDto { - private String orderNo; + /** + * 1锛氭甯� 0锛氬叧闂� + */ + private Integer sts; + /** + * 琛屽彿 + */ + private String model; + + /** + * 鐗╂枡缂栫爜 + */ private String matnr; + /** + * 鐗╂枡缂栫爜 + */ + private String maktx; + + /** + * 鐗规畩璇存槑 + */ private String batch; + /** + * 瀹屾垚鏁伴噺 + */ private Double anfme; + /** + * 瑙勬牸 + */ + private String specs; + + /** + * 绔嬪簱婧愯揣浣嶏紙榛樿1-1锛� + */ + private String sourceStaNo = "1-1"; + + /** + * 鐩爣璐т綅 + */ + private String locNo = "2-2"; + + /** + * 琛屼富閿� + */ + private String memo; + + private String orderNo; + + private Double units; public DetlDto() { diff --git a/src/main/java/com/zy/erp/kingdee/entity/param/InFormIdParam.java b/src/main/java/com/zy/erp/kingdee/entity/param/InFormIdParam.java deleted file mode 100644 index 89c6f06..0000000 --- a/src/main/java/com/zy/erp/kingdee/entity/param/InFormIdParam.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.zy.erp.kingdee.entity.param; - -import lombok.Data; - -@Data -public class InFormIdParam { - - //鏌ユ壘琛ㄥ崟鍞竴鏍囪瘑 - private String FormId; - - //鏈�澶氬厑璁告煡璇㈢殑鏁伴噺锛�0鎴栬�呬笉瑕佹灞炴�ф爣璇嗕笉闄愬埗 - private String TopRowCount; - - private Integer Limit; - - private String StartRow; - - //杩囨护鏉′欢锛坋g:\"FNumber>'0301010120001' and FCreateDate>'2023-07-05' \"锛� - //1銆丩eft锛氬乏鎷彿 - //3銆丆ompare锛氭瘮杈冭繍绠楃锛屽銆�澶т簬">"銆佸皬浜�"<"銆佺瓑浜�"="銆佸寘鍚�"like"銆佸乏鍖呭惈"llike"銆佸彸鍖呭惈"rlike" - //4銆乂alue锛氭瘮杈冨�� - //5銆丷ight锛氬彸鎷彿 - //6銆丩ogic锛氶�昏緫杩愮畻绗︼紝濡� "and"銆�"or" - private Integer Filterstring; - - //鎺掑簭鏉′欢 - private Integer OrderString; - - //寰呮煡璇㈣〃鍗曠殑瀛楁鍒楋紙鏈熸湜杩斿洖鍊硷級 - private Integer FieldKeys; - - - - - - - -} diff --git a/src/main/java/com/zy/erp/kingdee/entity/param/LoginParam.java b/src/main/java/com/zy/erp/kingdee/entity/param/LoginParam.java deleted file mode 100644 index 1eb3ee4..0000000 --- a/src/main/java/com/zy/erp/kingdee/entity/param/LoginParam.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.zy.erp.kingdee.entity.param; - -import lombok.Data; - -@Data -public class LoginParam { - //璐﹀彿ID - private String acctID; - - //璐﹀彿 - private String username; - - //瀵嗙爜 - private String password; - - // - private Integer lcid; - -} diff --git a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java b/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java deleted file mode 100644 index 77d827b..0000000 --- a/src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.zy.erp.kingdee.enums; - -public enum KingDeeUtilType { - BD_MATERIAL(0, "鐗╂枡妗f","BD_MATERIAL","","","",1), -// STK_InStock(1, "閲囪喘鍏ュ簱鍗�","STK_InStock","FRealQty","","",1), -// PUR_MRB(2, "閲囪喘閫�鏂欏崟","PUR_MRB","FRMREALQTY","","",1), -// PRD_PickMtrl(3, "鐢熶骇棰嗘枡鍗�","PRD_PickMtrl","FActualQty","","",1), -// PRD_ReturnMtrl(4, "鐢熶骇閫�鏂欏崟","PRD_ReturnMtrl","FQty","","",1), -// PRD_FeedMtrl(5, "鐢熶骇琛ユ枡鍗�","PRD_FeedMtrl","FActualQty","","",1), -// STK_TransferDirect(6, "鐩存帴璋冩嫧鍗�","STK_TransferDirect","","FQty","",1), -// STK_StockCountGain(7, "鐩樼泩鍗�","STK_StockCountGain","FGainQty","","",1), -// STK_StockCountLoss(8, "鐩樹簭鍗�","STK_StockCountLoss","FLossQty","","",1), -// STK_MisDelivery(9, "鍏朵粬鍑哄簱鍗�","STK_MisDelivery","FQty","","",1), -// SP_PickMtrl(10, "绠�鍗曠敓浜ч鏂欏崟","SP_PickMtrl","FActualQty","","",1), -// SP_ReturnMtrl(11, "绠�鍗曠敓浜ч��鏂欏崟","SP_ReturnMtrl","FQty","","",1), -// SAL_OUTSTOCK(12, "閿�鍞嚭搴撳崟","SAL_OUTSTOCK","FRealQty","","",1), -// SAL_RETURNSTOCK(13, "閿�鍞��璐у崟","SAL_RETURNSTOCK","FRealQty","","",1), - SAL_DELIVERYNOTICE(14, "鍙戣揣閫氱煡鍗�","SAL_DELIVERYNOTICE","FQty","閿�鍞嚭搴撳崟","SAL_OUTSTOCK",0), - STK_MISCELLANEOUS(15, "鍏朵粬鍏ュ簱鍗�","STK_MISCELLANEOUS","FQty","鍏朵粬鍏ュ簱鍗�","STK_MISCELLANEOUS",1), -// BD_Supplier(16, "渚涘簲鍟�","BD_Supplier","","","",1), - PUR_ReceiveBill(17, "鏀舵枡閫氱煡鍗�","PUR_ReceiveBill","FPOQTY","閲囪喘鍏ュ簱鍗�","STK_InStock",1), - PRD_MORPT(18, "鐢熶骇姹囨姤鍗�","PRD_MORPT","FFinishQty","鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK",1), -// PRD_INSTOCK(19, "鐢熶骇鍏ュ簱鍗�","PRD_INSTOCK","","","",1), - SAL_RETURNNOTICE(20, "閫�璐ч�氱煡鍗�","SAL_RETURNNOTICE","FBaseJunkedQty","閿�鍞��璐у崟","SAL_RETURNSTOCK",1), - STK_OutStockApply(21, "鍑哄簱鐢宠鍗�","STK_OutStockApply","FTotalSecQty","鍏朵粬鍑哄簱鍗�","STK_MisDelivery",0), - ; - public Integer id; - public String desc; - public String formId; - public String anfme; - public String correspondingName; - public String correspondingFormId; - public Integer pakIn; - - KingDeeUtilType(Integer id, String desc,String formId,String anfme,String correspondingName,String correspondingFormId,int pakIn){ - this.id = id; - this.desc = desc; - this.formId = formId; - this.anfme = anfme; - this.correspondingName = correspondingName; - this.correspondingFormId = correspondingFormId; - this.pakIn = pakIn; //1鍏ュ簱 0鍑哄簱 - } - - public static KingDeeUtilType get(Short id) { - if (null == id) { - return null; - } - for (KingDeeUtilType type : KingDeeUtilType.values()) { - if (type.id.equals(id.intValue())) { - return type; - } - } - return null; - } - - public static KingDeeUtilType get(String desc) { - if (null == desc) { - return null; - } - for (KingDeeUtilType type : KingDeeUtilType.values()) { - if (type.desc.equals(desc)) { - return type; - } - } - return null; - } - - public static KingDeeUtilType get(KingDeeUtilType type) { - if (null == type) { - return null; - } - for (KingDeeUtilType crnLiftPosType : KingDeeUtilType.values()) { - if (crnLiftPosType == type) { - return crnLiftPosType; - } - } - return null; - } -} diff --git a/src/main/java/com/zy/erp/kingdee/utils/KingDeeUtil.java b/src/main/java/com/zy/erp/kingdee/utils/KingDeeUtil.java deleted file mode 100644 index 3373421..0000000 --- a/src/main/java/com/zy/erp/kingdee/utils/KingDeeUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.zy.erp.kingdee.utils; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Date; - -public class KingDeeUtil { - - //瀵圭編鍥芥椂闂磋繘琛岃浆鎹� - public static Date KingDeeDate(String jsonArrayDate) throws ParseException { - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); - DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME; - LocalDateTime dateTime = LocalDateTime.parse(jsonArrayDate, formatter); - String format = dateFormat.format(dateTime); - return sdf.parse(format); - } - - - -} diff --git a/src/main/java/com/zy/erp/kingdee/utils/PostMesDataUtils.java b/src/main/java/com/zy/erp/kingdee/utils/PostMesDataUtils.java deleted file mode 100644 index 1b89571..0000000 --- a/src/main/java/com/zy/erp/kingdee/utils/PostMesDataUtils.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.zy.erp.kingdee.utils; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.core.common.SpringUtils; -import com.core.exception.CoolException; -import com.zy.asrs.service.ApiLogService; -import com.zy.asrs.task.AbstractHandler; -import com.zy.asrs.task.core.ReturnT; -import com.zy.common.utils.HttpHandler; -import lombok.extern.slf4j.Slf4j; - -import java.util.Map; - -@Slf4j -public class PostMesDataUtils extends AbstractHandler<String> { - - public ReturnT<String> postMesData(String name, String URL, String mesPath, Object combParam){ -// if (true){ -// System.out.println("name:"+name+",URL:"+URL+",mesPath:"+mesPath+",combParam:"+combParam); -// return SUCCESS; -// } - if(combParam != null){ - String response = ""; - boolean success = false; - try { -// Map<String, Object> map = new HashMap<>() -// map.put("appkey","ea1f0459efc02a79f046f982767939ae"); - response = new HttpHandler.Builder() -// .setHeaders(map) - .setUri(URL) - .setPath(mesPath) - .setJson(JSON.toJSONString(combParam)) - .build() - .doPost(); - System.out.println("response:"+response); - JSONObject jsonObject = JSON.parseObject(response); - - if (jsonObject.getInteger("code").equals(200)) { - success = true; - } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response); - throw new CoolException("涓婃姤"+name); - } - } catch (Exception e) { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class); - apiLogService.save( - "涓婃姤"+name, - URL +"/"+ mesPath, - null, - "127.0.0.1", - JSON.toJSONString(combParam), - response, - success - ); - } catch (Exception e) { - log.error("", e); } - } - } - return SUCCESS; - } - - public ReturnT<String> postMesData(String name, String URL, String mesPath, Object combParam,Map<String, Object> map){ -// if (true){ -// System.out.println("name:"+name+",URL:"+URL+",mesPath:"+mesPath+",combParam:"+combParam); -// return SUCCESS; -// } - if(combParam != null){ - String response = ""; - boolean success = false; - try { -// Map<String, Object> map = new HashMap<>(); -// map.put("appkey","ea1f0459efc02a79f046f982767939ae"); - response = new HttpHandler.Builder() - .setHeaders(map) - .setUri(URL) - .setPath(mesPath) - .setJson(JSON.toJSONString(combParam)) - .build() - .doPost(); - System.out.println("response:"+response); - JSONObject jsonObject = JSON.parseObject(response); - - if (jsonObject.getInteger("code").equals(200)) { - success = true; - } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response); - throw new CoolException("涓婃姤"+name); - } - } catch (Exception e) { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+mesPath, JSON.toJSONString(combParam), response); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class); - apiLogService.save( - "涓婃姤"+name, - URL +"/"+ mesPath, - null, - "127.0.0.1", - JSON.toJSONString(combParam), - response, - success - ); - } catch (Exception e) { - log.error("", e); } - } - } - return SUCCESS; - } -} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c2ed14c..8219a60 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -10,7 +10,7 @@ enabled: false datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://127.0.0.1:1433;databasename=tzglasrs + url: jdbc:sqlserver://127.0.0.1:1433;databasename=dlzasrs username: sa password: sa@123 mvc: @@ -75,41 +75,14 @@ erp: # 寮�鍏� switch: - #鑾峰彇鍗曟嵁寮�鍏� - InboundOrderSwitch: false - #鐧诲綍鎺ュ彛寮�鍏� - LoginAuthenticationSwitch: false #涓婃姤銆佸鏍稿崟鎹紑鍏� ReviewOrderSwitch: false # 鍦板潃 address: - URL: http://58.210.10.90:28090 - #鐧诲綍鍦板潃 - loginaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc - #鍗曟嵁锛屽晢鍝佹。妗堝湴鍧� - inaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc - #缁撴灉涓婃姤锛堜繚瀛橈級鍗曞湴鍧� - outaddressSave: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc - #缁撴灉涓婃姤锛堟彁浜わ級鍗曞湴鍧� - outaddressSubmit: K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc - #缁撴灉涓婃姤锛堝鏍革級鍗曞湴鍧� - outaddressAudit: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc - # 鍦板潃 - newaddress: - #鍗曟嵁涓婃姤鍦板潃 - URL: http://10.10.0.59:33117 - #鍗曟嵁鎻愪氦 - orderaddressSubmit: api/U8Voucher - #鐩樼偣涓婃姤鍦板潃 - UPLOADURL: http://10.10.0.10:2501 - # 鐩樼偣鍦板潃 - uploadaddressSubmit: api/CheckVouch/pypk - - - # 鐧诲綍璐﹀彿绠$悊 - login : - sAcctID: "999" - sUserId: "demo" - sPassword: "DEMO" - sServer: "10.1.9.20" - lcid: 1234 + URL: http://158.210.10.90:28090 +# #鍗曟嵁锛屽晢鍝佹。妗堝湴鍧� +# inaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc + #鍏ュ簱缁撴灉涓婃姤锛堟彁浜わ級鍗曞湴鍧� + inaddressSave: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc + #鍑哄簱缁撴灉涓婃姤锛堟彁浜わ級鍗曞湴鍧� + outaddressSave: K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc \ No newline at end of file diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index 74ebaf0..7ed07e6 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/src/main/resources/mapper/OrderDetlMapper.xml @@ -108,6 +108,7 @@ and mo.settle <= 2 and mo.status = 1 and mdt.pakout = 1 + and mod.status = 1 <include refid="pakOutPageCondition"></include> ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) </select> diff --git a/src/main/webapp/static/js/orderDetl/orderDetl.js b/src/main/webapp/static/js/orderDetl/orderDetl.js index caef270..7b9fe3e 100644 --- a/src/main/webapp/static/js/orderDetl/orderDetl.js +++ b/src/main/webapp/static/js/orderDetl/orderDetl.js @@ -9,6 +9,27 @@ var form = layui.form; var admin = layui.admin; + // 娓叉煋鎼滅储妯℃澘 + $.ajax({ + url: baseUrl+"/docType/list/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + limit: 9999 + }, + method: 'POST', + success: function (res) { + if (res.code === 200){ + let template = Handlebars.compile($('#docTypeTpl').html()); + $('#docType-query').html(template(res.data)); + layui.form.render('select'); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }) + // 鏁版嵁娓叉煋 tableIns = table.render({ elem: '#orderDetl', @@ -22,30 +43,31 @@ height: 'full-120', cols: [[ {type: 'checkbox'} - ,{field: 'id', align: 'center',title: 'ID'} - ,{field: 'orderId$', align: 'center',title: '璁㈠崟鍐呯爜'} + // ,{field: 'id', align: 'center',title: 'ID'} + ,{field: 'orderNo', align: 'center',title: '璁㈠崟缂栫爜',sort:true, width: 160} + ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜',sort:true, width: 160} + ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О',sort:true, width: 160} ,{field: 'anfme', align: 'center',title: '鏁伴噺'} - ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜'} - ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'} - ,{field: 'name', align: 'center',title: '鍚嶇О'} - ,{field: 'specs', align: 'center',title: '瑙勬牸'} - ,{field: 'model', align: 'center',title: '鍨嬪彿'} - ,{field: 'batch', align: 'center',title: '鎵瑰彿'} - ,{field: 'unit', align: 'center',title: '鍗曚綅'} - ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜'} - ,{field: 'supplier', align: 'center',title: '渚涘簲鍟�'} - ,{field: 'unitPrice', align: 'center',title: '鍗曚环'} - ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'} - ,{field: 'count', align: 'center',title: '鏁伴噺'} - ,{field: 'weight', align: 'center',title: '閲嶉噺'} + ,{field: 'qty', align: 'center',title: '瀹屾垚鏁伴噺'} + // ,{field: 'model', align: 'center',title: '鍨嬪彿'} + ,{field: 'batch', align: 'center',title: '鐗规畩璇存槑'} + // ,{field: 'unit', align: 'center',title: '鍗曚綅'} + ,{field: 'danger$', align: 'center',title: '璁㈠崟绫诲瀷'} + ,{field: 'anfme$', align: 'center', title: '璁㈠崟鐘舵��', templet: '#settleTpl', minWidth: 120, width: 160}, + // ,{field: 'unitPrice', align: 'center',title: '鍗曚环'} + // ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'} + // ,{field: 'count', align: 'center',title: '鏁伴噺'} + // ,{field: 'weight', align: 'center',title: '閲嶉噺'} + // ,{field: 'status$', align: 'center',title: '鐘舵��'} + // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'} + // {field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + {field: 'workQty', align: 'center',title: '宸ヤ綔鏁伴噺'} + // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿',width:200} + ,{field: 'inspect$', align: 'center',title: '鏄惁涓婃姤'} + ,{field: 'units', align: 'center',title: '涓婃姤鏁伴噺'} ,{field: 'status$', align: 'center',title: '鐘舵��'} - ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'} - ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} - ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'} - ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} - ,{field: 'memo', align: 'center',title: '澶囨敞'} - - ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:200} ]], request: { pageName: 'curr', @@ -93,14 +115,14 @@ showEditModel(); break; case 'deleteData': - if (checkStatus.length === 0) { - layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); - return; - } - del(checkStatus.map(function (d) { - return d.id; - })); - break; + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; case 'exportData': admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ var titles=[]; @@ -146,56 +168,49 @@ table.on('tool(orderDetl)', function(obj){ var data = obj.data; switch (obj.event) { - case 'edit': - showEditModel(data); + case 'manualReporting': + manualReporting([data.id]); break; case "del": del([data.id]); break; + case "enable": + enable([data.id]); + break; } }); - /* 寮圭獥 - 鏂板銆佷慨鏀� */ - function showEditModel(mData) { - admin.open({ - type: 1, - area: '600px', - title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', - content: $('#editDialog').html(), - success: function (layero, dIndex) { - layDateRender(mData); - form.val('detail', mData); - form.on('submit(editSubmit)', function (data) { - var loadIndex = layer.load(2); - $.ajax({ - url: baseUrl+"/orderDetl/"+(mData?'update':'add')+"/auth", - headers: {'token': localStorage.getItem('token')}, - data: data.field, - method: 'POST', - success: function (res) { - layer.close(loadIndex); - if (res.code === 200){ - layer.close(dIndex); - layer.msg(res.msg, {icon: 1}); - tableReload(); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { - layer.msg(res.msg, {icon: 2}); - } - } - }) - return false; - }); - $(layero).children('.layui-layer-content').css('overflow', 'visible'); - layui.form.render('select'); - } + /* 鎵嬪姩涓婃姤 */ + function manualReporting(ids) { + layer.confirm('纭畾瑕佹墜鍔ㄤ笂鎶ラ�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/orderDetl/manualReporting/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) }); } /* 鍒犻櫎 */ function del(ids) { - layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + layer.confirm('纭畾瑕佸叧闂�変腑鏁版嵁鍚楋紵', { skin: 'layui-layer-admin', shade: .1 }, function (i) { @@ -221,6 +236,89 @@ }); } + /* 鍚敤 */ + function enable(ids) { + layer.confirm('纭畾瑕佸惎鐢ㄩ�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/orderDetl/enable/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#ymd\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#wrkDate\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#ioTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnStrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnEndTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#plcStrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnPosTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#refIotime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#errorTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#logErrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + // 鎼滅储 form.on('submit(search)', function (data) { pageCurr = 1; @@ -233,6 +331,30 @@ clearFormVal($('#search-box')); tableReload(false); }); + // 寮傚父 + form.on('submit(abnormal)', function (data) { + pageCurr = 1; + tableReload(true); + // console.log("abnormal"); + // $.ajax({ + // url: baseUrl+"/orderDetl/abnormal", + // headers: {'token': localStorage.getItem('token')}, + // method: 'GET', + // success: function (res) { + // layer.close(loadIndex); + // if (res.code === 200){ + // layer.msg(res.msg, {icon: 1}); + // tableReload(); + // } else if (res.code === 403){ + // top.location.href = baseUrl+"/"; + // } else { + // layer.msg(res.msg, {icon: 2}); + // } + // } + // }) + + }); + // 鏃堕棿閫夋嫨鍣� function layDateRender(data) { @@ -264,8 +386,14 @@ $.each($('#search-box [name]').serializeArray(), function() { searchData[this.name] = this.value; }); + // if(child){ + // searchData["abnormal"] = 1; + // }else { + // searchData["abnormal"] = 0; + // } + tableIns.reload({ where: searchData, page: {curr: pageCurr} - }); + }); } diff --git a/src/main/webapp/views/orderDetl/orderDetl.html b/src/main/webapp/views/orderDetl/orderDetl.html index 2f890dd..0c96fe5 100644 --- a/src/main/webapp/views/orderDetl/orderDetl.html +++ b/src/main/webapp/views/orderDetl/orderDetl.html @@ -18,9 +18,33 @@ <div class="layui-form toolbar" id="search-box"> <div class="layui-form-item"> <div class="layui-inline"> - <label class="layui-form-label">缂栧彿:</label> <div class="layui-input-inline"> - <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + <input class="layui-input" type="text" name="order_no" placeholder="璁㈠崟缂栧彿" + autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="matnr" placeholder="鐗╂枡缂栫爜" + autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <select name="be_batch" id="docType-query"> + </select> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" + placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" + autocomplete="off" style="width: 300px"> </div> </div> <div class="layui-inline">  @@ -38,24 +62,52 @@ </div> </div> +<script type="text/html" id="settleTpl"> + <span name="anfme" + {{# if( d.qty=== d.anfme){ }} + class="layui-badge layui-badge-green" + {{# }else if(d.workQty=== 0){ }} + class="layui-badge layui-badge-yellow" + {{# }else if(d.anfme> d.qty){ }} + class="layui-badge layui-badge-blue" + {{# }else if(d.anfme < d.qty){ }} + class="layui-badge layui-badge-red" + {{# }else if(d.workQty> 0){ }} + class="layui-badge layui-badge-blue" + {{# }else if(d.source === 6){ }} + class="layui-badge layui-badge-gray" + {{# } }} + >{{d.anfme$}}</span> +</script> + <script type="text/html" id="toolbar"> <div class="layui-btn-container"> - <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> - <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> - <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> +<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>--> +<!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>--> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" + style="float: right">瀵煎嚭 + </button> </div> </script> <script type="text/html" id="operate"> - <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> - <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="manualReporting">鎵嬪姩涓婃姤</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍏抽棴</a> + <a class="layui-btn layui-btn-sm layui-btn-xs btn-edit" lay-event="enable">鍚敤</a> </script> - +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></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/orderDetl/orderDetl.js" charset="utf-8"></script> + +<script type="text/template" id="docTypeTpl"> + <option value="">閫夋嫨绫诲瀷</option> + {{#each records}} + <option value="{{docId}}">{{docName}}</option> + {{/each}} +</script> </body> <!-- 琛ㄥ崟寮圭獥 --> <script type="text/html" id="editDialog"> @@ -67,10 +119,13 @@ <label class="layui-form-label">璁㈠崟鍐呯爜: </label> <div class="layui-input-block cool-auto-complete"> <input class="layui-input" name="orderId" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" style="display: none"> - <input id="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" onfocus=this.blur()> + <input id="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" + type="text" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" onfocus=this.blur()> <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" + onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" + onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> @@ -94,21 +149,21 @@ </div> </div> <div class="layui-form-item"> - <label class="layui-form-label">鍚嶇О: </label> + <label class="layui-form-label">璁㈠崟鏁伴噺: </label> <div class="layui-input-block"> - <input class="layui-input" name="name" placeholder="璇疯緭鍏ュ悕绉�"> + <input class="layui-input" name="anfme" placeholder="璇疯緭鍏ュ悕绉�"> </div> </div> <div class="layui-form-item"> - <label class="layui-form-label">瑙勬牸: </label> + <label class="layui-form-label">宸ヤ綔鏁伴噺: </label> <div class="layui-input-block"> - <input class="layui-input" name="specs" placeholder="璇疯緭鍏ヨ鏍�"> + <input class="layui-input" name="workQty" placeholder="璇疯緭鍏ヨ鏍�"> </div> </div> <div class="layui-form-item"> - <label class="layui-form-label">鍨嬪彿: </label> + <label class="layui-form-label">瀹屾垚鏁伴噺: </label> <div class="layui-input-block"> - <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�"> + <input class="layui-input" name="qty" placeholder="璇疯緭鍏ュ瀷鍙�"> </div> </div> <div class="layui-form-item"> @@ -173,10 +228,13 @@ <label class="layui-form-label">娣诲姞浜哄憳: </label> <div class="layui-input-block cool-auto-complete"> <input class="layui-input" name="createBy" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none"> - <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()> + <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" + type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()> <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" + onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" + onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> @@ -191,10 +249,13 @@ <label class="layui-form-label">淇敼浜哄憳: </label> <div class="layui-input-block cool-auto-complete"> <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none"> - <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()> + <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" + type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()> <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" + onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" + onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> @@ -212,7 +273,7 @@ </div> </div> - </div> + </div> </div> <hr class="layui-bg-gray"> <div class="layui-form-item text-right"> @@ -221,5 +282,7 @@ </div> </form> </script> + + </html> -- Gitblit v1.9.1