diff --git a/.idea/workspace.xml b/.idea/workspace.xml index d5d99b3..c0560c6 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -3,16 +3,14 @@ <component name="ChangeListManager"> <list default="true" id="baeae966-16bb-4f97-a411-22fe5a65cefd" name="Default Changelist" comment=""> <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/config/FilterConfigDetail/service/FilterConfigDetailService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkDetail.html" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/add.html" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/filterConfigHeader/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/filterConfigHeader/add.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/add.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/add.html" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/report.html" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiving/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiving/add.html" afterDir="false" /> </list> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="SHOW_DIALOG" value="false" /> @@ -31,59 +29,7 @@ <option name="HIDDEN_KINDS"> <set /> </option> - <expand> - <path> - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> - <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" /> - </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" /> - </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" /> - </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="receipt_header: table" type="285a2a93:MysqlImplModel$Table" /> - </path> - <path> - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> - </path> - <path> - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> - </path> - <path> - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> - <item name="wms2.0: schema" type="76f4a085:MysqlImplModel$Schema" /> - </path> - <path> - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> - <item name="wms2.0: schema" type="76f4a085:MysqlImplModel$Schema" /> - <item name="check_detail: table" type="285a2a93:MysqlImplModel$Table" /> - </path> - <path> - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> - <item name="wms2.0: schema" type="76f4a085:MysqlImplModel$Schema" /> - <item name="check_header: table" type="285a2a93:MysqlImplModel$Table" /> - </path> - </expand> + <expand /> <select /> </component> <component name="FileTemplateManagerImpl"> @@ -104,6 +50,7 @@ <OptionsSetting value="false" id="Update" /> </component> <component name="PropertiesComponent"> + <property name="ASKED_ADD_EXTERNAL_FILES" value="true" /> <property name="DefaultHtmlFileTemplate" value="HTML File" /> <property name="RequestMappingsPanelOrder0" value="0" /> <property name="RequestMappingsPanelOrder1" value="1" /> @@ -112,17 +59,30 @@ <property name="WebServerToolWindowFactoryState" value="false" /> <property name="aspect.path.notification.shown" value="true" /> <property name="full.screen.before.presentation.mode" value="false" /> - <property name="last_opened_file_path" value="$PROJECT_DIR$/../WMSV1" /> + <property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable" /> <property name="node.js.detected.package.eslint" value="true" /> <property name="node.js.detected.package.tslint" value="true" /> <property name="node.js.path.for.package.eslint" value="project" /> <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="project.structure.last.edited" value="Modules" /> + <property name="project.structure.proportion" value="0.15429688" /> + <property name="project.structure.side.proportion" value="0.2" /> <property name="run.code.analysis.last.selected.profile" value="pProject Default" /> - <property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Console Font" /> + <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> + </component> + <component name="RecentsManager"> + <key name="CopyFile.RECENT_KEYS"> + <recent name="E:\code\wms2\src\main\resources\static\ajax\libs\bootstrap-table\extensions\editable" /> + </key> </component> <component name="RunDashboard"> + <option name="configurationTypes"> + <set> + <option value="SpringBootApplicationConfigurationType" /> + </set> + </option> <option name="ruleStates"> <list> <RuleState> @@ -135,6 +95,19 @@ </option> </component> <component name="RunManager" selected="Spring Boot.HuaHengApplication"> + <configuration name="ReceiptContainerHeaderServiceImpl" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> + <option name="MAIN_CLASS_NAME" value="com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderServiceImpl" /> + <module name="huaheng" /> + <extension name="coverage"> + <pattern> + <option name="PATTERN" value="com.huaheng.pc.receipt.receiptContainerHeader.service.*" /> + <option name="ENABLED" value="true" /> + </pattern> + </extension> + <method v="2"> + <option name="Make" enabled="true" /> + </method> + </configuration> <configuration name="ServiceTest.sendSimpleMail" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> <module name="huaheng" /> <extension name="coverage"> @@ -168,12 +141,14 @@ </method> </configuration> <list> + <item itemvalue="Application.ReceiptContainerHeaderServiceImpl" /> <item itemvalue="JUnit.ServiceTest.sendSimpleMail" /> <item itemvalue="Spring Boot.HuaHengApplication" /> </list> <recent_temporary> <list> <item itemvalue="Spring Boot.HuaHengApplication" /> + <item itemvalue="Application.ReceiptContainerHeaderServiceImpl" /> <item itemvalue="JUnit.ServiceTest.sendSimpleMail" /> </list> </recent_temporary> @@ -181,11 +156,17 @@ <component name="ServiceViewManager"> <option name="allServicesViewState"> <serviceView> + <option name="contentProportion" value="0.1612554" /> <treeState> <expand> <path> <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@20dd4d1b" type="7427dc5b:ServiceModel$ServiceGroupNode" /> + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@c531c3e8" type="7427dc5b:ServiceModel$ServiceGroupNode" /> + </path> + <path> + <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@c531c3e8" type="7427dc5b:ServiceModel$ServiceGroupNode" /> + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@ef9dc71e" type="7427dc5b:ServiceModel$ServiceGroupNode" /> </path> </expand> <select /> @@ -224,7 +205,73 @@ <workItem from="1568102802104" duration="132000" /> <workItem from="1568108585629" duration="2016000" /> <workItem from="1568162278389" duration="3299000" /> - <workItem from="1568170378983" duration="10947000" /> + <workItem from="1568170378983" duration="18141000" /> + <workItem from="1568249510258" duration="10225000" /> + <workItem from="1568266250892" duration="1333000" /> + <workItem from="1568269799447" duration="99000" /> + <workItem from="1568270609232" duration="2008000" /> + <workItem from="1568277784815" duration="3397000" /> + <workItem from="1568595092050" duration="120000" /> + <workItem from="1568595230891" duration="859000" /> + <workItem from="1568597823149" duration="18415000" /> + <workItem from="1568622349963" duration="1657000" /> + <workItem from="1568625672966" duration="1471000" /> + <workItem from="1568680155591" duration="361000" /> + <workItem from="1568680712425" duration="2511000" /> + <workItem from="1568684486098" duration="957000" /> + <workItem from="1568685565340" duration="4430000" /> + <workItem from="1568691952276" duration="8650000" /> + <workItem from="1568707800753" duration="1137000" /> + <workItem from="1568710796434" duration="1618000" /> + <workItem from="1568766055582" duration="6000" /> + <workItem from="1568768025248" duration="5346000" /> + <workItem from="1568778175920" duration="2572000" /> + <workItem from="1568787162277" duration="1740000" /> + <workItem from="1568788907625" duration="7345000" /> + <workItem from="1568853208604" duration="1177000" /> + <workItem from="1568854399388" duration="3001000" /> + <workItem from="1568861704814" duration="2380000" /> + <workItem from="1568865359898" duration="108000" /> + <workItem from="1568865651366" duration="623000" /> + <workItem from="1568868902957" duration="3468000" /> + <workItem from="1568875455023" duration="3979000" /> + <workItem from="1568882661913" duration="1883000" /> + <workItem from="1568887498559" duration="554000" /> + <workItem from="1568940290765" duration="1255000" /> + <workItem from="1568943643646" duration="634000" /> + <workItem from="1568946720514" duration="599000" /> + <workItem from="1568951675236" duration="5060000" /> + <workItem from="1568963416874" duration="848000" /> + <workItem from="1568964502775" duration="3587000" /> + <workItem from="1568970279520" duration="8000" /> + <workItem from="1569032862367" duration="1792000" /> + <workItem from="1569037677538" duration="64000" /> + <workItem from="1569134046393" duration="65000" /> + <workItem from="1569198499251" duration="8680000" /> + <workItem from="1569207254306" duration="18489000" /> + <workItem from="1569285398457" duration="5908000" /> + <workItem from="1569295518709" duration="463000" /> + <workItem from="1569299856099" duration="4172000" /> + <workItem from="1569312420091" duration="6208000" /> + <workItem from="1569318779053" duration="35000" /> + <workItem from="1569372049669" duration="4595000" /> + <workItem from="1569390345693" duration="1418000" /> + <workItem from="1569393808742" duration="10588000" /> + <workItem from="1569411369199" duration="191000" /> + <workItem from="1569457959376" duration="2373000" /> + <workItem from="1569461866204" duration="777000" /> + <workItem from="1569462694383" duration="6561000" /> + <workItem from="1569477197991" duration="8695000" /> + <workItem from="1569545011335" duration="12640000" /> + <workItem from="1569565238961" duration="5096000" /> + <workItem from="1569571884664" duration="2032000" /> + <workItem from="1569577676760" duration="124000" /> + <workItem from="1569717688488" duration="13568000" /> + <workItem from="1569743740441" duration="1168000" /> + <workItem from="1569745589865" duration="2739000" /> + <workItem from="1569748443357" duration="438000" /> + <workItem from="1569803438585" duration="13789000" /> + <workItem from="1570581146682" duration="9295000" /> </task> <task id="LOCAL-00001" summary="修改添加物料时使用物料类别生成物料编码"> <created>1567664306836</created> @@ -268,7 +315,203 @@ <option name="project" value="LOCAL" /> <updated>1568174134623</updated> </task> - <option name="localTasksCounter" value="7" /> + <task id="LOCAL-00007" summary="修改入库单审核移动到入库单头表"> + <created>1568186231357</created> + <option name="number" value="00007" /> + <option name="presentableId" value="LOCAL-00007" /> + <option name="project" value="LOCAL" /> + <updated>1568186231357</updated> + </task> + <task id="LOCAL-00008" summary="修改任务完成更新库位的错误"> + <created>1568191139437</created> + <option name="number" value="00008" /> + <option name="presentableId" value="LOCAL-00008" /> + <option name="project" value="LOCAL" /> + <updated>1568191139437</updated> + </task> + <task id="LOCAL-00009" summary="修改入库类型自动判断"> + <created>1568259182874</created> + <option name="number" value="00009" /> + <option name="presentableId" value="LOCAL-00009" /> + <option name="project" value="LOCAL" /> + <updated>1568259182874</updated> + </task> + <task id="LOCAL-00010" summary="修改入库单页面"> + <created>1568281128408</created> + <option name="number" value="00010" /> + <option name="presentableId" value="LOCAL-00010" /> + <option name="project" value="LOCAL" /> + <updated>1568281128408</updated> + </task> + <task id="LOCAL-00011" summary="修改入库单页面,入库单审核,质检页面后台跳转接口"> + <created>1568616697584</created> + <option name="number" value="00011" /> + <option name="presentableId" value="LOCAL-00011" /> + <option name="project" value="LOCAL" /> + <updated>1568616697584</updated> + </task> + <task id="LOCAL-00012" summary="修改 入库收货,生成上架任务自动执行定位"> + <created>1568692224269</created> + <option name="number" value="00012" /> + <option name="presentableId" value="LOCAL-00012" /> + <option name="project" value="LOCAL" /> + <updated>1568692224269</updated> + </task> + <task id="LOCAL-00013" summary="修复商品管理、物料类别种bug"> + <created>1568784920330</created> + <option name="number" value="00013" /> + <option name="presentableId" value="LOCAL-00013" /> + <option name="project" value="LOCAL" /> + <updated>1568784920330</updated> + </task> + <task id="LOCAL-00014" summary="修改入库明细添加加载定位规则的错误"> + <created>1568788287608</created> + <option name="number" value="00014" /> + <option name="presentableId" value="LOCAL-00014" /> + <option name="project" value="LOCAL" /> + <updated>1568788287608</updated> + </task> + <task id="LOCAL-00015" summary="添加入库质检行内编辑"> + <created>1568857387442</created> + <option name="number" value="00015" /> + <option name="presentableId" value="LOCAL-00015" /> + <option name="project" value="LOCAL" /> + <updated>1568857387442</updated> + </task> + <task id="LOCAL-00016" summary="行内编辑完成后更新数据库"> + <created>1568875291383</created> + <option name="number" value="00016" /> + <option name="presentableId" value="LOCAL-00016" /> + <option name="project" value="LOCAL" /> + <updated>1568875291383</updated> + </task> + <task id="LOCAL-00017" summary="修改质检登记使用bootstarp boot原生方法初始化"> + <created>1568885639106</created> + <option name="number" value="00017" /> + <option name="presentableId" value="LOCAL-00017" /> + <option name="project" value="LOCAL" /> + <updated>1568885639106</updated> + </task> + <task id="LOCAL-00018" summary="表单头创建时间添加默认创建时间 开始时间默认提前一周,结束时间默认当天"> + <created>1569207792528</created> + <option name="number" value="00018" /> + <option name="presentableId" value="LOCAL-00018" /> + <option name="project" value="LOCAL" /> + <updated>1569207792528</updated> + </task> + <task id="LOCAL-00019" summary="配置中所有页面添加重置按钮"> + <created>1569218224945</created> + <option name="number" value="00019" /> + <option name="presentableId" value="LOCAL-00019" /> + <option name="project" value="LOCAL" /> + <updated>1569218224945</updated> + </task> + <task id="LOCAL-00020" summary="收货添加定位、取消定位、取消组盘按钮"> + <created>1569232154274</created> + <option name="number" value="00020" /> + <option name="presentableId" value="LOCAL-00020" /> + <option name="project" value="LOCAL" /> + <updated>1569232154274</updated> + </task> + <task id="LOCAL-00021" summary="修改入库单数量使用BigDecimal类型,修改入库单添加、修改、物理类型添加和修改页面"> + <created>1569318560852</created> + <option name="number" value="00021" /> + <option name="presentableId" value="LOCAL-00021" /> + <option name="project" value="LOCAL" /> + <updated>1569318560852</updated> + </task> + <task id="LOCAL-00022" summary="修改物料管理中物料类型使用物料类别表,不在使用数据字典"> + <created>1569395439782</created> + <option name="number" value="00022" /> + <option name="presentableId" value="LOCAL-00022" /> + <option name="project" value="LOCAL" /> + <updated>1569395439782</updated> + </task> + <task id="LOCAL-00023" summary="修改波次主表、波次流程头表、波次流程明细页面"> + <created>1569402291802</created> + <option name="number" value="00023" /> + <option name="presentableId" value="LOCAL-00023" /> + <option name="project" value="LOCAL" /> + <updated>1569402291802</updated> + </task> + <task id="LOCAL-00024" summary="修改入库首选项修改添加模块为select"> + <created>1569411473661</created> + <option name="number" value="00024" /> + <option name="presentableId" value="LOCAL-00024" /> + <option name="project" value="LOCAL" /> + <updated>1569411473661</updated> + </task> + <task id="LOCAL-00025" summary="修改任务取消入库组盘状态不回滚,修改任务完成入库单状态不完成"> + <created>1569477488017</created> + <option name="number" value="00025" /> + <option name="presentableId" value="LOCAL-00025" /> + <option name="project" value="LOCAL" /> + <updated>1569477488017</updated> + </task> + <task id="LOCAL-00026" summary="添加自动生成容器编码"> + <created>1569484931952</created> + <option name="number" value="00026" /> + <option name="presentableId" value="LOCAL-00026" /> + <option name="project" value="LOCAL" /> + <updated>1569484931952</updated> + </task> + <task id="LOCAL-00027" summary="修改入库首选项页面,规则查询使用数据字典值,表格值显示修改"> + <created>1569553028716</created> + <option name="number" value="00027" /> + <option name="presentableId" value="LOCAL-00027" /> + <option name="project" value="LOCAL" /> + <updated>1569553028716</updated> + </task> + <task id="LOCAL-00028" summary="入库单添加重置按钮,入库单历史添加上游单号搜索"> + <created>1569554438854</created> + <option name="number" value="00028" /> + <option name="presentableId" value="LOCAL-00028" /> + <option name="project" value="LOCAL" /> + <updated>1569554438854</updated> + </task> + <task id="LOCAL-00029" summary="添加取消入库组盘时容器为临时容器,删除容器"> + <created>1569567112288</created> + <option name="number" value="00029" /> + <option name="presentableId" value="LOCAL-00029" /> + <option name="project" value="LOCAL" /> + <updated>1569567112288</updated> + </task> + <task id="LOCAL-00030" summary="出库完成时删除临时容器"> + <created>1569568426923</created> + <option name="number" value="00030" /> + <option name="presentableId" value="LOCAL-00030" /> + <option name="project" value="LOCAL" /> + <updated>1569568426923</updated> + </task> + <task id="LOCAL-00031" summary="修改容器新增时容器enable状态"> + <created>1569577849038</created> + <option name="number" value="00031" /> + <option name="presentableId" value="LOCAL-00031" /> + <option name="project" value="LOCAL" /> + <updated>1569577849039</updated> + </task> + <task id="LOCAL-00032" summary="修改入库组盘页面中任务类型的显示问题 修改任务完成不修改入库组盘状态的问题"> + <created>1569740895495</created> + <option name="number" value="00032" /> + <option name="presentableId" value="LOCAL-00032" /> + <option name="project" value="LOCAL" /> + <updated>1569740895496</updated> + </task> + <task id="LOCAL-00033" summary="添加根据code查询物料"> + <created>1569743042718</created> + <option name="number" value="00033" /> + <option name="presentableId" value="LOCAL-00033" /> + <option name="project" value="LOCAL" /> + <updated>1569743042718</updated> + </task> + <task id="LOCAL-00034" summary="添加根据容器编码查找容器的方法 配置规则添加自动添加模块类型 添加是否自动生成临时容器"> + <created>1570582333467</created> + <option name="number" value="00034" /> + <option name="presentableId" value="LOCAL-00034" /> + <option name="project" value="LOCAL" /> + <updated>1570582333467</updated> + </task> + <option name="localTasksCounter" value="35" /> <servers /> </component> <component name="TypeScriptGeneratedFilesManager"> @@ -288,41 +531,98 @@ </option> </component> <component name="VcsManagerConfiguration"> - <MESSAGE value="修改添加物料时使用物料类别生成物料编码" /> - <MESSAGE value="修改质检页面、添加完成质检" /> - <MESSAGE value="修复入库质检请求地址冲突" /> - <MESSAGE value="添加入库单打印" /> - <option name="LAST_COMMIT_MESSAGE" value="添加入库单打印" /> + <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" /> + <MESSAGE value="修改入库单页面" /> + <MESSAGE value="修改入库单页面,入库单审核,质检页面后台跳转接口" /> + <MESSAGE value="修改 入库收货,生成上架任务自动执行定位" /> + <MESSAGE value="修复商品管理、物料类别种bug" /> + <MESSAGE value="修改入库明细添加加载定位规则的错误" /> + <MESSAGE value="添加入库质检行内编辑" /> + <MESSAGE value="行内编辑完成后更新数据库" /> + <MESSAGE value="修改质检登记使用bootstarp boot原生方法初始化" /> + <MESSAGE value="表单头创建时间添加默认创建时间 开始时间默认提前一周,结束时间默认当天" /> + <MESSAGE value="配置中所有页面添加重置按钮" /> + <MESSAGE value="收货添加定位、取消定位、取消组盘按钮" /> + <MESSAGE value="修改入库单数量使用BigDecimal类型,修改入库单添加、修改、物理类型添加和修改页面" /> + <MESSAGE value="修改物料管理中物料类型使用物料类别表,不在使用数据字典" /> + <MESSAGE value="修改波次主表、波次流程头表、波次流程明细页面" /> + <MESSAGE value="修改入库首选项修改添加模块为select" /> + <MESSAGE value="修改任务取消入库组盘状态不回滚,修改任务完成入库单状态不完成" /> + <MESSAGE value="添加自动生成容器编码" /> + <MESSAGE value="修改入库首选项页面,规则查询使用数据字典值,表格值显示修改" /> + <MESSAGE value="入库单添加重置按钮,入库单历史添加上游单号搜索" /> + <MESSAGE value="添加取消入库组盘时容器为临时容器,删除容器" /> + <MESSAGE value="出库完成时删除临时容器" /> + <MESSAGE value="修改容器新增时容器enable状态" /> + <MESSAGE value="修改入库组盘页面中任务类型的显示问题 修改任务完成不修改入库组盘状态的问题" /> + <MESSAGE value="添加根据code查询物料" /> + <MESSAGE value="添加根据容器编码查找容器的方法 配置规则添加自动添加模块类型 添加是否自动生成临时容器" /> + <option name="LAST_COMMIT_MESSAGE" value="添加根据容器编码查找容器的方法 配置规则添加自动添加模块类型 添加是否自动生成临时容器" /> </component> <component name="XDebuggerManager"> <breakpoint-manager> <breakpoints> <line-breakpoint enabled="true" type="java-line"> - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java</url> - <line>152</line> - <option name="timeStamp" value="6" /> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/bom/controller/BomHeaderController.java</url> + <line>164</line> + <option name="timeStamp" value="24" /> + </line-breakpoint> + <line-breakpoint enabled="true" type="java-line"> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java</url> + <line>150</line> + <option name="timeStamp" value="26" /> + </line-breakpoint> + <line-breakpoint enabled="true" type="java-line"> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java</url> + <line>174</line> + <option name="timeStamp" value="28" /> </line-breakpoint> <line-breakpoint enabled="true" type="java-line"> - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java</url> - <line>154</line> - <option name="timeStamp" value="8" /> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java</url> + <line>631</line> + <option name="timeStamp" value="48" /> </line-breakpoint> <line-breakpoint enabled="true" type="java-line"> - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java</url> - <line>45</line> - <option name="timeStamp" value="9" /> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java</url> + <line>56</line> + <option name="timeStamp" value="49" /> </line-breakpoint> <line-breakpoint enabled="true" type="java-line"> - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java</url> - <line>144</line> - <option name="timeStamp" value="10" /> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java</url> + <line>84</line> + <option name="timeStamp" value="51" /> </line-breakpoint> <line-breakpoint enabled="true" type="java-line"> - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java</url> - <line>240</line> - <option name="timeStamp" value="11" /> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java</url> + <line>86</line> + <option name="timeStamp" value="57" /> + </line-breakpoint> + <line-breakpoint enabled="true" type="java-line"> + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java</url> + <line>145</line> + <option name="timeStamp" value="62" /> + </line-breakpoint> + <line-breakpoint enabled="true" type="javascript"> + <url>file://$PROJECT_DIR$/src/main/resources/templates/check/checkingRegister/checkingRegister.html</url> + <line>308</line> + <option name="timeStamp" value="29" /> + </line-breakpoint> + <line-breakpoint enabled="true" type="javascript"> + <url>file://$PROJECT_DIR$/src/main/resources/templates/config/waveFlowHeader/waveFlowHeader.html</url> + <line>71</line> + <option name="timeStamp" value="43" /> </line-breakpoint> </breakpoints> </breakpoint-manager> + <watches-manager> + <configuration name="SpringBootApplicationConfigurationType"> + <watch expression="receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()).getLocatingRule()" language="JAVA" /> + </configuration> + </watches-manager> + </component> + <component name="com.intellij.coverage.CoverageDataManagerImpl"> + <SUITE FILE_PATH="coverage/huaheng$HuaHengApplication.ic" NAME="HuaHengApplication Coverage Results" MODIFIED="1568251952497" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false"> + <FILTER>com.huaheng.*</FILTER> + </SUITE> </component> </project> \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java b/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java index 7752a5d..c197e8a 100644 --- a/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java +++ b/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java @@ -84,7 +84,9 @@ public class CheckingRegisterController extends BaseController { PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageNumber; Integer pageSize = pageDomain.getPageSize(); - boolean isDetailNull; + boolean isDetailNull; //质检明细是否存在标识 + + //判断质检单明细标号是否存在,不存在显示所有质检报告 if (StringUtils.isNotNull(checkingRegister.getCheckDetailId())){ isDetailNull = true; if (checkingRegister.getCheckDetailId() == 0){ diff --git a/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java b/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java index 7519ba3..6d13404 100644 --- a/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java +++ b/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java @@ -64,7 +64,7 @@ public class CheckingRegisterService extends ServiceImpl<CheckingRegisterMapper, */ public List<CheckingRegister> emptyList(Integer checkDetailId){ List<CheckingRegister> list = new ArrayList<>(); - List<DictData> dictDataList = dictDataService.selectDictDataByType("inventoryStatus"); + List<DictData> dictDataList = dictDataService.selectDictDataByType("inventorySts"); CheckDetail checkDetail = checkDetailService.getById(checkDetailId); for (DictData dictData: dictDataList){ CheckingRegister checkingRegister1 = new CheckingRegister(); diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java index c762c9f..05ae20a 100644 --- a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java +++ b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java @@ -98,8 +98,9 @@ public class FilterConfigHeaderController extends BaseController { /** * 新增规则配置主表 */ - @GetMapping("/add") - public String add() { + @GetMapping("/add/{type}") + public String add(@PathVariable("type")String type, ModelMap modelMap) { + modelMap.put("moduleType", type); return prefix + "/add"; } diff --git a/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java b/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java index c63669a..a479caa 100644 --- a/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java +++ b/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java @@ -14,6 +14,7 @@ public interface ContainerMapper extends BaseMapper<Container> { void updateLocationCodeAndStatus(@Param("warehouseCode") String warehouseCode, @Param("containerCode") String containerCode, @Param("locationCode") String locationCode, @Param("status") String status); + Container findAllByCode(@Param("code") String code); } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java b/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java index 67acf2e..3bbed8d 100644 --- a/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java +++ b/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java @@ -20,4 +20,6 @@ public interface ContainerService extends IService<Container>{ void removeContainer(String containType, String containCode); void removeByCode(String containCode); + + Container findAllByCode(String containCode); } diff --git a/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java b/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java index 4db7b0e..4c795fe 100644 --- a/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java +++ b/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java @@ -162,4 +162,9 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container } } + + @Override + public Container findAllByCode(String code) { + return containerMapper.findAllByCode(code); + } } diff --git a/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java b/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java index 04e1b87..3333c42 100644 --- a/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java +++ b/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java @@ -156,7 +156,6 @@ public class MaterialController extends BaseController { /** * 导出模板 - * @param file * @return * @throws Exception */ diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java index 15d6296..e12233c 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java @@ -96,6 +96,7 @@ public class StatusFlowDetailController extends BaseController { StatusFlowHeader statusFlowHeader = statusFlowHeaderService.getById(headerId); mmap.put("headerId",headerId); mmap.put("headerCode", statusFlowHeader.getCode()); + mmap.put("moduleType", statusFlowHeader.getModuleType()); return prefix + "/add"; } diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java index 5ea4dab..e76b4c5 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java @@ -82,8 +82,9 @@ public class StatusFlowHeaderController extends BaseController { /** * 新增流程 */ - @GetMapping("/add") - public String add() { + @GetMapping("/add/{type}") + public String add(@PathVariable("type") String type, ModelMap modelMap) { + modelMap.put("moduleType", type); return prefix + "/add"; } diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java index b5c33b9..fab073e 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java @@ -38,8 +38,6 @@ public class adjustDetailController extends BaseController { @Resource - private AdjustHeaderService adjustHeaderService; - @Resource private AdjustHeaderMapper adjustHeaderMapper; @Resource private AdjustDetailService adjustDetailService; @@ -49,7 +47,7 @@ public class adjustDetailController extends BaseController { private String prefix = "inventory/adjustDetail"; - //@RequiresPermissions("inventory:cycleCount:view") + @RequiresPermissions("inventory:adjustDetail:view") @GetMapping() public String adjustHeader() { @@ -60,7 +58,7 @@ public class adjustDetailController extends BaseController { /** * 查询调整单主列表 */ - //@RequiresPermissions("inventory:cycleCount:list") + @RequiresPermissions("inventory:adjustDetail:list") @PostMapping("/list") @Log(title = "库存-调整",operating = "查看调整明细单", action = BusinessType.GRANT) @ResponseBody @@ -121,7 +119,7 @@ public class adjustDetailController extends BaseController { /** * 保存新增调整明细 */ - //@RequiresPermissions("inventory:cyclecountDetail:add") + @RequiresPermissions("inventory:adjustDetail:add") @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT) @PostMapping("/addAdjust") @ResponseBody @@ -150,7 +148,7 @@ public class adjustDetailController extends BaseController { * 调整数量,调整库存状态 * 调整插入库存 */ - //@RequiresPermissions("inventory:cyclecountAdjustDetail:addAdjust") + @RequiresPermissions("inventory:adjustDetail:addAdjust") @Log(title = "库存-调整单", operating = "调整单调整库存差异,调整数量", action = BusinessType.UPDATE) @PostMapping("/adjustEdit") @ResponseBody @@ -177,6 +175,7 @@ public class adjustDetailController extends BaseController { * @param ids * @return */ + @RequiresPermissions("inventory:adjustDetail:adjustAgree") @Log(title = "库存-调整单", operating = "调整审批", action = BusinessType.OTHER) @PostMapping("/adjustAgree") @ResponseBody @@ -199,7 +198,7 @@ public class adjustDetailController extends BaseController { /** * 删除调整单明细 */ - //@RequiresPermissions("inventory:cyclecountDetail:remove") + @RequiresPermissions("inventory:adjustDetail:remove") @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody @@ -212,7 +211,6 @@ public class adjustDetailController extends BaseController { return AjaxResult.error("单据状态不允许删除"); } adjustDetailService.removeById(id); - return AjaxResult.success("删除成功!"); } diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java index efefe05..de35612 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java @@ -157,7 +157,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj AjaxResult.error("该单据已调整,不允许再次调整!" ); } //查询调整的库存明细 - InventoryDetail inventoryDetail = new InventoryDetail(); + InventoryDetail inventoryDetail ; //调整单中不带库存明细时不查询 if(adjustDetail.getInventoryDetailId() != null) { inventoryDetail = inventoryDetailService.getById(adjustDetail.getInventoryDetailId()); diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java index e22e29b..b8fe927 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java @@ -44,7 +44,7 @@ public class adjustHeaderController extends BaseController { private String prefix = "inventory/adjustHeader"; - //@RequiresPermissions("inventory:cycleCount:view") + @RequiresPermissions("inventory:adjustHeader:view") @GetMapping() public String adjustHeader() { @@ -55,7 +55,7 @@ public class adjustHeaderController extends BaseController { /** * 查询调整单主列表 */ - //@RequiresPermissions("inventory:cycleCount:list") + @RequiresPermissions("inventory:adjustHeader:list") @PostMapping("/list") @Log(title = "库存-调整",operating = "查看调整主单", action = BusinessType.GRANT) @ResponseBody @@ -101,7 +101,7 @@ public class adjustHeaderController extends BaseController { /** * 新增保存调整单主 */ - //@RequiresPermissions("inventory:cycleCount:add") + @RequiresPermissions("inventory:adjustHeader:add") @Log(title = "库存-调整",operating = "新增调整主单", action = BusinessType.INSERT) @PostMapping("/addsave") @ResponseBody @@ -114,7 +114,7 @@ public class adjustHeaderController extends BaseController { /** * 删除调整单主 */ - //@RequiresPermissions("inventory:cycleCount:remove") + @RequiresPermissions("inventory:adjustHeader:remove") @Log(title = "库存-调整",operating = "删除调整主单", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody @@ -124,7 +124,7 @@ public class adjustHeaderController extends BaseController { return AjaxResult.error("id不能为空"); for (Integer id : Convert.toIntArray(ids)) { - AjaxResult result = adjustHeaderService.delete(id); + AjaxResult result = adjustHeaderService.deleteHeader(id); if(result.code!=200){ return result; } @@ -136,7 +136,7 @@ public class adjustHeaderController extends BaseController { * 调整单打印 * @return */ - //@RequiresPermissions("inventory:cyclecountAdjust:report") + @RequiresPermissions("inventory:adjustHeader:report") @GetMapping("/report/{id}") public String report(@PathVariable("id") Integer id, ModelMap mmap) { diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java index 4c4635c..3b2e13e 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java @@ -11,7 +11,7 @@ public interface AdjustHeaderService extends IService<AdjustHeader> { String createCode(); - AjaxResult delete(Integer id); + AjaxResult deleteHeader(Integer id); AjaxResult addSave(AdjustHeader adjustHeader); diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java index 9e1a1b6..2ecae01 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java @@ -1,9 +1,13 @@ package com.huaheng.pc.inventory.adjustHeader.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.config.warehouse.domain.Warehouse; import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; +import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader; @@ -13,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; @Service public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, AdjustHeader> implements AdjustHeaderService { @@ -20,7 +25,8 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj @Resource private AdjustHeaderMapper adjustHeaderMapper; - + @Resource + private AdjustDetailService adjustDetailService; @@ -48,22 +54,29 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj } /** - * 删除 - * 空缺 + * 调整主单删除 * @param id * @return */ + @Transactional @Override - public AjaxResult delete(Integer id) { + public AjaxResult deleteHeader(Integer id) { AdjustHeader adjustHeader = this.getById(id); if(adjustHeader == null){ return AjaxResult.error("id为"+id.toString()+"的调整单不存在出,操作中止"); } - - //批量删除子单据 + //判断该主单下有没又存在子单,没有直接删除主单,有则不能删除 AdjustDetail temp = new AdjustDetail(); temp.setAdjustCode(adjustHeader.getCode()); + temp.setCompanyCode(adjustHeader.getCompanyCode()); + temp.setWarehouseCode(adjustHeader.getWarehouseCode()); + LambdaQueryWrapper<AdjustDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(temp); + List<AdjustDetail> adjustDetails = adjustDetailService.list(lambdaQueryWrapper); + if(adjustDetails.size() > 0){ + throw new SecurityException("该主单存在明细,无法删除,操作失败!"); + } + adjustHeaderMapper.deleteById(id); //直接删主单 return AjaxResult.success("删除成功"); } diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java index 7f66033..034ac2d 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java @@ -58,9 +58,10 @@ public class CycleCountDetailController extends BaseController { - private String prefix = "inventory/cycleCountDetail"; + + @RequiresPermissions("inventory:cyclecountDetail:view") @GetMapping() public String cyclecountHeader() { @@ -70,7 +71,7 @@ public class CycleCountDetailController extends BaseController { /** * 查询盘点单主列表 */ - //@RequiresPermissions("inventory:cycleCount:list") + @RequiresPermissions("inventory:cycleCountDetail:list") @PostMapping("/list") @Log(title = "库存-盘点",operating = "查看盘点明细", action = BusinessType.GRANT) @ResponseBody @@ -143,19 +144,22 @@ public class CycleCountDetailController extends BaseController { /** * 新增保存盘点明细 */ - //@RequiresPermissions("inventory:cyclecountDetail:add") + @RequiresPermissions("inventory:cyclecountDetail:add") @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody - public AjaxResult addSave(String cycleCountHeadCode, Integer[] inventoryDetailIdIds) + public AjaxResult addSave(String cycleCountHeadCode, Integer[] inventoryDetailIds) { - return cycleCountDetailService.addDetails(cycleCountHeadCode,inventoryDetailIdIds); + if(inventoryDetailIds == null){ + return AjaxResult.error("盘点的库存ID不能为空!"); + } + return cycleCountDetailService.addDetails(cycleCountHeadCode,inventoryDetailIds); } /** * 删除盘点明细 */ - //@RequiresPermissions("inventory:cyclecountDetail:remove") + @RequiresPermissions("inventory:cyclecountDetail:remove") @Log(title = "库存-盘点", operating = "删除盘点明细", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody @@ -194,7 +198,7 @@ public class CycleCountDetailController extends BaseController { } /**生成全部盘点任务*/ - //@RequiresPermissions("inventory:cyclecountDetail:createTask") + @RequiresPermissions("inventory:cyclecountDetail:createTask") @PostMapping("/createCycleCountTaskByHeadId") @ResponseBody public AjaxResult createCycleCountTaskByHeadId(String cycleCountHeadCode){ @@ -205,7 +209,7 @@ public class CycleCountDetailController extends BaseController { } /**生成单条盘点任务*/ - //@RequiresPermissions("inventory:cyclecountDetail:createTask") + @RequiresPermissions("inventory:cyclecountDetail:createTask") @PostMapping("/createCycleCoutTaskByDetailId") @ResponseBody public AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutdetailId){ @@ -221,10 +225,11 @@ public class CycleCountDetailController extends BaseController { * @param qty * @return */ - //@RequiresPermissions("inventory:cyclecountDetail:confirm") + @RequiresPermissions("inventory:cyclecountDetail:confirm") @PostMapping("/confirmGapQty") @ResponseBody public AjaxResult confirmGapQty(Integer detailId, BigDecimal qty){ + return cycleCountDetailService.confirmGapQty(detailId,qty); } @@ -233,11 +238,13 @@ public class CycleCountDetailController extends BaseController { * @param cycleCountHeadCode * @return */ - //@RequiresPermissions("inventory:cyclecountDetail:cyclecountRepeat") + @RequiresPermissions("inventory:cyclecountDetail:cyclecountRepeat") @PostMapping("/createCyclecountWithGapQty") @ResponseBody public AjaxResult createCyclecountWithGapQty(String cycleCountHeadCode){ - + if(StringUtils.isEmpty(cycleCountHeadCode)){ + return AjaxResult.error("需要复盘的盘点单编码不能为空!"); + } return cycleCountDetailService.createCyclecountWithGapQty(cycleCountHeadCode); } diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java index d3b5d7c..c7a6538 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java @@ -48,10 +48,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap - - - - /** * 执行任务修改状态为10 * @param detailid @@ -131,7 +127,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap ccd.setCompanyCode(inventoryDetail.getCompanyCode()); ccd.setInventorySts(inventoryDetail.getInventorySts()); ccd.setCountId(inventoryDetail.getId()); - ccd.setEnableStatus(5); + //ccd.setEnableStatus(1); ccd.setLocationCode(inventoryDetail.getLocationCode()); ccd.setContainerCode(inventoryDetail.getContainerCode()); ccd.setMaterialCode(inventoryDetail.getMaterialCode()); @@ -226,10 +222,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(temp); Location loc = locationService.getOne(lambdaQueryWrapper); if(!loc.getStatus().equals("empty")){ - return AjaxResult.error(cycleCountDetail.getLocationCode()+"状态非空闲,操作失败"); + return AjaxResult.error(cycleCountDetail.getLocationCode()+"库位不在空闲状态,请先完成其他任务,操作失败!"); } if(StringUtils.isEmpty(loc.getContainerCode())){ - return AjaxResult.error(cycleCountDetail.getLocationCode()+"没有托盘,操作失败"); + return AjaxResult.error(cycleCountDetail.getLocationCode()+"库位中没有容器,操作失败!"); } //查询任务头和明细有相同容器,没有就新增任务头和明细 @@ -363,9 +359,9 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap if (inventoryDetail == null) { return AjaxResult.error("没有对应库存信息,请重建盘点单"); } - if(qty.compareTo(inventoryDetail.getTaskQty()) < 0){ + /*if(qty.compareTo(inventoryDetail.getTaskQty()) < 0){ return AjaxResult.error("登记数量不能小于任务分配数量"); - } + }*/ } cyclecountDetail.setCountedQty(qty); cyclecountDetail.setGapQty(qty.subtract(cyclecountDetail.getSystemQty())); @@ -390,7 +386,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap public AjaxResult createCyclecountWithGapQty(String cycleCountHeaderCode) { /*找出实盘登记中数量有差异的,重新生成盘点单*/ - CycleCountHeader cycleCountHeader = new CycleCountHeader(); cycleCountHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); cycleCountHeader.setCode(cycleCountHeaderCode); @@ -409,22 +404,30 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap if(countHeader != null){ return AjaxResult.error("该单据已生成复盘单,请勿重复生成!"); } + //没有盘点明细或明细都没有差异时不生成复盘单 + CycleCountDetail cycleCountDetail = new CycleCountDetail(); - cycleCountDetail.setTaskHeaderId(cycleCountHeader.getId()); + cycleCountDetail.setCycleCountHeadCode(cycleCountHeaderCode); cycleCountDetail.setWarehouseCode(cycleCountHeader.getWarehouseCode()); cycleCountDetail.setCompanyCode(cycleCountHeader.getCompanyCode()); - LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); + LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(cycleCountDetail); List<CycleCountDetail> cycleCountDetails = this.list(cycleCountDetailLambdaQueryWrapper);//明细 if(cycleCountDetails.size() == 0){ - throw new SecurityException("没有明细!"); + throw new SecurityException("没有盘点明细条目,操作失败!"); } //生成复盘盘点主单 - cycleCountHeader.setCode(cycleCountHeaderService.createCode()); - cycleCountHeader.setRound(cycleCountHeader.getRound() + 1);//盘点轮次+1 - cycleCountHeader.setCreated(new Date()); - cycleCountHeader.setCreatedBy(ShiroUtils.getLoginName()); - cycleCountHeader.setSourceCode(cycleCountHeaderCode);//源盘点单号 - if(!cycleCountHeaderService.saveOrUpdate(cycleCountHeader)){ + CycleCountHeader cycleCountHeader1 = new CycleCountHeader(); + String cycleCountHeaderCode1 = cycleCountHeaderService.createCode(); + cycleCountHeader1.setCode(cycleCountHeaderCode1); + cycleCountHeader1.setCompanyCode(cycleCountHeader.getCompanyCode()); + cycleCountHeader1.setWarehouseCode(cycleCountHeader.getWarehouseCode()); + cycleCountHeader1.setRound(cycleCountHeader.getRound() + 1);//盘点轮次+1 + cycleCountHeader1.setCountType(cycleCountHeader.getCountType()); + cycleCountHeader1.setCreated(new Date()); + cycleCountHeader1.setCreatedBy(ShiroUtils.getLoginName()); + cycleCountHeader1.setLastUpdatedBy(ShiroUtils.getLoginName()); + cycleCountHeader1.setSourceCode(cycleCountHeaderCode);//源盘点单号 + if(!cycleCountHeaderService.saveOrUpdate(cycleCountHeader1)){ throw new ServiceException("复盘主单生成失败!"); } //获取差异数量不为零的子单重新再生成盘点单 @@ -433,20 +436,23 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap //getGapQty不能为null默认值为0 int f = item.getGapQty().compareTo(BigDecimal.ZERO); if(f > 0){ + item.setCycleCountHeadCode(cycleCountHeaderCode1); item.setCountedQty(null); item.setGapQty(BigDecimal.ZERO); + item.setEnableStatus(1); item.setCreatedBy(ShiroUtils.getLoginName()); item.setCreated(new Date()); cycleCountDetailList.add(item); } - } if(cycleCountDetailList.size() == 0){ - throw new SecurityException("该单据没有符合复盘条件的明细!"); + throw new SecurityException("该主单据没有符合复盘条件的明细!"); } - if(!this.saveBatch(cycleCountDetailList)){ + Boolean j = this.saveBatch(cycleCountDetailList); + if(j == false ){ throw new ServiceException("复盘明细子单生成失败"); } + return AjaxResult.success("生成复盘单成功!"); } diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java index 31e041d..31e746f 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java @@ -44,15 +44,12 @@ public class CycleCountHeaderController extends BaseController { private CycleCountHeaderService cycleCountHeaderService; @Resource private CycleCountDetailService cycleCountDetailService; - @Resource - private AdjustHeaderService adjustHeaderService; - private String prefix = "inventory/cycleCountHeader"; - //@RequiresPermissions("inventory:cycleCount:view") + @RequiresPermissions("inventory:cycleCountHeader:view") @GetMapping() public String cyclecountHeader() { @@ -62,7 +59,7 @@ public class CycleCountHeaderController extends BaseController { /** * 查询盘点单主列表 */ - //@RequiresPermissions("inventory:cycleCount:list") + @RequiresPermissions("inventory:cycleCountHeader:list") @PostMapping("/list") @Log(title = "库存-盘点",operating = "查看盘点主单", action = BusinessType.GRANT) @ResponseBody @@ -95,6 +92,9 @@ public class CycleCountHeaderController extends BaseController { } } + + + /** * 新增盘点单主 */ @@ -107,7 +107,7 @@ public class CycleCountHeaderController extends BaseController { /** * 新增保存盘点单主 */ - //@RequiresPermissions("inventory:cycleCount:add") + @RequiresPermissions("inventory:cycleCountHeader:add") @Log(title = "库存-盘点",operating = "新增盘点主单", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody @@ -137,7 +137,7 @@ public class CycleCountHeaderController extends BaseController { /** * 修改保存盘点单主 */ - //@RequiresPermissions("inventory:cycleCount:edit") + @RequiresPermissions("inventory:cycleCountHeader:edit") @Log(title = "库存-盘点",operating = "修改盘点主单", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody @@ -151,7 +151,7 @@ public class CycleCountHeaderController extends BaseController { /** * 删除盘点单主 */ - //@RequiresPermissions("inventory:cycleCount:remove") + @RequiresPermissions("inventory:cycleCountHeader:remove") @Log(title = "库存-盘点",operating = "删除盘点主单", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody @@ -173,7 +173,7 @@ public class CycleCountHeaderController extends BaseController { * * 生成调整单 * */ - //@RequiresPermissions("inventory:cyclecountHead:addAdjust") + @RequiresPermissions("inventory:cyclecountHead:addAdjust") @Log(title = "库存-盘点", operating = "新增盘点差异调整单", action = BusinessType.INSERT) @PostMapping("/goAdjust") @ResponseBody @@ -187,7 +187,7 @@ public class CycleCountHeaderController extends BaseController { * 盘点单报表打印 * @return */ - //@RequiresPermissions("inventory:cycleCount:report") + @RequiresPermissions("inventory:cycleCountHeader:report") @GetMapping("/report/{id}") public String report(@PathVariable("id") Integer id, ModelMap mmap) { diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java index b8fb449..2de1460 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java @@ -169,12 +169,10 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap //查询该条盘点单头 id CycleCountHeader cyclecountHeader = cycleCountHeaderMapper.selectById(id); - - if(cyclecountHeader.getStatusCyc() >= 35){ + if(cyclecountHeader.getStatusCyc() < 100){ //查询是否已生成差异单 - throw new ServiceException("该条盘点单无法生成调整单,请检查状态!"); + throw new ServiceException("该条盘点单无法生成调整单,必须为盘点任务完成,请检查状态!"); } - AdjustHeader adjustHeader = new AdjustHeader(); adjustHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());//仓库 adjustHeader.setCode(adjustHeaderService.createCode());//生成差异单号 @@ -197,6 +195,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap //AdjustHeader adjust = adjustHeaderService.getById(adjustHeader.getId()); //循环明细条目,查找符合条件的数据写入调整单明细 AdjustDetail adjustDetail = new AdjustDetail(); + List<AdjustDetail> adjustDetails = new ArrayList<>(); for(CycleCountDetail item:cycleCountDetailList){ //BigDecimal的比较 .compareTo(BigDecimal.ZERO) != 0 @@ -224,14 +223,16 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap adjustDetail.setCreated(new Date()); adjustDetail.setCreatedBy(ShiroUtils.getLoginName()); //adjustDetail.setStatus(0);//状态 - - adjustDetailService.save(adjustDetail); + adjustDetails.add(adjustDetail); + //adjustDetailService.save(adjustDetail); } - } - + if(adjustDetails.size() == 0 ){ + throw new SecurityException("该盘点单没有差异数据条目,无法生成调整单!"); + } + adjustDetailService.saveBatch(adjustDetails); //修改盘点主单状态为已生成差异单 - cyclecountHeader.setStatusCyc(35); + cyclecountHeader.setStatusCyc(101); this.saveOrUpdate(cyclecountHeader); return AjaxResult.success("差异调整及明细单生成完毕!"); diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java index f40c6d9..322490d 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java @@ -59,6 +59,9 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()); receiptDetail.setOpenQty(receiptDetail.getOpenQty().subtract(receiptContainerDetail.getQty())); + //如果为临时容器,则删除 + receiptContainerDetail.getContainerCode(); + if (!receiptDetailService.updateById(receiptDetail)){throw new SecurityException("回滚入库单明细失败");} //删除组盘明细 if (!this.removeById(id)){ throw new ServiceException("回滚入库组盘失败");} @@ -70,12 +73,15 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai throw new ServiceException("删除入库组盘头失败"); } } + //查询入库头表 LambdaQueryWrapper<ReceiptContainerDetail> containerDetailLambda = Wrappers.lambdaQuery(); containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, receiptContainerDetail.getReceiptId()); List<ReceiptContainerDetail> containerDetailList = this.list(containerDetailLambda); + + //如果入库组盘没有该入库单的组盘信息,回滚入库单状态 - if (containerDetailList == null){ + if (containerDetailList.size() == 0){ ReceiptHeader receiptHeader = new ReceiptHeader(); receiptHeader.setId(receiptContainerDetail.getReceiptId()); receiptHeader.setFirstStatus(200); diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java index 1802005..438186c 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java @@ -72,6 +72,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai //检查容器编码合法性 Integer taskType = checkContainer(containerCode, detail.getMaterialCode()); if (taskType == 1){ + //创建临时容器 containerCode = createContainer(); taskType = 100; }else { @@ -97,6 +98,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai receiptContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); receiptContainerHeader.setCompanyCode(receiptDetail.getCompanyCode()); receiptContainerHeader.setContainerCode(containerCode); + Container container = containerService.findAllByCode(containerCode); + receiptContainerHeader.setContainerType(container.getContainerType()); receiptContainerHeader.setTaskType(String.valueOf(taskType)); receiptContainerHeader.setProjectNo(receiptDetail.getProjectNo()); receiptContainerHeader.setToLocation(locationCode); @@ -128,6 +131,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode, locationCode); //如果单据数量等于已收数量,更新入库详情状态和入库单状态 if (receiptDetail.getTotalQty() == receiptDetail.getOpenQty()){ + receiptDetail.setProcessStamp("200"); + if (!receiptDetailService.updateById(receiptDetail)){ + throw new ServiceException("更新入库详情处理标记失败"); + } + ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail); if (!receiptDetailService.updateById(receiptDetail1)){ throw new ServiceException("更新入库详情下一流程失败"); @@ -182,7 +190,9 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai } } //删除入库组盘头表 - this.removeById(id); + if (!this.removeById(id)){ + throw new ServiceException("删除入库组盘头表失败"); + } } else { throw new ServiceException("已生成任务不允许取消"); } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java index ddce569..a384875 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; + +import io.swagger.annotations.ApiParam; import lombok.Data; @ApiModel(value = "com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail") @@ -341,4 +343,11 @@ public class ReceiptDetail implements Serializable { @ApiModelProperty(value = "是否删除") private Boolean deleted; + /** + * 流程编码 + */ + @TableField(value = "statusFlowCode") + @ApiModelProperty(value = "流程编码") + private String statusFlowCode; + } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java index 6b1643d..817579f 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java @@ -7,6 +7,10 @@ import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.check.checkHeader.domain.CheckHeader; +import com.huaheng.pc.check.checkHeader.service.CheckHeaderService; +import com.huaheng.pc.config.configValue.domain.ConfigValue; +import com.huaheng.pc.config.configValue.service.ConfigValueService; import com.huaheng.pc.config.material.domain.Material; import com.huaheng.pc.config.material.service.MaterialService; import com.huaheng.pc.config.materialType.domain.MaterialType; @@ -19,6 +23,7 @@ import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; +import com.huaheng.pc.system.config.domain.Config; import com.huaheng.pc.system.dict.domain.DictData; import com.huaheng.pc.system.dict.service.IDictDataService; import org.aspectj.weaver.loadtime.Aj; @@ -48,6 +53,10 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R private ReceiptPreferenceService receiptPreferenceService; @Resource private IDictDataService dictDataService; + @Resource + private CheckHeaderService checkHeaderService; + @Resource + private ConfigValueService configValueService; /** * 新增入库明细 @@ -163,6 +172,18 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R return receiptDetail; } + //如果入库明细绑定了入库流程则从入库明细中选择流程 + if ( StringUtils.isNotEmpty(receiptDetail.getStatusFlowCode())){ + List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptDetail.getStatusFlowCode()); + String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); + //在状态到达时候是判断是否要质检 + if ("200".equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp("180"); + } else { + receiptDetail.setProcessStamp(status); + } + return receiptDetail; + } //查询头表信息 LambdaQueryWrapper<ReceiptHeader> lambdaReceiptHeader = Wrappers.lambdaQuery(); lambdaReceiptHeader.eq(ReceiptHeader::getCode, receiptDetail.getReceiptCode()); @@ -183,13 +204,23 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R //物料是否有入库流程 List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptType.getReceiptFlow()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); - receiptDetail.setProcessStamp(status); + //在状态到达时候是判断是否要质检 + if ("200".equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp("180"); + } else { + receiptDetail.setProcessStamp(status); + } return receiptDetail; } else if (material.getReceivingFlow() != null){ //物料是否有入库流程 List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(material.getReceivingFlow()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); - receiptDetail.setProcessStamp(status); + //在状态到达时候是判断是否要质检 + if ("200".equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp("180"); + } else { + receiptDetail.setProcessStamp(status); + } return receiptDetail; } else { //该物料类别是否有入库流程 @@ -199,16 +230,31 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R if (materialType.getReceivingFlow() != null) { List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(materialType.getReceivingFlow()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); - receiptDetail.setProcessStamp(status); + //在状态到达时候是判断是否要质检 + if ("200".equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp("180"); + } else { + receiptDetail.setProcessStamp(status); + } return receiptDetail; } else { + //查询系统参数配置中绑定的入库首选项A + LambdaQueryWrapper<ConfigValue> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ConfigValue::getModuleType, "receipt"); + ConfigValue configValue = configValueService.getOne(lambdaQueryWrapper); + //以上都没有的情况下查询入库首选项中的入库流程 LambdaQueryWrapper<ReceiptPreference> lambda = Wrappers.lambdaQuery(); - lambda.last("Limit 1"); + lambda.eq(ReceiptPreference::getCode, configValue.getValue()); ReceiptPreference receiptPreference = receiptPreferenceService.getOne(lambda); List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptPreference.getReceivingFlow()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); - receiptDetail.setProcessStamp(status); + //在状态到达时候是判断是否要质检 + if ("200".equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp("180"); + } else { + receiptDetail.setProcessStamp(status); + } return receiptDetail; } } @@ -308,4 +354,20 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R } return AjaxResult.success("审核完成"); } + + /** + * 判断明细中是否质检 + */ + public boolean inspection(ReceiptDetail receiptDetail){ + //如果明细中需要质检,则判断是否已经生成质检单 + if ("0".equals(receiptDetail.getQcCheck())){ + LambdaQueryWrapper<CheckHeader> lambda = Wrappers.lambdaQuery(); + lambda.eq(CheckHeader::getReferCode, receiptDetail.getReceiptCode()); + CheckHeader checkHeader = checkHeaderService.getOne(lambda); + if (checkHeader == null){ + return true; + } + } + return false; + } } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java index ded8ef7..f24608c 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java @@ -137,7 +137,8 @@ public class ReceiptHeaderController extends BaseController { @PostMapping("/edit") @ResponseBody public AjaxResult editSave(ReceiptHeader receiptHeader) { - if (receiptHeader.getFirstStatus() >100 | receiptHeader.getLastStatus()>100){ + ReceiptHeader receiptHeader1 = receiptHeaderService.getById(receiptHeader.getId()); + if (receiptHeader1.getFirstStatus() >100 | receiptHeader1.getLastStatus()>100){ return AjaxResult.error("已进入订单池,不允许修改"); } receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); @@ -160,7 +161,7 @@ public class ReceiptHeaderController extends BaseController { * 审核入库单 */ @ApiOperation(value="审核入库单", notes="审核入库单", httpMethod = "POST") - @RequiresPermissions("receipt:receiptHeader:approval") + @RequiresPermissions("receipt:receiptHeader:review") @Log(title = "入库-入库单 ",operating = "审核入库单 ", action = BusinessType.UPDATE) @PostMapping("/approval") @ResponseBody @@ -223,7 +224,7 @@ public class ReceiptHeaderController extends BaseController { */ @ApiOperation(value="保存入库预约", notes="保存入库预约", httpMethod = "POST") @RequiresPermissions("receipt:receiptHeader:reservation") - @Log(title = "入库-入库单 ",operating = "入库单到货", action = BusinessType.UPDATE) + @Log(title = "入库-入库单 ",operating = "入库单预约", action = BusinessType.UPDATE) @PostMapping("/arrival") @ResponseBody public AjaxResult reservation(ReceiptHeader receiptHeader) { @@ -287,4 +288,34 @@ public class ReceiptHeaderController extends BaseController { } return AjaxResult.success(receiptHeaderService.getById(id)); } + + /** + * 到货通知 + */ + @ApiOperation(value="到货通知 ", notes="到货通知 ", httpMethod = "POST") + @RequiresPermissions("receipt:receiptDetail:add") + @Log(title = "入库-入库单 ",operating = "到货通知 ", action = BusinessType.OTHER) + @PostMapping("/arrivalNotice") + @ResponseBody + public AjaxResult arrivalNotice(String id) { + if (StringUtils.isEmpty(id)){ + return AjaxResult.success(""); + } + return AjaxResult.success(receiptHeaderService.arrivalNotice(id)); + } + + /** + * 加入订单池 + */ + @ApiOperation(value="加入订单池 ", notes="加入订单池 ", httpMethod = "POST") + @RequiresPermissions("receipt:receiptHeader:addPool") + @Log(title = "入库-入库单 ",operating = "加入订单池 ", action = BusinessType.OTHER) + @PostMapping("/addPool") + @ResponseBody + public AjaxResult addPool(String ids) { + if (StringUtils.isEmpty(ids)){ + return AjaxResult.error("id不能为空"); + } + return AjaxResult.success(receiptHeaderService.addPool(ids)); + } } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java index 6d0f442..c932d14 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java @@ -15,6 +15,7 @@ import com.huaheng.pc.check.checkHeader.domain.CheckHeader; import com.huaheng.pc.check.checkHeader.service.CheckHeaderService; import com.huaheng.pc.config.receiptType.domain.ReceiptType; import com.huaheng.pc.config.receiptType.service.ReceiptTypeService; +import com.huaheng.pc.config.sendMail.service.SendMailService; import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; @@ -27,6 +28,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.lang.ref.WeakReference; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -41,6 +43,8 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei private CheckHeaderService checkHeaderService; @Resource private CheckDetailService checkDetailService; + @Resource + private SendMailService sendMailService; /** * 保存入库单 @@ -155,6 +159,13 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei receiptDetailLambda.eq(ReceiptDetail::getReceiptId, id); List<ReceiptDetail> receiptDetails = receiptDetailService.list(receiptDetailLambda); + //判断是否已经生成了质检单 + LambdaQueryWrapper<CheckHeader> checkHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); + checkHeaderLambdaQueryWrapper.eq(CheckHeader::getReferCode, receiptHeader.getCode()); + CheckHeader checkHeaderQuery = checkHeaderService.getOne(checkHeaderLambdaQueryWrapper); + if (checkHeaderQuery != null){ + throw new ServiceException("质检表已生成"); + } //创建质检头表 CheckHeader checkHeader = new CheckHeader(); checkHeader.setCode(receiptHeader.getCode()); @@ -167,7 +178,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei checkHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); if (!checkHeaderService.save(checkHeader)){ - throw new ServiceException("添加质检头表发送错误"); + throw new ServiceException("添加质检头表错误"); } //查询保存后的质检头表 @@ -223,4 +234,54 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei } return AjaxResult.success("提交审核成功"); } + + /** + * 到货通知 + * @param id + * @return + */ + public AjaxResult arrivalNotice(String id){ + LambdaQueryWrapper<ReceiptDetail> lambda = Wrappers.lambdaQuery(); + lambda.eq(ReceiptDetail::getReceiptId, id); + List<ReceiptDetail> receiptDetails = receiptDetailService.list(lambda); + for (ReceiptDetail receiptDetail : receiptDetails) { + receiptDetail.setProcessStamp(String.valueOf(150)); + receiptDetailService.updateById(receiptDetail); + if (!receiptDetailService.updateById(receiptDetailService.queryflow(receiptDetail))){ + throw new ServiceException("更新入库明细处理标记出错"); + } + receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId()); + } + return AjaxResult.success(""); + } + + /** + * 加入订单池 + * @param ids 头表id字符串 + * @return + */ + public AjaxResult addPool(String ids){ + List<Integer> idList = Arrays.asList(Convert.toIntArray(ids)); + for (Integer id : idList){ + LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id); + List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper); + if (list.size() != 0){ + for (ReceiptDetail receiptDetail : list){ + if (Integer.parseInt(receiptDetail.getProcessStamp()) < 100){ + receiptDetail.setProcessStamp("100"); + ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail); + if (!receiptDetailService.updateById(receiptDetail1)){ + throw new ServiceException("更新入库明细状态失败"); + } + } else { + throw new ServiceException("已有入库明细进入订单池"); + } + } + } + //更新头表状态 + receiptDetailService.updateReceiptHeaderLastStatus(id); + } + return AjaxResult.success(""); + } } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java index 1d7eb5e..b701ea1 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java @@ -63,16 +63,19 @@ public class ReceiptHeaderHistoryService extends ServiceImpl<ReceiptHeaderHistor if (!receiptHeaderService.removeById(receiptHeader.getId())){ throw new ServiceException("删除头表失败"); } - //删除入库明细 - List<Integer> ids = new ArrayList<>(); - for (int i=0; i<receiptDetailHistoryList.size();i++){ - receiptDetailHistoryList.get(i).setLastUpdatedBy(ShiroUtils.getLoginName()); - ids.add(receiptDetailHistoryList.get(i).getId()); - } - if (!receiptDetailService.removeByIds(ids)) { - throw new ServiceException("删除明细表失败"); + // 当存在明细时删除 + if (list.size()!= 0){ + //删除入库明细 + List<Integer> ids = new ArrayList<>(); + for (int i=0; i<receiptDetailHistoryList.size();i++){ + receiptDetailHistoryList.get(i).setLastUpdatedBy(ShiroUtils.getLoginName()); + ids.add(receiptDetailHistoryList.get(i).getId()); + } + if (!receiptDetailService.removeByIds(ids)) { + throw new ServiceException("删除明细表失败"); + } + receiptDetailHistoryService.saveBatch(receiptDetailHistoryList); } - receiptDetailHistoryService.saveBatch(receiptDetailHistoryList); this.save(receiptHeaderHistory); }else { return AjaxResult.success("入库单没有完成,无法删除"); diff --git a/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java b/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java index e3242cb..6b60296 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java +++ b/src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java @@ -1,8 +1,5 @@ package com.huaheng.pc.receipt.receiving.controller; -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.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.controller.BaseController; @@ -10,8 +7,6 @@ import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService; import com.huaheng.pc.receipt.receiving.service.ReceivingService; -import com.huaheng.pc.task.taskHeader.domain.TaskHeader; -import com.huaheng.pc.task.taskHeader.service.TaskHeaderService; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.shiro.authz.annotation.RequiresPermissions; diff --git a/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java b/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java index b0f45fb..ac39e43 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java +++ b/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java @@ -182,16 +182,17 @@ public class ReceivingService { throw new ServiceException("组盘已生成任务不能取消定位"); } //将入库组盘头表中的而库位编码赋值null - receiptContainerHeader.setToLocation(null); + receiptContainerHeader.setToLocation(""); if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){ throw new ServiceException("回滚入库组盘头失败"); } + //将入库组盘明细的库位修改为空 LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerDetail.getReceiptContainerId()); List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.list(lambdaQueryWrapper); for (ReceiptContainerDetail receiptContainerDetail2 : receiptContainerDetailList) { - receiptContainerDetail2.setLocationCode(null); + receiptContainerDetail2.setLocationCode(""); if (!receiptContainerDetailService.updateById(receiptContainerDetail2)){ throw new ServiceException("回滚入库组盘明细失败"); } diff --git a/src/main/resources/mybatis/config/ContainerMapper.xml b/src/main/resources/mybatis/config/ContainerMapper.xml index 32dad05..e6a0a48 100644 --- a/src/main/resources/mybatis/config/ContainerMapper.xml +++ b/src/main/resources/mybatis/config/ContainerMapper.xml @@ -52,4 +52,7 @@ UPDATE container set `status`=#{status}, locationCode=#{locationCode} WHERE warehouseCode=#{warehouseCode} AND `code`=#{containerCode} </update> + <select id="findAllByCode" resultMap="BaseResultMap" parameterType="java.lang.String"> + SELECT * FROM container WHERE code = #{code,jdbcType=VARCHAR} + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/templates/config/configValue/edit.html b/src/main/resources/templates/config/configValue/edit.html index 8a70d85..cb8d6de 100644 --- a/src/main/resources/templates/config/configValue/edit.html +++ b/src/main/resources/templates/config/configValue/edit.html @@ -64,7 +64,7 @@ </div> <div th:include="include::footer"></div> <script type="text/javascript"> - var prefix = ctx + "config/configvalue"; + var prefix = ctx + "config/configValue"; $("#form-configValue-edit").validate({ rules:{ moduleType:{ diff --git a/src/main/resources/templates/config/filterConfigHeader/add.html b/src/main/resources/templates/config/filterConfigHeader/add.html index 923b700..e07a189 100644 --- a/src/main/resources/templates/config/filterConfigHeader/add.html +++ b/src/main/resources/templates/config/filterConfigHeader/add.html @@ -5,18 +5,14 @@ <body class="white-bg"> <div class="wrapper wrapper-content animated fadeInRight ibox-content"> <form class="form-horizontal m" id="form-filterConfigHeader-add"> - <div class="form-group"> - <label class="col-sm-3 control-label">模块:</label> - <div class="col-sm-8"> - <select class="form-control" name="moduleType" th:with="moduleType=${@dict.getType('moduleType')}"> - <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> - </select> - </div> - </div> + <input name="moduleType" th:value="${moduleType}" hidden> <div class="form-group"> <label class="col-sm-3 control-label">类型:</label> <div class="col-sm-8"> - <select id="recordType" name="recordType" class="form-control" th:with="recordType=${@dict.getType('recordType')}"> + <select id="recordType" name="recordType" class="form-control" th:if="${moduleType == 'receipt'}" th:with="recordType=${@dict.getType('receiptRuleType')}"> + <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> + </select> + <select id="recordType" name="recordType" class="form-control" th:if="${moduleType != 'receipt'}" th:with="recordType=${@dict.getType('shipmentRuleType')}"> <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> </select> </div> diff --git a/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html b/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html index a286e5a..2e3d72b 100644 --- a/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html +++ b/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html @@ -79,7 +79,7 @@ $(function() { var options = { url: prefix + "/list", - createUrl: prefix + "/add", + createUrl: prefix + "/add/"+[[${moduleType}]], updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", modalName: "规则配置主表", diff --git a/src/main/resources/templates/config/receiptPreference/add.html b/src/main/resources/templates/config/receiptPreference/add.html index a021415..307dc6d 100644 --- a/src/main/resources/templates/config/receiptPreference/add.html +++ b/src/main/resources/templates/config/receiptPreference/add.html @@ -20,7 +20,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">入库流程:</label> <div class="col-sm-8"> - <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}"> + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}"> <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> </select> </div> diff --git a/src/main/resources/templates/config/receiptPreference/receiptPreference.html b/src/main/resources/templates/config/receiptPreference/receiptPreference.html index 8bac2f9..6b72a1b 100644 --- a/src/main/resources/templates/config/receiptPreference/receiptPreference.html +++ b/src/main/resources/templates/config/receiptPreference/receiptPreference.html @@ -139,6 +139,7 @@ { field : 'manuallyBuildLPN', title : '人工组盘', + align : "center", formatter : function(value, row, index) { return $.table.selectWhetherLabel(value); }, diff --git a/src/main/resources/templates/config/receiptType/add.html b/src/main/resources/templates/config/receiptType/add.html index d1c12e2..d97147b 100644 --- a/src/main/resources/templates/config/receiptType/add.html +++ b/src/main/resources/templates/config/receiptType/add.html @@ -46,7 +46,8 @@ <div class="form-group"> <label class="col-sm-3 control-label">入库流程:</label> <div class="col-sm-8"> - <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}"> + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}"> + <option value="">请选择</option> <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> </select> </div> diff --git a/src/main/resources/templates/config/receiptType/edit.html b/src/main/resources/templates/config/receiptType/edit.html index 8f3ca3c..a092d68 100644 --- a/src/main/resources/templates/config/receiptType/edit.html +++ b/src/main/resources/templates/config/receiptType/edit.html @@ -48,7 +48,8 @@ <div class="form-group"> <label class="col-sm-3 control-label">入库流程:</label> <div class="col-sm-8"> - <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}" th:field="*{receiptFlow}"> + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}" th:field="*{receiptFlow}"> + <option value="">请选择</option> <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> </select> </div> diff --git a/src/main/resources/templates/config/statusFlowDetail/add.html b/src/main/resources/templates/config/statusFlowDetail/add.html index 0b63952..7854e00 100644 --- a/src/main/resources/templates/config/statusFlowDetail/add.html +++ b/src/main/resources/templates/config/statusFlowDetail/add.html @@ -16,9 +16,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">模块:</label> <div class="col-sm-8"> - <select id="moduleType" name="moduleType" class="form-control" th:with="moduleType=${@dict.getType('moduleType')}"> - <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> - </select> + <input id="moduleType" name="moduleType" class="form-control" type="text" th:value="${moduleType}" readonly="readonly"> </div> </div> <div class="form-group"> diff --git a/src/main/resources/templates/config/statusFlowHeader/add.html b/src/main/resources/templates/config/statusFlowHeader/add.html index adf741e..6b45eb6 100644 --- a/src/main/resources/templates/config/statusFlowHeader/add.html +++ b/src/main/resources/templates/config/statusFlowHeader/add.html @@ -5,6 +5,7 @@ <body class="white-bg"> <div class="wrapper wrapper-content animated fadeInRight ibox-content"> <form class="form-horizontal m" id="form-statusFlowHeader-add"> + <input id="moduleType" name="moduleType" hidden th:value="${moduleType}"> <div class="form-group"> <label class="col-sm-3 control-label">编码:</label> <div class="col-sm-8"> @@ -17,22 +18,7 @@ <input id="name" name="name" 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="moduleType" name="moduleType" class="form-control" th:with="moduleType=${@dict.getType('moduleType')}"> - <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">类型:</label> - <div class="col-sm-8"> - <select id="recordType" name="recordType" class="form-control" th:with="recordType=${@dict.getType('recordType')}"> - <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> - </select> - </div> - </div> + <input id="recordType" name="recordType" class="form-control" type="hidden" th:value="${moduleType} == 'receipt'? 'receivingFlow':'shippingFlow'"> <!--<div class="form-group">--> <!-- <label class="col-sm-3 control-label">数据版本:</label>--> <!-- <div class="col-sm-8">--> diff --git a/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html b/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html index 675c1e1..dca7c9b 100644 --- a/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html +++ b/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html @@ -82,7 +82,7 @@ $(function() { var options = { url: prefix + "/list", - createUrl: prefix + "/add", + createUrl: prefix + "/add/"+[[${moduleType}]], updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", modalName: "流程", diff --git a/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html b/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html index 232ca9c..d7fb880 100644 --- a/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html +++ b/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html @@ -91,14 +91,16 @@ </div> </div> <div class="btn-group hidden-xs" id="toolbar" role="group"> - <a class="btn btn-outline btn-success btn-rounded" onclick="add()"> + <a class="btn btn-outline btn-success btn-rounded" onclick="add()" + shiro:hasPermission="inventory:adjustDetail:add" > <i class="fa fa-plus"></i> 新增 </a> - <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()"> + <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()" + shiro:hasPermission="inventory:adjustDetail:adjustAgree" > <i class="fa fa-edit"></i> 审批 </a> - <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"/> - <!--shiro:hasPermission="inventory:cyclecountAdjustDetail:addAdjust"--> + <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()" + shiro:hasPermission="inventory:adjustDetail:addAdjust"> <i class="fa fa-vcard"></i>调整 </a> <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()"> @@ -112,6 +114,7 @@ <script th:inline="javascript"> var prefix = ctx + "inventory/adjustDetail"; var prefix_head = ctx + "inventory/adjustHeader"; + var removes= [[${@permission.hasPermi('inventory:adjustDetail:remove')}]]; var type2 = [[${@dict.getType('adjustType')}]]; var adjustStatus = [[${@dict.getType('adjustStatus')}]]; var inventoryStatus = [[${@dict.getType('inventoryStatus')}]]; @@ -353,7 +356,7 @@ align: 'center', formatter: function (value, row, index) { var actions = []; - actions.push('<a class="btn btn-danger btn-xs" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); + actions.push('<a class="btn btn-danger btn-xs ' + removes + ' " href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); return actions.join(''); } } diff --git a/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html b/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html index 1ab0768..014cbb6 100644 --- a/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html +++ b/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html @@ -69,13 +69,13 @@ </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="inventory:cycleCount:add"> + shiro:hasPermission="inventory:adjustHeader:add"> <i class="fa fa-plus"></i> 新增 </a> - <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" - shiro:hasPermission="inventory:cycleCount:remove"> - <i class="fa fa-trash-o"></i> 删除 - </a>--> + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" + shiro:hasPermission="inventory:adjustHeader: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> @@ -90,7 +90,7 @@ <script th:inline="javascript"> var prefix = ctx + "inventory/adjustHeader"; var upload = [[${@permission.hasPermi('inventoryHeader:adjustHeader:upload')}]]; - var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]]; + var report = [[${@permission.hasPermi('inventory:adjustHeader:report')}]]; var datas = [[${@dict.getType('sys_normal_disable')}]]; var type2 = [[${@dict.getType('adjustType')}]]; @@ -180,8 +180,8 @@ align: 'center', formatter: function (value, row, index) { var actions = []; - /* actions.push('<a class="btn btn-success btn-xs " href="#" onclick="adjustPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); - actions.push('<a class="btn btn-info btn-xs ' + upload + ' " href="#" onclick="upLoad(\'' + row.code + '\',\'' + row.sourceCode + '\')"><i class="fa fa-edit"></i>上传</a> '); + actions.push('<a class="btn btn-success btn-xs " href="#" onclick="adjustPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); + /* actions.push('<a class="btn btn-info btn-xs ' + upload + ' " href="#" onclick="upLoad(\'' + row.code + '\',\'' + row.sourceCode + '\')"><i class="fa fa-edit"></i>上传</a> '); actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');*/ actions.push('<a style="background: #b5bdc0" class="btn btn-default btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>明细</a>'); return actions.join(''); diff --git a/src/main/resources/templates/inventory/cycleCountDetail/add.html b/src/main/resources/templates/inventory/cycleCountDetail/add.html index f1de843..3883657 100644 --- a/src/main/resources/templates/inventory/cycleCountDetail/add.html +++ b/src/main/resources/templates/inventory/cycleCountDetail/add.html @@ -11,7 +11,6 @@ <input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" th:value="${cycleCountHeadCode}"> <div class="select-list"> <ul> - <ul> <li> 库存头ID:<input id="inventoryHeaderId" type="text" name="inventoryHeaderId"/> </li> @@ -79,12 +78,14 @@ <a id="search" 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="general:inventoryHeader:export"><i class="fa fa-download"></i> 导出</a>--> </li> - </ul> + </ul> </div> </form> </div> <div class="col-sm-12 select-info"> - <a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin-top: 12px" shiro:hasPermission="inventory:cyclecountDetail:add"><i class="fa fa-edit" ></i> 批量添加盘点明细</a> + <a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin-top: 12px" + shiro:hasPermission="inventory:cyclecountDetail:add"> + <i class="fa fa-edit" ></i> 添加盘点明细</a> <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> </div> </div> @@ -94,7 +95,7 @@ <div th:include="include::footer"></div> <script th:inline="javascript"> - var addFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:add')}]]; + var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]]; // var removeFlag = [[${@permission.hasPermi('inventoryHeader:inventoryHeader:remove')}]]; var prefix = ctx + "inventory/inventoryDetail"; var prefix_cycleDetails = ctx + "inventory/cycleCountDetail"; @@ -132,7 +133,7 @@ { checkbox: true }, - { + /*{ title: '操作', align: 'center', formatter: function(value, row, index) { @@ -141,10 +142,10 @@ // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>'); return actions.join(''); } - }, + },*/ { field: 'id', - title: '明细ID', + title: '库存明细ID', sortable: true }, { @@ -315,14 +316,18 @@ }); - /*function addDetail(cycleCountHeadId) { - addInner($('cycleCountHeadId').val(),cycleCountHeadId); - }*/ + function addDetail(id) { + /*var ids =[]; + rows.forEach(function (item) { + ids.push(item.id); + });*/ + addInner($('#cycleCountHeadCode').val(),id); + } function addDetails() { var rows=$("#bootstrap-table").bootstrapTable('getSelections'); if (rows.length < 1) { - $.modal.alertWarning("请先选择记录"); + $.modal.alertWarning("请选择库存明细!"); return; } var ids =[]; @@ -339,7 +344,7 @@ url : prefix_cycleDetails + "/add", data:{ cycleCountHeadCode:cycleCountHeadCode, - inventoryDetailIdIds:ids + inventoryDetailIds:ids }, async : false, error : function(request) { diff --git a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html index 8c9e175..430338b 100644 --- a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html +++ b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html @@ -85,7 +85,7 @@ </div> <div class="btn-group hidden-xs" id="toolbar" role="group"> <a class="btn btn-outline btn-success btn-rounded" onclick="add()" - shiro:hasPermission="inventory:cycleCountDetail:add"> + shiro:hasPermission="inventory:cyclecountDetail:add"> <i class="fa fa-plus"></i> 新增 </a> <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()" @@ -98,7 +98,7 @@ </a> <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" shiro:hasPermission="inventory:cyclecountDetail:remove"> - <i class="fa fa-trash-o"></i> 批量删除 + <i class="fa fa-trash-o"></i> 删除 </a> <a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()"> <i class="fa fa-refresh"></i> 刷新 @@ -109,10 +109,10 @@ </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> - var editFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:edit')}]]; - var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:remove')}]]; - var confirmFlag=[[${@permission.hasPermi('inventoryHeader:cycleCountDetail:confirm')}]]; - var createTaskFalg=[[${@permission.hasPermi('inventoryHeader:cycleCountDetail:createTask')}]]; + //var editFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:edit')}]]; + var removeFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:remove')}]]; + var confirmFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:confirm')}]]; + var createTaskFalg = [[${@permission.hasPermi('inventory:cyclecountDetail:createTask')}]]; var prefix = ctx + "inventory/cycleCountDetail"; var prefix_head = ctx + "inventory/cycleCountHeader"; var remove_url= prefix + "/remove"; @@ -318,12 +318,13 @@ align: 'center', formatter: function (value, row, index) { var actions = []; - - actions.push('<a class="btn btn-success btn-xs " href="#" onclick="confirmGapQty(\'' + row.id + '\')"><i class="fa fa-comment"></i>实盘登记</a> '); - - actions.push('<a class="btn btn-primary btn-xs " href="#" onclick="outcheck(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成盘点任务</a> '); - - actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>'); + if(row.enableStatus >= 10 && row.enableStatus < 100){ + actions.push('<a class="btn btn-success btn-xs ' + confirmFlag + '" href="#" onclick="confirmGapQty(\'' + row.id + '\')"><i class="fa fa-comment"></i>实盘登记</a> '); + } + if(row.enableStatus === 1 ){ + actions.push('<a class="btn btn-primary btn-xs ' + createTaskFalg + '" href="#" onclick="outcheck(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成盘点任务</a> '); + } + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>'); return actions.join(''); } }] diff --git a/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html b/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html index 11bb5bd..54310a5 100644 --- a/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html +++ b/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html @@ -70,13 +70,13 @@ </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="inventory:cycleCount:add"> + shiro:hasPermission="inventory:cycleCountHeader:add"> <i class="fa fa-plus"></i> 新增 </a> - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" - shiro:hasPermission="inventory:cycleCount:remove"> + <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" + shiro:hasPermission="inventory:cycleCountHeader:remove"> <i class="fa fa-trash-o"></i> 删除 - </a> + </a>--> </div> <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> @@ -89,10 +89,10 @@ </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> - var reportFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:report')}]]; - var editFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:edit')}]]; - var addAdjust = [[${@permission.hasPermi('inventoryHeader:cyclecountHead:addAdjust')}]]; - var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:remove')}]]; + var reportFlag = [[${@permission.hasPermi('inventory:cycleCountHeader:report')}]]; + //var editFlag = [[${@permission.hasPermi('inventory:cycleCountHeader:edit')}]]; + var addAdjust = [[${@permission.hasPermi('inventory:cyclecountHead:addAdjust')}]]; + var removeFlag = [[${@permission.hasPermi('inventory:cycleCount:remove')}]]; var prefix = ctx + "inventory/cycleCountHeader"; var datas = [[${@dict.getType('sys_normal_disable')}]]; var types = [[${@dict.getType('cyclecountType')}]]; @@ -137,6 +137,11 @@ title: '货主编码' }, { + field: 'round', + title: ' 盘点轮次', + visible: false + }, + { field: 'sourceCode', title: '源盘点单' }, @@ -274,12 +279,12 @@ align: 'center', formatter: function (value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs " href="#" onclick="cyclecountPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); - - actions.push('<a class="btn btn-warning btn-xs " href="#" onclick="goAdjust(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成调整单</a> '); - - //actions.push('<a class="btn btn-info btn-xs " href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); - actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); + actions.push('<a class="btn btn-success btn-xs ' + reportFlag + '" href="#" onclick="cyclecountPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); + if(row.statusCyc === 100){ + actions.push('<a class="btn btn-warning btn-xs ' + addAdjust + '" href="#" onclick="goAdjust(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成调整单</a> '); + } + //actions.push('<a class="btn btn-info 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(''); } }] diff --git a/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html b/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html index f7c4248..d57afe3 100644 --- a/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html +++ b/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html @@ -86,7 +86,7 @@ shiro:hasPermission="inventory:inventoryHeader:seeOut"> <i class="fa fa-eye"></i> 出库查看 </a> - <a class="btn btn-outline btn-primary btn-rounded" onclick="check()" + <a class="btn btn-outline btn-danger btn-rounded" onclick="check()" shiro:hasPermission="inventory:inventoryDetail:detailCheckTask"> <i class="fa fa-eye"></i> 在库质检 </a> @@ -305,7 +305,9 @@ visible: false } ] - },url = location.search.substr(1); + }, + + url = location.search.substr(1); let strs = url.split("&"); $("#inventoryHeaderId").val(strs[0]); $("#locationCode").val(strs[1]); diff --git a/src/main/resources/templates/receipt/receiptDetail/add.html b/src/main/resources/templates/receipt/receiptDetail/add.html index f9f9e32..a25975c 100644 --- a/src/main/resources/templates/receipt/receiptDetail/add.html +++ b/src/main/resources/templates/receipt/receiptDetail/add.html @@ -52,7 +52,10 @@ <div class="form-group"> <label class="col-sm-3 control-label">是否质检:</label> <div class="col-sm-8"> - <input id="qcCheck" name="qcCheck" class="form-control" type="text"> + <select id="qcCheck" name="qcCheck" class="form-control"> + <option value="1">否</option> + <option value="0">是</option> + </select> </div> </div> <div class="form-group"> @@ -70,7 +73,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">库存状态:</label> <div class="col-sm-8"> - <select id="inventorySts" name="inventorySts" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}"> + <select id="inventorySts" name="inventorySts" class="form-control" th:with="inventoryStatus=${@dict.getType('inventorySts')}"> <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> </select> </div> @@ -84,12 +87,21 @@ <div class="form-group"> <label class="col-sm-3 control-label">定位规则:</label> <div class="col-sm-8"> - <select id="locatingRule" name="locatingRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('入库')}"> + <select id="locatingRule" name="locatingRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('locationRule')}"> <option value="">请选择</option> <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option> </select> </div> </div> + <div class="form-group"> + <label class="col-sm-3 control-label">入库流程:</label> + <div class="col-sm-8"> + <select id="statusFlowCode" name="statusFlowCode" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}"> + <option value="">请选择</option> + <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> + </select> + </div> + </div> <!-- <div class="form-group">--> <!-- <label class="col-sm-3 control-label">标价:</label>--> <!-- <div class="col-sm-8">--> @@ -150,6 +162,7 @@ submitHandler: function(form) { var tableValue = $("#form-receiptDetail-add").serialize(); tableValue = formValueReplace(tableValue, "inventorySts", $("#inventorySts option:selected").val()); + tableValue = formValueReplace(tableValue, "qcCheck", $("#qcCheck option:selected").val()); $.operate.save(prefix + "/add", tableValue); } }); diff --git a/src/main/resources/templates/receipt/receiptDetail/edit.html b/src/main/resources/templates/receipt/receiptDetail/edit.html index eb16d9a..a7d31fc 100644 --- a/src/main/resources/templates/receipt/receiptDetail/edit.html +++ b/src/main/resources/templates/receipt/receiptDetail/edit.html @@ -53,7 +53,10 @@ <div class="form-group"> <label class="col-sm-3 control-label">是否质检:</label> <div class="col-sm-8"> - <input id="qcCheck" name="qcCheck" class="form-control" type="text" th:field="*{qcCheck}"> + <select id="qcCheck" name="qcCheck" class="form-control" th:field="*{qcCheck}"> + <option value="1">否</option> + <option value="0">是</option> + </select> </div> </div> <div class="form-group"> @@ -72,7 +75,7 @@ <label class="col-sm-3 control-label">库存状态:</label> <div class="col-sm-8"> <select id="inventorySts" name="inventorySts" class="form-control" - th:with="inventoryStatus=${@dict.getType('inventoryStatus')}" th:field="*{inventorySts}"> + th:with="inventoryStatus=${@dict.getType('inventorySts')}" th:field="*{inventorySts}"> <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> </select> </div> @@ -86,7 +89,11 @@ <div class="form-group"> <label class="col-sm-3 control-label">定位规则:</label> <div class="col-sm-8"> - <input id="locatingRule" name="locatingRule" class="form-control" type="text" th:field="*{locatingRule}"> + <select id="locatingRule" name="locatingRule" class="form-control" + th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('locationRule')}" th:field="*{locatingRule}"> + <option value="">请选择</option> + <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option> + </select> </div> </div> <div class="form-group"> @@ -101,6 +108,16 @@ <input id="itemNetPrice" name="itemNetPrice" class="form-control" type="text" th:field="*{itemNetPrice}"> </div> </div> + <div class="form-group"> + <label class="col-sm-3 control-label">入库流程:</label> + <div class="col-sm-8"> + <select id="statusFlowCode" name="statusFlowCode" class="form-control" + th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}" th:field="*{statusFlowCode}"> + <option value="">请选择</option> + <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> + </select> + </div> + </div> <!--<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/receipt/receiptHeader/edit.html b/src/main/resources/templates/receipt/receiptHeader/edit.html index 369ce9c..31c1b3c 100644 --- a/src/main/resources/templates/receipt/receiptHeader/edit.html +++ b/src/main/resources/templates/receipt/receiptHeader/edit.html @@ -54,9 +54,6 @@ }, companyCode:{ required:true, - }, - scheduledArriveDate:{ - required:true, } }, submitHandler: function(form) { diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html index 96aee72..e583e89 100644 --- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html +++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html @@ -82,12 +82,15 @@ <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="receipt:receiptHeader:add"> <i class="fa fa-plus"></i> 新增 </a> - <a class="btn btn-outline btn-default btn-rounded" onclick="submitReview()" shiro:hasPermission="receipt:receiptHeader:add"> + <a class="btn btn-outline btn-default btn-rounded" onclick="submitReview()" shiro:hasPermission="receipt:receiptHeader:approval"> <i class="fa fa-fighter-jet"></i> 提交审核 </a> - <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:add"> + <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:review"> <i class="fa fa-level-up"></i> 审核通过 </a> + <a class="btn btn-outline btn-primary btn-rounded" onclick="addPool()" shiro:hasPermission="receipt:receiptHeader:addPool"> + <i class="fa fa-check-circle"></i> 加入订单池 + </a> <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="receipt:receiptHeader:remove"> <i class="fa fa-trash-o"></i> 删除 </a> @@ -389,7 +392,7 @@ actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="arrival(\'' + row.id + '\')" ><i class="fa fa-edit"></i>入库预约</a> '); } if (row.firstStatus ==150 || row.lastStatus == 150 ){ - actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>到货通知</a> '); + actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="arrivalNotice(\'' + row.id + '\')" ><i class="fa fa-edit"></i>到货通知</a> '); } if (row.firstStatus ==180 || row.lastStatus == 180 ){ actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="check(\'' + row.id + '\')" ><i class="fa fa-edit"></i>质检</a> '); @@ -474,7 +477,17 @@ }, { field : 'qcCheck', - title : '是否质检' + title : '是否质检', + align : "center", + formatter: function(value, row, index) { + var actions = []; + if (value == 0) { + actions.push("<span class='badge badge-info'>是</span>"); + } else { + actions.push("<span class='badge badge-info'>否</span>"); + } + return actions.join(''); + } }, { field : 'projectNo', @@ -541,8 +554,13 @@ visible:false }, { + field : 'statusFlowCode', + title : '流程编码' + }, + { field : 'isVirtualBom', title : '是否虚拟套件', + align : "center", formatter: function(value, row, index) { return $.table.selectDictLabel(isVirtualBoms, value); } @@ -807,6 +825,27 @@ var data = { "id": id }; $.operate.submit(url, "post", "json", data); } + + function arrivalNotice(id) { + var url = prefix+"/arrivalNotice"; + var data = { "id": id }; + $.operate.submit(url, "post", "json", data); + } + + function addPool() { + var rows=$("#bootstrap-table").bootstrapTable('getSelections'); + if (rows.length == 0) { + $.modal.alertWarning("请至少选择一条记录"); + return; + } + var url = prefix+"/addPool"; + var ids = ""; + for(var i=0; i<rows.length; i++) { + ids = ids + rows[i].id + "," + } + var data = { "ids": ids.substring(0, ids.length-1),"approval": 100 }; + $.operate.submit(url, "post", "json", data); + } </script> </body> </html> \ No newline at end of file diff --git a/src/main/resources/templates/receipt/receiving/receiving.html b/src/main/resources/templates/receipt/receiving/receiving.html index 61e7b3e..b49ed03 100644 --- a/src/main/resources/templates/receipt/receiving/receiving.html +++ b/src/main/resources/templates/receipt/receiving/receiving.html @@ -189,15 +189,11 @@ updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", contentType: "application/x-www-form-urlencoded", - // search: true, //搜索 - // showRefresh: true,//刷新 - // showToggle:true, //视图切换 clickToSelect: true, - // showColumns:true, //列选择 - // detailView:true, - // showExport: true, //导出 - // exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据 modalName: "收货", + onRefresh: function(){ + + }, columns: [ { field:'work', @@ -367,6 +363,7 @@ } localStorage.removeItem("receiving_code"); } + receiving_refresh(); function remove(id) { @@ -390,7 +387,18 @@ ids += ","; } var data = { "ids": ids }; - $.operate.submit(url, "post", "json", data); + $.modal.loading("正在处理中,请稍后..."); + var config = { + url: url, + type: "post", + dataType: "json", + data: data, + success: function(result) { + $.operate.ajaxSuccess(result); + list_receiptInfo($("#code").val()); + } + }; + $.ajax(config) } function cancelPositioning() { @@ -406,7 +414,20 @@ ids += ","; } var data = { "ids": ids }; - $.operate.submit(url, "post", "json", data); + + $.modal.loading("正在处理中,请稍后..."); + var config = { + url: url, + type: "post", + dataType: "json", + data: data, + success: function(result) { + $.operate.ajaxSuccess(result); + list_receiptInfo($("#code").val()); + } + }; + $.ajax(config) + } function batRemove() { @@ -418,11 +439,22 @@ var url = ctx+"receipt/receiptContainerDetail/remove"; var ids = ""; for (var i = 0; i<rows.length; i++){ - ids += rows[i].receiptContainerId; + ids += rows[i].id; ids += ","; } var data = { "ids": ids }; - $.operate.submit(url, "post", "json", data); + var config = { + url: url, + type: "post", + dataType: "json", + data: data, + success: function(result) { + $.operate.ajaxSuccess(result); + list_receiptInfo($("#code").val()); + list_select($("#code").val()); + } + }; + $.ajax(config) } </script> </body>