From 03b5b8a480fb201e288486299eb385a00d2aac66 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 13 十月 2025 09:25:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ycawdasrs-2' into ycawdasrs-2
---
src/main/java/com/zy/asrs/entity/param/CombParam.java | 3
src/main/resources/mapper/asrs/WaitPakinMapper.xml | 0
src/main/resources/license.lic2 | 3
src/main/java/com/zy/third/entity/ExdDepartment.java | 70
src/main/resources/mapper/third/ExdMaterialMapper.xml | 43
.idea/misc.xml | 2
src/main/java/com/zy/asrs/task/ErrorStockScheduler.java | 2
src/main/java/com/zy/third/service/impl/ExdOutstockSourceServiceImpl.java | 18
src/main/resources/mapper/asrs/ApiMapper.xml | 0
src/main/resources/mapper/asrs/LocMastMapper.xml | 0
src/main/resources/mapper/asrs/ManLocDetlMapper.xml | 0
src/main/java/com/zy/third/task/handler/BaseDataHandler.java | 82
src/main/resources/mapper/asrs/TagMapper.xml | 0
src/main/resources/mapper/third/ExdOutstockSourceMapper.xml | 67
src/main/resources/mapper/asrs/HostMapper.xml | 0
src/main/resources/mapper/asrs/ConfigMapper.xml | 0
src/main/java/com/zy/asrs/service/LocDetlService.java | 4
src/main/java/com/zy/third/service/impl/ExdInstockSourceServiceImpl.java | 18
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 110
src/main/java/com/zy/third/service/impl/ExdSupplierServiceImpl.java | 18
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 4
src/main/java/com/zy/third/service/ExdOutstockSourceService.java | 13
src/main/resources/mapper/asrs/WrkDetlLogMapper.xml | 0
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 13
src/main/resources/mapper/asrs/DocLogMapper.xml | 0
src/main/resources/mapper/asrs/RolePermissionMapper.xml | 0
src/main/java/com/zy/third/service/impl/ExdDepartmentServiceImpl.java | 18
src/main/java/com/zy/third/service/ExdOutstockTargetService.java | 13
src/main/resources/mapper/asrs/LicenseInfosMapper.xml | 0
src/main/java/com/zy/third/service/impl/ExdMaterialServiceImpl.java | 18
src/main/resources/mapper/asrs/BasCrnErrorMapper.xml | 0
src/main/webapp/static/js/order/outAll.js | 392 ++++
src/main/webapp/views/order/outAll.html | 314 +++
src/main/java/com/zy/asrs/task/AutoAssignAGVTasks.java | 10
src/main/java/com/zy/third/mapper/ExdInstockSourceMapper.java | 21
src/main/resources/mapper/asrs/BasCrnStatusMapper.xml | 0
src/main/resources/mapper/asrs/UserLoginMapper.xml | 0
src/main/java/com/zy/third/service/ExdMaterialService.java | 13
src/main/java/com/zy/common/web/BaseController.java | 6
src/main/java/com/zy/third/entity/ExdMaterial.java | 75
src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java | 4
src/main/resources/mapper/asrs/OrderDetlMapper.xml | 19
src/main/resources/mapper/asrs/WaitPakinLogMapper.xml | 0
src/main/resources/mapper/asrs/RequestLogMapper.xml | 0
src/main/resources/mapper/asrs/ResourceMapper.xml | 0
src/main/resources/mapper/asrs/PackMapper.xml | 0
src/main/java/com/zy/third/task/OrderScheduler.java | 99 +
src/main/java/com/zy/asrs/mapper/MatMapper.java | 2
src/main/java/com/zy/third/mapper/ExdInstockTargetMapper.java | 15
src/main/resources/mapper/asrs/BasPlcerrorMapper.xml | 0
src/main/java/com/zy/common/model/DetlDto.java | 6
src/main/java/com/zy/asrs/controller/OutController.java | 82
src/main/java/com/zy/asrs/service/MobileService.java | 2
src/main/java/com/zy/third/entity/ExdOutstockSource.java | 193 ++
src/main/resources/mapper/asrs/MatMapper.xml | 4
src/main/java/com/zy/third/entity/ExdOutstockTarget.java | 228 ++
src/main/java/com/zy/third/entity/ExdUser.java | 65
src/main/java/com/zy/asrs/task/OverYearLogScheduler.java | 2
src/main/resources/mapper/asrs/WrkMastMapper.xml | 0
src/main/resources/mapper/asrs/ViewInOutMapper.xml | 0
src/main/java/com/zy/third/service/ExdInstockSourceService.java | 13
src/main/resources/mapper/asrs/LocDetlMapper.xml | 89 +
src/main/java/com/zy/common/config/ds/AbstractRoutingDataSource.java | 38
src/main/resources/mapper/third/ExdSupplierMapper.xml | 24
src/main/resources/mapper/third/ExdOutstockTargetMapper.xml | 64
src/main/java/com/zy/third/service/ExdInstockTargetService.java | 13
src/main/resources/mapper/asrs/BasErrLogMapper.xml | 0
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 155 -
src/main/resources/mapper/asrs/ApiLogMapper.xml | 0
src/main/resources/application.yml | 11
src/main/resources/mapper/asrs/RoleMapper.xml | 0
src/main/resources/mapper/third/ExdUserMapper.xml | 33
src/main/resources/mapper/third/ExdCustomerMapper.xml | 24
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 4
src/main/java/com/zy/third/mapper/ExdOutstockTargetMapper.java | 15
src/main/java/com/zy/third/service/impl/ExdCustomerServiceImpl.java | 18
src/main/resources/mapper/asrs/RowLastnoMapper.xml | 0
src/main/resources/mapper/third/ExdInstockTargetMapper.xml | 60
src/main/java/com/zy/third/mapper/ExdSupplierMapper.java | 15
src/main/java/com/zy/third/task/BaseDataScheduler.java | 95 +
src/main/resources/mapper/asrs/BasWrkStatusMapper.xml | 0
src/main/resources/mapper/asrs/DocTypeMapper.xml | 0
src/main/java/com/zy/third/entity/ExdSupplier.java | 70
src/main/java/com/zy/common/config/ds/DynamicDataSource.java | 11
src/main/java/com/zy/third/mapper/ExdDepartmentMapper.java | 15
src/main/resources/mapper/asrs/BasWhsMapper.xml | 0
src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java | 46
src/main/java/com/zy/third/task/handler/OrderHandler.java | 236 ++
src/main/resources/mapper/asrs/OrderSettleMapper.xml | 0
src/main/resources/mapper/asrs/BasDevpMapper.xml | 0
src/main/java/com/zy/asrs/service/OrderDetlService.java | 4
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 302 ++-
src/main/java/com/zy/asrs/controller/MatController.java | 1
src/main/java/com/zy/third/entity/ExdEmp.java | 70
src/main/java/com/zy/asrs/service/MatService.java | 2
src/main/java/com/zy/asrs/task/NotifyLogScheduler.java | 2
src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java | 40
src/main/resources/mapper/asrs/WrkLastnoMapper.xml | 0
src/main/java/com/zy/common/config/ds/DataSourceType.java | 32
src/main/resources/mapper/asrs/TrayCodeMapper.xml | 0
src/main/resources/mapper/asrs/SaasLogMapper.xml | 0
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 4
src/main/resources/mapper/asrs/BasWrkIotypeMapper.xml | 0
src/main/resources/mapper/asrs/WrkMastLogMapper.xml | 0
src/main/resources/mapper/asrs/LocCheckMapper.xml | 0
src/main/resources/mapper/asrs/OperateLogMapper.xml | 0
src/main/java/com/zy/third/service/ExdUserService.java | 13
src/main/resources/mapper/asrs/BasCrnpMapper.xml | 0
src/main/webapp/views/user/user.html | 12
src/main/java/com/zy/third/service/impl/ExdUserServiceImpl.java | 18
src/main/resources/mapper/asrs/StkPlcmMapper.xml | 0
src/main/java/com/zy/third/service/ExdCustomerService.java | 13
src/main/java/com/zy/third/service/ExdDepartmentService.java | 13
src/main/java/com/zy/third/service/ExdSupplierService.java | 13
src/main/java/com/zy/third/mapper/ExdCustomerMapper.java | 15
src/main/resources/license.lic | 0
src/main/java/com/zy/common/config/ds/DataSourceConfig.java | 54
src/main/java/com/zy/third/mapper/ExdUserMapper.java | 18
src/main/resources/mapper/asrs/ViewStayTimeMapper.xml | 0
src/main/resources/mapper/asrs/AdjDetlMapper.xml | 0
src/main/resources/mapper/asrs/StaDescMapper.xml | 0
src/main/resources/mapper/asrs/PermissionMapper.xml | 0
src/main/resources/mapper/asrs/RoleResourceMapper.xml | 0
src/main/java/com/zy/third/mapper/ExdOutstockSourceMapper.java | 21
src/main/java/com/zy/third/service/impl/ExdEmpServiceImpl.java | 18
src/main/java/com/zy/third/entity/ExdCustomer.java | 70
src/main/java/com/zy/asrs/controller/WorkController.java | 4
src/main/java/com/zy/asrs/task/PlcLogScheduler.java | 2
src/main/resources/mapper/asrs/BasCrnOptMapper.xml | 0
src/main/java/com/zy/third/entity/ExdInstockTarget.java | 223 ++
src/main/java/com/zy/third/entity/ExdInstockSource.java | 183 ++
src/main/java/com/zy/third/service/impl/ExdInstockTargetServiceImpl.java | 18
src/main/webapp/static/js/order/out.js | 4
src/main/java/com/zy/asrs/task/CheckDeepScheduler.java | 2
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 93
src/main/java/com/zy/third/entity/ExdvYanbu.java | 201 ++
src/main/java/com/zy/third/service/impl/ExdOutstockTargetServiceImpl.java | 18
src/main/java/com/zy/third/service/ExdEmpService.java | 13
src/main/webapp/static/js/user/user.js | 2
src/main/resources/com/zy/third/mapper/ExdvYanbuMapper.xml | 14
src/main/resources/mapper/asrs/BasLocStsMapper.xml | 0
src/main/resources/mapper/third/ExdInstockSourceMapper.xml | 64
src/main/java/com/zy/asrs/service/WorkService.java | 12
src/main/resources/mapper/asrs/WrkDetlMapper.xml | 0
src/main/java/com/zy/third/mapper/ExdMaterialMapper.java | 22
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 5
src/main/resources/mapper/third/ExdDepartmentMapper.xml | 24
src/main/resources/mapper/third/ExdEmpMapper.xml | 24
src/main/java/com/zy/asrs/controller/MobileController.java | 408 ++--
src/main/java/com/zy/third/mapper/ExdEmpMapper.java | 15
src/main/java/com/zy/common/config/ds/DataSourceAop.java | 27
src/main/resources/mapper/asrs/ViewStockUseMapper.xml | 0
src/main/resources/mapper/asrs/ViewWorkInMapper.xml | 0
src/main/resources/mapper/asrs/NodeMapper.xml | 0
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 24
src/main/java/com/zy/asrs/task/WorkLogScheduler.java | 2
src/main/resources/mapper/asrs/OrderMapper.xml | 2
src/main/resources/mapper/asrs/UserMapper.xml | 0
158 files changed, 4,771 insertions(+), 490 deletions(-)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index afca537..1035788 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -14,7 +14,7 @@
</list>
</option>
</component>
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 41e0df1..e179e04 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -108,6 +108,7 @@
return R.ok(matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr)));
}
+
@RequestMapping(value = "/mat/list/auth")
@ManagerAuth
public R list(@RequestParam(defaultValue = "1") Integer curr,
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index aaf62cd..d16713a 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -3,12 +3,11 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
-import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
@@ -16,13 +15,13 @@
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
-import com.zy.common.model.LocDto;
-import com.zy.common.model.TaskDto;
import com.zy.common.model.WrkDto;
import com.zy.common.utils.HttpHandler;
import com.zy.common.web.BaseController;
import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
+import com.zy.third.entity.ExdvYanbu;
+import com.zy.third.mapper.ExdMaterialMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -40,7 +39,7 @@
@Slf4j
@RestController
@RequestMapping("mobile")
-public class MobileController extends BaseController {
+public class MobileController extends BaseController {
@Autowired
private MobileService mobileService;
@@ -80,21 +79,24 @@
@Autowired
private ConfigService configService;
+ @Autowired
+ private ExdMaterialMapper exdMaterialMapper;
+
// 鍟嗗搧涓婃灦
@RequestMapping("/mat/onSale/auth")
@ManagerAuth
- public R matOnSale(@RequestBody CombParam combParam){
+ public R matOnSale(@RequestBody CombParam combParam) {
mobileService.onSale(combParam);
return R.ok("涓婃灦鎴愬姛");
}
+
// 鍟嗗搧涓嬫灦
@RequestMapping("/mat/offSale/auth")
//@ManagerAuth
- public R matOffSale(@RequestBody OffSaleParam offSaleParam){
+ public R matOffSale(@RequestBody OffSaleParam offSaleParam) {
mobileService.offSale(offSaleParam);
return R.ok("涓嬫灦鎴愬姛");
}
-
// 缁勬墭 ----------------------------------------------------------------------------------------------------
@@ -105,7 +107,7 @@
*/
@RequestMapping("/order/search/orderNo/auth")
@ManagerAuth
- public R orderSearchByBarcode(@RequestParam String orderNo){
+ public R orderSearchByBarcode(@RequestParam String orderNo) {
Order order = orderService.selectByNo(orderNo);
if (order == null) {
return R.ok();
@@ -126,14 +128,14 @@
@RequestMapping("/comb/auth")
@ManagerAuth(memo = "缁勬墭")
- public R comb(@RequestBody CombParam combParam){
- mobileService.comb(combParam, getUserId());
+ public R comb(@RequestBody CombParam combParam) {
+ mobileService.comb(combParam, getUserId(), getUser().getEmail());
return R.ok("缁勬墭鎴愬姛");
}
@RequestMapping("/pack/get/auth")
@ManagerAuth
- public R packGet(@RequestParam String barcode){
+ public R packGet(@RequestParam String barcode) {
Pack pack = packService.selectByBarcode(barcode);
if (pack == null) {
return R.ok();
@@ -146,7 +148,7 @@
@RequestMapping("/pack/comb/auth")
@ManagerAuth(memo = "涓嬬嚎缁勬墭")
- public R packComb(@RequestBody CombParam combParam){
+ public R packComb(@RequestBody CombParam combParam) {
mobileService.packComb(combParam, getUserId());
return R.ok("缁勬墭鎴愬姛");
}
@@ -159,7 +161,7 @@
@Deprecated
public R pakoutQuery(@RequestParam(required = false) String barcode,
@RequestParam(required = false) Integer staNo,
- @RequestParam(required = false) String matnr){
+ @RequestParam(required = false) String matnr) {
if (Cools.isEmpty(barcode) && Cools.isEmpty(matnr)) {
return R.ok();
}
@@ -183,7 +185,7 @@
*/
@RequestMapping("/pakout/confirm/barcode/auth")
@ManagerAuth
- public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){
+ public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode) {
if (Cools.isEmpty(barcode)) {
return R.ok();
}
@@ -200,7 +202,7 @@
// 鏍规嵁搴撲綅鐮佸拰鍟嗗搧鐮佹悳绱㈠晢鍝�
@RequestMapping("/mat/find/auth")
public R find(@RequestParam(required = false) String locNo
- , @RequestParam(required = false) String matnr){
+ , @RequestParam(required = false) String matnr) {
//List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr);
ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(locNo, matnr);
return R.ok(manLocDetl);
@@ -213,7 +215,7 @@
@RequestMapping("/pakout/confirm/pick/auth")
@ManagerAuth
public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
- , @RequestParam(required = false) String matnr){
+ , @RequestParam(required = false) String matnr) {
if (Cools.isEmpty(wrkNo)) {
return R.ok();
}
@@ -279,9 +281,9 @@
for (WrkDetl wrkDetl : dto.getWrkDetls()) {
wrkDetlService.updateInspect(wrkDetl.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
}
- if(wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) {
+ if (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) {
wrkMast.setWrkSts(34L);//涓嬫灦瀹屾垚绛夊緟鍥炲簱
- }else {
+ } else {
wrkMast.setWrkSts(15L);
}
wrkMastService.updateById(wrkMast);
@@ -340,7 +342,7 @@
@RequestMapping("/adjust/auth")
@ManagerAuth(memo = "鐩樼偣")
- public R adjust(@RequestBody MobileAdjustParam combParam){
+ public R adjust(@RequestBody MobileAdjustParam combParam) {
mobileService.adjust(combParam, getUserId());
return R.ok("鐩樼偣鎴愬姛");
}
@@ -348,10 +350,10 @@
@PostMapping("/order/out/pakout/auth")
@ManagerAuth(memo = "璁㈠崟鍑哄簱")
public synchronized R pakoutByOrder(@RequestBody JSONObject param) {
- if(!param.containsKey("staNo") || !param.containsKey("orderNo")){
+ if (!param.containsKey("staNo") || !param.containsKey("orderNo")) {
return R.parse(BaseRes.PARAM);
}
- mobileService.pakoutByOrder(param,getUserId());
+ mobileService.pakoutByOrder(param, getUserId());
return R.ok("鍑哄簱鎴愬姛");
}
@@ -359,38 +361,39 @@
/**
* 琛ョ┖鏉� 鍖哄煙鍒扮偣
+ *
* @param locNo 鐩爣绔欑偣
* @param size 鎵樼洏澶у皬 1锛氬皬鎵樼洏 2锛氬ぇ鎵樼洏
* @return
*/
@RequestMapping("/FillEmptyPallets")
public synchronized R FillEmptyPallets(@RequestParam(required = false) String locNo
- ,@RequestParam(required = false) String size){
+ , @RequestParam(required = false) String size) {
if (Cools.isEmpty(locNo) || Cools.isEmpty(size)) {
return R.error("绔欑偣鎴栬�呭ぇ灏忎笉鑳戒负绌�");
}
//绌烘墭鐩樼紦鍐插尯 灏忥細E8 澶э細E9
- String rStaNo ="E8";
- if(size.equals("2")){
+ String rStaNo = "E8";
+ if (size.equals("2")) {
rStaNo = "E9";
}
- LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>();
+ LinkedHashMap<String, Object> rcsParam = new LinkedHashMap<>();
rcsParam.put("taskType", "PF-FMR-COMMON");
- List<LinkedHashMap<String,Object>> targetRoutes=new ArrayList<>();
- LinkedHashMap<String,Object> t1=new LinkedHashMap<>();
- LinkedHashMap<String,Object> t2=new LinkedHashMap<>();
+ List<LinkedHashMap<String, Object>> targetRoutes = new ArrayList<>();
+ LinkedHashMap<String, Object> t1 = new LinkedHashMap<>();
+ LinkedHashMap<String, Object> t2 = new LinkedHashMap<>();
t1.put("seq", 0);
- t1.put("type","ZONE");
+ t1.put("type", "ZONE");
t1.put("code", rStaNo);
- t1.put("autoStart",0);
- t1.put("operation","COLLECT");
+ t1.put("autoStart", 0);
+ t1.put("operation", "COLLECT");
t2.put("seq", 0);
- t2.put("type","SITE");
+ t2.put("type", "SITE");
t2.put("code", locNo);
- t2.put("autoStart",0);
- t2.put("operation","DELIVERY");
+ t2.put("autoStart", 0);
+ t2.put("operation", "DELIVERY");
targetRoutes.add(t1);
targetRoutes.add(t2);
@@ -398,18 +401,18 @@
rcsParam.put("initPriority", 100);
- String response ="";
- Boolean bool =false;
+ String response = "";
+ Boolean bool = false;
String msg = "";
- HashMap<String,Object> map = new HashMap<>();
+ HashMap<String, Object> map = new HashMap<>();
Date date = new Date();
- String time = date.getTime()+"";
+ String time = date.getTime() + "";
map.put("X-LR-REQUEST-ID", time);
try {
log.info("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍={}", rcsParam);
response = new HttpHandler.Builder()
- .setHeaders(map)
+ .setHeaders(map)
.setUri(url)
.setHttps(true)
.setPath(attrcs)
@@ -417,10 +420,10 @@
.build()
.doPostCloseSSL();
JSONObject jsonObject = JSON.parseObject(response);
- if(jsonObject.getString("code").equals("SUCCESS")){
+ if (jsonObject.getString("code").equals("SUCCESS")) {
bool = true;
- }else{
- msg=jsonObject.getString("message");
+ } else {
+ msg = jsonObject.getString("message");
}
} catch (Exception e) {
e.printStackTrace();
@@ -436,9 +439,9 @@
);
}
- if(bool){
+ if (bool) {
return R.ok();
- }else {
+ } else {
return R.error(msg);
}
@@ -446,22 +449,44 @@
/**
* 绌烘墭鐩樺洖搴�
+ *
* @param sourceStaNo 鍘熺珯鐐�
- * @param barcode 鎵樼洏澶у皬 1锛氬皬鎵樼洏 2锛氬ぇ鎵樼洏 鐩爣鍖烘垨鑰呭贩閬�
+ * @param barcode 鎵樼洏澶у皬 1锛氬皬鎵樼洏 2锛氬ぇ鎵樼洏 鐩爣鍖烘垨鑰呭贩閬�
* @return
*/
@RequestMapping("/FillEmptyPalletsStack")
public synchronized R FillEmptyPalletsStack(@RequestParam(required = false) String sourceStaNo
- ,@RequestParam(required = false) String barcode){
+ , @RequestParam(required = false) String barcode) {
if (Cools.isEmpty(sourceStaNo) || Cools.isEmpty(barcode)) {
return R.error("绔欑偣鎴栬�呭ぇ灏忎笉鑳戒负绌�");
}
//绌烘墭鐩樼紦鍐插尯 灏忥細E8 澶э細E9
+ String rStaNo = "E8";
+ if (barcode.substring(0, 1).equals("9")) {
String rStaNo ="E8";
String type ="ZONE"; //鍖哄煙
if(barcode.substring(0,1).equals("9")){
rStaNo = "E9";
+ }
+ String type = "ZONE"; //鍖哄煙
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoE").eq("status", "1"));
+ if (config != null) {
+ type = "STACK"; //宸烽亾
+ if (Cools.isEmpty(config.getValue())) {
+ rStaNo = rStaNo + "01";
+ config.setValue("2");
+ } else if (config.getValue().equals("1")) {
+ rStaNo = rStaNo + "01";
+ config.setValue("2");
+ } else if (config.getValue().equals("2")) {
+ rStaNo = rStaNo + "02";
+ config.setValue("3");
+ } else if (config.getValue().equals("3")) {
+ rStaNo = rStaNo + "03";
+ config.setValue("1");
+ }
+ configService.updateById(config);
}else{
Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "autoE").eq("status", "1"));
@@ -484,24 +509,22 @@
}
}
-
-
- LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>();
+ LinkedHashMap<String, Object> rcsParam = new LinkedHashMap<>();
rcsParam.put("taskType", "PF-FMR-COMMON");
- List<LinkedHashMap<String,Object>> targetRoutes=new ArrayList<>();
- LinkedHashMap<String,Object> t1=new LinkedHashMap<>();
- LinkedHashMap<String,Object> t2=new LinkedHashMap<>();
+ List<LinkedHashMap<String, Object>> targetRoutes = new ArrayList<>();
+ LinkedHashMap<String, Object> t1 = new LinkedHashMap<>();
+ LinkedHashMap<String, Object> t2 = new LinkedHashMap<>();
t1.put("seq", 0);
- t1.put("type","SITE");
+ t1.put("type", "SITE");
t1.put("code", sourceStaNo);
- t1.put("autoStart",0);
- t1.put("operation","COLLECT");
+ t1.put("autoStart", 0);
+ t1.put("operation", "COLLECT");
t2.put("seq", 0);
- t2.put("type",type);
+ t2.put("type", type);
t2.put("code", rStaNo);
- t2.put("autoStart",0);
- t2.put("operation","DELIVERY");
+ t2.put("autoStart", 0);
+ t2.put("operation", "DELIVERY");
targetRoutes.add(t1);
targetRoutes.add(t2);
@@ -509,12 +532,12 @@
rcsParam.put("initPriority", 100);
- String response ="";
- Boolean bool =false;
+ String response = "";
+ Boolean bool = false;
String msg = "";
- HashMap<String,Object> map = new HashMap<>();
+ HashMap<String, Object> map = new HashMap<>();
Date date = new Date();
- String time = date.getTime()+"";
+ String time = date.getTime() + "";
map.put("X-LR-REQUEST-ID", time);
try {
@@ -528,10 +551,10 @@
.build()
.doPostCloseSSL();
JSONObject jsonObject = JSON.parseObject(response);
- if(jsonObject.getString("code").equals("SUCCESS")){
+ if (jsonObject.getString("code").equals("SUCCESS")) {
bool = true;
- }else{
- msg=jsonObject.getString("message");
+ } else {
+ msg = jsonObject.getString("message");
}
} catch (Exception e) {
e.printStackTrace();
@@ -547,9 +570,9 @@
);
}
- if(bool){
+ if (bool) {
return R.ok();
- }else {
+ } else {
return R.error(msg);
}
@@ -558,39 +581,40 @@
/**
* 鎵ц绉诲簱浠诲姟--鐐瑰埌鐐�
+ *
* @param sourceStaNo
* @param staNo
* @return
*/
@RequestMapping("/SITESITEAGVMove")
public synchronized R SITESITEAGVMove(@RequestParam(required = false) String sourceStaNo
- ,@RequestParam(required = false) String staNo
- ,@RequestParam(required = false) String taskNo){
+ , @RequestParam(required = false) String staNo
+ , @RequestParam(required = false) String taskNo) {
if (Cools.isEmpty(sourceStaNo) || Cools.isEmpty(staNo)) {
return R.error("婧愮珯鐐瑰拰鐩爣绔欑偣涓嶈兘涓虹┖");
}
- LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>();
+ LinkedHashMap<String, Object> rcsParam = new LinkedHashMap<>();
rcsParam.put("taskType", "PF-FMR-COMMON");
- if(!Cools.isEmpty(taskNo)){
+ if (!Cools.isEmpty(taskNo)) {
rcsParam.put("robotTaskCode", taskNo);
}
- List<LinkedHashMap<String,Object>> targetRoutes=new ArrayList<>();
- LinkedHashMap<String,Object> t1=new LinkedHashMap<>();
- LinkedHashMap<String,Object> t2=new LinkedHashMap<>();
+ List<LinkedHashMap<String, Object>> targetRoutes = new ArrayList<>();
+ LinkedHashMap<String, Object> t1 = new LinkedHashMap<>();
+ LinkedHashMap<String, Object> t2 = new LinkedHashMap<>();
t1.put("seq", 0);
- t1.put("type","SITE");
+ t1.put("type", "SITE");
t1.put("code", sourceStaNo);
- t1.put("autoStart",0);
- t1.put("operation","COLLECT");
+ t1.put("autoStart", 0);
+ t1.put("operation", "COLLECT");
t2.put("seq", 0);
- t2.put("type","SITE");
+ t2.put("type", "SITE");
t2.put("code", staNo);
- t2.put("autoStart",0);
- t2.put("operation","DELIVERY");
+ t2.put("autoStart", 0);
+ t2.put("operation", "DELIVERY");
targetRoutes.add(t1);
targetRoutes.add(t2);
@@ -598,12 +622,12 @@
rcsParam.put("initPriority", 100);
- String response ="";
- Boolean bool =false;
+ String response = "";
+ Boolean bool = false;
String msg = "";
- HashMap<String,Object> map = new HashMap<>();
+ HashMap<String, Object> map = new HashMap<>();
Date date = new Date();
- String time = date.getTime()+"";
+ String time = date.getTime() + "";
map.put("X-LR-REQUEST-ID", time);
try {
@@ -617,10 +641,10 @@
.build()
.doPostCloseSSL();
JSONObject jsonObject = JSON.parseObject(response);
- if(jsonObject.getString("code").equals("SUCCESS")){
+ if (jsonObject.getString("code").equals("SUCCESS")) {
bool = true;
- }else{
- msg=jsonObject.getString("message");
+ } else {
+ msg = jsonObject.getString("message");
}
} catch (Exception e) {
e.printStackTrace();
@@ -636,9 +660,9 @@
);
}
- if(bool){
+ if (bool) {
return R.ok();
- }else {
+ } else {
return R.error(msg);
}
@@ -646,38 +670,39 @@
/**
* 鎵ц绉诲簱浠诲姟--鐐瑰埌鍖哄煙
+ *
* @param sourceStaNo
* @param staNo
* @return
*/
@RequestMapping("/SITEZONEAGVMove")
public synchronized R SITEZONEAGVMove(@RequestParam(required = false) String sourceStaNo
- ,@RequestParam(required = false) String staNo
- ,@RequestParam(required = false) String taskNo){
+ , @RequestParam(required = false) String staNo
+ , @RequestParam(required = false) String taskNo) {
if (Cools.isEmpty(sourceStaNo) || Cools.isEmpty(staNo)) {
return R.error("婧愮珯鐐瑰拰鐩爣绔欑偣涓嶈兘涓虹┖");
}
- LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>();
+ LinkedHashMap<String, Object> rcsParam = new LinkedHashMap<>();
rcsParam.put("taskType", "PF-FMR-COMMON");
- if(!Cools.isEmpty(taskNo)){
+ if (!Cools.isEmpty(taskNo)) {
rcsParam.put("robotTaskCode", taskNo);
}
- List<LinkedHashMap<String,Object>> targetRoutes=new ArrayList<>();
- LinkedHashMap<String,Object> t1=new LinkedHashMap<>();
- LinkedHashMap<String,Object> t2=new LinkedHashMap<>();
+ List<LinkedHashMap<String, Object>> targetRoutes = new ArrayList<>();
+ LinkedHashMap<String, Object> t1 = new LinkedHashMap<>();
+ LinkedHashMap<String, Object> t2 = new LinkedHashMap<>();
t1.put("seq", 0);
- t1.put("type","SITE");
+ t1.put("type", "SITE");
t1.put("code", sourceStaNo);
- t1.put("autoStart",0);
- t1.put("operation","COLLECT");
+ t1.put("autoStart", 0);
+ t1.put("operation", "COLLECT");
t2.put("seq", 0);
- t2.put("type","ZONE");
+ t2.put("type", "ZONE");
t2.put("code", staNo);
- t2.put("autoStart",0);
- t2.put("operation","DELIVERY");
+ t2.put("autoStart", 0);
+ t2.put("operation", "DELIVERY");
targetRoutes.add(t1);
targetRoutes.add(t2);
@@ -685,12 +710,12 @@
rcsParam.put("initPriority", 100);
- String response ="";
- Boolean bool =false;
+ String response = "";
+ Boolean bool = false;
String msg = "";
- HashMap<String,Object> map = new HashMap<>();
+ HashMap<String, Object> map = new HashMap<>();
Date date = new Date();
- String time = date.getTime()+"";
+ String time = date.getTime() + "";
map.put("X-LR-REQUEST-ID", time);
try {
@@ -704,10 +729,10 @@
.build()
.doPostCloseSSL();
JSONObject jsonObject = JSON.parseObject(response);
- if(jsonObject.getString("code").equals("SUCCESS")){
+ if (jsonObject.getString("code").equals("SUCCESS")) {
bool = true;
- }else{
- msg=jsonObject.getString("message");
+ } else {
+ msg = jsonObject.getString("message");
}
} catch (Exception e) {
e.printStackTrace();
@@ -723,9 +748,9 @@
);
}
- if(bool){
+ if (bool) {
return R.ok();
- }else {
+ } else {
return R.error(msg);
}
@@ -733,38 +758,39 @@
/**
* 鎵ц绉诲簱浠诲姟--鍖哄煙鍒扮偣
+ *
* @param sourceStaNo
* @param staNo
* @return
*/
@RequestMapping("/ZONESITEAGVMove")
public synchronized R ZONESITEAGVMove(@RequestParam(required = false) String sourceStaNo
- ,@RequestParam(required = false) String staNo
- ,@RequestParam(required = false) String taskNo){
+ , @RequestParam(required = false) String staNo
+ , @RequestParam(required = false) String taskNo) {
if (Cools.isEmpty(sourceStaNo) || Cools.isEmpty(staNo)) {
return R.error("婧愮珯鐐瑰拰鐩爣绔欑偣涓嶈兘涓虹┖");
}
- LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>();
+ LinkedHashMap<String, Object> rcsParam = new LinkedHashMap<>();
rcsParam.put("taskType", "PF-FMR-COMMON");
- if(!Cools.isEmpty(taskNo)){
+ if (!Cools.isEmpty(taskNo)) {
rcsParam.put("robotTaskCode", taskNo);
}
- List<LinkedHashMap<String,Object>> targetRoutes=new ArrayList<>();
- LinkedHashMap<String,Object> t1=new LinkedHashMap<>();
- LinkedHashMap<String,Object> t2=new LinkedHashMap<>();
+ List<LinkedHashMap<String, Object>> targetRoutes = new ArrayList<>();
+ LinkedHashMap<String, Object> t1 = new LinkedHashMap<>();
+ LinkedHashMap<String, Object> t2 = new LinkedHashMap<>();
t1.put("seq", 0);
- t1.put("type","ZONE");
+ t1.put("type", "ZONE");
t1.put("code", sourceStaNo);
- t1.put("autoStart",0);
- t1.put("operation","COLLECT");
+ t1.put("autoStart", 0);
+ t1.put("operation", "COLLECT");
t2.put("seq", 0);
- t2.put("type","SITE");
+ t2.put("type", "SITE");
t2.put("code", staNo);
- t2.put("autoStart",0);
- t2.put("operation","DELIVERY");
+ t2.put("autoStart", 0);
+ t2.put("operation", "DELIVERY");
targetRoutes.add(t1);
targetRoutes.add(t2);
@@ -772,12 +798,12 @@
rcsParam.put("initPriority", 100);
- String response ="";
- Boolean bool =false;
+ String response = "";
+ Boolean bool = false;
String msg = "";
- HashMap<String,Object> map = new HashMap<>();
+ HashMap<String, Object> map = new HashMap<>();
Date date = new Date();
- String time = date.getTime()+"";
+ String time = date.getTime() + "";
map.put("X-LR-REQUEST-ID", time);
try {
@@ -791,10 +817,10 @@
.build()
.doPostCloseSSL();
JSONObject jsonObject = JSON.parseObject(response);
- if(jsonObject.getString("code").equals("SUCCESS")){
+ if (jsonObject.getString("code").equals("SUCCESS")) {
bool = true;
- }else{
- msg=jsonObject.getString("message");
+ } else {
+ msg = jsonObject.getString("message");
}
} catch (Exception e) {
e.printStackTrace();
@@ -810,9 +836,9 @@
);
}
- if(bool){
+ if (bool) {
return R.ok();
- }else {
+ } else {
return R.error(msg);
}
@@ -820,54 +846,55 @@
/**
* AGV绔欑偣缁戝畾鍜岃В缁�
- * @param sourceStaNo //绔欑偣
- * @param barcodeType //鎵樼洏鐮�
- * @param invoke //BIND涓虹粦瀹� UNBIND涓鸿В缁�
+ *
+ * @param sourceStaNo //绔欑偣
+ * @param barcodeType //鎵樼洏鐮�
+ * @param invoke //BIND涓虹粦瀹� UNBIND涓鸿В缁�
* @return
*/
@RequestMapping("/siteBindAndUnbind")
public synchronized R siteBindAndUnbind(@RequestParam(required = false) String sourceStaNo
- ,@RequestParam(required = false) String barcodeType
- ,@RequestParam(required = false) String invoke){
+ , @RequestParam(required = false) String barcodeType
+ , @RequestParam(required = false) String invoke) {
if (Cools.isEmpty(sourceStaNo) || Cools.isEmpty(barcodeType)) {
return R.error("绔欑偣鍜屾墭鐩樼被鍨嬩笉鑳戒负绌�");
}
- if(barcodeType.substring(0,1).equals("8")){
- barcodeType="11";
- }else if(barcodeType.substring(0,1).equals("9")){
- barcodeType="21";
+ if (barcodeType.substring(0, 1).equals("8")) {
+ barcodeType = "11";
+ } else if (barcodeType.substring(0, 1).equals("9")) {
+ barcodeType = "21";
}
- LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>();
+ LinkedHashMap<String, Object> rcsParam = new LinkedHashMap<>();
rcsParam.put("slotCategory", "SITE");
rcsParam.put("slotCode", sourceStaNo);
rcsParam.put("carrierCategory", "PALLET");
rcsParam.put("carrierType", barcodeType);//11涓哄皬鎵樼洏 21涓哄ぇ鎵樼洏
-if(sourceStaNo.equals("101")){
- rcsParam.put("carrierDir","0");
-}else if(sourceStaNo.equals("R01")||sourceStaNo.equals("R03")){
- rcsParam.put("carrierDir","-90");
+ if (sourceStaNo.equals("101")) {
+ rcsParam.put("carrierDir", "0");
+ } else if (sourceStaNo.equals("R01") || sourceStaNo.equals("R03")) {
+ rcsParam.put("carrierDir", "-90");
- }else if(sourceStaNo.equals("R02")){
- rcsParam.put("carrierDir","90");
-}else {
- rcsParam.put("carrierDir","180");
-}
+ } else if (sourceStaNo.equals("R02")) {
+ rcsParam.put("carrierDir", "90");
+ } else {
+ rcsParam.put("carrierDir", "180");
+ }
rcsParam.put("temporary", "");
rcsParam.put("invoke", invoke);
- String response ="";
- Boolean bool =false;
+ String response = "";
+ Boolean bool = false;
String msg = "";
- HashMap<String,Object> map = new HashMap<>();
+ HashMap<String, Object> map = new HashMap<>();
Date date = new Date();
- String time = date.getTime()+"";
+ String time = date.getTime() + "";
map.put("X-LR-REQUEST-ID", time);
try {
- log.info("WMS瀹屾垚"+invoke+"agv绔欑偣={},涓婃姤鍙傛暟涓�={}",sourceStaNo,rcsParam);
+ log.info("WMS瀹屾垚" + invoke + "agv绔欑偣={},涓婃姤鍙傛暟涓�={}", sourceStaNo, rcsParam);
response = new HttpHandler.Builder()
.setHeaders(map)
.setUri(url)
@@ -877,16 +904,16 @@
.build()
.doPostCloseSSL();
JSONObject jsonObject = JSON.parseObject(response);
- if(jsonObject.getString("code").equals("SUCCESS")){
+ if (jsonObject.getString("code").equals("SUCCESS")) {
bool = true;
- }else{
- msg=jsonObject.getString("message");
+ } else {
+ msg = jsonObject.getString("message");
}
} catch (Exception e) {
e.printStackTrace();
- log.error("WMS瀹屾垚"+invoke+"agv绔欑偣澶辫触={}", response);
+ log.error("WMS瀹屾垚" + invoke + "agv绔欑偣澶辫触={}", response);
} finally {
- apiLogService.save("WMS瀹屾垚"+invoke+"agv绔欑偣"+sourceStaNo
+ apiLogService.save("WMS瀹屾垚" + invoke + "agv绔欑偣" + sourceStaNo
, url + siteBindAndUnbing
, null
, "127.0.0.1"
@@ -896,9 +923,9 @@
);
}
- if(bool){
+ if (bool) {
return R.ok();
- }else {
+ } else {
return R.error(msg);
}
@@ -906,36 +933,37 @@
/**
* 绌烘澘鍥炲簱鎴栬�呮嫞鏂欏洖搴�
+ *
* @param sourceStaNo
* @param staNo
* @return
*/
@RequestMapping("/AGVStartReturn")
public synchronized R AGVStartReturn(@RequestParam(required = false) String sourceStaNo
- ,@RequestParam(required = false) String staNo
- ,@RequestParam(required = false) String taskNo){
+ , @RequestParam(required = false) String staNo
+ , @RequestParam(required = false) String taskNo) {
if (Cools.isEmpty(sourceStaNo) || Cools.isEmpty(staNo)) {
return R.error("婧愮珯鐐瑰拰鎵樼洏鐮佷笉鑳戒负绌�");
}
- R r=R.ok();
+ R r = R.ok();
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", staNo).in("io_type",103,105,107));
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", staNo).in("io_type", 103, 105, 107));
if (wrkMast == null) {
- r=FillEmptyPalletsStack(sourceStaNo,staNo);
- }else {
- if (wrkMast.getWrkSts()>30){
+ r = FillEmptyPalletsStack(sourceStaNo, staNo);
+ } else {
+ if (wrkMast.getWrkSts() > 30) {
return R.error("璇ユ墭鐩�={},娌℃湁涓嬫灦锛岃涓嬫灦鍚庡啀鍥炲簱锛侊紒锛�");
}
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).in("io_type",101,103,105,107).lt("wrk_sts", 33));
- if (!Cools.isEmpty(wrkMasts)){
- return R.error(wrkMast.getCrnNo()+"鍫嗗灈鏈�,鏈夊嚭搴撲换鍔★紝绂佹鍥炲簱锛侊紒锛�");
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).in("io_type", 101, 103, 105, 107).lt("wrk_sts", 33));
+ if (!Cools.isEmpty(wrkMasts)) {
+ return R.error(wrkMast.getCrnNo() + "鍫嗗灈鏈�,鏈夊嚭搴撲换鍔★紝绂佹鍥炲簱锛侊紒锛�");
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String format = sdf.format(new Date());
- String s = format+"-" + wrkMast.getWrkNo() + "-" + wrkMast.getBarcode();
- r=SITESITEAGVMove(sourceStaNo,wrkMast.getStaNo$(),s);
+ String s = format + "-" + wrkMast.getWrkNo() + "-" + wrkMast.getBarcode();
+ r = SITESITEAGVMove(sourceStaNo, wrkMast.getStaNo$(), s);
if (r.get("code").equals(200)) {
wrkMast.setPdcType(s);
/**
@@ -955,16 +983,38 @@
/**
* 鑾峰彇浠撳簱
+ *
* @return
*/
@RequestMapping("/ck")
@PostMapping
- public R AGVStartReturn(){
- List<String> list=new ArrayList<>();
+ public R AGVStartReturn() {
+ List<String> list = new ArrayList<>();
list.add("鍗婃垚鍝佷粨搴�");
list.add("鎴愬搧浠撳簱");
return R.ok(list);
}
+ @RequestMapping(value = "/mat/tiaoma/auth")
+ @ManagerAuth
+ public R find(@RequestParam("barcode") String barcode) {
+ ExdvYanbu barcode1 = exdMaterialMapper.getBacode(barcode);
+ if (barcode1 == null) {
+ return R.error("鎵规瀵瑰簲鐨勯獙甯冩暟鎹笉瀛樺湪");
+ }
+ return R.ok(barcode1);
+ }
+
+ @RequestMapping(value = "/getOrderNo/auth")
+ @ManagerAuth
+ public R findOrderNo(@RequestParam("orderNo") String orderNo) {
+ Page<Order> orderPage = orderService.selectPage(new Page<>(0, 10), new EntityWrapper<Order>().like("order_no", "%" + orderNo + "%"));
+ List<String> objects = new ArrayList<>();
+ for (Order record : orderPage.getRecords()) {
+ objects.add(record.getOrderNo());
+ }
+ return R.ok(objects);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index d82af4e..820b5fd 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -4,7 +4,6 @@
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
-import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.*;
@@ -63,7 +62,9 @@
for (OrderDetl orderDetl : orderDetls) {
double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
- if (issued <= 0.0D) { continue; }
+ if (issued <= 0.0D) {
+ continue;
+ }
List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
for (LocDetl locDetl : locDetls) {
if (issued > 0) {
@@ -113,7 +114,9 @@
List<TaskDto> taskDtos = new ArrayList<>();
// 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
for (LocDto locDto : locDtos) {
- if (locDto.isLack()) { continue; }
+ if (locDto.isLack()) {
+ continue;
+ }
TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
if (TaskDto.has(taskDtos, taskDto)) {
TaskDto dto = TaskDto.find(taskDtos, taskDto);
@@ -125,7 +128,78 @@
}
// -----------------------------------------------------------------------------------------------
for (TaskDto taskDto : taskDtos) {
- workService.stockOut(null, taskDto, getUserId(), taskDto.getStaNo());
+ workService.stockOut(null, taskDto, getUser(), taskDto.getStaNo());
+ }
+ return R.ok();
+ }
+
+
+ @PostMapping("/out/pakout2/preview/auth")
+ @ManagerAuth
+ public R pakoutPreview2(@RequestBody List<Long> ids) {
+ if (Cools.isEmpty(ids)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids);
+ List<LocDto> locDtos = new ArrayList<>();
+
+ Set<String> exist = new HashSet<>();
+
+ for (OrderDetl orderDetl : orderDetls) {
+
+ List<LocDetl> locDetls = locDetlService.queryStockAll(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
+ for (LocDetl locDetl : locDetls) {
+ LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), locDetl.getAnfme());
+ List<String> staNos = new ArrayList<>();
+ staNos.add("C1");
+ staNos.add("C2");
+ staNos.add("C3");
+ locDto.setStaNos(staNos);
+ locDtos.add(locDto);
+ exist.add(locDetl.getLocNo());
+ }
+ }
+ return R.ok().add(locDtos);
+ }
+
+ @PostMapping("/out/pakout2/auth")
+ @ManagerAuth(memo = "璁㈠崟鍑哄簱")
+ public synchronized R pakout2(@RequestBody List<LocDto> locDtos) throws InterruptedException {
+ if (Cools.isEmpty(locDtos)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ boolean lack = true;
+ for (LocDto locDto : locDtos) {
+ if (!locDto.isLack()) {
+ lack = false;
+ break;
+ }
+ }
+ if (lack) {
+ return R.error("搴撳瓨涓嶈冻");
+ }
+
+ Thread.sleep(1000L);
+
+
+ List<TaskDto> taskDtos = new ArrayList<>();
+ // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
+ for (LocDto locDto : locDtos) {
+ if (locDto.isLack()) {
+ continue;
+ }
+ TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
+ if (TaskDto.has(taskDtos, taskDto)) {
+ TaskDto dto = TaskDto.find(taskDtos, taskDto);
+ assert dto != null;
+ dto.getLocDtos().addAll(taskDto.getLocDtos());
+ } else {
+ taskDtos.add(taskDto);
+ }
+ }
+ // -----------------------------------------------------------------------------------------------
+ for (TaskDto taskDto : taskDtos) {
+ workService.stockOutCheckAnfme(null, taskDto, getUser(), taskDto.getStaNo());
}
return R.ok();
}
diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index bd09690..5d86b36 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -86,7 +86,7 @@
@RequestMapping("/plate/out/start")
@ManagerAuth(memo = "鍑哄簱浣滀笟")
public R fullStoreTakeStart(@RequestBody StockOutParam param) {
- workService.startupFullTakeStore(param, getUserId());
+ workService.startupFullTakeStore(param, getUser());
return R.ok("鍑哄簱鍚姩鎴愬姛");
}
@@ -106,7 +106,7 @@
@RequestMapping("/locCheck/out/start")
@ManagerAuth(memo = "鐩樼偣鍑哄簱")
public R locCheckOutStart(@RequestBody StockOutParam param) {
- workService.locCheckOut(param, getUserId());
+ workService.locCheckOut(param, getUser());
return R.ok("鍑哄簱鍚姩鎴愬姛");
}
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index 466f65a..94ce9f9 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -27,6 +27,9 @@
private String ck;
+ private boolean type = false;
+
+
//agv鐘舵��
/**
* 0锛氭棤闇�璋冪敤AGV
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index ab14d4c..ffe02c6 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -56,6 +56,10 @@
List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
+
+ List<LocDetl> queryStockAll(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
+
+
List<LocDetl> queryStockOther(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos,@Param("locNo")String locNo);
diff --git a/src/main/java/com/zy/asrs/mapper/MatMapper.java b/src/main/java/com/zy/asrs/mapper/MatMapper.java
index 056df9f..d5a6687 100644
--- a/src/main/java/com/zy/asrs/mapper/MatMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/MatMapper.java
@@ -17,4 +17,6 @@
Mat selectByMatnr(@Param("matnr")String matnr);
+ Mat selectBySku(@Param("sku")String sku);
+
}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index b67806c..a5a2736 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -35,6 +35,10 @@
int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty);
+
+ int increaseWorkQty2(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty, @Param("color")String color);
+
+
int increaseWorkQtytest(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("anfme")Double anfme);
}
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index ce05fcb..9a1fee0e 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -46,6 +46,10 @@
List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
+
+ List<LocDetl> queryStockAll(String matnr, String batch, String orderNo, Set<String> locNos);
+
+
List<LocDetl> queryStockOther(String matnr, String batch, String orderNo, Set<String> locNos,String locNo);
diff --git a/src/main/java/com/zy/asrs/service/MatService.java b/src/main/java/com/zy/asrs/service/MatService.java
index faa1370..a643044 100644
--- a/src/main/java/com/zy/asrs/service/MatService.java
+++ b/src/main/java/com/zy/asrs/service/MatService.java
@@ -10,4 +10,6 @@
Mat selectByMatnr(String matnr);
+ Mat selectBySku(String sku);
+
}
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 6172647..5af2226 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -15,7 +15,7 @@
/**
* 缁勬墭
*/
- void comb(CombParam param, Long userId);
+ void comb(CombParam param, Long userId, String fxId);
/**
* 涓婃灦
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index ede8c56..d82c544 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -38,5 +38,9 @@
*/
boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
+
+ boolean increaseWorkQty2(Long orderId, String matnr, String batch, Double workQty, String color);
+
+
boolean increaseWorkQtytest(String orderNo, String matnr, String batch, Double anfme);
}
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index cc6b4eb..d63c4e6 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -10,6 +10,7 @@
import com.zy.common.model.StartupDto;
import com.zy.common.model.TaskDto;
import com.zy.common.model.enums.IoWorkType;
+import com.zy.system.entity.User;
import java.util.List;
@@ -24,7 +25,7 @@
/**
* 鍑哄簱浣滀笟
*/
- void startupFullTakeStore(StockOutParam param, Long userId);
+ void startupFullTakeStore(StockOutParam param, User userId);
/**
* 鍑哄簱浣滀笟
@@ -32,9 +33,12 @@
* @param locDetls 寰呭嚭搴撶墿鏂�
* @param ioType 鍏ュ嚭搴撶被鍨�
*/
- void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId,String agvStaNo);
+ void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, User user,String agvStaNo);
- void stockOut(BasDevp staNo, TaskDto taskDto, Long userId,String agvStaNo);
+ void stockOut(BasDevp staNo, TaskDto taskDto, User user, String agvStaNo);
+
+ void stockOutCheckAnfme(BasDevp staNo, TaskDto taskDto, User user, String agvStaNo);
+
/**
* 绌烘澘鍏ュ簱
@@ -50,7 +54,7 @@
/**
* 鐩樼偣鍑哄簱
*/
- void locCheckOut(StockOutParam param, Long userId);
+ void locCheckOut(StockOutParam param, User userId);
/**
* 搴撲綅绉昏浆
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 59bd94e..c5b95e0 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -82,6 +82,11 @@
}
@Override
+ public List<LocDetl> queryStockAll(String matnr, String batch, String orderNo, Set<String> locNos) {
+ return this.baseMapper.queryStockAll(matnr, batch, orderNo, locNos);
+ }
+
+ @Override
public List<LocDetl> queryStockOther(String matnr, String batch, String orderNo, Set<String> locNos,String locNo) {
return this.baseMapper.queryStockOther(matnr, batch, orderNo, locNos,locNo);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
index 0165023..7be7345 100644
--- a/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
@@ -21,5 +21,9 @@
return this.baseMapper.selectByMatnr(matnr);
}
+ @Override
+ public Mat selectBySku(String matnr) {
+ return this.baseMapper.selectBySku(matnr);
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 6cf5d08..c7dd5c4 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -4,7 +4,10 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
-import com.core.common.*;
+import com.core.common.BaseRes;
+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.entity.param.CombParam;
@@ -14,7 +17,6 @@
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
-import com.zy.common.CodeRes;
import com.zy.common.constant.MesConstant;
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
@@ -78,7 +80,7 @@
@Override
@Transactional
- public void comb(CombParam param, Long userId) {
+ public void comb(CombParam param, Long userId, String fxId) {
if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
throw new CoolException(BaseRes.PARAM);
}
@@ -88,12 +90,12 @@
throw new CoolException(param.getBarcode() + "鏁版嵁缁勬墭妗d腑宸插瓨鍦�");
}
- int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
- int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
+ int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
+ int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
// int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())
// .last(" wrk_no IN ( SELECT wrk_no FROM asr_wrk_mast WHERE wrk_sts != 15 )"));
- if (countLoc > 0 ) {
+ if (countLoc > 0) {
throw new CoolException("搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
}
if (countWrk > 0) {
@@ -103,12 +105,12 @@
Date now = new Date();
//杩涜鎵瑰彿绛涢�夛紝鎵瑰彿鍙兘鍞竴
- Set<String> batchs=new HashSet<>();
- List<String> strings=new ArrayList<>();
+ Set<String> batchs = new HashSet<>();
+ List<String> strings = new ArrayList<>();
- for(CombParam.CombMat mat : param.getCombMats()){
- if(Cools.isEmpty(mat.getBatch())){
+ for (CombParam.CombMat mat : param.getCombMats()) {
+ if (Cools.isEmpty(mat.getBatch())) {
continue;
}
batchs.add(mat.getBatch());
@@ -116,14 +118,14 @@
WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("batch", mat.getBatch()));
WrkDetl batch = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("batch", mat.getBatch()));
LocDetl batch1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", mat.getBatch()));
- if(!Cools.isEmpty(batch)||!Cools.isEmpty(batch1)||!Cools.isEmpty(waitPakin)){
- throw new CoolException("璇ョ墿鏂欐壒鍙�"+mat.getBatch()+"宸插湪鍏ュ簱閫氱煡妗c�佷换鍔℃槑缁嗗拰搴撳瓨涓瓨鍦�");
+ if (!Cools.isEmpty(batch) || !Cools.isEmpty(batch1) || !Cools.isEmpty(waitPakin)) {
+ throw new CoolException("璇ョ墿鏂欐壒鍙�" + mat.getBatch() + "宸插湪鍏ュ簱閫氱煡妗c�佷换鍔℃槑缁嗗拰搴撳瓨涓瓨鍦�");
}
}
- if(batchs.size()<strings.size()){
+ if (batchs.size() < strings.size()) {
throw new CoolException("鏈夐噸澶嶇殑鐗╂枡鎵瑰彿");
}
- int i =1;
+ int i = 1;
// 鏃犲崟缁勬墭
if (Cools.isEmpty(param.getOrderNo())) {
@@ -143,7 +145,7 @@
for (DetlDto detlDto : detlDtos) {
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
- if (Cools.isEmpty(detlDto.getBatch())){
+ if (Cools.isEmpty(detlDto.getBatch())) {
detlDto.setBatch("");
}
if (Cools.isEmpty(mat)) {
@@ -161,7 +163,8 @@
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
waitPakin.setBrand(param.getCk());//浠撳簱
- if(i==1){
+ waitPakin.setInspect(param.isType() ? 1 : 0);
+ if (i == 1) {
// 0锛氫笉闇�瑕佽ˉ绌烘墭鐩�
// 1锛氬皬鎵樼洏
// 2锛氬ぇ鎵樼洏
@@ -179,11 +182,11 @@
waitPakin.setSuppCode(param.getBarcode());
}
i++;
- if (!waitPakinService.insert(waitPakin)) {
+ if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
}
- // 鍏宠仈缁勬墭
+ // 鍏宠仈缁勬墭
} else {
Order order = orderService.selectByNo(param.getOrderNo());
if (order.getSettle() > 2) {
@@ -199,7 +202,7 @@
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
// 淇敼璁㈠崟浣滀笟鏁伴噺
- if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+ if (!orderDetlService.increaseWorkQty2(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme(), fxId)) {
throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
}
@@ -229,7 +232,9 @@
waitPakin.setAppeTime(now);
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
- if(i==1){
+ waitPakin.setBrand(param.getCk());//浠撳簱
+ waitPakin.setInspect(param.isType() ? 1 : 0);
+ if (i == 1) {
// 0锛氫笉闇�瑕佽ˉ绌烘墭鐩�
// 1锛氬皬鎵樼洏
// 2锛氬ぇ鎵樼洏
@@ -268,15 +273,15 @@
}
// 鑾峰彇鍟嗗搧鍒楄〃
- for(CombParam.CombMat combMat : param.getCombMats()){
+ for (CombParam.CombMat combMat : param.getCombMats()) {
Mat mat = matService.selectByMatnr(combMat.getMatnr());
- if (Cools.isEmpty(mat)){
+ if (Cools.isEmpty(mat)) {
throw new CoolException(combMat.getMatnr() + ":鍟嗗搧妗f涓嶅瓨鍦紒");
}
- if (Cools.isEmpty(combMat.getAnfme()) || combMat.getAnfme()==0){
+ if (Cools.isEmpty(combMat.getAnfme()) || combMat.getAnfme() == 0) {
throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鏁伴噺鏈夎锛�");
}
- if (Cools.isEmpty(combMat.getBatch())){
+ if (Cools.isEmpty(combMat.getBatch())) {
// throw new CoolException(combMat.getMatnr() + ":鍟嗗搧鎵瑰彿鏈夎锛�");
}
ManLocDetl manLocDetl = new ManLocDetl();
@@ -297,16 +302,16 @@
@Override
public void offSale(OffSaleParam offSaleParam) {
ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
- if (Cools.isEmpty(manLocDetl)){
+ if (Cools.isEmpty(manLocDetl)) {
throw new CoolException("鏃犳鍟嗗搧锛�");
}
double anfme = manLocDetl.getAnfme() - offSaleParam.getAnfme();
if (anfme < 0) {
throw new CoolException("鍟嗗搧搴撳瓨涓嶈冻锛�");
- } else if (anfme == 0){
+ } else if (anfme == 0) {
manLocDetlMapper.deleteLocNo0(offSaleParam.getLocNo(), offSaleParam.getMatnr());
}
- manLocDetlMapper.updateAnfme0(anfme,manLocDetl.getNodeId());
+ manLocDetlMapper.updateAnfme0(anfme, manLocDetl.getNodeId());
}
// 鏌ユ壘鍟嗗搧
@@ -365,7 +370,9 @@
// 娣诲姞鏄庣粏
for (WrkDetl wrkDetl : list) {
- if (wrkDetl.getAnfme() == 0.0D) { continue; }
+ if (wrkDetl.getAnfme() == 0.0D) {
+ continue;
+ }
// todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰�
String orderNo = wrkDetl.getOrderNo();
Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
@@ -381,7 +388,7 @@
}
// 淇敼鐩樼偣浠诲姟涓绘。鐘舵��
- wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0?"Y":"N");
+ wrkMast.setFullPlt(wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).size() != 0 ? "Y" : "N");
wrkMast.setModiTime(now);
wrkMast.setModiUser(userId);
if (!wrkMastService.updateById(wrkMast)) {
@@ -458,10 +465,10 @@
if (jsonObject.getInteger("code").equals(200)) {
success = true;
} else if (jsonObject.getInteger("code").equals(500)) {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
throw new CoolException(jsonObject.getString("msg"));
} else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
throw new CoolException("涓婃姤mes绯荤粺澶辫触");
}
} catch (Exception e) {
@@ -479,7 +486,9 @@
response,
success
);
- } catch (Exception e) { log.error("", e); }
+ } catch (Exception e) {
+ log.error("", e);
+ }
}
}
@@ -556,19 +565,19 @@
BasDevp sta = basDevpService.checkSiteStatus(staNo);
//鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。
Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderNo));
- if (order.getSettle() != 1 && order.getSettle() != 2){
+ if (order.getSettle() != 1 && order.getSettle() != 2) {
throw new CoolException("璇ヨ鍗曞凡澶勭悊");
}
List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
Date now = new Date();
- for(OrderDetl orderDetl : orderDetls){
+ for (OrderDetl orderDetl : orderDetls) {
//鏌ヨ鎵�鏈夊簱浣嶇姸鎬佷负F鐨勫簱浣嶄俊鎭�
- List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(),orderDetl.getBatch(),null,null);
+ List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, null);
if (locDetls.size() == 0) {
throw new CoolException("搴撳瓨涓病鏈夎鐗╂枡");
}
- for(LocDetl locDetl : locDetls){
+ for (LocDetl locDetl : locDetls) {
//濡傛灉璇ュ簱浣嶅嚭搴撹矾绾挎墍鐢ㄧ殑鍫嗗灈鏈簅ut_enable涓嶄负Y,璺宠繃璇ュ惊鐜�
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
.eq("loc_no", locDetl.getLocNo()));
@@ -577,13 +586,13 @@
}
BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
.eq("crn_no", locMast.getCrnNo()));
- if (Cools.isEmpty(crn_no) || !crn_no.getOutEnable().equals("Y")){
+ if (Cools.isEmpty(crn_no) || !crn_no.getOutEnable().equals("Y")) {
continue;
}
//鍙嚭搴撴暟閲� = 璁㈠崟鏁伴噺 - 浣滀笟涓暟閲�
Double outQty = orderDetl.getAnfme() - orderDetl.getWorkQty();
- if(outQty <= 0){
+ if (outQty <= 0) {
break;
}
// 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
@@ -595,18 +604,18 @@
order.setSettle(2L);
order.setUpdateBy(userId);
order.setUpdateTime(now);
- if(!orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))){
+ if (!orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))) {
throw new CoolException("鏇存柊璁㈠崟鐘舵�佸け璐�");
}
orderDetl.setWorkQty(orderDetl.getWorkQty() + curOutQty);
orderDetl.setUpdateBy(userId);
orderDetl.setUpdateTime(now);
Wrapper wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo)
- .eq("matnr",orderDetl.getMatnr());
- if(!Cools.isEmpty(orderDetl.getBatch())){
+ .eq("matnr", orderDetl.getMatnr());
+ if (!Cools.isEmpty(orderDetl.getBatch())) {
wrapper.eq("batch", orderDetl.getBatch());
}
- if(!orderDetlService.update(orderDetl, wrapper)){
+ if (!orderDetlService.update(orderDetl, wrapper)) {
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 3e98ae8..dd11979 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -2,11 +2,11 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
-import com.core.common.Cools;
-import com.zy.asrs.mapper.OrderDetlMapper;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.service.OrderDetlService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.mapper.OrderDetlMapper;
+import com.zy.asrs.service.OrderDetlService;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -80,6 +80,7 @@
/**
* 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
+ *
* @param orderId
* @param matnr
* @param batch
@@ -93,6 +94,21 @@
/**
* 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
+ *
+ * @param orderId
+ * @param matnr
+ * @param batch
+ * @param workQty
+ * @return
+ */
+ @Override
+ public boolean increaseWorkQty2(Long orderId, String matnr, String batch, Double workQty, String color) {
+ return this.baseMapper.increaseWorkQty2(orderId, matnr, batch, workQty, color) > 0;
+ }
+
+ /**
+ * 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
+ *
* @param orderNo
* @param matnr
* @param batch
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 7e7c2ad..5d07400 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -20,6 +20,7 @@
import com.zy.common.properties.SlaveProperties;
import com.zy.common.service.CommonService;
import com.zy.common.web.WcsController;
+import com.zy.system.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -136,27 +137,27 @@
sourceStaNo.setWrkNo(workNo);
sourceStaNo.setModiUser(userId);
sourceStaNo.setModiTime(now);
- if (!basDevpService.updateById(sourceStaNo)){
+ if (!basDevpService.updateById(sourceStaNo)) {
throw new CoolException("鏇存柊婧愮珯澶辫触");
}
// 鏇存柊鐩爣搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(dto.getLocNo());
- if (locMast.getLocSts().equals("O")){
+ if (locMast.getLocSts().equals("O")) {
locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
locMast.setModiUser(userId);
locMast.setModiTime(now);
- if (!locMastService.updateById(locMast)){
+ if (!locMastService.updateById(locMast)) {
throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
}
} else {
- throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
}
return dto.getLocNo();
}
@Override
@Transactional
- public void startupFullTakeStore(StockOutParam param, Long userId) {
+ public void startupFullTakeStore(StockOutParam param, User userId) {
String agvStaNo = param.getOutSite();
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
@@ -169,7 +170,7 @@
if (!locDetlDtos.isEmpty()) {
// 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
- stockOut(null, locDetlDtos, null, userId,agvStaNo);
+ stockOut(null, locDetlDtos, null, userId, agvStaNo);
} else {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
}
@@ -177,7 +178,7 @@
@Override
@Transactional
- public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId,String agvStaNo) {
+ public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, User user, String agvStaNo) {
Date now = new Date();
// 鍚堝苟鍚岀被椤�
Set<String> locNos = new HashSet<>();
@@ -210,17 +211,17 @@
LocMast locMast = locMastService.selectById(dto.getLocNo());
if (Cools.isEmpty(locMast)) {
- throw new CoolException(dto.getLocNo()+"搴撲綅涓嶅瓨鍦�");
+ throw new CoolException(dto.getLocNo() + "搴撲綅涓嶅瓨鍦�");
}
- if(!locMast.getLocSts().equals("F")){
- throw new CoolException(dto.getLocNo()+"鎵樼洏闈炲湪搴撶姸鎬�");
+ if (!locMast.getLocSts().equals("F")) {
+ throw new CoolException(dto.getLocNo() + "鎵樼洏闈炲湪搴撶姸鎬�");
}
Integer outSta = 0;
- if(locMast.getCrnNo()==1){
+ if (locMast.getCrnNo() == 1) {
outSta = 105;
- }else if(locMast.getCrnNo()==2){
+ } else if (locMast.getCrnNo() == 2) {
outSta = 103;
- }else if(locMast.getCrnNo()==3){
+ } else if (locMast.getCrnNo() == 3) {
outSta = 101;
}
@@ -250,28 +251,30 @@
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
wrkMast.setBarcode(locMast.getBarcode());
- wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeUser(user.getId()); // 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(now);
- wrkMast.setModiUser(userId);
+ wrkMast.setModiUser(user.getId());
wrkMast.setModiTime(now);
wrkMast.setMemo(Cools.isEmpty(agvStaNo) ? "" : agvStaNo);
if (!wrkMastService.insert(wrkMast)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo());
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
}
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
- if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
+ if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
+ continue;
+ }
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(detlDto.getLocDetl());
wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
wrkDetl.setWrkNo(workNo);
wrkDetl.setIoTime(now);
- Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
+ Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount();
wrkDetl.setAnfme(anfme); // 鏁伴噺
wrkDetl.setAppeTime(now);
- wrkDetl.setAppeUser(userId);
+ wrkDetl.setAppeUser(user.getId());
wrkDetl.setModiTime(now);
- wrkDetl.setModiUser(userId);
+ wrkDetl.setModiUser(user.getId());
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
@@ -279,11 +282,11 @@
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(dto.getLocNo());
if (locMast.getLocSts().equals("F")) {
- locMast.setLocSts(ioType==101?"R":"P");
- locMast.setModiUser(userId);
+ locMast.setLocSts(ioType == 101 ? "R" : "P");
+ locMast.setModiUser(user.getId());
locMast.setModiTime(now);
if (!locMastService.updateById(locMast)) {
- throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+dto.getLocNo());
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + dto.getLocNo());
}
} else {
throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
@@ -293,7 +296,7 @@
@Override
@Transactional
- public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId,String agvStaNo) {
+ public void stockOut(BasDevp staNo, TaskDto taskDto, User user, String agvStaNo) {
Date now = new Date();
List<LocDto> locDtos = taskDto.getLocDtos();
for (LocDto locDto : locDtos) {
@@ -306,15 +309,15 @@
// 鑾峰彇璺緞
int ioType = taskDto.isAll() ? 101 : 103;
Integer outSta = 0;
- if(locMast.getCrnNo()==1){
+ if (locMast.getCrnNo() == 1) {
outSta = 106;
- }else if(locMast.getCrnNo()==2){
+ } else if (locMast.getCrnNo() == 2) {
outSta = 104;
- }else if(locMast.getCrnNo()==3){
+ } else if (locMast.getCrnNo() == 3) {
outSta = 102;
}
- StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(),outSta);
+ StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), outSta);
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
@@ -334,22 +337,24 @@
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
wrkMast.setBarcode(locMast.getBarcode());
- wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeUser(user.getId()); // 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(now);
- wrkMast.setModiUser(userId);
+ wrkMast.setModiUser(user.getId());
wrkMast.setModiTime(now);
wrkMast.setMemo(Cools.isEmpty(agvStaNo) ? "" : agvStaNo);
if (!wrkMastService.insert(wrkMast)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+taskDto.getLocNo());
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo());
}
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDto locDto : taskDto.getLocDtos()) {
- if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
+ if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
+ continue;
+ }
OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
if (orderDetl == null) {
orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
}
- Mat mat=matService.selectOne(new EntityWrapper<Mat>().eq("matnr",locDto.getMatnr()));
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", locDto.getMatnr()));
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(orderDetl);
wrkDetl.setZpallet(wrkMast.getBarcode());
@@ -360,31 +365,144 @@
wrkDetl.setModel(mat.getModel());
wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
wrkDetl.setAppeTime(now);
- wrkDetl.setAppeUser(userId);
+ wrkDetl.setAppeUser(user.getId());
wrkDetl.setModiTime(now);
- wrkDetl.setModiUser(userId);
+ wrkDetl.setModiUser(user.getId());
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
// 淇敼璁㈠崟鏄庣粏
- if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+ if (!orderDetlService.increaseWorkQty2(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme(), user.getEmail())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
- orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
+ orderService.updateSettle(orderDetl.getOrderId(), 2L, user.getId());
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(taskDto.getLocNo());
if (locMast.getLocSts().equals("F")) {
- locMast.setLocSts(ioType==101?"R":"P");
- locMast.setModiUser(userId);
+ locMast.setLocSts(ioType == 101 ? "R" : "P");
+ locMast.setModiUser(user.getId());
locMast.setModiTime(now);
if (!locMastService.updateById(locMast)) {
- throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+taskDto.getLocNo());
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + taskDto.getLocNo());
}
} else {
throw new CoolException(taskDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
}
}
+
+
+ @Override
+ @Transactional
+ public void stockOutCheckAnfme(BasDevp staNo, TaskDto taskDto, User user, String agvStaNo) {
+ Date now = new Date();
+ List<LocDto> locDtos = taskDto.getLocDtos();
+ for (LocDto locDto : locDtos) {
+ if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) {
+ throw new CoolException("璁㈠崟鍑哄簱寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+ }
+ // 鑾峰彇搴撲綅
+ LocMast locMast = locMastService.selectById(taskDto.getLocNo());
+ for (LocDto locDto : taskDto.getLocDtos()) {
+ if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
+ continue;
+ }
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ }
+ if (orderDetl.getAnfme() - orderDetl.getWorkQty() == 0) {
+ return;
+ }
+
+ }
+
+ // 鑾峰彇璺緞
+ int ioType = taskDto.isAll() ? 101 : 103;
+ Integer outSta = 0;
+ if (locMast.getCrnNo() == 1) {
+ outSta = 106;
+ } else if (locMast.getCrnNo() == 2) {
+ outSta = 104;
+ } else if (locMast.getCrnNo() == 3) {
+ outSta = 102;
+ }
+
+ StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), outSta);
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
+ wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
+ wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("N");
+ wrkMast.setBarcode(locMast.getBarcode());
+ wrkMast.setAppeUser(user.getId()); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(user.getId());
+ wrkMast.setModiTime(now);
+ wrkMast.setMemo(Cools.isEmpty(agvStaNo) ? "" : agvStaNo);
+ if (!wrkMastService.insert(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo());
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ for (LocDto locDto : taskDto.getLocDtos()) {
+ if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
+ continue;
+ }
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ }
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", locDto.getMatnr()));
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(orderDetl);
+ wrkDetl.setZpallet(wrkMast.getBarcode());
+ wrkDetl.setIoTime(now);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setBatch(locDto.getBatch());
+ wrkDetl.setOrderNo(locDto.getOrderNo());
+ wrkDetl.setModel(mat.getModel());
+ wrkDetl.setAnfme(locDto.getAnfme() > (orderDetl.getAnfme() - orderDetl.getWorkQty()) ? (orderDetl.getAnfme() - orderDetl.getWorkQty()) : locDto.getAnfme()); // 鏁伴噺
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(user.getId());
+ wrkDetl.setModiTime(now);
+ wrkDetl.setModiUser(user.getId());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ // 淇敼璁㈠崟鏄庣粏
+ if (!orderDetlService.increaseWorkQty2(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), wrkDetl.getAnfme(), user.getEmail())) {
+ throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
+ }
+ orderService.updateSettle(orderDetl.getOrderId(), 2L, user.getId());
+ }
+ // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
+ locMast = locMastService.selectById(taskDto.getLocNo());
+ if (locMast.getLocSts().equals("F")) {
+ locMast.setLocSts(ioType == 101 ? "R" : "P");
+ locMast.setModiUser(user.getId());
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + taskDto.getLocNo());
+ }
+ } else {
+ throw new CoolException(taskDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
+ }
+ }
+
@Override
@Transactional
@@ -426,20 +544,20 @@
sourceStaNo.setWrkNo(workNo);
sourceStaNo.setModiUser(userId);
sourceStaNo.setModiTime(now);
- if (!basDevpService.updateById(sourceStaNo)){
+ if (!basDevpService.updateById(sourceStaNo)) {
throw new CoolException("鏇存柊婧愮珯澶辫触");
}
// 鏇存柊鐩爣搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(dto.getLocNo());
- if (locMast.getLocSts().equals("O")){
+ if (locMast.getLocSts().equals("O")) {
locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
locMast.setModiUser(userId);
locMast.setModiTime(now);
- if (!locMastService.updateById(locMast)){
+ if (!locMastService.updateById(locMast)) {
throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
}
} else {
- throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
}
return dto.getLocNo();
}
@@ -456,10 +574,10 @@
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
- throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
+ throw new CoolException(locNo + "搴撲綅涓嶅瓨鍦�");
}
- if(!locMast.getLocSts().equals("D")){
- throw new CoolException(locNo+"鎵樼洏闈炲湪搴撶姸鎬�");
+ if (!locMast.getLocSts().equals("D")) {
+ throw new CoolException(locNo + "鎵樼洏闈炲湪搴撶姸鎬�");
}
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
@@ -497,7 +615,7 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
- if (locMast.getLocSts().equals("D")){
+ if (locMast.getLocSts().equals("D")) {
locMast.setLocSts("R");
locMast.setModiUser(userId);
locMast.setModiTime(now);
@@ -510,7 +628,7 @@
@Override
@Transactional
- public void locCheckOut(StockOutParam param, Long userId) {
+ public void locCheckOut(StockOutParam param, User userId) {
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
@@ -522,7 +640,7 @@
}
if (!locDetlDtos.isEmpty()) {
// 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
- stockOut(null, locDetlDtos, IoWorkType.CHECK_OUT, userId,null);
+ stockOut(null, locDetlDtos, IoWorkType.CHECK_OUT, userId, null);
} else {
throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
}
@@ -533,11 +651,11 @@
public void locMove(String sourceLocNo, String locNo, Long userId) {
LocMast sourceLoc = locMastService.selectById(sourceLocNo);
List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
- if (Cools.isEmpty(sourceLoc)){
+ if (Cools.isEmpty(sourceLoc)) {
throw new CoolException("鏈壘鍒板簱浣�");
}
LocMast loc = locMastService.selectById(locNo);
- if (Cools.isEmpty(loc)){
+ if (Cools.isEmpty(loc)) {
throw new CoolException("鏈壘鍒板簱浣�");
}
if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
@@ -556,10 +674,10 @@
wrkMast.setCrnNo(sourceLoc.getCrnNo());
wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
- wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 婊℃澘锛歒
+ wrkMast.setFullPlt(Cools.isEmpty(locDetls) ? "N" : "Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
- wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘
+ wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
wrkMast.setLinkMis("N");
wrkMast.setAppeUser(userId);
@@ -590,11 +708,11 @@
sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
sourceLoc.setModiUser(userId);
sourceLoc.setModiTime(now);
- if (!locMastService.updateById(sourceLoc)){
+ if (!locMastService.updateById(sourceLoc)) {
throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
}
} else {
- throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLoc.getLocSts$());
+ throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細" + sourceLoc.getLocSts$());
}
// 淇敼鐩爣搴撲綅鐘舵��
if (loc.getLocSts().equals("O")) {
@@ -605,7 +723,7 @@
throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
}
} else {
- throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocSts$());
+ throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細" + loc.getLocSts$());
}
}
@@ -613,16 +731,16 @@
@Transactional
public void completeWrkMast(String workNo, Long userId) {
WrkMast wrkMast = wrkMastService.selectById(workNo);
- if (Cools.isEmpty(wrkMast)){
- throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
- if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+ if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) {
wrkMast.setWrkSts(4L);
- // 鍑哄簱
+ // 鍑哄簱
} else if (wrkMast.getWrkSts() > 10) {
wrkMast.setWrkSts(14L);
}
@@ -663,7 +781,9 @@
Iterator<LocDetlAdjustParam.LocDetlAdjust> iterator1 = list.iterator();
while (iterator1.hasNext()) {
LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next();
- if (adjust.getCount() == 0) { continue; }
+ if (adjust.getCount() == 0) {
+ continue;
+ }
if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) {
if (!locDetl.getAnfme().equals(adjust.getCount())) {
// todo 鐩樼偣璁板綍
@@ -712,7 +832,9 @@
// 娣诲姞搴撳瓨
for (LocDetlAdjustParam.LocDetlAdjust adjust : list) {
- if (adjust.getCount() == 0.0D) { continue; }
+ if (adjust.getCount() == 0.0D) {
+ continue;
+ }
Mat mat = matService.selectByMatnr(adjust.getMatnr());
LocDetl locDetl = new LocDetl();
locDetl.sync(mat);
@@ -764,8 +886,8 @@
public void cancelWrkMast(String workNo, Long userId) {
Date now = new Date();
WrkMast wrkMast = wrkMastService.selectById(workNo);
- if (Cools.isEmpty(wrkMast)){
- throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
@@ -779,29 +901,29 @@
// 搴撲綅杞Щ锛氭簮搴撲綅
LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo());
+ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo());
}
- locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F");
+ locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F");
locMast.setModiTime(now);
locMast.setModiUser(userId);
locMastService.updateById(locMast);
}
- // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
+ // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
} else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
locNo = wrkMast.getSourceLocNo();
// 鍑哄簱 ===>> F.鍦ㄥ簱
if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
locSts = "F";
- // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
+ // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 110) {
locSts = "D";
- // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
+ // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 11) {
- locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F";
+ locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F";
// 搴撲綅杞Щ锛氱洰鏍囧簱浣�
LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo());
+ throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo());
}
locMast.setLocSts("O");
locMast.setModiTime(now);
@@ -813,9 +935,9 @@
}
//鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊
- if(wrkMast.getIoType() == 1) {
- List<WaitPakin> waitPakins=waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
- for (WaitPakin waitPakin:waitPakins){
+ if (wrkMast.getIoType() == 1) {
+ List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
+ for (WaitPakin waitPakin : waitPakins) {
if (!Cools.isEmpty(waitPakin)) {
waitPakin.setIoStatus("N");
waitPakin.setLocNo("");
@@ -828,7 +950,7 @@
}
//鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺
- if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
+ if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
for (WrkDetl wrkDetl : wrkDetls) {
//瀛楃涓蹭笉涓虹┖
@@ -839,20 +961,20 @@
//淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
boolean flag = true;
- List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
- for(OrderDetl orderDetl : orderDetls){
- if(orderDetl.getWorkQty() > 0){
+ List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", wrkDetl.getOrderNo()));
+ for (OrderDetl orderDetl : orderDetls) {
+ if (orderDetl.getWorkQty() > 0) {
flag = false;
}
}
- if(flag){
- Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
- if(!Cools.isEmpty(order) && order.getSettle()==2){
+ if (flag) {
+ Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()));
+ if (!Cools.isEmpty(order) && order.getSettle() == 2) {
order.setSettle(1L);
order.setUpdateBy(userId);
order.setUpdateTime(now);
}
- if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
+ if (!orderService.update(order, new EntityWrapper<Order>().eq("order_no", wrkDetl.getOrderNo()))) {
throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
}
}
@@ -899,7 +1021,7 @@
// 淇敼搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
- throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
+ throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo);
}
locMast.setLocSts(locSts);
locMast.setModiTime(now);
@@ -914,8 +1036,8 @@
@Transactional
public void pickWrkMast(String workNo, Long userId) {
WrkMast wrkMast = wrkMastService.selectById(workNo);
- if (Cools.isEmpty(wrkMast)){
- throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
// 鍏ュ嚭搴撶被鍨嬪垽鏂�
if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
@@ -993,7 +1115,7 @@
// 鐩爣搴撲綅
LocMast targetLoc = null;
- for (int curRow = rowLastno.getsRow(); curRow<=rowLastno.geteRow(); curRow++) {
+ for (int curRow = rowLastno.getsRow(); curRow <= rowLastno.geteRow(); curRow++) {
if (Utils.isShallowLoc(slaveProperties, curRow)) {
Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
@@ -1052,15 +1174,15 @@
throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
}
// 淇敼搴撲綅鐘舵�� O ===>>> S
- if (targetLoc.getLocSts().equals("O")){
+ if (targetLoc.getLocSts().equals("O")) {
targetLoc.setLocSts("S"); // S.鍏ュ簱棰勭害
targetLoc.setModiUser(userId);
targetLoc.setModiTime(now);
- if (!locMastService.updateById(targetLoc)){
+ if (!locMastService.updateById(targetLoc)) {
throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
}
} else {
- throw new CoolException(targetLoc.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+ throw new CoolException(targetLoc.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
}
// 绂佺敤寮傚父搴撲綅
// locMast.setLocSts("X"); // X.绂佺敤
diff --git a/src/main/java/com/zy/asrs/task/AutoAssignAGVTasks.java b/src/main/java/com/zy/asrs/task/AutoAssignAGVTasks.java
index 6452017..ca91d38 100644
--- a/src/main/java/com/zy/asrs/task/AutoAssignAGVTasks.java
+++ b/src/main/java/com/zy/asrs/task/AutoAssignAGVTasks.java
@@ -30,7 +30,7 @@
*/
@Component
public class AutoAssignAGVTasks {
- private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
+ private static final Logger log = LoggerFactory.getLogger(AutoAssignAGVTasks.class);
@Autowired
private WaitPakinService waitPakinService;
@@ -51,7 +51,7 @@
* 鑷姩娲惧彂鍏ュ簱浠诲姟缁橝GV
*/
@Scheduled(cron = "0/3 * * * * ? ")
- private synchronized void execute(){
+ public synchronized void execute(){
/**
* agv鐘舵��
* be_batch
@@ -174,7 +174,7 @@
* 鑷姩娲惧彂琛ョ┖鏉夸换鍔$粰AGV
*/
@Scheduled(cron = "0/3 * * * * ? ")
- private synchronized void autoFillEmptyPallets(){
+ public synchronized void autoFillEmptyPallets(){
/**
* 璇ュ瓧娈垫槸缁勬墭鍏ュ簱鑷姩鍑哄彂琛ョ┖鎵樼洏鏍囪
* item_num
@@ -220,7 +220,7 @@
* 鑷姩娲惧彂鍑哄簱浠诲姟缁檃gv鎼繍
*/
@Scheduled(cron = "0/3 * * * * ? ")
- private synchronized void autoOut(){
+ public synchronized void autoOut(){
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 30));
if (wrkMasts.isEmpty()) {
return;
@@ -265,7 +265,7 @@
* 鍏ュ簱浠诲姟鑷姩瑙g粦agv绔欑偣
*/
@Scheduled(cron = "0/3 * * * * ? ")
- private synchronized void UnbindTheSite(){
+ public synchronized void UnbindTheSite(){
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
.in("io_type",1,53)
.ge("wrk_sts", 2)
diff --git a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
index db1adb8..addb2f7 100644
--- a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
+++ b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
@@ -47,7 +47,7 @@
* 灏嗕袱涓繁搴撲綅鍚堝苟涓烘繁娴呭簱浣�,鐗╂枡鍙风浉鍚岋紝婧愬簱浣嶅叆搴撴棩鏈熸棭浜庣洰鏍囧簱浣嶅搴旀繁搴撲綅鍏ュ簱鏃ユ湡锛屽簱浣嶇姸鎬侀兘涓篎
*/
@Scheduled(cron = "0/30 * * * * ?")
- private void execute() throws ParseException {
+ public void execute() throws ParseException {
if (!confirmDeep) return;
ReturnT<String> result = checkDeepHandler.start();
diff --git a/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java b/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
index 917cfc4..4d79614 100644
--- a/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ErrorStockScheduler.java
@@ -20,7 +20,7 @@
private ErrorStockHandler errorStockHandler;
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){
+ public void execute(){
ReturnT<String> returnT = errorStockHandler.start();
if (!returnT.isSuccess()) {
log.error(returnT.getMsg());
diff --git a/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java b/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
index 93799d9..c69354e 100644
--- a/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/NotifyLogScheduler.java
@@ -20,7 +20,7 @@
private NotifyLogHandler notifyLogHandler;
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){
+ public void execute(){
ReturnT<String> returnT = notifyLogHandler.start();
if (!returnT.isSuccess()) {
log.error(returnT.getMsg());
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 61004e9..c0954cd 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -38,16 +38,21 @@
}
}
-// @Scheduled(cron = "0/5 * * * * ? ")
+ @Scheduled(cron = "0/5 * * * * ? ")
@Async("orderThreadPool")
public void completeAndReport(){
String erpReport = Parameter.get().getErpReport();
if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
List<Order> orders = orderService.selectComplete();
for (Order order : orders) {
- ReturnT<String> result = orderSyncHandler.start(order);
- if (!result.isSuccess()) {
- log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+ try {
+ ReturnT<String> result = orderSyncHandler.start(order);
+ if (!result.isSuccess()) {
+ log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo());
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ log.error("鍗曟嵁[orderNo={}]涓婃姤erp鎶ラ敊", order.getOrderNo());
}
}
}
diff --git a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
index 95a8a29..60387eb 100644
--- a/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OverYearLogScheduler.java
@@ -20,7 +20,7 @@
private OverYearLogHandler overYearLogHandler;
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){
+ public void execute(){
ReturnT<String> returnT = overYearLogHandler.start();
if (!returnT.isSuccess()) {
log.error(returnT.getMsg());
diff --git a/src/main/java/com/zy/asrs/task/PlcLogScheduler.java b/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
index 708392f..57517fe 100644
--- a/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/PlcLogScheduler.java
@@ -20,7 +20,7 @@
private PlcLogHandler plcLogHandler;
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){
+ public void execute(){
ReturnT<String> returnT = plcLogHandler.start();
if (!returnT.isSuccess()) {
log.error(returnT.getMsg());
diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
index 06a0624..ee29a50 100644
--- a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -24,7 +24,7 @@
private WrkMastService wrkMastService;
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){
+ public void execute(){
List<WrkMast> wrkMasts = wrkMastService.selectToBeHistoryData();
if (wrkMasts.isEmpty()) {
return;
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 36ce070..5453129 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -28,7 +28,7 @@
private WorkMastHandler workMastHandler;
@Scheduled(cron = "0/3 * * * * ? ")
- private void execute(){
+ public void execute(){
List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData();
if (wrkMasts.isEmpty()) {
return;
@@ -48,7 +48,7 @@
//鎷f枡浠诲姟澶勭悊
@Scheduled(cron = "0/3 * * * * ? ")
- private void jl(){
+ public void jl(){
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
.eq("io_type",103)
.eq("wrk_sts",14L)
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 43b50b1..4bf9fec 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -1,8 +1,5 @@
package com.zy.asrs.task.handler;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
@@ -14,16 +11,16 @@
import com.zy.asrs.service.OrderService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.constant.MesConstant;
-import com.zy.common.model.MesPakinParam;
-import com.zy.common.model.MesPakoutParam;
-import com.zy.common.utils.HttpHandler;
+import com.zy.third.entity.ExdInstockTarget;
+import com.zy.third.entity.ExdOutstockTarget;
+import com.zy.third.service.ExdInstockTargetService;
+import com.zy.third.service.ExdOutstockTargetService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Date;
import java.util.List;
/**
@@ -33,8 +30,7 @@
@Service
public class OrderSyncHandler extends AbstractHandler<String> {
- @Autowired
- private JdbcTemplate jdbcTemplate;
+
@Autowired
private OrderService orderService;
@Autowired
@@ -44,6 +40,13 @@
@Autowired
private DocTypeService docTypeService;
+ @Autowired
+ private ExdInstockTargetService exdInstockTargetService;
+
+
+ @Autowired
+ private ExdOutstockTargetService exdOutstockTargetService;
+
@Transactional
public ReturnT<String> start(Order order) {
DocType docType = docTypeService.selectById(order.getDocType());
@@ -51,107 +54,53 @@
return SUCCESS;
}
List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
+ if (orderDetls.isEmpty()){
+ return SUCCESS;
+ }
// 鍏ュ簱瀹屾垚涓婃姤
if (docType.getPakin() == 1) {
- MesPakinParam pakinParam = new MesPakinParam();
- pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime()));
- pakinParam.setLgortFrom("5008");
- pakinParam.setLgortTo("5006");
+ ExdInstockTarget exdInstockTarge = null;
for (OrderDetl orderDetl : orderDetls) {
- String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
- pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
+ exdInstockTarge = new ExdInstockTarget();
+ exdInstockTarge.setFinterid(orderDetl.getDeadWarn());
+ exdInstockTarge.setFbillno(orderDetl.getOrderNo());
+ exdInstockTarge.setFtrantype(order.getDocType().intValue());
+ exdInstockTarge.setFdate(DateUtils.convert(order.getOrderTime()));
+ exdInstockTarge.setFrob(orderDetl.getInspect());
+ exdInstockTarge.setFuserid(Integer.getInteger(orderDetl.getColor()));
+ exdInstockTarge.setWritetime(new Date());
+ exdInstockTarge.setWritor("WMS");
+ exdInstockTarge.setStatus(0);
+ exdInstockTargetService.insert(exdInstockTarge);
}
- String response = "";
- boolean success = false;
- try {
- response = new HttpHandler.Builder()
- .setUri(MesConstant.URL)
- .setPath(MesConstant.PAKIN_URL)
- .setJson(JSON.toJSONString(pakinParam))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
- success = true;
- // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
- if (!orderService.updateSettle(order.getId(), 6L, null)) {
- throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
- }
- } else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response);
- throw new CoolException("涓婃姤mes绯荤粺澶辫触");
- }
- } catch (Exception e) {
- log.error("fail", e);
-// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg(e.getMessage());
- } finally {
- try {
- // 淇濆瓨鎺ュ彛鏃ュ織
- apiLogService.save(
- "鎴愬搧搴撳叆搴撲笂鎶�",
- MesConstant.URL + MesConstant.PAKIN_URL,
- null,
- "127.0.0.1",
- JSON.toJSONString(pakinParam),
- response,
- success
- );
- } catch (Exception e) { log.error("", e); }
+ if (!orderService.updateSettle(order.getId(), 6L, null)) {
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
- }
- // 鍑哄簱瀹屾垚涓婃姤
- if (docType.getPakout() == 1) {
- MesPakoutParam pakoutParam = new MesPakoutParam();
- pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("鎵嬪姩鍑哄簱鍗�"));
- pakoutParam.setPakoutTime(DateUtils.convert(order.getUpdateTime()));
- pakoutParam.setLgortFrom("5006");
- pakoutParam.setLgortTo("1111");
- if (!pakoutParam.isTag()) {
- pakoutParam.setKunnr("C1000");
- }
- pakoutParam.setOrderNo(order.getOrderNo());
+ } else if (docType.getPakout() == 1) {
+ // 鍑哄簱瀹屾垚涓婃姤
+ ExdOutstockTarget exdOutstockTarget = null;
for (OrderDetl orderDetl : orderDetls) {
- String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch();
- pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme()));
- }
- String response = "";
- boolean success = false;
- try {
- response = new HttpHandler.Builder()
- .setUri(MesConstant.URL)
- .setPath(MesConstant.PAKOUT_URL)
- .setJson(JSON.toJSONString(pakoutParam))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
- success = true;
- // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
- if (!orderService.updateSettle(order.getId(), 6L, null)) {
- throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
- }
+ exdOutstockTarget = new ExdOutstockTarget();
+ exdOutstockTarget.setFinterid(orderDetl.getDeadWarn());
+ exdOutstockTarget.setFbillno(orderDetl.getOrderNo());
+ if (order.getDocType() == 42) {
+ exdOutstockTarget.setFtrantype(41);
+ } else if (order.getDocType() == 21) {
+ exdOutstockTarget.setFtrantype(81);
} else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response);
- throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+ exdOutstockTarget.setFtrantype(order.getDocType().intValue());
}
- } catch (Exception e) {
- log.error("fail", e);
-// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg(e.getMessage());
- } finally {
- try {
- // 淇濆瓨鎺ュ彛鏃ュ織
- apiLogService.save(
- "鎴愬搧搴撳嚭搴撲笂鎶�",
- MesConstant.URL + MesConstant.PAKOUT_URL,
- null,
- "127.0.0.1",
- JSON.toJSONString(pakoutParam),
- response,
- success
- );
- } catch (Exception e) { log.error("", e); }
+ exdOutstockTarget.setFdate(DateUtils.convert(order.getOrderTime()));
+ exdOutstockTarget.setFrob(orderDetl.getInspect());
+ exdOutstockTarget.setFuserid(Integer.getInteger(orderDetl.getColor()));
+ exdOutstockTarget.setWritetime(new Date());
+ exdOutstockTarget.setWritor("WMS");
+ exdOutstockTarget.setStatus(0);
+ exdOutstockTargetService.insert(exdOutstockTarget);
+
+ }
+ if (!orderService.updateSettle(order.getId(), 6L, null)) {
+ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
}
}
return SUCCESS;
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index b575820..b156340 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -6,6 +6,10 @@
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.third.entity.ExdInstockTarget;
+import com.zy.third.entity.ExdvYanbu;
+import com.zy.third.mapper.ExdMaterialMapper;
+import com.zy.third.service.ExdInstockTargetService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -36,18 +40,25 @@
@Autowired
private OrderDetlService orderDetlService;
+ @Autowired
+ private ExdInstockTargetService exdInstockTargetService;
+
+ @Autowired
+ private ExdMaterialMapper exdMaterialMapper;
+
+ @Transactional
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
if (wrkMast.getWrkSts() == 4) {
return doIn(wrkMast);
- // 14.鍑哄簱瀹屾垚
- } else if (wrkMast.getWrkSts() == 14) {
+ // 14.鍑哄簱瀹屾垚
+ } else if (wrkMast.getWrkSts() == 14) {
return doOut(wrkMast);
}
return SUCCESS;
}
- private ReturnT<String> doIn(WrkMast wrkMast){
+ private ReturnT<String> doIn(WrkMast wrkMast) {
Date now = new Date();
LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
try {
@@ -116,22 +127,25 @@
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- if(orderDetl==null){
- orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
}
try {
- if(!Cools.isEmpty(orderDetl)){
- if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- orderDetl.getBatch(),wrkDetl.getAnfme())){
+ if (!Cools.isEmpty(orderDetl)) {
+ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ orderDetl.getBatch(), wrkDetl.getAnfme())) {
// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
// wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
}
- } catch (Exception ignore){}
+ } catch (Exception ignore) {
+ }
}
+ // 鍐欏叆涓棿琛ㄦ暟鎹�
+ write(wrkMast, wrkDetls);
// 淇敼搴撲綅鐘舵�� S ====>> F
if (locMast.getLocSts().equals("S")) {
locMast.setLocSts("F");
@@ -167,20 +181,21 @@
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- if(orderDetl==null){
- orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
}
try {
- if(!Cools.isEmpty(orderDetl)){
- if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- orderDetl.getBatch(),wrkDetl.getAnfme())){
+ if (!Cools.isEmpty(orderDetl)) {
+ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ orderDetl.getBatch(), wrkDetl.getAnfme())) {
// exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
// wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
}
- } catch (Exception ignore){}
+ } catch (Exception ignore) {
+ }
}
// 淇敼搴撲綅鐘舵�� Q ====>> F
@@ -206,7 +221,7 @@
return FAIL.setMsg("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
// 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
- for (WrkDetl wrkDetl:wrkDetls54) {
+ for (WrkDetl wrkDetl : wrkDetls54) {
LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
if (null != locDetl) {
@@ -254,7 +269,7 @@
}
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
- locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D");
+ locMast.setLocSts(wrkMast.getFullPlt().equals("Y") ? "F" : "D");
locMast.setBarcode(wrkMast.getBarcode());
locMast.setIoTime(now);
locMast.setModiTime(now);
@@ -323,7 +338,7 @@
return SUCCESS;
}
- private ReturnT<String> doOut(WrkMast wrkMast){
+ private ReturnT<String> doOut(WrkMast wrkMast) {
Date now = new Date();
LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
try {
@@ -350,20 +365,21 @@
for (WrkDetl wrkDetl : wrkDetls101) {
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- if(orderDetl==null){
- orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
}
try {
- if(!Cools.isEmpty(orderDetl)){
- if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- orderDetl.getBatch(),wrkDetl.getAnfme())){
+ if (!Cools.isEmpty(orderDetl)) {
+ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ orderDetl.getBatch(), wrkDetl.getAnfme())) {
// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
// wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
}
- } catch (Exception ignore){}
+ } catch (Exception ignore) {
+ }
}
// 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
@@ -402,10 +418,10 @@
default:
break;
}
- if(Cools.isEmpty(wrkMast.getMemo())){
+ if (Cools.isEmpty(wrkMast.getMemo())) {
// 淇敼宸ヤ綔涓绘。鐘舵��
wrkMast.setWrkSts(15L);
- }else {
+ } else {
wrkMast.setWrkSts(30L);
}
@@ -424,4 +440,46 @@
return SUCCESS;
}
+
+ private void write(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
+ ExdInstockTarget exdInstockTarge;
+ int i = -1;
+ for (WrkDetl wrkDetl : wrkDetls) {
+ if (Cools.isEmpty(wrkDetl.getOrderNo()) && !Cools.isEmpty(wrkDetl.getInspect()) && wrkDetl.getInspect() == 1) {
+ continue;
+ }
+ ExdvYanbu bacode = exdMaterialMapper.getBacode(wrkDetl.getBatch());
+ exdInstockTarge = new ExdInstockTarget();
+ exdInstockTarge.setFtrantype(21);
+ exdInstockTarge.setFdate(new Date());
+ exdInstockTarge.setFrob(1);
+
+ exdInstockTarge.setFqty(wrkDetl.getAnfme());
+ exdInstockTarge.setFbatchno(bacode.getBatchno());
+ exdInstockTarge.setFsourcebillno(bacode.getIcmono());
+ exdInstockTarge.setFsourcetrantype(85);
+
+ exdInstockTarge.setFentryid(i);
+ exdInstockTarge.setFsmanagerid(Integer.valueOf(wrkDetl.getColor()));
+ exdInstockTarge.setFfmanagerid(Integer.valueOf(wrkDetl.getColor()));
+ exdInstockTarge.setFbillerid(Integer.valueOf(wrkDetl.getColor()));
+ exdInstockTarge.setFitemid(Integer.parseInt(wrkDetl.getSku()));
+
+ exdInstockTarge.setFsourceentryid(i);
+ exdInstockTarge.setFdcspid(wrkMast.getLocNo());
+ exdInstockTarge.setFdcstockid(wrkDetl.getBrand());
+
+ exdInstockTarge.setBarcode(wrkDetl.getBatch());
+ exdInstockTarge.setGross(bacode.getGross());
+ exdInstockTarge.setWidth(bacode.getWidth());
+ exdInstockTarge.setDefects(bacode.getDefects());
+ exdInstockTarge.setBackcode(bacode.getBackcode());
+ exdInstockTarge.setWritetime(new Date());
+ exdInstockTarge.setWritor("WMS");
+ exdInstockTarge.setStatus(0);
+ exdInstockTargetService.insert(exdInstockTarge);
+ i++;
+ }
+ }
+
}
diff --git a/src/main/java/com/zy/common/config/ds/AbstractRoutingDataSource.java b/src/main/java/com/zy/common/config/ds/AbstractRoutingDataSource.java
new file mode 100644
index 0000000..d8b8519
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ds/AbstractRoutingDataSource.java
@@ -0,0 +1,38 @@
+package com.zy.common.config.ds;
+
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.jdbc.datasource.AbstractDataSource;
+import org.springframework.util.Assert;
+
+import javax.sql.DataSource;
+import java.util.Map;
+
+public abstract class AbstractRoutingDataSource extends AbstractDataSource implements InitializingBean {
+ //澶氭暟鎹簮map闆嗗悎
+ private Map<Object, Object> targetDataSources;
+ //榛樿鏁版嵁婧�
+ private Object defaultTargetDataSource;
+ //鍏跺疄灏辨槸targetDataSources锛屽悗闈㈢殑afterPropertiesSet锛堬級鏂规硶浼氬皢targetDataSources璧嬪�肩粰resolvedDataSources
+ private Map<Object, DataSource> resolvedDataSources;
+ private DataSource resolvedDefaultDataSource;
+
+ public void setTargetDataSources(Map<Object, Object> targetDataSources) {
+ this.targetDataSources = targetDataSources;
+ }
+
+ protected DataSource determineTargetDataSource() {
+ Assert.notNull(this.resolvedDataSources, "DataSource router not initialized");
+ Object lookupKey = this.determineCurrentLookupKey();
+ DataSource dataSource = (DataSource) this.resolvedDataSources.get(lookupKey);
+ if (dataSource == null && ( lookupKey == null)) {
+ dataSource = this.resolvedDefaultDataSource;
+ }
+ if (dataSource == null) {
+ throw new IllegalStateException("Cannot determine target DataSource for lookup key [" + lookupKey + "]");
+ } else {
+ return dataSource;
+ }
+ }
+
+ protected abstract Object determineCurrentLookupKey();
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/common/config/ds/DataSourceAop.java b/src/main/java/com/zy/common/config/ds/DataSourceAop.java
new file mode 100644
index 0000000..9b23cf2
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ds/DataSourceAop.java
@@ -0,0 +1,27 @@
+package com.zy.common.config.ds;
+
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.springframework.stereotype.Component;
+
+@Aspect
+@Component
+public class DataSourceAop {
+ @Before("execution(* com.zy.asrs..*(..))")
+ public void setDataSource2test01() {
+ //System.err.println("test01涓氬姟");
+ DataSourceType.setDataBaseType(DataSourceType.DataBaseType.TEST01);
+ }
+
+ @Before("execution(* com.zy.system..*(..))")
+ public void setDataSource2test012() {
+ //System.err.println("test01涓氬姟");
+ DataSourceType.setDataBaseType(DataSourceType.DataBaseType.TEST01);
+ }
+
+ @Before("execution(* com.zy.third..*(..))")
+ public void setDataSource2test02() {
+ //System.err.println("test02涓氬姟");
+ DataSourceType.setDataBaseType(DataSourceType.DataBaseType.TEST02);
+ }
+}
diff --git a/src/main/java/com/zy/common/config/ds/DataSourceConfig.java b/src/main/java/com/zy/common/config/ds/DataSourceConfig.java
new file mode 100644
index 0000000..e0cd18e
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ds/DataSourceConfig.java
@@ -0,0 +1,54 @@
+package com.zy.common.config.ds;
+
+import com.zaxxer.hikari.HikariConfig;
+import com.zaxxer.hikari.HikariDataSource;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+
+import javax.sql.DataSource;
+
+
+@Configuration
+public class DataSourceConfig {
+
+ @Value("${other.datasource.jdbc-url}")
+ private String url;
+ @Value("${other.datasource.username}")
+ private String username;
+ @Value("${other.datasource.password}")
+ private String password;
+ @Value("${other.datasource.driver-class-name}")
+ private String driverClassName;
+
+ // 涓绘暟鎹簮
+ @Bean(name = "dataSource")
+ @Primary
+ @ConfigurationProperties(prefix = "spring.datasource")
+ public DataSource primaryDataSource() {
+ return DataSourceBuilder.create().build();
+ }
+
+ // 娆℃暟鎹簮
+ @Bean(name = "slaveDataSource")
+ public DataSource secondaryDataSource() {
+ HikariConfig config = new HikariConfig();
+ config.setJdbcUrl(url);
+ config.setUsername(username);
+ config.setPassword(password);
+ config.setDriverClassName(driverClassName);
+ config.setInitializationFailTimeout(0L);
+ return new HikariDataSource( config);
+// return DataSourceBuilder.create()
+// .driverClassName(driverClassName)
+// .url(url)
+// .username(username)
+// .password(password)
+// .build();
+
+ }
+
+}
diff --git a/src/main/java/com/zy/common/config/ds/DataSourceType.java b/src/main/java/com/zy/common/config/ds/DataSourceType.java
new file mode 100644
index 0000000..57ce62b
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ds/DataSourceType.java
@@ -0,0 +1,32 @@
+package com.zy.common.config.ds;
+
+public class DataSourceType {
+
+ public enum DataBaseType {
+ TEST01, TEST02
+ }
+
+ // 浣跨敤ThreadLocal淇濊瘉绾跨▼瀹夊叏
+ private static final ThreadLocal<DataBaseType> TYPE = new ThreadLocal<DataBaseType>();
+
+ // 寰�褰撳墠绾跨▼閲岃缃暟鎹簮绫诲瀷
+ public static void setDataBaseType(DataBaseType dataBaseType) {
+ if (dataBaseType == null) {
+ throw new NullPointerException();
+ }
+ //System.err.println("[灏嗗綋鍓嶆暟鎹簮鏀逛负]锛�" + dataBaseType);
+ TYPE.set(dataBaseType);
+ }
+
+ // 鑾峰彇鏁版嵁婧愮被鍨�
+ public static DataBaseType getDataBaseType() {
+ DataBaseType dataBaseType = TYPE.get() == null ? DataBaseType.TEST01 : TYPE.get();
+ //System.err.println("[鑾峰彇褰撳墠鏁版嵁婧愮殑绫诲瀷涓篯锛�" + dataBaseType);
+ return dataBaseType;
+ }
+
+ // 娓呯┖鏁版嵁绫诲瀷
+ public static void clearDataBaseType() {
+ TYPE.remove();
+ }
+}
diff --git a/src/main/java/com/zy/common/config/ds/DynamicDataSource.java b/src/main/java/com/zy/common/config/ds/DynamicDataSource.java
new file mode 100644
index 0000000..a0e228c
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ds/DynamicDataSource.java
@@ -0,0 +1,11 @@
+package com.zy.common.config.ds;
+
+import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
+
+public class DynamicDataSource extends AbstractRoutingDataSource {
+ @Override
+ protected Object determineCurrentLookupKey() {
+ DataSourceType.DataBaseType dataBaseType = DataSourceType.getDataBaseType();
+ return dataBaseType;
+ }
+}
diff --git a/src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java b/src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java
new file mode 100644
index 0000000..16b482c
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java
@@ -0,0 +1,40 @@
+package com.zy.common.config.ds;
+
+import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean;
+import org.apache.ibatis.plugin.Interceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+
+import javax.sql.DataSource;
+
+@Configuration
+@MapperScan(basePackages = {"com.zy.asrs.mapper", "com.zy.system.mapper"}, sqlSessionFactoryRef = "primarySqlSessionFactory")
+public class PrimaryDataSourceConfig {
+
+ @Bean(name = "primarySqlSessionFactory")
+ @Primary
+ public MybatisSqlSessionFactoryBean primarySqlSessionFactory(@Qualifier("dataSource") DataSource dataSource, PaginationInterceptor paginationInterceptor) throws Exception {
+ MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
+ sessionFactory.setDataSource(dataSource);
+ // 璁剧疆MyBatis鐨凪apper XML鏂囦欢璺緞
+ sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
+ .getResources("classpath:mapper/asrs/*.xml"));
+ Interceptor[] interceptors = new Interceptor[]{paginationInterceptor};
+ sessionFactory.setPlugins(interceptors);
+ return sessionFactory;
+ }
+
+ @Bean(name = "transactionManager")
+ @Primary
+ public DataSourceTransactionManager primaryTransactionManager(@Qualifier("dataSource") DataSource dataSource) {
+ return new DataSourceTransactionManager(dataSource);
+ }
+
+
+}
diff --git a/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java b/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java
new file mode 100644
index 0000000..095c284
--- /dev/null
+++ b/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java
@@ -0,0 +1,46 @@
+package com.zy.common.config.ds;
+
+import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean;
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionTemplate;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+
+import javax.sql.DataSource;
+
+@Configuration
+@MapperScan(basePackages = "com.zy.third.mapper", sqlSessionFactoryRef = "secondarySqlSessionFactory")
+public class SecondaryDataSourceConfig {
+
+ @Bean(name = "secondarySqlSessionFactory")
+ public SqlSessionFactory secondarySqlSessionFactory(@Qualifier("slaveDataSource") DataSource dataSource, PaginationInterceptor paginationInterceptor) throws Exception {
+ try {
+ MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
+ sessionFactory.setDataSource(dataSource);
+ // 璁剧疆MyBatis鐨凪apper XML鏂囦欢璺緞
+ sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
+ .getResources("classpath:mapper/third/*.xml"));
+ Interceptor[] interceptors = new Interceptor[]{paginationInterceptor};
+ sessionFactory.setPlugins(interceptors);
+ return sessionFactory.getObject();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+
+ @Bean(name = "secondaryTransactionManager")
+ public DataSourceTransactionManager secondaryTransactionManager(@Qualifier("slaveDataSource") DataSource dataSource) {
+ return new DataSourceTransactionManager(dataSource);
+ }
+
+
+}
diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java
index 650e884..fd70a61 100644
--- a/src/main/java/com/zy/common/model/DetlDto.java
+++ b/src/main/java/com/zy/common/model/DetlDto.java
@@ -4,6 +4,7 @@
import com.zy.asrs.entity.OrderDetl;
import lombok.Data;
+import java.util.Date;
import java.util.List;
import java.util.Set;
@@ -21,6 +22,11 @@
private Double anfme;
+ private Integer frob;
+
+ private Integer FInterID;
+
+
public DetlDto() {
}
diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java
index 995c3d9..8fb721f 100644
--- a/src/main/java/com/zy/common/web/BaseController.java
+++ b/src/main/java/com/zy/common/web/BaseController.java
@@ -75,6 +75,12 @@
protected User getUser(){
User user = userService.selectById(getUserId());
if (null == user) {
+ if (getUserId() == 9527){
+ user = new User();
+ user.setId(9527L);
+ user.setUsername("super");
+ return user ;
+ }
throw new CoolException(BaseRes.DENIED);
}
return user;
diff --git a/src/main/java/com/zy/third/entity/ExdCustomer.java b/src/main/java/com/zy/third/entity/ExdCustomer.java
new file mode 100644
index 0000000..3789324
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdCustomer.java
@@ -0,0 +1,70 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Customer
+ */
+@TableName(value ="Exd_Customer")
+@Data
+public class ExdCustomer implements Serializable {
+ /**
+ *
+ */
+ @TableId
+ private String id;
+
+ /**
+ *
+ */
+ private String fnumber;
+
+ /**
+ *
+ */
+ private String fname;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdDepartment.java b/src/main/java/com/zy/third/entity/ExdDepartment.java
new file mode 100644
index 0000000..3902122
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdDepartment.java
@@ -0,0 +1,70 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Department
+ */
+@TableName(value ="Exd_Department")
+@Data
+public class ExdDepartment implements Serializable {
+ /**
+ *
+ */
+ @TableId
+ private String id;
+
+ /**
+ *
+ */
+ private String fnumber;
+
+ /**
+ *
+ */
+ private String fname;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdEmp.java b/src/main/java/com/zy/third/entity/ExdEmp.java
new file mode 100644
index 0000000..3a51334
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdEmp.java
@@ -0,0 +1,70 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Emp
+ */
+@TableName(value ="Exd_Emp")
+@Data
+public class ExdEmp implements Serializable {
+ /**
+ *
+ */
+ @TableId
+ private String id;
+
+ /**
+ *
+ */
+ private String fnumber;
+
+ /**
+ *
+ */
+ private String fname;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdInstockSource.java b/src/main/java/com/zy/third/entity/ExdInstockSource.java
new file mode 100644
index 0000000..640366d
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdInstockSource.java
@@ -0,0 +1,183 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Instock_Source
+ */
+@TableName(value ="Exd_Instock_Source")
+@Data
+public class ExdInstockSource implements Serializable {
+ /**
+ *
+ */
+ @TableId(value = "ID", type = IdType.AUTO)
+ private String ID;
+
+ /**
+ *
+ */
+ private Integer finterid;
+
+ /**
+ *
+ */
+ private String fbillno;
+
+ /**
+ *
+ */
+ private Integer ftrantype;
+
+ /**
+ *
+ */
+ private Date fdate;
+
+ /**
+ *
+ */
+ private Integer frob;
+
+ /**
+ *
+ */
+ private Integer fdeptid;
+
+ /**
+ *
+ */
+ private Integer fsupplyid;
+
+ /**
+ *
+ */
+ private Integer fbillerid;
+
+ /**
+ *
+ */
+ private Integer fentryid;
+
+ /**
+ *
+ */
+ private Integer fitemid;
+
+ /**
+ *
+ */
+ private Double fqty;
+
+ /**
+ *
+ */
+ private Double fprice;
+
+ /**
+ *
+ */
+ private String fbatchno;
+
+ /**
+ *
+ */
+ private Integer funitid;
+
+ /**
+ *
+ */
+ private String fsourcebillno;
+
+ /**
+ *
+ */
+ private Integer fsourceentryid;
+
+ /**
+ *
+ */
+ private Integer fsourceinterid;
+
+ /**
+ *
+ */
+ private Integer fsourcetrantype;
+
+ /**
+ *
+ */
+ private Integer fdcspid;
+
+ /**
+ *
+ */
+ private Integer fdcstockid;
+
+ /**
+ *
+ */
+ private String forderbillno;
+
+ /**
+ *
+ */
+ private Integer forderentryid;
+
+ /**
+ *
+ */
+ private Integer forderinterid;
+
+ /**
+ *
+ */
+ private Integer fplanmode;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdInstockTarget.java b/src/main/java/com/zy/third/entity/ExdInstockTarget.java
new file mode 100644
index 0000000..b63a482
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdInstockTarget.java
@@ -0,0 +1,223 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Instock_Target
+ */
+@TableName(value ="Exd_Instock_Target")
+@Data
+public class ExdInstockTarget implements Serializable {
+ /**
+ *
+ */
+ @TableId(value = "ID", type = IdType.AUTO)
+ private String ID;
+
+ /**
+ *
+ */
+ private Integer finterid;
+
+ /**
+ *
+ */
+ private String fbillno;
+
+ /**
+ *
+ */
+ private Integer ftrantype;
+
+ /**
+ *
+ */
+ private Date fdate;
+
+ /**
+ *
+ */
+ private Integer frob;
+
+ /**
+ *
+ */
+ private Integer fuserid;
+
+ /**
+ *
+ */
+ private Integer fdeptid;
+
+ /**
+ *
+ */
+ private Integer fsupplyid;
+
+ /**
+ *
+ */
+ private Integer fbillerid;
+
+ /**
+ *
+ */
+ private Integer ffmanagerid;
+
+ /**
+ *
+ */
+ private Integer fsmanagerid;
+
+ /**
+ *
+ */
+ private Integer fentryid;
+
+ /**
+ *
+ */
+ private Integer fitemid;
+
+ /**
+ *
+ */
+ private Double fqty;
+
+ /**
+ *
+ */
+ private Double fprice;
+
+ /**
+ *
+ */
+ private String fbatchno;
+
+ /**
+ *
+ */
+ private Integer funitid;
+
+ /**
+ *
+ */
+ private String fsourcebillno;
+
+ /**
+ *
+ */
+ private Integer fsourceentryid;
+
+ /**
+ *
+ */
+ private Integer fsourceinterid;
+
+ /**
+ *
+ */
+ private Integer fsourcetrantype;
+
+ /**
+ *
+ */
+ private String fdcspid;
+
+ /**
+ *
+ */
+ private String fdcstockid;
+
+ /**
+ *
+ */
+ private String forderbillno;
+
+ /**
+ *
+ */
+ private Integer forderentryid;
+
+ /**
+ *
+ */
+ private Integer forderinterid;
+
+ /**
+ *
+ */
+ private Integer fplanmode;
+
+ /**
+ *
+ */
+ private String barcode;
+
+ /**
+ *
+ */
+ private Double gross;
+
+ /**
+ *
+ */
+ private Double width;
+
+ /**
+ *
+ */
+ private Integer defects;
+
+ /**
+ *
+ */
+ private String backcode;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdMaterial.java b/src/main/java/com/zy/third/entity/ExdMaterial.java
new file mode 100644
index 0000000..8c3a54a
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdMaterial.java
@@ -0,0 +1,75 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Material
+ */
+@TableName(value ="Exd_Material")
+@Data
+public class ExdMaterial implements Serializable {
+ /**
+ *
+ */
+ @TableId
+ private String id;
+
+ /**
+ *
+ */
+ private String fnumber;
+
+ /**
+ *
+ */
+ private String fname;
+
+ /**
+ *
+ */
+ private String fmodel;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdOutstockSource.java b/src/main/java/com/zy/third/entity/ExdOutstockSource.java
new file mode 100644
index 0000000..caee837
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdOutstockSource.java
@@ -0,0 +1,193 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Outstock_Source
+ */
+@TableName(value ="Exd_Outstock_Source")
+@Data
+public class ExdOutstockSource implements Serializable {
+ /**
+ *
+ */
+ @TableId(value = "ID", type = IdType.AUTO)
+ private String ID;
+
+ /**
+ *
+ */
+ private Integer finterid;
+
+ /**
+ *
+ */
+ private String fbillno;
+
+ /**
+ *
+ */
+ private Integer ftrantype;
+
+ /**
+ *
+ */
+ private Date fdate;
+
+ /**
+ *
+ */
+ private Integer frob;
+
+ /**
+ *
+ */
+ private Integer fdeptid;
+
+ /**
+ *
+ */
+ private Integer fsupplyid;
+
+ /**
+ *
+ */
+ private Integer fbillerid;
+
+ /**
+ *
+ */
+ private Integer fentryid;
+
+ /**
+ *
+ */
+ private Integer fitemid;
+
+ /**
+ *
+ */
+ private Double fqty;
+
+ /**
+ *
+ */
+ private Double fprice;
+
+ /**
+ *
+ */
+ private String fbatchno;
+
+ /**
+ *
+ */
+ private Integer funitid;
+
+ /**
+ *
+ */
+ private String fsourcebillno;
+
+ /**
+ *
+ */
+ private Integer fsourceentryid;
+
+ /**
+ *
+ */
+ private Integer fsourceinterid;
+
+ /**
+ *
+ */
+ private Integer fsourcetrantype;
+
+ /**
+ *
+ */
+ private Integer fdcspid;
+
+ /**
+ *
+ */
+ private Integer fdcstockid;
+
+ /**
+ *
+ */
+ private Integer fscspid;
+
+ /**
+ *
+ */
+ private Integer fscstockid;
+
+ /**
+ *
+ */
+ private String forderbillno;
+
+ /**
+ *
+ */
+ private Integer forderentryid;
+
+ /**
+ *
+ */
+ private Integer forderinterid;
+
+ /**
+ *
+ */
+ private Integer fplanmode;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdOutstockTarget.java b/src/main/java/com/zy/third/entity/ExdOutstockTarget.java
new file mode 100644
index 0000000..a9c0b47
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdOutstockTarget.java
@@ -0,0 +1,228 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Outstock_Target
+ */
+@TableName(value ="Exd_Outstock_Target")
+@Data
+public class ExdOutstockTarget implements Serializable {
+ /**
+ *
+ */
+ @TableId(value = "ID", type = IdType.AUTO)
+ private String ID;
+
+ /**
+ *
+ */
+ private Integer finterid;
+
+ /**
+ *
+ */
+ private String fbillno;
+
+ /**
+ *
+ */
+ private Integer ftrantype;
+
+ /**
+ *
+ */
+ private Date fdate;
+
+ /**
+ *
+ */
+ private Integer frob;
+
+ /**
+ *
+ */
+ private Integer fuserid;
+
+ /**
+ *
+ */
+ private Integer fdeptid;
+
+ /**
+ *
+ */
+ private Integer fsupplyid;
+
+ /**
+ *
+ */
+ private Integer fbillerid;
+
+ /**
+ *
+ */
+ private Integer fentryid;
+
+ /**
+ *
+ */
+ private Integer fitemid;
+
+ /**
+ *
+ */
+ private Double fqtymust;
+
+ /**
+ *
+ */
+ private Double fqty;
+
+ /**
+ *
+ */
+ private Double fprice;
+
+ /**
+ *
+ */
+ private String fbatchno;
+
+ /**
+ *
+ */
+ private Integer funitid;
+
+ /**
+ *
+ */
+ private String fsourcebillno;
+
+ /**
+ *
+ */
+ private Integer fsourceentryid;
+
+ /**
+ *
+ */
+ private Integer fsourceinterid;
+
+ /**
+ *
+ */
+ private Integer fsourcetrantype;
+
+ /**
+ *
+ */
+ private Integer fdcspid;
+
+ /**
+ *
+ */
+ private Integer fdcstockid;
+
+ /**
+ *
+ */
+ private Integer fscspid;
+
+ /**
+ *
+ */
+ private Integer fscstockid;
+
+ /**
+ *
+ */
+ private String forderbillno;
+
+ /**
+ *
+ */
+ private Integer forderentryid;
+
+ /**
+ *
+ */
+ private Integer forderinterid;
+
+ /**
+ *
+ */
+ private Integer fplanmode;
+
+ /**
+ *
+ */
+ private String barcode;
+
+ /**
+ *
+ */
+ private BigDecimal gross;
+
+ /**
+ *
+ */
+ private BigDecimal width;
+
+ /**
+ *
+ */
+ private BigDecimal defects;
+
+ /**
+ *
+ */
+ private String backcode;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdSupplier.java b/src/main/java/com/zy/third/entity/ExdSupplier.java
new file mode 100644
index 0000000..99d7eab
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdSupplier.java
@@ -0,0 +1,70 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_Supplier
+ */
+@TableName(value ="Exd_Supplier")
+@Data
+public class ExdSupplier implements Serializable {
+ /**
+ *
+ */
+ @TableId
+ private String id;
+
+ /**
+ *
+ */
+ private String fnumber;
+
+ /**
+ *
+ */
+ private String fname;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdUser.java b/src/main/java/com/zy/third/entity/ExdUser.java
new file mode 100644
index 0000000..9cc0bb8
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdUser.java
@@ -0,0 +1,65 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ *
+ * @TableName Exd_User
+ */
+@TableName(value ="Exd_User")
+@Data
+public class ExdUser implements Serializable {
+ /**
+ *
+ */
+ @TableId
+ private String id;
+
+ /**
+ *
+ */
+ private String name;
+
+ /**
+ *
+ */
+ private Date writetime;
+
+ /**
+ *
+ */
+ private String writor;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private Date readtime;
+
+ /**
+ *
+ */
+ private String reador;
+
+ /**
+ *
+ */
+ private String writormsg;
+
+ /**
+ *
+ */
+ private String readormsg;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/entity/ExdvYanbu.java b/src/main/java/com/zy/third/entity/ExdvYanbu.java
new file mode 100644
index 0000000..7028551
--- /dev/null
+++ b/src/main/java/com/zy/third/entity/ExdvYanbu.java
@@ -0,0 +1,201 @@
+package com.zy.third.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import lombok.Data;
+
+/**
+ *
+ * @TableName ExdV_Yanbu
+ */
+@TableName(value ="ExdV_Yanbu")
+@Data
+public class ExdvYanbu implements Serializable {
+ /**
+ *
+ */
+ private String barcode;
+
+ /**
+ *
+ */
+ private BigDecimal qty;
+
+ /**
+ *
+ */
+ private String itemnumber;
+
+ /**
+ *
+ */
+ private String itemname;
+
+ /**
+ *
+ */
+ private String itemmodel;
+
+ /**
+ *
+ */
+ private String batchno;
+
+ /**
+ *
+ */
+ private String icmono;
+
+ /**
+ *
+ */
+ private String pono;
+
+ /**
+ *
+ */
+ private Double gross;
+
+ /**
+ *
+ */
+ private Double width;
+
+ /**
+ *
+ */
+ private Integer defects;
+
+ /**
+ *
+ */
+ private String cuspartno;
+
+ /**
+ *
+ */
+ private String supplierpartno;
+
+ /**
+ *
+ */
+ private String supplierno;
+
+ /**
+ *
+ */
+ private Date packdate;
+
+ /**
+ *
+ */
+ private String revision;
+
+ /**
+ *
+ */
+ private Date createdate;
+
+ /**
+ *
+ */
+ private Date readdate;
+
+ /**
+ *
+ */
+ private Integer status;
+
+ /**
+ *
+ */
+ private String parts;
+
+ /**
+ *
+ */
+ private String oemproject;
+
+ /**
+ *
+ */
+ private String qcempid;
+
+ /**
+ *
+ */
+ private String qcempname;
+
+ /**
+ *
+ */
+ private Date modifydate;
+
+ /**
+ *
+ */
+ private String backcode;
+
+ /**
+ *
+ */
+ private String qualitylevel;
+
+ /**
+ *
+ */
+ private String reserve01;
+
+ /**
+ *
+ */
+ private String reserve02;
+
+ /**
+ *
+ */
+ private String reserve03;
+
+ /**
+ *
+ */
+ private BigDecimal reserve04;
+
+ /**
+ *
+ */
+ private BigDecimal reserve05;
+
+ /**
+ *
+ */
+ private String qcempid2;
+
+ /**
+ *
+ */
+ private String qcempname2;
+
+ /**
+ *
+ */
+ private Date packendtime;
+
+ /**
+ *
+ */
+ private String qcempid3;
+
+ /**
+ *
+ */
+ private String qcempname3;
+
+ @TableField(exist = false)
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/third/mapper/ExdCustomerMapper.java b/src/main/java/com/zy/third/mapper/ExdCustomerMapper.java
new file mode 100644
index 0000000..eb0e405
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdCustomerMapper.java
@@ -0,0 +1,15 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdCustomer;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Customer銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdCustomer
+*/
+public interface ExdCustomerMapper extends BaseMapper<ExdCustomer> {
+
+
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdDepartmentMapper.java b/src/main/java/com/zy/third/mapper/ExdDepartmentMapper.java
new file mode 100644
index 0000000..96b6c5b
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdDepartmentMapper.java
@@ -0,0 +1,15 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdDepartment;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Department銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdDepartment
+*/
+public interface ExdDepartmentMapper extends BaseMapper<ExdDepartment> {
+
+
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdEmpMapper.java b/src/main/java/com/zy/third/mapper/ExdEmpMapper.java
new file mode 100644
index 0000000..c6c9b50
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdEmpMapper.java
@@ -0,0 +1,15 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdEmp;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Emp銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdEmp
+*/
+public interface ExdEmpMapper extends BaseMapper<ExdEmp> {
+
+
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdInstockSourceMapper.java b/src/main/java/com/zy/third/mapper/ExdInstockSourceMapper.java
new file mode 100644
index 0000000..d00a787
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdInstockSourceMapper.java
@@ -0,0 +1,21 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdInstockSource;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Instock_Source銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdInstockSource
+*/
+public interface ExdInstockSourceMapper extends BaseMapper<ExdInstockSource> {
+
+
+ List<String> listOrderNo();
+
+ List<ExdInstockSource> listAll(@Param("orderNo") String orderNo);
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdInstockTargetMapper.java b/src/main/java/com/zy/third/mapper/ExdInstockTargetMapper.java
new file mode 100644
index 0000000..eb26ef6
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdInstockTargetMapper.java
@@ -0,0 +1,15 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdInstockTarget;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Instock_Target銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdInstockTarget
+*/
+public interface ExdInstockTargetMapper extends BaseMapper<ExdInstockTarget> {
+
+
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdMaterialMapper.java b/src/main/java/com/zy/third/mapper/ExdMaterialMapper.java
new file mode 100644
index 0000000..acb9522
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdMaterialMapper.java
@@ -0,0 +1,22 @@
+package com.zy.third.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.third.entity.ExdMaterial;
+import com.zy.third.entity.ExdvYanbu;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author zc857
+ * @description 閽堝琛ㄣ�怑xd_Material銆戠殑鏁版嵁搴撴搷浣淢apper
+ * @createDate 2025-09-24 08:20:14
+ * @Entity com.zy.third.entity.ExdMaterial
+ */
+public interface ExdMaterialMapper extends BaseMapper<ExdMaterial> {
+
+ ExdvYanbu getBacode(@Param("barcode") String barcode);
+
+
+ List<ExdMaterial> listAll();
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdOutstockSourceMapper.java b/src/main/java/com/zy/third/mapper/ExdOutstockSourceMapper.java
new file mode 100644
index 0000000..6c0cd65
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdOutstockSourceMapper.java
@@ -0,0 +1,21 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdOutstockSource;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Outstock_Source銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdOutstockSource
+*/
+public interface ExdOutstockSourceMapper extends BaseMapper<ExdOutstockSource> {
+
+
+ List<String> listOrderNo();
+
+ List<ExdOutstockSource> listAll(@Param("orderNo") String orderNo);
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdOutstockTargetMapper.java b/src/main/java/com/zy/third/mapper/ExdOutstockTargetMapper.java
new file mode 100644
index 0000000..6f52910
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdOutstockTargetMapper.java
@@ -0,0 +1,15 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdOutstockTarget;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Outstock_Target銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdOutstockTarget
+*/
+public interface ExdOutstockTargetMapper extends BaseMapper<ExdOutstockTarget> {
+
+
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdSupplierMapper.java b/src/main/java/com/zy/third/mapper/ExdSupplierMapper.java
new file mode 100644
index 0000000..35fb2c6
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdSupplierMapper.java
@@ -0,0 +1,15 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdSupplier;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Supplier銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdSupplier
+*/
+public interface ExdSupplierMapper extends BaseMapper<ExdSupplier> {
+
+
+}
diff --git a/src/main/java/com/zy/third/mapper/ExdUserMapper.java b/src/main/java/com/zy/third/mapper/ExdUserMapper.java
new file mode 100644
index 0000000..0ae5fd3
--- /dev/null
+++ b/src/main/java/com/zy/third/mapper/ExdUserMapper.java
@@ -0,0 +1,18 @@
+package com.zy.third.mapper;
+
+import com.zy.third.entity.ExdUser;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_User銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-09-24 08:20:14
+* @Entity com.zy.third.entity.ExdUser
+*/
+public interface ExdUserMapper extends BaseMapper<ExdUser> {
+
+
+ List<ExdUser> listAll();
+}
diff --git a/src/main/java/com/zy/third/service/ExdCustomerService.java b/src/main/java/com/zy/third/service/ExdCustomerService.java
new file mode 100644
index 0000000..213c072
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdCustomerService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdCustomer;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Customer銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdCustomerService extends IService<ExdCustomer> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdDepartmentService.java b/src/main/java/com/zy/third/service/ExdDepartmentService.java
new file mode 100644
index 0000000..8ee2fe4
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdDepartmentService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdDepartment;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Department銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdDepartmentService extends IService<ExdDepartment> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdEmpService.java b/src/main/java/com/zy/third/service/ExdEmpService.java
new file mode 100644
index 0000000..69d57a7
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdEmpService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdEmp;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Emp銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdEmpService extends IService<ExdEmp> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdInstockSourceService.java b/src/main/java/com/zy/third/service/ExdInstockSourceService.java
new file mode 100644
index 0000000..487869d
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdInstockSourceService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdInstockSource;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Instock_Source銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdInstockSourceService extends IService<ExdInstockSource> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdInstockTargetService.java b/src/main/java/com/zy/third/service/ExdInstockTargetService.java
new file mode 100644
index 0000000..ba38e50
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdInstockTargetService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdInstockTarget;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Instock_Target銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdInstockTargetService extends IService<ExdInstockTarget> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdMaterialService.java b/src/main/java/com/zy/third/service/ExdMaterialService.java
new file mode 100644
index 0000000..5a21a4c
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdMaterialService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdMaterial;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Material銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdMaterialService extends IService<ExdMaterial> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdOutstockSourceService.java b/src/main/java/com/zy/third/service/ExdOutstockSourceService.java
new file mode 100644
index 0000000..2244417
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdOutstockSourceService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdOutstockSource;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Outstock_Source銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdOutstockSourceService extends IService<ExdOutstockSource> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdOutstockTargetService.java b/src/main/java/com/zy/third/service/ExdOutstockTargetService.java
new file mode 100644
index 0000000..ff5bd69
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdOutstockTargetService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdOutstockTarget;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Outstock_Target銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdOutstockTargetService extends IService<ExdOutstockTarget> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdSupplierService.java b/src/main/java/com/zy/third/service/ExdSupplierService.java
new file mode 100644
index 0000000..6c77611
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdSupplierService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdSupplier;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Supplier銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdSupplierService extends IService<ExdSupplier> {
+
+}
diff --git a/src/main/java/com/zy/third/service/ExdUserService.java b/src/main/java/com/zy/third/service/ExdUserService.java
new file mode 100644
index 0000000..f3e6b90
--- /dev/null
+++ b/src/main/java/com/zy/third/service/ExdUserService.java
@@ -0,0 +1,13 @@
+package com.zy.third.service;
+
+import com.zy.third.entity.ExdUser;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_User銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-09-24 08:20:14
+*/
+public interface ExdUserService extends IService<ExdUser> {
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdCustomerServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdCustomerServiceImpl.java
new file mode 100644
index 0000000..5fe7b5b
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdCustomerServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdCustomer;
+import com.zy.third.service.ExdCustomerService;
+import com.zy.third.mapper.ExdCustomerMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Customer銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdCustomerServiceImpl extends ServiceImpl<ExdCustomerMapper, ExdCustomer>
+implements ExdCustomerService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdDepartmentServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdDepartmentServiceImpl.java
new file mode 100644
index 0000000..b664a4a
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdDepartmentServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdDepartment;
+import com.zy.third.service.ExdDepartmentService;
+import com.zy.third.mapper.ExdDepartmentMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Department銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdDepartmentServiceImpl extends ServiceImpl<ExdDepartmentMapper, ExdDepartment>
+implements ExdDepartmentService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdEmpServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdEmpServiceImpl.java
new file mode 100644
index 0000000..7a188eb
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdEmpServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdEmp;
+import com.zy.third.service.ExdEmpService;
+import com.zy.third.mapper.ExdEmpMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Emp銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdEmpServiceImpl extends ServiceImpl<ExdEmpMapper, ExdEmp>
+implements ExdEmpService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdInstockSourceServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdInstockSourceServiceImpl.java
new file mode 100644
index 0000000..8f4618a
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdInstockSourceServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdInstockSource;
+import com.zy.third.service.ExdInstockSourceService;
+import com.zy.third.mapper.ExdInstockSourceMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Instock_Source銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdInstockSourceServiceImpl extends ServiceImpl<ExdInstockSourceMapper, ExdInstockSource>
+implements ExdInstockSourceService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdInstockTargetServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdInstockTargetServiceImpl.java
new file mode 100644
index 0000000..1e89a30
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdInstockTargetServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdInstockTarget;
+import com.zy.third.service.ExdInstockTargetService;
+import com.zy.third.mapper.ExdInstockTargetMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Instock_Target銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdInstockTargetServiceImpl extends ServiceImpl<ExdInstockTargetMapper, ExdInstockTarget>
+implements ExdInstockTargetService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdMaterialServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdMaterialServiceImpl.java
new file mode 100644
index 0000000..8fc4f44
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdMaterialServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdMaterial;
+import com.zy.third.service.ExdMaterialService;
+import com.zy.third.mapper.ExdMaterialMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Material銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdMaterialServiceImpl extends ServiceImpl<ExdMaterialMapper, ExdMaterial>
+implements ExdMaterialService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdOutstockSourceServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdOutstockSourceServiceImpl.java
new file mode 100644
index 0000000..3c0b896
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdOutstockSourceServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdOutstockSource;
+import com.zy.third.service.ExdOutstockSourceService;
+import com.zy.third.mapper.ExdOutstockSourceMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Outstock_Source銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdOutstockSourceServiceImpl extends ServiceImpl<ExdOutstockSourceMapper, ExdOutstockSource>
+implements ExdOutstockSourceService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdOutstockTargetServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdOutstockTargetServiceImpl.java
new file mode 100644
index 0000000..dd30c34
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdOutstockTargetServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdOutstockTarget;
+import com.zy.third.service.ExdOutstockTargetService;
+import com.zy.third.mapper.ExdOutstockTargetMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Outstock_Target銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdOutstockTargetServiceImpl extends ServiceImpl<ExdOutstockTargetMapper, ExdOutstockTarget>
+implements ExdOutstockTargetService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdSupplierServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdSupplierServiceImpl.java
new file mode 100644
index 0000000..5a8d71c
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdSupplierServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdSupplier;
+import com.zy.third.service.ExdSupplierService;
+import com.zy.third.mapper.ExdSupplierMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_Supplier銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdSupplierServiceImpl extends ServiceImpl<ExdSupplierMapper, ExdSupplier>
+implements ExdSupplierService{
+
+}
diff --git a/src/main/java/com/zy/third/service/impl/ExdUserServiceImpl.java b/src/main/java/com/zy/third/service/impl/ExdUserServiceImpl.java
new file mode 100644
index 0000000..7b00b52
--- /dev/null
+++ b/src/main/java/com/zy/third/service/impl/ExdUserServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.third.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.third.entity.ExdUser;
+import com.zy.third.service.ExdUserService;
+import com.zy.third.mapper.ExdUserMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author zc857
+* @description 閽堝琛ㄣ�怑xd_User銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-09-24 08:20:14
+*/
+@Service
+public class ExdUserServiceImpl extends ServiceImpl<ExdUserMapper, ExdUser>
+implements ExdUserService{
+
+}
diff --git a/src/main/java/com/zy/third/task/BaseDataScheduler.java b/src/main/java/com/zy/third/task/BaseDataScheduler.java
new file mode 100644
index 0000000..2c984ea
--- /dev/null
+++ b/src/main/java/com/zy/third/task/BaseDataScheduler.java
@@ -0,0 +1,95 @@
+package com.zy.third.task;
+
+import com.zy.third.entity.ExdMaterial;
+import com.zy.third.entity.ExdUser;
+import com.zy.third.mapper.ExdMaterialMapper;
+import com.zy.third.mapper.ExdUserMapper;
+import com.zy.third.task.handler.BaseDataHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+@Component
+@Slf4j
+public class BaseDataScheduler {
+
+
+ @Autowired
+ private BaseDataHandler baseDataHandler;
+
+
+ @Autowired
+ private ExdUserMapper exdUserMapper;
+
+
+ @Autowired
+ private ExdMaterialMapper exdMaterialMapper;
+
+
+ /**
+ * 璇诲彇鐢ㄦ埛淇℃伅
+ */
+ @Scheduled(cron = "0/30 * * * * ? ")
+ public void readUser() {
+ log.info("璇诲彇鐢ㄦ埛淇℃伅");
+ List<ExdUser> exdUsers = exdUserMapper.listAll();
+ for (ExdUser exdUser : exdUsers) {
+ try {
+ if (baseDataHandler.readUser(exdUser).isSuccess()) {
+ exdUser.setStatus(1);
+ } else {
+ exdUser.setStatus(2);
+ }
+ } catch (Exception e) {
+ log.error("璇诲彇鐢ㄦ埛淇℃伅澶辫触锛歿},{}", exdUser, e.getMessage());
+ exdUser.setStatus(2);
+ exdUser.setReadormsg(e.getMessage());
+ } finally {
+ exdUser.setReadtime(new Date());
+ exdUserMapper.updateById(exdUser);
+ }
+
+ }
+
+ }
+
+
+ /**
+ * 璇诲彇鐗╂枡淇℃伅
+ */
+ @Scheduled(cron = "0/3 * * * * ? ")
+ public void readMat() {
+ log.info("璇诲彇鐗╂枡淇℃伅");
+ List<ExdMaterial> exdMaterials = exdMaterialMapper.listAll();
+ for (ExdMaterial exdMaterial : exdMaterials) {
+ try {
+ if (baseDataHandler.readMat(exdMaterial).isSuccess()) {
+ exdMaterial.setStatus(1);
+ } else {
+ exdMaterial.setStatus(2);
+ }
+ } catch (Exception e) {
+ log.error("璇诲彇鐗╂枡淇℃伅澶辫触锛歿},{}", exdMaterial, e.getMessage());
+ exdMaterial.setStatus(2);
+ exdMaterial.setReadormsg(e.getMessage());
+ } finally {
+ exdMaterial.setReadtime(new Date());
+ exdMaterialMapper.updateById(exdMaterial);
+ }
+ }
+ }
+
+
+ /**
+ * 璇诲彇閮ㄩ棬淇℃伅
+ */
+ @Scheduled(cron = "0/30 * * * * ? ")
+ public void readDept() {
+ log.info("璇诲彇閮ㄩ棬淇℃伅");
+
+ }
+}
diff --git a/src/main/java/com/zy/third/task/OrderScheduler.java b/src/main/java/com/zy/third/task/OrderScheduler.java
new file mode 100644
index 0000000..77e3c3d
--- /dev/null
+++ b/src/main/java/com/zy/third/task/OrderScheduler.java
@@ -0,0 +1,99 @@
+package com.zy.third.task;
+
+import com.zy.third.entity.ExdInstockSource;
+import com.zy.third.entity.ExdOutstockSource;
+import com.zy.third.mapper.ExdInstockSourceMapper;
+import com.zy.third.mapper.ExdOutstockSourceMapper;
+import com.zy.third.task.handler.OrderHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+@Component
+@Slf4j
+public class OrderScheduler {
+
+
+ @Autowired
+ private OrderHandler orderHandler;
+
+ @Autowired
+ private ExdInstockSourceMapper exdInstockSourceMapper;
+
+
+ @Autowired
+ private ExdOutstockSourceMapper exdOutstockSourceMapper;
+
+
+ /**
+ * 璇诲彇鍏ュ簱鍗曟嵁
+ */
+ @Scheduled(cron = "0/10 * * * * ? ")
+ public void readInOrder() {
+ log.info("璇诲彇鍏ュ簱鍗曟嵁");
+ List<String> orderNos = exdInstockSourceMapper.listOrderNo();
+ for (String orderNo : orderNos) {
+ List<ExdInstockSource> exdInstockSources = exdInstockSourceMapper.listAll(orderNo);
+ try {
+ boolean success = orderHandler.readInOrder(exdInstockSources).isSuccess();
+ for (ExdInstockSource exdInstockSource : exdInstockSources) {
+ if (success) {
+ exdInstockSource.setReadtime(new Date());
+ exdInstockSource.setStatus(1);
+ exdInstockSourceMapper.updateById(exdInstockSource);
+ } else {
+ exdInstockSource.setReadtime(new Date());
+ exdInstockSource.setStatus(2);
+ exdInstockSourceMapper.updateById(exdInstockSource);
+ }
+ }
+ } catch (Exception e) {
+ log.error("璇诲彇鍏ュ簱鍗曟嵁淇℃伅澶辫触锛歿},{}", exdInstockSources, e.getMessage());
+ for (ExdInstockSource exdInstockSource : exdInstockSources) {
+ exdInstockSource.setReadormsg(e.getMessage());
+ exdInstockSource.setStatus(2);
+ exdInstockSourceMapper.updateById(exdInstockSource);
+ }
+ }
+ }
+ }
+
+ /**
+ * 璇诲彇鍑哄簱鍗曟嵁
+ */
+ @Scheduled(cron = "0/10 * * * * ? ")
+ public void readOutOrder() {
+ log.info("璇诲彇鍑哄簱鍗曟嵁");
+ List<String> orderNos = exdOutstockSourceMapper.listOrderNo();
+ for (String orderNo : orderNos) {
+ List<ExdOutstockSource> exdOutstockSources = exdOutstockSourceMapper.listAll(orderNo);
+ try {
+ boolean success = orderHandler.readOutOrder(exdOutstockSources).isSuccess();
+ for (ExdOutstockSource exdOutstockSource : exdOutstockSources) {
+ if (success) {
+ exdOutstockSource.setReadtime(new Date());
+ exdOutstockSource.setStatus(1);
+ exdOutstockSourceMapper.updateById(exdOutstockSource);
+ } else {
+ exdOutstockSource.setReadtime(new Date());
+ exdOutstockSource.setStatus(2);
+ exdOutstockSourceMapper.updateById(exdOutstockSource);
+ }
+
+ }
+ } catch (Exception e) {
+ log.error("璇诲彇鍑哄簱鍗曟嵁淇℃伅澶辫触锛歿},{}", exdOutstockSources, e.getMessage());
+ for (ExdOutstockSource exdOutstockSource : exdOutstockSources) {
+ exdOutstockSource.setStatus(2);
+ exdOutstockSource.setReadormsg(e.getMessage());
+ exdOutstockSourceMapper.updateById(exdOutstockSource);
+ }
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/third/task/handler/BaseDataHandler.java b/src/main/java/com/zy/third/task/handler/BaseDataHandler.java
new file mode 100644
index 0000000..18cf97b
--- /dev/null
+++ b/src/main/java/com/zy/third/task/handler/BaseDataHandler.java
@@ -0,0 +1,82 @@
+package com.zy.third.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.service.MatService;
+import com.zy.asrs.service.TagService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+import com.zy.third.entity.ExdMaterial;
+import com.zy.third.entity.ExdUser;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+
+@Component
+@Slf4j
+public class BaseDataHandler extends AbstractHandler<String> {
+
+ @Autowired
+ private MatService matService;
+
+ @Autowired
+ private UserService userService;
+
+ @Autowired
+ private TagService tagService;
+
+
+ @Transactional
+ public ReturnT<String> readUser(ExdUser exdUser) {
+ User user = userService.selectOne(new EntityWrapper<User>().eq("username", exdUser.getName()));
+ if (user == null) {
+ user = new User();
+ user.setUsername(exdUser.getName());
+ user.setNickname(exdUser.getName());
+ user.setMobile(exdUser.getName());
+ user.setEmail(exdUser.getId());
+ user.setRoleId(2L);
+ user.setCreateTime(new Date());
+ user.setStatus(1);
+ userService.insert(user);
+ }else {
+ user.setUsername(exdUser.getName());
+ user.setNickname(exdUser.getName());
+ user.setMobile(exdUser.getName());
+ user.setEmail(exdUser.getId());
+ userService.updateById(user);
+ }
+ return SUCCESS;
+ }
+
+
+ @Transactional
+ public ReturnT<String> readMat(ExdMaterial exdMaterial) {
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", exdMaterial.getFnumber()));
+ if (mat == null) {
+ mat = new Mat();
+ mat.setMatnr(exdMaterial.getFnumber());
+ mat.setMaktx(exdMaterial.getFname());
+ mat.setSpecs(exdMaterial.getFmodel());
+ mat.setSku(exdMaterial.getId());
+ mat.setTagId(tagService.getTop().getId());
+ mat.setStatus(1);
+ mat.setCreateTime(new Date());
+ matService.insert(mat);
+ }else {
+ mat.setMatnr(exdMaterial.getFnumber());
+ mat.setMaktx(exdMaterial.getFname());
+ mat.setSpecs(exdMaterial.getFmodel());
+ mat.setSku(exdMaterial.getId());
+ mat.setTagId(tagService.getTop().getId());
+ mat.setStatus(1);
+ matService.updateById(mat);
+ }
+ return SUCCESS;
+ }
+}
diff --git a/src/main/java/com/zy/third/task/handler/OrderHandler.java b/src/main/java/com/zy/third/task/handler/OrderHandler.java
new file mode 100644
index 0000000..27ec3ff
--- /dev/null
+++ b/src/main/java/com/zy/third/task/handler/OrderHandler.java
@@ -0,0 +1,236 @@
+package com.zy.third.task.handler;
+
+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.DocType;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.DocTypeService;
+import com.zy.asrs.service.MatService;
+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.common.model.DetlDto;
+import com.zy.third.entity.ExdInstockSource;
+import com.zy.third.entity.ExdOutstockSource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+@Slf4j
+public class OrderHandler extends AbstractHandler<String> {
+
+ @Autowired
+ private OrderService orderService;
+
+
+ @Autowired
+ private OrderDetlService orderDetlService;
+
+ @Autowired
+ private DocTypeService docTypeService;
+
+ @Autowired
+ private SnowflakeIdWorker snowflakeIdWorker;
+
+
+ @Autowired
+ private MatService matService;
+
+
+ @Transactional
+ public ReturnT<String> readInOrder(List<ExdInstockSource> exdInstockSource) {
+ String fbillno = exdInstockSource.get(0).getFbillno();
+ Integer ftrantype = exdInstockSource.get(0).getFtrantype();
+ Order order = orderService.selectByNo(fbillno);
+ if (!Cools.isEmpty(order)) {
+ throw new CoolException(fbillno + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦");
+ }
+ DocType docType = docTypeService.selectById(ftrantype);
+ if (docType == null) {
+
+ }
+
+ Date now = new Date();
+ // 鍗曟嵁涓绘。
+ order = new Order(
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ fbillno, // 璁㈠崟缂栧彿
+ DateUtils.convert(exdInstockSource.get(0).getFdate()), // 鍗曟嵁鏃ユ湡
+ 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)) {
+ throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ // 鍗曟嵁鏄庣粏妗�
+ List<DetlDto> list = new ArrayList<>();
+ for (ExdInstockSource detail : exdInstockSource) {
+ DetlDto dto = new DetlDto(detail.getFitemid() + "", detail.getFbatchno(), detail.getFqty());
+ dto.setFrob(detail.getFrob());
+ dto.setFInterID(detail.getFinterid());
+ if (DetlDto.has(list, dto)) {
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
+ assert detlDto != null;
+ detlDto.setAnfme(detlDto.getAnfme() + detail.getFqty());
+ } else {
+ list.add(dto);
+ }
+ }
+ for (DetlDto detlDto : list) {
+ Mat mat = matService.selectBySku(detlDto.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+ }
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setBatch(detlDto.getBatch());
+ orderDetl.setAnfme(detlDto.getAnfme());
+ orderDetl.setOrderId(order.getId());
+ orderDetl.setOrderNo(order.getOrderNo());
+ orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateTime(now);
+ orderDetl.setUpdateBy(9527L);
+ orderDetl.setUpdateTime(now);
+ orderDetl.setStatus(1);
+ orderDetl.setQty(0.0D);
+ orderDetl.setDeadWarn(detlDto.getFInterID());
+ orderDetl.setInspect(detlDto.getFrob());
+ if (!orderDetlService.insert(orderDetl)) {
+ throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ }
+ return SUCCESS;
+ }
+
+
+ @Transactional
+ public ReturnT<String> readOutOrder(List<ExdOutstockSource> exdOutstockSource) {
+ String fbillno = exdOutstockSource.get(0).getFbillno();
+ Integer ftrantype = exdOutstockSource.get(0).getFtrantype();
+ Order order = orderService.selectByNo(fbillno);
+ // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹�
+ if (!Cools.isEmpty(order)) {
+ if (order.getSettle() > 1L) {
+ throw new CoolException(fbillno + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�");
+ }
+ orderService.remove(order.getId());
+ }
+ DocType docType = docTypeService.selectById(ftrantype);
+ Date now = new Date();
+ // 鍗曟嵁涓绘。
+ order = new Order(
+ String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
+ fbillno, // 璁㈠崟缂栧彿
+ 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)) {
+ throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ // 鍗曟嵁鏄庣粏妗�
+ List<DetlDto> list = new ArrayList<>();
+ for (ExdOutstockSource detail : exdOutstockSource) {
+ DetlDto dto = new DetlDto(detail.getFitemid()+"", detail.getFbatchno(), detail.getFqty());
+ if (DetlDto.has(list, dto)) {
+ DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
+ assert detlDto != null;
+ detlDto.setAnfme(detlDto.getAnfme() + detail.getFqty());
+ } else {
+ list.add(dto);
+ }
+ }
+ for (DetlDto detlDto : list) {
+ Mat mat = matService.selectBySku(detlDto.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+ }
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setBatch(detlDto.getBatch());
+ orderDetl.setAnfme(detlDto.getAnfme());
+ orderDetl.setOrderId(order.getId());
+ orderDetl.setOrderNo(order.getOrderNo());
+ orderDetl.setCreateBy(9527L);
+ orderDetl.setCreateTime(now);
+ orderDetl.setUpdateBy(9527L);
+ orderDetl.setUpdateTime(now);
+ orderDetl.setStatus(1);
+ orderDetl.setQty(0.0D);
+ if (!orderDetlService.insert(orderDetl)) {
+ throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ }
+ return SUCCESS;
+ }
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 684c1e5..925f638 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,8 +10,8 @@
enabled: false
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://172.17.3.20:1433;databasename=ycawdasrs
-# url: jdbc:sqlserver://127.0.0.1:1433;databasename=ycawdasrs
+ #jdbc-url: jdbc:sqlserver://172.17.3.20:1433;databasename=ycawdasrs
+ jdbc-url: jdbc:sqlserver://127.0.0.1:1433;databasename=ycawdasrs
username: sa
password: sa@123
mvc:
@@ -31,10 +31,11 @@
# jdbc-url: jdbc:mysql://127.0.0.1:3306/wmsdata
# username: root
# password: root
+ #driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://127.0.0.1:1433;databasename=ycawdasrs
- username: liku
- password: 123456
+ jdbc-url: jdbc:sqlserver://127.0.0.1:1433;databasename=wms_middle
+ username: sa
+ password: sa@123
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
diff --git a/src/main/resources/com/zy/third/mapper/ExdvYanbuMapper.xml b/src/main/resources/com/zy/third/mapper/ExdvYanbuMapper.xml
new file mode 100644
index 0000000..1e734e7
--- /dev/null
+++ b/src/main/resources/com/zy/third/mapper/ExdvYanbuMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdvYanbuMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdvYanbu">
+ <result property="barcode" column="Barcode" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ Barcode
+ </sql>
+</mapper>
diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic
index 34c4b11..ce6bb35 100644
--- a/src/main/resources/license.lic
+++ b/src/main/resources/license.lic
Binary files differ
diff --git a/src/main/resources/license.lic2 b/src/main/resources/license.lic2
new file mode 100644
index 0000000..34c4b11
--- /dev/null
+++ b/src/main/resources/license.lic2
@@ -0,0 +1,3 @@
+�!�;蓧噐-C�>�?虵=��0+㈠x惮╖�[訾奔9}�
+雅瞿盫]揂w"鰺c趝|�=
&Y<�萍�'W~喈�;擻$�/H$犎B};厞.�,X:Y襋c:鎔�&J狦f皞謂��:6墡蔏绋\�-泰�78|�q徢攐Q�賑a崋歱賦QU汽膽�嶱o鴢$鼱峩+js�Vs�)vz!傖Q匹湬蚔砡u翸鵥"誼柄 櫸婢譴雬-�㎝�9M趷eA]��*-昪攏礠RO�5�kJB觫��5�駹_)i鰆�Q婥��*l慽z﹎N`}揄烄g$悅(��?�1騎}餃j脟�P奖im綕垓\竃�N邺m(寿"塪矪Xc�E累傿>欉[!QI:戉�2�t+Ykmd旔頺^袅.牙苺cH呖:mU$剼,齦悓躋e巕c岛さ謖錤*騐劓�$!B帚暈�}�Y#NQ攡�萇6�顱凭o[&sC uD靪�(湙娙<V缹m濉Q濅^e吗巜焮�8騵蹕稃<紒嬀;L睙Y鬫粜埥b`�=`苭��.钥覶l�掫疫柩7Q厮�
+�Y8秹蛞[Y釁璏.w�8G臻h訃w扈o棑
瀪鬂蝆�%趀捈樰^��儑�)P吅,t摶珰f>彴簛D圖1t�,Wm閷�h嬉U!趢�;酱郥W�
\ No newline at end of file
diff --git a/src/main/resources/mapper/AdjDetlMapper.xml b/src/main/resources/mapper/asrs/AdjDetlMapper.xml
similarity index 100%
rename from src/main/resources/mapper/AdjDetlMapper.xml
rename to src/main/resources/mapper/asrs/AdjDetlMapper.xml
diff --git a/src/main/resources/mapper/ApiLogMapper.xml b/src/main/resources/mapper/asrs/ApiLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ApiLogMapper.xml
rename to src/main/resources/mapper/asrs/ApiLogMapper.xml
diff --git a/src/main/resources/mapper/ApiMapper.xml b/src/main/resources/mapper/asrs/ApiMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ApiMapper.xml
rename to src/main/resources/mapper/asrs/ApiMapper.xml
diff --git a/src/main/resources/mapper/BasCrnErrorMapper.xml b/src/main/resources/mapper/asrs/BasCrnErrorMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasCrnErrorMapper.xml
rename to src/main/resources/mapper/asrs/BasCrnErrorMapper.xml
diff --git a/src/main/resources/mapper/BasCrnOptMapper.xml b/src/main/resources/mapper/asrs/BasCrnOptMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasCrnOptMapper.xml
rename to src/main/resources/mapper/asrs/BasCrnOptMapper.xml
diff --git a/src/main/resources/mapper/BasCrnStatusMapper.xml b/src/main/resources/mapper/asrs/BasCrnStatusMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasCrnStatusMapper.xml
rename to src/main/resources/mapper/asrs/BasCrnStatusMapper.xml
diff --git a/src/main/resources/mapper/BasCrnpMapper.xml b/src/main/resources/mapper/asrs/BasCrnpMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasCrnpMapper.xml
rename to src/main/resources/mapper/asrs/BasCrnpMapper.xml
diff --git a/src/main/resources/mapper/BasDevpMapper.xml b/src/main/resources/mapper/asrs/BasDevpMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasDevpMapper.xml
rename to src/main/resources/mapper/asrs/BasDevpMapper.xml
diff --git a/src/main/resources/mapper/BasErrLogMapper.xml b/src/main/resources/mapper/asrs/BasErrLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasErrLogMapper.xml
rename to src/main/resources/mapper/asrs/BasErrLogMapper.xml
diff --git a/src/main/resources/mapper/BasLocStsMapper.xml b/src/main/resources/mapper/asrs/BasLocStsMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasLocStsMapper.xml
rename to src/main/resources/mapper/asrs/BasLocStsMapper.xml
diff --git a/src/main/resources/mapper/BasPlcerrorMapper.xml b/src/main/resources/mapper/asrs/BasPlcerrorMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasPlcerrorMapper.xml
rename to src/main/resources/mapper/asrs/BasPlcerrorMapper.xml
diff --git a/src/main/resources/mapper/BasWhsMapper.xml b/src/main/resources/mapper/asrs/BasWhsMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasWhsMapper.xml
rename to src/main/resources/mapper/asrs/BasWhsMapper.xml
diff --git a/src/main/resources/mapper/BasWrkIotypeMapper.xml b/src/main/resources/mapper/asrs/BasWrkIotypeMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasWrkIotypeMapper.xml
rename to src/main/resources/mapper/asrs/BasWrkIotypeMapper.xml
diff --git a/src/main/resources/mapper/BasWrkStatusMapper.xml b/src/main/resources/mapper/asrs/BasWrkStatusMapper.xml
similarity index 100%
rename from src/main/resources/mapper/BasWrkStatusMapper.xml
rename to src/main/resources/mapper/asrs/BasWrkStatusMapper.xml
diff --git a/src/main/resources/mapper/ConfigMapper.xml b/src/main/resources/mapper/asrs/ConfigMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ConfigMapper.xml
rename to src/main/resources/mapper/asrs/ConfigMapper.xml
diff --git a/src/main/resources/mapper/DocLogMapper.xml b/src/main/resources/mapper/asrs/DocLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/DocLogMapper.xml
rename to src/main/resources/mapper/asrs/DocLogMapper.xml
diff --git a/src/main/resources/mapper/DocTypeMapper.xml b/src/main/resources/mapper/asrs/DocTypeMapper.xml
similarity index 100%
rename from src/main/resources/mapper/DocTypeMapper.xml
rename to src/main/resources/mapper/asrs/DocTypeMapper.xml
diff --git a/src/main/resources/mapper/HostMapper.xml b/src/main/resources/mapper/asrs/HostMapper.xml
similarity index 100%
rename from src/main/resources/mapper/HostMapper.xml
rename to src/main/resources/mapper/asrs/HostMapper.xml
diff --git a/src/main/resources/mapper/LicenseInfosMapper.xml b/src/main/resources/mapper/asrs/LicenseInfosMapper.xml
similarity index 100%
rename from src/main/resources/mapper/LicenseInfosMapper.xml
rename to src/main/resources/mapper/asrs/LicenseInfosMapper.xml
diff --git a/src/main/resources/mapper/LocCheckMapper.xml b/src/main/resources/mapper/asrs/LocCheckMapper.xml
similarity index 100%
rename from src/main/resources/mapper/LocCheckMapper.xml
rename to src/main/resources/mapper/asrs/LocCheckMapper.xml
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/asrs/LocDetlMapper.xml
similarity index 77%
rename from src/main/resources/mapper/LocDetlMapper.xml
rename to src/main/resources/mapper/asrs/LocDetlMapper.xml
index b35811c..e3a03e4 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/asrs/LocDetlMapper.xml
@@ -231,7 +231,7 @@
</if>
order by
- DATEPART(yyyy,a.modi_time),DATEPART(mm,a.modi_time),DATEPART(dd,a.modi_time), a.anfme
+ a.batch asc, a.anfme
desc,
NEWID(),
case
@@ -288,6 +288,93 @@
desc
</select>
+
+ <select id="queryStockAll" resultMap="BaseResultMap">
+ select a.*
+ from asr_loc_detl a
+ left join asr_loc_mast b on a.loc_no = b.loc_no
+ where 1=1
+ and b.loc_sts = 'F'
+ and a.matnr = #{matnr}
+ <!-- <choose>-->
+ <!-- <when test="batch != null and batch != ''">-->
+ <!-- and a.batch = #{batch}-->
+ <!-- </when>-->
+ <!-- <otherwise>-->
+ <!-- and (a.batch IS NULL OR a.batch = '')-->
+ <!-- </otherwise>-->
+ <!-- </choose>-->
+ <if test="batch != null and batch != ''">
+ and a.batch = #{batch}
+ </if>
+ <if test="orderNo != null and orderNo != ''">
+ and a.order_no = #{orderNo}
+ </if>
+
+ <if test="locNos != null and locNos.size > 0">
+ and b.loc_no not in
+ <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
+ </if>
+
+ order by
+ a.batch asc, a.anfme desc,
+ NEWID(),
+ case
+ when (left(a.loc_no, 2) = '01') then 0
+ when (left(a.loc_no, 2) = '02') then 1
+ when (left(a.loc_no, 2) = '03') then 1
+ when (left(a.loc_no, 2) = '04') then 0
+ when (left(a.loc_no, 2) = '05') then 0
+ when (left(a.loc_no, 2) = '06') then 1
+ when (left(a.loc_no, 2) = '07') then 1
+ when (left(a.loc_no, 2) = '08') then 0
+ when (left(a.loc_no, 2) = '09') then 0
+ when (left(a.loc_no, 2) = '10') then 1
+ when (left(a.loc_no, 2) = '11') then 1
+ when (left(a.loc_no, 2) = '12') then 0
+ when (left(a.loc_no, 2) = '13') then 0
+ when (left(a.loc_no, 2) = '14') then 1
+ when (left(a.loc_no, 2) = '15') then 1
+ when (left(a.loc_no, 2) = '16') then 0
+ when (left(a.loc_no, 2) = '17') then 0
+ when (left(a.loc_no, 2) = '18') then 1
+ when (left(a.loc_no, 2) = '19') then 1
+ when (left(a.loc_no, 2) = '20') then 0
+ when (left(a.loc_no, 2) = '21') then 0
+ when (left(a.loc_no, 2) = '22') then 1
+ when (left(a.loc_no, 2) = '23') then 1
+ when (left(a.loc_no, 2) = '24') then 0
+ when (left(a.loc_no, 2) = '25') then 0
+ when (left(a.loc_no, 2) = '26') then 1
+ when (left(a.loc_no, 2) = '27') then 1
+ when (left(a.loc_no, 2) = '28') then 0
+ when (left(a.loc_no, 2) = '29') then 0
+ when (left(a.loc_no, 2) = '30') then 1
+ when (left(a.loc_no, 2) = '31') then 1
+ when (left(a.loc_no, 2) = '32') then 0
+ when (left(a.loc_no, 2) = '33') then 0
+ when (left(a.loc_no, 2) = '34') then 1
+ when (left(a.loc_no, 2) = '35') then 1
+ when (left(a.loc_no, 2) = '36') then 0
+ when (left(a.loc_no, 2) = '37') then 0
+ when (left(a.loc_no, 2) = '38') then 1
+ when (left(a.loc_no, 2) = '39') then 1
+ when (left(a.loc_no, 2) = '40') then 0
+ when (left(a.loc_no, 2) = '41') then 0
+ when (left(a.loc_no, 2) = '42') then 1
+ when (left(a.loc_no, 2) = '43') then 1
+ when (left(a.loc_no, 2) = '44') then 0
+ when (left(a.loc_no, 2) = '45') then 0
+ when (left(a.loc_no, 2) = '46') then 1
+ when (left(a.loc_no, 2) = '47') then 1
+ when (left(a.loc_no, 2) = '48') then 0
+ else 0
+ end
+ desc
+ </select>
+
<select id="queryStockAnfme" resultType="java.lang.Double">
select sum(anfme) as count from man_loc_detl
where 1=1
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/asrs/LocMastMapper.xml
similarity index 100%
rename from src/main/resources/mapper/LocMastMapper.xml
rename to src/main/resources/mapper/asrs/LocMastMapper.xml
diff --git a/src/main/resources/mapper/ManLocDetlMapper.xml b/src/main/resources/mapper/asrs/ManLocDetlMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ManLocDetlMapper.xml
rename to src/main/resources/mapper/asrs/ManLocDetlMapper.xml
diff --git a/src/main/resources/mapper/MatMapper.xml b/src/main/resources/mapper/asrs/MatMapper.xml
similarity index 96%
rename from src/main/resources/mapper/MatMapper.xml
rename to src/main/resources/mapper/asrs/MatMapper.xml
index a244da7..d573b4b 100644
--- a/src/main/resources/mapper/MatMapper.xml
+++ b/src/main/resources/mapper/asrs/MatMapper.xml
@@ -80,4 +80,8 @@
<select id="selectByMatnr" resultMap="BaseResultMap">
select top 1 * from man_mat where 1=1 and matnr = #{matnr}
</select>
+
+ <select id="selectBySku" resultMap="BaseResultMap">
+ select top 1 * from man_mat where 1=1 and sku = #{sku}
+ </select>
</mapper>
diff --git a/src/main/resources/mapper/NodeMapper.xml b/src/main/resources/mapper/asrs/NodeMapper.xml
similarity index 100%
rename from src/main/resources/mapper/NodeMapper.xml
rename to src/main/resources/mapper/asrs/NodeMapper.xml
diff --git a/src/main/resources/mapper/OperateLogMapper.xml b/src/main/resources/mapper/asrs/OperateLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/OperateLogMapper.xml
rename to src/main/resources/mapper/asrs/OperateLogMapper.xml
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/asrs/OrderDetlMapper.xml
similarity index 92%
rename from src/main/resources/mapper/OrderDetlMapper.xml
rename to src/main/resources/mapper/asrs/OrderDetlMapper.xml
index 25b6cf8..fe3f6a5 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/asrs/OrderDetlMapper.xml
@@ -200,4 +200,23 @@
</choose>
</update>
+ <update id="increaseWorkQty2">
+ update man_order_detl
+ set work_qty = work_qty + #{workQty}
+ where 1=1
+ and order_id = #{orderId}
+ and matnr = #{matnr}
+ <if test="color!=null and color!='' ">
+ and color = #{color}
+ </if>
+ <choose>
+ <when test="batch != null and batch != ''">
+ and batch = #{batch}
+ </when>
+ <otherwise>
+ and (batch IS NULL OR batch = '')
+ </otherwise>
+ </choose>
+ </update>
+
</mapper>
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/asrs/OrderMapper.xml
similarity index 98%
rename from src/main/resources/mapper/OrderMapper.xml
rename to src/main/resources/mapper/asrs/OrderMapper.xml
index 7f88f3c..db8816d 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/asrs/OrderMapper.xml
@@ -59,8 +59,6 @@
where 1=1
and settle = 4
and status = 1
- and doc_type!=18
- and doc_type!=19
order by create_time asc
</select>
diff --git a/src/main/resources/mapper/OrderSettleMapper.xml b/src/main/resources/mapper/asrs/OrderSettleMapper.xml
similarity index 100%
rename from src/main/resources/mapper/OrderSettleMapper.xml
rename to src/main/resources/mapper/asrs/OrderSettleMapper.xml
diff --git a/src/main/resources/mapper/PackMapper.xml b/src/main/resources/mapper/asrs/PackMapper.xml
similarity index 100%
rename from src/main/resources/mapper/PackMapper.xml
rename to src/main/resources/mapper/asrs/PackMapper.xml
diff --git a/src/main/resources/mapper/PermissionMapper.xml b/src/main/resources/mapper/asrs/PermissionMapper.xml
similarity index 100%
rename from src/main/resources/mapper/PermissionMapper.xml
rename to src/main/resources/mapper/asrs/PermissionMapper.xml
diff --git a/src/main/resources/mapper/RequestLogMapper.xml b/src/main/resources/mapper/asrs/RequestLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/RequestLogMapper.xml
rename to src/main/resources/mapper/asrs/RequestLogMapper.xml
diff --git a/src/main/resources/mapper/ResourceMapper.xml b/src/main/resources/mapper/asrs/ResourceMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ResourceMapper.xml
rename to src/main/resources/mapper/asrs/ResourceMapper.xml
diff --git a/src/main/resources/mapper/RoleMapper.xml b/src/main/resources/mapper/asrs/RoleMapper.xml
similarity index 100%
rename from src/main/resources/mapper/RoleMapper.xml
rename to src/main/resources/mapper/asrs/RoleMapper.xml
diff --git a/src/main/resources/mapper/RolePermissionMapper.xml b/src/main/resources/mapper/asrs/RolePermissionMapper.xml
similarity index 100%
rename from src/main/resources/mapper/RolePermissionMapper.xml
rename to src/main/resources/mapper/asrs/RolePermissionMapper.xml
diff --git a/src/main/resources/mapper/RoleResourceMapper.xml b/src/main/resources/mapper/asrs/RoleResourceMapper.xml
similarity index 100%
rename from src/main/resources/mapper/RoleResourceMapper.xml
rename to src/main/resources/mapper/asrs/RoleResourceMapper.xml
diff --git a/src/main/resources/mapper/RowLastnoMapper.xml b/src/main/resources/mapper/asrs/RowLastnoMapper.xml
similarity index 100%
rename from src/main/resources/mapper/RowLastnoMapper.xml
rename to src/main/resources/mapper/asrs/RowLastnoMapper.xml
diff --git a/src/main/resources/mapper/SaasLogMapper.xml b/src/main/resources/mapper/asrs/SaasLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/SaasLogMapper.xml
rename to src/main/resources/mapper/asrs/SaasLogMapper.xml
diff --git a/src/main/resources/mapper/StaDescMapper.xml b/src/main/resources/mapper/asrs/StaDescMapper.xml
similarity index 100%
rename from src/main/resources/mapper/StaDescMapper.xml
rename to src/main/resources/mapper/asrs/StaDescMapper.xml
diff --git a/src/main/resources/mapper/StkPlcmMapper.xml b/src/main/resources/mapper/asrs/StkPlcmMapper.xml
similarity index 100%
rename from src/main/resources/mapper/StkPlcmMapper.xml
rename to src/main/resources/mapper/asrs/StkPlcmMapper.xml
diff --git a/src/main/resources/mapper/TagMapper.xml b/src/main/resources/mapper/asrs/TagMapper.xml
similarity index 100%
rename from src/main/resources/mapper/TagMapper.xml
rename to src/main/resources/mapper/asrs/TagMapper.xml
diff --git a/src/main/resources/mapper/TrayCodeMapper.xml b/src/main/resources/mapper/asrs/TrayCodeMapper.xml
similarity index 100%
rename from src/main/resources/mapper/TrayCodeMapper.xml
rename to src/main/resources/mapper/asrs/TrayCodeMapper.xml
diff --git a/src/main/resources/mapper/UserLoginMapper.xml b/src/main/resources/mapper/asrs/UserLoginMapper.xml
similarity index 100%
rename from src/main/resources/mapper/UserLoginMapper.xml
rename to src/main/resources/mapper/asrs/UserLoginMapper.xml
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/asrs/UserMapper.xml
similarity index 100%
rename from src/main/resources/mapper/UserMapper.xml
rename to src/main/resources/mapper/asrs/UserMapper.xml
diff --git a/src/main/resources/mapper/ViewInOutMapper.xml b/src/main/resources/mapper/asrs/ViewInOutMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ViewInOutMapper.xml
rename to src/main/resources/mapper/asrs/ViewInOutMapper.xml
diff --git a/src/main/resources/mapper/ViewStayTimeMapper.xml b/src/main/resources/mapper/asrs/ViewStayTimeMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ViewStayTimeMapper.xml
rename to src/main/resources/mapper/asrs/ViewStayTimeMapper.xml
diff --git a/src/main/resources/mapper/ViewStockUseMapper.xml b/src/main/resources/mapper/asrs/ViewStockUseMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ViewStockUseMapper.xml
rename to src/main/resources/mapper/asrs/ViewStockUseMapper.xml
diff --git a/src/main/resources/mapper/ViewWorkInMapper.xml b/src/main/resources/mapper/asrs/ViewWorkInMapper.xml
similarity index 100%
rename from src/main/resources/mapper/ViewWorkInMapper.xml
rename to src/main/resources/mapper/asrs/ViewWorkInMapper.xml
diff --git a/src/main/resources/mapper/WaitPakinLogMapper.xml b/src/main/resources/mapper/asrs/WaitPakinLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/WaitPakinLogMapper.xml
rename to src/main/resources/mapper/asrs/WaitPakinLogMapper.xml
diff --git a/src/main/resources/mapper/WaitPakinMapper.xml b/src/main/resources/mapper/asrs/WaitPakinMapper.xml
similarity index 100%
rename from src/main/resources/mapper/WaitPakinMapper.xml
rename to src/main/resources/mapper/asrs/WaitPakinMapper.xml
diff --git a/src/main/resources/mapper/WrkDetlLogMapper.xml b/src/main/resources/mapper/asrs/WrkDetlLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/WrkDetlLogMapper.xml
rename to src/main/resources/mapper/asrs/WrkDetlLogMapper.xml
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/asrs/WrkDetlMapper.xml
similarity index 100%
rename from src/main/resources/mapper/WrkDetlMapper.xml
rename to src/main/resources/mapper/asrs/WrkDetlMapper.xml
diff --git a/src/main/resources/mapper/WrkLastnoMapper.xml b/src/main/resources/mapper/asrs/WrkLastnoMapper.xml
similarity index 100%
rename from src/main/resources/mapper/WrkLastnoMapper.xml
rename to src/main/resources/mapper/asrs/WrkLastnoMapper.xml
diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/asrs/WrkMastLogMapper.xml
similarity index 100%
rename from src/main/resources/mapper/WrkMastLogMapper.xml
rename to src/main/resources/mapper/asrs/WrkMastLogMapper.xml
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/asrs/WrkMastMapper.xml
similarity index 100%
rename from src/main/resources/mapper/WrkMastMapper.xml
rename to src/main/resources/mapper/asrs/WrkMastMapper.xml
diff --git a/src/main/resources/mapper/third/ExdCustomerMapper.xml b/src/main/resources/mapper/third/ExdCustomerMapper.xml
new file mode 100644
index 0000000..30d1709
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdCustomerMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdCustomerMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdCustomer">
+ <id property="id" column="ID" />
+ <result property="fnumber" column="Fnumber" />
+ <result property="fname" column="Fname" />
+ <result property="writetime" column="WriteTime" />
+ <result property="writor" column="Writor" />
+ <result property="status" column="Status" />
+ <result property="readtime" column="ReadTime" />
+ <result property="reador" column="Reador" />
+ <result property="writormsg" column="WritorMsg" />
+ <result property="readormsg" column="ReadorMsg" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID,Fnumber,Fname,WriteTime,Writor,Status,
+ ReadTime,Reador,WritorMsg,ReadorMsg
+ </sql>
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdDepartmentMapper.xml b/src/main/resources/mapper/third/ExdDepartmentMapper.xml
new file mode 100644
index 0000000..e8afdec
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdDepartmentMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdDepartmentMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdDepartment">
+ <id property="id" column="ID" />
+ <result property="fnumber" column="Fnumber" />
+ <result property="fname" column="Fname" />
+ <result property="writetime" column="WriteTime" />
+ <result property="writor" column="Writor" />
+ <result property="status" column="Status" />
+ <result property="readtime" column="ReadTime" />
+ <result property="reador" column="Reador" />
+ <result property="writormsg" column="WritorMsg" />
+ <result property="readormsg" column="ReadorMsg" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID,Fnumber,Fname,WriteTime,Writor,Status,
+ ReadTime,Reador,WritorMsg,ReadorMsg
+ </sql>
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdEmpMapper.xml b/src/main/resources/mapper/third/ExdEmpMapper.xml
new file mode 100644
index 0000000..203db63
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdEmpMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdEmpMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdEmp">
+ <id property="id" column="ID" />
+ <result property="fnumber" column="Fnumber" />
+ <result property="fname" column="Fname" />
+ <result property="writetime" column="WriteTime" />
+ <result property="writor" column="Writor" />
+ <result property="status" column="Status" />
+ <result property="readtime" column="ReadTime" />
+ <result property="reador" column="Reador" />
+ <result property="writormsg" column="WritorMsg" />
+ <result property="readormsg" column="ReadorMsg" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID,Fnumber,Fname,WriteTime,Writor,Status,
+ ReadTime,Reador,WritorMsg,ReadorMsg
+ </sql>
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdInstockSourceMapper.xml b/src/main/resources/mapper/third/ExdInstockSourceMapper.xml
new file mode 100644
index 0000000..7cf04df
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdInstockSourceMapper.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdInstockSourceMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdInstockSource">
+ <id property="ID" column="ID" />
+ <result property="finterid" column="FInterID" />
+ <result property="fbillno" column="FBillNo" />
+ <result property="ftrantype" column="FTranType" />
+ <result property="fdate" column="FDate" />
+ <result property="frob" column="FROB" />
+ <result property="fdeptid" column="FDeptID" />
+ <result property="fsupplyid" column="FSupplyID" />
+ <result property="fbillerid" column="FBillerID" />
+ <result property="fentryid" column="FEntryID" />
+ <result property="fitemid" column="FItemID" />
+ <result property="fqty" column="FQty" />
+ <result property="fprice" column="Fprice" />
+ <result property="fbatchno" column="FBatchNo" />
+ <result property="funitid" column="FUnitID" />
+ <result property="fsourcebillno" column="FSourceBillNo" />
+ <result property="fsourceentryid" column="FSourceEntryID" />
+ <result property="fsourceinterid" column="FSourceInterId" />
+ <result property="fsourcetrantype" column="FSourceTranType" />
+ <result property="fdcspid" column="FDCSPID" />
+ <result property="fdcstockid" column="FDCStockID" />
+ <result property="forderbillno" column="FOrderBillNo" />
+ <result property="forderentryid" column="FOrderEntryID" />
+ <result property="forderinterid" column="FOrderInterID" />
+ <result property="fplanmode" column="FPlanMode" />
+ <result property="writetime" column="WriteTime" />
+ <result property="writor" column="Writor" />
+ <result property="status" column="Status" />
+ <result property="readtime" column="ReadTime" />
+ <result property="reador" column="Reador" />
+ <result property="writormsg" column="WritorMsg" />
+ <result property="readormsg" column="ReadorMsg" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID,FInterID,FBillNo,FTranType,FDate,FROB,
+ FDeptID,FSupplyID,FBillerID,FEntryID,FItemID,
+ FQty,Fprice,FBatchNo,FUnitID,FSourceBillNo,
+ FSourceEntryID,FSourceInterId,FSourceTranType,FDCSPID,FDCStockID,
+ FOrderBillNo,FOrderEntryID,FOrderInterID,FPlanMode,WriteTime,
+ Writor,Status,ReadTime,Reador,WritorMsg,
+ ReadorMsg
+ </sql>
+
+ <select id="listOrderNo" resultType="java.lang.String">
+ select distinct fbillno
+ from Exd_Instock_Source
+ where status = 0
+ </select>
+
+
+ <select id="listAll" resultType="com.zy.third.entity.ExdInstockSource">
+ select * from Exd_Instock_Source where fbillno = #{orderNo}
+ </select>
+
+
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdInstockTargetMapper.xml b/src/main/resources/mapper/third/ExdInstockTargetMapper.xml
new file mode 100644
index 0000000..8445198
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdInstockTargetMapper.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdInstockTargetMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdInstockTarget">
+ <id property="ID" column="ID" />
+ <result property="finterid" column="FInterID" />
+ <result property="fbillno" column="FBillNo" />
+ <result property="ftrantype" column="FTranType" />
+ <result property="fdate" column="FDate" />
+ <result property="frob" column="FROB" />
+ <result property="fuserid" column="FUserID" />
+ <result property="fdeptid" column="FDeptID" />
+ <result property="fsupplyid" column="FSupplyID" />
+ <result property="fbillerid" column="FBillerID" />
+ <result property="ffmanagerid" column="FFManagerID" />
+ <result property="fsmanagerid" column="FSManagerID" />
+ <result property="fentryid" column="FEntryID" />
+ <result property="fitemid" column="FItemID" />
+ <result property="fqty" column="FQty" />
+ <result property="fprice" column="Fprice" />
+ <result property="fbatchno" column="FBatchNo" />
+ <result property="funitid" column="FUnitID" />
+ <result property="fsourcebillno" column="FSourceBillNo" />
+ <result property="fsourceentryid" column="FSourceEntryID" />
+ <result property="fsourceinterid" column="FSourceInterId" />
+ <result property="fsourcetrantype" column="FSourceTranType" />
+ <result property="fdcspid" column="FDCSPID" />
+ <result property="fdcstockid" column="FDCStockID" />
+ <result property="forderbillno" column="FOrderBillNo" />
+ <result property="forderentryid" column="FOrderEntryID" />
+ <result property="forderinterid" column="FOrderInterID" />
+ <result property="fplanmode" column="FPlanMode" />
+ <result property="barcode" column="Barcode" />
+ <result property="gross" column="Gross" />
+ <result property="width" column="Width" />
+ <result property="defects" column="Defects" />
+ <result property="backcode" column="BackCode" />
+ <result property="writetime" column="WriteTime" />
+ <result property="writor" column="Writor" />
+ <result property="status" column="Status" />
+ <result property="readtime" column="ReadTime" />
+ <result property="reador" column="Reador" />
+ <result property="writormsg" column="WritorMsg" />
+ <result property="readormsg" column="ReadorMsg" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID,FInterID,FBillNo,FTranType,FDate,FROB,
+ FUserID,FDeptID,FSupplyID,FBillerID,FFManagerID,
+ FSManagerID,FEntryID,FItemID,FQty,Fprice,
+ FBatchNo,FUnitID,FSourceBillNo,FSourceEntryID,FSourceInterId,
+ FSourceTranType,FDCSPID,FDCStockID,FOrderBillNo,FOrderEntryID,
+ FOrderInterID,FPlanMode,Barcode,Gross,Width,
+ Defects,BackCode,WriteTime,Writor,Status,
+ ReadTime,Reador,WritorMsg,ReadorMsg
+ </sql>
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdMaterialMapper.xml b/src/main/resources/mapper/third/ExdMaterialMapper.xml
new file mode 100644
index 0000000..c0a1ed0
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdMaterialMapper.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdMaterialMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdMaterial">
+ <id property="id" column="ID"/>
+ <result property="fnumber" column="Fnumber"/>
+ <result property="fname" column="Fname"/>
+ <result property="fmodel" column="Fmodel"/>
+ <result property="writetime" column="WriteTime"/>
+ <result property="writor" column="Writor"/>
+ <result property="status" column="Status"/>
+ <result property="readtime" column="ReadTime"/>
+ <result property="reador" column="Reador"/>
+ <result property="writormsg" column="WritorMsg"/>
+ <result property="readormsg" column="ReadorMsg"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID
+ ,Fnumber,Fname,Fmodel,WriteTime,Writor,
+ Status,ReadTime,Reador,WritorMsg,ReadorMsg
+ </sql>
+ <select id="listAll" resultType="com.zy.third.entity.ExdMaterial">
+ select top 100 *
+ from Exd_Material
+ where status = 0
+ </select>
+
+ <select id="getBacode" resultType="com.zy.third.entity.ExdvYanbu" parameterType="string">
+ <!--
+ SELECT top 1 *
+ FROM [Textile].[trade].[TianfuQcResult]
+ where Barcode = #{barcode}
+ -->
+ SELECT top 1 *
+ FROM ExdV_Yanbu
+ where Barcode = #{barcode}
+ </select>
+
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdOutstockSourceMapper.xml b/src/main/resources/mapper/third/ExdOutstockSourceMapper.xml
new file mode 100644
index 0000000..9e9bb85
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdOutstockSourceMapper.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdOutstockSourceMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdOutstockSource">
+ <id property="ID" column="ID" />
+ <result property="finterid" column="FInterID" />
+ <result property="fbillno" column="FBillNo" />
+ <result property="ftrantype" column="FTranType" />
+ <result property="fdate" column="FDate" />
+ <result property="frob" column="FROB" />
+ <result property="fdeptid" column="FDeptID" />
+ <result property="fsupplyid" column="FSupplyID" />
+ <result property="fbillerid" column="FBillerID" />
+ <result property="fentryid" column="FEntryID" />
+ <result property="fitemid" column="FItemID" />
+ <result property="fqty" column="FQty" />
+ <result property="fprice" column="Fprice" />
+ <result property="fbatchno" column="FBatchNo" />
+ <result property="funitid" column="FUnitID" />
+ <result property="fsourcebillno" column="FSourceBillNo" />
+ <result property="fsourceentryid" column="FSourceEntryID" />
+ <result property="fsourceinterid" column="FSourceInterId" />
+ <result property="fsourcetrantype" column="FSourceTranType" />
+ <result property="fdcspid" column="FDCSPID" />
+ <result property="fdcstockid" column="FDCStockID" />
+ <result property="fscspid" column="FSCSPID" />
+ <result property="fscstockid" column="FSCStockID" />
+ <result property="forderbillno" column="FOrderBillNo" />
+ <result property="forderentryid" column="FOrderEntryID" />
+ <result property="forderinterid" column="FOrderInterID" />
+ <result property="fplanmode" column="FPlanMode" />
+ <result property="writetime" column="WriteTime" />
+ <result property="writor" column="Writor" />
+ <result property="status" column="Status" />
+ <result property="readtime" column="ReadTime" />
+ <result property="reador" column="Reador" />
+ <result property="writormsg" column="WritorMsg" />
+ <result property="readormsg" column="ReadorMsg" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID,FInterID,FBillNo,FTranType,FDate,FROB,
+ FDeptID,FSupplyID,FBillerID,FEntryID,FItemID,
+ FQty,Fprice,FBatchNo,FUnitID,FSourceBillNo,
+ FSourceEntryID,FSourceInterId,FSourceTranType,FDCSPID,FDCStockID,
+ FSCSPID,FSCStockID,FOrderBillNo,FOrderEntryID,FOrderInterID,
+ FPlanMode,WriteTime,Writor,Status,ReadTime,
+ Reador,WritorMsg,ReadorMsg
+ </sql>
+
+
+ <select id="listOrderNo" resultType="java.lang.String">
+ select distinct fbillno
+ from Exd_Outstock_Source
+ where status = 0
+ </select>
+
+
+ <select id="listAll" resultType="com.zy.third.entity.ExdOutstockSource">
+ select * from Exd_Outstock_Source where fbillno = #{orderNo}
+ </select>
+
+
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdOutstockTargetMapper.xml b/src/main/resources/mapper/third/ExdOutstockTargetMapper.xml
new file mode 100644
index 0000000..91f4db8
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdOutstockTargetMapper.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdOutstockTargetMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdOutstockTarget">
+ <id property="ID" column="ID" />
+ <result property="finterid" column="FInterID" />
+ <result property="fbillno" column="FBillNo" />
+ <result property="ftrantype" column="FTranType" />
+ <result property="fdate" column="FDate" />
+ <result property="frob" column="FROB" />
+ <result property="fuserid" column="FUserID" />
+ <result property="fdeptid" column="FDeptID" />
+ <result property="fsupplyid" column="FSupplyID" />
+ <result property="fbillerid" column="FBillerID" />
+ <result property="fentryid" column="FEntryID" />
+ <result property="fitemid" column="FItemID" />
+ <result property="fqtymust" column="FQtyMust" />
+ <result property="fqty" column="FQty" />
+ <result property="fprice" column="Fprice" />
+ <result property="fbatchno" column="FBatchNo" />
+ <result property="funitid" column="FUnitID" />
+ <result property="fsourcebillno" column="FSourceBillNo" />
+ <result property="fsourceentryid" column="FSourceEntryID" />
+ <result property="fsourceinterid" column="FSourceInterId" />
+ <result property="fsourcetrantype" column="FSourceTranType" />
+ <result property="fdcspid" column="FDCSPID" />
+ <result property="fdcstockid" column="FDCStockID" />
+ <result property="fscspid" column="FSCSPID" />
+ <result property="fscstockid" column="FSCStockID" />
+ <result property="forderbillno" column="FOrderBillNo" />
+ <result property="forderentryid" column="FOrderEntryID" />
+ <result property="forderinterid" column="FOrderInterID" />
+ <result property="fplanmode" column="FPlanMode" />
+ <result property="barcode" column="Barcode" />
+ <result property="gross" column="Gross" />
+ <result property="width" column="Width" />
+ <result property="defects" column="Defects" />
+ <result property="backcode" column="BackCode" />
+ <result property="writetime" column="WriteTime" />
+ <result property="writor" column="Writor" />
+ <result property="status" column="Status" />
+ <result property="readtime" column="ReadTime" />
+ <result property="reador" column="Reador" />
+ <result property="writormsg" column="WritorMsg" />
+ <result property="readormsg" column="ReadorMsg" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID,FInterID,FBillNo,FTranType,FDate,FROB,
+ FUserID,FDeptID,FSupplyID,FBillerID,FEntryID,
+ FItemID,FQtyMust,FQty,Fprice,FBatchNo,
+ FUnitID,FSourceBillNo,FSourceEntryID,FSourceInterId,FSourceTranType,
+ FDCSPID,FDCStockID,FSCSPID,FSCStockID,FOrderBillNo,
+ FOrderEntryID,FOrderInterID,FPlanMode,Barcode,Gross,
+ Width,Defects,BackCode,WriteTime,Writor,
+ Status,ReadTime,Reador,WritorMsg,ReadorMsg
+ </sql>
+
+
+
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdSupplierMapper.xml b/src/main/resources/mapper/third/ExdSupplierMapper.xml
new file mode 100644
index 0000000..3e819c6
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdSupplierMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdSupplierMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdSupplier">
+ <id property="id" column="ID" />
+ <result property="fnumber" column="Fnumber" />
+ <result property="fname" column="Fname" />
+ <result property="writetime" column="WriteTime" />
+ <result property="writor" column="Writor" />
+ <result property="status" column="Status" />
+ <result property="readtime" column="ReadTime" />
+ <result property="reador" column="Reador" />
+ <result property="writormsg" column="WritorMsg" />
+ <result property="readormsg" column="ReadorMsg" />
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID,Fnumber,Fname,WriteTime,Writor,Status,
+ ReadTime,Reador,WritorMsg,ReadorMsg
+ </sql>
+</mapper>
diff --git a/src/main/resources/mapper/third/ExdUserMapper.xml b/src/main/resources/mapper/third/ExdUserMapper.xml
new file mode 100644
index 0000000..61c5ea2
--- /dev/null
+++ b/src/main/resources/mapper/third/ExdUserMapper.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.third.mapper.ExdUserMapper">
+
+ <resultMap id="BaseResultMap" type="com.zy.third.entity.ExdUser">
+ <id property="id" column="ID"/>
+ <result property="name" column="Name"/>
+ <result property="writetime" column="WriteTime"/>
+ <result property="writor" column="Writor"/>
+ <result property="status" column="Status"/>
+ <result property="readtime" column="ReadTime"/>
+ <result property="reador" column="Reador"/>
+ <result property="writormsg" column="WritorMsg"/>
+ <result property="readormsg" column="ReadorMsg"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ ID
+ ,Name,WriteTime,Writor,Status,ReadTime,
+ Reador,WritorMsg,ReadorMsg
+ </sql>
+
+
+ <select id="listAll" resultType="com.zy.third.entity.ExdUser">
+ select top 100 *
+ from Exd_User
+ where status = 0
+ </select>
+
+
+</mapper>
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index 86f2b28..fd261b8 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -179,7 +179,7 @@
let data = tableCache[index];
for (let i = 0; i<tableCache.length; i++) {
if (tableCache[i].locNo === data.locNo) {
- tableCache[i]['staNo'] = Number(obj.elem.value);
+ tableCache[i]['staNo'] = obj.elem.value;
}
}
obj.othis.children().find("input").css("color", "blue");
@@ -229,7 +229,7 @@
// 纭
form.on('submit(staBatchSelectConfirm)', function (obj) {
let loadIdx = layer.load(2);
- let batchSta = Number(obj.field.batchSta);
+ let batchSta = obj.field.batchSta;
let arr = [];
for (let j = 0; j<stoPreTabData.length; j++) {
for (let i = 0; i<tableCache.length; i++) {
diff --git a/src/main/webapp/static/js/order/outAll.js b/src/main/webapp/static/js/order/outAll.js
new file mode 100644
index 0000000..98a3634
--- /dev/null
+++ b/src/main/webapp/static/js/order/outAll.js
@@ -0,0 +1,392 @@
+var pageCurr;
+var insTb2;
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+}).extend({
+ notice: 'notice/notice',
+}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect', 'tableMerge', 'tableX'], function(){
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+ var util = layui.util;
+ var notice = layui.notice;
+ var treeTable = layui.treeTable;
+ var xmSelect = layui.xmSelect;
+ var tableMerge = layui.tableMerge;
+ var tableX = layui.tableX;
+
+ insTb2 = table.render({
+ elem: '#orderDetlTable',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/orderDetl/pakout/list/auth',
+ page: true,
+ limit: 15,
+ limits: [15, 30, 50, 100, 200, 500],
+ toolbar: '#orderDetToolbar',
+ height: 'full-120',
+ where: {order_id: 9999999999},
+ cols: [[
+ {type: 'checkbox'}
+ ,{type: 'numbers', title: '#'}
+ ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl', width: 160}
+ ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160}
+ ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
+ ,{field: 'batch', align: 'center',title: '搴忓垪鐮�'}
+ ,{field: 'specs', align: 'center',title: '瑙勬牸'}
+ // ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+ // ,{field: 'qty', align: 'center',title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}
+ ,{field: 'enableQty', align: 'center',title: '寰呭嚭鏁伴噺', style: 'font-weight: bold'}
+ // ,{field: 'name', align: 'center',title: '鍚嶇О'}
+ // ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+ ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
+ ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜', hide: true}
+ // ,{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: '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: 160}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ }
+ });
+
+ /* 琛ㄦ牸2鎼滅储 */
+ form.on('submit(sensorTbSearch)', function (data) {
+ insTb2.reload({where: data.field, page: {curr: 1}});
+ return false;
+ });
+
+ /* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
+ table.on('toolbar(orderDetlTable)', function (obj) {
+
+ var checkStatus = table.checkStatus(obj.config.id).data;
+ if (obj.event === 'pakoutPreview') { // 娣诲姞
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨鑷冲皯涓�鏉″嚭搴撴槑缁�', {icon: 2});
+ return;
+ }
+ pakoutPreview(checkStatus.map(function (d) {
+ return d.id;
+ }));
+ } else if (obj.event === 'del') { // 鍒犻櫎
+ var checkRows = table.checkStatus('sensorTable');
+ if (checkRows.data.length === 0) {
+ layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ return;
+ }
+ var ids = checkRows.data.map(function (d) {
+ return d.id;
+ });
+ doDelSensor({ids: ids});
+ }
+ });
+
+ /* 琛ㄦ牸2宸ュ叿鏉$偣鍑讳簨浠� */
+ table.on('tool(orderDetlTable)', function (obj) {
+ console.log(obj);
+ var data = obj.data;
+ switch (obj.event) {
+ // 鍑哄簱
+ case 'pakoutPreview':
+ pakoutPreview([data.id])
+ break;
+ }
+ });
+
+ function pakoutPreview(ids) {
+ let loadIndex = layer.load(2);
+ console.log("1111")
+ $.ajax({
+ url: baseUrl + "/out/pakout2/preview/auth",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(ids),
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ var tableCache;
+ if (res.code === 200){
+ layer.open({
+ type: 1
+ ,title: false
+ ,closeBtn: false
+ ,offset: '50px'
+ ,area: ['1200px', '700px']
+ ,shade: 0.5
+ ,shadeClose: false
+ ,btn: ['绔嬪嵆鍑哄簱', '绋嶅悗澶勭悊']
+ ,btnAlign: 'c'
+ ,moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
+ ,content: $('#pakoutPreviewBox').html()
+ ,success: function(layero, index){
+ stoPreTabIdx = table.render({
+ elem: '#stoPreTab',
+ data: res.data,
+ height: 520,
+ page: false,
+ limit: Number.MAX_VALUE,
+ cellMinWidth: 100,
+ cols: [[
+ // {type: 'checkbox', merge: ['orderNo']},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
+ {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
+ {field: 'batch', title: '搴忓垪鐮�', align: 'center'},
+ {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
+ {field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
+ {field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
+ //{field: 'staState', title: '鐘舵��', align: 'center'},
+ {type: 'checkbox', merge: ['locNo']},
+ ]],
+ done: function (res) {
+ tableMerge.render(this);
+ $('.layui-table-body.layui-table-main').css("overflow", "auto");
+ tableCache = tableData = table.cache.stoPreTab;
+ }
+ });
+ // 淇敼鍑哄簱绔�
+ form.on('select(tbBasicTbStaNos)', function (obj) {
+ let index = obj.othis.parents('tr').attr("data-index");
+ let data = tableCache[index];
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].locNo === data.locNo) {
+ tableCache[i]['staNo'] = obj.elem.value;
+ }
+ }
+ obj.othis.children().find("input").css("color", "blue");
+ return false;
+ });
+ // 鎵归噺淇敼鍑哄簱绔�
+ form.on('submit(batchModifySta)', function () {
+ let stoPreTabData = layui.table.checkStatus('stoPreTab').data;
+ if (stoPreTabData.length < 1) {
+ layer.msg("璇疯嚦灏戦�夋嫨涓�鏉′互涓婂悎骞舵暟鎹�", {icon: 7});
+ return false;
+ }
+ modifySta(stoPreTabData);
+ });
+ // 鎵归噺淇敼鍑哄簱绔� - 绔欑偣閫夋嫨
+ function modifySta(stoPreTabData) {
+ // 鍑哄簱绔欏彇浜ら泦
+ let staBatchSelectVal = [];
+ for(let i = 0; i<stoPreTabData.length; i++) {
+ let staNos = stoPreTabData[i].staNos;
+ if (staNos !== null) {
+ if (staBatchSelectVal.length === 0) {
+ staBatchSelectVal = staNos;
+ } else {
+ staBatchSelectVal = staBatchSelectVal.filter(val =>
+ {
+ return new Set(staNos).has(val)
+ }
+ )
+ }
+ }
+ }
+ if (staBatchSelectVal.length === 0) {
+ layer.msg("鍑哄簱绔欐病鏈変氦闆嗭紝鏃犳硶鎵归噺淇敼", {icon: 2});
+ return;
+ }
+ admin.open({
+ type: 1,
+ area: '300px',
+ offset: 'auto',
+ title: '璇烽�夋嫨绔欑偣',
+ content: $('#staBatchSelectDialog').html(),
+ success: function (layero, ddIndex) {
+ // 娓叉煋涓嬫媺妗�
+ let template = Handlebars.compile($('#batchStaSelectTpl').html());
+ $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
+ // 纭
+ form.on('submit(staBatchSelectConfirm)', function (obj) {
+ let loadIdx = layer.load(2);
+ let batchSta = obj.field.batchSta;
+ let arr = [];
+ for (let j = 0; j<stoPreTabData.length; j++) {
+ for (let i = 0; i<tableCache.length; i++) {
+ if (tableCache[i].orderNo === stoPreTabData[j].orderNo
+ && tableCache[i].matnr === stoPreTabData[j].matnr
+ && tableCache[i].locNo === stoPreTabData[j].locNo) {
+ tableCache[i]['staNo'] = batchSta;
+ arr.push(i);
+ }
+ }
+ }
+ stoPreTabIdx.reload({data: tableCache});
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
+ });
+ layui.form.render('select');
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue");
+ });
+ layer.close(loadIdx); layer.close(ddIndex);
+ return false;
+ });
+ // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ },
+ })
+ }
+
+ }
+ ,yes: function(index, layero){
+ //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
+ let stoPreTabData = layui.table.checkStatus('stoPreTab').data;
+ if (stoPreTabData.length < 1) {
+ layer.msg("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹繘琛屽嚭搴�", {icon: 7});
+ return false;
+ }
+ pakout(stoPreTabData, index);
+ }
+ ,btn2: function(index, layero){
+ //鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
+ layer.close(index)
+ //return false 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴
+ }
+ });
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
+
+ function pakout(tableCache, layerIndex) {
+ // let loadIndex = layer.load(2);
+ notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4});
+ console.info(tableCache);
+ $.ajax({
+ url: baseUrl + "/out/pakout2/auth",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(tableCache),
+ method: 'POST',
+ success: function (res) {
+ notice.destroy();
+ if (res.code === 200) {
+ layer.close(layerIndex);
+ layer.msg(res.msg, {icon: 1});
+ insTb.reload({where: null});
+ insTb2.reload({where: null, page: {curr: 1}});
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ }
+
+
+
+ /* 鍒犻櫎璁㈠崟 */
+ function doDelSensor(obj) {
+ layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/sensor/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {ids: obj.ids},
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.msg(res.msg, {icon: 1});
+ $(".layui-laypage-btn")[0].click();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+
+ });
+ }
+
+ // 淇敼鐘舵��
+ form.on('switch(statusSwitch)', function (obj) {
+ var index = obj.othis.parents('tr').attr("data-index");
+ var data = tableData[index];
+ data[this.name] = obj.elem.checked?1:0;
+ http.post(baseUrl+"/sensor/edit/auth", {id: data.id, status: data[this.name]}, function (res) {
+ layer.msg(res.msg, {icon: 1});
+ })
+ })
+
+ window.pakoutPreview = pakoutPreview;
+
+});
+
+function tableReload(child) {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function() {
+ searchData[this.name] = this.value;
+ });
+ (child ? parent.tableIns : tableIns).reload({
+ where: searchData,
+ page: {
+ curr: pageCurr
+ }
+ });
+}
+
+/**
+ * 涓�閿嚭搴�
+ */
+function autoOut(orderId) {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ $.ajax({
+ url: baseUrl + "/out/pakout/orderDetlIds/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: { orderId : orderId },
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ pakoutPreview(res.data);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+}
diff --git a/src/main/webapp/static/js/user/user.js b/src/main/webapp/static/js/user/user.js
index 0e06c7e..c7fcbb9 100644
--- a/src/main/webapp/static/js/user/user.js
+++ b/src/main/webapp/static/js/user/user.js
@@ -29,7 +29,7 @@
,{field: 'mobile', align: 'center',title: '鎵嬫満鍙�'}
// ,{field: 'deptName', align: 'center',title: '鎵�灞為儴闂�'}
,{field: 'roleName', align: 'center',title: '瑙掕壊'}
- ,{field: 'email', align: 'center',title: '閭'}
+ ,{field: 'email', align: 'center',title: 'ERP涓敤鎴穒d'}
// ,{field: 'sex$', align: 'center',title: '鎬у埆'}
,{field: 'createTime$', align: 'center',title: '娉ㄥ唽鏃堕棿', hide: true}
,{field: 'status$', align: 'center',title: '鐘舵��', templet: '#statusTpl', width: 120, unresize: true}
diff --git a/src/main/webapp/views/order/outAll.html b/src/main/webapp/views/order/outAll.html
new file mode 100644
index 0000000..6def93f
--- /dev/null
+++ b/src/main/webapp/views/order/outAll.html
@@ -0,0 +1,314 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title></title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+ <link rel="stylesheet" href="../../static/css/originTable.css" media="all">
+ <style>
+ body {
+ color: #595959;
+ background-color: #f5f7f9;
+ }
+
+ .admin-form {
+ padding: 25px 30px 0 0 !important;
+ margin: 0 !important;
+ }
+
+ .layui-table-view .layui-table-cell .layui-select-title .layui-input {
+ height: 28px;
+ line-height: 28px;
+ }
+
+ .layui-table-view [lay-size="lg"] .layui-table-cell .layui-select-title .layui-input {
+ height: 40px;
+ line-height: 40px;
+ }
+
+ .layui-table-view [lay-size="lg"] .layui-table-cell .layui-select-title .layui-input {
+ height: 40px;
+ line-height: 40px;
+ }
+
+ .layui-table-view [lay-size="sm"] .layui-table-cell .layui-select-title .layui-input {
+ height: 20px;
+ line-height: 20px;
+ }
+
+ .layui-table-view [lay-size="sm"] .layui-table-cell .layui-btn-xs {
+ height: 18px;
+ line-height: 18px;
+ }
+
+ /* 鏉冮檺鎺у埗 */
+ #btn-pakoutPreview {
+ display: none;
+ }
+ /*#btn-delete {*/
+ /* display: none;*/
+ /*}*/
+ /*.btn-edit {*/
+ /* display: none;*/
+ /*}*/
+ /*.btn-more {*/
+ /* display: none;*/
+ /*}*/
+ </style>
+</head>
+<body>
+<!-- 姝f枃寮�濮� -->
+<div class="layui-fluid" style="padding-bottom: 0;">
+ <div class="layui-row layui-col-space15">
+ <!-- 宸� -->
+ <div class="layui-col-md3" id="left-table">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+ <form class="layui-form toolbar">
+ <div class="layui-form-item">
+ <div class="layui-inline" style="max-width: 300px;">
+ <input name="orderNo" class="layui-input" placeholder="杈撳叆鍗曟嵁缂栧彿" autocomplete="off"/>
+ </div>
+ <div class="layui-inline">
+ <button class="layui-btn icon-btn" lay-filter="originTableSearch" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit>
+ <i class="layui-icon"></i>閲嶇疆
+ </button>
+ </div>
+ </div>
+ </form>
+ <table id="originTable" lay-filter="originTable"></table>
+ </div>
+ </div>
+ </div>
+ <!-- 鍙� -->
+ <div class="layui-col-md9">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+ <form class="layui-form toolbar">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">鍟嗗搧缂栫爜:</label>
+ <div class="layui-input-inline">
+ <input name="matnr" class="layui-input" placeholder="鍟嗗搧缂栫爜"/>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label">鍟嗗搧鍚嶇О:</label>
+ <div class="layui-input-inline">
+ <input name="maktx" class="layui-input" placeholder="鍟嗗搧鍚嶇О"/>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <label class="layui-form-label">搴忓垪鐮�:</label>
+ <div class="layui-input-inline">
+ <input name="batch" class="layui-input" placeholder="搴忓垪鐮�"/>
+ </div>
+ </div>
+ <!-- <div class="layui-inline">-->
+ <!-- <label class="layui-form-label">鐘舵��:</label>-->
+ <!-- <div class="layui-input-inline">-->
+ <!-- <select name="isOnline">-->
+ <!-- <option value="1">鍏呯數涓�</option>-->
+ <!-- <option value="1">鍏呯數涓�</option>-->
+ <!-- <option value="0">涓嶅湪鍏呯數</option>-->
+ <!-- </select>-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <div class="layui-inline"> 
+ <button class="layui-btn icon-btn" lay-filter="sensorTbSearch" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ </div>
+ </div>
+ </form>
+ <table id="orderDetlTable" lay-filter="orderDetlTable"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+<!-- 澶村伐鍏锋爮 -->
+<script type="text/html" id="orderDetToolbar">
+
+ <!-- <div class="layui-btn-container">-->
+ <!-- <div class="layui-col-md3">-->
+ <!-- <select id="staNoSelect" lay-verify="required">-->
+ <!-- <option value="">璇烽�夋嫨绔欑偣</option>-->
+ <!-- </select>-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="pakoutPreview">鎵归噺鍑哄簱</button>
+
+</script>
+
+<!-- 琛屽伐鍏锋爮 -->
+<script type="text/html" id="operate">
+ {{#if (d.anfme > d.qty){ }}
+ <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>鍑哄簱</a>
+ {{# } }}
+</script>
+
+<!-- 鍑哄簱棰勮 -->
+<script type="text/html" id="pakoutPreviewBox" style="display: none">
+ <div style="padding: 25px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">
+ <span style="font-size: large; font-weight: bold">鍑哄簱棰勮</span>
+ </div>
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px">
+ <table id="stoPreTab" lay-filter="stoPreTab"></table>
+ </div>
+ <button class="layui-btn layui-btn-primary layui-border-black layui-btn-sm" lay-filter="batchModifySta" lay-submit style="display: block;float: right;margin-right: 1rem">
+ 鎵归噺淇敼
+ </button>
+ </div>
+</script>
+
+<script type="text/html" id="tbBasicTbStaNos">
+ <div class="ew-select-fixed">
+ <select class="order-sta-select" lay-filter="tbBasicTbStaNos">
+ {{#if (d.staNos!=null) {}}
+ {{# for(let i=0; i<d.staNos.length; i++) { }}
+ <option value="{{d.staNos[i]}}">{{d.staNos[i]}}</option>
+ {{# } }}
+ {{# } }}
+ </select>
+ </div>
+</script>
+
+<script type="text/html" id="staBatchSelectDialog">
+ <form class="layui-form" style="padding: 25px 50px 30px 50px;text-align: center">
+ <select id="batchSelectStaBox" name="batchSta" lay-vertype="tips" lay-verify="required" required="">
+ </select>
+ <button style="margin-top: 30px" class="layui-btn" lay-filter="staBatchSelectConfirm" lay-submit="">纭畾</button>
+ </form>
+</script>
+
+<script type="text/html" id="locNoTpl">
+ <span name="locNo"
+ {{# if( d.lack === false){ }}
+ class="layui-badge layui-badge-green" >{{d.locNo}}</span>
+ {{# } else { }}
+ class="layui-badge layui-badge-red" >搴撳瓨涓嶈冻</span>
+ {{# } }}
+</script>
+
+<!-- 琛屾牱寮� -->
+<script type="text/html" id="orderNoTpl">
+ <span name="orderNo" class="layui-badge layui-badge-gray">{{d.orderNo}}</span>
+</script>
+<script type="text/html" id="statusTpl">
+ <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="姝e父|绂佺敤" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}>
+</script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="detail" lay-filter="detail" class="layui-form admin-form">
+ <input name="id" type="hidden">
+ <input name="status" type="hidden">
+ <div class="layui-row">
+
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">璁惧缂栧彿</label>
+ <div class="layui-input-block">
+ <input name="uuid" placeholder="璇疯緭鍏ヨ澶囩紪鍙�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label">璁惧绫诲瀷锛�</label>
+ <div class="layui-input-block">
+ <div id="modelSel" class="ew-xmselect-tree"></div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">鎵�灞為」鐩�: </label>
+ <div class="layui-input-block cool-auto-complete">
+ <input name="hostId" class="layui-input" style="display: none">
+ <input id="hostId$" name="hostId$" 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="hostQueryByhostId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="hostQueryByhostIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ </select>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md12">
+ <div class="layui-form-item">
+ <label class="layui-form-label">璇︾粏鍦板潃</label>
+ <div class="layui-input-block">
+ <input name="addr" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" class="layui-input">
+ </div>
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-col-md12" style="text-align: center">
+ <iframe id="mapIframe" src="map.html" scrolling="no" frameborder="0"
+ style="display: inline-block; width: 90%;height: 400px;margin: auto">
+ </iframe>
+ </div>
+
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.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/tools/md5.js"></script>
+<script type="text/javascript" src="../../static/js/orderTable.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/order/outAll.js?v=1" charset="utf-8"></script>
+<!--<script type="text/template" id="takeSiteSelectTemplate">-->
+<!-- {{#each data}}-->
+<!-- <option value="{{siteId}}">{{desc}}</option>-->
+<!-- {{/each}}-->
+<!--</script>-->
+<!-- 椤圭洰缂栬緫绐楀彛 -->
+<script type="text/html" id="hostEditDialog">
+ <form id="hostEditForm" lay-filter="hostEditForm" class="layui-form model-form">
+ <input name="id" type="hidden"/>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">椤圭洰鍚嶇О:</label>
+ <div class="layui-input-block">
+ <input name="name" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" class="layui-input"
+ lay-verType="tips" lay-verify="required" required/>
+ </div>
+ </div>
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="hostEditSubmit" lay-submit>淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+
+</body>
+
+<script type="text/template" id="batchStaSelectTpl">
+ <option value="">閫夋嫨鍑哄簱绔�</option>
+ {{#each list}}
+ <option value="{{this}}">{{this}}</option>
+ {{/each}}
+</script>
+
+</html>
+
diff --git a/src/main/webapp/views/user/user.html b/src/main/webapp/views/user/user.html
index d2611c8..3aaec6e 100644
--- a/src/main/webapp/views/user/user.html
+++ b/src/main/webapp/views/user/user.html
@@ -130,12 +130,12 @@
<input name="mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
</div>
</div>
- <div class="layui-form-item">
- <label class="layui-form-label">閭</label>
- <div class="layui-input-block">
- <input name="email" placeholder="璇疯緭鍏ラ偖绠�" class="layui-input">
- </div>
- </div>
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label">閭</label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input name="email" placeholder="璇疯緭鍏ラ偖绠�" class="layui-input">-->
+<!-- </div>-->
+<!-- </div>-->
</div>
</div>
--
Gitblit v1.9.1