diff --git a/.idea/MyBatisCodeHelperDatasource.xml b/.idea/MyBatisCodeHelperDatasource.xml index 6c83820..a7a7381 100644 --- a/.idea/MyBatisCodeHelperDatasource.xml +++ b/.idea/MyBatisCodeHelperDatasource.xml @@ -6,9 +6,9 @@ <option name="addSerializeUid" value="true" /> <option name="generateService" value="true" /> <option name="generateServiceInterface" value="true" /> - <option name="javaMapperPackage" value="com.huaheng.pc.config.containerCapacityl.mapper" /> + <option name="javaMapperPackage" value="com.huaheng.pc.task.taskPreference.mapper" /> <option name="javaMapperPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaModelPackage" value="com.huaheng.pc.config.containerCapacityl.domain" /> + <option name="javaModelPackage" value="com.huaheng.pc.task.taskPreference.domain" /> <option name="javaModelPath" value="$PROJECT_DIR$/src/main/java" /> <option name="lastDatabaseCrudChooseModuleName" value="huaheng" /> <option name="moduleNameToPackageAndPathMap"> @@ -30,15 +30,15 @@ <entry key="huaheng"> <value> <UserPackageAndPathInfoByModule> - <option name="javaMapperPackage" value="com.huaheng.pc.config.containerCapacityl.mapper" /> + <option name="javaMapperPackage" value="com.huaheng.pc.task.taskPreference.mapper" /> <option name="javaMapperPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaModelPacakge" value="com.huaheng.pc.config.containerCapacityl.domain" /> + <option name="javaModelPacakge" value="com.huaheng.pc.task.taskPreference.domain" /> <option name="javaModelPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaServiceInterfacePackage" value="com.huaheng.pc.config.containerCapacityl.service" /> + <option name="javaServiceInterfacePackage" value="com.huaheng.pc.task.taskPreference.service" /> <option name="javaServiceInterfacePath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaServicePackage" value="com.huaheng.pc.config.containerCapacityl.service" /> + <option name="javaServicePackage" value="com.huaheng.pc.task.taskPreference.service" /> <option name="javaServicePath" value="$PROJECT_DIR$/src/main/java" /> - <option name="xmlPackage" value="config" /> + <option name="xmlPackage" value="task" /> <option name="xmlPath" value="E:\code\wms2\src\main\resources\mybatis" /> </UserPackageAndPathInfoByModule> </value> @@ -47,6 +47,16 @@ </option> <option name="tableGenerateConfigs"> <map> + <entry key="wms_v2:bom_detail"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="id" /> + <option name="javaModelName" value="BomDetail" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> <entry key="wms_v2:bom_header"> <value> <TableGenerateConfig> @@ -277,6 +287,36 @@ </TableGenerateConfig> </value> </entry> + <entry key="wms_v2:task_detail"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="id" /> + <option name="javaModelName" value="TaskDetail" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> + <entry key="wms_v2:task_header"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="id" /> + <option name="javaModelName" value="TaskHeader" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> + <entry key="wms_v2:task_preference"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="id" /> + <option name="javaModelName" value="TaskPreference" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> <entry key="wms_v2:zone_capacity"> <value> <TableGenerateConfig> @@ -293,7 +333,7 @@ <option name="useLomBokOnModel" value="true" /> <option name="useSwagger" value="true" /> <option name="userMybatisPlus" value="true" /> - <option name="xmlMapperPackage" value="config" /> + <option name="xmlMapperPackage" value="task" /> <option name="xmlMapperPath" value="E:\code\wms2\src\main\resources\mybatis" /> </ProjectProfile> </option> diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 1b3d401..d9d9ec3 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,16 +2,19 @@ <project version="4"> <component name="ChangeListManager"> <list default="true" id="9ff7b25e-dc1a-4859-8a0c-00039489e359" name="Default Changelist" comment=""> + <change afterPath="$PROJECT_DIR$/src/main/resources/templates/general/bomDetail/add.html" afterDir="false" /> + <change afterPath="$PROJECT_DIR$/src/main/resources/templates/general/bomDetail/bomDetail.html" afterDir="false" /> + <change afterPath="$PROJECT_DIR$/src/main/resources/templates/general/bomDetail/edit.html" afterDir="false" /> + <change afterPath="$PROJECT_DIR$/src/main/resources/templates/general/bomHeader/add.html" afterDir="false" /> + <change afterPath="$PROJECT_DIR$/src/main/resources/templates/general/bomHeader/edit.html" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/company/service/CompanyService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/company/service/CompanyService.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/company/service/CompanyServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/company/service/CompanyServiceImpl.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/domain/Material.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/domain/Material.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/materialUnit/service/MaterialUnitService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/materialUnit/service/MaterialUnitService.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/materialUnit/service/MaterialUnitServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/materialUnit/service/MaterialUnitServiceImpl.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/system/role/domain/Role.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/system/role/domain/Role.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/system/user/controller/UserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/system/user/controller/UserController.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/general/material/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/general/material/add.html" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/general/material/edit.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/general/material/edit.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeService.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeServiceImpl.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/general/bomHeader/bomHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/general/bomHeader/bomHeader.html" afterDir="false" /> </list> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="SHOW_DIALOG" value="false" /> @@ -51,7 +54,14 @@ <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" /> <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" /> - <item name="company: table" type="285a2a93:MysqlImplModel$Table" /> + <item name="bom_detail: table" type="285a2a93:MysqlImplModel$Table" /> + </path> + <path> + <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> + <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" /> + <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> + <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" /> + <item name="location_type: table" type="285a2a93:MysqlImplModel$Table" /> </path> </expand> <select /> @@ -60,6 +70,7 @@ <option name="RECENT_TEMPLATES"> <list> <option value="Class" /> + <option value="HTML File" /> </list> </option> </component> @@ -85,6 +96,7 @@ <component name="PropertiesComponent"> <property name="ASKED_ADD_EXTERNAL_FILES" value="true" /> <property name="DatabaseDriversLRU" value="mysql" /> + <property name="DefaultHtmlFileTemplate" value="HTML File" /> <property name="ExpandSpringBootJavaOptionsPanel" value="true" /> <property name="RequestMappingsPanelOrder0" value="0" /> <property name="RequestMappingsPanelOrder1" value="1" /> @@ -100,6 +112,7 @@ <property name="node.js.path.for.package.tslint" value="project" /> <property name="node.js.selected.package.eslint" value="(autodetect)" /> <property name="node.js.selected.package.tslint" value="(autodetect)" /> + <property name="nodejs_package_manager_path" value="npm" /> <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> </component> <component name="RecentsManager"> @@ -153,7 +166,7 @@ <expand> <path> <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@21a8d0c6" type="7427dc5b:ServiceModel$ServiceGroupNode" /> + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@6299c693" type="7427dc5b:ServiceModel$ServiceGroupNode" /> </path> </expand> <select /> @@ -179,7 +192,10 @@ <workItem from="1565328536669" duration="797000" /> <workItem from="1565345715376" duration="452000" /> <workItem from="1565570424829" duration="11663000" /> - <workItem from="1565587737758" duration="4606000" /> + <workItem from="1565587737758" duration="12961000" /> + <workItem from="1565657307503" duration="115000" /> + <workItem from="1565657439247" duration="2447000" /> + <workItem from="1565662229227" duration="19207000" /> </task> <task id="LOCAL-00001" summary="添加库位、库位类型增删改查接口"> <created>1565226427512</created> @@ -223,7 +239,35 @@ <option name="project" value="LOCAL" /> <updated>1565578920011</updated> </task> - <option name="localTasksCounter" value="7" /> + <task id="LOCAL-00007" summary="添加物料页面"> + <created>1565593159103</created> + <option name="number" value="00007" /> + <option name="presentableId" value="LOCAL-00007" /> + <option name="project" value="LOCAL" /> + <updated>1565593159103</updated> + </task> + <task id="LOCAL-00008" summary="添加商品详情"> + <created>1565598117104</created> + <option name="number" value="00008" /> + <option name="presentableId" value="LOCAL-00008" /> + <option name="project" value="LOCAL" /> + <updated>1565598117104</updated> + </task> + <task id="LOCAL-00009" summary="添加物料时判断单位是否存在,不存在则添加物料单位"> + <created>1565659672152</created> + <option name="number" value="00009" /> + <option name="presentableId" value="LOCAL-00009" /> + <option name="project" value="LOCAL" /> + <updated>1565659672152</updated> + </task> + <task id="LOCAL-00010" summary="添加task实体类"> + <created>1565665525508</created> + <option name="number" value="00010" /> + <option name="presentableId" value="LOCAL-00010" /> + <option name="project" value="LOCAL" /> + <updated>1565665525508</updated> + </task> + <option name="localTasksCounter" value="11" /> <servers /> </component> <component name="TypeScriptGeneratedFilesManager"> @@ -263,15 +307,29 @@ <MESSAGE value="Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop # Conflicts: #	.idea/workspace.xml" /> <MESSAGE value="添加userWarehouse" /> <MESSAGE value="添加containerCapacity" /> - <option name="LAST_COMMIT_MESSAGE" value="添加containerCapacity" /> + <MESSAGE value="添加物料页面" /> + <MESSAGE value="添加商品详情" /> + <MESSAGE value="添加物料时判断单位是否存在,不存在则添加物料单位" /> + <MESSAGE value="添加task实体类" /> + <option name="LAST_COMMIT_MESSAGE" value="添加task实体类" /> </component> <component name="XDebuggerManager"> <breakpoint-manager> <breakpoints> <line-breakpoint enabled="true" type="java-line"> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/system/user/controller/UserController.java</url> + <line>88</line> + <option name="timeStamp" value="3" /> + </line-breakpoint> + <line-breakpoint enabled="true" type="java-line"> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java</url> + <line>69</line> + <option name="timeStamp" value="6" /> + </line-breakpoint> + <line-breakpoint enabled="true" type="java-line"> <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java</url> - <line>107</line> - <option name="timeStamp" value="1" /> + <line>123</line> + <option name="timeStamp" value="7" /> </line-breakpoint> </breakpoints> </breakpoint-manager> diff --git a/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeService.java b/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeService.java index ddab98f..19cc6e6 100644 --- a/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeService.java +++ b/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeService.java @@ -7,4 +7,6 @@ import java.util.List; import java.util.Map; public interface LocationTypeService extends IService<LocationType>{ + + public List<Map<String, Object>> getLocationPrefix(); } diff --git a/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeServiceImpl.java b/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeServiceImpl.java index 752f571..6f5f921 100644 --- a/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeServiceImpl.java +++ b/src/main/java/com/huaheng/pc/config/locationType/service/LocationTypeServiceImpl.java @@ -2,11 +2,11 @@ package com.huaheng.pc.config.locationType.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.huaheng.common.utils.security.ShiroUtils; -import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.huaheng.pc.config.locationType.mapper.LocationTypeMapper; +import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.pc.config.locationType.domain.LocationType; +import com.huaheng.pc.config.locationType.mapper.LocationTypeMapper; +import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; @@ -14,4 +14,11 @@ import java.util.Map; @Service("locationType") public class LocationTypeServiceImpl extends ServiceImpl<LocationTypeMapper, LocationType> implements LocationTypeService{ + public List<Map<String, Object>> getLocationPrefix(){ + LambdaQueryWrapper<LocationType> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(LocationType::getWarehouseCode, ShiroUtils.getWarehouseCode()) + .eq(LocationType::getEnable, false) + .eq(LocationType::getEnable, true); + return this.listMaps(lambdaQueryWrapper); + } } diff --git a/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java b/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java index 638996c..8a28c28 100644 --- a/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java +++ b/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java @@ -1,18 +1,151 @@ package com.huaheng.pc.general.bom.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.huaheng.common.support.Convert; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.framework.web.page.PageDomain; +import com.huaheng.framework.web.page.TableDataInfo; +import com.huaheng.framework.web.page.TableSupport; import com.huaheng.pc.general.bom.domain.BomDetail; import com.huaheng.pc.general.bom.service.BomDetailService; +import com.huaheng.pc.general.material.domain.Material; +import com.huaheng.pc.general.material.service.MaterialService; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; @Controller @RequestMapping("/general/bomDetail") -public class BomDetailController { +public class BomDetailController extends BaseController { private String prefix = "general/bomDetail"; @Resource private BomDetailService bomDetailService; + @Resource + private MaterialService materialService; + + @RequiresPermissions("general:bomHeader:view") + @Log(title = "管理-推送详情列表", operating = "推送详情列表", action = BusinessType.GRANT) + @GetMapping("/list/{id}") + public String list(@PathVariable("id")Integer id, ModelMap mmap) { + mmap.put("bomHeaderId",id); + return prefix+"/bomDetail"; + } + + /** + * 查询商品详情 + */ + @ApiOperation(value="查看商品列表", notes="根据商品id获取商品详情信息", httpMethod = "POST") + @RequiresPermissions("general:bomHeader:list") + @Log(title = "通用-商品管理", operating = "查看商品列表", action = BusinessType.GRANT) + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(@ApiParam(name="bomId",value="商品ID") Integer bomId) { + LambdaQueryWrapper<BomDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + lambdaQueryWrapper.eq(BomDetail::getBomId, bomId); + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ + /*使用分页查询*/ + Page<BomDetail> page = new Page<>(pageNum, pageSize); + IPage<BomDetail> iPage = bomDetailService.page(page, lambdaQueryWrapper); + return getMpDataTable(iPage.getRecords(), iPage.getTotal()); + } else { + List<BomDetail> list = bomDetailService.list(lambdaQueryWrapper); + return getDataTable(list); + } + } + + /** + * 新增商品详情 + */ + @GetMapping("/add") + public String add() { + return prefix + "/add"; + } + + /** + * 新增保存商品 + */ + @ApiOperation(value="新增商品详情", notes="新增商品详情", httpMethod = "POST") + @RequiresPermissions("general:bomDetail:add") + @Log(title = "通用-商品", operating = "新增商品", action = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(@ApiParam(name = "containerType", value = "商品详情", required = true) + BomDetail bomDetail) { + LambdaQueryWrapper<Material> lamdba = Wrappers.lambdaQuery(); + lamdba.eq(Material::getCode, bomDetail.getMaterialCode()); + Material material = materialService.getOne(lamdba); + if ( material == null){ + return AjaxResult.error("不存在物料编码"+bomDetail.getMaterialCode()); + } else { + bomDetail.setCompanyCode(material.getCompanyCode()); + bomDetail.setWarehouseCode(material.getWarehouseCode()); + bomDetail.setMaterialCode(material.getCode()); + bomDetail.setMaterialName(material.getName()); + bomDetail.setMaterialUnit(material.getUnit()); + bomDetail.setCreatedBy(ShiroUtils.getLoginName()); + bomDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); + } + return toAjax(bomDetailService.save(bomDetail)); + } + + /** + * 修改商品详情 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Integer id, ModelMap mmap) { + mmap.put("bomDetail", bomDetailService.getById(id)); + return prefix + "/edit"; + } + + /** + * 修改保存商品详情 + */ + @ApiOperation(value="修改商品详情", notes="修改商品详情", httpMethod = "POST") + @RequiresPermissions("general:BomDetail:edit") + @Log(title = "通用-商品详情", operating = "修改商品详情", action = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave( + @ApiParam(name = "BomDetail", value = "商品详情实体类", required = true)BomDetail bomDetail) { + return toAjax(bomDetailService.updateById(bomDetail)); + } + + /** + * 删除商品详情 + */ + @ApiOperation(value="删除商品详情", notes="根据id批量删除商品详情,参数示例1,2,3", httpMethod = "POST") + @RequiresPermissions("general:BomDetail:remove") + @Log(title = "通用-商品", operating = "删除商品", action = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) { + if (StringUtils.isEmpty(ids)){ + return AjaxResult.error("id不能为空"); + } + List<Integer> list = new ArrayList<>(); + for (Integer id : Convert.toIntArray(ids)) { + list.add(id); + } + return toAjax(bomDetailService.removeByIds(list)); + } } diff --git a/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java b/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java index 1e6f011..e80fa69 100644 --- a/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java +++ b/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.controller.BaseController; @@ -17,6 +18,8 @@ import com.huaheng.pc.general.bom.domain.BomDetail; import com.huaheng.pc.general.bom.domain.BomHeader; import com.huaheng.pc.general.bom.service.BomDetailService; import com.huaheng.pc.general.bom.service.BomHeaderService; +import com.huaheng.pc.general.material.domain.Material; +import com.huaheng.pc.general.material.service.MaterialService; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -40,9 +43,13 @@ public class BomHeaderController extends BaseController { @Resource private BomDetailService bomDetailService; + @Resource + private MaterialService materialService; + @RequiresPermissions("general:bomHeader:view") @GetMapping() - public String company() { + public String bomHeader() { + System.out.println("商品管理"); return prefix + "/bomHeader"; } @@ -97,6 +104,22 @@ public class BomHeaderController extends BaseController { @ResponseBody public AjaxResult addSave(@ApiParam(name = "containerType", value = "商品类型", required = true) BomHeader bomHeader) { + + LambdaQueryWrapper<Material> lamdba = Wrappers.lambdaQuery(); + lamdba.eq(Material::getCode, bomHeader.getMaterialCode()); + Material material = materialService.getOne(lamdba); + if ( material == null){ + return AjaxResult.error("不存在物料编码"+bomHeader.getMaterialCode()); + } else { + bomHeader.setCompanyCode(material.getCompanyCode()); + bomHeader.setWarehouseCode(material.getWarehouseCode()); + bomHeader.setMaterialCode(material.getCode()); + bomHeader.setMaterialName(material.getName()); + bomHeader.setMaterialSpec(material.getSpec()); + bomHeader.setMaterialUnit(material.getUnit()); + bomHeader.setCreatedBy(ShiroUtils.getLoginName()); + bomHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); + } return toAjax(bomHeaderService.save(bomHeader)); } diff --git a/src/main/java/com/huaheng/pc/general/company/service/CompanyService.java b/src/main/java/com/huaheng/pc/general/company/service/CompanyService.java index b169ff6..4af1fd0 100644 --- a/src/main/java/com/huaheng/pc/general/company/service/CompanyService.java +++ b/src/main/java/com/huaheng/pc/general/company/service/CompanyService.java @@ -11,7 +11,7 @@ public interface CompanyService extends IService<Company>{ public List<Company> selectCompanyByCurrentUserId(); - public List<Company> selectCompanyByUserId(); + public List<Company> selectCompanyByUserId(Integer id); public AjaxResult addCompany(Company company); diff --git a/src/main/java/com/huaheng/pc/general/company/service/CompanyServiceImpl.java b/src/main/java/com/huaheng/pc/general/company/service/CompanyServiceImpl.java index c5f398d..e61447d 100644 --- a/src/main/java/com/huaheng/pc/general/company/service/CompanyServiceImpl.java +++ b/src/main/java/com/huaheng/pc/general/company/service/CompanyServiceImpl.java @@ -39,9 +39,9 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl * @return */ @Override - public List<Company> selectCompanyByUserId() { + public List<Company> selectCompanyByUserId(Integer id) { UserCompany condition = new UserCompany(); - condition.setUserId(ShiroUtils.getUserId()); + condition.setUserId(id); List<UserCompany> userCompanys = userCompanyMapper.selectListEntityByEqual(condition); Company company = new Company(); company.setWarehouseCode(ShiroUtils.getWarehouseCode()); diff --git a/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java b/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java index 32b3c4a..321a506 100644 --- a/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java +++ b/src/main/java/com/huaheng/pc/general/location/service/LocationServiceImpl.java @@ -51,7 +51,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i throw new ServiceException("库区编码不存在"); } - + String prefix = location.getLocationType().substring(1); List<Location> locations = new ArrayList<>(); for (int i=1; i<=location.getIRow().intValue(); i++) { for (int j=1; j<=location.getIColumn().intValue(); j++) { @@ -70,7 +70,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i param.setCreatedBy(ShiroUtils.getLoginName()); param.setLastUpdatedBy(ShiroUtils.getLoginName()); String code = MessageFormat.format("{0}{1}-{2}-{3}-{4}", - location.getLocationType(), + prefix, String.format("%02d", i), String.format("%02d", j), String.format("%02d", k), diff --git a/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java b/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java index 86a6215..4ec966b 100644 --- a/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java +++ b/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java @@ -18,6 +18,8 @@ import com.huaheng.pc.general.location.domain.Location; import com.huaheng.pc.general.location.service.LocationService; import com.huaheng.pc.general.material.domain.Material; import com.huaheng.pc.general.material.service.MaterialService; +import com.huaheng.pc.general.materialUnit.domain.MaterialUnit; +import com.huaheng.pc.general.materialUnit.service.MaterialUnitService; import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -41,6 +43,9 @@ public class MaterialController extends BaseController { @Resource private MaterialService materialService; + @Resource + private MaterialUnitService materialUnitService; + @RequiresPermissions("general:material:view") @GetMapping() public String material() { @@ -74,7 +79,7 @@ public class MaterialController extends BaseController { .like(StringUtils.isNotEmpty(material.getSpec()), Material::getSpec, material.getSpec()) .eq(Material::getWarehouseCode, ShiroUtils.getWarehouseCode()) .in(Material::getCompanyCode, ShiroUtils.getCompanyCodeList()) - .ne(Material::getDeleted, false); + .eq(Material::getDeleted, false); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /*使用分页查询*/ @@ -113,6 +118,22 @@ public class MaterialController extends BaseController { if (map != null) { return AjaxResult.error("物料已经存在"); } + LambdaQueryWrapper<MaterialUnit> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(MaterialUnit::getMaterialCode, material.getCode()) + .eq(MaterialUnit::getUnit, material.getUnit()); + if (materialUnitService.getOne(lambdaQueryWrapper) == null){ + MaterialUnit materialUnit = new MaterialUnit(); + materialUnit.setMaterialCode(material.getCode()); + materialUnit.setMaterialName(material.getName()); + materialUnit.setMaterialSpec(material.getSpec()); + materialUnit.setCompanyCode(material.getCompanyCode()); + materialUnit.setWarehouseCode(ShiroUtils.getWarehouseCode()); + materialUnit.setUnit(material.getUnit()); + materialUnit.setCreatedBy(ShiroUtils.getLoginName()); + materialUnit.setLastUpdatedBy(ShiroUtils.getLoginName()); + + materialUnitService.save(materialUnit); + } material.setWarehouseCode(ShiroUtils.getWarehouseCode()); material.setCreatedBy(ShiroUtils.getLoginName()); diff --git a/src/main/java/com/huaheng/pc/general/warehouse/domain/Warehouse.java b/src/main/java/com/huaheng/pc/general/warehouse/domain/Warehouse.java index ab346da..a18ab3c 100644 --- a/src/main/java/com/huaheng/pc/general/warehouse/domain/Warehouse.java +++ b/src/main/java/com/huaheng/pc/general/warehouse/domain/Warehouse.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.Date; @@ -84,6 +85,15 @@ public class Warehouse implements Serializable { @TableField(value = "email") private String email; + public boolean isFlag() { + return flag; + } + + public Warehouse setFlag(boolean flag) { + this.flag = flag; + return this; + } + /** * 上位系统url地址 */ @@ -189,6 +199,10 @@ public class Warehouse implements Serializable { @TableField(value = "deleted") private Boolean deleted; + /** 用户是否存在此仓库标识 默认不存在 */ + @TableField(exist = false) + private boolean flag = false; + private static final long serialVersionUID = 1L; public static final String COL_ADDRESS1 = "address1"; diff --git a/src/main/java/com/huaheng/pc/general/warehouse/mapper/WarehouseMapper.java b/src/main/java/com/huaheng/pc/general/warehouse/mapper/WarehouseMapper.java index e3224cc..7d584af 100644 --- a/src/main/java/com/huaheng/pc/general/warehouse/mapper/WarehouseMapper.java +++ b/src/main/java/com/huaheng/pc/general/warehouse/mapper/WarehouseMapper.java @@ -2,6 +2,16 @@ package com.huaheng.pc.general.warehouse.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.huaheng.pc.general.warehouse.domain.Warehouse; +import com.huaheng.pc.system.role.domain.Role; +import com.huaheng.pc.system.user.domain.SysUserWarehouse; + +import java.util.List; public interface WarehouseMapper extends BaseMapper<Warehouse> { + + public List<SysUserWarehouse> wareHouseAll(); + + public List<Warehouse> selectWarehouseByUserId(Integer userId); + + public List<Warehouse> selectWarehouseAll(); } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/general/warehouse/service/WarehouseService.java b/src/main/java/com/huaheng/pc/general/warehouse/service/WarehouseService.java index d377193..08c0538 100644 --- a/src/main/java/com/huaheng/pc/general/warehouse/service/WarehouseService.java +++ b/src/main/java/com/huaheng/pc/general/warehouse/service/WarehouseService.java @@ -2,6 +2,7 @@ package com.huaheng.pc.general.warehouse.service; import com.huaheng.pc.general.warehouse.domain.Warehouse; import com.baomidou.mybatisplus.extension.service.IService; +import com.huaheng.pc.system.user.domain.SysUserWarehouse; import java.util.List; import java.util.Map; @@ -9,4 +10,9 @@ import java.util.Map; public interface WarehouseService extends IService<Warehouse>{ List<Map<String,Object>> getWarehouseList(Integer id); + + public List<Warehouse> selectWarehouseByUserId(Integer userId); + + + } diff --git a/src/main/java/com/huaheng/pc/general/warehouse/service/WarehouseServiceImpl.java b/src/main/java/com/huaheng/pc/general/warehouse/service/WarehouseServiceImpl.java index ebe671a..d3bb5fe 100644 --- a/src/main/java/com/huaheng/pc/general/warehouse/service/WarehouseServiceImpl.java +++ b/src/main/java/com/huaheng/pc/general/warehouse/service/WarehouseServiceImpl.java @@ -2,8 +2,11 @@ package com.huaheng.pc.general.warehouse.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.pc.general.warehouseCopany.domain.WarehouseCompany; import com.huaheng.pc.general.warehouseCopany.service.WarehouseCompanyService; +import com.huaheng.pc.system.role.domain.Role; +import com.huaheng.pc.system.user.domain.SysUserWarehouse; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huaheng.pc.general.warehouse.mapper.WarehouseMapper; @@ -47,4 +50,24 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse } return warehouseList; } + + @Override + public List<Warehouse> selectWarehouseByUserId(Integer userId) + { + List<Warehouse> userWarhouses = warehouseMapper.selectWarehouseByUserId(userId); + List<Warehouse> warehouses = warehouseMapper.selectWarehouseAll(); + for (Warehouse warehouse : warehouses) + { + for (Warehouse userWarehouse: userWarhouses) + { + if (warehouse.getCode().equals(userWarehouse.getCode())) + { + warehouse.setFlag(true); + break; + } + } + } + return warehouses; + } + } diff --git a/src/main/java/com/huaheng/pc/system/user/controller/UserController.java b/src/main/java/com/huaheng/pc/system/user/controller/UserController.java index 0e4354f..43c125d 100644 --- a/src/main/java/com/huaheng/pc/system/user/controller/UserController.java +++ b/src/main/java/com/huaheng/pc/system/user/controller/UserController.java @@ -2,11 +2,22 @@ package com.huaheng.pc.system.user.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.Constants; +import com.huaheng.common.utils.MessageUtils; +import com.huaheng.common.utils.SystemLogUtils; import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.shiro.web.filter.LogoutFilter; import com.huaheng.pc.general.company.domain.Company; import com.huaheng.pc.general.company.service.CompanyService; +import com.huaheng.pc.general.warehouse.domain.Warehouse; +import com.huaheng.pc.general.warehouse.mapper.WarehouseMapper; +import com.huaheng.pc.general.warehouse.service.WarehouseService; +import com.huaheng.pc.system.user.domain.SysUserWarehouse; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.apache.shiro.session.SessionException; +import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.web.servlet.server.Session; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.ModelMap; @@ -25,7 +36,14 @@ import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.pc.system.role.service.IRoleService; import com.huaheng.pc.system.user.domain.User; import com.huaheng.pc.system.user.service.IUserService; + +import javax.annotation.Resource; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; import java.util.List; +import java.util.Map; + +import static javax.security.auth.Subject.getSubject; /** * 用户信息 @@ -47,6 +65,12 @@ public class UserController extends BaseController @Autowired private CompanyService companyService; + @Autowired + private WarehouseService warehouseService; + + @Resource + private WarehouseMapper warehouseMapper; + @RequiresPermissions("system:user:view") @GetMapping() public String user() @@ -94,6 +118,13 @@ public class UserController extends BaseController mmap.put("roles", roleService.selectRoleAll()); LambdaQueryWrapper<Company> lambdaQueryWrapper = Wrappers.lambdaQuery(company); mmap.put("companys", companyService.list(lambdaQueryWrapper)); + LambdaQueryWrapper<Warehouse> warehouse = Wrappers.lambdaQuery(); + warehouse.select(Warehouse::getCode,Warehouse::getName,Warehouse::getEnable); + List<Map<String, Object>> warehouseList = warehouseService.listMaps(warehouse); + for (Map<String, Object> item : warehouseList){ + item.put("value",item.get("code").toString()); + } + mmap.put("warehouseList",warehouseList); return prefix + "/add"; } @@ -123,7 +154,8 @@ public class UserController extends BaseController { mmap.put("user", userService.selectUserById(id)); mmap.put("roles", roleService.selectRolesByUserId(id)); - mmap.put("companys", companyService.selectCompanyByUserId()); + mmap.put("companys", companyService.selectCompanyByUserId(id)); + mmap.put("warehouses", warehouseService.selectWarehouseByUserId(id)); return prefix + "/edit"; } @@ -137,11 +169,16 @@ public class UserController extends BaseController @ResponseBody public AjaxResult editSave(User user) { + if (StringUtils.isNotNull(user.getId()) && User.isAdmin(user.getId())) { return error("不允许修改超级管理员用户"); } AjaxResult ajaxResult = toAjax(userService.updateUser(user)); + + if (ShiroUtils.getLoginName().equals(user.getUserName())) + ShiroUtils.logout(); + return ajaxResult; } diff --git a/src/main/java/com/huaheng/pc/system/userWarehouse/domain/SysUserWarehouse.java b/src/main/java/com/huaheng/pc/system/user/domain/SysUserWarehouse.java index a15f21f..ecbf0e6 100644 --- a/src/main/java/com/huaheng/pc/system/userWarehouse/domain/SysUserWarehouse.java +++ b/src/main/java/com/huaheng/pc/system/user/domain/SysUserWarehouse.java @@ -1,4 +1,4 @@ -package com.huaheng.pc.system.userWarehouse.domain; +package com.huaheng.pc.system.user.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -6,9 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; import lombok.Data; +import java.io.Serializable; + @ApiModel(value="com.huaheng.pc.system.userWarehousel.domain.SysUserWarehouse") @Data @TableName(value = "sys_user_warehouse") diff --git a/src/main/java/com/huaheng/pc/system/user/domain/User.java b/src/main/java/com/huaheng/pc/system/user/domain/User.java index 4dd9fe8..2e79e3f 100644 --- a/src/main/java/com/huaheng/pc/system/user/domain/User.java +++ b/src/main/java/com/huaheng/pc/system/user/domain/User.java @@ -112,6 +112,9 @@ public class User /** 货主编码列表 */ private List<String> companyCodeList; + /** 仓库编码列表 */ + private List<String> warehouseCodeList; + /** 搜索值 */ private String searchValue; diff --git a/src/main/java/com/huaheng/pc/system/user/mapper/SysUserWarehouseMapper.java b/src/main/java/com/huaheng/pc/system/user/mapper/SysUserWarehouseMapper.java new file mode 100644 index 0000000..0569c25 --- /dev/null +++ b/src/main/java/com/huaheng/pc/system/user/mapper/SysUserWarehouseMapper.java @@ -0,0 +1,16 @@ +package com.huaheng.pc.system.user.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.system.user.domain.SysUserWarehouse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +public interface SysUserWarehouseMapper extends BaseMapper<SysUserWarehouse> { + + public int batchUserWarehouse(@Param("userWarehouseList") List<SysUserWarehouse> userWarehouseList); + + public int deleteUserWarehouseByUserId(Integer userId); + +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/system/user/mapper/UserMapper.java b/src/main/java/com/huaheng/pc/system/user/mapper/UserMapper.java index 4be2e3e..3be853e 100644 --- a/src/main/java/com/huaheng/pc/system/user/mapper/UserMapper.java +++ b/src/main/java/com/huaheng/pc/system/user/mapper/UserMapper.java @@ -132,6 +132,14 @@ public interface UserMapper */ public List<Map<String, Object>> getWarehouseByUserCode(@Param("loginName")String loginName); + + /** + * 根据用户编码查询该用户所有仓库 + * @param loginName + * @return + */ + public List<Map<String, Object>> getWarehouseByUserName(@Param("loginName")String loginName); + /** * 更新用户维护日期 * @param date diff --git a/src/main/java/com/huaheng/pc/system/user/service/IUserService.java b/src/main/java/com/huaheng/pc/system/user/service/IUserService.java index ea3b9f3..6607160 100644 --- a/src/main/java/com/huaheng/pc/system/user/service/IUserService.java +++ b/src/main/java/com/huaheng/pc/system/user/service/IUserService.java @@ -2,8 +2,10 @@ package com.huaheng.pc.system.user.service; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.system.user.domain.ClientType; +import com.huaheng.pc.system.user.domain.SysUserWarehouse; import com.huaheng.pc.system.user.domain.User; import io.swagger.models.auth.In; +import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; @@ -195,6 +197,8 @@ public interface IUserService * @return */ public User selectmen(String loginName); + + public int batchUserWarehouse(@Param("userWarehouseList") List<SysUserWarehouse> userWarehouseList); } diff --git a/src/main/java/com/huaheng/pc/system/user/service/UserServiceImpl.java b/src/main/java/com/huaheng/pc/system/user/service/UserServiceImpl.java index 1efe7d6..99d1863 100644 --- a/src/main/java/com/huaheng/pc/system/user/service/UserServiceImpl.java +++ b/src/main/java/com/huaheng/pc/system/user/service/UserServiceImpl.java @@ -13,8 +13,8 @@ import com.huaheng.pc.general.company.mapper.CompanyMapper; import com.huaheng.pc.general.company.service.CompanyService; import com.huaheng.pc.general.warehouse.service.WarehouseService; import com.huaheng.pc.general.warehouse.domain.Warehouse; -import com.huaheng.pc.system.user.domain.ClientType; -import com.huaheng.pc.system.user.domain.UserCompany; +import com.huaheng.pc.system.user.domain.*; +import com.huaheng.pc.system.user.mapper.SysUserWarehouseMapper; import com.huaheng.pc.system.user.mapper.UserCompanyMapper; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; @@ -29,8 +29,6 @@ import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.shiro.service.PasswordService; import com.huaheng.pc.system.role.domain.Role; import com.huaheng.pc.system.role.mapper.RoleMapper; -import com.huaheng.pc.system.user.domain.User; -import com.huaheng.pc.system.user.domain.UserRole; import com.huaheng.pc.system.user.mapper.UserMapper; import com.huaheng.pc.system.user.mapper.UserRoleMapper; @@ -68,11 +66,14 @@ public class UserServiceImpl implements IUserService @Resource private WarehouseService warehouseService; + @Resource + private SysUserWarehouseMapper sysUserWarehouseMapper; + /** * 登陆验证 * @param username 用户名 * @param password 密 码 - * @param warehouseId 仓库id +// * @param warehouseId 仓库id * @param warehouseCode 仓库编码 * @return */ @@ -262,6 +263,8 @@ public class UserServiceImpl implements IUserService insertUserCompany(user); // 新增用户与角色管理 insertUserRole(user); + // 新增用户与仓库管理 + insertUserWarehouse(user); return rows; } @@ -284,6 +287,11 @@ public class UserServiceImpl implements IUserService userCompanyMapper.deleteUserCompanyByUserId(userId); // 新增用户与货主管理 insertUserCompany(user); + // 删除用户与仓库关联 + sysUserWarehouseMapper.deleteUserWarehouseByUserId(userId); + // 新增用户与仓库管理 + insertUserWarehouse(user); + return userMapper.updateUser(user); } @@ -335,6 +343,29 @@ public class UserServiceImpl implements IUserService } } + + /** + * 新增用户仓库信息 + * + * @param user 用户对象 + */ + public void insertUserWarehouse(User user) + { + // 新增用户与仓库管理 + List<SysUserWarehouse> list = new ArrayList<SysUserWarehouse>(); + if (user.getWarehouseCodeList() != null) { + for (String warehouseCode : user.getWarehouseCodeList()) { + SysUserWarehouse warehouse = new SysUserWarehouse(); + warehouse.setUserId(user.getId()); + warehouse.setWarehouseCode(warehouseCode); + list.add(warehouse); + } + if (list.size() > 0) { + sysUserWarehouseMapper.batchUserWarehouse(list); + } + } + } + /** * 新增用户货主信息 * @@ -469,7 +500,11 @@ public class UserServiceImpl implements IUserService } else { - list = userMapper.getWarehouseByUserCode(loginName); + list = userMapper.getWarehouseByUserName(loginName); + if (list.size()==1) + list=userMapper.getWarehouseByUserCode(loginName); + + } return list; } @@ -552,4 +587,9 @@ public class UserServiceImpl implements IUserService return user; } + @Override + public int batchUserWarehouse(List<SysUserWarehouse> userWarehouseList) { + return sysUserWarehouseMapper.batchUserWarehouse(userWarehouseList); + } + } diff --git a/src/main/java/com/huaheng/pc/system/userWarehouse/mapper/SysUserWarehouseMapper.java b/src/main/java/com/huaheng/pc/system/userWarehouse/mapper/SysUserWarehouseMapper.java deleted file mode 100644 index 74a1259..0000000 --- a/src/main/java/com/huaheng/pc/system/userWarehouse/mapper/SysUserWarehouseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.huaheng.pc.system.userWarehouse.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.huaheng.pc.system.userWarehouse.domain.SysUserWarehouse; - -public interface SysUserWarehouseMapper extends BaseMapper<SysUserWarehouse> { -} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/system/userWarehouse/service/SysUserWarehouseService.java b/src/main/java/com/huaheng/pc/system/userWarehouse/service/SysUserWarehouseService.java deleted file mode 100644 index 734afcc..0000000 --- a/src/main/java/com/huaheng/pc/system/userWarehouse/service/SysUserWarehouseService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.huaheng.pc.system.userWarehouse.service; - -import com.huaheng.pc.system.userWarehouse.domain.SysUserWarehouse; -import com.baomidou.mybatisplus.extension.service.IService; -public interface SysUserWarehouseService extends IService<SysUserWarehouse>{ - - -} diff --git a/src/main/java/com/huaheng/pc/system/userWarehouse/service/SysUserWarehouseServiceImpl.java b/src/main/java/com/huaheng/pc/system/userWarehouse/service/SysUserWarehouseServiceImpl.java deleted file mode 100644 index bf91504..0000000 --- a/src/main/java/com/huaheng/pc/system/userWarehouse/service/SysUserWarehouseServiceImpl.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.huaheng.pc.system.userWarehouse.service; - -import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.huaheng.pc.system.userWarehouse.mapper.SysUserWarehouseMapper; -import com.huaheng.pc.system.userWarehouse.domain.SysUserWarehouse; - -@Service -public class SysUserWarehouseServiceImpl extends ServiceImpl<SysUserWarehouseMapper, SysUserWarehouse> implements SysUserWarehouseService{ - -} diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java b/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java new file mode 100644 index 0000000..32d5a85 --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java @@ -0,0 +1,510 @@ +package com.huaheng.pc.task.taskDetail.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.task.taskDetail.domain.TaskDetail") +@Data +@TableName(value = "task_detail") +public class TaskDetail implements Serializable { + /** + * ID + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="ID") + private Integer id; + + /** + * 任务头内部号 + */ + @TableField(value = "taskId") + @ApiModelProperty(value="任务头内部号") + private Integer taskId; + + /** + * 任务号 + */ + @TableField(value = "taskCode") + @ApiModelProperty(value="任务号") + private String taskCode; + + /** + * 任务类型 + */ + @TableField(value = "taskType") + @ApiModelProperty(value="任务类型") + private String taskType; + + /** + * 任务类型 + */ + @TableField(value = "internalTaskType") + @ApiModelProperty(value="任务类型") + private String internalTaskType; + + /** + * 仓库 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库") + private String warehouseCode; + + /** + * 货主 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主") + private String companyCode; + + /** + * 物料 + */ + @TableField(value = "materialCode") + @ApiModelProperty(value="物料") + private String materialCode; + + /** + * 物料明细 + */ + @TableField(value = "materialName") + @ApiModelProperty(value="物料明细") + private String materialName; + + /** + * 物料 + */ + @TableField(value = "materialSpec") + @ApiModelProperty(value="物料") + private String materialSpec; + + /** + * 物料明细 + */ + @TableField(value = "materialUnit") + @ApiModelProperty(value="物料明细") + private String materialUnit; + + /** + * 数量 + */ + @TableField(value = "qty") + @ApiModelProperty(value="数量") + private Integer qty; + + /** + * 从货位 + */ + @TableField(value = "fromLocation") + @ApiModelProperty(value="从货位") + private String fromLocation; + + /** + * 到货位 + */ + @TableField(value = "toLocation") + @ApiModelProperty(value="到货位") + private String toLocation; + + /** + * 容器编码 + */ + @TableField(value = "containerCode") + @ApiModelProperty(value="容器编码") + private String containerCode; + + /** + * 从区域 + */ + @TableField(value = "fromZone") + @ApiModelProperty(value="从区域") + private String fromZone; + + /** + * 到区域 + */ + @TableField(value = "toZone") + @ApiModelProperty(value="到区域") + private String toZone; + + /** + * 属性号 + */ + @TableField(value = "attributeId") + @ApiModelProperty(value="属性号") + private Integer attributeId; + + /** + * 状态 + */ + @TableField(value = "enable") + @ApiModelProperty(value="状态") + private Integer enable; + + /** + * 参考单号 + */ + @TableField(value = "referenceCode") + @ApiModelProperty(value="参考单号") + private String referenceCode; + + /** + * 参考内部号 + */ + @TableField(value = "referenceId") + @ApiModelProperty(value="参考内部号") + private Integer referenceId; + + /** + * 参考内部行号 + */ + @TableField(value = "referenceLineId") + @ApiModelProperty(value="参考内部行号") + private Integer referenceLineId; + + /** + * 指派用户 + */ + @TableField(value = "assignedUser") + @ApiModelProperty(value="指派用户") + private String assignedUser; + + /** + * 属性1 + */ + @TableField(value = "attribute1") + @ApiModelProperty(value="属性1") + private String attribute1; + + /** + * 属性2 + */ + @TableField(value = "attribute2") + @ApiModelProperty(value="属性2") + private String attribute2; + + /** + * 属性3 + */ + @TableField(value = "attribute3") + @ApiModelProperty(value="属性3") + private String attribute3; + + /** + * 属性4 + */ + @TableField(value = "attribute4") + @ApiModelProperty(value="属性4") + private String attribute4; + + /** + * 批次 + */ + @TableField(value = "batch") + @ApiModelProperty(value="批次") + private String batch; + + /** + * 批号 + */ + @TableField(value = "lot") + @ApiModelProperty(value="批号") + private String lot; + + /** + * 项目号 + */ + @TableField(value = "projectNo") + @ApiModelProperty(value="项目号") + private String projectNo; + + /** + * 质检 + */ + @TableField(value = "qcCheck") + @ApiModelProperty(value="质检") + private String qcCheck; + + /** + * 生产日期 + */ + @TableField(value = "manufactureDate") + @ApiModelProperty(value="生产日期") + private Date manufactureDate; + + /** + * 失效日期 + */ + @TableField(value = "expirationDate") + @ApiModelProperty(value="失效日期") + private Date expirationDate; + + /** + * 入库日期 + */ + @TableField(value = "agingDate") + @ApiModelProperty(value="入库日期") + private Date agingDate; + + /** + * 库存状态 + */ + @TableField(value = "inventorySts") + @ApiModelProperty(value="库存状态") + private String inventorySts; + + /** + * 波次号 + */ + @TableField(value = "waveId") + @ApiModelProperty(value="波次号") + private Integer waveId; + + /** + * 分配的库存ID + */ + @TableField(value = "fromInventoryId") + @ApiModelProperty(value="分配的库存ID") + private Integer fromInventoryId; + + @TableField(value = "toInventoryId") + @ApiModelProperty(value="null") + private Integer toInventoryId; + + /** + * 确认用户 + */ + @TableField(value = "confirmedBy") + @ApiModelProperty(value="确认用户") + private String confirmedBy; + + /** + * 组号 + */ + @TableField(value = "groupNum") + @ApiModelProperty(value="组号") + private Integer groupNum; + + /** + * 序号 + */ + @TableField(value = "groupIndex") + @ApiModelProperty(value="序号") + private Integer groupIndex; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value="创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * kitFlag标志 Y/N AGV专用 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="kitFlag标志 Y/N AGV专用") + private String userDef1; + + /** + * unit 单位 AGV专用 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="unit 单位 AGV专用") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="自定义字段3") + private String userDef3; + + /** + * 自定义字段4 + */ + @TableField(value = "userDef4") + @ApiModelProperty(value="自定义字段4") + private String userDef4; + + /** + * 自定义字段5 + */ + @TableField(value = "userDef5") + @ApiModelProperty(value="自定义字段5") + private String userDef5; + + /** + * 自定义字段6 + */ + @TableField(value = "userDef6") + @ApiModelProperty(value="自定义字段6") + private String userDef6; + + /** + * 自定义字段7 + */ + @TableField(value = "userDef7") + @ApiModelProperty(value="自定义字段7") + private String userDef7; + + /** + * 自定义字段8 + */ + @TableField(value = "userDef8") + @ApiModelProperty(value="自定义字段8") + private String userDef8; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_TASKID = "taskId"; + + public static final String COL_TASKCODE = "taskCode"; + + public static final String COL_TASKTYPE = "taskType"; + + public static final String COL_INTERNALTASKTYPE = "internalTaskType"; + + public static final String COL_WAREHOUSECODE = "warehouseCode"; + + public static final String COL_COMPANYCODE = "companyCode"; + + public static final String COL_MATERIALCODE = "materialCode"; + + public static final String COL_MATERIALNAME = "materialName"; + + public static final String COL_MATERIALSPEC = "materialSpec"; + + public static final String COL_MATERIALUNIT = "materialUnit"; + + public static final String COL_QTY = "qty"; + + public static final String COL_FROMLOCATION = "fromLocation"; + + public static final String COL_TOLOCATION = "toLocation"; + + public static final String COL_CONTAINERCODE = "containerCode"; + + public static final String COL_FROMZONE = "fromZone"; + + public static final String COL_TOZONE = "toZone"; + + public static final String COL_ATTRIBUTEID = "attributeId"; + + public static final String COL_ENABLE = "enable"; + + public static final String COL_REFERENCECODE = "referenceCode"; + + public static final String COL_REFERENCEID = "referenceId"; + + public static final String COL_REFERENCELINEID = "referenceLineId"; + + public static final String COL_ASSIGNEDUSER = "assignedUser"; + + public static final String COL_ATTRIBUTE1 = "attribute1"; + + public static final String COL_ATTRIBUTE2 = "attribute2"; + + public static final String COL_ATTRIBUTE3 = "attribute3"; + + public static final String COL_ATTRIBUTE4 = "attribute4"; + + public static final String COL_BATCH = "batch"; + + public static final String COL_LOT = "lot"; + + public static final String COL_PROJECTNO = "projectNo"; + + public static final String COL_QCCHECK = "qcCheck"; + + public static final String COL_MANUFACTUREDATE = "manufactureDate"; + + public static final String COL_EXPIRATIONDATE = "expirationDate"; + + public static final String COL_AGINGDATE = "agingDate"; + + public static final String COL_INVENTORYSTS = "inventorySts"; + + public static final String COL_WAVEID = "waveId"; + + public static final String COL_FROMINVENTORYID = "fromInventoryId"; + + public static final String COL_TOINVENTORYID = "toInventoryId"; + + public static final String COL_CONFIRMEDBY = "confirmedBy"; + + public static final String COL_GROUPNUM = "groupNum"; + + public static final String COL_GROUPINDEX = "groupIndex"; + + public static final String COL_CREATED = "created"; + + public static final String COL_CREATEDBY = "createdBy"; + + public static final String COL_LASTUPDATED = "lastUpdated"; + + public static final String COL_LASTUPDATEDBY = "lastUpdatedBy"; + + public static final String COL_VERSION = "version"; + + public static final String COL_USERDEF1 = "userDef1"; + + public static final String COL_USERDEF2 = "userDef2"; + + public static final String COL_USERDEF3 = "userDef3"; + + public static final String COL_USERDEF4 = "userDef4"; + + public static final String COL_USERDEF5 = "userDef5"; + + public static final String COL_USERDEF6 = "userDef6"; + + public static final String COL_USERDEF7 = "userDef7"; + + public static final String COL_USERDEF8 = "userDef8"; + + public static final String COL_PROCESSSTAMP = "processStamp"; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/mapper/TaskDetailMapper.java b/src/main/java/com/huaheng/pc/task/taskDetail/mapper/TaskDetailMapper.java new file mode 100644 index 0000000..87e5a0e --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskDetail/mapper/TaskDetailMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.task.taskDetail.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.task.taskDetail.domain.TaskDetail; + +public interface TaskDetailMapper extends BaseMapper<TaskDetail> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java b/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java new file mode 100644 index 0000000..f5ac425 --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java @@ -0,0 +1,8 @@ +package com.huaheng.pc.task.taskDetail.service; + +import com.huaheng.pc.task.taskDetail.domain.TaskDetail; +import com.baomidou.mybatisplus.extension.service.IService; +public interface TaskDetailService extends IService<TaskDetail>{ + + +} diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java new file mode 100644 index 0000000..2b2343f --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java @@ -0,0 +1,13 @@ +package com.huaheng.pc.task.taskDetail.service; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.task.taskDetail.mapper.TaskDetailMapper; +import com.huaheng.pc.task.taskDetail.domain.TaskDetail; +import com.huaheng.pc.task.taskDetail.service.TaskDetailService; +@Service +public class TaskDetailServiceImpl extends ServiceImpl<TaskDetailMapper, TaskDetail> implements TaskDetailService{ + +} diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java b/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java new file mode 100644 index 0000000..88c539b --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java @@ -0,0 +1,405 @@ +package com.huaheng.pc.task.taskHeader.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.task.taskHeader.domain.TaskHeader") +@Data +@TableName(value = "task_header") +public class TaskHeader implements Serializable { + /** + * ID + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="ID") + private Integer id; + + /** + * 任务 + */ + @TableField(value = "code") + @ApiModelProperty(value="任务") + private String code; + + /** + * 仓库 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库") + private String warehouseCode; + + /** + * 货主 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主") + private String companyCode; + + /** + * 任务类型 + */ + @TableField(value = "taskType") + @ApiModelProperty(value="任务类型") + private String taskType; + + /** + * 内部类型 + */ + @TableField(value = "internalTaskType") + @ApiModelProperty(value="内部类型") + private String internalTaskType; + + /** + * 参考单内部号 + */ + @TableField(value = "referenceId") + @ApiModelProperty(value="参考单内部号") + private Integer referenceId; + + /** + * 参考单号 + */ + @TableField(value = "referenceCode") + @ApiModelProperty(value="参考单号") + private String referenceCode; + + /** + * 分配用户 + */ + @TableField(value = "assignedUser") + @ApiModelProperty(value="分配用户") + private String assignedUser; + + /** + * 确认用户 + */ + @TableField(value = "confirmedBy") + @ApiModelProperty(value="确认用户") + private String confirmedBy; + + /** + * 状态 + */ + @TableField(value = "enable") + @ApiModelProperty(value="状态") + private Integer enable; + + /** + * 波次号 + */ + @TableField(value = "waveId") + @ApiModelProperty(value="波次号") + private Integer waveId; + + /** + * 车号 + */ + @TableField(value = "pickingCartCode") + @ApiModelProperty(value="车号") + private String pickingCartCode; + + /** + * 位置号 + */ + @TableField(value = "pickingCartPos") + @ApiModelProperty(value="位置号") + private String pickingCartPos; + + /** + * 容器号 + */ + @TableField(value = "containerCode") + @ApiModelProperty(value="容器号") + private String containerCode; + + /** + * 开始拣货时间 + */ + @TableField(value = "startPickDateTime") + @ApiModelProperty(value="开始拣货时间") + private Date startPickDateTime; + + /** + * 截至拣货时间 + */ + @TableField(value = "endPickDateTime") + @ApiModelProperty(value="截至拣货时间") + private Date endPickDateTime; + + /** + * 合流货位 + */ + @TableField(value = "rebatchLoc") + @ApiModelProperty(value="合流货位") + private String rebatchLoc; + + /** + * 是否完成合流 + */ + @TableField(value = "finishRebatch") + @ApiModelProperty(value="是否完成合流") + private Integer finishRebatch; + + /** + * 合流组唯一号 + */ + @TableField(value = "rebatchGroupCode") + @ApiModelProperty(value="合流组唯一号") + private String rebatchGroupCode; + + /** + * 是否允许合流 + */ + @TableField(value = "allowRebatch") + @ApiModelProperty(value="是否允许合流") + private Integer allowRebatch; + + /** + * 任务处理类型 + */ + @TableField(value = "taskProcessType") + @ApiModelProperty(value="任务处理类型") + private String taskProcessType; + + /** + * 二次分拣工作台 + */ + @TableField(value = "rebinBench") + @ApiModelProperty(value="二次分拣工作台") + private String rebinBench; + + /** + * 二次分拣完成 + */ + @TableField(value = "rebined") + @ApiModelProperty(value="二次分拣完成") + private Integer rebined; + + /** + * 二次分拣开始时间 + */ + @TableField(value = "startRebinDateTime") + @ApiModelProperty(value="二次分拣开始时间") + private Date startRebinDateTime; + + /** + * 二次分拣结束时间 + */ + @TableField(value = "endRebinDateTime") + @ApiModelProperty(value="二次分拣结束时间") + private Date endRebinDateTime; + + /** + * 二次分拣人 + */ + @TableField(value = "rebinedBy") + @ApiModelProperty(value="二次分拣人") + private String rebinedBy; + + /** + * 异常原因 + */ + @TableField(value = "exceptionCode") + @ApiModelProperty(value="异常原因") + private String exceptionCode; + + /** + * 异常处理人 + */ + @TableField(value = "exceptionHandledBy") + @ApiModelProperty(value="异常处理人") + private String exceptionHandledBy; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value="创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * AGV区域任务标志 =‘AGV’ + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="AGV区域任务标志 =‘AGV’") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 同步标志 0:需要同步 10:同步成功 20:同步失败 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="同步标志 0:需要同步 10:同步成功 20:同步失败") + private String userDef3; + + /** + * 自定义字段4 + */ + @TableField(value = "userDef4") + @ApiModelProperty(value="自定义字段4") + private String userDef4; + + /** + * 自定义字段5 + */ + @TableField(value = "userDef5") + @ApiModelProperty(value="自定义字段5") + private String userDef5; + + /** + * 自定义字段6 + */ + @TableField(value = "userDef6") + @ApiModelProperty(value="自定义字段6") + private String userDef6; + + /** + * 自定义字段7 + */ + @TableField(value = "userDef7") + @ApiModelProperty(value="自定义字段7") + private String userDef7; + + /** + * 自定义字段8 + */ + @TableField(value = "userDef8") + @ApiModelProperty(value="自定义字段8") + private String userDef8; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_CODE = "code"; + + public static final String COL_WAREHOUSECODE = "warehouseCode"; + + public static final String COL_COMPANYCODE = "companyCode"; + + public static final String COL_TASKTYPE = "taskType"; + + public static final String COL_INTERNALTASKTYPE = "internalTaskType"; + + public static final String COL_REFERENCEID = "referenceId"; + + public static final String COL_REFERENCECODE = "referenceCode"; + + public static final String COL_ASSIGNEDUSER = "assignedUser"; + + public static final String COL_CONFIRMEDBY = "confirmedBy"; + + public static final String COL_ENABLE = "enable"; + + public static final String COL_WAVEID = "waveId"; + + public static final String COL_PICKINGCARTCODE = "pickingCartCode"; + + public static final String COL_PICKINGCARTPOS = "pickingCartPos"; + + public static final String COL_CONTAINERCODE = "containerCode"; + + public static final String COL_STARTPICKDATETIME = "startPickDateTime"; + + public static final String COL_ENDPICKDATETIME = "endPickDateTime"; + + public static final String COL_REBATCHLOC = "rebatchLoc"; + + public static final String COL_FINISHREBATCH = "finishRebatch"; + + public static final String COL_REBATCHGROUPCODE = "rebatchGroupCode"; + + public static final String COL_ALLOWREBATCH = "allowRebatch"; + + public static final String COL_TASKPROCESSTYPE = "taskProcessType"; + + public static final String COL_REBINBENCH = "rebinBench"; + + public static final String COL_REBINED = "rebined"; + + public static final String COL_STARTREBINDATETIME = "startRebinDateTime"; + + public static final String COL_ENDREBINDATETIME = "endRebinDateTime"; + + public static final String COL_REBINEDBY = "rebinedBy"; + + public static final String COL_EXCEPTIONCODE = "exceptionCode"; + + public static final String COL_EXCEPTIONHANDLEDBY = "exceptionHandledBy"; + + public static final String COL_CREATED = "created"; + + public static final String COL_CREATEDBY = "createdBy"; + + public static final String COL_LASTUPDATED = "lastUpdated"; + + public static final String COL_LASTUPDATEDBY = "lastUpdatedBy"; + + public static final String COL_VERSION = "version"; + + public static final String COL_USERDEF1 = "userDef1"; + + public static final String COL_USERDEF2 = "userDef2"; + + public static final String COL_USERDEF3 = "userDef3"; + + public static final String COL_USERDEF4 = "userDef4"; + + public static final String COL_USERDEF5 = "userDef5"; + + public static final String COL_USERDEF6 = "userDef6"; + + public static final String COL_USERDEF7 = "userDef7"; + + public static final String COL_USERDEF8 = "userDef8"; + + public static final String COL_PROCESSSTAMP = "processStamp"; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java b/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java new file mode 100644 index 0000000..72ef249 --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.task.taskHeader.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.task.taskHeader.domain.TaskHeader; + +public interface TaskHeaderMapper extends BaseMapper<TaskHeader> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java new file mode 100644 index 0000000..a0bddf4 --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java @@ -0,0 +1,8 @@ +package com.huaheng.pc.task.taskHeader.service; + +import com.huaheng.pc.task.taskHeader.domain.TaskHeader; +import com.baomidou.mybatisplus.extension.service.IService; +public interface TaskHeaderService extends IService<TaskHeader>{ + + +} diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java new file mode 100644 index 0000000..d4c22cc --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java @@ -0,0 +1,13 @@ +package com.huaheng.pc.task.taskHeader.service; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.task.taskHeader.domain.TaskHeader; +import com.huaheng.pc.task.taskHeader.mapper.TaskHeaderMapper; +import com.huaheng.pc.task.taskHeader.service.TaskHeaderService; +@Service +public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHeader> implements TaskHeaderService{ + +} diff --git a/src/main/java/com/huaheng/pc/task/taskPreference/domain/TaskPreference.java b/src/main/java/com/huaheng/pc/task/taskPreference/domain/TaskPreference.java new file mode 100644 index 0000000..5e782f7 --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskPreference/domain/TaskPreference.java @@ -0,0 +1,324 @@ +package com.huaheng.pc.task.taskPreference.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.task.taskPreference.domain.TaskPreference") +@Data +@TableName(value = "task_preference") +public class TaskPreference implements Serializable { + /** + * ID + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="ID") + private Integer id; + + /** + * 首选项 + */ + @TableField(value = "name") + @ApiModelProperty(value="首选项") + private String name; + + /** + * 仓库编码 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库编码") + private String warehouseCode; + + /** + * 内部任务类型 + */ + @TableField(value = "internalTaskType") + @ApiModelProperty(value="内部任务类型") + private String internalTaskType; + + /** + * 任务类型 + */ + @TableField(value = "taskType") + @ApiModelProperty(value="任务类型") + private String taskType; + + /** + * 区域 + */ + @TableField(value = "zoneCode") + @ApiModelProperty(value="区域") + private String zoneCode; + + /** + * 任务开始方式 + */ + @TableField(value = "taskInitMethod") + @ApiModelProperty(value="任务开始方式") + private String taskInitMethod; + + /** + * 任务方向方式 + */ + @TableField(value = "taskDirectedMethod") + @ApiModelProperty(value="任务方向方式") + private String taskDirectedMethod; + + /** + * 拣货顺序? + */ + @TableField(value = "fromAssignMethod") + @ApiModelProperty(value="拣货顺序?") + private String fromAssignMethod; + + /** + * 上架顺序? + */ + @TableField(value = "toAssignMethod") + @ApiModelProperty(value="上架顺序?") + private String toAssignMethod; + + /** + * PICK方式 + */ + @TableField(value = "pickMethod") + @ApiModelProperty(value="PICK方式") + private String pickMethod; + + /** + * 启动RF操作成功消息 + */ + @TableField(value = "rfSuccessEnabled") + @ApiModelProperty(value="启动RF操作成功消息") + private Integer rfSuccessEnabled; + + /** + * 消息字段 + */ + @TableField(value = "rfSuccessField") + @ApiModelProperty(value="消息字段") + private String rfSuccessField; + + /** + * 消息格式 + */ + @TableField(value = "rfSuccessMessage") + @ApiModelProperty(value="消息格式") + private String rfSuccessMessage; + + /** + * 默认LPN作为出库箱号 + */ + @TableField(value = "DEFAULTLpAsShipCont") + @ApiModelProperty(value="默认LPN作为出库箱号") + private Integer DEFAULTLpAsShipCont; + + /** + * 多人拣选方式 + */ + @TableField(value = "multiPickMethod") + @ApiModelProperty(value="多人拣选方式") + private Integer multiPickMethod; + + /** + * 允许部分拣选 + */ + @TableField(value = "allowPartial") + @ApiModelProperty(value="允许部分拣选") + private String allowPartial; + + /** + * 接力货位 + */ + @TableField(value = "pickDropLoc") + @ApiModelProperty(value="接力货位") + private String pickDropLoc; + + /** + * 显示物料信息 + */ + @TableField(value = "displayItemInfo") + @ApiModelProperty(value="显示物料信息") + private String displayItemInfo; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value="创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * 自定义字段1 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="自定义字段1") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="自定义字段3") + private String userDef3; + + /** + * 自定义字段4 + */ + @TableField(value = "userDef4") + @ApiModelProperty(value="自定义字段4") + private String userDef4; + + /** + * 自定义字段5 + */ + @TableField(value = "userDef5") + @ApiModelProperty(value="自定义字段5") + private String userDef5; + + /** + * 自定义字段6 + */ + @TableField(value = "userDef6") + @ApiModelProperty(value="自定义字段6") + private String userDef6; + + /** + * 自定义字段7 + */ + @TableField(value = "userDef7") + @ApiModelProperty(value="自定义字段7") + private String userDef7; + + /** + * 自定义字段8 + */ + @TableField(value = "userDef8") + @ApiModelProperty(value="自定义字段8") + private String userDef8; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + /** + * RF显示待处理任务 + */ + @TableField(value = "showOpenTask") + @ApiModelProperty(value="RF显示待处理任务") + private Integer showOpenTask; + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_NAME = "name"; + + public static final String COL_WAREHOUSECODE = "warehouseCode"; + + public static final String COL_INTERNALTASKTYPE = "internalTaskType"; + + public static final String COL_TASKTYPE = "taskType"; + + public static final String COL_ZONECODE = "zoneCode"; + + public static final String COL_TASKINITMETHOD = "taskInitMethod"; + + public static final String COL_TASKDIRECTEDMETHOD = "taskDirectedMethod"; + + public static final String COL_FROMASSIGNMETHOD = "fromAssignMethod"; + + public static final String COL_TOASSIGNMETHOD = "toAssignMethod"; + + public static final String COL_PICKMETHOD = "pickMethod"; + + public static final String COL_RFSUCCESSENABLED = "rfSuccessEnabled"; + + public static final String COL_RFSUCCESSFIELD = "rfSuccessField"; + + public static final String COL_RFSUCCESSMESSAGE = "rfSuccessMessage"; + + public static final String COL_DEFAULTLPASSHIPCONT = "DEFAULTLpAsShipCont"; + + public static final String COL_MULTIPICKMETHOD = "multiPickMethod"; + + public static final String COL_ALLOWPARTIAL = "allowPartial"; + + public static final String COL_PICKDROPLOC = "pickDropLoc"; + + public static final String COL_DISPLAYITEMINFO = "displayItemInfo"; + + public static final String COL_CREATED = "created"; + + public static final String COL_CREATEDBY = "createdBy"; + + public static final String COL_LASTUPDATED = "lastUpdated"; + + public static final String COL_LASTUPDATEDBY = "lastUpdatedBy"; + + public static final String COL_VERSION = "version"; + + public static final String COL_USERDEF1 = "userDef1"; + + public static final String COL_USERDEF2 = "userDef2"; + + public static final String COL_USERDEF3 = "userDef3"; + + public static final String COL_USERDEF4 = "userDef4"; + + public static final String COL_USERDEF5 = "userDef5"; + + public static final String COL_USERDEF6 = "userDef6"; + + public static final String COL_USERDEF7 = "userDef7"; + + public static final String COL_USERDEF8 = "userDef8"; + + public static final String COL_PROCESSSTAMP = "processStamp"; + + public static final String COL_SHOWOPENTASK = "showOpenTask"; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/task/taskPreference/mapper/TaskPreferenceMapper.java b/src/main/java/com/huaheng/pc/task/taskPreference/mapper/TaskPreferenceMapper.java new file mode 100644 index 0000000..3c9d352 --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskPreference/mapper/TaskPreferenceMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.task.taskPreference.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.task.taskPreference.domain.TaskPreference; + +public interface TaskPreferenceMapper extends BaseMapper<TaskPreference> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/task/taskPreference/service/TaskPreferenceService.java b/src/main/java/com/huaheng/pc/task/taskPreference/service/TaskPreferenceService.java new file mode 100644 index 0000000..c175e60 --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskPreference/service/TaskPreferenceService.java @@ -0,0 +1,8 @@ +package com.huaheng.pc.task.taskPreference.service; + +import com.huaheng.pc.task.taskPreference.domain.TaskPreference; +import com.baomidou.mybatisplus.extension.service.IService; +public interface TaskPreferenceService extends IService<TaskPreference>{ + + +} diff --git a/src/main/java/com/huaheng/pc/task/taskPreference/service/TaskPreferenceServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskPreference/service/TaskPreferenceServiceImpl.java new file mode 100644 index 0000000..8592201 --- /dev/null +++ b/src/main/java/com/huaheng/pc/task/taskPreference/service/TaskPreferenceServiceImpl.java @@ -0,0 +1,13 @@ +package com.huaheng.pc.task.taskPreference.service; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.task.taskPreference.mapper.TaskPreferenceMapper; +import com.huaheng.pc.task.taskPreference.domain.TaskPreference; +import com.huaheng.pc.task.taskPreference.service.TaskPreferenceService; +@Service +public class TaskPreferenceServiceImpl extends ServiceImpl<TaskPreferenceMapper, TaskPreference> implements TaskPreferenceService{ + +} diff --git a/src/main/resources/mybatis/general/WarehouseMapper.xml b/src/main/resources/mybatis/general/WarehouseMapper.xml index 1c94a4c..89db683 100644 --- a/src/main/resources/mybatis/general/WarehouseMapper.xml +++ b/src/main/resources/mybatis/general/WarehouseMapper.xml @@ -34,6 +34,26 @@ <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> <result column="deleted" jdbcType="BIT" property="deleted" /> </resultMap> + <select id="wareHouseAll" resultType="com.huaheng.pc.system.user.domain.SysUserWarehouse"> + select * from warehouse + </select> + + <select id="selectWarehouseByUserId" + resultType="com.huaheng.pc.general.warehouse.domain.Warehouse"> + SELECT r.`name`, r.code + FROM sys_user u + LEFT JOIN sys_user_warehouse ur ON u.id = ur.userId + LEFT JOIN warehouse r ON ur.warehouseCode = r.code + WHERE ur.userId =#{userId} + </select> + + <select id="selectWarehouseAll" + resultType="com.huaheng.pc.general.warehouse.domain.Warehouse"> + select * from warehouse + </select> + + + <sql id="Base_Column_List"> <!--@mbg.generated--> code, address1, address2, city, `state`, district, country, postalCode, attentionTo, diff --git a/src/main/resources/mybatis/system/SysUserWarehouseMapper.xml b/src/main/resources/mybatis/system/SysUserWarehouseMapper.xml new file mode 100644 index 0000000..aaa15fa --- /dev/null +++ b/src/main/resources/mybatis/system/SysUserWarehouseMapper.xml @@ -0,0 +1,30 @@ +<?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.huaheng.pc.system.user.mapper.SysUserWarehouseMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.system.user.domain.SysUserWarehouse"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="userId" jdbcType="INTEGER" property="userId" /> + <result column="warehouseId" jdbcType="INTEGER" property="warehouseId" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + </resultMap> + + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, userId, warehouseId, warehouseCode + </sql> + + <insert id="batchUserWarehouse"> + insert into sys_user_warehouse(userId, warehouseCode) values + <foreach item="item" index="index" collection="userWarehouseList" separator=","> + (#{item.userId},#{item.warehouseCode}) + </foreach> + </insert> + + <delete id="deleteUserWarehouseByUserId" parameterType="Integer"> + delete from sys_user_warehouse where userId=#{userId} + </delete> + + +</mapper> + diff --git a/src/main/resources/mybatis/system/UserMapper.xml b/src/main/resources/mybatis/system/UserMapper.xml index e96a88e..88a4010 100644 --- a/src/main/resources/mybatis/system/UserMapper.xml +++ b/src/main/resources/mybatis/system/UserMapper.xml @@ -191,6 +191,14 @@ INNER JOIN sys_role ON sys_user_role.roleId = sys_role.id AND sys_user_role.userId = sys_user.Id AND sys_role.enable = TRUE INNER JOIN warehouse ON sys_role.warehouseCode = warehouse.code AND warehouse.enable = TRUE </select> + + <select id="getWarehouseByUserName" resultType="java.util.HashMap"> + SELECT r.`name`, r.code + FROM sys_user u + LEFT JOIN sys_user_warehouse ur ON u.id = ur.userId + LEFT JOIN warehouse r ON ur.warehouseCode = r.code + WHERE u.loginName=#{loginName,jdbcType=VARCHAR} + </select> <update id="insertupdateTime" > update sys_user set updateTime = #{date} where loginName = #{cPersonCode} diff --git a/src/main/resources/mybatis/task/TaskDetailMapper.xml b/src/main/resources/mybatis/task/TaskDetailMapper.xml new file mode 100644 index 0000000..79c9499 --- /dev/null +++ b/src/main/resources/mybatis/task/TaskDetailMapper.xml @@ -0,0 +1,73 @@ +<?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.huaheng.pc.task.taskDetail.mapper.TaskDetailMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.task.taskDetail.domain.TaskDetail"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="taskId" jdbcType="INTEGER" property="taskId" /> + <result column="taskCode" jdbcType="VARCHAR" property="taskCode" /> + <result column="taskType" jdbcType="VARCHAR" property="taskType" /> + <result column="internalTaskType" jdbcType="VARCHAR" property="internalTaskType" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="materialCode" jdbcType="VARCHAR" property="materialCode" /> + <result column="materialName" jdbcType="VARCHAR" property="materialName" /> + <result column="materialSpec" jdbcType="VARCHAR" property="materialSpec" /> + <result column="materialUnit" jdbcType="VARCHAR" property="materialUnit" /> + <result column="qty" jdbcType="INTEGER" property="qty" /> + <result column="fromLocation" jdbcType="VARCHAR" property="fromLocation" /> + <result column="toLocation" jdbcType="VARCHAR" property="toLocation" /> + <result column="containerCode" jdbcType="VARCHAR" property="containerCode" /> + <result column="fromZone" jdbcType="VARCHAR" property="fromZone" /> + <result column="toZone" jdbcType="VARCHAR" property="toZone" /> + <result column="attributeId" jdbcType="INTEGER" property="attributeId" /> + <result column="enable" jdbcType="INTEGER" property="enable" /> + <result column="referenceCode" jdbcType="VARCHAR" property="referenceCode" /> + <result column="referenceId" jdbcType="INTEGER" property="referenceId" /> + <result column="referenceLineId" jdbcType="INTEGER" property="referenceLineId" /> + <result column="assignedUser" jdbcType="VARCHAR" property="assignedUser" /> + <result column="attribute1" jdbcType="VARCHAR" property="attribute1" /> + <result column="attribute2" jdbcType="VARCHAR" property="attribute2" /> + <result column="attribute3" jdbcType="VARCHAR" property="attribute3" /> + <result column="attribute4" jdbcType="VARCHAR" property="attribute4" /> + <result column="batch" jdbcType="VARCHAR" property="batch" /> + <result column="lot" jdbcType="VARCHAR" property="lot" /> + <result column="projectNo" jdbcType="VARCHAR" property="projectNo" /> + <result column="qcCheck" jdbcType="VARCHAR" property="qcCheck" /> + <result column="manufactureDate" jdbcType="DATE" property="manufactureDate" /> + <result column="expirationDate" jdbcType="DATE" property="expirationDate" /> + <result column="agingDate" jdbcType="DATE" property="agingDate" /> + <result column="inventorySts" jdbcType="VARCHAR" property="inventorySts" /> + <result column="waveId" jdbcType="INTEGER" property="waveId" /> + <result column="fromInventoryId" jdbcType="INTEGER" property="fromInventoryId" /> + <result column="toInventoryId" jdbcType="INTEGER" property="toInventoryId" /> + <result column="confirmedBy" jdbcType="VARCHAR" property="confirmedBy" /> + <result column="groupNum" jdbcType="INTEGER" property="groupNum" /> + <result column="groupIndex" jdbcType="INTEGER" property="groupIndex" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> + <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> + <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> + <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> + <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, taskId, taskCode, taskType, internalTaskType, warehouseCode, companyCode, materialCode, + materialName, materialSpec, materialUnit, qty, fromLocation, toLocation, containerCode, + fromZone, toZone, attributeId, `enable`, referenceCode, referenceId, referenceLineId, + assignedUser, attribute1, attribute2, attribute3, attribute4, batch, lot, projectNo, + qcCheck, manufactureDate, expirationDate, agingDate, inventorySts, waveId, fromInventoryId, + toInventoryId, confirmedBy, groupNum, groupIndex, created, createdBy, lastUpdated, + lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, + userDef7, userDef8, processStamp + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/task/TaskHeaderMapper.xml b/src/main/resources/mybatis/task/TaskHeaderMapper.xml new file mode 100644 index 0000000..9c9819b --- /dev/null +++ b/src/main/resources/mybatis/task/TaskHeaderMapper.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.huaheng.pc.task.taskHeader.mapper.TaskHeaderMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.task.taskHeader.domain.TaskHeader"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="code" jdbcType="VARCHAR" property="code" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="taskType" jdbcType="VARCHAR" property="taskType" /> + <result column="internalTaskType" jdbcType="VARCHAR" property="internalTaskType" /> + <result column="referenceId" jdbcType="INTEGER" property="referenceId" /> + <result column="referenceCode" jdbcType="VARCHAR" property="referenceCode" /> + <result column="assignedUser" jdbcType="VARCHAR" property="assignedUser" /> + <result column="confirmedBy" jdbcType="VARCHAR" property="confirmedBy" /> + <result column="enable" jdbcType="INTEGER" property="enable" /> + <result column="waveId" jdbcType="INTEGER" property="waveId" /> + <result column="pickingCartCode" jdbcType="VARCHAR" property="pickingCartCode" /> + <result column="pickingCartPos" jdbcType="VARCHAR" property="pickingCartPos" /> + <result column="containerCode" jdbcType="VARCHAR" property="containerCode" /> + <result column="startPickDateTime" jdbcType="TIMESTAMP" property="startPickDateTime" /> + <result column="endPickDateTime" jdbcType="TIMESTAMP" property="endPickDateTime" /> + <result column="rebatchLoc" jdbcType="VARCHAR" property="rebatchLoc" /> + <result column="finishRebatch" jdbcType="INTEGER" property="finishRebatch" /> + <result column="rebatchGroupCode" jdbcType="VARCHAR" property="rebatchGroupCode" /> + <result column="allowRebatch" jdbcType="INTEGER" property="allowRebatch" /> + <result column="taskProcessType" jdbcType="VARCHAR" property="taskProcessType" /> + <result column="rebinBench" jdbcType="VARCHAR" property="rebinBench" /> + <result column="rebined" jdbcType="INTEGER" property="rebined" /> + <result column="startRebinDateTime" jdbcType="TIMESTAMP" property="startRebinDateTime" /> + <result column="endRebinDateTime" jdbcType="TIMESTAMP" property="endRebinDateTime" /> + <result column="rebinedBy" jdbcType="VARCHAR" property="rebinedBy" /> + <result column="exceptionCode" jdbcType="VARCHAR" property="exceptionCode" /> + <result column="exceptionHandledBy" jdbcType="VARCHAR" property="exceptionHandledBy" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> + <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> + <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> + <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> + <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, code, warehouseCode, companyCode, taskType, internalTaskType, referenceId, referenceCode, + assignedUser, confirmedBy, `enable`, waveId, pickingCartCode, pickingCartPos, containerCode, + startPickDateTime, endPickDateTime, rebatchLoc, finishRebatch, rebatchGroupCode, + allowRebatch, taskProcessType, rebinBench, rebined, startRebinDateTime, endRebinDateTime, + rebinedBy, exceptionCode, exceptionHandledBy, created, createdBy, lastUpdated, lastUpdatedBy, + version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, + processStamp + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/task/TaskPreferenceMapper.xml b/src/main/resources/mybatis/task/TaskPreferenceMapper.xml new file mode 100644 index 0000000..d82e291 --- /dev/null +++ b/src/main/resources/mybatis/task/TaskPreferenceMapper.xml @@ -0,0 +1,50 @@ +<?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.huaheng.pc.task.taskPreference.mapper.TaskPreferenceMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.task.taskPreference.domain.TaskPreference"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="name" jdbcType="VARCHAR" property="name" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="internalTaskType" jdbcType="VARCHAR" property="internalTaskType" /> + <result column="taskType" jdbcType="VARCHAR" property="taskType" /> + <result column="zoneCode" jdbcType="VARCHAR" property="zoneCode" /> + <result column="taskInitMethod" jdbcType="VARCHAR" property="taskInitMethod" /> + <result column="taskDirectedMethod" jdbcType="VARCHAR" property="taskDirectedMethod" /> + <result column="fromAssignMethod" jdbcType="VARCHAR" property="fromAssignMethod" /> + <result column="toAssignMethod" jdbcType="VARCHAR" property="toAssignMethod" /> + <result column="pickMethod" jdbcType="VARCHAR" property="pickMethod" /> + <result column="rfSuccessEnabled" jdbcType="INTEGER" property="rfSuccessEnabled" /> + <result column="rfSuccessField" jdbcType="VARCHAR" property="rfSuccessField" /> + <result column="rfSuccessMessage" jdbcType="VARCHAR" property="rfSuccessMessage" /> + <result column="DEFAULTLpAsShipCont" jdbcType="INTEGER" property="DEFAULTLpAsShipCont" /> + <result column="multiPickMethod" jdbcType="INTEGER" property="multiPickMethod" /> + <result column="allowPartial" jdbcType="VARCHAR" property="allowPartial" /> + <result column="pickDropLoc" jdbcType="VARCHAR" property="pickDropLoc" /> + <result column="displayItemInfo" jdbcType="VARCHAR" property="displayItemInfo" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> + <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> + <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> + <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> + <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + <result column="showOpenTask" jdbcType="INTEGER" property="showOpenTask" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, `name`, warehouseCode, internalTaskType, taskType, zoneCode, taskInitMethod, + taskDirectedMethod, fromAssignMethod, toAssignMethod, pickMethod, rfSuccessEnabled, + rfSuccessField, rfSuccessMessage, DEFAULTLpAsShipCont, multiPickMethod, allowPartial, + pickDropLoc, displayItemInfo, created, createdBy, lastUpdated, lastUpdatedBy, version, + userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, processStamp, + showOpenTask + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/templates/general/bomDetail/add.html b/src/main/resources/templates/general/bomDetail/add.html new file mode 100644 index 0000000..f588507 --- /dev/null +++ b/src/main/resources/templates/general/bomDetail/add.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML> +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<meta charset="utf-8"> +<head th:include="include :: header"></head> +<body class="white-bg"> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-bomDetail-add"> + <div class="form-group"> + <label class="col-sm-3 control-label"> 物料编码:</label> + <div class="col-sm-8"> + <input id="materialCode" name="materialCode" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">数量:</label> + <div class="col-sm-8"> + <input id="qty" name="qty" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">组套层次:</label> + <div class="col-sm-8"> + <input id="buildLevel" name="buildLevel" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">序号:</label> + <div class="col-sm-8"> + <input id="buildSequence" name="buildSequence" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">分配规则:</label> + <div class="col-sm-8"> + <input id="allocationRule" name="allocationRule" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">从货位:</label> + <div class="col-sm-8"> + <input id="fromLocation" name="fromLocation" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <div class="form-control-static col-sm-offset-9"> + <button type="submit" class="btn btn-primary">提交</button> + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> + </div> + </div> + </form> +</div> +<div th:include="include::footer"></div> +<script type="text/javascript"> + var prefix = ctx + "general/bomDetail"; + $("#form-bomDetail-add").validate({ + rules:{ + materialCode:{ + required:true + }, + }, + submitHandler: function(form) { + var tableValue = $("#form-bomDetail-add").serialize(); + $.operate.save(prefix + "/add", tableValue); + } + }); +</script> +</body> +</html> diff --git a/src/main/resources/templates/general/bomDetail/bomDetail.html b/src/main/resources/templates/general/bomDetail/bomDetail.html new file mode 100644 index 0000000..e7de231 --- /dev/null +++ b/src/main/resources/templates/general/bomDetail/bomDetail.html @@ -0,0 +1,139 @@ +<!DOCTYPE HTML> +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> +<meta charset="utf-8"> +<head th:include="include :: header"></head> +<body> + +<div class="btn-group hidden-xs" id="toolbar" role="group"> + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="general:bomDetail:add"> + <i class="fa fa-plus"></i> 新增 + </a> + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="general:bomDetail:remove"> + <i class="fa fa-trash-o"></i> 删除 + </a> +</div> +<div class="col-sm-12"> + <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> +</div> + + +<div th:include="include :: footer"></div> +<script th:inline="javascript"> + var prefix = ctx + "general/bomDetail"; + var editFlag = [[${@permission.hasPermi('general:bomDetail:edit')}]]; + var removeFlag = [[${@permission.hasPermi('general:bomDetail:remove')}]]; + var datas = [[${@dict.getType('sys_normal_disable')}]]; + $(function() { + var options = { + url: prefix + "/list", + createUrl: prefix + "/add", + updateUrl: prefix + "/edit/{id}", + removeUrl: prefix + "/remove", + modalName: "商品详情", + queryParams:"bomId="+[[${bomHeaderId}]], + search: false, + sortName: "id", + sortOrder: "desc", + columns: [{ + checkbox: true + }, + { + field : 'id', + title : 'id' + }, + { + field : 'warehouseCode', + title : '仓库代码' + }, + { + field : 'companyCode', + title : '货主' + }, + { + field : 'bomId', + title : '物料清单内部号' , + visible:false + }, + { + field : 'materialName', + title : '物料名称' + }, + { + field : 'materialUnit', + title : '物料单位' + }, + { + field : 'buildLevel', + title : '组套层次' + }, + { + field : 'buildSequence', + title : '序号' + }, + { + field : 'qty', + title : '数量' + }, + { + field : 'allocationRule', + title : '分配规则' + }, + { + field : 'fromLocation', + title : '分配规则' + }, + { + field : 'enable', + title : '是否有效', + align: 'center', + formatter: function(value, row, index) { + return $.table.selectDictLabel(datas, value); + } + }, + { + field : 'created', + title : '创建时间' + }, + { + field : 'createdBy', + title : '创建用户' + }, + { + field : 'lastUpdated', + title : '更新时间' + }, + { + field : 'lastUpdatedBy', + title : '更新用户' + }, + { + field : 'userDef1', + title : '自定义字段1' , + visible:false + }, + { + field : 'userDef2', + title : '自定义字段2' , + visible:false + }, + { + field : 'userDef3', + title : '自定义字段3' , + visible:false + }, + { + title: '操作', + align: 'center', + formatter: function(value, row, index) { + var actions = []; + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); + return actions.join(''); + } + }] + }; + $.table.init(options); + }); +</script> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/general/bomDetail/edit.html b/src/main/resources/templates/general/bomDetail/edit.html new file mode 100644 index 0000000..527b312 --- /dev/null +++ b/src/main/resources/templates/general/bomDetail/edit.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML> +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<meta charset="utf-8"> +<head th:include="include :: header"></head> +<body class="white-bg"> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-bomDetail-add" th:object="${bomDetail}"> + <div class="form-group"> + <label class="col-sm-3 control-label"> 物料编码:</label> + <div class="col-sm-8"> + <input id="materialCode" name="materialCode" class="form-control" type="text" th:field="*{materialCode}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">数量:</label> + <div class="col-sm-8"> + <input id="qty" name="qty" class="form-control" type="text" th:field="*{qty}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">组套层次:</label> + <div class="col-sm-8"> + <input id="buildLevel" name="buildLevel" class="form-control" type="text" th:field="*{buildLevel}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">序号:</label> + <div class="col-sm-8"> + <input id="buildSequence" name="buildSequence" class="form-control" type="text" th:field="*{buildSequence}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">分配规则:</label> + <div class="col-sm-8"> + <input id="allocationRule" name="allocationRule" class="form-control" type="text" th:field="*{allocationRule}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">从货位:</label> + <div class="col-sm-8"> + <input id="fromLocation" name="fromLocation" class="form-control" type="text" th:field="*{fromLocation}" > + </div> + </div> + <div class="form-group"> + <div class="form-control-static col-sm-offset-9"> + <button type="submit" class="btn btn-primary">提交</button> + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> + </div> + </div> + </form> +</div> +<div th:include="include::footer"></div> +<script type="text/javascript"> + var prefix = ctx + "general/bomDetail"; + $("#form-bomDetail-add").validate({ + rules:{ + materialCode:{ + required:true + }, + }, + submitHandler: function(form) { + var tableValue = $("#form-bomDetail-add").serialize(); + $.operate.save(prefix + "/add", tableValue); + } + }); +</script> +</body> +</html> diff --git a/src/main/resources/templates/general/bomHeader/add.html b/src/main/resources/templates/general/bomHeader/add.html new file mode 100644 index 0000000..b9faeae --- /dev/null +++ b/src/main/resources/templates/general/bomHeader/add.html @@ -0,0 +1,107 @@ +<!DOCTYPE HTML> +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<meta charset="utf-8"> +<head th:include="include :: header"></head> +<body class="white-bg"> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-bomHeader-add"> + <div class="form-group"> + <label class="col-sm-3 control-label"> 物料编码:</label> + <div class="col-sm-8"> + <input id="materialCode" name="materialCode" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">数量:</label> + <div class="col-sm-8"> + <input id="qty" name="qty" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">修正号码:</label> + <div class="col-sm-8"> + <input id="revisionNum" name="revisionNum" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">加工说明:</label> + <div class="col-sm-8"> + <input id="buildInstructions" name="buildInstructions" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">加工货位:</label> + <div class="col-sm-8"> + <input id="buildLoc" name="buildLoc" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">有效起始日期:</label> + <div class="col-sm-8"> + <input id="validFromDate" name="validFromDate" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">有效结束日期:</label> + <div class="col-sm-8"> + <input id="validEndDate" name="validEndDate" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">优先级:</label> + <div class="col-sm-8"> + <input id="priority" name="priority" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">是否有效:</label> + <div class="col-sm-8"> + <select id="enable" name="enable" class="form-control" > + <option value="0">有效</option> + <option value="1">无效</option> + </select> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">是否虚拟商品:</label> + <div class="col-sm-8"> + <select id="isVirtualBom" name="isVirtualBom" class="form-control"> + <option value="0">不是</option> + <option value="1">是</option> + </select> + </div> + </div> + <div class="form-group"> + <div class="form-control-static col-sm-offset-9"> + <button type="submit" class="btn btn-primary">提交</button> + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> + </div> + </div> + </form> +</div> +<div th:include="include::footer"></div> +<script type="text/javascript"> + var prefix = ctx + "general/bomHeader"; + $("#form-bomHeader-add").validate({ + rules:{ + materialCode:{ + required:true + }, + }, + submitHandler: function(form) { + var tableValue = $("#form-bomHeader-add").serialize(); + tableValue = formValueReplace(tableValue, "enable", $("#enable option:selected").val()); + tableValue = formValueReplace(tableValue, "isVirtualBom", $("#isVirtualBom option:selected").val()); + $.operate.save(prefix + "/add", tableValue); + } + }); + $(function () { + layui.use('laydate', function() { + var laydate = layui.laydate; + laydate.render({ elem: '#validFromDate', theme: 'molv', format: 'yyyy-MM-dd' }); + laydate.render({ elem: '#validEndDate', theme: 'molv', format: 'yyyy-MM-dd' }); + }); + }); +</script> +</body> +</html> diff --git a/src/main/resources/templates/general/bomHeader/bomHeader.html b/src/main/resources/templates/general/bomHeader/bomHeader.html new file mode 100644 index 0000000..3ab8fc4 --- /dev/null +++ b/src/main/resources/templates/general/bomHeader/bomHeader.html @@ -0,0 +1,220 @@ +<!DOCTYPE HTML> +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> +<meta charset="utf-8"> +<head th:include="include :: header"></head> +<body class="gray-bg"> + +<div class="container-div"> + <div class="row"> + <div class="col-sm-12 select-info"> + <ul id="myTab" class="nav nav-tabs"> + <li class="active"><a href="#tabHeader" data-toggle="tab">主表</a></li> + <li><a href="#tabDetail" data-toggle="tab">明细</a></li> + </ul> + <div id="myTabContent" class="tab-content"> + <div class="tab-pane fade in active" id="tabHeader"> + <div class="col-sm-12 select-info"> + <form id="alarmFlow-form"> + <div class="select-list"> + <ul> + <li> + 物料名称:<input type="text" name="materialName"/> + </li> + <li> + 物料编码:<input type="text" name="materialCode"/> + </li> + <li class="time"> + <label>创建时间: </label> + <input type="text" class="time-input" id="startTime" placeholder="开始时间" + name="params[createdBegin]"/> + <span>-</span> + <input type="text" class="time-input" id="endTime" placeholder="结束时间" + name="params[createdEnd]"/> + </li> + <li> + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i + class="fa fa-search"></i> 搜索</a> + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> + </li> + </ul> + </div> + </form> + </div> + + + <div class="btn-group hidden-xs" id="toolbar" role="group"> + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" + shiro:hasPermission="general:bomHeader:add"> + <i class="fa fa-plus"></i> 新增 + </a> + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" + shiro:hasPermission="general:bomHeader:remove"> + <i class="fa fa-trash-o"></i> 删除 + </a> + </div> + + <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> + </div> + + <div class="tab-pane fade" id="tabDetail"> + <table id="bootstrap-table1" data-mobile-responsive="true" + class="table table-bordered table-hover"></table> + </div> + </div> + </div> + </div> +</div> +<div th:include="include :: footer"></div> +<script th:inline="javascript"> + var prefix = ctx + "general/bomHeader"; + var prefix1 = ctx + "general/bomDetail"; + var editFlag = [[${@permission.hasPermi('general:bomHeader:edit')}]]; + var removeFlag = [[${@permission.hasPermi('general:bomHeader:remove')}]]; + $(function() { + var options = { + url: prefix + "/list", + createUrl: prefix + "/add", + updateUrl: prefix + "/edit/{id}", + removeUrl: prefix + "/remove", + modalName: "商品", + search: false, + sortName: "id", + sortOrder: "desc", + columns: [{ + checkbox: true + }, + { + field : 'id', + title : 'id' + }, + { + field : 'materialCode', + title : '物料编码' + }, + { + field : 'materialName', + title : '物料名称' + }, + { + field : 'warehouseCode', + title : '仓库代码' + }, + { + field : 'companyCode', + title : '货主编码' + }, + { + field : 'materialSpec', + title : '物料规格' + }, + { + field : 'materialUnit', + title : ' 物料单位' + }, + { + field : 'qty', + title : '数量' + }, + { + field : 'revisionNum', + title : '修正号码' + }, + { + field : 'buildInstructions', + title : '加工说明' + }, + { + field : 'buildLoc', + title : '加工货位' + }, + { + field : 'validFromDate', + title : '有效起止日期' + }, + { + field : 'validEndDate', + title : '有效结束日期' + }, + { + field : 'priority', + title : '优先级' + }, + { + field : 'version', + title : '数据版本', + visible : false + }, + { + field : 'isVirtualBom', + title : '是否为虚拟商品', + visible : false + }, + { + field : 'created', + title : '创建时间', + visible : false + }, + { + field : 'createdBy', + title : '创建用户', + visible : false + }, + { + field : 'lastUpdated', + title : '更新时间', + visible : false + }, + { + field : 'lastUpdatedBy', + title : '更新用户', + visible : false + }, + { + field : 'userDef1', + title : '自定义字段1' , + visible:false + }, + { + field : 'userDef2', + title : '自定义字段2' , + visible:false + }, + { + field : 'userDef3', + title : '自定义字段3' , + visible:false + }, + { + title: '操作', + align: 'center', + formatter: function(value, row, index) { + var actions = []; + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); + return actions.join(''); + } + }] + }; + $.table.init(options); + }); + + function detail(id, code) { + // console.log(id); + // dictid=id; + var url = prefix1+"/list/" + id; + createtable(url); + } + + function createtable(url) { + $("#tabDetail").children().remove(); + $("#myTab li").removeClass("active"); + var height = $(document).height()-100 + 'px'; + var str = '<iframe class="huaheng_iframe" name="iframe" width="100%" height="' + height + '" src="' + url + '" frameborder="0" data-id="' + url + '" seamless></iframe>'; + $("#tabDetail").append(str); + $(".tab-pane").removeClass("in active"); + $("#myTab li:eq(1)").addClass("active"); + $("#tabDetail").addClass("in active"); + } +</script> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/general/bomHeader/edit.html b/src/main/resources/templates/general/bomHeader/edit.html new file mode 100644 index 0000000..4769548 --- /dev/null +++ b/src/main/resources/templates/general/bomHeader/edit.html @@ -0,0 +1,126 @@ +<!DOCTYPE HTML> +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<meta charset="utf-8"> +<head th:include="include :: header"></head> +<body class="white-bg"> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-bomHeader-edit" th:object="${bomHeader}"> + <div class="form-group"> + <label class="col-sm-3 control-label"> 物料编码:</label> + <div class="col-sm-8"> + <input id="materialCode" name="materialCode" class="form-control" type="text" th:field="*{materialCode}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">数量:</label> + <div class="col-sm-8"> + <input id="qty" name="qty" class="form-control" type="text" th:field="*{qty}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">修正号码:</label> + <div class="col-sm-8"> + <input id="revisionNum" name="revisionNum" class="form-control" type="text" th:field="*{revisionNum}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">加工说明:</label> + <div class="col-sm-8"> + <input id="buildInstructions" name="buildInstructions" class="form-control" type="text" th:field="*{buildInstructions}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">加工货位:</label> + <div class="col-sm-8"> + <input id="buildLoc" name="buildLoc" class="form-control" type="text" th:field="*{buildLoc}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">有效起始日期:</label> + <div class="col-sm-8"> + <input id="validFromDate" name="validFromDate" class="time-input" type="text" th:field="*{validFromDate}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">有效结束日期:</label> + <div class="col-sm-8"> + <input id="validEndDate" name="validEndDate" class="time-input" type="text" th:field="*{validEndDate}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">优先级:</label> + <div class="col-sm-8"> + <input id="priority" name="priority" class="form-control" type="text" th:field="*{priority}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">是否有效:</label> + <div class="col-sm-8"> + <select id="enable" name="enable" class="form-control" th:field="*{enable}"> + <option value="0">有效</option> + <option value="1">无效</option> + </select> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">是否虚拟商品:</label> + <div class="col-sm-8"> + <select id="isVirtualBom" name="isVirtualBom" class="form-control" th:field="*{isVirtualBom}" > + <option value="0">不是</option> + <option value="1">是</option> + </select> + </div> + </div> + <!--<div class="form-group"> --> + <!--<label class="col-sm-3 control-label">自定义字段1:</label>--> + <!--<div class="col-sm-8">--> + <!--<input id="userDef1" name="userDef1" class="form-control" type="text">--> + <!--</div>--> + <!--</div>--> + <!--<div class="form-group"> --> + <!--<label class="col-sm-3 control-label">自定义字段2:</label>--> + <!--<div class="col-sm-8">--> + <!--<input id="userDef2" name="userDef2" class="form-control" type="text">--> + <!--</div>--> + <!--</div>--> + <!--<div class="form-group"> --> + <!--<label class="col-sm-3 control-label">自定义字段3:</label>--> + <!--<div class="col-sm-8">--> + <!--<input id="userDef3" name="userDef3" class="form-control" type="text">--> + <!--</div>--> + <!--</div>--> + <div class="form-group"> + <div class="form-control-static col-sm-offset-9"> + <button type="submit" class="btn btn-primary">提交</button> + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> + </div> + </div> + </form> +</div> +<div th:include="include::footer"></div> +<script type="text/javascript"> + var prefix = ctx + "general/bomHeader"; + $("#form-bomHeader-add").validate({ + rules:{ + materialCode:{ + required:true + }, + }, + submitHandler: function(form) { + var tableValue = $("#form-bomHeader-add").serialize(); + tableValue = formValueReplace(tableValue, "enable", $("#enable option:selected").val()); + tableValue = formValueReplace(tableValue, "isVirtualBom", $("#isVirtualBom option:selected").val()); + $.operate.save(prefix + "/add", tableValue); + } + }); + + $(function () { + layui.use('laydate', function() { + var laydate = layui.laydate; + laydate.render({ elem: '#validFromDate', theme: 'molv', format: 'yyyy-MM-dd' }); + laydate.render({ elem: '#validEndDate', theme: 'molv', format: 'yyyy-MM-dd' }); + }); + }); +</script> +</body> +</html> diff --git a/src/main/resources/templates/general/company/add.html b/src/main/resources/templates/general/company/add.html index d7a7620..bb1b69e 100644 --- a/src/main/resources/templates/general/company/add.html +++ b/src/main/resources/templates/general/company/add.html @@ -91,6 +91,8 @@ <input id="email" name="email" class="form-control" type="text"> </div> </div> + + <input id="filePath" name="filePath" class="form-control" type="file"> <!--<div class="form-group"> --> <!--<label class="col-sm-3 control-label">自定义字段1:</label>--> <!--<div class="col-sm-8">--> diff --git a/src/main/resources/templates/general/material/add.html b/src/main/resources/templates/general/material/add.html index 17850c8..27f8fc0 100644 --- a/src/main/resources/templates/general/material/add.html +++ b/src/main/resources/templates/general/material/add.html @@ -14,7 +14,9 @@ <div class="form-group"> <label class="col-sm-3 control-label">货主编码:</label> <div class="col-sm-8"> - <input id="companyCode" name="companyCode" class="form-control" type="text"> + <select id="companyCode" name="companyCode" class="form-control" th:with="companyList=${@companyService.selectCompanyByCurrentUserId()}"> + <option th:each="company : ${companyList}" th:text="${company['name']}" th:value="${company['code']}"></option> + </select> </div> </div> <div class="form-group"> @@ -32,9 +34,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">单位:</label> <div class="col-sm-8"> - <select id="unit" name="unit" class="form-control" th:with="materialUnit=${@materialUnitService.getUnit()}"> - <option th:each="item : ${materialUnit}" th:text="${item['unit']}" th:value="${item['unit']}"></option> - </select> + <input id="unit" name="unit" class="form-control" type="text"> </div> </div> <div class="form-group"> @@ -257,6 +257,7 @@ // var tableValue = $.common.getTableValue("#form-material-add"); // $.operate.save(prefix + "/add", tableValue); var tableValue = $("#form-material-add").serialize(); + tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val()) tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); $.operate.save(prefix + "/add", tableValue); } diff --git a/src/main/resources/templates/general/material/material.html b/src/main/resources/templates/general/material/material.html index 0032ac3..9c73976 100644 --- a/src/main/resources/templates/general/material/material.html +++ b/src/main/resources/templates/general/material/material.html @@ -169,26 +169,26 @@ title : '收货预警天数' , visible:false }, - { - field : "version", - title: "数据版本" - }, - { - field : 'created', - title : '创建时间' - }, - { - field : 'createdBy', - title : '创建用户' - }, - { - field : 'lastUpdated', - title : '更新时间' - }, - { - field : 'lastUpdatedBy', - title : '更新用户' - }, + // { + // field : "version", + // title: "数据版本" + // }, + // { + // field : 'created', + // title : '创建时间' + // }, + // { + // field : 'createdBy', + // title : '创建用户' + // }, + // { + // field : 'lastUpdated', + // title : '更新时间' + // }, + // { + // field : 'lastUpdatedBy', + // title : '更新用户' + // }, { field : 'enable', title : '状态' , diff --git a/src/main/resources/templates/system/user/add.html b/src/main/resources/templates/system/user/add.html index b8df4b5..c83fd84 100644 --- a/src/main/resources/templates/system/user/add.html +++ b/src/main/resources/templates/system/user/add.html @@ -71,6 +71,16 @@ </label> </div> </div> + + <div class="form-group"> + <label class="col-sm-3 control-label">仓库:</label> + <div class="col-sm-8"> + <label th:each="warehouse:${warehouseList}" class="checkbox-inline i-checks"> + <input name="warehouseCode" type="checkbox" th:value="${warehouse.value}" th:text=" ${warehouse.name}" th:disabled="${warehouse.enable == false} "> + </label> + </div> + </div> + <div class="form-group"> <label class="col-sm-3 control-label">角色:</label> <div class="col-sm-8"> @@ -188,6 +198,7 @@ var sex = $("#sex option:selected").val(); var enable = $("input[name='enable']").is(':checked') == true ? 1 : 0; var roleIds = $.form.selectCheckeds("role"); + var warehouseCodeList = $.form.selectCheckeds("warehouseCode"); var companyIdList = $.form.selectCheckeds("company"); $.ajax({ cache : true, @@ -204,6 +215,7 @@ "sex": sex, "enable": enable, "roleIds": roleIds, + "warehouseCodeList": warehouseCodeList, "companyIdList": companyIdList }, async : false, diff --git a/src/main/resources/templates/system/user/edit.html b/src/main/resources/templates/system/user/edit.html index 2fb57a9..3c52036 100644 --- a/src/main/resources/templates/system/user/edit.html +++ b/src/main/resources/templates/system/user/edit.html @@ -66,6 +66,16 @@ </label> </div> </div> + + <div class="form-group"> + <label class="col-sm-3 control-label">仓库:</label> + <div class="col-sm-8"> + <label th:each="warehouse:${warehouses}" class="checkbox-inline i-checks"> + <input name="warehouse" type="checkbox" th:value="${warehouse.code}" th:text="${warehouse.name}" th:checked="${warehouse.flag}" th:disabled="${warehouse.enable == false}"> + </label> + </div> + </div> + <div class="form-group"> <label class="col-sm-3 control-label">角色:</label> <div class="col-sm-8"> @@ -160,6 +170,7 @@ var sex = $("#sex option:selected").val(); var enable = $("input[name='enable']").is(':checked') == true ? 1 : 0; var roleIds = $.form.selectCheckeds("role"); + var warehouseCodeList = $.form.selectCheckeds("warehouse"); var companyIdList = $.form.selectCheckeds("company"); $.ajax({ cache : true, @@ -174,6 +185,7 @@ "sex": sex, "enable": enable, "roleIds": roleIds, + "warehouseCodeList": warehouseCodeList, "companyIdList": companyIdList }, async : false,