1
0
Просмотр исходного кода

Merge branch 'master' of xwh/wms into master

肖文浩 4 лет назад
Родитель
Сommit
6a645ac162
55 измененных файлов с 598 добавлено и 101 удалено
  1. 5 3
      build.gradle
  2. 4 0
      wms-center/src/main/java/com/lote/wms/user/user/controller/UserOrgController.java
  3. 6 1
      wms-center/src/main/resources/application-dev.yml
  4. 1 1
      wms-center/src/main/resources/application.yml
  5. 5 0
      wms-center/src/main/resources/mybatis/mapper/user/customer/CustomerContactMapper.xml
  6. 1 1
      wms-center/src/main/resources/static/ui/index.html
  7. BIN
      wms-center/src/main/resources/static/ui/static/images/logo.jpg
  8. 6 1
      wms-client/src/main/resources/application-dev.yml
  9. 1 1
      wms-client/src/main/resources/application.yml
  10. 1 1
      wms-client/src/main/resources/static/ui/index.html
  11. BIN
      wms-client/src/main/resources/static/ui/static/images/logo.jpg
  12. 17 17
      wms-client/src/main/resources/static/ui/views/outstock/order/outOrder/list.html
  13. 2 2
      wms-config/src/main/resources/activemq.properties
  14. 1 1
      wms-config/src/main/resources/center/redis.properties
  15. 2 2
      wms-config/src/main/resources/operate/redis.properties
  16. 21 0
      wms-core-service/src/main/java/com/lote/wms/api/standard/entity/outstock/OutOrderDto.java
  17. 7 0
      wms-core-service/src/main/java/com/lote/wms/api/standard/service/outstock/impl/OutstockHandlerServiceImpl.java
  18. 0 1
      wms-core-service/src/main/java/com/lote/wms/base/product/dao/ProductMapper.java
  19. 10 0
      wms-core-service/src/main/java/com/lote/wms/base/warehouse/entity/resultvo/LocationResultVo.java
  20. 9 0
      wms-core-service/src/main/java/com/lote/wms/instock/order/entity/resultvo/InOrderResultVo.java
  21. 7 7
      wms-core-service/src/main/java/com/lote/wms/instock/order/service/impl/InOrderServiceImpl.java
  22. 10 0
      wms-core-service/src/main/java/com/lote/wms/inventory/check/entity/queryvo/InventoryCheckDetailQueryVo.java
  23. 3 0
      wms-core-service/src/main/java/com/lote/wms/inventory/check/service/InventoryCheckDetailService.java
  24. 20 0
      wms-core-service/src/main/java/com/lote/wms/inventory/check/service/impl/InventoryCheckDetailServiceImpl.java
  25. 10 0
      wms-core-service/src/main/java/com/lote/wms/inventory/inventory/entity/Inventory.java
  26. 24 0
      wms-core-service/src/main/java/com/lote/wms/inventory/inventory/service/impl/InventoryServiceImpl.java
  27. 6 1
      wms-core-service/src/main/java/com/lote/wms/material/service/MaterialTypeService.java
  28. 50 9
      wms-core-service/src/main/java/com/lote/wms/material/service/impl/MaterialTypeServiceImpl.java
  29. 29 15
      wms-core-service/src/main/java/com/lote/wms/outstock/boxed/service/impl/OutBoxedServiceImpl.java
  30. 21 0
      wms-core-service/src/main/java/com/lote/wms/outstock/order/entity/OutOrder.java
  31. 10 0
      wms-core-service/src/main/java/com/lote/wms/outstock/order/entity/expand/PrintForOutShelfItem.java
  32. 1 0
      wms-core-service/src/main/java/com/lote/wms/outstock/order/service/impl/OutOrderServiceImpl.java
  33. 2 0
      wms-core-service/src/main/resources/mybatis/mapper/base/warehouse/LocationMapper.xml
  34. 2 0
      wms-core-service/src/main/resources/mybatis/mapper/inventory/inventory/InventoryMapper.xml
  35. 3 1
      wms-core-service/src/main/resources/mybatis/mapper/outstock/order/OutOrderMapper.xml
  36. 35 0
      wms-operate/src/main/java/com/lote/wms/controller/operate/inventory/check/InventoryCheckDetailController.java
  37. 4 0
      wms-operate/src/main/java/com/lote/wms/controller/operate/user/user/UserOrgController.java
  38. 6 1
      wms-operate/src/main/resources/application-dev.yml
  39. 1 1
      wms-operate/src/main/resources/application.yml
  40. 1 1
      wms-operate/src/main/resources/static/ui/index.html
  41. 1 0
      wms-operate/src/main/resources/static/ui/js/base/warehouse/location/list.js
  42. 1 0
      wms-operate/src/main/resources/static/ui/js/instock/order/inOrder/list.js
  43. 126 0
      wms-operate/src/main/resources/static/ui/js/inventory/check/checkDetail/list.js
  44. 2 1
      wms-operate/src/main/resources/static/ui/js/inventory/inventory/inventory/list.js
  45. 1 0
      wms-operate/src/main/resources/static/ui/js/inventory/inventory/inventory/listGpBySku.js
  46. 64 0
      wms-operate/src/main/resources/static/ui/js/outstock/order/outOrder/list.js
  47. BIN
      wms-operate/src/main/resources/static/ui/static/images/logo.jpg
  48. 1 1
      wms-operate/src/main/resources/static/ui/views/base/warehouse/locationType/upd.html
  49. 1 1
      wms-operate/src/main/resources/static/ui/views/instock/order/inOrder/list.html
  50. 9 1
      wms-operate/src/main/resources/static/ui/views/inventory/check/checkDetail/list.html
  51. 1 1
      wms-operate/src/main/resources/static/ui/views/outstock/boxed/outBoxed/main.html
  52. 1 1
      wms-operate/src/main/resources/static/ui/views/outstock/order/outOrder/list.html
  53. 14 9
      wms-operate/src/main/resources/static/ui/views/outstock/order/printOutShelf/a4-batch.html
  54. 16 9
      wms-operate/src/main/resources/static/ui/views/outstock/order/printOutShelf/a4.html
  55. 16 9
      wms-operate/src/main/resources/static/ui/views/outstock/order/printOutShelf/a5.html

+ 5 - 3
build.gradle

@@ -16,9 +16,10 @@ subprojects {
     tasks.withType(JavaCompile) {
         options.encoding = "UTF-8"
     }
+
     repositories {
         mavenLocal()
-        maven {url 'http://maven.youzanyun.com/repository/maven-public/'}
+        maven {url 'http://maven.youzanyun.com/repository/maven-releases/'}
         maven {url 'https://maven.aliyun.com/repository/public/'}
         maven {url 'https://maven.aliyun.com/repository/gradle-plugin/'}
         maven {url 'https://maven.aliyun.com/repository/spring/'}
@@ -36,6 +37,8 @@ subprojects {
     }
 
     ext {
+        youzan_sdk_core = '1.0.5-RELEASE'
+        youzan_sdk_gen = '1.0.5.201907111756-RELEASE'
         junit = '4.13'
         // jmockit = '1.49'
         slf4j = '1.7.25'
@@ -137,8 +140,7 @@ subprojects {
 
         sf_barcode4j = '2.0'
 
-        youzan_sdk_core = '1.0.5-RELEASE'
-        youzan_sdk_gen = '1.0.5.201907111756-RELEASE'
+
 
         // for wms-fileserver
         servlets_cos = '09May2002'

+ 4 - 0
wms-center/src/main/java/com/lote/wms/user/user/controller/UserOrgController.java

@@ -2,6 +2,7 @@ package com.lote.wms.user.user.controller;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 import javax.annotation.Resource;
 
@@ -65,6 +66,9 @@ public class UserOrgController extends AbstractController {
 		if (StringUtil.isEmpty(userOrg.getName())) {
 			return Result.error("机构名称不能为空");
 		}
+		if(Objects.isNull(userOrg.getParentId()) || "".equals(userOrg.getParentId())){
+			userOrg.setParentId("0");
+		}
 		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
 		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
 		userOrg.setCreatedByUserId(userId);

+ 6 - 1
wms-center/src/main/resources/application-dev.yml

@@ -1,4 +1,9 @@
-
+# 服务配置
+server:
+    address: 183.3.221.143
+    port: 9090
+    servlet:
+        context-path: /
 
 
 # 当前环境

+ 1 - 1
wms-center/src/main/resources/application.yml

@@ -15,7 +15,7 @@ server:
 
 spring:
     profiles:
-        active: dev
+        active:
     # 使用CGLIB实现AOP
     aop:
         # true:基于类的代理, false基于接口的代理

+ 5 - 0
wms-center/src/main/resources/mybatis/mapper/user/customer/CustomerContactMapper.xml

@@ -86,6 +86,11 @@
       limit ${start} , ${limit}
     </if>
   </select>
+  <select id="selectAll" resultMap="BaseResultMap">
+    select
+    <include refid="Base_Column_List" />
+    from u_customer_contact
+  </select>
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
     select 
     <include refid="Base_Column_List" />

+ 1 - 1
wms-center/src/main/resources/static/ui/index.html

@@ -139,7 +139,7 @@
                 <td class="webname" style="padding-left: 0px;width:200px;">
 					<!--<span class="fa fa-envira" style="font-size:26px; padding-right:8px;"></span>JWMS-控制中心 -->
                 	<div style="height: 50px;width:200px;overflow: hidden;" id="logoDiv">
-                		<img id="logoImgUrl"  src="/ui/static/images/jwms_logo.png">
+                		<img id="logoImgUrl"  src="/ui/static/images/logo.jpg"  width="200" height="50">
                 	</div>
                 </td>
                 <td class="collapseMenu" style="text-align: center;cursor: pointer;">

BIN
wms-center/src/main/resources/static/ui/static/images/logo.jpg


+ 6 - 1
wms-client/src/main/resources/application-dev.yml

@@ -1,4 +1,9 @@
-
+# 服务配置
+server:
+    address: 183.3.221.143
+    port: 9091
+    servlet:
+        context-path: /
 
 
 # 当前环境

+ 1 - 1
wms-client/src/main/resources/application.yml

@@ -15,7 +15,7 @@ server:
 
 spring:
     profiles:
-        active: dev
+        active:
     # 使用CGLIB实现AOP
     aop:
         # true:基于类的代理, false基于接口的代理

+ 1 - 1
wms-client/src/main/resources/static/ui/index.html

@@ -140,7 +140,7 @@
                 <td class="webname" style="padding-left: 0px;width:200px;">
 <!--                     <span class="fa fa-envira" style="font-size:26px; padding-right:8px;"></span>JWMS-货主系统 -->
                 	<div style="height: 50px;width:200px;overflow: hidden;" id="logoDiv">
-                		<img id="logoImgUrl"  src="/ui/static/images/jwms_logo.png">
+                		<img id="logoImgUrl"  src="/ui/static/images/logo.jpg"   width="200" height="50">
                 	</div>
                 </td>
                 <td class="collapseMenu" style="text-align: center;cursor: pointer;">

BIN
wms-client/src/main/resources/static/ui/static/images/logo.jpg


+ 17 - 17
wms-client/src/main/resources/static/ui/views/outstock/order/outOrder/list.html

@@ -40,7 +40,7 @@
 				<input type="text" name="statusCode" style="width: 130px;"  data-toggle="topjui-combotree" data-options="valueField: 'code',textField: 'name',url:'/outstock/orderStatus/listAll',panelHeight:550,panelWidth:240,prompt:'订单状态'">
 				
 				<span class="textbox" style="width: 128px; height: 28px;color: black;">
-					<input id="orderNos" name="orderNos" type="text" onfocus="focusOrderNos()" onblur="unFocusOrderNos()"  class="textbox-text textbox-prompt"  placeholder="出库单号"  style="margin: 0px; padding-top: 0px; padding-bottom: 0px; height: 28px; line-height: 28px; width: 120px;color: black;"">
+					<input id="orderNos" name="orderNos" type="text" onfocus="focusOrderNos()" onblur="unFocusOrderNos()"  class="textbox-text textbox-prompt"  placeholder="出库单号"  style="margin: 0px; padding-top: 0px; padding-bottom: 0px; height: 28px; line-height: 28px; width: 120px;color: black;">
 				</span>
 				<input type="text" name="trackingNos" data-toggle="topjui-textbox" data-options="width:'130px', mutiline:true,id:'trackingNos',prompt:'跟踪单号'">
 				<input type="text" name="fuzzySearch" style="width: 130px;" data-toggle="topjui-textbox" data-options="id:'fuzzySearch',prompt:'模糊查询'">
@@ -153,22 +153,22 @@
         		<div id="exportBySelect">按列表勾选</div>
                 <div id="exportByQuery">按查询条件</div>
 			</div>
-		    <a id="edit" href="javascript:void(0)" style="width: 85px;">编辑</a>
-		    <a id="delete" href="javascript:void(0)" style="width: 85px;">删除</a>
-			<a id="setWarehouse" href="javascript:void(0)" style="width: 85px;">设置仓库</a>			
-			<a id="setShipway" href="javascript:void(0)" style="width: 85px;">设置渠道</a>
-			<a id="applyTrackingNo" href="javascript:void(0)" style="width: 85px;">申请单号</a>
-			<a id="cancelTrackingNo" resourceId="510112" href="javascript:void(0)" style="width: 85px;">取消单号</a>
-									
-			<a id="prints"  href="javascript:void(0)" style="width: 85px;">打印</a>
-        	<div id="printSubMenu" class="topjui-toolbar" style="width:140px;">
-<!--         		<div id="printOutShelf">拣货单</div> -->
-        		<div id="printWaybill">物流运单</div>
-        		<div id="printInvoice">商业发票</div>
-			</div>
-			<a id="holdUp" href="javascript:void(0)" style="width: 85px;">拦截</a>
-		    <a id="unHoldUp" href="javascript:void(0)" style="width: 85px;">取消拦截</a>	
-			<a id="splitOrder" href="javascript:void(0)" style="width: 85px;">拆分订单</a>		    
+<!--		    <a id="edit" href="javascript:void(0)" style="width: 85px;">编辑</a>-->
+<!--		    <a id="delete" href="javascript:void(0)" style="width: 85px;">删除</a>-->
+<!--			<a id="setWarehouse" href="javascript:void(0)" style="width: 85px;">设置仓库</a>			-->
+<!--			<a id="setShipway" href="javascript:void(0)" style="width: 85px;">设置渠道</a>-->
+<!--			<a id="applyTrackingNo" href="javascript:void(0)" style="width: 85px;">申请单号</a>-->
+<!--			<a id="cancelTrackingNo" resourceId="510112" href="javascript:void(0)" style="width: 85px;">取消单号</a>-->
+<!--									-->
+<!--			<a id="prints"  href="javascript:void(0)" style="width: 85px;">打印</a>-->
+<!--        	<div id="printSubMenu" class="topjui-toolbar" style="width:140px;">-->
+<!--&lt;!&ndash;         		<div id="printOutShelf">拣货单</div> &ndash;&gt;-->
+<!--        		<div id="printWaybill">物流运单</div>-->
+<!--        		<div id="printInvoice">商业发票</div>-->
+<!--			</div>-->
+<!--			<a id="holdUp" href="javascript:void(0)" style="width: 85px;">拦截</a>-->
+<!--		    <a id="unHoldUp" href="javascript:void(0)" style="width: 85px;">取消拦截</a>	-->
+<!--			<a id="splitOrder" href="javascript:void(0)" style="width: 85px;">拆分订单</a>		    -->
 		</div>			
 	</div>
     <!-- 表格工具栏结束 -->

+ 2 - 2
wms-config/src/main/resources/activemq.properties

@@ -20,9 +20,9 @@ activemq.sessionCacheSize = 100
 
 ############## \u751F\u4EA7\u73AF\u5883 ################
 
-#activemq.ip=47.91.235.167
+#activemq.ip=183.3.221.143
 #activemq.port=61616
 #activemq.username=admin
 #activemq.password=admin
 #activemq.sessionCacheSize = 100
-
+#

+ 1 - 1
wms-config/src/main/resources/center/redis.properties

@@ -42,7 +42,7 @@ redis.timeout=5000
 ############## \u751F\u4EA7\u73AF\u5883 ################
 
 ##Redis\u670D\u52A1\u5668IP
-#redis.host=127.0.0.1
+#redis.host=183.3.221.143
 ##Redis\u7684\u7AEF\u53E3\u53F7
 #redis.port=6379
 ##\u8BBF\u95EE\u5BC6\u7801

+ 2 - 2
wms-config/src/main/resources/operate/redis.properties

@@ -40,9 +40,9 @@ redis.timeout=5000
 
 
 ############## \u751F\u4EA7\u73AF\u5883 ################
-
+#
 ##Redis\u670D\u52A1\u5668IP
-#redis.host=127.0.0.1
+#redis.host=183.3.221.143
 ##Redis\u7684\u7AEF\u53E3\u53F7
 #redis.port=6379
 ##\u8BBF\u95EE\u5BC6\u7801

+ 21 - 0
wms-core-service/src/main/java/com/lote/wms/api/standard/entity/outstock/OutOrderDto.java

@@ -1,6 +1,7 @@
 package com.lote.wms.api.standard.entity.outstock;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -146,6 +147,26 @@ public class OutOrderDto implements Serializable {
 
 	private String shippingStatus;
 
+	private BigDecimal insuredPrice;
+
+	private BigDecimal preservationPrice;
+
+	public BigDecimal getInsuredPrice() {
+		return insuredPrice;
+	}
+
+	public void setInsuredPrice(BigDecimal insuredPrice) {
+		this.insuredPrice = insuredPrice;
+	}
+
+	public BigDecimal getPreservationPrice() {
+		return preservationPrice;
+	}
+
+	public void setPreservationPrice(BigDecimal preservationPrice) {
+		this.preservationPrice = preservationPrice;
+	}
+
 	private static final long serialVersionUID = 1L;
 
 	public OutOrderDto() {

+ 7 - 0
wms-core-service/src/main/java/com/lote/wms/api/standard/service/outstock/impl/OutstockHandlerServiceImpl.java

@@ -3,6 +3,7 @@ package com.lote.wms.api.standard.service.outstock.impl;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 import javax.annotation.Resource;
 
@@ -137,6 +138,12 @@ public class OutstockHandlerServiceImpl implements OutstockStandardService {
 		outOrder.setStatusCombinationName(OutOrderStatusCombinationEnum.UNASSIGNED.getName());
 		outOrder.setBusinessTypeCode(OutOrderBusinessTypeEnum.WMS.getCode());
 		outOrder.setBusinessTypeName(OutOrderBusinessTypeEnum.WMS.getName());
+		if (Objects.nonNull(orderDto.getInsuredPrice())){
+			outOrder.setInsuredPrice(orderDto.getInsuredPrice());
+		}
+		if (Objects.nonNull(orderDto.getPreservationPrice())){
+			outOrder.setPreservationPrice(orderDto.getPreservationPrice());
+		}
 
 		OutOrderFeeDto feeDto = orderDto.getOrderFee();
 		OutOrderFee outOrderFee = null;

+ 0 - 1
wms-core-service/src/main/java/com/lote/wms/base/product/dao/ProductMapper.java

@@ -31,5 +31,4 @@ public interface ProductMapper {
 	 * @return
 	 */
 	int deleteByIdList(@Param("idList") List<String> idList);
-	
 }

+ 10 - 0
wms-core-service/src/main/java/com/lote/wms/base/warehouse/entity/resultvo/LocationResultVo.java

@@ -16,6 +16,16 @@ public class LocationResultVo extends Location {
 
 	private Integer totalQty;
 
+	private String typeName;
+
+	public String getTypeName() {
+		return typeName;
+	}
+
+	public void setTypeName(String typeName) {
+		this.typeName = typeName;
+	}
+
 	public String getInventorys() {
 		return inventorys;
 	}

+ 9 - 0
wms-core-service/src/main/java/com/lote/wms/instock/order/entity/resultvo/InOrderResultVo.java

@@ -21,6 +21,15 @@ public class InOrderResultVo extends InOrder {
 	private List<InShelf> inShelfList;
 	// 条形码
 	private String data;
+	private String customerName;
+
+	public String getCustomerName() {
+		return customerName;
+	}
+
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
 
 	public String getProductPreview() {
 		return productPreview;

+ 7 - 7
wms-core-service/src/main/java/com/lote/wms/instock/order/service/impl/InOrderServiceImpl.java

@@ -1,12 +1,6 @@
 package com.lote.wms.instock.order.service.impl;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import javax.annotation.Resource;
 
@@ -170,6 +164,12 @@ public class InOrderServiceImpl implements InOrderService {
 			vo.setOrderNoList(Arrays.asList(vo.getOrderNos().replaceAll("[\\s,;'\\.\"。,]+", " ").split(" ")));
 		}
 		List<InOrderResultVo> list = inOrderMapper.selectByVoList(vo);
+		list.forEach(inOrderResultVo ->{
+			Customer customer = customerService.getByCode(inOrderResultVo.getCustomerCode());
+			if (Objects.nonNull(customer)){
+				inOrderResultVo.setCustomerName(customer.getName());
+			}
+		});
 		return PagerUtil.getPager(list, vo);
 	}
 

+ 10 - 0
wms-core-service/src/main/java/com/lote/wms/inventory/check/entity/queryvo/InventoryCheckDetailQueryVo.java

@@ -47,6 +47,16 @@ public class InventoryCheckDetailQueryVo extends QueryParam {
 
 	private String createdTimeEnd;
 
+	private String isGain; // Y为盘盈,N为盘亏
+
+	public String getIsGain() {
+		return isGain;
+	}
+
+	public void setIsGain(String isGain) {
+		this.isGain = isGain;
+	}
+
 	public String getInventoryId() {
 		return inventoryId;
 	}

+ 3 - 0
wms-core-service/src/main/java/com/lote/wms/inventory/check/service/InventoryCheckDetailService.java

@@ -1,6 +1,7 @@
 package com.lote.wms.inventory.check.service;
 
 import java.util.List;
+import java.util.Map;
 
 import org.mybatis.plugin.model.Pager;
 
@@ -81,4 +82,6 @@ public interface InventoryCheckDetailService {
 	List<InventoryCheckDetail> listDiffByCheckIdGroupSku(String checkId);
 
 	int sumQty(InventoryQueryVo vo);
+
+	void updateDiffQty(Map<String, String> map);
 }

+ 20 - 0
wms-core-service/src/main/java/com/lote/wms/inventory/check/service/impl/InventoryCheckDetailServiceImpl.java

@@ -3,6 +3,7 @@ package com.lote.wms.inventory.check.service.impl;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.Resource;
 
@@ -46,6 +47,7 @@ import com.lote.wms.inventory.inventory.service.InventoryHistoryService;
 import com.lote.wms.inventory.inventory.service.InventoryService;
 import com.lote.wms.inventory.inventory.service.QualityLevelService;
 import com.lote.wms.user.user.entity.User;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service("inventoryCheckDetailService")
 public class InventoryCheckDetailServiceImpl implements InventoryCheckDetailService {
@@ -144,6 +146,18 @@ public class InventoryCheckDetailServiceImpl implements InventoryCheckDetailServ
 				cri.andCreatedTimeLessThanOrEqualTo(date);
 			}
 		}
+
+		if (!StringUtil.isEmpty(vo.getIsGain())){
+			// 如果是盘盈
+			if ("Y".equals(vo.getIsGain())){
+				cri.andDiffQtyGreaterThan(0);
+			}
+			// 如果是盘亏
+			if ("N".equals(vo.getIsGain())){
+				cri.andDiffQtyLessThan(0);
+			}
+		}
+
 		List<InventoryCheckDetail> list = inventoryCheckDetailMapper.selectByConditionList(criteria);
 		return PagerUtil.getPager(list, criteria);
 	}
@@ -874,4 +888,10 @@ public class InventoryCheckDetailServiceImpl implements InventoryCheckDetailServ
 		return sum;
 	}
 
+	@Override
+	@Transactional
+	public void updateDiffQty(Map<String, String> map) {
+
+	}
+
 }

+ 10 - 0
wms-core-service/src/main/java/com/lote/wms/inventory/inventory/entity/Inventory.java

@@ -116,6 +116,8 @@ public class Inventory implements Serializable {
 
     private Double height;
 
+    private String unit;
+
     private static final long serialVersionUID = 1L;
 
     public Inventory() {
@@ -569,4 +571,12 @@ public class Inventory implements Serializable {
     public void setHeight(Double height) {
         this.height = height;
     }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
 }

+ 24 - 0
wms-core-service/src/main/java/com/lote/wms/inventory/inventory/service/impl/InventoryServiceImpl.java

@@ -3,9 +3,12 @@ package com.lote.wms.inventory.inventory.service.impl;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 import javax.annotation.Resource;
 
+import com.lote.wms.base.product.dao.ProductMapper;
+import com.lote.wms.base.product.entity.queryvo.ProductQueryVo;
 import org.mybatis.plugin.model.Pager;
 import org.mybatis.plugin.util.PagerUtil;
 import org.slf4j.Logger;
@@ -53,6 +56,9 @@ public class InventoryServiceImpl implements InventoryService {
 	private InventoryMapper inventoryMapper;
 
 	@Resource
+	private ProductMapper productMapper;
+
+	@Resource
 	private InventoryHistoryService inventoryHistoryService;
 
 	@Resource
@@ -118,6 +124,15 @@ public class InventoryServiceImpl implements InventoryService {
 		BeanUtil.trimString(InventoryQueryVo.class, vo);
 
 		List<Inventory> list = inventoryMapper.selectByVoList(vo);
+		list.forEach( inventory -> {
+			ProductQueryVo productQueryVo = new ProductQueryVo();
+			productQueryVo.setCustomerId(inventory.getCustomerId());
+			productQueryVo.setSku(inventory.getSku());
+			Product product = productMapper.getByCustomerAndSku(productQueryVo);
+			if (Objects.nonNull(product)){
+				inventory.setUnit(product.getUnit());
+			}
+		});
 		return PagerUtil.getPager(list, vo);
 	}
 
@@ -128,6 +143,15 @@ public class InventoryServiceImpl implements InventoryService {
 
 		vo.setCountType("2");// 不要使用GenMysqlCountUtil的方式统计总数,会报错
 		List<Inventory> list = inventoryMapper.selectByVoGpBySkuList(vo);
+		list.forEach( inventory -> {
+			ProductQueryVo productQueryVo = new ProductQueryVo();
+			productQueryVo.setCustomerId(inventory.getCustomerId());
+			productQueryVo.setSku(inventory.getSku());
+			Product product = productMapper.getByCustomerAndSku(productQueryVo);
+			if (Objects.nonNull(product)){
+				inventory.setUnit(product.getUnit());
+			}
+		});
 		return PagerUtil.getPager(list, vo);
 	}
 

+ 6 - 1
wms-core-service/src/main/java/com/lote/wms/material/service/MaterialTypeService.java

@@ -1,16 +1,21 @@
 package com.lote.wms.material.service;
 
+import com.lote.wms.base.dict.entity.queryvo.MaterialTypeQueryVo;
 import com.lote.wms.material.entity.MaterialType;
 import org.mybatis.plugin.model.Pager;
 
+import java.util.List;
+
 public interface MaterialTypeService {
     MaterialType add(MaterialType record);
 
-    boolean delete(String id);
+    boolean delete(List<String> ids);
 
     MaterialType update(MaterialType record);
 
     MaterialType get(String id);
 
     Pager<MaterialType> list(int page, int limit);
+
+    Pager<MaterialType> list(MaterialTypeQueryVo materialTypeQueryVo);
 }

+ 50 - 9
wms-core-service/src/main/java/com/lote/wms/material/service/impl/MaterialTypeServiceImpl.java

@@ -1,18 +1,27 @@
 package com.lote.wms.material.service.impl;
 
+import com.lote.wms.base.dict.entity.queryvo.MaterialTypeQueryVo;
+import com.lote.wms.base.product.entity.Product;
+import com.lote.wms.base.product.entity.ProductCriteria;
+import com.lote.wms.base.product.entity.queryvo.ProductQueryVo;
+import com.lote.wms.common.utils.DateUtil;
+import com.lote.wms.common.utils.StringUtil;
 import com.lote.wms.material.dao.MaterialTypeMapper;
 import com.lote.wms.material.entity.MaterialType;
-import com.lote.wms.material.entity.MaterialTypeCriteria.Criteria;
 import com.lote.wms.material.entity.MaterialTypeCriteria;
+import com.lote.wms.material.entity.MaterialTypeCriteria.Criteria;
 import com.lote.wms.material.service.MaterialTypeService;
-import java.util.List;
 import org.mybatis.plugin.model.Pager;
 import org.mybatis.plugin.util.PagerUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+
 @Service("materialTypeService")
 public class MaterialTypeServiceImpl implements MaterialTypeService {
     @Resource
@@ -21,18 +30,24 @@ public class MaterialTypeServiceImpl implements MaterialTypeService {
     private static final Logger logger = LoggerFactory.getLogger(MaterialTypeServiceImpl.class);
 
     public MaterialType add(MaterialType record) {
-        if(this.materialTypeMapper.insertSelective(record)==1)
-        	return record; 
+        if (this.materialTypeMapper.insertSelective(record) == 1)
+            return record;
         return null;
     }
 
-    public boolean delete(String id) {
-        return this.materialTypeMapper.deleteByPrimaryKey(id)==1;
+    public boolean delete(List<String> ids) {
+        AtomicBoolean flag  = new AtomicBoolean(true);
+        ids.forEach(id -> {
+            int result = this.materialTypeMapper.deleteByPrimaryKey(id);
+            if (result !=1)
+                flag.set(false);
+        });
+        return flag.get();
     }
 
     public MaterialType update(MaterialType record) {
-        if(this.materialTypeMapper.updateByPrimaryKeySelective(record)==1)
-        	return record;
+        if (this.materialTypeMapper.updateByPrimaryKeySelective(record) == 1)
+            return record;
         return null;
     }
 
@@ -48,4 +63,30 @@ public class MaterialTypeServiceImpl implements MaterialTypeService {
         List<MaterialType> list = materialTypeMapper.selectByConditionList(criteria);
         return PagerUtil.getPager(list, criteria);
     }
+
+    @Override
+    public Pager<MaterialType> list(MaterialTypeQueryVo materialTypeQueryVo) {
+        MaterialTypeCriteria criteria = getCriteria(materialTypeQueryVo);
+        List<MaterialType> list = materialTypeMapper.selectByConditionList(criteria);
+        return PagerUtil.getPager(list, criteria);
+    }
+
+    private MaterialTypeCriteria getCriteria(MaterialTypeQueryVo materialTypeQueryVo) {
+        MaterialTypeCriteria criteria = new MaterialTypeCriteria();
+
+        criteria.setOrderByClause("sort desc");
+        if (!StringUtil.isEmpty(materialTypeQueryVo.getOrderByClause())) {
+            criteria.setOrderByClause(materialTypeQueryVo.getOrderByClause());
+        }
+        criteria.setPage(materialTypeQueryVo.getPage());
+        criteria.setLimit(materialTypeQueryVo.getLimit());
+        MaterialTypeCriteria.Criteria cri = criteria.createCriteria();
+        if (materialTypeQueryVo.getCode()!=null) {
+            cri.andCodeEqualTo(materialTypeQueryVo.getCode());
+        }
+        if (!StringUtil.isEmpty(materialTypeQueryVo.getName())) {
+            cri.andNameLike(materialTypeQueryVo.getName());
+        }
+        return criteria;
+    }
 }

+ 29 - 15
wms-core-service/src/main/java/com/lote/wms/outstock/boxed/service/impl/OutBoxedServiceImpl.java

@@ -1,20 +1,5 @@
 package com.lote.wms.outstock.boxed.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import org.mybatis.plugin.model.Pager;
-import org.mybatis.plugin.util.PagerUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.lote.wms.common.constants.BaseConstant;
 import com.lote.wms.common.core.db.DataAccessHolder;
 import com.lote.wms.common.core.db.IdWorkerAide;
@@ -40,6 +25,15 @@ import com.lote.wms.outstock.outshelf.service.OutShelfService;
 import com.lote.wms.outstock.track.entity.TraceConstant;
 import com.lote.wms.outstock.track.service.TraceService;
 import com.lote.wms.user.user.entity.User;
+import org.mybatis.plugin.model.Pager;
+import org.mybatis.plugin.util.PagerUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
 
 @Service("outBoxedService")
 public class OutBoxedServiceImpl implements OutBoxedService {
@@ -255,6 +249,7 @@ public class OutBoxedServiceImpl implements OutBoxedService {
 		return list;
 	}
 
+	// todo 称重方法 17 18
 	@Override
 	public Message weigh(OutBoxedQueryVo vo, User user) {
 		Message message = new Message();
@@ -345,6 +340,25 @@ public class OutBoxedServiceImpl implements OutBoxedService {
 			message.setMsg("出库单号:" + orderNo + ",完成称重,请操作下一单");
 			message.setExtend(isFinished);
 		}
+
+		// todo 判断是否为海关查验单,如果是就调用拦截,如果不是就发运
+		if (!StringUtil.isEmpty(order.getExtend1()) && "2".equals(order.getExtend1())) {
+			Message holdUp = outOrderService.holdUp(order.getId(), user);
+			if (holdUp.isSuccess()) {
+				message.setMsg(message.getMsg() + ",该订单为海关查验单,已自动拦截.");
+			} else {
+				message.setMsg(message.getMsg() + ","+holdUp.getMsg());
+			}
+		}
+		// 只有销售订单才自动发
+		if (!StringUtil.isEmpty(order.getExtend1()) && "0".equals(order.getExtend1()) && "1".equals(order.getTypeCode())) {
+			Message shipped = outOrderService.shipped(order.getOrderNo1(), user);
+			if (shipped.isSuccess()) {
+				message.setMsg(message.getMsg() + ",该订单已自动发运.");
+			} else {
+				message.setMsg(message.getMsg() + "," + shipped.getMsg());
+			}
+		}
 		message.setSuccess(true);
 		return message;
 	}

+ 21 - 0
wms-core-service/src/main/java/com/lote/wms/outstock/order/entity/OutOrder.java

@@ -1,6 +1,7 @@
 package com.lote.wms.outstock.order.entity;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 public class OutOrder implements Serializable {
@@ -254,6 +255,26 @@ public class OutOrder implements Serializable {
 
     private String customerName;
 
+    private BigDecimal insuredPrice;
+
+    private BigDecimal preservationPrice;
+
+    public BigDecimal getInsuredPrice() {
+        return insuredPrice;
+    }
+
+    public void setInsuredPrice(BigDecimal insuredPrice) {
+        this.insuredPrice = insuredPrice;
+    }
+
+    public BigDecimal getPreservationPrice() {
+        return preservationPrice;
+    }
+
+    public void setPreservationPrice(BigDecimal preservationPrice) {
+        this.preservationPrice = preservationPrice;
+    }
+
     private static final long serialVersionUID = 1L;
 
     public OutOrder() {

+ 10 - 0
wms-core-service/src/main/java/com/lote/wms/outstock/order/entity/expand/PrintForOutShelfItem.java

@@ -12,6 +12,16 @@ public class PrintForOutShelfItem {
 	
 	private boolean isOutShelf;//是否下架
 
+	private String sku;//sku
+
+	public String getSku() {
+		return sku;
+	}
+
+	public void setSku(String sku) {
+		this.sku = sku;
+	}
+
 	public String getBarcode() {
 		return barcode;
 	}

+ 1 - 0
wms-core-service/src/main/java/com/lote/wms/outstock/order/service/impl/OutOrderServiceImpl.java

@@ -2879,6 +2879,7 @@ public class OutOrderServiceImpl implements OutOrderService {
 				item.setCount(allocation.getQuantity());
 				item.setLocationCode(allocation.getLocationCode());
 				item.setProductName(StringUtil.keepMaxLength(allocation.getProductName(), 20));
+				item.setSku(allocation.getSku());
 				itemDtoList.add(item);
 				totalCount += allocation.getQuantity();
 			}

+ 2 - 0
wms-core-service/src/main/resources/mybatis/mapper/base/warehouse/LocationMapper.xml

@@ -418,9 +418,11 @@
  <select id="selectByVoList" flushCache="true" resultMap="ResultVoMap" parameterType="com.lote.wms.base.warehouse.entity.queryvo.LocationQueryVo"  >
 	select 
 		a.*,
+		t.name as typeName,
 		GROUP_CONCAT(b.barcode,'*',b.qty_total) as inventorys,
 		sum(b.qty_total) as total_qty
 	from b_location a LEFT JOIN i_inventory b on a.code = b.location_code
+	left join b_location_type t on a.type_code = t.code
 	where 1=1 
 		<include refid="selectByVoListConditionSql"></include>
 		GROUP BY a.id

+ 2 - 0
wms-core-service/src/main/resources/mybatis/mapper/inventory/inventory/InventoryMapper.xml

@@ -988,6 +988,7 @@
 		select
 			a.id,
 			a.warehouse_code,
+			a.customer_id,
 			a.customer_code,
 			a.barcode,
 			a.sku,
@@ -1009,6 +1010,7 @@
 			select
 				id,
 				warehouse_code,
+                customer_id,
 				customer_code,
                 group_concat(barcode) as barcode,
 

+ 3 - 1
wms-core-service/src/main/resources/mybatis/mapper/outstock/order/OutOrderMapper.xml

@@ -127,6 +127,8 @@
     <result column="bill_weight" property="billWeight" jdbcType="DOUBLE" />
     <result column="warehouse_name" property="warehouseName" jdbcType="VARCHAR" />
     <result column="customer_name" property="customerName" jdbcType="VARCHAR" />
+    <result column="insured_price" property="insuredPrice" jdbcType="DECIMAL" />
+    <result column="preservation_price" property="preservationPrice" jdbcType="DECIMAL" />
   </resultMap>
   <sql id="Condition_Where_Clause" >
     <where >
@@ -179,7 +181,7 @@
     callback_weigh_time, is_callback_trackingno_success, callback_trackingno_result, 
     callback_trackingno_time, api_data_extend, is_shortage, is_repeat_purchase, address_digest, 
     repeat_purchase_order_no, last_trace, problem_type_code, problem_type_name, problem_remark, 
-    is_problem, is_vali_box, volume_weight, bill_weight, warehouse_name, customer_name
+    is_problem, is_vali_box, volume_weight, bill_weight, warehouse_name, customer_name,insured_price,preservation_price
   </sql>
   <select id="selectByConditionList" resultMap="BaseResultMap" parameterType="com.lote.wms.outstock.order.entity.OutOrderCriteria" >
     select

+ 35 - 0
wms-operate/src/main/java/com/lote/wms/controller/operate/inventory/check/InventoryCheckDetailController.java

@@ -1,10 +1,13 @@
 package com.lote.wms.controller.operate.inventory.check;
 
+import com.lote.wms.base.warehouse.entity.Zone;
+import com.lote.wms.base.warehouse.entity.formvo.ZoneFormVo;
 import com.lote.wms.common.core.web.AbstractController;
 import com.lote.wms.common.core.web.model.Result;
 import com.lote.wms.common.core.web.model.SessionAttrConstant;
 import com.lote.wms.common.core.web.util.MessageToResultAdapt;
 import com.lote.wms.common.model.Message;
+import com.lote.wms.common.utils.StringUtil;
 import com.lote.wms.inventory.check.entity.InventoryCheckDetail;
 import com.lote.wms.inventory.check.entity.queryvo.InventoryCheckDetailQueryVo;
 import com.lote.wms.inventory.check.service.InventoryCheckDetailService;
@@ -15,6 +18,8 @@ import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.Date;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/inventory/inventoryCheckDetail")
@@ -76,4 +81,34 @@ public class InventoryCheckDetailController extends AbstractController {
 		Message message = inventoryCheckDetailService.cancelById(id, getUser());
 		return MessageToResultAdapt.toResult(message);
 	}
+
+	@RequestMapping(value = "/get")
+	public InventoryCheckDetail get(String id) {
+		return inventoryCheckDetailService.get(id);
+	}
+
+
+	@RequestMapping(value = "/updateCheckQty")
+	public Result updateCheckQty(@RequestBody Map<String,String> map) {
+		if (StringUtil.isEmpty(map.get("checkId"))){
+			return Result.success("id不能为空");
+		}
+		if (StringUtil.isEmpty(map.get("newCheckQty"))){
+			return Result.success("新盘点数量不能为空");
+		}
+		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
+		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
+		Integer newCheckQty = Integer.valueOf(map.get("newCheckQty"));
+		String id = map.get("checkId");
+		InventoryCheckDetail inventoryCheckDetail = inventoryCheckDetailService.get(id);
+		if (inventoryCheckDetail.getCheckTime()==null || inventoryCheckDetail.getCheckByUserCode()==null){
+			return Result.success("请先通过其他手段录入");
+		}
+		inventoryCheckDetail.setCheckQty(newCheckQty);
+		inventoryCheckDetail.setDiffQty(inventoryCheckDetail.getCheckQty()-inventoryCheckDetail.getSysQty());
+		inventoryCheckDetail.setCheckByUserCode(userCode);
+		inventoryCheckDetail.setCheckTime(new Date());
+		inventoryCheckDetailService.update(inventoryCheckDetail);
+		return Result.success("更新盘点数量成功!");
+	}
 }

+ 4 - 0
wms-operate/src/main/java/com/lote/wms/controller/operate/user/user/UserOrgController.java

@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 @Controller
 @RequestMapping("/user/org")
@@ -63,6 +64,9 @@ public class UserOrgController extends AbstractController {
 		if (StringUtil.isEmpty(userOrg.getName())) {
 			return Result.error("机构名称不能为空");
 		}
+		if(Objects.isNull(userOrg.getParentId()) || "".equals(userOrg.getParentId())){
+			userOrg.setParentId("0");
+		}
 		String userId = (String) this.getSession().getAttr(SessionAttrConstant.ID);
 		String userCode = (String) this.getSession().getAttr(SessionAttrConstant.CODE);
 		userOrg.setCreatedByUserId(userId);

+ 6 - 1
wms-operate/src/main/resources/application-dev.yml

@@ -1,4 +1,9 @@
-
+# 服务配置
+server:
+    address: 183.3.221.143
+    port: 9092
+    servlet:
+        context-path: /
 
 
 # 当前环境

+ 1 - 1
wms-operate/src/main/resources/application.yml

@@ -15,7 +15,7 @@ server:
 
 spring:
     profiles:
-        active: dev
+        active:
     # 使用CGLIB实现AOP
     aop:
         # true:基于类的代理, false基于接口的代理

+ 1 - 1
wms-operate/src/main/resources/static/ui/index.html

@@ -143,7 +143,7 @@
             <tr>
                  <td class="webname" style="padding-left: 0px;width:200px;">
                 	<div style="height: 50px;width:200px;overflow: hidden;" id="logoDiv">
-                		<img id="logoImgUrl"  src="/ui/static/images/jwms_logo.png" style="height: 50px;width:200px;">
+                		<img id="logoImgUrl"  src="/ui/static/images/logo.jpg"   width="200" height="50">
                 	</div>
                 </td>
                 <td class="collapseMenu" style="text-align: center;cursor: pointer;">

+ 1 - 0
wms-operate/src/main/resources/static/ui/js/base/warehouse/location/list.js

@@ -9,6 +9,7 @@ $("#myGrid").iDatagrid({
     	 {field: 'zoneTypeName',width:'70px', title: '库区类型'},
     	 {field: 'zoneCode', width:'70px',title: '库区号'},
     	 {field: 'typeCode',width:'70px', title: '库位类型'},
+		 {field: 'typeName',width:'70px', title: '库位名称'},
     	 {field: 'code', width:'160px',title: '库位号'},
 //    	 {field: 'statusName',width:'70px', title: '库位状态'},
     	 {field: 'lineNumber', width:'60px',title: '动线号'},

+ 1 - 0
wms-operate/src/main/resources/static/ui/js/instock/order/inOrder/list.js

@@ -11,6 +11,7 @@ $("#myGrid").iDatagrid({
 	   	}},    	
     	{field: 'warehouseCode',width:'80px', title: '仓库代码'},
         {field: 'customerCode',width:'80px', title: '货主代码'},
+		{field: 'customerName',width:'80px', title: '货主名称'},
         {field: 'orderNo1',width:'120px', title: '入库单号',align:'left'}, 
 	]],        
     columns: [[

+ 126 - 0
wms-operate/src/main/resources/static/ui/js/inventory/check/checkDetail/list.js

@@ -94,6 +94,132 @@ function userFormatter(row) {
 };
 
 
+// 编辑盘点数量
+$("#edit").iMenubutton({
+	method: 'openDialog',
+	iconCls: 'fa fa-edit',
+	btnCls: 'topjui-btn-normal',
+	grid:{
+		type:'datagrid',
+		id:'myGrid',
+		unselectedMsg:'请先选中一条要调整的数据'
+	},
+	dialog: {
+		height: 480,
+		width: 470,
+		title:'调整盘点数量',
+		iconCls: 'fa fa-edit',
+		href: _ctx + '/views/inventory/check/checkDetail/updateCheckQty.html',
+		buttonsGroup: [{
+			text: '提交',
+			iconCls: 'fa fa-save',
+			btnCls: 'topjui-btn',
+			onClick:function(){
+				// alert("提交按钮事件")
+				var b = $(this).iLinkbutton("options");
+				var $dialogId=$("#" + b.dialogId)
+
+				var checkId = $("#checkId").val();
+				var newCheckQty = $("#newCheckQty").val();//调整数量
+				var data = {
+					checkId:checkId,
+					newCheckQty:newCheckQty
+				};
+
+				console.log(data);
+
+				$.iMessager.progress({text: '正在提交中....'});
+				$.ajax({
+					method:"POST",
+					url: "/inventory/inventoryCheckDetail/updateCheckQty",
+					data: JSON.stringify(data),
+					dataType:"json",
+					contentType:"application/json; charset=UTF8",
+					success: function(result){
+						// 关闭提示框
+						$.iMessager.progress('close');
+						if(!result.success){
+							$.iMessager.alert('错误', result.msg, 'messager-info');
+							return
+						}
+						$.iMessager.show({title: '温馨提示',msg: result.msg,timeout:4000}); // 右下角提示信息
+						refreshGrid(myGrid.type, myGrid.id);
+						// 关闭此窗口
+						$dialogId.dialog("close")
+					}
+				});
+			}
+		}],
+		onLoad: function () {
+			// alert("加载中")
+			var row = getSelectedRowData(myGrid.type, myGrid.id);// 获取选中的行
+			console.log(row)
+			$("#checkQty").val(row.checkQty);
+			$("#checkId").val(row.id);
+		}
+	}
+	// onClick:function(){
+	// 	var rowList=getCheckedRowsData(myGrid.type, myGrid.id);
+	// 	if(!rowList  || rowList.length==0){
+	// 		$.iMessager.alert('操作提示', '请至少选择一条数据', 'messager-info');
+	// 		return;
+	// 	}
+	// 	if(rowList.length!=1){
+	// 		$.iMessager.alert('操作提示', '请选择一条数据进行编辑', 'messager-info');
+	// 		return;
+	// 	}
+	// 	// console.log(rowList)
+	// 	// updateDiffQtyAndShowResult(rowList);
+	// },
+
+});
+// function updateDiffQtyAndShowResult(rowList){
+// 	$("#updateDiffQtyDialog").iDialog({
+// 		title: '编辑盘点数量',
+// 		height: 300,
+// 		width: 400,
+// 		iconCls: 'fa fa-trash',
+// 		closed: true,
+// 		cache: false,
+// 		href: _ctx + '/views/inventory/check/checkDetail/updateCheckQty.html',
+// 		url:'/inventory/inventoryCheckDetail/get?id='+rowList[0].id,
+// 		modal: true,
+// 		buttons: [{
+// 			text: '确认',
+// 			iconCls: 'fa fa-save',
+// 			btnCls: 'topjui-btn',
+// 			handler: function () {
+// 				console.log($("updateCheckQtyFormId"))
+// 				console.log(123123)
+// 				var alltxt = $("updateCheckQtyFormId").children();//获取所有的子元素
+//
+// 				for(var i = 0; i < alltxt.length; i++) {
+// 					console.log("value:"+alltxt[i].value)//获取所有的value值
+// 					console.log("type:"+alltxt[i].getAttribute("type"))//获取属性
+// 					console.log("nodeName:"+alltxt[i].nodeName)//获取文本类型
+// 					console.log("--------------------------")
+// 				}
+// 				// $("#updateDiffQtyDialog").iDialog('close');
+// 				// $('#updateDiffQtyDialog').iDialog('clear', true);
+// 			}
+// 		},{
+// 			text: '取消',
+// 			iconCls: 'fa fa-close',
+// 			btnCls: 'topjui-btn-red',
+// 			handler: function () {
+// 				alert("取消")
+// 				$("#updateDiffQtyDialog").iDialog('close');
+// 				$('#updateDiffQtyDialog').iDialog('clear', true);
+// 			}
+// 		}],
+// 	});
+// 	$("#updateDiffQtyDialog").iDialog('open');
+// }
+
+
+
+
+
 //删除
 $("#delete").iMenubutton({
   iconCls: 'fa fa-trash',

+ 2 - 1
wms-operate/src/main/resources/static/ui/js/inventory/inventory/inventory/list.js

@@ -23,6 +23,7 @@ $("#myGrid").iDatagrid({
     	 {field: 'barcode',width:'120px', title: '条码'},
     	 {field: 'productName',width:'120px', title: '名称'},
     	 {field: 'model',width:'60px', title: '规格'},
+		 {field: 'unit',width:'60px', title: '计量单位'},
     	 {field: 'zoneTypeCode', width:'60px',title: '库区类型'},
     	 {field: 'zoneCode',width:'60px', title: '库区号'},
     	 {field: 'locationCode',width:'140px', title: '库位号'},
@@ -584,7 +585,7 @@ $("#freezeQty").iMenubutton({
 	     		$.iMessager.progress({text: '正在提交中....'});
 	    		$.ajax({
     			   method:"POST",
-    			   url: "/inventory/inventory/freezeQty.json",
+    			   url: "/inventory/inventory/freezeQty",
     			   data: JSON.stringify(data),
     			   dataType:"json",
     			   contentType:"application/json; charset=UTF8",

+ 1 - 0
wms-operate/src/main/resources/static/ui/js/inventory/inventory/inventory/listGpBySku.js

@@ -19,6 +19,7 @@ $("#myGrid").iDatagrid({
 		 {field: 'customerCode',width:'100px', title: '货主代码'},
     	 {field: 'productName',width:'160px', title: '商品名称'},
     	 {field: 'model',width:'80px', title: '商品规格'},
+		 {field: 'unit',width:'80px', title: '计量单位'},
 
          {field: 'batchNos', width:'70px',title: '批次',align:'center', formatter:function(value, row, index){
          	var text = '点击查看';

+ 64 - 0
wms-operate/src/main/resources/static/ui/js/outstock/order/outOrder/list.js

@@ -11,7 +11,9 @@ $("#myGrid").iDatagrid({
 			return h;
 		 }},
     	 {field: 'warehouseCode',width:'80px', title: '仓库代码'},
+		{field: 'warehouseName',width:'80px', title: '仓库名称'},
     	 {field: 'customerCode',width:'80px', title: '货主代码'},
+		{field: 'customerName',width:'80px', title: '货主名称'},
     	 {field: 'orderNo1',width:'130px', title: '出库单号'},
 	]],
     columns: [[
@@ -652,6 +654,10 @@ function getTrimValue(textValue){
 	
 }
 
+
+
+
+
 // 删除
 $("#delete").iMenubutton({
     iconCls: 'fa fa-trash',
@@ -2248,6 +2254,64 @@ $("#importTrackingNo").iMenubutton({
 });
 
 
+// 发运
+//回传出库
+$('#shipped').iMenubutton({
+	btnCls: 'topjui-btn',
+	iconCls: 'fa fa-send-o',
+	onClick: callbackShipped
+});
+function callbackShipped(){
+	var rowList=getCheckedRowsData(myGrid.type, myGrid.id);
+	if(!rowList  || rowList.length==0){
+		$.iMessager.alert('操作提示', '请至少选择一条数据', 'messager-info');
+		return;
+	}
+	if(rowList.length!=1){
+		$.iMessager.alert('操作提示', '请选择一条数据', 'messager-info');
+		return;
+	}
+	var confirmMsg = '<span style="color:red;font-size:16px;">手工发送运单 </span></br>注:手工发送运单,此操作不可逆!';
+	$.messager.confirm("操作提示", confirmMsg,function(a) {
+		if (a) {
+			var data = rowList[0];
+			console.log(data)
+			$.ajax({
+				method:"POST",
+				url: "/outstock/singleOrderShipped/shipped/"+data.orderNo1,
+				// data: JSON.stringify(data),
+				// dataType:"json",
+				// contentType:"application/json",
+				success: function(result){
+					var index = 0;
+					var timestamp = new Date().getTime();
+					var message = {success:true,msg:'发运成功',code:data.id};
+					if(result.code !=0 ){// 如果result不是成功
+						$.extend(message,{success:false,msg:result.msg})
+					}
+					var tr = "<tr>";
+					tr += "<th style=\"width:50px;\">"+(++index)+"</th>";
+					tr += "<th style=\"width:50px;\">"+message.code+"</th>";
+					tr += "<th style=\"width:80px;\">"+(message.success ? "成功" : "失败")+"</th>";
+					tr += "<th style=\"width:200px;\">"+message.msg+"</th>";
+					tr += "</tr>";
+					$("#resultBody"+timestamp).append(tr);
+
+					if(rowList.length==index){
+						$.iMessager.progress('close');// 关闭提示框
+						$.iMessager.show({title: '温馨提示',msg: '手动发运已完成,请手动关闭窗口',timeout:4000}); // 右下角提示信息
+						refreshGrid(myGrid.type, myGrid.id);
+						return;
+					}
+				}
+			});
+		}
+	});
+}
+
+
+
+
 //回传出库
 $('#callbackOutOrder').iMenubutton({
 	btnCls: 'topjui-btn',

BIN
wms-operate/src/main/resources/static/ui/static/images/logo.jpg


+ 1 - 1
wms-operate/src/main/resources/static/ui/views/base/warehouse/locationType/upd.html

@@ -11,7 +11,7 @@
         <tr>
             <td class="label">类型名字</td>
             <td>
-                <input type="text" data-toggle="topjui-textbox" name="name" data-options="required:true,width:450" readonly="readonly" ></td>
+                <input type="text" data-toggle="topjui-textbox" name="name" data-options="required:true,width:450" readonly="readonly"></td>
         </tr>
 
 		<tr>

+ 1 - 1
wms-operate/src/main/resources/static/ui/views/instock/order/inOrder/list.html

@@ -42,7 +42,7 @@
 			<span class="textbox" style="width: 128px; height: 28px;color: black;">
 				<input id="orderNos" name="orderNos" type="text" onfocus="focusOrderNos()" onblur="unFocusOrderNos()"  
 					class="textbox-text textbox-prompt"  placeholder="入库单号,逗号分隔" 
-					style="margin: 0px; padding-top: 0px; padding-bottom: 0px; height: 28px; line-height: 28px; width: 120px;color: black;"">
+					style="margin: 0px; padding-top: 0px; padding-bottom: 0px; height: 28px; line-height: 28px; width: 120px;color: black;">
 			</span>
 						
 			<input type="text" name="trackingNo1" style="width: 130px;" data-toggle="topjui-textbox" data-options="id:'trackingNo1',prompt:'跟踪单号'">

+ 9 - 1
wms-operate/src/main/resources/static/ui/views/inventory/check/checkDetail/list.html

@@ -39,7 +39,13 @@
 	        <input type="text" name="inventoryCheckCode" data-toggle="topjui-textbox" data-options="id:'inventoryCheckCode',prompt:'盘点单号'">
 	        <input type="text" name="locationCode" data-toggle="topjui-textbox" data-options="id:'locationCode',prompt:'库位'">
 	        <input type="text" name="sku" data-toggle="topjui-textbox" data-options="id:'sku',prompt:'SKU'">
-	        
+            <input type="text" data-toggle="topjui-combotree" name="isGain" data-options="
+	            valueField: 'code',
+	            textField: 'name',
+	            required:false,
+	            panelHeight:250,
+	            prompt:'状态',
+	            data:[{'id':'Y','code':'Y','name':'盘盈'},{'id':'N','code':'N','name':'盘亏'}]">
 	        
 	        
 	        <a id="queryBtn" href="javascript:void(0)" style="width: 85px;">查询</a>
@@ -48,6 +54,7 @@
 		<div class="toolbar-left">
 			<a id="cancel" href="javascript:void(0)" style="width: 85px;">取消盘点</a>
 	    	<a id="delete" href="javascript:void(0)" style="width: 85px;">删除</a>
+            <a id="edit" href="javascript:void(0)" style="width: 85px;">编辑数量</a>
 		</div>	
 	</div>
     <!-- 表格工具栏结束 -->
@@ -57,6 +64,7 @@
     <script type="text/javascript" src="/ui/js/inventory/check/checkDetail/list.js?v=003"></script>
 	    
     <form id="deleteAndShowResult"></form>
+    <form id="updateDiffQtyDialog"></form>
     <form id="unIgnoreDiglog"></form>
     <form id="cancelAndShowResult"></form>
 </body>

+ 1 - 1
wms-operate/src/main/resources/static/ui/views/outstock/boxed/outBoxed/main.html

@@ -69,7 +69,7 @@
 					<span class="btn btn-default wd120">出库单号</span>
 				</th>
 				<th class="wd220"  style="padding-top: 5px;padding-bottom: 2px;">
-					<input type="text" class="form-control wd220" id="outOrderNo" placeholder="输入订单号或跟踪号,请按回车" >
+					<input type="text" class="form-control wd220" id="outOrderNo" placeholder="输入订单号或跟踪号(运单号),请按回车" >
 					<input type="text" id="outOrderId" style="display: none;">
 				</th>
 

+ 1 - 1
wms-operate/src/main/resources/static/ui/views/outstock/order/outOrder/list.html

@@ -256,7 +256,7 @@
 			<a id="callbackOutOrder"  resourceId="510120" href="javascript:void(0)" style="width: 85px;">回传发货</a>
 							
 			<a id="delete" resourceId="510121" href="javascript:void(0)" style="width: 85px;">删除</a>
-			
+			<a id="shipped" resourceId="510121" href="javascript:void(0)" style="width: 85px;">发运</a>
 		</div>			
 	</div>
     <!-- 表格工具栏结束 -->

+ 14 - 9
wms-operate/src/main/resources/static/ui/views/outstock/order/printOutShelf/a4-batch.html

@@ -129,10 +129,11 @@ $(function () {
             <table style="width:100%;height:auto;margin-left: 0mm;margin-top: 10mm;" rules="all" border="1">
                 <tr style="height:6mm;font: 12px 'Microsoft Yahei ;font-weight: bold;">
                     <th><div style="width:10mm;text-align:center;font-weight: bold;">序号</div></th>
-					<td><div style="width:45mm;text-align:center;font-weight: bold;">出库单号</div></td>
-					<td><div style="width:45mm;text-align:center;font-weight: bold;">发货渠道<br/>跟踪单号<br/>收件人名</div></td>
-					<td><div style="width:40mm;text-align:center;font-weight: bold;">库位号</div></td>
-					<td><div style="width:45mm;text-align:center;font-weight: bold;">商品条码<br/>商品名称</div></td>
+					<td><div style="width:40mm;text-align:center;font-weight: bold;">出库单号</div></td>
+					<td><div style="width:35mm;text-align:center;font-weight: bold;">发货渠道<br/>跟踪单号<br/>收件人名</div></td>
+					<td><div style="width:30mm;text-align:center;font-weight: bold;">库位号</div></td>
+					<td><div style="width:35mm;text-align:center;font-weight: bold;">商品条码<br/>商品名称</div></td>
+					<td><div style="width:35mm;text-align:center;font-weight: bold;">sku</div></td>
 					<td><div style="width:15mm;text-align:center;font-weight: bold;">商品数量</div></td>
 				</tr>
 				<%for(var i=0;i<data.length;i++){%>
@@ -144,7 +145,7 @@ $(function () {
 						</td>
 
                         <td rowspan="<%=data[i].printForOutShelfItemList.length%>">
-							<div style="width:45mm;text-align:center;overflow: hidden;">
+							<div style="width:40mm;text-align:center;overflow: hidden;">
                             	<%=data[i].orderNo%><br/>
 								<img class="printCode_sm" title="<%=data[i].orderNo%>" src="">
 								<br/>
@@ -154,7 +155,7 @@ $(function () {
 
                         <%if(j==0){%>
                         <td rowspan="<%=data[i].printForOutShelfItemList.length%>">
-							<div style="width:45mm;text-align:center;word-wrap: break-word">
+							<div style="width:35mm;text-align:center;word-wrap: break-word">
                             	<%=data[i].shipwayCode%><br/>
 								<%=data[i].trackingNo%><br/>
 								<%=data[i].outOrderReceiverName%> &nbsp;/&nbsp; <%=data[i].outOrderCountryCode%>
@@ -164,19 +165,23 @@ $(function () {
                     	<%}%>
 				
                         <td>
-							<div style="width:40mm;text-align:center;font: 16px 'Microsoft Yahei ;word-wrap: break-word;">
+							<div style="width:30mm;text-align:center;font: 16px 'Microsoft Yahei ;word-wrap: break-word;">
                             	<b><%=data[i].printForOutShelfItemList[j].locationCode%></b>
 							</div>
                         </td>
 
                         <td>
-							<div style="width:45mm;min-height:15mm; text-align:center;font: 14px 'Microsoft Yahei ;word-wrap: break-word;">
+							<div style="width:35mm;min-height:15mm; text-align:center;font: 14px 'Microsoft Yahei ;word-wrap: break-word;">
 								<b><%=data[i].printForOutShelfItemList[j].barcode%></b><br/>
 								<img class="printCode_sm" title="<%=data[i].printForOutShelfItemList[j].barcode%>" src=""><br/>
 								<b><%=data[i].printForOutShelfItemList[j].productName%>
 							</div>
                         </td>
-							
+						<td>
+							<div style="width:35mm;text-align:center;font: 18px 'Microsoft Yahei ;">
+								<%=data[i].printForOutShelfItemList[j].sku%>
+							</div>
+						</td>
                         <td>
 							<div style="width:15mm;text-align:center;font: 18px 'Microsoft Yahei ;">
                             	<%=data[i].printForOutShelfItemList[j].count%>

+ 16 - 9
wms-operate/src/main/resources/static/ui/views/outstock/order/printOutShelf/a4.html

@@ -172,12 +172,13 @@ $(function () {
             <table style="width:100%;height:auto;margin-left: 0mm;margin-top: 10mm;" rules="all" border="1">
                 <tr style="height:6mm;font: 12px 'Microsoft Yahei ;font-weight:bolder;">
                     <th><div style="width:10mm;text-align:center;">序号</div></th>
-                    <th><div style="width:50mm;text-align:center;">商品条码</div></th>
+                    <th><div style="width:40mm;text-align:center;">商品条码</div></th>
                     <th><div style="width:35mm;text-align:center;overflow: hidden;">商品名称</div></th>
+                    <th><div style="width:30mm;text-align:center;overflow: hidden;">sku</div></th>
 					<th><div style="width:20mm;text-align:center;overflow: hidden;">商品规格</div></th>
-                    <th><div style="width:45mm;text-align:center;">库位号</div></th>
-                    <th><div style="width:20mm;text-align:center;">数量</div></th>
-                    <th><div style="width:20mm;text-align:center;">包装材料</div></th>
+                    <th><div style="width:35mm;text-align:center;">库位号</div></th>
+                    <th><div style="width:15mm;text-align:center;">数量</div></th>
+                    <th><div style="width:15mm;text-align:center;">包装材料</div></th>
 				</tr>
 
                 <%for(var j=0;j<data[i].printForOutShelfItemList.length;j++){%>
@@ -187,7 +188,7 @@ $(function () {
 						</td>
 
                         <td>
-							<div style="width:50mm;min-height:15mm; text-align:center;font: 14px 'Microsoft Yahei ;">
+							<div style="width:40mm;min-height:15mm; text-align:center;font: 14px 'Microsoft Yahei ;">
 								<b><%=data[i].printForOutShelfItemList[j].barcode%></b><br/>
 								<img class="printCode_sm" title="<%=data[i].printForOutShelfItemList[j].barcode%>" src="">
 							</div>
@@ -200,26 +201,32 @@ $(function () {
 						</td>
 
                         <td>
+                            <div style="width:30mm;text-align:center;overflow: hidden;font: 13px 'Microsoft Yahei ;">
+                                <%=data[i].printForOutShelfItemList[j].sku%>
+                            </div>
+                        </td>
+
+                        <td>
 							<div style="width:20mm;text-align:center;overflow: hidden;font: 13px 'Microsoft Yahei ;">
                             	<%=data[i].printForOutShelfItemList[j].model%>
 							</div>
 						</td>
 
                         <td>
-							<div style="width:45mm;text-align:center;font: 16px 'Microsoft Yahei ;">
+							<div style="width:35mm;text-align:center;font: 16px 'Microsoft Yahei ;">
                             	<b><%=data[i].printForOutShelfItemList[j].locationCode%></b>
 							</div>
                         </td>
 
                         <td>
-							<div style="width:20mm;text-align:center;font: 18px 'Microsoft Yahei ;">
+							<div style="width:15mm;text-align:center;font: 18px 'Microsoft Yahei ;">
                             	<%=data[i].printForOutShelfItemList[j].count%>
 							</div>
 						</td>
 						
                         <%if(j==0){%>
                         <td rowspan="<%=data[i].printForOutShelfItemList.length%>" style="width:14mm;text-align: center;border-bottom: white;border-top: white;font-weight: bold">
-							<div style="width:20mm;text-align:center;">
+							<div style="width:15mm;text-align:center;">
                             	<%=data[i].packagingType%>
 							</div>	
 						</td>
@@ -227,7 +234,7 @@ $(function () {
 					</tr>
                 <%}%>
                      <tr>
-                        <td colspan="6" style="height:8mm;text-align: right;">
+                        <td colspan="7" style="height:8mm;text-align: right;">
                            <span style="margin-right: 8mm;font: 10px 'Microsoft Yahei ;">
 							合计 : <%=data[i].totalCount%>
 						   </span>

+ 16 - 9
wms-operate/src/main/resources/static/ui/views/outstock/order/printOutShelf/a5.html

@@ -172,12 +172,13 @@ $(function () {
             <table style="width:100%;height:auto;margin-left: 0mm;margin-top: 10mm;" rules="all" border="1">
                 <tr style="height:6mm;font: 12px 'Microsoft Yahei ;font-weight:bolder;">
                     <th><div style="width:10mm;text-align:center;">序号</div></th>
-                    <th><div style="width:50mm;text-align:center;">商品条码</div></th>
+                    <th><div style="width:10mm;text-align:center;">商品条码</div></th>
                     <th><div style="width:35mm;text-align:center;overflow: hidden;">商品名称</div></th>
+                    <th><div style="width:30mm;text-align:center;overflow: hidden;">sku</div></th>
 					<th><div style="width:20mm;text-align:center;overflow: hidden;">商品规格</div></th>
-                    <th><div style="width:45mm;text-align:center;">库位号</div></th>
-                    <th><div style="width:20mm;text-align:center;">数量</div></th>
-                    <th><div style="width:20mm;text-align:center;">包装材料</div></th>
+                    <th><div style="width:35mm;text-align:center;">库位号</div></th>
+                    <th><div style="width:15mm;text-align:center;">数量</div></th>
+                    <th><div style="width:15mm;text-align:center;">包装材料</div></th>
 				</tr>
 
                 <%for(var j=0;j<data[i].printForOutShelfItemList.length;j++){%>
@@ -187,7 +188,7 @@ $(function () {
 						</td>
 
                         <td>
-							<div style="width:50mm;min-height:15mm; text-align:center;font: 14px 'Microsoft Yahei ;">
+							<div style="width:40mm;min-height:15mm; text-align:center;font: 14px 'Microsoft Yahei ;">
 								<b><%=data[i].printForOutShelfItemList[j].barcode%></b><br/>
 								<img class="printCode_sm" title="<%=data[i].printForOutShelfItemList[j].barcode%>" src="">
 							</div>
@@ -200,26 +201,32 @@ $(function () {
 						</td>
 
                         <td>
+                            <div style="width:30mm;text-align:center;overflow: hidden;font: 13px 'Microsoft Yahei ;">
+                                <%=data[i].printForOutShelfItemList[j].sku%>
+                            </div>
+                        </td>
+
+                        <td>
 							<div style="width:20mm;text-align:center;overflow: hidden;font: 13px 'Microsoft Yahei ;">
                             	<%=data[i].printForOutShelfItemList[j].model%>
 							</div>
 						</td>
 
                         <td>
-							<div style="width:45mm;text-align:center;font: 16px 'Microsoft Yahei ;">
+							<div style="width:35mm;text-align:center;font: 16px 'Microsoft Yahei ;">
                             	<b><%=data[i].printForOutShelfItemList[j].locationCode%></b>
 							</div>
                         </td>
 
                         <td>
-							<div style="width:20mm;text-align:center;font: 18px 'Microsoft Yahei ;">
+							<div style="width:15mm;text-align:center;font: 18px 'Microsoft Yahei ;">
                             	<%=data[i].printForOutShelfItemList[j].count%>
 							</div>
 						</td>
 						
                         <%if(j==0){%>
                         <td rowspan="<%=data[i].printForOutShelfItemList.length%>" style="width:14mm;text-align: center;border-bottom: white;border-top: white;font-weight: bold">
-							<div style="width:20mm;text-align:center;">
+							<div style="width:15mm;text-align:center;">
                             	<%=data[i].packagingType%>
 							</div>	
 						</td>
@@ -227,7 +234,7 @@ $(function () {
 					</tr>
                 <%}%>
                      <tr>
-                        <td colspan="6" style="height:8mm;text-align: right;">
+                        <td colspan="7" style="height:8mm;text-align: right;">
                            <span style="margin-right: 8mm;font: 10px 'Microsoft Yahei ;">
 							合计 : <%=data[i].totalCount%>
 						   </span>