qualitycheckSampleCtrl.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  1. "use strict";
  2. angular.module('app.storage')
  3. .controller("qualitycheckSampleCtrl", function ($scope, $state, $rootScope, $stateParams, warehouseService, qualitycheckService) {
  4. $scope.dicDataList = $rootScope.dicDataList;
  5. // 获取列表数据
  6. $scope.pageInfo = {pageNum: 1, pageSize: 10};
  7. $scope.search = {storehouseId: "", warehouseId: "", checkResult: null, processState: null, jclx: null};
  8. if ($stateParams.checkResult != null) {
  9. $scope.search.checkResult = $stateParams.checkResult;
  10. }
  11. //默认加载数据
  12. $scope.loadData = function () {
  13. var type_update = $stateParams.type;
  14. if ($scope.search.jclx == null || $scope.search.jclx == "") {
  15. type_update = $stateParams.type;
  16. } else {
  17. type_update = $scope.search.jclx;
  18. }
  19. qualitycheckService.getPageInfo($scope.pageInfo.pageNum, $scope.pageInfo.pageSize, type_update, $scope.search.checkResult,
  20. $scope.search.storehouseId, $scope.search.warehouseId, null, null, $scope.search.processState).then(function (data) {
  21. $scope.pageInfo = data;
  22. }, function (data) {
  23. console.log(data);
  24. });
  25. }
  26. $scope.loadData();
  27. //自检扦样:新增、修改、查看
  28. $scope.fckEdit = function (id, buttype, processState) {
  29. if (processState == 2) {
  30. alert("该扦样单已完成【化验】,不能修改!");
  31. return;
  32. }
  33. $state.go('app.storage.qualitycheck.fckedit.sample', {id: id, checkType: 0, buttype: buttype});
  34. }
  35. //出库检验扦样:新增、修改、查看
  36. $scope.ckCheckSample = function (id, buttype, processState) {
  37. if (processState == 2) {
  38. alert("该扦样单已完成【化验】,不能修改!");
  39. } else {
  40. $state.go('app.storage.qualitycheck.outlist.outeditSample', {id: id, checkType: 3, buttype: buttype});
  41. }
  42. }
  43. //入库检验扦样:新增、查看、修改
  44. $scope.rkjyEdit = function (id, buttype, processState) {
  45. if (buttype == 'update' && processState == 2) {
  46. alert("该扦样单已完成【化验】,不能修改!");
  47. return;
  48. }
  49. $state.go('app.storage.qualitycheck.rkjy.qy_edit', {id: id, checkType: '6', buttype: buttype});
  50. }
  51. // 扦样 -----删除
  52. $scope.removeSample = function (id, processState) {
  53. if (processState == 2) {
  54. alert("该扦样单已完成【化验】,不能删除!");
  55. } else {
  56. qualitycheckService.removeById(id).then(function (data) {
  57. if (data.msg == "success") {
  58. alert("删除成功");
  59. $scope.loadData();
  60. } else {
  61. alert("删除失败");
  62. }
  63. });
  64. }
  65. }
  66. // 货位列表
  67. $scope.loadWare = function () {
  68. warehouseService.getStorehouse($rootScope.orgInfo.orgId, $scope.search.storehouseId).then(function (data) {
  69. $scope.warelist = data.wareList;
  70. }, function (data) {
  71. console.log(data);
  72. });
  73. }
  74. // 翻页
  75. $scope.goPage = function (pageNum) {
  76. if ($scope.pageInfo.pageNum != pageNum && pageNum > 0) {
  77. $scope.pageInfo.pageNum = pageNum;
  78. $scope.loadData();
  79. }
  80. };
  81. // 接收广播,切换仓房
  82. $scope.$on("storeChangeed", function (event, storehouseId) {
  83. $scope.search.storehouseId = storehouseId;
  84. $scope.loadData();
  85. $scope.loadWare();
  86. })
  87. })
  88. .controller("qualitycheckSampleSaveCtrl", function ($scope, $state, $http, $stateParams, warehouseService, keeperService,
  89. $rootScope, $filter, qualitycheckService, kcswService, productService, APP_CONFIG) {
  90. $scope.loadDataById = function (id) {
  91. qualitycheckService.loadDataById(id).then(function (data) {
  92. if (data.qualitycheckInspection != null) {
  93. $scope.qualitycheckInspection = data.qualitycheckInspection;
  94. }
  95. $scope.qualitycheck = data.qualitycheck;
  96. if ($stateParams.id != 0) {
  97. if ($stateParams.buttype == "update") {//修改
  98. $scope.qualitycheck.commitPeople = $rootScope.userInfo.realName; // 提交人
  99. $scope.qualitycheck.commitTime = $filter('date')(new Date(), "yyyy-MM-dd HH:mm:ss");// 提交时间
  100. }
  101. }
  102. $scope.change(0);//获取货位号
  103. }, function (data) {
  104. });
  105. };
  106. //通过仓房号,获取货位号.
  107. $scope.change = function (type) {
  108. if (type != 0) {
  109. // 设置货位号为空.
  110. $scope.qualitycheck.warehouseId = null;
  111. //清空带出来的数据
  112. $scope.qualitycheck.subType = null;//品种
  113. $scope.qualitycheck.subTypeDetailed = null;//明细品种
  114. $scope.qualitycheck.numberUpdate = null;//数量
  115. $scope.qualitycheck.location = null; //产地
  116. $scope.qualitycheck.harvestTime = null;//收货年度
  117. $scope.qualitycheck.inputTime = null;//入仓时间
  118. $scope.qualitycheck.zhycsj = null;//入库时间
  119. $scope.qualitycheck.keeper = null; //保管员
  120. $scope.qualitycheck.levelUpdate = null; //粮油等级
  121. }
  122. if ($scope.qualitycheck.houseId != null && $scope.qualitycheck.houseId != undefined && $scope.qualitycheck.houseId != '') {
  123. $scope.qualitycheck.keeper = commonUtilService.getKeeperNames($scope.qualitycheck.houseId);
  124. warehouseService.getStorehouse($rootScope.orgInfo.orgId, $scope.qualitycheck.houseId, "0").then(function (data) {
  125. if (data.wareList.length > 0) {
  126. $scope.warehouseList = data.wareList; //下拉列表数据
  127. $scope.warehouseObj = data.wares; //查询数据列表货位信息转换
  128. $("#wareNameDis").attr("disabled", false);
  129. } else {
  130. $scope.warehouseList = '';
  131. $scope.changeGetInfo(0);
  132. $("#wareNameDis").attr("disabled", true);
  133. }
  134. }, function (data) {
  135. console.log(data);
  136. });
  137. } else {
  138. // 设置货位号为空.
  139. $scope.qualitycheck.warehouseId = null;
  140. //清空带出来的数据
  141. $scope.qualitycheck.subType = null;//品种
  142. $scope.qualitycheck.subTypeDetailed = null;//明细品种
  143. $scope.qualitycheck.numberUpdate = null;//数量
  144. $scope.qualitycheck.location = null; //产地
  145. $scope.qualitycheck.harvestTime = null;//收货年度
  146. $scope.qualitycheck.inputTime = null;//入仓时间
  147. $scope.qualitycheck.zhycsj = null;//入库时间
  148. $scope.qualitycheck.keeper = null; //保管员
  149. $scope.qualitycheck.levelUpdate = null; //粮油等级
  150. }
  151. }
  152. //校验是否已经有初检了
  153. $scope.isChuJian = function (stype) {
  154. if (stype === "0") {
  155. var datatype = $rootScope.storehouseObj[$scope.qualitycheck.houseId].datatype;
  156. //先判断表中是否已经存在初检,验收
  157. qualitycheckService.findByStoreWarehouse($scope.qualitycheck.houseId, $scope.qualitycheck.warehouseId, stype).then(function (data) {
  158. if (data) {
  159. alert("该仓已经初检,不能再次初检,您可以从列表中选择进行修改!");
  160. if ($stateParams.depotType == "1") {
  161. $state.go('app.business.agent.qualitycheck.fcklist', {type: 0});
  162. } else {
  163. $state.go('app.storage.qualitycheck.fcklist.sample', {type: 0});
  164. }
  165. return true;
  166. }
  167. }, function (data) {
  168. console.log(data);
  169. });
  170. }
  171. }
  172. //得到分仓保管账中的信息
  173. $scope.changeGetInfo = function (type) {
  174. if (type != 0 && ($scope.qualitycheck.warehouseId == null || typeof $scope.qualitycheck.warehouseId == undefined || $scope.qualitycheck.warehouseId == '')) return;
  175. if ($scope.qualitycheck.houseId != null && $scope.qualitycheck.houseId != undefined && $scope.qualitycheck.houseId != '') {
  176. if ($stateParams.depotType == "1") return;
  177. var datatype = $rootScope.storehouseObj[$scope.qualitycheck.houseId].datatype;
  178. var lylx;
  179. if (datatype == "0") {//粮仓
  180. lylx = $rootScope.wares[$scope.qualitycheck.warehouseId].lylx;
  181. } else if (datatype == "1") {//油罐
  182. lylx = $rootScope.tankObj[$scope.qualitycheck.houseId].lylx;
  183. }
  184. if (lylx != null && lylx == 0) {
  185. //出入库--原粮(小麦、玉米、大豆、稻谷、大豆原油即压榨成品油)
  186. $scope.kcswStr = {
  187. ch: $scope.qualitycheck.houseId,
  188. hwh: $scope.qualitycheck.warehouseId,
  189. unitid: $rootScope.orgInfo.orgId
  190. };
  191. kcswService.getPageInfoOrRcsj($scope.kcswStr).then(function (data) {
  192. //如果从分仓保管账查找到数据就取出赋值到对应的数据 否则清空上次的数据
  193. if (typeof(data[0]) != "undefined" && data.length > 0) {
  194. $scope.keepaccount = data[0];//根据仓房和货位获取分仓保管账的降序的第一条记录
  195. $scope.qualitycheck.subType = parseInt($scope.keepaccount.pz);//品种
  196. $scope.qualitycheck.subTypeDetailed = parseInt($scope.keepaccount.mxpz);//明细品种
  197. $scope.qualitycheck.numberUpdate = $scope.keepaccount.kcsl;//数量
  198. $scope.qualitycheck.harvestTime = parseInt($scope.keepaccount.scnf);//收货年度
  199. $scope.qualitycheck.inputTime = $scope.keepaccount.cjsj;//入仓时间
  200. $scope.qualitycheck.zhycsj = $scope.keepaccount.rq;//入库时间
  201. // $scope.qualitycheck.checkTime = getNowFormatDate(); //检验日期
  202. $scope.qualitycheck.quality = $scope.keepaccount.hwxz; //货位性质 (储粮性质)主要用于封仓管理中验证某个性质
  203. $scope.qualitycheck.location = parseInt($scope.keepaccount.gb); //产地
  204. $scope.qualitycheck.levelUpdate = parseInt($scope.keepaccount.dj); //粮油等级
  205. $scope.qualitycheck.subMold = 1; //类型1为粮油 2:成品粮油
  206. //用于判断品种的检验标准依据的值 该值从词典枚举中取出的()
  207. if ($scope.qualitycheck.subType == 3164) {
  208. // 小麦
  209. $scope.qualitycheck.inspectionStandardBasis = 5523;
  210. } else if ($scope.qualitycheck.subType == 3165) {
  211. // 玉米
  212. $scope.qualitycheck.inspectionStandardBasis = 5524;
  213. } else if ($scope.qualitycheck.subType == 3166) {
  214. // 稻谷
  215. $scope.qualitycheck.inspectionStandardBasis = 5526;
  216. } else if ($scope.qualitycheck.subType == 2777) {
  217. // 大豆
  218. $scope.qualitycheck.inspectionStandardBasis = 5525;
  219. } else if ($scope.qualitycheck.subType == 6905) {
  220. // 粮油
  221. $scope.qualitycheck.inspectionStandardBasis = 6908;
  222. }
  223. } else {
  224. $scope.qualitycheck.subType = "";//品种
  225. $scope.qualitycheck.subTypeDetailed = "";//明细品种
  226. $scope.qualitycheck.numberUpdate = "";//数量
  227. $scope.qualitycheck.harvestTime = "";//收货年度
  228. $scope.qualitycheck.inputTime = "";//入仓日期
  229. }
  230. }, function (data) {
  231. console.log(data);
  232. });
  233. } else if (lylx != null && lylx == 1) {
  234. $scope.search = {houseId: $scope.qualitycheck.houseId, wareId: $scope.qualitycheck.warehouseId};
  235. productService.getNumberList(null, null, $scope.search).then(function (data) {
  236. //如果从分仓保管账查找到数据就取出赋值到对应的数据 否则清空上次的数据
  237. if (typeof(data.list[0]) != "undefined" && data.list.length > 0) {
  238. $scope.qualityFinishedCard = data.list[0];//根据仓房和货位获取成品粮油卡
  239. $scope.qualitycheck.subType = parseInt($scope.qualityFinishedCard.lypz);//品种
  240. $scope.qualitycheck.subTypeDetailed = parseInt($scope.qualityFinishedCard.mxpz);//明细品种
  241. $scope.qualitycheck.numberUpdate = $scope.qualityFinishedCard.kcsl * 1000;//数量
  242. var scny = $scope.qualityFinishedCard.scny;
  243. if (scny != "" && scny != null) {
  244. var scnd = scny.substr(0, 4);//收货年度
  245. for (var i = 0; i < $rootScope.dicDataList[1004].length; i++) {
  246. if ($rootScope.dicDataList[1004][i].enumname == scnd) {
  247. $scope.qualitycheck.harvestTime = $rootScope.dicDataList[1004][i].enumid;
  248. }
  249. }
  250. }
  251. $scope.qualitycheck.inputTime = $scope.qualityFinishedCard.rksj;//入仓时间
  252. $scope.qualitycheck.zhycsj = $scope.qualityFinishedCard.zhycsj;//入库时间
  253. // $scope.qualitycheck.checkTime = getNowFormatDate(); //检验日期
  254. $scope.qualitycheck.quality = $scope.qualityFinishedCard.lyxz; //货位性质 (储粮性质)主要用于封仓管理中验证某个性质
  255. $scope.qualitycheck.location = parseInt($scope.qualityFinishedCard.lycd); //产地
  256. $scope.qualitycheck.levelUpdate = $scope.qualityFinishedCard.lydj; //粮油等级
  257. $scope.qualitycheck.subMold = 2; //类型1为粮油 2:成品粮油
  258. //用于判断品种的检验标准依据的值 该值从词典枚举中取出的()
  259. if ($scope.qualitycheck.subType == 7107) {
  260. // 大米
  261. $scope.qualitycheck.inspectionStandardBasis = 7573;
  262. } else if ($scope.qualitycheck.subType == 7038) {
  263. // 小麦粉
  264. $scope.qualitycheck.inspectionStandardBasis = 7575;
  265. } else if ($scope.qualitycheck.subType == 7050 || $scope.qualitycheck.subType == 7052) {
  266. // 压榨和浸出成品油
  267. $scope.qualitycheck.inspectionStandardBasis = 7574;
  268. }
  269. } else {
  270. $scope.qualitycheck.subType = "";//品种
  271. $scope.qualitycheck.subTypeDetailed = "";//明细品种
  272. $scope.qualitycheck.numberUpdate = "";//数量
  273. $scope.qualitycheck.harvestTime = "";//收货年度
  274. $scope.qualitycheck.inputTime = "";//入仓日期
  275. }
  276. }, function (data) {
  277. console.log(data);
  278. });
  279. }
  280. }
  281. }
  282. $scope.qualitycheck = {};
  283. $scope.qualitycheckInspection = {}; //化验项
  284. //在用中....
  285. if ($stateParams.id != 0) {//说明是的查看和修改
  286. $scope.loadDataById($stateParams.id);
  287. if ($stateParams.buttype == "update") {//修改
  288. $scope.isNotEdit = false; //数据可编辑
  289. }
  290. if ($stateParams.buttype == "view") {//查看
  291. $scope.isNotEdit = true; //数据不可编辑
  292. }
  293. // $scope.disable_checkTime = true;//检验时间不可编辑
  294. //修改和查看不可以编辑
  295. $("#wareNameDis").attr("disabled", true);
  296. } else {//新增
  297. $scope.isNotEdit = false; //数据可编辑
  298. $scope.qualitycheck.commitPeople = $rootScope.userInfo.realName; // 提交人
  299. $scope.qualitycheck.commitTime = $filter('date')(new Date(), "yyyy-MM-dd HH:mm:ss");// 提交时间
  300. }
  301. // 提交表单
  302. var validator = $("#qualitycheck-form").validate();
  303. $scope.saveData = function (checktype) {
  304. //质量检查类型checktype:0:初检 1:验收 2:春秋普查 3:出库检验 4:日常检验 5:第三方检查 6:入库检验
  305. if (validator.form()) {
  306. if (checktype == 3) {
  307. $scope.qualitycheck.typeUpdate = checktype;
  308. $scope.qualitycheck.jylb = '02';
  309. } else if (checktype == 0) {
  310. $scope.qualitycheck.chooserOrgan = $rootScope.orgInfo.orgName;
  311. if ($scope.qualitycheck.typeUpdate == 0) {
  312. $scope.qualitycheck.jylb = '01';
  313. } else if ($scope.qualitycheck.typeUpdate == 4) {
  314. $scope.qualitycheck.jylb = '06';
  315. }
  316. } else if (checktype == 4) {
  317. $scope.qualitycheck.jylb = '06';
  318. } else if (checktype == 6) {
  319. $scope.qualitycheck.typeUpdate = checktype;
  320. $scope.qualitycheck.jylb = '05';
  321. }
  322. $scope.qualitycheck.orgId = $rootScope.userInfo.orgId;
  323. /**************时间插件无法通过$scope获取数据,重新赋值一下****************/
  324. //入仓日期
  325. $("input[name='inputTime']").each(function (j, item) {
  326. if (item.value != '' && item.value != null && typeof item.value != 'undefined') {
  327. $scope.qualitycheck.inputTime = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
  328. }
  329. });
  330. //入库日期
  331. $("input[name='zhycsj']").each(function (j, item) {
  332. if (item.value != '' && item.value != null && typeof item.value != 'undefined') {
  333. $scope.qualitycheck.zhycsj = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
  334. }
  335. });
  336. //扦样日期
  337. $("input[name='chooseTime']").each(function (j, item) {
  338. if (item.value != '' && item.value != null && typeof item.value != 'undefined') {
  339. $scope.qualitycheck.chooseTime = $filter('date')(item.value, "yyyy-MM-dd HH:mm:ss");
  340. }
  341. });
  342. //入库日期早于扦样日期的判断
  343. var rksj = new Date($scope.qualitycheck.inputTime.replace(/\-/g, "\/"));
  344. var qysj = new Date($scope.qualitycheck.chooseTime.replace(/\-/g, "\/"));
  345. if (rksj != "" && qysj != "" && rksj > qysj) {
  346. alert("入仓时间应该早于扦样时间!");
  347. return false;
  348. }
  349. /**************时间插件无法通过$scope获取数据,重新赋值一下****************/
  350. //移除subMold属性
  351. delete $scope.qualitycheck.subMold;
  352. $scope.qualitycheck.processState = 1; //扦样
  353. qualitycheckService.save($scope.qualitycheck, $scope.qualitycheckInspection).then(function (datas) {
  354. if (datas.status == "success") {
  355. var dataid = datas.dataid;
  356. alert("保存成功!");
  357. //0:自检 1:验收 2:质量普查 3:出库
  358. if (checktype == 0) {
  359. $state.go('app.storage.qualitycheck.fcklist.sample', {type: '0,4,6'});
  360. } else if (checktype == 3) {
  361. $state.go('app.storage.qualitycheck.outlist.sample', {type: 3});
  362. } else if (checktype == 6) {
  363. $state.go('app.storage.qualitycheck.rkjy.qy_list', {type: 6});
  364. }
  365. } else {
  366. alert("保存失败!");
  367. }
  368. }, function (datas) {
  369. console.log(datas);
  370. });
  371. }
  372. }
  373. // 样表编号和扦样单编号校验
  374. $.validator.addMethod("bhCheck", function (value, element, params) {
  375. var checkNumber = /^$|^[A-Za-z0-9]{0,64}$/;
  376. return this.optional(element) || (checkNumber.test(value));
  377. }, "只允许录入数字和字母!");
  378. // 自定义验证
  379. $.validator.addMethod("setState", function (value, element, params) {
  380. if (value == "无" || value == "暂无" || value == "空") {
  381. return this.optional(element) || false;
  382. } else {
  383. return this.optional(element) || true;
  384. }
  385. }, "不能填写无,暂无,空等选项!");
  386. // 自定义验证,验证数字
  387. $.validator.addMethod("validNumber", function (value, element, params) {
  388. var checkNumber = /^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/;
  389. return this.optional(element) || (checkNumber.test(value));
  390. }, "请输入大于0的数字,最多两位小数!");
  391. })